From bf46059b7c2a9ce435c7a431e45dc6035b3de3fc Mon Sep 17 00:00:00 2001 From: GitHub CI Date: Tue, 14 Oct 2025 17:05:24 +0000 Subject: [PATCH 1/2] release/v0.58.0 --- .gitignore | 7 - .gitleaks.toml | 32 + .gitleaksignore | 196 ++ .pre-commit-config.yaml | 8 +- CONTRIBUTING.md | 7 +- LICENSE | 14 +- README.md | 2 +- SECURITY.md | 77 +- api/ee/LICENSE | 37 + .../credentials.json => api/ee/__init__.py | 0 api/ee/databases/__init__.py | 0 api/ee/databases/postgres/init-db-ee.sql | 39 + .../databases/postgres/migrations/__init__.py | 0 .../postgres/migrations/core/README.md | 35 + .../postgres/migrations/core/alembic.ini | 112 + .../core/data_migrations/api_keys.py | 282 +++ .../core/data_migrations/applications.py | 124 + .../migrations/core/data_migrations/demos.py | 576 +++++ .../core/data_migrations/evaluators.py | 195 ++ .../core/data_migrations/export_records.py | 175 ++ .../core/data_migrations/invitations.py | 192 ++ .../core/data_migrations/projects.py | 501 ++++ .../core/data_migrations/testsets.py | 191 ++ .../core/data_migrations/workspaces.py | 255 ++ .../databases/postgres/migrations/core/env.py | 126 + .../postgres/migrations/core/script.py.mako | 26 + ...910d2fa9a4_migrate_old_testsets_to_new_.py | 32 + ...37ee784d_migrate_old_evaluators_to_new_.py | 32 + .../postgres/migrations/core/utils.py | 196 ++ .../0698355c7641_add_tables_for_testsets.py | 388 +++ .../0698355c7642_add_table_for_testcases.py | 112 + .../versions/0f086ebc2f83_extend_app_type.py | 58 + .../core/versions/12f477990f1e_add_meters.py | 54 + ...et_user_id_column_in_db_entities_to_be_.py | 69 + ...n_to_add_default_project_and_membership.py | 40 + ...dded_the_app_type_column_to_the_app_db_.py | 59 + ...36752f9_update_secrets_data_schema_type.py | 64 + .../30dcf07de96a_add_tables_for_queries.py | 403 ++++ ...0c7_set_columns_in_api_key_table_to_be_.py | 61 + .../3b5f5652f611_populate_runs_references.py | 77 + .../425c68e8de6c_add_secrets_dbe_model.py | 53 + ...98_add_default_project_to_scoped_model_.py | 42 + ...54e81e9eed88_add_tables_for_evaluations.py | 514 ++++ .../5a71b3f140ab_fix_all_preview_schemas.py | 426 ++++ ...4688d_add_commit_message_column_to_app_.py | 39 + .../6965776e6940_add_subscriptions.py | 40 + ...r_organizations_to_organization_members.py | 63 + .../versions/73a2d8cfaa3c_add_is_demo_flag.py | 30 + .../versions/73a2d8cfaa3d_add_initial_demo.py | 36 + ...68410ab0_transfer_user_organization_to_.py | 35 + .../7990f1e12f47_create_free_plans.py | 360 +++ ...37a1_transfer_workspace_invitations_to_.py | 37 + ...add_hidden_column_to_app_variants_table.py | 35 + .../8089ee7692d1_cleanup_preview_entities.py | 168 ++ .../versions/847972cfa14a_add_nodes_dbe.py | 121 + .../8accbbea1d21_initial_migration.py | 1000 ++++++++ .../versions/91d3b4a8c27f_fix_ag_config.py | 61 + .../9698355c7649_add_tables_for_workflows.py | 388 +++ .../9698355c7650_rename_metadata_to_meta.py | 51 + ...740b88_create_project_invitations_table.py | 60 + ...migrate_config_parameters_jsonb_to_json.py | 132 + ..._update_evaluators_names_with_app_name_.py | 35 + ...f15a7140ab_add_version_to_eval_entities.py | 107 + ...4_remove_app_id_from_evaluators_configs.py | 38 + ..._scope_project_id_to_db_models_entities.py | 348 +++ .../d5d4d6bf738f_add_evaluation_queues.py | 116 + ...reated_project_members_table_and_added_.py | 68 + ...b_add_modified_by_id_column_to_apps_db_.py | 31 + .../fa07e07350bf_add_timestamp_to_metrics.py | 34 + .../fd77265d65dc_fix_preview_entities.py | 232 ++ .../postgres/migrations/find_head.py | 48 + .../databases/postgres/migrations/runner.py | 21 + .../migrations/tracing/README copy.md | 35 + .../postgres/migrations/tracing/__init__.py | 0 .../postgres/migrations/tracing/alembic.ini | 114 + .../postgres/migrations/tracing/env.py | 100 + .../migrations/tracing/script.py.mako | 26 + .../postgres/migrations/tracing/utils.py | 188 ++ .../versions/58b1b61e5d6c_add_spans.py | 202 ++ .../versions/847972cfa14a_add_nodes.py | 121 + .../versions/fd77265d65dc_fix_spans.py | 202 ++ api/ee/databases/postgres/migrations/utils.py | 313 +++ api/ee/docker/Dockerfile.dev | 44 + api/ee/docker/Dockerfile.gh | 44 + api/ee/src/__init__.py | 0 api/ee/src/apis/__init__.py | 0 api/ee/src/apis/fastapi/__init__.py | 0 api/ee/src/apis/fastapi/billing/__init__.py | 0 api/ee/src/apis/fastapi/billing/models.py | 0 api/ee/src/apis/fastapi/billing/router.py | 980 ++++++++ api/ee/src/core/__init__.py | 0 api/ee/src/core/entitlements/__init__.py | 0 api/ee/src/core/entitlements/service.py | 97 + api/ee/src/core/entitlements/types.py | 277 +++ api/ee/src/core/meters/__init__.py | 0 api/ee/src/core/meters/interfaces.py | 88 + api/ee/src/core/meters/service.py | 173 ++ api/ee/src/core/meters/types.py | 32 + api/ee/src/core/subscriptions/__init__.py | 0 api/ee/src/core/subscriptions/interfaces.py | 56 + api/ee/src/core/subscriptions/service.py | 271 +++ api/ee/src/core/subscriptions/types.py | 40 + api/ee/src/crons/meters.sh | 17 + api/ee/src/crons/meters.txt | 2 + api/ee/src/crons/queries.sh | 24 + api/ee/src/crons/queries.txt | 2 + api/ee/src/dbs/__init__.py | 0 api/ee/src/dbs/postgres/__init__.py | 0 api/ee/src/dbs/postgres/meters/__init__.py | 0 api/ee/src/dbs/postgres/meters/dao.py | 290 +++ api/ee/src/dbs/postgres/meters/dbas.py | 29 + api/ee/src/dbs/postgres/meters/dbes.py | 29 + api/ee/src/dbs/postgres/shared/__init__.py | 0 .../dbs/postgres/subscriptions/__init__.py | 0 api/ee/src/dbs/postgres/subscriptions/dao.py | 84 + api/ee/src/dbs/postgres/subscriptions/dbas.py | 19 + api/ee/src/dbs/postgres/subscriptions/dbes.py | 24 + .../dbs/postgres/subscriptions/mappings.py | 26 + api/ee/src/main.py | 123 + api/ee/src/models/api/api_models.py | 72 + api/ee/src/models/api/organization_models.py | 33 + api/ee/src/models/api/user_models.py | 9 + api/ee/src/models/api/workspace_models.py | 58 + api/ee/src/models/db_models.py | 518 ++++ .../src/models/extended/deprecated_models.py | 101 + .../extended/deprecated_transfer_models.py | 347 +++ api/ee/src/models/shared_models.py | 200 ++ api/ee/src/routers/evaluation_router.py | 519 ++++ api/ee/src/routers/human_evaluation_router.py | 460 ++++ api/ee/src/routers/organization_router.py | 239 ++ api/ee/src/routers/workspace_router.py | 173 ++ api/ee/src/services/admin_manager.py | 404 ++++ api/ee/src/services/aggregation_service.py | 135 ++ api/ee/src/services/commoners.py | 179 ++ api/ee/src/services/converters.py | 321 +++ api/ee/src/services/db_manager.py | 35 + api/ee/src/services/db_manager_ee.py | 2129 +++++++++++++++++ api/ee/src/services/email_helper.py | 51 + api/ee/src/services/evaluation_service.py | 502 ++++ api/ee/src/services/llm_apps_service.py | 578 +++++ api/ee/src/services/organization_service.py | 121 + api/ee/src/services/results_service.py | 116 + api/ee/src/services/selectors.py | 125 + api/ee/src/services/templates/send_email.html | 7 + api/ee/src/services/utils.py | 21 + api/ee/src/services/workspace_manager.py | 355 +++ api/ee/src/tasks/__init__.py | 0 api/ee/src/tasks/evaluations/__init__.py | 0 api/ee/src/tasks/evaluations/batch.py | 254 ++ api/ee/src/tasks/evaluations/legacy.py | 1391 +++++++++++ api/ee/src/tasks/evaluations/live.py | 771 ++++++ api/ee/src/utils/entitlements.py | 169 ++ api/ee/src/utils/permissions.py | 304 +++ api/ee/tests/__init__.py | 0 api/ee/tests/manual/billing.http | 52 + api/ee/tests/manual/evaluations/live.http | 131 + api/ee/tests/manual/evaluations/sdk/client.py | 32 + .../manual/evaluations/sdk/definitions.py | 1818 ++++++++++++++ .../tests/manual/evaluations/sdk/entities.py | 447 ++++ .../tests/manual/evaluations/sdk/evaluate.py | 340 +++ .../manual/evaluations/sdk/evaluations.py | 208 ++ api/ee/tests/manual/evaluations/sdk/loop.py | 97 + .../manual/evaluations/sdk/mock_entities.py | 90 + .../tests/manual/evaluations/sdk/services.py | 375 +++ .../manual/evaluators/human-evaluator.http | 73 + api/ee/tests/pytest/__init__.py | 0 api/ee/tests/requirements.txt | 1 + api/oss/tests/manual/tracing/windowing.http | 2 +- api/pyproject.toml | 2 +- .../playground/02-adding-custom-providers.mdx | 4 +- ee/LICENSE | 37 + hooks/setup.sh | 47 + hosting/docker-compose/ee/.dockerignore | 7 + hosting/docker-compose/ee/LICENSE | 37 + .../docker-compose/ee/docker-compose.dev.yml | 372 +++ hosting/docker-compose/ee/env.ee.dev.example | 91 + hosting/docker-compose/ee/env.ee.gh.example | 80 + ...nv.oss.dev.example => env.oss.dev.example} | 0 ....env.oss.gh.example => env.oss.gh.example} | 0 hosting/{ => old}/aws/agenta_instance.tf | 0 hosting/{ => old}/aws/agenta_instance_sg.tf | 0 hosting/{ => old}/aws/instance-setup.sh | 0 hosting/{ => old}/aws/main.tf | 0 hosting/{ => old}/gcp/agenta-instance.tf | 0 hosting/old/gcp/credentials.json | 0 hosting/{ => old}/gcp/main.tf | 0 sdk/pyproject.toml | 2 +- sdk/tests/legacy/baggage/config.toml | 2 +- .../legacy/debugging/simple-app/config.toml | 2 +- services/chat/ee/LICENSE | 37 + services/chat/ee/__init__.py | 0 services/chat/ee/docker/Dockerfile.gh | 18 + services/completion/ee/LICENSE | 37 + services/completion/ee/__init__.py | 0 services/completion/ee/docker/Dockerfile.gh | 18 + web/ee/.gitignore | 37 + web/ee/LICENSE | 37 + web/ee/docker/Dockerfile.dev | 43 + web/ee/docker/Dockerfile.gh | 43 + web/ee/next.config.ts | 73 + web/ee/package.json | 94 + web/ee/postcss.config.mjs | 3 + web/ee/public/assets/On-boarding.png | Bin 0 -> 6151628 bytes web/ee/public/assets/On-boarding.webp | Bin 0 -> 422926 bytes .../dark-complete-transparent-CROPPED.png | Bin 0 -> 52174 bytes .../dark-complete-transparent_white_logo.png | Bin 0 -> 2971 bytes web/ee/public/assets/dark-logo.svg | 1 + web/ee/public/assets/fallback.png | Bin 0 -> 2404 bytes web/ee/public/assets/favicon.ico | Bin 0 -> 1178 bytes .../light-complete-transparent-CROPPED.png | Bin 0 -> 48798 bytes web/ee/public/assets/light-logo.svg | 1 + web/ee/public/assets/not-found.png | Bin 0 -> 8584 bytes web/ee/public/assets/onboard-page-grids.svg | 81 + web/ee/public/assets/rag-demo-app.webp | Bin 0 -> 11082 bytes .../BillingPlanBanner/FreePlanBanner.tsx | 29 + .../BillingPlanBanner/FreeTrialBanner.tsx | 33 + .../DeleteEvaluationModal.tsx | 59 + .../components/DeleteEvaluationModal/types.ts | 6 + .../DeploymentHistory/DeploymentHistory.tsx | 347 +++ .../assets/AutoEvalRunSkeleton.tsx | 28 + .../AutoEvalRun/assets/EvalNameTag.tsx | 270 +++ .../AutoEvalRun/assets/TagWithLink.tsx | 34 + .../AutoEvalRun/assets/VariantTag.tsx | 262 ++ .../AutoEvalRun/assets/types.ts | 7 + .../AutoEvalRun/assets/utils.ts | 52 + .../AutoEvalRun/assets/variantUtils.ts | 170 ++ .../components/EvalRunCompareMenu/index.tsx | 269 +++ .../FocusDrawerContent/assets/RunOutput.tsx | 60 + .../assets/RunTraceHeader.tsx | 79 + .../assets/FocusDrawerContent/index.tsx | 905 +++++++ .../assets/FocusDrawerHeader/index.tsx | 142 ++ .../assets/FocusDrawerSidePanel/index.tsx | 164 ++ .../Skeletons/FocusDrawerContentSkeleton.tsx | 33 + .../Skeletons/FocusDrawerHeaderSkeleton.tsx | 16 + .../FocusDrawerSidePanelSkeleton.tsx | 15 + .../components/EvalRunFocusDrawer/index.tsx | 68 + .../assets/EvalRunHeaderSkeleton.tsx | 20 + .../components/EvalRunHeader/index.tsx | 46 + .../assets/EvalRunOverviewViewerSkeleton.tsx | 25 + .../EvalRunOverviewViewer/index.tsx | 209 ++ .../EvalRunPromptConfigViewerSkeleton.tsx | 42 + .../assets/PromptConfigCard.tsx | 633 +++++ .../EvalRunPromptConfigViewer/index.tsx | 152 ++ .../assets/EvalRunScoreTableSkeleton.tsx | 21 + .../EvalRunScoreTable/assets/TraceMetrics.tsx | 49 + .../EvalRunScoreTable/assets/constants.ts | 17 + .../components/EvalRunScoreTable/index.tsx | 510 ++++ .../EvalRunSelectedEvaluations/index.tsx | 73 + .../index.tsx | 332 +++ .../assets/EvalRunTestCaseViewerSkeleton.tsx | 77 + .../EvalRunTestCaseViewer/index.tsx | 31 + .../EvaluatorMetircsSpiderChart/index.tsx | 223 ++ .../EvaluatorMetircsSpiderChart/types.ts | 31 + .../EvaluatorMetricsChart/assets/BarChart.tsx | 286 +++ .../assets/EvaluatorMetricsChartSkeleton.tsx | 20 + .../assets/HistogramChart.tsx | 149 ++ .../EvaluatorMetricsChart/index.tsx | 299 +++ .../EvalRunDetails/AutoEvalRun/index.tsx | 51 + .../HumanEvalRun/assets/annotationUtils.ts | 383 +++ .../HumanEvalRun/assets/helpers.ts | 252 ++ .../HumanEvalRun/assets/optimisticUtils.ts | 41 + .../HumanEvalRun/assets/runnableSelectors.ts | 64 + .../HumanEvalRun/assets/stepsMetricsUtils.ts | 180 ++ .../HumanEvalRun/assets/types.ts | 6 + .../AnnotateScenarioButton/index.tsx | 96 + .../AnnotateScenarioButton/types.ts | 14 + .../EvalResultsView/EvaluatorMetricsCard.tsx | 81 + .../components/EvalResultsView/index.tsx | 39 + .../components/EvalRunBatchActions.tsx | 238 ++ .../components/EvalRunName/index.tsx | 78 + .../components/EvalRunScenario/index.tsx | 53 + .../components/EvalRunScenario/types.ts | 5 + .../EvalRunScenarioCardBody.tsx | 151 ++ .../EvalRunScenarioCard/InvocationInputs.tsx | 110 + .../InvocationResponse.tsx | 151 ++ .../EvalRunScenarioCard/InvocationRun.tsx | 20 + .../EvalRunScenarioCard/assets/KeyValue.tsx | 59 + .../EvalRunScenarioCard/assets/utils.tsx | 9 + .../components/EvalRunScenarioCard/index.tsx | 73 + .../components/EvalRunScenarioCard/types.ts | 29 + .../EvalRunScenarioCardTitle/index.tsx | 22 + .../EvalRunScenarioCardTitle/types.ts | 5 + .../EvalRunScenarioCards.tsx | 75 + .../EvalRunScenarioCards/assets/constants.ts | 3 + .../components/EvalRunScenarioFilters.tsx | 48 + .../assets/InstructionButton.tsx | 51 + .../Modals/InstructionModal/index.tsx | 37 + .../assets/RenameEvalButton.tsx | 60 + .../assets/RenameEvalModalContent.tsx | 35 + .../Modals/RenameEvalModal/index.tsx | 91 + .../HumanEvalRun/components/Modals/types.d.ts | 31 + .../RunEvalScenarioButton/index.tsx | 107 + .../components/RunEvalScenarioButton/types.ts | 6 + .../ScenarioAnnotationPanel/index.tsx | 302 +++ .../ScenarioAnnotationPanel/types.ts | 16 + .../ScenarioLoadingIndicator.tsx | 23 + .../assets/constants.ts | 7 + .../components/SingleScenarioViewer/index.tsx | 130 + .../components/SingleScenarioViewer/types.ts | 3 + .../EvalRunDetails/HumanEvalRun/index.tsx | 54 + .../src/components/EvalRunDetails/UrlSync.tsx | 127 + .../assets/renderChatMessages.tsx | 132 + .../components/ComparisonDataFetcher.tsx | 99 + .../components/EvalResultsView/index.tsx | 80 + .../EvalRunScenarioNavigator/index.tsx | 296 +++ .../EvalRunScenarioStatusTag/assets/index.tsx | 32 + .../EvalRunScenarioStatusTag/index.tsx | 67 + .../assets/constants.ts | 20 + .../EvalRunScenariosViewSelector/index.tsx | 51 + .../SaveDataModal/assets/SaveDataButton.tsx | 65 + .../assets/SaveDataModalContent.tsx | 82 + .../components/SaveDataModal/assets/types.ts | 34 + .../components/SaveDataModal/index.tsx | 119 + .../ComparisonScenarioTable.tsx | 173 ++ .../ScenarioTable.tsx | 68 + .../assets/ActionCell.tsx | 82 + .../assets/CellComponents.tsx | 354 +++ .../assets/ComparisonModeToggle.tsx | 237 ++ .../CollapsedAnnotationValueCell.tsx | 106 + .../MetricCell/CollapsedMetricValueCell.tsx | 308 +++ .../MetricCell/CollapsedMetricsCell.tsx | 34 + .../assets/MetricCell/MetricCell.tsx | 322 +++ .../assets/MetricCell/types.ts | 41 + .../assets/StatusCell.tsx | 30 + ...VirtualizedScenarioTableAnnotateDrawer.tsx | 81 + .../assets/constants.ts | 92 + .../assets/dataSourceBuilder.ts | 394 +++ .../assets/flatDataSourceBuilder.ts | 8 + .../VirtualizedScenarioTable/assets/types.ts | 18 + .../VirtualizedScenarioTable/assets/utils.tsx | 453 ++++ .../useExpandableComparisonDataSource.tsx | 387 +++ .../hooks/useScrollToScenario.ts | 88 + .../hooks/useTableDataSource.ts | 156 ++ .../VirtualizedScenarioTable/index.tsx | 23 + .../VirtualizedScenarioTable/types.ts | 19 + .../src/components/EvalRunDetails/index.tsx | 310 +++ .../EvalRunDetails/state/evalType.ts | 10 + .../EvalRunDetails/state/focusScenarioAtom.ts | 89 + .../EvalRunDetails/state/urlState.ts | 36 + .../ABTestingEvaluationTable.tsx | 823 +++++++ .../SingleModelEvaluationTable.tsx | 752 ++++++ .../EvaluationTable/assets/styles.ts | 140 ++ .../components/ParamsFormWithRun.tsx | 148 ++ .../src/components/EvaluationTable/types.d.ts | 21 + .../EvaluationCardView/EvaluationCard.tsx | 78 + .../EvaluationChatResponse.tsx | 69 + .../EvaluationCardView/EvaluationInputs.tsx | 50 + .../EvaluationVariantCard.tsx | 105 + .../EvaluationVotePanel.tsx | 405 ++++ .../EvaluationCardView/VariantAlphabet.tsx | 44 + .../EvaluationCardView/assets/styles.ts | 108 + .../Evaluations/EvaluationCardView/index.tsx | 504 ++++ .../Evaluations/EvaluationCardView/types.d.ts | 15 + .../Evaluations/EvaluationErrorModal.tsx | 48 + .../Evaluations/HumanEvaluationResult.tsx | 0 .../Evaluations/ShareEvaluationModal.tsx | 61 + .../HumanEvaluationModal.tsx | 420 ++++ .../HumanEvaluationModal/assets/styles.ts | 105 + .../HumanEvaluationModal/types.d.ts | 5 + .../HumanEvaluations/AbTestingEvaluation.tsx | 551 +++++ .../SingleModelEvaluation.tsx | 228 ++ .../assets/EvaluationStatusCell.tsx | 147 ++ .../assets/LegacyEvalResultCell.tsx | 32 + .../MetricDetailsPopover/assets/ChartAxis.tsx | 91 + .../assets/ChartFrame.tsx | 71 + .../assets/ResponsiveFrequencyChart.tsx | 463 ++++ .../assets/ResponsiveMetricChart.tsx | 634 +++++ .../MetricDetailsPopover/assets/chartUtils.ts | 11 + .../MetricDetailsPopover/assets/utils.ts | 170 ++ .../assets/MetricDetailsPopover/index.tsx | 387 +++ .../assets/MetricDetailsPopover/types.ts | 36 + .../SingleModelEvaluationHeader/index.tsx | 328 +++ .../assets/TableDropdownMenu/index.tsx | 138 ++ .../assets/TableDropdownMenu/types.ts | 16 + .../HumanEvaluations/assets/styles.ts | 29 + .../HumanEvaluations/assets/utils.tsx | 889 +++++++ .../src/components/HumanEvaluations/types.ts | 26 + .../PostSignupForm/PostSignupForm.tsx | 370 +++ .../PostSignupForm/assets/styles.ts | 32 + .../PostSignupForm/assets/types.d.ts | 8 + .../PromptVersioningDrawer.tsx | 152 ++ .../SaveTestsetModal/SaveTestsetModal.tsx | 86 + .../components/SaveTestsetModal/types.d.ts | 13 + .../Scripts/assets/CloudScripts.tsx | 47 + .../src/components/SidePanel/Subscription.tsx | 29 + .../app-management/components/ApiKeyInput.tsx | 61 + .../components/DemoApplicationsSection.tsx | 96 + .../ObservabilityDashboardSection.tsx | 180 ++ .../EvaluationErrorModal.tsx | 77 + .../EvaluationErrorPopover.tsx | 43 + .../EvaluationErrorText.tsx | 19 + .../pages/evaluations/EvaluationsView.tsx | 160 ++ .../FilterColumns/FilterColumns.tsx | 88 + .../Components/AdvancedSettings.tsx | 112 + .../Components/NewEvaluationModalContent.tsx | 294 +++ .../Components/SelectAppSection.tsx | 118 + .../SelectEvaluatorSection.tsx | 360 +++ .../Components/SelectTestsetSection.tsx | 137 ++ .../Components/SelectVariantSection.tsx | 113 + .../NewEvaluation/assets/TabLabel/index.tsx | 20 + .../NewEvaluation/assets/TabLabel/types.ts | 6 + .../NewEvaluation/assets/constants.ts | 7 + .../NewEvaluation/assets/styles.ts | 80 + .../pages/evaluations/NewEvaluation/index.tsx | 551 +++++ .../pages/evaluations/NewEvaluation/types.ts | 92 + .../autoEvaluation/AutoEvaluation.tsx | 318 +++ .../ConfigureEvaluator/AdvancedSettings.tsx | 128 + .../ConfigureEvaluator/DebugSection.tsx | 851 +++++++ .../ConfigureEvaluator/DynamicFormField.tsx | 152 ++ .../EvaluatorTestcaseModal.tsx | 174 ++ .../EvaluatorVariantModal.tsx | 158 ++ .../ConfigureEvaluator/Messages.tsx | 158 ++ .../ConfigureEvaluator/assets/styles.ts | 32 + .../ConfigureEvaluator/index.tsx | 340 +++ .../ConfigureEvaluator/types.ts | 14 + .../Evaluators/DeleteModal.tsx | 73 + .../Evaluators/EvaluatorCard.tsx | 213 ++ .../Evaluators/EvaluatorList.tsx | 172 ++ .../EvaluatorsModal/Evaluators/index.tsx | 197 ++ .../EvaluatorsModal/EvaluatorsModal.tsx | 201 ++ .../NewEvaluator/NewEvaluatorCard.tsx | 114 + .../NewEvaluator/NewEvaluatorList.tsx | 85 + .../EvaluatorsModal/NewEvaluator/index.tsx | 142 ++ .../autoEvaluation/Filters/SearchFilter.tsx | 78 + .../assets/AutoEvaluationHeader.tsx | 679 ++++++ .../autoEvaluation/assets/styles.ts | 8 + .../autoEvaluation/assets/types.ts | 22 + .../cellRenderers/StatusRenderer.tsx | 62 + .../cellRenderers/cellRenderers.tsx | 270 +++ .../evaluationCompare/EvaluationCompare.tsx | 629 +++++ .../EvaluationScenarios.tsx | 474 ++++ .../src/components/pages/evaluations/utils.ts | 185 ++ .../observability/dashboard/widgetCard.tsx | 85 + .../deployments/DeploymentHistoryModal.tsx | 415 ++++ .../deployments/DeploymentRevertModal.tsx | 79 + .../overview/deployments/HistoryConfig.tsx | 112 + .../observability/ObservabilityOverview.tsx | 135 ++ .../AutoRenewalCancelModalContent/index.tsx | 33 + .../assets/constants.ts | 10 + .../AutoRenewalCancelModal/assets/types.d.ts | 8 + .../Modals/AutoRenewalCancelModal/index.tsx | 74 + .../PricingModal/assets/PricingCard/index.tsx | 96 + .../assets/PricingModalContent/index.tsx | 95 + .../assets/PricingModalTitle/index.tsx | 17 + .../assets/SubscriptionPlanDetails/index.tsx | 22 + .../Modals/PricingModal/assets/constants.ts | 45 + .../Modals/PricingModal/assets/types.d.ts | 28 + .../Billing/Modals/PricingModal/index.tsx | 27 + .../Billing/assets/UsageProgressBar/index.tsx | 33 + .../pages/settings/Billing/assets/types.d.ts | 12 + .../pages/settings/Billing/index.tsx | 177 ++ web/ee/src/contexts/RunIdContext.tsx | 40 + web/ee/src/hooks/useCrispChat.ts | 43 + web/ee/src/lib/helpers/evaluate.ts | 449 ++++ web/ee/src/lib/helpers/hashUtils.ts | 73 + web/ee/src/lib/helpers/traceUtils.ts | 146 ++ .../lib/hooks/useEvalScenarioQueue/index.ts | 348 +++ .../useEvalScenarioQueue/responseQueue.ts | 48 + .../assets/atoms/bulkFetch.ts | 96 + .../assets/atoms/cache.ts | 6 + .../assets/atoms/index.ts | 19 + .../assets/atoms/migrationHelper.ts | 18 + .../assets/atoms/progress.ts | 263 ++ .../assets/atoms/runScopedAtoms.ts | 105 + .../assets/atoms/runScopedMetrics.ts | 546 +++++ .../assets/atoms/runScopedScenarios.ts | 376 +++ .../assets/atoms/store.ts | 74 + .../assets/atoms/types.ts | 16 + .../assets/atoms/utils.ts | 24 + .../useEvaluationRunData/assets/constants.ts | 25 + .../assets/helpers/buildRunIndex.ts | 124 + .../helpers/fetchScenarioListViaWorker.ts | 48 + .../assets/helpers/fetchScenarioViaWorker.ts | 184 ++ .../assets/helpers/scenarioFilters.ts | 66 + .../assets/helpers/workerContext/index.ts | 145 ++ .../assets/helpers/workerContext/types.ts | 31 + .../lib/hooks/useEvaluationRunData/index.ts | 272 +++ .../lib/hooks/useEvaluationRunData/types.ts | 141 ++ .../useEvalRunScenarioData.tsx | 43 + .../useEvaluationRunMetrics/assets/utils.ts | 24 + .../hooks/useEvaluationRunMetrics/index.ts | 112 + .../hooks/useEvaluationRunMetrics/types.ts | 75 + .../useEvaluationRunScenarioSteps/types.ts | 162 ++ .../hooks/useEvaluationRunScenarios/index.ts | 133 + .../hooks/useEvaluationRunScenarios/types.ts | 24 + web/ee/src/lib/hooks/useEvaluations.ts | 345 +++ .../lib/hooks/useInvocationResult/index.ts | 143 ++ .../lib/hooks/useInvocationResult/types.ts | 18 + .../usePreviewEvaluations/assets/utils.ts | 396 +++ .../lib/hooks/usePreviewEvaluations/index.ts | 459 ++++ .../projectVariantConfigs.ts | 131 + .../states/queryFilterAtoms.ts | 7 + .../lib/hooks/usePreviewEvaluations/types.ts | 84 + .../usePreviewRunningEvaluations/index.ts | 58 + .../states/runningEvalAtom.ts | 10 + .../src/lib/hooks/useRunMetricsMap/index.ts | 171 ++ web/ee/src/lib/metricColumnFactory.tsx | 112 + web/ee/src/lib/metricSorter.ts | 19 + web/ee/src/lib/metricUtils.ts | 278 +++ web/ee/src/lib/metrics/utils.ts | 93 + web/ee/src/lib/tableUtils.ts | 36 + web/ee/src/lib/types_ee.ts | 165 ++ .../src/lib/workers/evalRunner/bulkWorker.ts | 143 ++ .../workers/evalRunner/evalRunner.worker.ts | 259 ++ .../evalRunner/fetchRunMetrics.worker.ts | 151 ++ .../workers/evalRunner/fetchSteps.worker.ts | 75 + .../lib/workers/evalRunner/pureEnrichment.ts | 610 +++++ .../workers/evalRunner/runMetricsWorker.ts | 78 + .../workers/evalRunner/scenarioListWorker.ts | 116 + web/ee/src/lib/workers/evalRunner/types.ts | 39 + .../src/lib/workers/evalRunner/workerFetch.ts | 298 +++ web/ee/src/pages/_app.tsx | 11 + web/ee/src/pages/_document.tsx | 3 + web/ee/src/pages/auth/[[...path]].tsx | 3 + .../pages/auth/callback/[[...callback]].tsx | 3 + web/ee/src/pages/post-signup/index.tsx | 5 + web/ee/src/pages/w/[workspace_id]/index.tsx | 3 + .../apps/[app_id]/deployments/index.tsx | 3 + .../apps/[app_id]/endpoints/index.tsx | 5 + .../[evaluation_id]/index.tsx | 115 + .../apps/[app_id]/evaluations/index.tsx | 7 + .../results/[evaluation_id]/index.tsx | 7 + .../evaluations/results/compare/index.tsx | 7 + .../[evaluation_id]/index.tsx | 7 + .../apps/[app_id]/overview/index.tsx | 3 + .../apps/[app_id]/playground/index.tsx | 3 + .../apps/[app_id]/traces/index.tsx | 3 + .../apps/[app_id]/variants/index.tsx | 3 + .../p/[project_id]/apps/index.tsx | 3 + .../p/[project_id]/evaluations/index.tsx | 7 + .../results/[evaluation_id]/index.tsx | 7 + .../evaluations/results/compare/index.tsx | 7 + .../[evaluation_id]/index.tsx | 7 + .../p/[project_id]/observability/index.tsx | 3 + .../p/[project_id]/settings/index.tsx | 3 + .../p/[project_id]/share/index.tsx | 86 + .../testsets/[testset_id]/index.tsx | 3 + .../p/[project_id]/testsets/index.tsx | 3 + web/ee/src/pages/w/[workspace_id]/p/index.tsx | 3 + web/ee/src/pages/w/index.tsx | 3 + web/ee/src/pages/workspaces/accept.tsx | 3 + web/ee/src/services/billing/index.tsx | 58 + web/ee/src/services/billing/types.d.ts | 45 + .../src/services/evaluationRuns/api/index.ts | 332 +++ .../src/services/evaluationRuns/api/types.ts | 18 + web/ee/src/services/evaluationRuns/utils.ts | 0 web/ee/src/services/evaluations/api/index.ts | 328 +++ .../src/services/evaluations/api_ee/index.ts | 44 + .../src/services/evaluations/workerUtils.ts | 157 ++ .../services/human-evaluations/api/index.ts | 294 +++ .../hooks/useEvaluationResults.ts | 26 + .../src/services/observability/api/helper.ts | 61 + .../src/services/observability/api/index.ts | 168 ++ web/ee/src/services/observability/api/mock.ts | 148 ++ .../services/promptVersioning/api/index.ts | 41 + .../runMetrics/api/assets/contants.ts | 18 + web/ee/src/services/runMetrics/api/index.ts | 696 ++++++ web/ee/src/services/runMetrics/api/types.ts | 22 + .../src/services/variantConfigs/api/index.ts | 77 + web/ee/src/state/billing/atoms.ts | 239 ++ web/ee/src/state/billing/hooks.ts | 137 ++ web/ee/src/state/billing/index.ts | 23 + web/ee/src/state/observability/dashboard.ts | 61 + web/ee/src/state/observability/index.ts | 1 + web/ee/src/state/url/focusDrawer.ts | 131 + web/ee/tailwind.config.ts | 3 + .../1-settings/api-keys-management.spec.ts | 4 + web/ee/tests/1-settings/model-hub.spec.ts | 4 + web/ee/tests/2-app/create.spec.ts | 5 + web/ee/tests/3-playground/run-variant.spec.ts | 4 + .../prompt-registry-flow.spec.ts | 4 + web/ee/tests/5-testsset/testset.spec.ts | 4 + .../tests/6-auto-evaluation/assets/README.md | 67 + .../tests/6-auto-evaluation/assets/types.ts | 42 + web/ee/tests/6-auto-evaluation/index.ts | 92 + .../run-auto-evaluation.spec.ts | 4 + web/ee/tests/6-auto-evaluation/tests.ts | 97 + .../7-observability/observability.spec.ts | 4 + .../tests/8-deployment/deploy-variant.spec.ts | 4 + .../tests/9-human-annotation/assets/types.ts | 22 + .../human-annotation.spec.ts | 4 + web/ee/tests/9-human-annotation/index.ts | 181 ++ web/ee/tests/9-human-annotation/tests.ts | 244 ++ web/ee/tsconfig.json | 12 + web/oss/package.json | 2 +- web/package.json | 2 +- 586 files changed, 75721 insertions(+), 31 deletions(-) create mode 100644 .gitleaks.toml create mode 100644 .gitleaksignore create mode 100644 api/ee/LICENSE rename hosting/gcp/credentials.json => api/ee/__init__.py (100%) create mode 100644 api/ee/databases/__init__.py create mode 100644 api/ee/databases/postgres/init-db-ee.sql create mode 100644 api/ee/databases/postgres/migrations/__init__.py create mode 100644 api/ee/databases/postgres/migrations/core/README.md create mode 100644 api/ee/databases/postgres/migrations/core/alembic.ini create mode 100644 api/ee/databases/postgres/migrations/core/data_migrations/api_keys.py create mode 100644 api/ee/databases/postgres/migrations/core/data_migrations/applications.py create mode 100644 api/ee/databases/postgres/migrations/core/data_migrations/demos.py create mode 100644 api/ee/databases/postgres/migrations/core/data_migrations/evaluators.py create mode 100644 api/ee/databases/postgres/migrations/core/data_migrations/export_records.py create mode 100644 api/ee/databases/postgres/migrations/core/data_migrations/invitations.py create mode 100644 api/ee/databases/postgres/migrations/core/data_migrations/projects.py create mode 100644 api/ee/databases/postgres/migrations/core/data_migrations/testsets.py create mode 100644 api/ee/databases/postgres/migrations/core/data_migrations/workspaces.py create mode 100644 api/ee/databases/postgres/migrations/core/env.py create mode 100644 api/ee/databases/postgres/migrations/core/script.py.mako create mode 100644 api/ee/databases/postgres/migrations/core/temp/80910d2fa9a4_migrate_old_testsets_to_new_.py create mode 100644 api/ee/databases/postgres/migrations/core/temp/bd7937ee784d_migrate_old_evaluators_to_new_.py create mode 100644 api/ee/databases/postgres/migrations/core/utils.py create mode 100644 api/ee/databases/postgres/migrations/core/versions/0698355c7641_add_tables_for_testsets.py create mode 100644 api/ee/databases/postgres/migrations/core/versions/0698355c7642_add_table_for_testcases.py create mode 100644 api/ee/databases/postgres/migrations/core/versions/0f086ebc2f83_extend_app_type.py create mode 100644 api/ee/databases/postgres/migrations/core/versions/12f477990f1e_add_meters.py create mode 100644 api/ee/databases/postgres/migrations/core/versions/154098b1e56c_set_user_id_column_in_db_entities_to_be_.py create mode 100644 api/ee/databases/postgres/migrations/core/versions/1c2d3e4f5a6b_workspaces_migration_to_add_default_project_and_membership.py create mode 100644 api/ee/databases/postgres/migrations/core/versions/24f8bdb390ee_added_the_app_type_column_to_the_app_db_.py create mode 100644 api/ee/databases/postgres/migrations/core/versions/2a91436752f9_update_secrets_data_schema_type.py create mode 100644 api/ee/databases/postgres/migrations/core/versions/30dcf07de96a_add_tables_for_queries.py create mode 100644 api/ee/databases/postgres/migrations/core/versions/320a4a7ee0c7_set_columns_in_api_key_table_to_be_.py create mode 100644 api/ee/databases/postgres/migrations/core/versions/3b5f5652f611_populate_runs_references.py create mode 100644 api/ee/databases/postgres/migrations/core/versions/425c68e8de6c_add_secrets_dbe_model.py create mode 100644 api/ee/databases/postgres/migrations/core/versions/4d9a58ff8f98_add_default_project_to_scoped_model_.py create mode 100644 api/ee/databases/postgres/migrations/core/versions/54e81e9eed88_add_tables_for_evaluations.py create mode 100644 api/ee/databases/postgres/migrations/core/versions/5a71b3f140ab_fix_all_preview_schemas.py create mode 100644 api/ee/databases/postgres/migrations/core/versions/6161b674688d_add_commit_message_column_to_app_.py create mode 100644 api/ee/databases/postgres/migrations/core/versions/6965776e6940_add_subscriptions.py create mode 100644 api/ee/databases/postgres/migrations/core/versions/6aafdfc2befb_rename_user_organizations_to_organization_members.py create mode 100644 api/ee/databases/postgres/migrations/core/versions/73a2d8cfaa3c_add_is_demo_flag.py create mode 100644 api/ee/databases/postgres/migrations/core/versions/73a2d8cfaa3d_add_initial_demo.py create mode 100644 api/ee/databases/postgres/migrations/core/versions/770d68410ab0_transfer_user_organization_to_.py create mode 100644 api/ee/databases/postgres/migrations/core/versions/7990f1e12f47_create_free_plans.py create mode 100644 api/ee/databases/postgres/migrations/core/versions/79b9acb137a1_transfer_workspace_invitations_to_.py create mode 100644 api/ee/databases/postgres/migrations/core/versions/7cc66fc40298_add_hidden_column_to_app_variants_table.py create mode 100644 api/ee/databases/postgres/migrations/core/versions/8089ee7692d1_cleanup_preview_entities.py create mode 100644 api/ee/databases/postgres/migrations/core/versions/847972cfa14a_add_nodes_dbe.py create mode 100644 api/ee/databases/postgres/migrations/core/versions/8accbbea1d21_initial_migration.py create mode 100644 api/ee/databases/postgres/migrations/core/versions/91d3b4a8c27f_fix_ag_config.py create mode 100644 api/ee/databases/postgres/migrations/core/versions/9698355c7649_add_tables_for_workflows.py create mode 100644 api/ee/databases/postgres/migrations/core/versions/9698355c7650_rename_metadata_to_meta.py create mode 100644 api/ee/databases/postgres/migrations/core/versions/9b0e1a740b88_create_project_invitations_table.py create mode 100644 api/ee/databases/postgres/migrations/core/versions/aa1b2c3d4e5f_migrate_config_parameters_jsonb_to_json.py create mode 100644 api/ee/databases/postgres/migrations/core/versions/ad0987a77380_update_evaluators_names_with_app_name_.py create mode 100644 api/ee/databases/postgres/migrations/core/versions/b3f15a7140ab_add_version_to_eval_entities.py create mode 100644 api/ee/databases/postgres/migrations/core/versions/b3f6bff547d4_remove_app_id_from_evaluators_configs.py create mode 100644 api/ee/databases/postgres/migrations/core/versions/d0b8e05ca190_scope_project_id_to_db_models_entities.py create mode 100644 api/ee/databases/postgres/migrations/core/versions/d5d4d6bf738f_add_evaluation_queues.py create mode 100644 api/ee/databases/postgres/migrations/core/versions/e14e8689cd03_created_project_members_table_and_added_.py create mode 100644 api/ee/databases/postgres/migrations/core/versions/e9fa2135f3fb_add_modified_by_id_column_to_apps_db_.py create mode 100644 api/ee/databases/postgres/migrations/core/versions/fa07e07350bf_add_timestamp_to_metrics.py create mode 100644 api/ee/databases/postgres/migrations/core/versions/fd77265d65dc_fix_preview_entities.py create mode 100644 api/ee/databases/postgres/migrations/find_head.py create mode 100644 api/ee/databases/postgres/migrations/runner.py create mode 100644 api/ee/databases/postgres/migrations/tracing/README copy.md create mode 100644 api/ee/databases/postgres/migrations/tracing/__init__.py create mode 100644 api/ee/databases/postgres/migrations/tracing/alembic.ini create mode 100644 api/ee/databases/postgres/migrations/tracing/env.py create mode 100644 api/ee/databases/postgres/migrations/tracing/script.py.mako create mode 100644 api/ee/databases/postgres/migrations/tracing/utils.py create mode 100644 api/ee/databases/postgres/migrations/tracing/versions/58b1b61e5d6c_add_spans.py create mode 100644 api/ee/databases/postgres/migrations/tracing/versions/847972cfa14a_add_nodes.py create mode 100644 api/ee/databases/postgres/migrations/tracing/versions/fd77265d65dc_fix_spans.py create mode 100644 api/ee/databases/postgres/migrations/utils.py create mode 100644 api/ee/docker/Dockerfile.dev create mode 100644 api/ee/docker/Dockerfile.gh create mode 100644 api/ee/src/__init__.py create mode 100644 api/ee/src/apis/__init__.py create mode 100644 api/ee/src/apis/fastapi/__init__.py create mode 100644 api/ee/src/apis/fastapi/billing/__init__.py create mode 100644 api/ee/src/apis/fastapi/billing/models.py create mode 100644 api/ee/src/apis/fastapi/billing/router.py create mode 100644 api/ee/src/core/__init__.py create mode 100644 api/ee/src/core/entitlements/__init__.py create mode 100644 api/ee/src/core/entitlements/service.py create mode 100644 api/ee/src/core/entitlements/types.py create mode 100644 api/ee/src/core/meters/__init__.py create mode 100644 api/ee/src/core/meters/interfaces.py create mode 100644 api/ee/src/core/meters/service.py create mode 100644 api/ee/src/core/meters/types.py create mode 100644 api/ee/src/core/subscriptions/__init__.py create mode 100644 api/ee/src/core/subscriptions/interfaces.py create mode 100644 api/ee/src/core/subscriptions/service.py create mode 100644 api/ee/src/core/subscriptions/types.py create mode 100644 api/ee/src/crons/meters.sh create mode 100644 api/ee/src/crons/meters.txt create mode 100644 api/ee/src/crons/queries.sh create mode 100644 api/ee/src/crons/queries.txt create mode 100644 api/ee/src/dbs/__init__.py create mode 100644 api/ee/src/dbs/postgres/__init__.py create mode 100644 api/ee/src/dbs/postgres/meters/__init__.py create mode 100644 api/ee/src/dbs/postgres/meters/dao.py create mode 100644 api/ee/src/dbs/postgres/meters/dbas.py create mode 100644 api/ee/src/dbs/postgres/meters/dbes.py create mode 100644 api/ee/src/dbs/postgres/shared/__init__.py create mode 100644 api/ee/src/dbs/postgres/subscriptions/__init__.py create mode 100644 api/ee/src/dbs/postgres/subscriptions/dao.py create mode 100644 api/ee/src/dbs/postgres/subscriptions/dbas.py create mode 100644 api/ee/src/dbs/postgres/subscriptions/dbes.py create mode 100644 api/ee/src/dbs/postgres/subscriptions/mappings.py create mode 100644 api/ee/src/main.py create mode 100644 api/ee/src/models/api/api_models.py create mode 100644 api/ee/src/models/api/organization_models.py create mode 100644 api/ee/src/models/api/user_models.py create mode 100644 api/ee/src/models/api/workspace_models.py create mode 100644 api/ee/src/models/db_models.py create mode 100644 api/ee/src/models/extended/deprecated_models.py create mode 100644 api/ee/src/models/extended/deprecated_transfer_models.py create mode 100644 api/ee/src/models/shared_models.py create mode 100644 api/ee/src/routers/evaluation_router.py create mode 100644 api/ee/src/routers/human_evaluation_router.py create mode 100644 api/ee/src/routers/organization_router.py create mode 100644 api/ee/src/routers/workspace_router.py create mode 100644 api/ee/src/services/admin_manager.py create mode 100644 api/ee/src/services/aggregation_service.py create mode 100644 api/ee/src/services/commoners.py create mode 100644 api/ee/src/services/converters.py create mode 100644 api/ee/src/services/db_manager.py create mode 100644 api/ee/src/services/db_manager_ee.py create mode 100644 api/ee/src/services/email_helper.py create mode 100644 api/ee/src/services/evaluation_service.py create mode 100644 api/ee/src/services/llm_apps_service.py create mode 100644 api/ee/src/services/organization_service.py create mode 100644 api/ee/src/services/results_service.py create mode 100644 api/ee/src/services/selectors.py create mode 100644 api/ee/src/services/templates/send_email.html create mode 100644 api/ee/src/services/utils.py create mode 100644 api/ee/src/services/workspace_manager.py create mode 100644 api/ee/src/tasks/__init__.py create mode 100644 api/ee/src/tasks/evaluations/__init__.py create mode 100644 api/ee/src/tasks/evaluations/batch.py create mode 100644 api/ee/src/tasks/evaluations/legacy.py create mode 100644 api/ee/src/tasks/evaluations/live.py create mode 100644 api/ee/src/utils/entitlements.py create mode 100644 api/ee/src/utils/permissions.py create mode 100644 api/ee/tests/__init__.py create mode 100644 api/ee/tests/manual/billing.http create mode 100644 api/ee/tests/manual/evaluations/live.http create mode 100644 api/ee/tests/manual/evaluations/sdk/client.py create mode 100644 api/ee/tests/manual/evaluations/sdk/definitions.py create mode 100644 api/ee/tests/manual/evaluations/sdk/entities.py create mode 100644 api/ee/tests/manual/evaluations/sdk/evaluate.py create mode 100644 api/ee/tests/manual/evaluations/sdk/evaluations.py create mode 100644 api/ee/tests/manual/evaluations/sdk/loop.py create mode 100644 api/ee/tests/manual/evaluations/sdk/mock_entities.py create mode 100644 api/ee/tests/manual/evaluations/sdk/services.py create mode 100644 api/ee/tests/manual/evaluators/human-evaluator.http create mode 100644 api/ee/tests/pytest/__init__.py create mode 100644 api/ee/tests/requirements.txt create mode 100644 ee/LICENSE create mode 100755 hooks/setup.sh create mode 100644 hosting/docker-compose/ee/.dockerignore create mode 100644 hosting/docker-compose/ee/LICENSE create mode 100644 hosting/docker-compose/ee/docker-compose.dev.yml create mode 100644 hosting/docker-compose/ee/env.ee.dev.example create mode 100644 hosting/docker-compose/ee/env.ee.gh.example rename hosting/docker-compose/oss/{.env.oss.dev.example => env.oss.dev.example} (100%) rename hosting/docker-compose/oss/{.env.oss.gh.example => env.oss.gh.example} (100%) rename hosting/{ => old}/aws/agenta_instance.tf (100%) rename hosting/{ => old}/aws/agenta_instance_sg.tf (100%) rename hosting/{ => old}/aws/instance-setup.sh (100%) rename hosting/{ => old}/aws/main.tf (100%) rename hosting/{ => old}/gcp/agenta-instance.tf (100%) create mode 100644 hosting/old/gcp/credentials.json rename hosting/{ => old}/gcp/main.tf (100%) create mode 100644 services/chat/ee/LICENSE create mode 100644 services/chat/ee/__init__.py create mode 100644 services/chat/ee/docker/Dockerfile.gh create mode 100644 services/completion/ee/LICENSE create mode 100644 services/completion/ee/__init__.py create mode 100644 services/completion/ee/docker/Dockerfile.gh create mode 100644 web/ee/.gitignore create mode 100644 web/ee/LICENSE create mode 100644 web/ee/docker/Dockerfile.dev create mode 100644 web/ee/docker/Dockerfile.gh create mode 100644 web/ee/next.config.ts create mode 100644 web/ee/package.json create mode 100644 web/ee/postcss.config.mjs create mode 100644 web/ee/public/assets/On-boarding.png create mode 100644 web/ee/public/assets/On-boarding.webp create mode 100644 web/ee/public/assets/dark-complete-transparent-CROPPED.png create mode 100644 web/ee/public/assets/dark-complete-transparent_white_logo.png create mode 100644 web/ee/public/assets/dark-logo.svg create mode 100644 web/ee/public/assets/fallback.png create mode 100644 web/ee/public/assets/favicon.ico create mode 100644 web/ee/public/assets/light-complete-transparent-CROPPED.png create mode 100644 web/ee/public/assets/light-logo.svg create mode 100644 web/ee/public/assets/not-found.png create mode 100644 web/ee/public/assets/onboard-page-grids.svg create mode 100644 web/ee/public/assets/rag-demo-app.webp create mode 100644 web/ee/src/components/Banners/BillingPlanBanner/FreePlanBanner.tsx create mode 100644 web/ee/src/components/Banners/BillingPlanBanner/FreeTrialBanner.tsx create mode 100644 web/ee/src/components/DeleteEvaluationModal/DeleteEvaluationModal.tsx create mode 100644 web/ee/src/components/DeleteEvaluationModal/types.ts create mode 100644 web/ee/src/components/DeploymentHistory/DeploymentHistory.tsx create mode 100644 web/ee/src/components/EvalRunDetails/AutoEvalRun/assets/AutoEvalRunSkeleton.tsx create mode 100644 web/ee/src/components/EvalRunDetails/AutoEvalRun/assets/EvalNameTag.tsx create mode 100644 web/ee/src/components/EvalRunDetails/AutoEvalRun/assets/TagWithLink.tsx create mode 100644 web/ee/src/components/EvalRunDetails/AutoEvalRun/assets/VariantTag.tsx create mode 100644 web/ee/src/components/EvalRunDetails/AutoEvalRun/assets/types.ts create mode 100644 web/ee/src/components/EvalRunDetails/AutoEvalRun/assets/utils.ts create mode 100644 web/ee/src/components/EvalRunDetails/AutoEvalRun/assets/variantUtils.ts create mode 100644 web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunCompareMenu/index.tsx create mode 100644 web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunFocusDrawer/assets/FocusDrawerContent/assets/RunOutput.tsx create mode 100644 web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunFocusDrawer/assets/FocusDrawerContent/assets/RunTraceHeader.tsx create mode 100644 web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunFocusDrawer/assets/FocusDrawerContent/index.tsx create mode 100644 web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunFocusDrawer/assets/FocusDrawerHeader/index.tsx create mode 100644 web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunFocusDrawer/assets/FocusDrawerSidePanel/index.tsx create mode 100644 web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunFocusDrawer/assets/Skeletons/FocusDrawerContentSkeleton.tsx create mode 100644 web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunFocusDrawer/assets/Skeletons/FocusDrawerHeaderSkeleton.tsx create mode 100644 web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunFocusDrawer/assets/Skeletons/FocusDrawerSidePanelSkeleton.tsx create mode 100644 web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunFocusDrawer/index.tsx create mode 100644 web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunHeader/assets/EvalRunHeaderSkeleton.tsx create mode 100644 web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunHeader/index.tsx create mode 100644 web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunOverviewViewer/assets/EvalRunOverviewViewerSkeleton.tsx create mode 100644 web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunOverviewViewer/index.tsx create mode 100644 web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunPromptConfigViewer/assets/EvalRunPromptConfigViewerSkeleton.tsx create mode 100644 web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunPromptConfigViewer/assets/PromptConfigCard.tsx create mode 100644 web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunPromptConfigViewer/index.tsx create mode 100644 web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunScoreTable/assets/EvalRunScoreTableSkeleton.tsx create mode 100644 web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunScoreTable/assets/TraceMetrics.tsx create mode 100644 web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunScoreTable/assets/constants.ts create mode 100644 web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunScoreTable/index.tsx create mode 100644 web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunSelectedEvaluations/index.tsx create mode 100644 web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunTestCaseViewUtilityOptions/index.tsx create mode 100644 web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunTestCaseViewer/assets/EvalRunTestCaseViewerSkeleton.tsx create mode 100644 web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunTestCaseViewer/index.tsx create mode 100644 web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvaluatorMetircsSpiderChart/index.tsx create mode 100644 web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvaluatorMetircsSpiderChart/types.ts create mode 100644 web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvaluatorMetricsChart/assets/BarChart.tsx create mode 100644 web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvaluatorMetricsChart/assets/EvaluatorMetricsChartSkeleton.tsx create mode 100644 web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvaluatorMetricsChart/assets/HistogramChart.tsx create mode 100644 web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvaluatorMetricsChart/index.tsx create mode 100644 web/ee/src/components/EvalRunDetails/AutoEvalRun/index.tsx create mode 100644 web/ee/src/components/EvalRunDetails/HumanEvalRun/assets/annotationUtils.ts create mode 100644 web/ee/src/components/EvalRunDetails/HumanEvalRun/assets/helpers.ts create mode 100644 web/ee/src/components/EvalRunDetails/HumanEvalRun/assets/optimisticUtils.ts create mode 100644 web/ee/src/components/EvalRunDetails/HumanEvalRun/assets/runnableSelectors.ts create mode 100644 web/ee/src/components/EvalRunDetails/HumanEvalRun/assets/stepsMetricsUtils.ts create mode 100644 web/ee/src/components/EvalRunDetails/HumanEvalRun/assets/types.ts create mode 100644 web/ee/src/components/EvalRunDetails/HumanEvalRun/components/AnnotateScenarioButton/index.tsx create mode 100644 web/ee/src/components/EvalRunDetails/HumanEvalRun/components/AnnotateScenarioButton/types.ts create mode 100644 web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalResultsView/EvaluatorMetricsCard.tsx create mode 100644 web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalResultsView/index.tsx create mode 100644 web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunBatchActions.tsx create mode 100644 web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunName/index.tsx create mode 100644 web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenario/index.tsx create mode 100644 web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenario/types.ts create mode 100644 web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCard/EvalRunScenarioCardBody.tsx create mode 100644 web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCard/InvocationInputs.tsx create mode 100644 web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCard/InvocationResponse.tsx create mode 100644 web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCard/InvocationRun.tsx create mode 100644 web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCard/assets/KeyValue.tsx create mode 100644 web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCard/assets/utils.tsx create mode 100644 web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCard/index.tsx create mode 100644 web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCard/types.ts create mode 100644 web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCardTitle/index.tsx create mode 100644 web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCardTitle/types.ts create mode 100644 web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCards/EvalRunScenarioCards.tsx create mode 100644 web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCards/assets/constants.ts create mode 100644 web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioFilters.tsx create mode 100644 web/ee/src/components/EvalRunDetails/HumanEvalRun/components/Modals/InstructionModal/assets/InstructionButton.tsx create mode 100644 web/ee/src/components/EvalRunDetails/HumanEvalRun/components/Modals/InstructionModal/index.tsx create mode 100644 web/ee/src/components/EvalRunDetails/HumanEvalRun/components/Modals/RenameEvalModal/assets/RenameEvalButton.tsx create mode 100644 web/ee/src/components/EvalRunDetails/HumanEvalRun/components/Modals/RenameEvalModal/assets/RenameEvalModalContent.tsx create mode 100644 web/ee/src/components/EvalRunDetails/HumanEvalRun/components/Modals/RenameEvalModal/index.tsx create mode 100644 web/ee/src/components/EvalRunDetails/HumanEvalRun/components/Modals/types.d.ts create mode 100644 web/ee/src/components/EvalRunDetails/HumanEvalRun/components/RunEvalScenarioButton/index.tsx create mode 100644 web/ee/src/components/EvalRunDetails/HumanEvalRun/components/RunEvalScenarioButton/types.ts create mode 100644 web/ee/src/components/EvalRunDetails/HumanEvalRun/components/ScenarioAnnotationPanel/index.tsx create mode 100644 web/ee/src/components/EvalRunDetails/HumanEvalRun/components/ScenarioAnnotationPanel/types.ts create mode 100644 web/ee/src/components/EvalRunDetails/HumanEvalRun/components/ScenarioLoadingIndicator/ScenarioLoadingIndicator.tsx create mode 100644 web/ee/src/components/EvalRunDetails/HumanEvalRun/components/ScenarioLoadingIndicator/assets/constants.ts create mode 100644 web/ee/src/components/EvalRunDetails/HumanEvalRun/components/SingleScenarioViewer/index.tsx create mode 100644 web/ee/src/components/EvalRunDetails/HumanEvalRun/components/SingleScenarioViewer/types.ts create mode 100644 web/ee/src/components/EvalRunDetails/HumanEvalRun/index.tsx create mode 100644 web/ee/src/components/EvalRunDetails/UrlSync.tsx create mode 100644 web/ee/src/components/EvalRunDetails/assets/renderChatMessages.tsx create mode 100644 web/ee/src/components/EvalRunDetails/components/ComparisonDataFetcher.tsx create mode 100644 web/ee/src/components/EvalRunDetails/components/EvalResultsView/index.tsx create mode 100644 web/ee/src/components/EvalRunDetails/components/EvalRunScenarioNavigator/index.tsx create mode 100644 web/ee/src/components/EvalRunDetails/components/EvalRunScenarioStatusTag/assets/index.tsx create mode 100644 web/ee/src/components/EvalRunDetails/components/EvalRunScenarioStatusTag/index.tsx create mode 100644 web/ee/src/components/EvalRunDetails/components/EvalRunScenariosViewSelector/assets/constants.ts create mode 100644 web/ee/src/components/EvalRunDetails/components/EvalRunScenariosViewSelector/index.tsx create mode 100644 web/ee/src/components/EvalRunDetails/components/SaveDataModal/assets/SaveDataButton.tsx create mode 100644 web/ee/src/components/EvalRunDetails/components/SaveDataModal/assets/SaveDataModalContent.tsx create mode 100644 web/ee/src/components/EvalRunDetails/components/SaveDataModal/assets/types.ts create mode 100644 web/ee/src/components/EvalRunDetails/components/SaveDataModal/index.tsx create mode 100644 web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/ComparisonScenarioTable.tsx create mode 100644 web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/ScenarioTable.tsx create mode 100644 web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/ActionCell.tsx create mode 100644 web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/CellComponents.tsx create mode 100644 web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/ComparisonModeToggle.tsx create mode 100644 web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/MetricCell/CollapsedAnnotationValueCell.tsx create mode 100644 web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/MetricCell/CollapsedMetricValueCell.tsx create mode 100644 web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/MetricCell/CollapsedMetricsCell.tsx create mode 100644 web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/MetricCell/MetricCell.tsx create mode 100644 web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/MetricCell/types.ts create mode 100644 web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/StatusCell.tsx create mode 100644 web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/VirtualizedScenarioTableAnnotateDrawer.tsx create mode 100644 web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/constants.ts create mode 100644 web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/dataSourceBuilder.ts create mode 100644 web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/flatDataSourceBuilder.ts create mode 100644 web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/types.ts create mode 100644 web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/utils.tsx create mode 100644 web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/hooks/useExpandableComparisonDataSource.tsx create mode 100644 web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/hooks/useScrollToScenario.ts create mode 100644 web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/hooks/useTableDataSource.ts create mode 100644 web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/index.tsx create mode 100644 web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/types.ts create mode 100644 web/ee/src/components/EvalRunDetails/index.tsx create mode 100644 web/ee/src/components/EvalRunDetails/state/evalType.ts create mode 100644 web/ee/src/components/EvalRunDetails/state/focusScenarioAtom.ts create mode 100644 web/ee/src/components/EvalRunDetails/state/urlState.ts create mode 100644 web/ee/src/components/EvaluationTable/ABTestingEvaluationTable.tsx create mode 100644 web/ee/src/components/EvaluationTable/SingleModelEvaluationTable.tsx create mode 100644 web/ee/src/components/EvaluationTable/assets/styles.ts create mode 100644 web/ee/src/components/EvaluationTable/components/ParamsFormWithRun.tsx create mode 100644 web/ee/src/components/EvaluationTable/types.d.ts create mode 100644 web/ee/src/components/Evaluations/EvaluationCardView/EvaluationCard.tsx create mode 100644 web/ee/src/components/Evaluations/EvaluationCardView/EvaluationChatResponse.tsx create mode 100644 web/ee/src/components/Evaluations/EvaluationCardView/EvaluationInputs.tsx create mode 100644 web/ee/src/components/Evaluations/EvaluationCardView/EvaluationVariantCard.tsx create mode 100644 web/ee/src/components/Evaluations/EvaluationCardView/EvaluationVotePanel.tsx create mode 100644 web/ee/src/components/Evaluations/EvaluationCardView/VariantAlphabet.tsx create mode 100644 web/ee/src/components/Evaluations/EvaluationCardView/assets/styles.ts create mode 100644 web/ee/src/components/Evaluations/EvaluationCardView/index.tsx create mode 100644 web/ee/src/components/Evaluations/EvaluationCardView/types.d.ts create mode 100644 web/ee/src/components/Evaluations/EvaluationErrorModal.tsx create mode 100644 web/ee/src/components/Evaluations/HumanEvaluationResult.tsx create mode 100644 web/ee/src/components/Evaluations/ShareEvaluationModal.tsx create mode 100644 web/ee/src/components/HumanEvaluationModal/HumanEvaluationModal.tsx create mode 100644 web/ee/src/components/HumanEvaluationModal/assets/styles.ts create mode 100644 web/ee/src/components/HumanEvaluationModal/types.d.ts create mode 100644 web/ee/src/components/HumanEvaluations/AbTestingEvaluation.tsx create mode 100644 web/ee/src/components/HumanEvaluations/SingleModelEvaluation.tsx create mode 100644 web/ee/src/components/HumanEvaluations/assets/EvaluationStatusCell.tsx create mode 100644 web/ee/src/components/HumanEvaluations/assets/LegacyEvalResultCell.tsx create mode 100644 web/ee/src/components/HumanEvaluations/assets/MetricDetailsPopover/assets/ChartAxis.tsx create mode 100644 web/ee/src/components/HumanEvaluations/assets/MetricDetailsPopover/assets/ChartFrame.tsx create mode 100644 web/ee/src/components/HumanEvaluations/assets/MetricDetailsPopover/assets/ResponsiveFrequencyChart.tsx create mode 100644 web/ee/src/components/HumanEvaluations/assets/MetricDetailsPopover/assets/ResponsiveMetricChart.tsx create mode 100644 web/ee/src/components/HumanEvaluations/assets/MetricDetailsPopover/assets/chartUtils.ts create mode 100644 web/ee/src/components/HumanEvaluations/assets/MetricDetailsPopover/assets/utils.ts create mode 100644 web/ee/src/components/HumanEvaluations/assets/MetricDetailsPopover/index.tsx create mode 100644 web/ee/src/components/HumanEvaluations/assets/MetricDetailsPopover/types.ts create mode 100644 web/ee/src/components/HumanEvaluations/assets/SingleModelEvaluationHeader/index.tsx create mode 100644 web/ee/src/components/HumanEvaluations/assets/TableDropdownMenu/index.tsx create mode 100644 web/ee/src/components/HumanEvaluations/assets/TableDropdownMenu/types.ts create mode 100644 web/ee/src/components/HumanEvaluations/assets/styles.ts create mode 100644 web/ee/src/components/HumanEvaluations/assets/utils.tsx create mode 100644 web/ee/src/components/HumanEvaluations/types.ts create mode 100644 web/ee/src/components/PostSignupForm/PostSignupForm.tsx create mode 100644 web/ee/src/components/PostSignupForm/assets/styles.ts create mode 100644 web/ee/src/components/PostSignupForm/assets/types.d.ts create mode 100644 web/ee/src/components/PromptVersioningDrawer/PromptVersioningDrawer.tsx create mode 100644 web/ee/src/components/SaveTestsetModal/SaveTestsetModal.tsx create mode 100644 web/ee/src/components/SaveTestsetModal/types.d.ts create mode 100644 web/ee/src/components/Scripts/assets/CloudScripts.tsx create mode 100644 web/ee/src/components/SidePanel/Subscription.tsx create mode 100644 web/ee/src/components/pages/app-management/components/ApiKeyInput.tsx create mode 100644 web/ee/src/components/pages/app-management/components/DemoApplicationsSection.tsx create mode 100644 web/ee/src/components/pages/app-management/components/ObservabilityDashboardSection.tsx create mode 100644 web/ee/src/components/pages/evaluations/EvaluationErrorProps/EvaluationErrorModal.tsx create mode 100644 web/ee/src/components/pages/evaluations/EvaluationErrorProps/EvaluationErrorPopover.tsx create mode 100644 web/ee/src/components/pages/evaluations/EvaluationErrorProps/EvaluationErrorText.tsx create mode 100644 web/ee/src/components/pages/evaluations/EvaluationsView.tsx create mode 100644 web/ee/src/components/pages/evaluations/FilterColumns/FilterColumns.tsx create mode 100644 web/ee/src/components/pages/evaluations/NewEvaluation/Components/AdvancedSettings.tsx create mode 100644 web/ee/src/components/pages/evaluations/NewEvaluation/Components/NewEvaluationModalContent.tsx create mode 100644 web/ee/src/components/pages/evaluations/NewEvaluation/Components/SelectAppSection.tsx create mode 100644 web/ee/src/components/pages/evaluations/NewEvaluation/Components/SelectEvaluatorSection/SelectEvaluatorSection.tsx create mode 100644 web/ee/src/components/pages/evaluations/NewEvaluation/Components/SelectTestsetSection.tsx create mode 100644 web/ee/src/components/pages/evaluations/NewEvaluation/Components/SelectVariantSection.tsx create mode 100644 web/ee/src/components/pages/evaluations/NewEvaluation/assets/TabLabel/index.tsx create mode 100644 web/ee/src/components/pages/evaluations/NewEvaluation/assets/TabLabel/types.ts create mode 100644 web/ee/src/components/pages/evaluations/NewEvaluation/assets/constants.ts create mode 100644 web/ee/src/components/pages/evaluations/NewEvaluation/assets/styles.ts create mode 100644 web/ee/src/components/pages/evaluations/NewEvaluation/index.tsx create mode 100644 web/ee/src/components/pages/evaluations/NewEvaluation/types.ts create mode 100644 web/ee/src/components/pages/evaluations/autoEvaluation/AutoEvaluation.tsx create mode 100644 web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/ConfigureEvaluator/AdvancedSettings.tsx create mode 100644 web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/ConfigureEvaluator/DebugSection.tsx create mode 100644 web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/ConfigureEvaluator/DynamicFormField.tsx create mode 100644 web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/ConfigureEvaluator/EvaluatorTestcaseModal.tsx create mode 100644 web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/ConfigureEvaluator/EvaluatorVariantModal.tsx create mode 100644 web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/ConfigureEvaluator/Messages.tsx create mode 100644 web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/ConfigureEvaluator/assets/styles.ts create mode 100644 web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/ConfigureEvaluator/index.tsx create mode 100644 web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/ConfigureEvaluator/types.ts create mode 100644 web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/Evaluators/DeleteModal.tsx create mode 100644 web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/Evaluators/EvaluatorCard.tsx create mode 100644 web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/Evaluators/EvaluatorList.tsx create mode 100644 web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/Evaluators/index.tsx create mode 100644 web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/EvaluatorsModal.tsx create mode 100644 web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/NewEvaluator/NewEvaluatorCard.tsx create mode 100644 web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/NewEvaluator/NewEvaluatorList.tsx create mode 100644 web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/NewEvaluator/index.tsx create mode 100644 web/ee/src/components/pages/evaluations/autoEvaluation/Filters/SearchFilter.tsx create mode 100644 web/ee/src/components/pages/evaluations/autoEvaluation/assets/AutoEvaluationHeader.tsx create mode 100644 web/ee/src/components/pages/evaluations/autoEvaluation/assets/styles.ts create mode 100644 web/ee/src/components/pages/evaluations/autoEvaluation/assets/types.ts create mode 100644 web/ee/src/components/pages/evaluations/cellRenderers/StatusRenderer.tsx create mode 100644 web/ee/src/components/pages/evaluations/cellRenderers/cellRenderers.tsx create mode 100644 web/ee/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx create mode 100644 web/ee/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx create mode 100644 web/ee/src/components/pages/evaluations/utils.ts create mode 100644 web/ee/src/components/pages/observability/dashboard/widgetCard.tsx create mode 100644 web/ee/src/components/pages/overview/deployments/DeploymentHistoryModal.tsx create mode 100644 web/ee/src/components/pages/overview/deployments/DeploymentRevertModal.tsx create mode 100644 web/ee/src/components/pages/overview/deployments/HistoryConfig.tsx create mode 100644 web/ee/src/components/pages/overview/observability/ObservabilityOverview.tsx create mode 100644 web/ee/src/components/pages/settings/Billing/Modals/AutoRenewalCancelModal/assets/AutoRenewalCancelModalContent/index.tsx create mode 100644 web/ee/src/components/pages/settings/Billing/Modals/AutoRenewalCancelModal/assets/constants.ts create mode 100644 web/ee/src/components/pages/settings/Billing/Modals/AutoRenewalCancelModal/assets/types.d.ts create mode 100644 web/ee/src/components/pages/settings/Billing/Modals/AutoRenewalCancelModal/index.tsx create mode 100644 web/ee/src/components/pages/settings/Billing/Modals/PricingModal/assets/PricingCard/index.tsx create mode 100644 web/ee/src/components/pages/settings/Billing/Modals/PricingModal/assets/PricingModalContent/index.tsx create mode 100644 web/ee/src/components/pages/settings/Billing/Modals/PricingModal/assets/PricingModalTitle/index.tsx create mode 100644 web/ee/src/components/pages/settings/Billing/Modals/PricingModal/assets/SubscriptionPlanDetails/index.tsx create mode 100644 web/ee/src/components/pages/settings/Billing/Modals/PricingModal/assets/constants.ts create mode 100644 web/ee/src/components/pages/settings/Billing/Modals/PricingModal/assets/types.d.ts create mode 100644 web/ee/src/components/pages/settings/Billing/Modals/PricingModal/index.tsx create mode 100644 web/ee/src/components/pages/settings/Billing/assets/UsageProgressBar/index.tsx create mode 100644 web/ee/src/components/pages/settings/Billing/assets/types.d.ts create mode 100644 web/ee/src/components/pages/settings/Billing/index.tsx create mode 100644 web/ee/src/contexts/RunIdContext.tsx create mode 100644 web/ee/src/hooks/useCrispChat.ts create mode 100644 web/ee/src/lib/helpers/evaluate.ts create mode 100644 web/ee/src/lib/helpers/hashUtils.ts create mode 100644 web/ee/src/lib/helpers/traceUtils.ts create mode 100644 web/ee/src/lib/hooks/useEvalScenarioQueue/index.ts create mode 100644 web/ee/src/lib/hooks/useEvalScenarioQueue/responseQueue.ts create mode 100644 web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/bulkFetch.ts create mode 100644 web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/cache.ts create mode 100644 web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/index.ts create mode 100644 web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/migrationHelper.ts create mode 100644 web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/progress.ts create mode 100644 web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/runScopedAtoms.ts create mode 100644 web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/runScopedMetrics.ts create mode 100644 web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/runScopedScenarios.ts create mode 100644 web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/store.ts create mode 100644 web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/types.ts create mode 100644 web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/utils.ts create mode 100644 web/ee/src/lib/hooks/useEvaluationRunData/assets/constants.ts create mode 100644 web/ee/src/lib/hooks/useEvaluationRunData/assets/helpers/buildRunIndex.ts create mode 100644 web/ee/src/lib/hooks/useEvaluationRunData/assets/helpers/fetchScenarioListViaWorker.ts create mode 100644 web/ee/src/lib/hooks/useEvaluationRunData/assets/helpers/fetchScenarioViaWorker.ts create mode 100644 web/ee/src/lib/hooks/useEvaluationRunData/assets/helpers/scenarioFilters.ts create mode 100644 web/ee/src/lib/hooks/useEvaluationRunData/assets/helpers/workerContext/index.ts create mode 100644 web/ee/src/lib/hooks/useEvaluationRunData/assets/helpers/workerContext/types.ts create mode 100644 web/ee/src/lib/hooks/useEvaluationRunData/index.ts create mode 100644 web/ee/src/lib/hooks/useEvaluationRunData/types.ts create mode 100644 web/ee/src/lib/hooks/useEvaluationRunData/useEvalRunScenarioData.tsx create mode 100644 web/ee/src/lib/hooks/useEvaluationRunMetrics/assets/utils.ts create mode 100644 web/ee/src/lib/hooks/useEvaluationRunMetrics/index.ts create mode 100644 web/ee/src/lib/hooks/useEvaluationRunMetrics/types.ts create mode 100644 web/ee/src/lib/hooks/useEvaluationRunScenarioSteps/types.ts create mode 100644 web/ee/src/lib/hooks/useEvaluationRunScenarios/index.ts create mode 100644 web/ee/src/lib/hooks/useEvaluationRunScenarios/types.ts create mode 100644 web/ee/src/lib/hooks/useEvaluations.ts create mode 100644 web/ee/src/lib/hooks/useInvocationResult/index.ts create mode 100644 web/ee/src/lib/hooks/useInvocationResult/types.ts create mode 100644 web/ee/src/lib/hooks/usePreviewEvaluations/assets/utils.ts create mode 100644 web/ee/src/lib/hooks/usePreviewEvaluations/index.ts create mode 100644 web/ee/src/lib/hooks/usePreviewEvaluations/projectVariantConfigs.ts create mode 100644 web/ee/src/lib/hooks/usePreviewEvaluations/states/queryFilterAtoms.ts create mode 100644 web/ee/src/lib/hooks/usePreviewEvaluations/types.ts create mode 100644 web/ee/src/lib/hooks/usePreviewRunningEvaluations/index.ts create mode 100644 web/ee/src/lib/hooks/usePreviewRunningEvaluations/states/runningEvalAtom.ts create mode 100644 web/ee/src/lib/hooks/useRunMetricsMap/index.ts create mode 100644 web/ee/src/lib/metricColumnFactory.tsx create mode 100644 web/ee/src/lib/metricSorter.ts create mode 100644 web/ee/src/lib/metricUtils.ts create mode 100644 web/ee/src/lib/metrics/utils.ts create mode 100644 web/ee/src/lib/tableUtils.ts create mode 100644 web/ee/src/lib/types_ee.ts create mode 100644 web/ee/src/lib/workers/evalRunner/bulkWorker.ts create mode 100644 web/ee/src/lib/workers/evalRunner/evalRunner.worker.ts create mode 100644 web/ee/src/lib/workers/evalRunner/fetchRunMetrics.worker.ts create mode 100644 web/ee/src/lib/workers/evalRunner/fetchSteps.worker.ts create mode 100644 web/ee/src/lib/workers/evalRunner/pureEnrichment.ts create mode 100644 web/ee/src/lib/workers/evalRunner/runMetricsWorker.ts create mode 100644 web/ee/src/lib/workers/evalRunner/scenarioListWorker.ts create mode 100644 web/ee/src/lib/workers/evalRunner/types.ts create mode 100644 web/ee/src/lib/workers/evalRunner/workerFetch.ts create mode 100644 web/ee/src/pages/_app.tsx create mode 100644 web/ee/src/pages/_document.tsx create mode 100644 web/ee/src/pages/auth/[[...path]].tsx create mode 100644 web/ee/src/pages/auth/callback/[[...callback]].tsx create mode 100644 web/ee/src/pages/post-signup/index.tsx create mode 100644 web/ee/src/pages/w/[workspace_id]/index.tsx create mode 100644 web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/deployments/index.tsx create mode 100644 web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/endpoints/index.tsx create mode 100644 web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/evaluations/human_a_b_testing/[evaluation_id]/index.tsx create mode 100644 web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/evaluations/index.tsx create mode 100644 web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/evaluations/results/[evaluation_id]/index.tsx create mode 100644 web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/evaluations/results/compare/index.tsx create mode 100644 web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/evaluations/single_model_test/[evaluation_id]/index.tsx create mode 100644 web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/overview/index.tsx create mode 100644 web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/playground/index.tsx create mode 100644 web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/traces/index.tsx create mode 100644 web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/variants/index.tsx create mode 100644 web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/index.tsx create mode 100644 web/ee/src/pages/w/[workspace_id]/p/[project_id]/evaluations/index.tsx create mode 100644 web/ee/src/pages/w/[workspace_id]/p/[project_id]/evaluations/results/[evaluation_id]/index.tsx create mode 100644 web/ee/src/pages/w/[workspace_id]/p/[project_id]/evaluations/results/compare/index.tsx create mode 100644 web/ee/src/pages/w/[workspace_id]/p/[project_id]/evaluations/single_model_test/[evaluation_id]/index.tsx create mode 100644 web/ee/src/pages/w/[workspace_id]/p/[project_id]/observability/index.tsx create mode 100644 web/ee/src/pages/w/[workspace_id]/p/[project_id]/settings/index.tsx create mode 100644 web/ee/src/pages/w/[workspace_id]/p/[project_id]/share/index.tsx create mode 100644 web/ee/src/pages/w/[workspace_id]/p/[project_id]/testsets/[testset_id]/index.tsx create mode 100644 web/ee/src/pages/w/[workspace_id]/p/[project_id]/testsets/index.tsx create mode 100644 web/ee/src/pages/w/[workspace_id]/p/index.tsx create mode 100644 web/ee/src/pages/w/index.tsx create mode 100644 web/ee/src/pages/workspaces/accept.tsx create mode 100644 web/ee/src/services/billing/index.tsx create mode 100644 web/ee/src/services/billing/types.d.ts create mode 100644 web/ee/src/services/evaluationRuns/api/index.ts create mode 100644 web/ee/src/services/evaluationRuns/api/types.ts create mode 100644 web/ee/src/services/evaluationRuns/utils.ts create mode 100644 web/ee/src/services/evaluations/api/index.ts create mode 100644 web/ee/src/services/evaluations/api_ee/index.ts create mode 100644 web/ee/src/services/evaluations/workerUtils.ts create mode 100644 web/ee/src/services/human-evaluations/api/index.ts create mode 100644 web/ee/src/services/human-evaluations/hooks/useEvaluationResults.ts create mode 100644 web/ee/src/services/observability/api/helper.ts create mode 100644 web/ee/src/services/observability/api/index.ts create mode 100644 web/ee/src/services/observability/api/mock.ts create mode 100644 web/ee/src/services/promptVersioning/api/index.ts create mode 100644 web/ee/src/services/runMetrics/api/assets/contants.ts create mode 100644 web/ee/src/services/runMetrics/api/index.ts create mode 100644 web/ee/src/services/runMetrics/api/types.ts create mode 100644 web/ee/src/services/variantConfigs/api/index.ts create mode 100644 web/ee/src/state/billing/atoms.ts create mode 100644 web/ee/src/state/billing/hooks.ts create mode 100644 web/ee/src/state/billing/index.ts create mode 100644 web/ee/src/state/observability/dashboard.ts create mode 100644 web/ee/src/state/observability/index.ts create mode 100644 web/ee/src/state/url/focusDrawer.ts create mode 100644 web/ee/tailwind.config.ts create mode 100644 web/ee/tests/1-settings/api-keys-management.spec.ts create mode 100644 web/ee/tests/1-settings/model-hub.spec.ts create mode 100644 web/ee/tests/2-app/create.spec.ts create mode 100644 web/ee/tests/3-playground/run-variant.spec.ts create mode 100644 web/ee/tests/4-prompt-registry/prompt-registry-flow.spec.ts create mode 100644 web/ee/tests/5-testsset/testset.spec.ts create mode 100644 web/ee/tests/6-auto-evaluation/assets/README.md create mode 100644 web/ee/tests/6-auto-evaluation/assets/types.ts create mode 100644 web/ee/tests/6-auto-evaluation/index.ts create mode 100644 web/ee/tests/6-auto-evaluation/run-auto-evaluation.spec.ts create mode 100644 web/ee/tests/6-auto-evaluation/tests.ts create mode 100644 web/ee/tests/7-observability/observability.spec.ts create mode 100644 web/ee/tests/8-deployment/deploy-variant.spec.ts create mode 100644 web/ee/tests/9-human-annotation/assets/types.ts create mode 100644 web/ee/tests/9-human-annotation/human-annotation.spec.ts create mode 100644 web/ee/tests/9-human-annotation/index.ts create mode 100644 web/ee/tests/9-human-annotation/tests.ts create mode 100644 web/ee/tsconfig.json diff --git a/.gitignore b/.gitignore index a7cf771599..0c4b3800f5 100644 --- a/.gitignore +++ b/.gitignore @@ -21,13 +21,6 @@ myenv/ **/error-*.log - -# hosting/ -! hosting/docker-compose/oss/.env.oss.dev.example -! hosting/docker-compose/oss/.env.oss.gh.example -! hosting/docker-compose/ee/.env.ee.dev.example -! hosting/docker-compose/ee/.env.ee.gh.example - # examples/ examples/**/config.toml examples/**/agenta.py diff --git a/.gitleaks.toml b/.gitleaks.toml new file mode 100644 index 0000000000..d1991dc726 --- /dev/null +++ b/.gitleaks.toml @@ -0,0 +1,32 @@ +title = "Agenta Gitleaks Configuration" +version = 2 + +[extend] +useDefault = true + +[allowlist] +paths = [ + # ---------------------------------------------------------------- PUBLIC DOCS + '''^website/docs/reference/api/.*\.mdx''', + '''^core/docs/docs/reference/api/.*\.mdx''', + '''^docs/docs/reference/api/.*\.mdx''', + '''^docs/.docusaurus/.*''', + # -------------------------------------------------------------- WEB ARTIFACTS + '''^.*/\.pnpm-store/.*''', + '''^.*/public/__env\.js$''', + '''^.*/\.next/.*''', + # -------------------------------------------------------------- ALL ENV FILES + '''^.*\.env.*$''', + # ---------------------------------------------------------------------------- +] +regexes = [ + # ------------------------------------------------------------ FALSE POSITIVES + '''is_completion=True''', + '''YOUR_API_KEY''', + '''_SECRET_KEY''', + # ---------------------------------------------------------------------------- +] + +# USEFUL GITLEAKS COMMANDS +# gitleaks --config .gitleaks.toml --exit-code 1 --verbose git +# gitleaks --config .gitleaks.toml --exit-code 1 --verbose detect --no-git diff --git a/.gitleaksignore b/.gitleaksignore new file mode 100644 index 0000000000..097b6b8358 --- /dev/null +++ b/.gitleaksignore @@ -0,0 +1,196 @@ +# LEGACY / REVOKED / BENIGN CREDENTIALS, FROM PAST COMMITS, FROM BEFORE CLEANUP +docs/docusaurus.config.ts:generic-api-key:236 +api/oss/tests/manual/tracing/windowing.http:generic-api-key:3 +sdk/tests/legacy/baggage/config.toml:generic-api-key:4 +sdk/tests/legacy/debugging/simple-app/config.toml:generic-api-key:4 +3db7c34a8f206fb4a19e525ac5a964185d502c4a:api/oss/tests/manual/auth/admin.http:generic-api-key:3 +3db7c34a8f206fb4a19e525ac5a964185d502c4a:api/oss/tests/manual/annotations/crud.http:generic-api-key:2 +3db7c34a8f206fb4a19e525ac5a964185d502c4a:api/oss/tests/manual/evaluators/crud.http:generic-api-key:2 +3db7c34a8f206fb4a19e525ac5a964185d502c4a:api/oss/tests/manual/testsets/crud.http:generic-api-key:2 +3db7c34a8f206fb4a19e525ac5a964185d502c4a:api/oss/tests/manual/tracing/filtering/02_span_id.http:generic-api-key:2 +3db7c34a8f206fb4a19e525ac5a964185d502c4a:api/oss/tests/manual/tracing/filtering/03_parent_id.http:generic-api-key:2 +3db7c34a8f206fb4a19e525ac5a964185d502c4a:api/oss/tests/manual/tracing/filtering/01_trace_id.http:generic-api-key:2 +3db7c34a8f206fb4a19e525ac5a964185d502c4a:api/oss/tests/manual/tracing/filtering/07_end_time.http:generic-api-key:2 +3db7c34a8f206fb4a19e525ac5a964185d502c4a:api/oss/tests/manual/tracing/filtering/06_start_time.http:generic-api-key:2 +3db7c34a8f206fb4a19e525ac5a964185d502c4a:api/oss/tests/manual/tracing/filtering/05_span_name.http:generic-api-key:2 +3db7c34a8f206fb4a19e525ac5a964185d502c4a:api/oss/tests/manual/tracing/filtering/04_span_kind.http:generic-api-key:2 +3db7c34a8f206fb4a19e525ac5a964185d502c4a:api/oss/tests/manual/tracing/filtering/08_status_code.http:generic-api-key:2 +3db7c34a8f206fb4a19e525ac5a964185d502c4a:api/oss/tests/manual/tracing/filtering/11_links.http:generic-api-key:2 +3db7c34a8f206fb4a19e525ac5a964185d502c4a:api/oss/tests/manual/tracing/filtering/00_user_id.http:generic-api-key:2 +3db7c34a8f206fb4a19e525ac5a964185d502c4a:api/oss/tests/manual/tracing/filtering/12_references.http:generic-api-key:2 +3db7c34a8f206fb4a19e525ac5a964185d502c4a:api/oss/tests/manual/tracing/filtering/09_status_message.http:generic-api-key:2 +3db7c34a8f206fb4a19e525ac5a964185d502c4a:api/oss/tests/manual/tracing/filtering/10_attributes.http:generic-api-key:2 +854f1ca002740cd51252f81660701a3b6f9d6a8a:agenta-cli/debugging/simple-app/config.toml:generic-api-key:4 +51020488ce57a4b964c05cc0c41cecb4eb67692c:agenta-cli/debugging/simple-app/config.toml:generic-api-key:4 +6a4288ba3b4a2f95f24ed372bce7ac0679b5b868:agenta-cli/tests/observability_sdk/integrations/langchain/simple_chain_openinference.py:generic-api-key:12 +6a4288ba3b4a2f95f24ed372bce7ac0679b5b868:agenta-cli/tests/observability_sdk/integrations/langchain/simple_chain_openllmetery.py:generic-api-key:12 +6a4288ba3b4a2f95f24ed372bce7ac0679b5b868:agenta-cli/tests/observability_sdk/sanity_check/app_local.py:generic-api-key:8 +0f9c9ac3afcb8df950a743206715ab5ebe8808eb:agenta-cli/tests/observability_sdk/integrations/langchain/simple_chain_openllmetery.py:generic-api-key:12 +0f9c9ac3afcb8df950a743206715ab5ebe8808eb:agenta-cli/tests/observability_sdk/integrations/langchain/simple_chain_openinference.py:generic-api-key:12 +0f9c9ac3afcb8df950a743206715ab5ebe8808eb:agenta-cli/tests/observability_sdk/sanity_check/app_local.py:generic-api-key:8 +8cd7319eb87e87723a310555a820433f77ab01fd:agenta-cli/tests/observability_sdk/integrations/langchain/simple_chain_openinference.py:generic-api-key:11 +8cd7319eb87e87723a310555a820433f77ab01fd:agenta-cli/tests/observability_sdk/sanity_check/app_local.py:generic-api-key:7 +50c0e27be4960b5f06b5edbed6af912d79ea0f27:agenta-cli/tests/observability_sdk/integrations/langchain/simple_chain_openinference.py:generic-api-key:11 +50c0e27be4960b5f06b5edbed6af912d79ea0f27:agenta-cli/tests/observability_sdk/sanity_check/app_local.py:generic-api-key:7 +03b90aadcd58abd101454da5e3b925dde8e6cd43:agenta-cli/tests/observability_sdk/integrations/langchain/simple_chain.py:generic-api-key:11 +a1dbd3f3eafbe326a246a16fe70e02350cefdf2f:agenta-cli/tests/observability_sdk/integrations/langchain/simple_chain.py:generic-api-key:11 +86c2a2430e3ddbc544361343b7e9ea0152e53ab7:api/oss/tests/workflows/observability/test_otlp_ingestion.py:generic-api-key:21 +dc4370980d17ba1643a5c081670404f942ebfc57:agenta-cli/tests/management_sdk/manual_tests/apps_with_new_sdk/config.toml:generic-api-key:4 +850314eb630ca7fdcf756c7ffe36a6adad5cc845:agenta-cli/tests/management_sdk/manual_tests/apps_with_new_sdk/config.toml:generic-api-key:4 +3db7c34a8f206fb4a19e525ac5a964185d502c4a:api/oss/tests/manual/tracing/crud.http:generic-api-key:3 +3db7c34a8f206fb4a19e525ac5a964185d502c4a:api/oss/tests/manual/tracing/windowing.http:generic-api-key:3 +7ee494e8cdad4f54073be483e373e7a5bf273ea5:agenta-cli/tests/baggage/config.toml:generic-api-key:4 +a5e3197cd247c5468d8739ef9de811cd2a1cbc2f:agenta-cli/tests/baggage/config.toml:generic-api-key:4 +e84abaed2592e50d660d180d7fd373376b544f14:hosting/kubernetes/oss/secret.yml:kubernetes-secret-yaml:2 +e84abaed2592e50d660d180d7fd373376b544f14:hosting/kubernetes/oss/secret.yml:generic-api-key:12 +e84abaed2592e50d660d180d7fd373376b544f14:hosting/helm/oss/values.yaml:generic-api-key:88 +e84abaed2592e50d660d180d7fd373376b544f14:hosting/helm/oss/values.yaml:generic-api-key:89 +e84abaed2592e50d660d180d7fd373376b544f14:hosting/kubernetes/oss/secret.yml:generic-api-key:8 +e84abaed2592e50d660d180d7fd373376b544f14:hosting/kubernetes/oss/secret.yml:generic-api-key:9 +81a2b05aa4624cfc39587e5384bf7c106e547449:.github/workflows/frontend-test.yml:openai-api-key:27 +4857d8f04896e27d707e2967bb361eb1a0b129db:.github/workflows/frontend-test.yml:openai-api-key:27 +8465021df57fca629f14c269d3f37d18d6fdcd11:services/completion-new-sdk-prompt/docker-compose.yml:openai-api-key:10 +406e68077c51da204b1f63f193a2defe6031c966:agenta-web/cypress.config.ts:openai-api-key:10 +450a435754557bfa1d3d3e372f4b47e4eb63f93e:agenta-web/cypress.config.ts:openai-api-key:10 +066e345ad9ba7318fc59b191cf33af2e81634aa8:agenta-web/cypress/support/commands/evaluations.ts:openai-api-key:106 +3533b30e483378a8ecb900c603a3c54ffc9cc390:agenta-web/cypress/support/commands/evaluations.ts:openai-api-key:106 +41e5d327e87083f55850c6933611cdc79ea9d204:agenta-backend/agenta_backend/tests/variants_evaluators_router/conftest.py:openai-api-key:25 +9968400e3095fdc1fb219f45c0d73db13c6de499:agenta-backend/agenta_backend/tests/variants_evaluators_router/conftest.py:openai-api-key:25 +a8efa140a02295ef6accbd02bc7c4c4eeb75e435:agenta-backend/agenta_backend/tests/variants_evaluators_router/conftest.py:openai-api-key:17 +d343b2a5b12387fc6b99d508b5e776f7689736c1:agenta-backend/agenta_backend/tests/variants_evaluators_router/conftest.py:openai-api-key:17 +5f37c440e203cf56d7f08a8efdd7ca372c646beb:docs/docs/prompt-management/05-adding-custom-providers.mdx:generic-api-key:81 +73644b725b5409be78d1aeecf7f5ff6a24ab3643:docs/docusaurus.config.ts:generic-api-key:220 +41c85fef68f9f8c2e4576956369ef600223193c8:website/docusaurus.config.ts:generic-api-key:184 +179d78e547e2eb92737cdd0ba7fd3eeb1f4bc5ce:website/docusaurus.config.ts:generic-api-key:184 +faf49eadbd38fd6771c4687fea78528ad73741b6:api/oss/tests/manual/annotations/crud.http:generic-api-key:2 +f86dddabb759924689022d2451d97efe218848c9:api/oss/tests/manual/evaluations/crud.http:generic-api-key:2 +2793a4b2f065d7b588fa6733b74f68c0748473a5:api/oss/tests/manual/auth/admin.http:generic-api-key:3 +2793a4b2f065d7b588fa6733b74f68c0748473a5:api/oss/tests/manual/annotations/crud.http:generic-api-key:2 +2793a4b2f065d7b588fa6733b74f68c0748473a5:api/oss/tests/manual/evaluators/crud.http:generic-api-key:2 +2793a4b2f065d7b588fa6733b74f68c0748473a5:api/oss/tests/manual/testsets/crud.http:generic-api-key:2 +2793a4b2f065d7b588fa6733b74f68c0748473a5:api/oss/tests/manual/tracing/filtering/00_user_id.http:generic-api-key:2 +2793a4b2f065d7b588fa6733b74f68c0748473a5:api/oss/tests/manual/tracing/filtering/02_span_id.http:generic-api-key:2 +2793a4b2f065d7b588fa6733b74f68c0748473a5:api/oss/tests/manual/tracing/filtering/03_parent_id.http:generic-api-key:2 +2793a4b2f065d7b588fa6733b74f68c0748473a5:api/oss/tests/manual/tracing/filtering/01_trace_id.http:generic-api-key:2 +2793a4b2f065d7b588fa6733b74f68c0748473a5:api/oss/tests/manual/tracing/filtering/04_span_kind.http:generic-api-key:2 +2793a4b2f065d7b588fa6733b74f68c0748473a5:api/oss/tests/manual/tracing/filtering/06_start_time.http:generic-api-key:2 +2793a4b2f065d7b588fa6733b74f68c0748473a5:api/oss/tests/manual/tracing/filtering/08_status_code.http:generic-api-key:2 +2793a4b2f065d7b588fa6733b74f68c0748473a5:api/oss/tests/manual/tracing/filtering/05_span_name.http:generic-api-key:2 +2793a4b2f065d7b588fa6733b74f68c0748473a5:api/oss/tests/manual/tracing/filtering/07_end_time.http:generic-api-key:2 +2793a4b2f065d7b588fa6733b74f68c0748473a5:api/oss/tests/manual/tracing/filtering/09_status_message.http:generic-api-key:2 +2793a4b2f065d7b588fa6733b74f68c0748473a5:api/oss/tests/manual/tracing/filtering/12_references.http:generic-api-key:2 +2793a4b2f065d7b588fa6733b74f68c0748473a5:api/oss/tests/manual/tracing/filtering/11_links.http:generic-api-key:2 +2793a4b2f065d7b588fa6733b74f68c0748473a5:api/oss/tests/manual/tracing/filtering/10_attributes.http:generic-api-key:2 +4888444e93a8438334a9dfb81c7979500d0ab4bf:api/oss/tests/manual/testsets/crud.http:generic-api-key:2 +5289a1c740cff9dec0047e7dc05902edbc471649:api/oss/tests/manual/tracing/filtering/12_references.http:generic-api-key:2 +96b9056a6ff1160f11dcc302321d4a29a7f1b8dd:api/oss/tests/manual/workflows/artifacts.http:generic-api-key:2 +6a4af8b70816f18ae69056df96b54c622e7ef494:api/oss/tests/manual/feedback/crud.http:generic-api-key:2 +7b0eeb2ae0cfa80e9a79cee814ed10c9b57ee9d3:api/oss/tests/manual/annotators/crud.http:generic-api-key:2 +876ba2f78358d43cc6dafe518e38ef404b6462f0:api/oss/tests/manual/annotations/crud.http:generic-api-key:2 +05f8741ea3349096e60a1686c1cef3585a6d34d7:api/oss/tests/manual/tracing/filtering/00_user_id.http:generic-api-key:2 +f47bb6f3b65c50664b354f33081d131289fa47cd:api/oss/tests/manual/tracing/filtering/11_links.http:generic-api-key:2 +18bfd66e6bc309ada998457a32b9a4ca689015a2:api/oss/tests/manual/tracing/filtering/10_attributes.http:generic-api-key:2 +0dcfe02574a545c8400b1b5385d7662143ec2544:api/oss/tests/manual/tracing/filtering/08_status_code.http:generic-api-key:2 +260822ac28ec5c08f9b4c2b04e895d46fcbfb164:api/oss/tests/manual/tracing/filtering/09_status_message.http:generic-api-key:2 +c16ca8eca0a2743c541457a80f88fe0ec71151cb:api/oss/tests/manual/tracing/filtering_parent_id.http:generic-api-key:2 +fe9a8b1c7518160bc3c9f80eff3ba1076a2a5030:api/oss/tests/manual/tracing/filtering_end_time.http:generic-api-key:2 +f158907f559e92fb91672c696715a90aef5470ab:api/oss/tests/manual/tracing/filtering_span_id.http:generic-api-key:2 +fe9a8b1c7518160bc3c9f80eff3ba1076a2a5030:api/oss/tests/manual/tracing/filtering_start_time.http:generic-api-key:2 +86dda27e6458ea8f7e64bfb4a9f63946c8fc82ce:api/oss/tests/manual/tracing/filtering_trace_id.http:generic-api-key:2 +7afc6f26080c6c37219995089aed409e50ef6279:api/oss/tests/manual/tracing/filtering_span_name.http:generic-api-key:2 +71a49c35758dab163bbbe700f55f6f50e6bdf9a5:api/oss/tests/manual/tracing/filtering_span_kind.http:generic-api-key:2 +b14e377b19cc4f77db9d0a2b51f72b88b6f54c6c:api/oss/tests/manual/auth/admin.http:generic-api-key:3 +0c6acff0523bd4e594e43caf63c4342e319476b8:hosting/kubernetes/oss/secret.yml:kubernetes-secret-yaml:2 +97c08e2f4ad87c2aacf6760da60eb01ec8d5d329:cloud/tests/conftest.py:generic-api-key:114 +6526d232893d18496af47a05c7b99e7c0c1fe510:docs/docs/prompt-management/05-adding-custom-providers.mdx:generic-api-key:71 +0c6acff0523bd4e594e43caf63c4342e319476b8:hosting/kubernetes/oss/secret.yml:generic-api-key:12 +bf7e1824839cea10432731174549faeb9bad3545:hosting/helm/oss/values.yaml:generic-api-key:83 +bf7e1824839cea10432731174549faeb9bad3545:hosting/helm/oss/values.yaml:generic-api-key:84 +0c6acff0523bd4e594e43caf63c4342e319476b8:hosting/kubernetes/oss/secret.yml:generic-api-key:8 +0c6acff0523bd4e594e43caf63c4342e319476b8:hosting/kubernetes/oss/secret.yml:generic-api-key:9 +fd477298c83aa220b01c6704058382c1ded1fdca:core/agenta-cli/debugging/simple-app/config.toml:generic-api-key:4 +fd477298c83aa220b01c6704058382c1ded1fdca:core/agenta-cli/tests/baggage/config.toml:generic-api-key:4 +f92a341a7e45fc051a08da1fa619137a192c89ae:api/ee/tests/manual/tracing.http:generic-api-key:5 +eba1ed50e6846a323d456b6da510f42d8c8bbe9a:api/ee/tests/manual/billing.http:generic-api-key:4 +9d741648f9ec1719c6f7f0fcb16cbf116458916c:api/oss/tests/manual/annotations/crud.http:generic-api-key:3 +9d741648f9ec1719c6f7f0fcb16cbf116458916c:api/oss/tests/manual/tracing/crud.http:generic-api-key:3 +273d2f5a1b37ef9420c4e40303b8fc6233362571:api/ee/tests/manual/billing.http:generic-api-key:4 +c078d4b1395ea2856891424f82e80f4fe60d7136:api/ee/tests/manual/billing.http:generic-api-key:4 +2793a4b2f065d7b588fa6733b74f68c0748473a5:api/oss/tests/manual/tracing/crud.http:generic-api-key:3 +ef6f83612a7cfd552147b49928feb8a5d4429c0d:api/oss/tests/manual/tracing/filtering.http:generic-api-key:3 +b14e377b19cc4f77db9d0a2b51f72b88b6f54c6c:api/oss/tests/manual/annotations/crud.http:generic-api-key:3 +b14e377b19cc4f77db9d0a2b51f72b88b6f54c6c:api/oss/tests/manual/tracing/crud.http:generic-api-key:3 +19ccc3f1f292edca26e840428ebc6224cbaef78a:api/ee/tests/manual/annotations/crud.http:generic-api-key:3 +bf42b5eaa7e805a249f52d65a6882d6ade2828f3:api/ee/tests/manual/tracing/windowing.http:generic-api-key:5 +bb0c1b3fb0032b6dbebe659d745d5cb90aa306ce:api/ee/tests/manual/tracing.http:generic-api-key:5 +16622c30916fae1b284b1b7150e4b7c57413ad17:api/ee/tests/manual/evaluations/sdk/test.py:generic-api-key:16 +75ed5549eeb4685c5234c1ec577721920cc0ec9c:api/ee/tests/manual/evaluations/sdk/test.py:generic-api-key:16 +4e743f16edcb3ff4e13b1400b9ff8175b072a5e1:api/ee/tests/manual/evaluations/sdk/test.py:generic-api-key:16 +b587813ed56832b2df7fb7560775ee0b75f03674:api/ee/tests/manual/evaluations/sdk/test.py:generic-api-key:12 +3abc3f4d2051c4df2f64c6d88608bd9bf1ae265f:api/ee/tests/manual/evaluations/sdk/test.py:generic-api-key:9 +35442f703897393a3d2a5e9aa7a42985787bb24f:api/ee/tests/manual/evaluations/sdk/test.py:generic-api-key:16 +12f36507e801d41e2388889777c195557e7a6e5c:api/ee/tests/manual/evaluations/sdk/test_serve.py:generic-api-key:16 +12f36507e801d41e2388889777c195557e7a6e5c:api/ee/tests/manual/evaluations/sdk/test_handlers.py:generic-api-key:16 +e6d87a97aa4750ace564ac28eafda0123c21e017:api/oss/tests/workflows/observability/test_otlp_ingestion.py:generic-api-key:21 +fd477298c83aa220b01c6704058382c1ded1fdca:core/docs/docusaurus.config.ts:generic-api-key:232 +c8d8f465b61764195de460164e6c27e0fe4b2b9a:docs/docs/self-host/05-advanced-configuration.mdx:generic-api-key:37 +a268b8a81a700704e28d82c5cb9af31dde32146b:ee/docker/docker-compose.demo.prod.yml:generic-api-key:25 +56829b2eccdec425954243d0ce5e4fcac9d05e9c:ee/docker/docker-compose.cloud.dev.yml:generic-api-key:25 +91678b6a27c326e0002205f79fd8999a7591e38f:ee/docker/docker-compose.demo.prod.yml:generic-api-key:25 +91678b6a27c326e0002205f79fd8999a7591e38f:ee/docker/docker-compose.demo.dev.yml:generic-api-key:25 +56829b2eccdec425954243d0ce5e4fcac9d05e9c:ee/docker/docker-compose.cloud.dev.yml:generic-api-key:22 +ad6b459dfc5ac1e5c140fcf3e03e247ba31383ae:ee/docker/docker-compose.demo.prod.yml:generic-api-key:22 +594f33f5b7eb665edb38208666d27d6de6365946:ee/docker/docker-compose.demo.prod.yml:generic-api-key:73 +594f33f5b7eb665edb38208666d27d6de6365946:ee/docker/docker-compose.demo.dev.yml:generic-api-key:22 +f6ef6aa32d569ee025bdb3ce9f515521a4095494:cloud/agenta-backend/agenta_backend/cloud/__init__.py:generic-api-key:155 +b3e5fae0e270f2c92a65360123c980d725c5f226:ee/agenta-backend/agenta_backend/ee/__init__.py:generic-api-key:107 +c98a5da1a33d2c0986e3c66329eaa5237fbccf3d:hosting/docker-compose/ee/aws/docker-compose.oss.prod.yml:generic-api-key:76 +4ee55c08b2fed661eaf90876f96c329d7c7eeb6b:cloud/docker/docker-compose.oss.stage.yml:generic-api-key:46 +169c54d84f5d1931601550a9d3aa76874ef73ec5:cloud/docker/docker-compose.oss.stage.yml:generic-api-key:47 +f725cfc9247743bdc44f84edee109ff36193d741:cloud/docker/docker-compose.oss.stage.yml:generic-api-key:46 +cbd8ac00ecdc2c8124b989a274c6f835c09f8474:cloud/docker/docker-compose.oss.prod.yml:generic-api-key:46 +2fb6b0f94f8bf711255e0901c03787b73f3d650f:cloud/docker/docker-compose.oss.prod.yml:generic-api-key:46 +a5e7781869b2a4bf22dd5e22fd5e5ae2ec8d02ea:cloud/docker/newrelic-infra.yml:generic-api-key:1 +2fb6b0f94f8bf711255e0901c03787b73f3d650f:cloud/docker/docker-compose.oss.prod.yml:generic-api-key:171 +f6ef6aa32d569ee025bdb3ce9f515521a4095494:cloud/agenta-backend/agenta_backend/cloud/__init__.py:generic-api-key:144 +b3e5fae0e270f2c92a65360123c980d725c5f226:ee/agenta-backend/agenta_backend/ee/__init__.py:generic-api-key:96 +a268b8a81a700704e28d82c5cb9af31dde32146b:ee/docker/docker-compose.demo.prod.yml:generic-api-key:22 +9c55f5572904ae07b73f73ee365e833d0637633a:ee/docker/docker-compose.demo.prod.yml:generic-api-key:22 +ad74134f522cde71f860cb59b6363a8fdf0a64c6:ee/setup_agenta_web.sh:generic-api-key:26 +5a10aacebd0ed4f2e613eb9176e95836aea34f15:ee/setup_agenta_web.sh:generic-api-key:26 +637068dd09eff7b30b776061863027a9b9aa1deb:ee/setup_agenta_web.sh:generic-api-key:26 +590578c803d94d8ccb1a6ca977471f3d44b43fc3:hosting/helm/oss/templates/config/app-configmap.yaml:generic-api-key:45 +1d8f08b267675726441fcaaae24572bb635c5eac:api/oss/src/utils/env.py:generic-api-key:53 +55f27e52327062382beb299b162f94895268d766:web/oss/public/__ENV.js:generic-api-key:1 +c98a5da1a33d2c0986e3c66329eaa5237fbccf3d:hosting/docker-compose/ee/aws/docker-compose.oss.prod.yml:generic-api-key:73 +bf0cd42bffc2581b1df6f56fa6e4b20ff9b68c33:hosting/docker-compose/ee/aws/docker-compose.oss.aws.yml:generic-api-key:61 +52cd40cefd3121eea2e21205e8208712b093529a:core/hosting/docker-compose/ee/docker-compose.dev.yml:generic-api-key:18 +6efb8a0c9620a316cf81fe961b1407e93aa2efa7:core/hosting/docker-compose/oss/docker-compose.gh.yml:generic-api-key:17 +6efb8a0c9620a316cf81fe961b1407e93aa2efa7:core/hosting/docker-compose/oss/docker-compose.dev.yml:generic-api-key:17 +44d1669c1a53b3ca47e3689dda5500e6f742f525:core/hosting/docker-compose/ee/docker-compose.dev.yml:generic-api-key:18 +58a4230a8f2e63b2836f81bcf2341ba12003189e:core/hosting/docker-compose/oss/docker-compose.yml:generic-api-key:30 +fd477298c83aa220b01c6704058382c1ded1fdca:core/agenta-cli/agenta/cli/helper.py:generic-api-key:19 +fd477298c83aa220b01c6704058382c1ded1fdca:core/agenta-web/prod.gh.Dockerfile:generic-api-key:7 +fd477298c83aa220b01c6704058382c1ded1fdca:core/docker-compose.gh.yml:generic-api-key:26 +fd477298c83aa220b01c6704058382c1ded1fdca:core/docker-compose.gh.yml:generic-api-key:95 +fd477298c83aa220b01c6704058382c1ded1fdca:core/docker-compose.yml:generic-api-key:30 +fd477298c83aa220b01c6704058382c1ded1fdca:core/docker-compose.yml:generic-api-key:111 +fd477298c83aa220b01c6704058382c1ded1fdca:core/docker-compose.prod.yml:generic-api-key:102 +4ee55c08b2fed661eaf90876f96c329d7c7eeb6b:cloud/docker/docker-compose.oss.stage.yml:generic-api-key:43 +169c54d84f5d1931601550a9d3aa76874ef73ec5:cloud/docker/docker-compose.oss.stage.yml:generic-api-key:44 +9e7831e7500364776cb3e9eac41448907ef92dcd:cloud/docker/docker-compose.test.yml:generic-api-key:28 +9e7831e7500364776cb3e9eac41448907ef92dcd:cloud/docker/docker-compose.test.yml:generic-api-key:83 +fe72ad1a8d14e1f3bce547ef224fc75e3df8f4ff:cloud/docker/docker-compose.cloud.test.yml:generic-api-key:28 +fe72ad1a8d14e1f3bce547ef224fc75e3df8f4ff:cloud/docker/docker-compose.cloud.test.yml:generic-api-key:83 +6198bbc532d8e984ef94276b58a7ab8dc65a279f:cloud/docker/docker-compose.oss.stage.yml:generic-api-key:43 +4b4cdbdf4b8ad4a9342fdb939b7e30f88420fccd:cloud/docker/docker-compose.oss.prod.yml:generic-api-key:44 +a268b8a81a700704e28d82c5cb9af31dde32146b:ee/docker/docker-compose.demo.prod.yml:sendgrid-api-token:26 +11ad273f1039e9263cf8d2f61338a121d59b9cc7:ee/docker/docker-compose.cloud.prod.yml:sendgrid-api-token:22 +11ad273f1039e9263cf8d2f61338a121d59b9cc7:ee/docker/docker-compose.cloud.dev.yml:sendgrid-api-token:21 +11ad273f1039e9263cf8d2f61338a121d59b9cc7:ee/docker/docker-compose.demo.prod.yml:sendgrid-api-token:26 +11ad273f1039e9263cf8d2f61338a121d59b9cc7:ee/docker/docker-compose.demo.dev.yml:sendgrid-api-token:26 +b7bc21c67bbae3c06c372bc585c4917a80613a14:cloud/agenta-backend/agenta_backend/cloud/routers/payment_router.py:stripe-access-token:13 +d8b4af2ae8c1084dbdd30fca59aa84e8ece047db:examples/python/annotation-example.py:openai-api-key:19 +a268b8a81a700704e28d82c5cb9af31dde32146b:ee/docker/docker-compose.demo.prod.yml:openai-api-key:24 +02d9f665aed89e8d69e06acdc7d01d699ee5b0dd:ee/docker/docker-compose.demo.prod.yml:openai-api-key:24 +c8d8f465b61764195de460164e6c27e0fe4b2b9a:docs/docs/self-host/05-advanced-configuration.mdx:generic-api-key:46 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 8363b88652..f498cd623a 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -3,6 +3,12 @@ repos: hooks: - id: gitleaks-pre-commit name: gitleaks git (staged only) - entry: echo "Aloha" + entry: bash -c 'gitleaks --config .gitleaks.toml --exit-code 1 --verbose git --staged' language: system pass_filenames: false + - id: gitleaks-pre-push + name: gitleaks git (pre-push, scan diff) + entry: bash -c 'gitleaks --config .gitleaks.toml --exit-code 1 --verbose git --log-opts "$(git merge-base HEAD "origin/$(git rev-parse --abbrev-ref HEAD)" 2>/dev/null || git merge-base HEAD origin/main)..HEAD"' + language: system + stages: [pre-push] + pass_filenames: false diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5cfd9357c1..5810643c7c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -40,4 +40,9 @@ We had many zombie issues and PRs (assigned but inactive) in the past. We want t - An issue may only be assigned to one person for up to one week (three days for very simple issues). If the issue remains unsolved after a week, it will be unassigned and made available to others. - Any pull request (PR) left inactive by the author for over a week will be closed. The author can reopen it if they wish to continue. -We look forward to seeing your contributions to Agenta! \ No newline at end of file +We look forward to seeing your contributions to Agenta! + +## Contributor License Agreement +If you want to contribute, we need you to sign a Contributor License Agreement. We need this to avoid potential intellectual property problems in the future. You can sign the agreement by clicking a button. Here is how it works: + +After you open a PR, a bot will automatically comment asking you to sign the agreement. Click on the link in the comment, login with your Github account, and sign the agreement. \ No newline at end of file diff --git a/LICENSE b/LICENSE index 79b3725428..1fff9c4444 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,16 @@ -The MIT License +Copyright (c) 2023–2025 +Agentatech UG (haftungsbeschränkt), doing business as “Agenta” + +Portions of this software are licensed as follows: -Copyright (c) Agentatech UG (haftungsbeschränkt) +- All content that resides under any "ee/" directory of this repository, if +such directories exist, are licensed under the license defined in "ee/LICENSE". +- All third party components incorporated into the Agenta Software are licensed +under the original license provided by the owner of the applicable component. +- Content outside of the above mentioned directories or restrictions above is +available under the "MIT Expat" license as defined below. + +The MIT License Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index 082ea25f29..6f9ef58382 100644 --- a/README.md +++ b/README.md @@ -266,4 +266,4 @@ This project follows the [all-contributors](https://github.com/all-contributors/ ## Disabling Anonymized Tracking -By default, Agenta automatically reports anonymized basic usage statistics. This helps us understand how Agenta is used and track its overall usage and growth. This data does not include any sensitive information. To disable anonymized telemetry set `AGENTA_TELEMETRY_ENABLED` to `false` in your `.env` file. \ No newline at end of file +By default, Agenta automatically reports anonymized basic usage statistics. This helps us understand how Agenta is used and track its overall usage and growth. This data does not include any sensitive information. To disable anonymized telemetry set `AGENTA_TELEMETRY_ENABLED` to `false` in your `.env` file. diff --git a/SECURITY.md b/SECURITY.md index f45e7a7624..fabf40c910 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -1,19 +1,76 @@ # Security Policy + ## Reporting a Vulnerability If you believe you have found a security vulnerability in any Agenta repository, please report it to us through coordinated disclosure. -Please do not report security vulnerabilities through public GitHub issues, discussions, or pull requests. +**Do not** report security vulnerabilities via public GitHub issues, pull requests, or discussions. + +Instead, please send an email to **security@agenta.ai**. + +--- + +## Information to Include + +Please include as much of the following as you can to help us reproduce and resolve the issue: + +- Type of issue (e.g., buffer overflow, SQL injection, cross-site scripting). +- Full paths of source files related to the issue. +- The location of the affected source code (tag, branch, commit SHA, or direct URL). +- Any special configuration or environment required to reproduce. +- Step-by-step instructions to reproduce. +- Proof-of-concept or exploit code (if possible). +- Expected vs actual behaviour and potential impact. +- Your contact details and disclosure timeline preference. + +--- + +## Our Process + +- **Acknowledgement**: We will acknowledge receipt within **3 business days**. +- **Triage**: We aim to complete an initial triage within **7 calendar days** and will share severity and next steps. +- **Remediation & Disclosure**: For critical vulnerabilities we aim to release a fix or mitigation within **30 days**. For other issues, typically within **90 days**. We will coordinate any public disclosure with you. +- We will provide status updates as needed during remediation. + +--- + +## Safe Harbor + +We respect and protect good-faith security research. If you follow this policy: + +- We will not initiate legal action against you for good-faith testing conducted as part of coordinated disclosure. +- Do not access, modify, or exfiltrate data beyond what is necessary to demonstrate the issue. +- Do not disrupt production services or attempt destructive actions. + +--- + +## Scope Exclusions + +The following are **out of scope**: + +- Third-party services not operated by Agenta. +- Physical security attacks or social engineering of personnel. +- Low-risk informational issues without security impact (e.g., generic version banners). +- Denial-of-service attacks (**we will not accept DoS testing against production**). + +--- + +## Recognition & Credits + +If you report a valid vulnerability and want public recognition, tell us how you wish to be credited (full name, handle, company, or anonymous). Recognition is discretionary and will be coordinated with you. + +--- + +## Emergency / Out-of-band + +If email is unavailable and you need an immediate or urgent channel, contact our general line: **team@agenta.ai** (monitored during business hours). For truly critical emergencies, include “EMERGENCY / SECURITY” in the subject line of your email. -Instead, please send an email to team@agenta.ai. +--- -Please include as much of the information listed below as you can to help us better understand and resolve the issue: +## Contact retention & privacy - The type of issue (e.g., buffer overflow, SQL injection, or cross-site scripting) - Full paths of source file(s) related to the manifestation of the issue - The location of the affected source code (tag/branch/commit or direct URL) - Any special configuration required to reproduce the issue - Step-by-step instructions to reproduce the issue - Proof-of-concept or exploit code (if possible) - Impact of the issue, including how an attacker might exploit the issue +- Report metadata will be retained for incident tracking and compliance. +- Personal data you provide will be handled according to our privacy policy. +- We will only share reporter data internally on a need-to-know basis. +--- diff --git a/api/ee/LICENSE b/api/ee/LICENSE new file mode 100644 index 0000000000..ae7a2f38f4 --- /dev/null +++ b/api/ee/LICENSE @@ -0,0 +1,37 @@ +Agenta Enterprise License (the “Enterprise License”) +Copyright (c) 2023–2025 +Agentatech UG (haftungsbeschränkt), doing business as “Agenta” (“Agenta”) + +With regard to the Agenta Software: + +This software and associated documentation files (the "Software") may only be +used in production, if you (and any entity that you represent) have agreed to, +and are in compliance with, the Agenta Subscription Terms of Service, available +at https://agenta.ai/terms (the “Enterprise Terms”), or other +agreement governing the use of the Software, as agreed by you and Agenta, +and otherwise have a valid Agenta Enterprise License. + +Subject to the foregoing sentence, you are free to modify this Software and +publish patches to the Software. You agree that Agenta and/or its licensors +(as applicable) retain all right, title and interest in and to all such +modifications and/or patches, and all such modifications and/or patches may +only be used, copied, modified, displayed, distributed, or otherwise exploited +with a valid Agenta Enterprise License. Notwithstanding the foregoing, you may +copy and modify the Software for development and testing purposes, without +requiring a subscription. You agree that Agenta and/or its licensors (as +applicable) retain all right, title and interest in and to all such +modifications. You are not granted any other rights beyond what is expressly +stated herein. Subject to the foregoing, it is forbidden to copy, merge, +publish, distribute, sublicense, and/or sell the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +For all third party components incorporated into the Agenta Software, those +components are licensed under the original license provided by the owner of the +applicable component. diff --git a/hosting/gcp/credentials.json b/api/ee/__init__.py similarity index 100% rename from hosting/gcp/credentials.json rename to api/ee/__init__.py diff --git a/api/ee/databases/__init__.py b/api/ee/databases/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/api/ee/databases/postgres/init-db-ee.sql b/api/ee/databases/postgres/init-db-ee.sql new file mode 100644 index 0000000000..e949c33926 --- /dev/null +++ b/api/ee/databases/postgres/init-db-ee.sql @@ -0,0 +1,39 @@ +-- Ensure we are connected to the default postgres database before creating new databases +\c postgres + +-- Create the 'username' role with a password if it doesn't exist +SELECT 'CREATE ROLE username WITH LOGIN PASSWORD ''password''' +WHERE NOT EXISTS (SELECT FROM pg_roles WHERE rolname = 'username')\gexec + +-- Create the 'agenta_ee_core' database if it doesn't exist +SELECT 'CREATE DATABASE agenta_ee_core' +WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = 'agenta_ee_core')\gexec + +-- Create the 'agenta_ee_tracing' database if it doesn't exist +SELECT 'CREATE DATABASE agenta_ee_tracing' +WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = 'agenta_ee_tracing')\gexec + +-- Create the 'agenta_ee_supertokens' database if it doesn't exist +SELECT 'CREATE DATABASE agenta_ee_supertokens' +WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = 'agenta_ee_supertokens')\gexec + +-- Grant necessary permissions to 'username' for both databases +GRANT ALL PRIVILEGES ON DATABASE agenta_ee_core TO username; +GRANT ALL PRIVILEGES ON DATABASE agenta_ee_tracing TO username; +GRANT ALL PRIVILEGES ON DATABASE agenta_ee_supertokens TO username; + + +-- Switch to 'agenta_ee_core' and grant schema permissions +\c agenta_ee_core +GRANT ALL ON SCHEMA public TO username; + +-- Switch to 'agenta_ee_tracing' and grant schema permissions +\c agenta_ee_tracing +GRANT ALL ON SCHEMA public TO username; + +-- Switch to 'agenta_ee_supertokens' and grant schema permissions +\c agenta_ee_supertokens +GRANT ALL ON SCHEMA public TO username; + +-- Return to postgres +\c postgres diff --git a/api/ee/databases/postgres/migrations/__init__.py b/api/ee/databases/postgres/migrations/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/api/ee/databases/postgres/migrations/core/README.md b/api/ee/databases/postgres/migrations/core/README.md new file mode 100644 index 0000000000..8d8552e3c3 --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/README.md @@ -0,0 +1,35 @@ +# Migrations with Alembic + +Generic single-database configuration with an async dbapi. + +## Autogenerate Migrations + +One of Alembic's key features is its ability to auto-generate migration scripts. By analyzing the current database state and comparing it with the application's table metadata, Alembic can automatically generate the necessary migration scripts using the `--autogenerate` flag in the alembic revision command. + +Note that autogenerate sometimes does not detect all database changes and it is always necessary to manually review (and correct if needed) the candidate migrations that autogenerate produces. + +### Making migrations + +To make migrations after creating a new table schema or modifying a current column in a table, run the following commands: + +```bash +docker exec -e PYTHONPATH=/app -w /app/ee/databases/postgres/migrations/core agenta-ee-dev-api-1 alembic -c alembic.ini revision --autogenerate -m "migration message" +``` + +The above command will create a script that contains the changes that was made to the database schema. Kindly update "migration message" with a message that is clear to indicate what change was made. Here are some examples: + +- added username column in users table +- renamed template_uri to template_repository_uri +- etc + +### Applying Migrations + +```bash +docker exec -e PYTHONPATH=/app -w /app/ee/databases/postgres/migrations/core agenta-ee-dev-api-1 alembic -c alembic.ini upgrade head +``` + +The above command will be used to apply the changes in the script created to the database table(s). If you'd like to revert the migration, run the following command: + +```bash +docker exec -e PYTHONPATH=/app -w /app/ee/databases/postgres/migrations/core agenta-ee-dev-api-1 alembic -c alembic.ini downgrade head +``` diff --git a/api/ee/databases/postgres/migrations/core/alembic.ini b/api/ee/databases/postgres/migrations/core/alembic.ini new file mode 100644 index 0000000000..1888be8152 --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/alembic.ini @@ -0,0 +1,112 @@ +# A generic, single database configuration. + +[alembic] +script_location = /app/ee/databases/postgres/migrations/core + +# template used to generate migration file names; The default value is %%(rev)s_%%(slug)s +# Uncomment the line below if you want the files to be prepended with date and time +# file_template = %%(year)d_%%(month).2d_%%(day).2d_%%(hour).2d%%(minute).2d-%%(rev)s_%%(slug)s + +# sys.path path, will be prepended to sys.path if present. +# defaults to the current working directory. +prepend_sys_path = . + +# timezone to use when rendering the date within the migration file +# as well as the filename. +# If specified, requires the python>=3.9 or backports.zoneinfo library. +# Any required deps can installed by adding `alembic[tz]` to the pip requirements +# string value is passed to ZoneInfo() +# leave blank for localtime +# timezone = + +# max length of characters to apply to the "slug" field +# truncate_slug_length = 40 + +# set to 'true' to run the environment during +# the 'revision' command, regardless of autogenerate +# revision_environment = false + +# set to 'true' to allow .pyc and .pyo files without +# a source .py file to be detected as revisions in the +# versions/ directory +# sourceless = false + +# version location specification; This defaults +# to postgres/versions. When using multiple version +# directories, initial revisions must be specified with --version-path. +# The path separator used here should be the separator specified by "version_path_separator" below. +# version_locations = %(here)s/bar:%(here)s/bat:postgres/versions + +# version path separator; As mentioned above, this is the character used to split +# version_locations. The default within new alembic.ini files is "os", which uses os.pathsep. +# If this key is omitted entirely, it falls back to the legacy behavior of splitting on spaces and/or commas. +# Valid values for version_path_separator are: +# +# version_path_separator = : +# version_path_separator = ; +# version_path_separator = space +version_path_separator = os # Use os.pathsep. Default configuration used for new projects. + +# set to 'true' to search source files recursively +# in each "version_locations" directory +# new in Alembic version 1.10 +# recursive_version_locations = false + +# the output encoding used when revision files +# are written from script.py.mako +# output_encoding = utf-8 + +sqlalchemy.url = driver://user:pass@localhost/dbname + + +[post_write_hooks] +# post_write_hooks defines scripts or Python functions that are run +# on newly generated revision scripts. See the documentation for further +# detail and examples + +# format using "black" - use the console_scripts runner, against the "black" entrypoint +# hooks = black +# black.type = console_scripts +# black.entrypoint = black +# black.options = -l 79 REVISION_SCRIPT_FILENAME + +# lint with attempts to fix using "ruff" - use the exec runner, execute a binary +# hooks = ruff +# ruff.type = exec +# ruff.executable = %(here)s/.venv/bin/ruff +# ruff.options = --fix REVISION_SCRIPT_FILENAME + +# Logging configuration +[loggers] +keys = root,sqlalchemy,alembic + +[handlers] +keys = console + +[formatters] +keys = generic + +[logger_root] +level = WARN +handlers = console +qualname = + +[logger_sqlalchemy] +level = WARN +handlers = +qualname = sqlalchemy.engine + +[logger_alembic] +level = INFO +handlers = +qualname = alembic + +[handler_console] +class = StreamHandler +args = (sys.stderr,) +level = NOTSET +formatter = generic + +[formatter_generic] +format = %(levelname)-5.5s [%(name)s] %(message)s +datefmt = %H:%M:%S diff --git a/api/ee/databases/postgres/migrations/core/data_migrations/api_keys.py b/api/ee/databases/postgres/migrations/core/data_migrations/api_keys.py new file mode 100644 index 0000000000..769b6b8157 --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/data_migrations/api_keys.py @@ -0,0 +1,282 @@ +import uuid +import traceback +from typing import Optional + +import click +from sqlalchemy.future import select +from sqlalchemy import Connection, update, func, or_, insert, delete + +from oss.src.models.db_models import APIKeyDB +from ee.src.models.db_models import ProjectDB +from ee.src.models.extended.deprecated_models import DeprecatedAPIKeyDB + + +BATCH_SIZE = 200 + + +def get_project_id_from_workspace_id( + session: Connection, workspace_id: str +) -> Optional[str]: + statement = select(ProjectDB).filter_by( + workspace_id=uuid.UUID(workspace_id), is_default=True + ) + project = session.execute(statement).fetchone() + return str(project.id) if project is not None else None + + +def get_workspace_id_from_project_id( + session: Connection, project_id: str +) -> Optional[str]: + statement = select(ProjectDB).filter_by(id=uuid.UUID(project_id)) + project = session.execute(statement).fetchone() + return str(project.workspace_id) if project is not None else None + + +def update_api_key_to_make_use_of_project_id(session: Connection): + try: + offset = 0 + TOTAL_MIGRATED = 0 + SKIPPED_RECORDS = 0 + + # Count total rows with user_id & workspace_id isnot NULL and project_id is NULL + stmt = ( + select(func.count()) + .select_from(DeprecatedAPIKeyDB) + .filter( + DeprecatedAPIKeyDB.user_id.isnot(None), + DeprecatedAPIKeyDB.workspace_id.isnot(None), + DeprecatedAPIKeyDB.project_id.is_(None), + ) + ) + result = session.execute(stmt).scalar() + TOTAL_API_KEYS_WITH_USER_AND_WORKSPACE_ID = result if result is not None else 0 + print( + f"Total rows in api_keys table with user_id and workspace_id not been NULL is {TOTAL_API_KEYS_WITH_USER_AND_WORKSPACE_ID}" + ) + + while True: + # Fetch a batch of api_keys with user_id & workspace_id not been NULL + records = session.execute( + select(DeprecatedAPIKeyDB) + .filter( + or_( + DeprecatedAPIKeyDB.user_id.isnot(None), + DeprecatedAPIKeyDB.user_id != "None", + ), + or_( + DeprecatedAPIKeyDB.workspace_id != "None", + DeprecatedAPIKeyDB.workspace_id.isnot(None), + ), + DeprecatedAPIKeyDB.project_id.is_(None), + ) + .offset(offset) + .limit(BATCH_SIZE) + ).fetchall() + batch_migrated = len(records) + if not records: + break + + # Process and update records in the batch + for record in records: + print( + "Record (has workspace_id?, workspace id, user id, id, types [workspace_id & user_id]) --- ", + hasattr(record, "workspace_id"), + record.workspace_id, + record.user_id, + record.id, + type(record.workspace_id), + type(record.user_id), + ) + if ( + hasattr(record, "workspace_id") + and record.workspace_id + not in [ + "None", + "", + ] + and record.user_id not in ["None", ""] + ): + project_id = get_project_id_from_workspace_id( + session=session, workspace_id=str(record.workspace_id) + ) + if project_id is None: + SKIPPED_RECORDS += 1 + print( + f"Could not retrieve project_id from workspace_id for APIKey with ID {str(record.id)}." + ) + + batch_migrated -= 1 + print( + "Subtracting record from part of batch. Now, Skipping record..." + ) + continue + + # Add the new object to the session. + insert_statement = insert(APIKeyDB).values( + prefix=record.prefix, + hashed_key=record.hashed_key, + created_by_id=uuid.UUID(record.user_id), + project_id=uuid.UUID(project_id), + rate_limit=record.rate_limit, + hidden=record.hidden, + expiration_date=record.expiration_date, + created_at=record.created_at, + updated_at=record.updated_at, + ) + session.execute(insert_statement) + else: + SKIPPED_RECORDS += 1 + print( + f"No workspace_id found for APIKey with ID {str(record.id)}. Skipping record..." + ) + + batch_migrated -= 1 + print( + "Subtracting record from part of batch. Now, Skipping record..." + ) + continue + + # Update migration progress tracking + TOTAL_MIGRATED += batch_migrated + offset += BATCH_SIZE + remaining_records = ( + TOTAL_API_KEYS_WITH_USER_AND_WORKSPACE_ID - TOTAL_MIGRATED + ) + click.echo( + click.style( + f"Processed {batch_migrated} records in this batch. Total records migrated: {TOTAL_MIGRATED}. Records left to migrate: {remaining_records}.", + fg="yellow", + ) + ) + + # Break if all records have been processed + if remaining_records <= 0: + break + + # Count total rows with user_id and/or workspace_id been NULL + stmt = ( + select(func.count()) + .select_from(DeprecatedAPIKeyDB) + .filter(DeprecatedAPIKeyDB.project_id.is_(None)) + ) + result = session.execute(stmt).scalar() + TOTAL_API_KEYS_WITH_NO_USER_AND_WORKSPACE_ID = ( + result if result is not None else 0 + ) + if TOTAL_API_KEYS_WITH_NO_USER_AND_WORKSPACE_ID >= 1: + session.execute( + delete(DeprecatedAPIKeyDB).where( + DeprecatedAPIKeyDB.project_id.is_(None) + ) + ) + + print( + f"Total rows in api_keys table with user_id and workspace_id been NULL is {TOTAL_API_KEYS_WITH_NO_USER_AND_WORKSPACE_ID} and have been deleted." + ) + except Exception as e: + session.rollback() + click.echo( + click.style( + f"ERROR updating api_keys to make use of project_id: {traceback.format_exc()}", + fg="red", + ) + ) + raise e + + +def revert_api_key_to_make_use_of_workspace_id(session: Connection): + try: + offset = 0 + TOTAL_MIGRATED = 0 + SKIPPED_RECORDS = 0 + + # Count total rows with created_by_id & project_id isnot NULL + stmt = ( + select(func.count()) + .select_from(DeprecatedAPIKeyDB) + .filter( + DeprecatedAPIKeyDB.created_by_id.isnot(None), + DeprecatedAPIKeyDB.project_id.isnot(None), + DeprecatedAPIKeyDB.workspace_id.is_(None), + ) + ) + result = session.execute(stmt).scalar() + TOTAL_API_KEYS_WITH_USER_AND_PROJECT_ID = result if result is not None else 0 + print( + f"Total rows in api_keys table with created_by_id and project_id not been NULL is {TOTAL_API_KEYS_WITH_USER_AND_PROJECT_ID}" + ) + + while True: + # Fetch a batch of api_keys with created_by_id & project_id isnot NULL + records = session.execute( + select(DeprecatedAPIKeyDB) + .filter( + DeprecatedAPIKeyDB.created_by_id.isnot(None), + DeprecatedAPIKeyDB.project_id.isnot(None), + DeprecatedAPIKeyDB.workspace_id.is_(None), + ) + .offset(offset) + .limit(BATCH_SIZE) + ).fetchall() + + if not records or len(records) <= 0: + break # Exit if no more records to process + + # Process and update records in the batch + for record in records: + workspace_id = get_workspace_id_from_project_id( + session=session, project_id=str(record.project_id) + ) + if workspace_id is None: + SKIPPED_RECORDS += 1 + print( + f"Could not retrieve workspace_id from project_id for APIKey with ID {str(record.id)}. Skipping record..." + ) + continue + + session.execute( + update(DeprecatedAPIKeyDB) + .where(DeprecatedAPIKeyDB.id == record.id) + .values( + user_id=str(record.created_by_id), + workspace_id=workspace_id, + ) + ) + + # Update migration progress tracking + batch_migrated = len(records) + TOTAL_MIGRATED += batch_migrated + offset += BATCH_SIZE + remaining_records = TOTAL_API_KEYS_WITH_USER_AND_PROJECT_ID - TOTAL_MIGRATED + click.echo( + click.style( + f"Processed {batch_migrated} records in this batch. Total records migrated: {TOTAL_MIGRATED}. Records left to migrate: {remaining_records}.", + fg="yellow", + ) + ) + + # Count total rows with created_by_id and/or project_id been NULL + stmt = ( + select(func.count()) + .select_from(DeprecatedAPIKeyDB) + .filter( + or_( + DeprecatedAPIKeyDB.created_by_id.is_(None), + DeprecatedAPIKeyDB.project_id.is_(None), + ), + ) + ) + result = session.execute(stmt).scalar() + TOTAL_API_KEYS_WITH_NO_USER_AND_PROJECT_ID = result if result is not None else 0 + print( + f"Total rows in api_keys table with created_by_id and project_id been NULL is {TOTAL_API_KEYS_WITH_NO_USER_AND_PROJECT_ID}" + ) + except Exception as e: + session.rollback() + click.echo( + click.style( + f"ERROR reverting api_keys to make use of workspace_id: {traceback.format_exc()}", + fg="red", + ) + ) + raise e diff --git a/api/ee/databases/postgres/migrations/core/data_migrations/applications.py b/api/ee/databases/postgres/migrations/core/data_migrations/applications.py new file mode 100644 index 0000000000..95353642ec --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/data_migrations/applications.py @@ -0,0 +1,124 @@ +import uuid +import traceback +from typing import Optional + + +import click +from sqlalchemy.future import select +from sqlalchemy import delete, Connection, update, func + +from oss.src.models.deprecated_models import ( # type: ignore + DeprecatedEvaluatorConfigDBwApp as DeprecatedEvaluatorConfigDB, + DeprecatedAppDB, +) + + +BATCH_SIZE = 200 + + +def get_app_db(session: Connection, app_id: str) -> Optional[DeprecatedAppDB]: + query = session.execute(select(DeprecatedAppDB).filter_by(id=uuid.UUID(app_id))) + return query.fetchone() # type: ignore + + +def update_evaluators_with_app_name(session: Connection): + try: + offset = 0 + TOTAL_MIGRATED = 0 + SKIPPED_RECORDS = 0 + + # Count total rows with a non-null app_id + total_query = ( + select(func.count()) + .select_from(DeprecatedEvaluatorConfigDB) + .filter(DeprecatedEvaluatorConfigDB.app_id.isnot(None)) + ) + result = session.execute(total_query).scalar() + TOTAL_EVALUATOR_CONFIGS = result if result is not None else 0 + print( + f"Total rows in evaluator_configs table with app_id: {TOTAL_EVALUATOR_CONFIGS}" + ) + + while True: + # Fetch a batch of evaluator_configs with non-null app_id + records = session.execute( + select(DeprecatedEvaluatorConfigDB) + .filter(DeprecatedEvaluatorConfigDB.app_id.isnot(None)) + .offset(offset) + .limit(BATCH_SIZE) + ).fetchall() + if not records: + break + + # Process and update records in the batch + for record in records: + if hasattr(record, "app_id") and record.app_id is not None: + evaluator_config_app = get_app_db( + session=session, app_id=str(record.app_id) + ) + if evaluator_config_app is not None: + # Update the name with the app_name as a prefix + new_name = f"{record.name} ({evaluator_config_app.app_name})" + session.execute( + update(DeprecatedEvaluatorConfigDB) + .where(DeprecatedEvaluatorConfigDB.id == record.id) + .values(name=new_name) + ) + else: + print( + f"Skipping... No application found for evaluator_config {str(record.id)}." + ) + SKIPPED_RECORDS += 1 + else: + print( + f"Skipping... evaluator_config {str(record.id)} have app_id that is NULL." + ) + SKIPPED_RECORDS += 1 + + session.commit() + + # Update progress tracking + batch_migrated = len(records) + TOTAL_MIGRATED += batch_migrated + offset += BATCH_SIZE + remaining_records = TOTAL_EVALUATOR_CONFIGS - TOTAL_MIGRATED + click.echo( + click.style( + f"Processed {batch_migrated} records in this batch. Total records migrated: {TOTAL_MIGRATED}. Records left to migrate: {remaining_records}", + fg="yellow", + ) + ) + + # Break if all records have been processed + if remaining_records <= 0: + break + + # Delete deprecated evaluator configs with app_id as None + stmt = ( + select(func.count()) + .select_from(DeprecatedEvaluatorConfigDB) + .filter(DeprecatedEvaluatorConfigDB.app_id.is_(None)) + ) + result = session.execute(stmt).scalar() + TOTAL_EVALUATOR_CONFIGS_WITH_NO_APPID = result if result is not None else 0 + print( + f"Total rows in evaluator_configs table with no app_id: {TOTAL_EVALUATOR_CONFIGS_WITH_NO_APPID}. Deleting these rows..." + ) + + session.execute( + delete(DeprecatedEvaluatorConfigDB).where( + DeprecatedEvaluatorConfigDB.app_id.is_(None) + ) + ) + session.commit() + print("Successfully deleted rows in evaluator_configs with no app_id.") + + except Exception as e: + session.rollback() + click.echo( + click.style( + f"ERROR updating evaluator config names: {traceback.format_exc()}", + fg="red", + ) + ) + raise e diff --git a/api/ee/databases/postgres/migrations/core/data_migrations/demos.py b/api/ee/databases/postgres/migrations/core/data_migrations/demos.py new file mode 100644 index 0000000000..06e2403fd2 --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/data_migrations/demos.py @@ -0,0 +1,576 @@ +from os import getenv +from uuid import UUID +from json import loads +from functools import wraps +from traceback import format_exc +from typing import List, Optional + +from click import echo, style +from pydantic import BaseModel + + +from sqlalchemy import Connection, delete, insert +from sqlalchemy.future import select + +from oss.src.models.db_models import UserDB +from ee.src.models.db_models import ( + ProjectDB, + OrganizationMemberDB, + WorkspaceMemberDB, + ProjectMemberDB, +) + + +BATCH_SIZE = 100 +DEMOS = "AGENTA_DEMOS" +DEMO_ROLE = "viewer" +OWNER_ROLE = "owner" + + +class Demo(BaseModel): + organization_id: UUID + workspace_id: UUID + project_id: UUID + + +class User(BaseModel): + user_id: UUID + + +class Member(BaseModel): + user_id: UUID + + organization_id: Optional[UUID] = None + workspace_id: Optional[UUID] = None + project_id: Optional[UUID] = None + + role: Optional[str] = None + + +def with_rollback(): + def decorator(func): + @wraps(func) + def wrapper(*args, **kwargs): + try: + return func(*args, **kwargs) + except Exception as exc: + session = kwargs.get("session") + + session.rollback() + + log_error(format_exc()) + + raise exc + + return wrapper + + return decorator + + +def log_info(message) -> None: + echo(style(f"{message}", fg="green"), color=True) + + +def log_error(message) -> None: + echo(style(f"ERROR: {message}", fg="red"), color=True) + + +def fetch_project( + session: Connection, + project_id: UUID, +) -> ProjectDB: + result = session.execute( + select( + ProjectDB.id, + ProjectDB.workspace_id, + ProjectDB.organization_id, + ).where( + ProjectDB.id == project_id, + ) + ).first() + + project = ProjectDB( + id=result.id, + workspace_id=result.workspace_id, + organization_id=result.organization_id, + ) + + return project + + +def list_all_demos(session: Connection) -> List[Demo]: + demos = [] + + try: + demo_project_ids = loads(getenv(DEMOS) or "[]") + + for project_id in demo_project_ids: + project = fetch_project( + session, + project_id, + ) + + try: + demos.append( + Demo( + organization_id=project.organization_id, + workspace_id=project.workspace_id, + project_id=project_id, + ) + ) + + except: # pylint: disable=bare-except + pass + + except: # pylint: disable=bare-except + pass + + return demos + + +def list_all_users( + session: Connection, +) -> List[User]: + user_ids = session.execute(select(UserDB.id)).scalars().all() + + all_users = [User(user_id=user_id) for user_id in user_ids] + + return all_users + + +def fetch_organization_members( + session: Connection, + organization_id: UUID, +) -> List[Member]: + result = session.execute( + select( + OrganizationMemberDB.user_id, + OrganizationMemberDB.organization_id, + ).where( + OrganizationMemberDB.organization_id == organization_id, + ) + ).all() + + organization_members = [ + Member( + user_id=row.user_id, + organization_id=row.organization_id, + ) + for row in result + ] + + return organization_members + + +def get_new_organization_members( + users: List[User], + members: List[Member], +) -> List[Member]: + user_ids = {user.user_id for user in users} + member_user_ids = {member.user_id for member in members} + + new_user_ids = user_ids - member_user_ids + + new_members = [Member(user_id=user_id) for user_id in new_user_ids] + + return new_members + + +def add_new_members_to_organization( + session: Connection, + organization_id: UUID, + new_members: List[Member], +) -> None: + for i in range(0, len(new_members), BATCH_SIZE): + batch = new_members[i : i + BATCH_SIZE] + + values = [ + { + "user_id": member.user_id, + "organization_id": organization_id, + } + for member in batch + ] + + session.execute(insert(OrganizationMemberDB).values(values)) + + +def remove_all_members_from_organization( + session: Connection, + organization_id: UUID, +) -> None: + session.execute( + delete(OrganizationMemberDB).where( + OrganizationMemberDB.organization_id == organization_id, + ) + ) + + +def fetch_workspace_members( + session: Connection, + workspace_id: UUID, +) -> List[Member]: + result = session.execute( + select( + WorkspaceMemberDB.user_id, + WorkspaceMemberDB.workspace_id, + WorkspaceMemberDB.role, + ).where( + WorkspaceMemberDB.workspace_id == workspace_id, + ) + ).all() + + members = [ + Member( + user_id=row.user_id, + workspace_id=row.workspace_id, + role=row.role, + ) + for row in result + ] + + return members + + +def get_faulty_workspace_members( + members: List[Member], +) -> List[Member]: + member_user_ids = { + member.user_id + for member in members + if member.role not in [DEMO_ROLE, OWNER_ROLE] + } + + new_members = [Member(user_id=user_id) for user_id in member_user_ids] + + return new_members + + +def remove_faulty_workspace_members( + session: Connection, + workspace_id: UUID, + faulty_members: List[Member], +) -> None: + faulty_user_ids = [member.user_id for member in faulty_members] + + for i in range(0, len(faulty_user_ids), BATCH_SIZE): + batch = faulty_user_ids[i : i + BATCH_SIZE] + + session.execute( + delete(WorkspaceMemberDB) + .where(WorkspaceMemberDB.workspace_id == workspace_id) + .where(WorkspaceMemberDB.user_id.in_(batch)) + ) + + +def get_new_workspace_members( + users: List[User], + members: List[Member], +) -> List[Member]: + user_ids = {user.user_id for user in users} + member_user_ids = { + member.user_id for member in members if member.role in [DEMO_ROLE, OWNER_ROLE] + } + + new_user_ids = user_ids - member_user_ids + + new_members = [Member(user_id=user_id) for user_id in new_user_ids] + + return new_members + + +def add_new_members_to_workspace( + session: Connection, + workspace_id: UUID, + new_members: List[Member], +) -> None: + for i in range(0, len(new_members), BATCH_SIZE): + batch = new_members[i : i + BATCH_SIZE] + + values = [ + { + "user_id": member.user_id, + "workspace_id": workspace_id, + "role": DEMO_ROLE, + } + for member in batch + ] + + session.execute(insert(WorkspaceMemberDB).values(values)) + + +def remove_all_members_from_workspace( + session: Connection, + workspace_id: UUID, +) -> None: + session.execute( + delete(WorkspaceMemberDB).where( + WorkspaceMemberDB.workspace_id == workspace_id, + ) + ) + + +def fetch_project_members( + session: Connection, + project_id: UUID, +) -> List[Member]: + result = session.execute( + select( + ProjectMemberDB.user_id, + ProjectMemberDB.project_id, + ProjectMemberDB.role, + ).where( + ProjectMemberDB.project_id == project_id, + ) + ).all() + + members = [ + Member( + user_id=row.user_id, + project_id=row.project_id, + role=row.role, + ) + for row in result + ] + + return members + + +def get_faulty_project_members( + members: List[Member], +) -> List[Member]: + member_user_ids = { + member.user_id + for member in members + if member.role not in [DEMO_ROLE, OWNER_ROLE] + } + + new_members = [Member(user_id=user_id) for user_id in member_user_ids] + + return new_members + + +def remove_faulty_project_members( + session: Connection, + project_id: UUID, + faulty_members: List[Member], +) -> None: + faulty_user_ids = [member.user_id for member in faulty_members] + + for i in range(0, len(faulty_user_ids), BATCH_SIZE): + batch = faulty_user_ids[i : i + BATCH_SIZE] + + session.execute( + delete(ProjectMemberDB) + .where(ProjectMemberDB.project_id == project_id) + .where(ProjectMemberDB.user_id.in_(batch)) + ) + + +def get_new_project_members( + users: List[User], + members: List[Member], +) -> List[Member]: + user_ids = {user.user_id for user in users} + member_user_ids = { + member.user_id for member in members if member.role in [DEMO_ROLE, OWNER_ROLE] + } + + new_user_ids = user_ids - member_user_ids + + new_members = [Member(user_id=user_id) for user_id in new_user_ids] + + return new_members + + +def add_new_members_to_project( + session: Connection, + project_id: UUID, + new_members: List[Member], +) -> None: + for i in range(0, len(new_members), BATCH_SIZE): + batch = new_members[i : i + BATCH_SIZE] + + values = [ + { + "user_id": member.user_id, + "project_id": project_id, + "role": DEMO_ROLE, + "is_demo": True, + } + for member in batch + ] + + session.execute(insert(ProjectMemberDB).values(values)) + + +def remove_all_members_from_project( + session: Connection, + project_id: UUID, +) -> None: + session.execute( + delete(ProjectMemberDB).where( + ProjectMemberDB.project_id == project_id, + ) + ) + + +@with_rollback() +def add_users_to_demos(session: Connection) -> None: + log_info("Populating demos.") + + all_demos = list_all_demos(session) + + log_info(f"Found {len(all_demos)} demos.") + + all_users = list_all_users(session) + + log_info(f"Found {len(all_users)} users.") + + for i, demo in enumerate(all_demos): + log_info(f"Populating demo #{i}.") + + # DEMO ORGANIZATIONS + organization_members = fetch_organization_members( + session, + demo.organization_id, + ) + + log_info(f"Found {len(organization_members)} organization members.") + + new_organization_members = get_new_organization_members( + all_users, + organization_members, + ) + + log_info(f"Missing {len(new_organization_members)} organization members.") + + add_new_members_to_organization( + session, + demo.organization_id, + new_organization_members, + ) + + log_info(f"Added {len(new_organization_members)} organization members.") + # ------------------ + + # DEMO WORKSPACES + workspace_members = fetch_workspace_members( + session, + demo.workspace_id, + ) + + log_info(f"Found {len(workspace_members)} workspace members.") + + faulty_workspace_members = get_faulty_workspace_members( + workspace_members, + ) + + log_info(f"Found {len(faulty_workspace_members)} faulty workspace members.") + + remove_faulty_workspace_members( + session, + demo.workspace_id, + faulty_workspace_members, + ) + + log_info(f"Removed {len(faulty_workspace_members)} faulty workspace members.") + + new_workspace_members = get_new_workspace_members( + all_users, + workspace_members, + ) + + log_info(f"Missing {len(new_workspace_members)} workspace members.") + + add_new_members_to_workspace( + session, + demo.workspace_id, + new_workspace_members, + ) + + log_info(f"Added {len(new_workspace_members)} workspace members.") + # --------------- + + # DEMO PROJECTS + project_members = fetch_project_members( + session, + demo.project_id, + ) + + log_info(f"Found {len(project_members)} project members.") + + faulty_project_members = get_faulty_project_members( + project_members, + ) + + log_info(f"Found {len(faulty_project_members)} faulty project members.") + + remove_faulty_project_members( + session, + demo.project_id, + faulty_project_members, + ) + + log_info(f"Removed {len(faulty_project_members)} faulty project members.") + + new_project_members = get_new_project_members( + all_users, + project_members, + ) + + log_info(f"Missing {len(new_project_members)} project members.") + + add_new_members_to_project( + session, + demo.project_id, + new_project_members, + ) + + log_info(f"Added {len(new_project_members)} project members.") + # ------------- + + log_info(f"Done with demo #{i}.") + + log_info("Done with demos.") + + +@with_rollback() +def remove_users_from_demos(session: Connection) -> None: + log_info("Cleaning up demos.") + + all_demos = list_all_demos(session) + + for i, demo in enumerate(all_demos): + log_info(f"Cleaning up demo #{i}.") + + # DEMO PROJECTS + remove_all_members_from_project( + session, + demo.project_id, + ) + # ------------- + + log_info("Removed project members.") + + # DEMO WORKSPACES + remove_all_members_from_workspace( + session, + demo.workspace_id, + ) + # --------------- + + log_info("Removed workspace members.") + + # DEMO ORGANIZATIONS + remove_all_members_from_organization( + session, + demo.organization_id, + ) + # ------------------ + + log_info("Removed organization members.") + + log_info(f"Done with demo #{i}.") + + log_info("Done with demos.") diff --git a/api/ee/databases/postgres/migrations/core/data_migrations/evaluators.py b/api/ee/databases/postgres/migrations/core/data_migrations/evaluators.py new file mode 100644 index 0000000000..c6b82d338c --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/data_migrations/evaluators.py @@ -0,0 +1,195 @@ +import uuid +import asyncio +import traceback +from typing import Optional + +import click +from sqlalchemy.future import select +from sqlalchemy import func +from sqlalchemy.ext.asyncio import AsyncConnection, create_async_engine + + +from ee.src.models.db_models import WorkspaceMemberDB as WorkspaceMemberDBE +from oss.src.models.db_models import ProjectDB as ProjectDBE +from oss.src.dbs.postgres.workflows.dbes import ( + WorkflowArtifactDBE, + WorkflowVariantDBE, + WorkflowRevisionDBE, +) +from oss.src.dbs.postgres.git.dao import GitDAO +from oss.src.core.evaluators.service import SimpleEvaluatorsService, EvaluatorsService +from oss.src.models.deprecated_models import ( + DeprecatedAutoEvaluatorConfigDBwProject as DeprecatedEvaluatorConfigDBwProject, +) +from oss.src.core.workflows.service import WorkflowsService +from oss.src.core.tracing.service import TracingService +from oss.src.apis.fastapi.tracing.router import TracingRouter +from oss.src.dbs.postgres.tracing.dao import TracingDAO + + +# Define constants +DEFAULT_BATCH_SIZE = 200 + +# Initialize plug-ins for migration +tracing_service = TracingService( + tracing_dao=TracingDAO(), +) +tracing = TracingRouter( + tracing_service=tracing_service, +) +evaluators_service = EvaluatorsService( + workflows_service=WorkflowsService( + workflows_dao=GitDAO( + ArtifactDBE=WorkflowArtifactDBE, + VariantDBE=WorkflowVariantDBE, + RevisionDBE=WorkflowRevisionDBE, + ), + ) +) +simple_evaluators_service = SimpleEvaluatorsService( + evaluators_service=evaluators_service, +) + + +async def _fetch_project_owner( + *, + project_id: uuid.UUID, + connection: AsyncConnection, +) -> Optional[uuid.UUID]: + """Fetch the owner user ID for a given project.""" + workspace_owner_query = ( + select(WorkspaceMemberDBE.user_id) + .select_from(WorkspaceMemberDBE, ProjectDBE) + .where( + WorkspaceMemberDBE.workspace_id == ProjectDBE.workspace_id, + WorkspaceMemberDBE.role == "owner", + ProjectDBE.id == project_id, + ) + ) + result = await connection.execute(workspace_owner_query) + owner = result.scalar_one_or_none() + return owner + + +async def migration_old_evaluator_configs_to_new_evaluator_configs( + connection: AsyncConnection, +): + """Migrate old evaluator configurations to new workflow-based system.""" + try: + offset = 0 + total_migrated = 0 + skipped_records = 0 + + # Count total rows with a non-null project_id + total_query = ( + select(func.count()) + .select_from(DeprecatedEvaluatorConfigDBwProject) + .filter(DeprecatedEvaluatorConfigDBwProject.project_id.isnot(None)) + ) + result = await connection.execute(total_query) + total_rows = result.scalar() + total_evaluators = total_rows or 0 + + click.echo( + click.style( + f"Total rows in evaluator_configs with project_id: {total_evaluators}", + fg="yellow", + ) + ) + + while offset < total_evaluators: + # STEP 1: Fetch evaluator configurations with non-null project_id + result = await connection.execute( + select(DeprecatedEvaluatorConfigDBwProject) + .filter(DeprecatedEvaluatorConfigDBwProject.project_id.isnot(None)) + .offset(offset) + .limit(DEFAULT_BATCH_SIZE) + ) + evaluator_configs_rows = result.fetchall() + + if not evaluator_configs_rows: + break + + # Process and transfer records to evaluator workflows + for old_evaluator in evaluator_configs_rows: + try: + # STEP 2: Get owner from project_id + owner = await _fetch_project_owner( + project_id=old_evaluator.project_id, # type: ignore + connection=connection, + ) + if not owner: + skipped_records += 1 + click.echo( + click.style( + f"Skipping record with ID {old_evaluator.id} due to missing owner in workspace member table", + fg="yellow", + ) + ) + continue + + # STEP 3: Migrate records using transfer_* util function + new_evaluator = await simple_evaluators_service.transfer( + project_id=old_evaluator.project_id, + user_id=owner, + evaluator_id=old_evaluator.id, + ) + if not new_evaluator: + skipped_records += 1 + click.echo( + click.style( + f"Skipping record with ID {old_evaluator.id} due to old evaluator not existing in database table", + fg="yellow", + ) + ) + continue + + except Exception as e: + click.echo( + click.style( + f"Failed to migrate evaluator {old_evaluator.id}: {str(e)}", + fg="red", + ) + ) + click.echo(click.style(traceback.format_exc(), fg="red")) + skipped_records += 1 + continue + + # Update progress tracking for current batch + batch_migrated = len(evaluator_configs_rows) + offset += DEFAULT_BATCH_SIZE + total_migrated += batch_migrated + + click.echo( + click.style( + f"Processed {batch_migrated} records in this batch.", + fg="yellow", + ) + ) + + # Update progress tracking for all batches + remaining_records = total_evaluators - total_migrated + click.echo(click.style(f"Total migrated: {total_migrated}", fg="yellow")) + click.echo(click.style(f"Skipped records: {skipped_records}", fg="yellow")) + click.echo( + click.style(f"Records left to migrate: {remaining_records}", fg="yellow") + ) + + except Exception as e: + click.echo(f"Error occurred: {e}") + click.echo(click.style(traceback.format_exc(), fg="red")) + + +def run_migration(sqlalchemy_url: str): + import concurrent.futures + + async def _start(): + connection = create_async_engine(url=sqlalchemy_url) + async with connection.connect() as connection: + await migration_old_evaluator_configs_to_new_evaluator_configs( + connection=connection + ) + + with concurrent.futures.ThreadPoolExecutor() as executor: + future = executor.submit(asyncio.run, _start()) + future.result() diff --git a/api/ee/databases/postgres/migrations/core/data_migrations/export_records.py b/api/ee/databases/postgres/migrations/core/data_migrations/export_records.py new file mode 100644 index 0000000000..f6aa6e3a0d --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/data_migrations/export_records.py @@ -0,0 +1,175 @@ +import traceback +import click +from sqlalchemy.future import select +from sqlalchemy import Connection, insert, func +from ee.src.models.db_models import OrganizationMemberDB # type: ignore +from ee.src.models.extended.deprecated_models import UserOrganizationDB # type: ignore + +BATCH_SIZE = 200 + + +def transfer_records_from_user_organization_to_organization_members( + session: Connection, +): + try: + offset = 0 + TOTAL_MIGRATED = 0 + + # Count total rows in user_organizations table + total_query = select(func.count()).select_from(UserOrganizationDB) + result = session.execute(total_query).scalar() + TOTAL_USERS_ORGANIZATIONS = result if result is not None else 0 + print(f"Total rows in UserOrganizationDB table: {TOTAL_USERS_ORGANIZATIONS}") + + while True: + # Fetch a batch of records from user_organizations with ordering + users_in_organizations = session.execute( + select(UserOrganizationDB).offset(offset).limit(BATCH_SIZE) + ).fetchall() + + actual_batch_size = len(users_in_organizations) + if actual_batch_size == 0: + break + + for user_organization in users_in_organizations: + # Check if the record already exists in OrganizationMemberDB + existing_record = session.execute( + select(OrganizationMemberDB).where( + OrganizationMemberDB.user_id == user_organization.user_id, + OrganizationMemberDB.organization_id + == user_organization.organization_id, + ) + ).fetchone() + if existing_record: + # Log that a duplicate was found + click.echo( + click.style( + f"Duplicate record found for user_id {user_organization.user_id} and organization_id {user_organization.organization_id}. Skipping.", + fg="yellow", + ) + ) + continue # Skip inserting this record + + # Insert a new record in OrganizationMemberDB + insert_statement = insert(OrganizationMemberDB).values( + user_id=user_organization.user_id, + organization_id=user_organization.organization_id, + ) + session.execute(insert_statement) + + # Commit the batch + session.commit() + + # Update migration progress + TOTAL_MIGRATED += actual_batch_size + offset += actual_batch_size + remaining_records = TOTAL_USERS_ORGANIZATIONS - TOTAL_MIGRATED + + click.echo( + click.style( + f"Processed {actual_batch_size} records in this batch. Total records migrated: {TOTAL_MIGRATED}. Records left to migrate: {remaining_records}", + fg="yellow", + ) + ) + + # Check if there are still remaining records + remaining_records_query = select(func.count()).select_from(UserOrganizationDB) + remaining_count = session.execute(remaining_records_query).scalar() + records_left_count = remaining_count if remaining_count is not None else 0 + if records_left_count > 0: + click.echo( + click.style( + f"There are still {remaining_count} records left in UserOrganizationDB that were not migrated.", + fg="red", + ) + ) + + click.echo( + click.style( + "\nSuccessfully migrated records and handled duplicates in user_organization table to organization_members.", + fg="green", + ), + color=True, + ) + except Exception as e: + # Handle exceptions and rollback if necessary + session.rollback() + click.echo( + click.style( + f"\nAn ERROR occurred while transferring records: {traceback.format_exc()}", + fg="red", + ), + color=True, + ) + raise e + + +def transfer_records_from_organization_members_to_user_organization( + session: Connection, +): + try: + offset = 0 + TOTAL_MIGRATED = 0 + + # Count total rows in OrganizationMemberDB + total_query = select(func.count()).select_from(OrganizationMemberDB) + result = session.execute(total_query).scalar() + TOTAL_ORGANIZATIONS_MEMBERS = result if result is not None else 0 + print( + f"Total rows in OrganizationMemberDB table: {TOTAL_ORGANIZATIONS_MEMBERS}" + ) + + while True: + # Retrieve a batch of records from OrganizationMemberDB + members_in_organizations = session.execute( + select(OrganizationMemberDB).offset(offset).limit(BATCH_SIZE) + ).fetchall() + actual_batch_size = len(members_in_organizations) + if not members_in_organizations: + break + + # Process each record in the current batch + for user_organization in members_in_organizations: + # Create a new record in UserOrganizationDB + insert_statement = insert(UserOrganizationDB).values( + user_id=user_organization.user_id, + organization_id=user_organization.organization_id, + ) + session.execute(insert_statement) + + # Commit the batch + session.commit() + + # Update migration progress + TOTAL_MIGRATED += actual_batch_size + offset += actual_batch_size + remaining_records = TOTAL_ORGANIZATIONS_MEMBERS - TOTAL_MIGRATED + click.echo( + click.style( + f"Processed {actual_batch_size} records in this batch. Total records migrated: {TOTAL_MIGRATED}. Records left to migrate: {remaining_records}", + fg="yellow", + ) + ) + + # Break the loop if all records are migrated + if remaining_records <= 0: + break + + click.echo( + click.style( + "\nSuccessfully migrated records in organization_members table to user_organizations table.", + fg="green", + ), + color=True, + ) + except Exception as e: + # Handle exceptions and rollback if necessary + session.rollback() + click.echo( + click.style( + f"\nAn ERROR occurred while transferring records from organization_members to user_organizations: {traceback.format_exc()}", + fg="red", + ), + color=True, + ) + raise e diff --git a/api/ee/databases/postgres/migrations/core/data_migrations/invitations.py b/api/ee/databases/postgres/migrations/core/data_migrations/invitations.py new file mode 100644 index 0000000000..802f2ef4fe --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/data_migrations/invitations.py @@ -0,0 +1,192 @@ +import os +import uuid +import traceback + +import click +from sqlalchemy.future import select +from sqlalchemy.orm import joinedload +from sqlalchemy import delete, Connection, insert, func + +from oss.src.models.db_models import UserDB, InvitationDB, ProjectDB +from ee.src.models.extended.deprecated_models import OldInvitationDB + + +BATCH_SIZE = 200 + + +def transfer_invitations_from_old_table_to_new_table(session: Connection): + try: + offset = 0 + TOTAL_MIGRATED = 0 + SKIPPED_INVITATIONS = 0 + + # Count total rows in OldInvitationDB table + count_query = select(func.count()).select_from(OldInvitationDB) + result = session.execute(count_query).scalar() + TOTAL_INVITATIONS = result if result is not None else 0 + print(f"Total rows in OldInvitationDB table is {TOTAL_INVITATIONS}") + + while True: + # Retrieve a batch of old invitations + query = session.execute( + select(OldInvitationDB).offset(offset).limit(BATCH_SIZE) + ) + old_invitations = query.fetchall() + actual_batch_size = len(old_invitations) + if not old_invitations: + break + + for old_invitation in old_invitations: + user = session.execute( + select(UserDB).where(UserDB.email == old_invitation.email) + ).fetchone() + + project = session.execute( + select(ProjectDB).where( + ProjectDB.workspace_id == uuid.UUID(old_invitation.workspace_id) + ) + ).fetchone() + if user and project: + print( + f"Found user {user.username} in workspace invitation ({str(old_invitation.id)})" + ) + print( + f"Found project {str(project.id)} that will be used to transfer workspace invitation into." + ) + # Map fields from OldInvitationDB to InvitationDB + statement = insert(InvitationDB).values( + id=old_invitation.id, + token=old_invitation.token, + email=old_invitation.email, + used=old_invitation.used, + role=old_invitation.workspace_roles[0], + user_id=user.id, + project_id=project.id, + expiration_date=old_invitation.expiration_date, + ) + + # Add the new invitation to the session + session.execute(statement) + + # Remove old invitation + session.execute( + delete(OldInvitationDB).where( + OldInvitationDB.id == old_invitation.id + ) + ) + else: + print( + f"Skipping unused workspace invitation {str(old_invitation.id)}. No matching user or project." + ) + SKIPPED_INVITATIONS += 1 + + # Commit the changes for the current batch + session.commit() + + # Update migration progress + TOTAL_MIGRATED += actual_batch_size + offset += actual_batch_size + remaining_records = TOTAL_INVITATIONS - TOTAL_MIGRATED + click.echo( + click.style( + f"Processed {actual_batch_size} records in this batch. Total records migrated: {TOTAL_MIGRATED}. Records left to migrate: {remaining_records}", + fg="yellow", + ) + ) + + # Stop the loop when all records have been processed + if remaining_records <= 0: + break + + click.echo( + click.style( + f"\nSuccessfully transferred workspaces invitations to projects invitations table. Skipped {SKIPPED_INVITATIONS} records.", + fg="green", + ), + color=True, + ) + + except Exception as e: + session.rollback() + click.echo( + click.style( + f"\nAn ERROR occurred while transferring workspaces invitations: {traceback.format_exc()}", + fg="red", + ), + color=True, + ) + raise e + + +def revert_invitations_transfer_from_new_table_to_old_table(session: Connection): + try: + offset = 0 + TOTAL_MIGRATED = 0 + + # Count total rows in invitations table + stmt = select(func.count()).select_from(InvitationDB) + result = session.execute(stmt).scalar() + TOTAL_INVITATIONS = result if result is not None else 0 + print(f"Total rows in project_invitations table is {TOTAL_INVITATIONS}") + + while True: + # Retrieve a batch of project invitations + project_invitations = session.execute( + select(InvitationDB) + .offset(offset) + .limit(BATCH_SIZE) + .options(joinedload(InvitationDB.project)) + ).fetchall() + if not project_invitations: + break + + for project_invitation in project_invitations: + # Map fields from InvitationDB to OldInvitationDB + statement = insert(OldInvitationDB).values( + id=project_invitation.id, + token=project_invitation.token, + email=project_invitation.email, + used=project_invitation.used, + organization_id=str(project_invitation.project.workspace_id), + workspace_id=str(project_invitation.project.workspace_id), + workspace_roles=[project_invitation.role], + expiration_date=project_invitation.expiration_date, + ) + session.execute(statement) + + # Remove previous invitation (that references project_id) + session.execute( + delete(InvitationDB).where(InvitationDB.id == project_invitation.id) + ) + + # Commit the changes for the current batch + session.commit() + + # Update migration progress + TOTAL_MIGRATED += BATCH_SIZE + offset += BATCH_SIZE + click.echo( + click.style( + f"Processed {offset} records in this batch. Total records migrated: {TOTAL_MIGRATED}. Records left to migrate: {TOTAL_INVITATIONS - TOTAL_MIGRATED}", + fg="yellow", + ) + ) + + click.echo( + click.style( + "\nSuccessfully transferred projects invitations to the workspaces invitations table.", + fg="green", + ), + color=True, + ) + + except Exception as e: + session.rollback() + click.echo( + click.style( + f"\nAn ERROR occurred while transferring projects invitations: {traceback.format_exc()}", + fg="red", + ), + color=True, + ) + raise e diff --git a/api/ee/databases/postgres/migrations/core/data_migrations/projects.py b/api/ee/databases/postgres/migrations/core/data_migrations/projects.py new file mode 100644 index 0000000000..293b05f52a --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/data_migrations/projects.py @@ -0,0 +1,501 @@ +import uuid +import traceback +from typing import Dict, Optional +from collections import defaultdict + +import click +from sqlalchemy.future import select +from sqlalchemy import Connection, update, func, or_ + +from ee.src.models.extended.deprecated_transfer_models import ( # type: ignore + ProjectDB, + AppDB, + AppVariantDB, + AppVariantRevisionsDB, + VariantBaseDB, + DeploymentDB, + AppEnvironmentDB, + AppEnvironmentRevisionDB, + EvaluationScenarioDB, + EvaluationDB, + EvaluatorConfigDB, + HumanEvaluationDB, + HumanEvaluationScenarioDB, + TestSetDB, +) + + +MODELS = [ + AppDB, # have workspace_id + AppVariantDB, # have workspace_id + AppVariantRevisionsDB, # doesn't have, but can make use of variant_id to get workspace_id + VariantBaseDB, # have workspace_id + DeploymentDB, # have workspace_id + AppEnvironmentDB, # have workspace_id + AppEnvironmentRevisionDB, # have workspace_id + EvaluationScenarioDB, # have workspace_id + EvaluationDB, # have workspace_id + EvaluatorConfigDB, # have workspace_id + HumanEvaluationDB, # have workspace_id + HumanEvaluationScenarioDB, # have workspace_id + TestSetDB, # have workspace_id +] + + +def get_workspace_project_by_id( + session: Connection, workspace_id: str +) -> Optional[str]: + workspace_project = session.execute( + select(ProjectDB).filter_by( + is_default=True, workspace_id=uuid.UUID(workspace_id) + ) + ).fetchone() + return str(workspace_project.id) if workspace_project is not None else None + + +def get_variant_by_id(session: Connection, variant_id: str) -> Optional[AppVariantDB]: + query = session.execute(select(AppVariantDB).filter_by(id=uuid.UUID(variant_id))) + return query.fetchone() # type: ignore + + +def get_app_by_id(session: Connection, app_id: str) -> Optional[AppDB]: + query = session.execute(select(AppDB).filter_by(id=uuid.UUID(app_id))) + return query.fetchone() # type: ignore + + +def get_evaluation_by_id( + session: Connection, evaluation_id: str +) -> Optional[EvaluationDB]: + query = session.execute(select(EvaluationDB).filter_by(id=uuid.UUID(evaluation_id))) + return query.fetchone() # type: ignore + + +def get_workspace_project_id(session: Connection, workspace_id: str) -> Optional[str]: + query = session.execute( + select(ProjectDB).filter_by( + workspace_id=uuid.UUID(workspace_id), is_default=True + ) + ) + workspace_project = query.fetchone() + return str(workspace_project.id) if workspace_project is not None else None + + +def repair_evaluation_scenario_to_have_project_id(session: Connection): + offset = 0 + BATCH_SIZE = 200 + TOTAL_MIGRATED = 0 + + # Count total rows for evaluation_scenarios with project_id = None + count_query = ( + select(func.count()) + .select_from(EvaluationScenarioDB) + .filter(EvaluationScenarioDB.project_id.is_(None)) + ) + result = session.execute(count_query).scalar() + TOTAL_ROWS_OF_TABLE = result if result is not None else 0 + print( + f"\nTotal rows in {EvaluationScenarioDB.__tablename__} table with no workspace_id: {TOTAL_ROWS_OF_TABLE}. Repairing rows to make use of workspace_id from either variant_id or evaluation_id..." + ) + + while True: + # Fetch records where project_id is None + records = session.execute( + select(EvaluationScenarioDB) + .filter( + EvaluationScenarioDB.project_id.is_(None), + or_( + EvaluationScenarioDB.variant_id.isnot(None), + EvaluationScenarioDB.evaluation_id.isnot(None), + ), + ) + .limit(BATCH_SIZE) + ).fetchall() + + # If no more records are returned, break the loop + if not records or len(records) == 0: + break + + # Update records with default project_id + for record in records: + workspace_id = None + + if hasattr(record, "variant_id") and record.variant_id is not None: + variant = get_variant_by_id( + session=session, variant_id=str(record.variant_id) + ) + if variant is None: + print( + f"ES {str(record.id)} did not return any variant to retrieve the workspace_id. Now, trying evaluation..." + ) + else: + workspace_id = str(variant.workspace_id) + + if ( + workspace_id is None + and hasattr(record, "evaluation_id") + and record.evaluation_id is not None + ): + evaluation = get_evaluation_by_id( + session=session, evaluation_id=str(record.evaluation_id) + ) + if evaluation is None: + print( + f"ES {str(record.id)} did not return any evaluation or variant to retrieve the workspace_id. Skipping record..." + ) + continue # Skip this record as no valid workspace_id found + + workspace_id = str(evaluation.workspace_id) + + # Update model record workspace_id field if a valid project_id was found + if workspace_id is not None: + workspace_project_id = get_workspace_project_by_id( + session=session, workspace_id=workspace_id + ) + session.execute( + update(EvaluationScenarioDB) + .where(EvaluationScenarioDB.id == record.id) + .values(project_id=uuid.UUID(workspace_project_id)) + ) + else: + print( + f"Evaluation scenario {str(record.id)} did not find a variant_id {record.variant_id} and evaluation {record.evaluation_id} to make use of." + ) + + session.commit() + + # Update migration progress + batch_migrated = len(records) + TOTAL_MIGRATED += batch_migrated + offset += batch_migrated + remaining_records = TOTAL_ROWS_OF_TABLE - TOTAL_MIGRATED + click.echo( + click.style( + f"Processed {batch_migrated} records in this batch. Total records migrated: {TOTAL_MIGRATED}. Records left to migrate: {remaining_records}", + fg="yellow", + ) + ) + + # Break if all records have been processed + records_with_no_variant_and_workspace_count_query = ( + select(func.count()) + .select_from(EvaluationScenarioDB) + .filter( + EvaluationScenarioDB.project_id.is_(None), + EvaluationScenarioDB.evaluation_id.is_(None), + EvaluationScenarioDB.variant_id.is_(None), + ) + ) + result = session.execute( + records_with_no_variant_and_workspace_count_query + ).scalar() + UNREPAIRABLE_DATA = result if result is not None else 0 + click.echo( + click.style( + f"Total malformed records with no variant_id & evaluation_id: {UNREPAIRABLE_DATA}", + fg="yellow", + ) + ) + + # Final reporting + click.echo( + click.style( + f"Migration to repair evaluation_scenario to have project_id completed.", + fg="green", + ) + ) + + +def repair_evaluator_configs_to_have_project_id(session: Connection): + offset = 0 + BATCH_SIZE = 200 + TOTAL_MIGRATED = 0 + SKIPPED_RECORDS = 0 + + # Count total rows for evaluator_configs with workspace_id = None + count_query = ( + select(func.count()) + .select_from(EvaluatorConfigDB) + .filter(EvaluatorConfigDB.project_id.is_(None)) + ) + result = session.execute(count_query).scalar() + TOTAL_ROWS_OF_TABLE = result if result is not None else 0 + print( + f"\nTotal rows in {EvaluatorConfigDB.__tablename__} table with no workspace_id: {TOTAL_ROWS_OF_TABLE}. Repairing rows to make use of workspace_id from app..." + ) + + while True: + # Fetch records where project_id is None + records = session.execute( + select(EvaluatorConfigDB) + .filter(EvaluatorConfigDB.project_id.is_(None)) + .limit(BATCH_SIZE) + ).fetchall() + + # Update records with default project_id + for record in records: + workspace_id = None + + if hasattr(record, "app_id") and ( + record.app_id is None or record.app_id == "" + ): + print(f"Evaluator config {str(record.id)} have no app_id. Skipping...") + SKIPPED_RECORDS += 1 + continue + + if hasattr(record, "app_id") and record.app_id is not None: + app_db = get_app_by_id(session=session, app_id=str(record.app_id)) + if app_db is None: + print( + f"Evaluator config {str(record.id)} have an app_id, but no application was found with the ID. Skipping..." + ) + SKIPPED_RECORDS += 1 + continue + + workspace_id = str(app_db.workspace_id) + + # Update model record workspace_id field if a valid project_id was found + if workspace_id is not None: + workspace_project_id = get_workspace_project_by_id( + session=session, workspace_id=workspace_id + ) + session.execute( + update(EvaluatorConfigDB) + .where(EvaluatorConfigDB.id == record.id) + .values(project_id=uuid.UUID(workspace_project_id)) + ) + else: + print( + f"Evaluator config {str(record.id)} did not find a workspace_id to make use of." + ) + + session.commit() + + # Update migration progress + batch_migrated = len(records) + TOTAL_MIGRATED += batch_migrated + offset += batch_migrated + remaining_records = TOTAL_ROWS_OF_TABLE - TOTAL_MIGRATED + click.echo( + click.style( + f"Processed {batch_migrated} records in this batch. Total records migrated: {TOTAL_MIGRATED}. Records left to migrate: {remaining_records}", + fg="yellow", + ) + ) + + # Break if all records have been processed + if batch_migrated <= 0: + break + + records_with_no_project_id = ( + select(func.count()) + .select_from(EvaluatorConfigDB) + .filter(EvaluatorConfigDB.project_id.is_(None)) + ) + result = session.execute(records_with_no_project_id).scalar() + TOTAL_ROWS_OF_RECORDS_WITH_NO_PROJECT_ID = result if result is not None else 0 + + # Final reporting + click.echo( + click.style( + f"Migration to repair evaluator_configs to have project_id completed. Total records with no project_id: {TOTAL_ROWS_OF_RECORDS_WITH_NO_PROJECT_ID}", + fg="green", + ) + ) + + +def add_project_id_to_db_entities(session: Connection): + try: + for model in MODELS: + offset = 0 + BATCH_SIZE = 200 + TOTAL_MIGRATED = 0 + SKIPPED_RECORDS: Dict[str, int] = defaultdict(int) + + def update_skipped_records_counter(model_tablename: str): + if SKIPPED_RECORDS.get(model_tablename, None) is None: + SKIPPED_RECORDS[model_tablename] = 1 + else: + SKIPPED_RECORDS[model_tablename] += 1 + + # Count total rows for tables with project_id = None + count_query = ( + select(func.count()) + .select_from(model) + .filter(model.project_id.is_(None)) + ) + result = session.execute(count_query).scalar() + TOTAL_ROWS_OF_TABLE = result if result is not None else 0 + print(f"Total rows in {model.__tablename__} table is {TOTAL_ROWS_OF_TABLE}") + + if hasattr(model, "workspace_id"): + query = select(model).filter( + model.project_id.is_(None), model.workspace_id.isnot(None) + ) + else: + # this will only be applied for AppVariantRevisionsDB model + query = select(model).filter(model.project_id.is_(None)) + + while True: + # Fetch records where project_id is None and workspace_id is not None + records = session.execute(query.limit(BATCH_SIZE)).fetchall() + actual_batch_size = len(records) + + # Add debugging logs for each batch + click.echo( + click.style( + f"Fetching {actual_batch_size} records starting from offset {offset} in {model.__tablename__}.", + fg="blue", + ) + ) + + # Update records with default project_id + for record in records: + if hasattr(record, "workspace_id"): + workspace_project_id = get_workspace_project_id( + session=session, workspace_id=str(record.workspace_id) + ) + elif ( + hasattr(record, "variant_id") and record.variant_id is not None + ) and not hasattr( + record, "workspace_id" + ): # this will only be applied for AppVariantRevisionsDB model + variant = get_variant_by_id( + session=session, variant_id=str(record.variant_id) + ) + if variant is not None: + workspace_project_id = get_workspace_project_id( + session=session, workspace_id=str(variant.workspace_id) + ) + else: + print( + f"Skipping record... {str(record.id)} in {model.__tablename__} table did not return any variant {str(record.variant_id)}." + ) + update_skipped_records_counter( + model_tablename=model.__tablename__ + ) + workspace_project_id = None + else: + print( + f"Skipping record... {str(record.id)} in {model.__tablename__} table due to no variant_id / workspace_id" + ) + actual_batch_size -= 1 # remove malformed record from records + update_skipped_records_counter( + model_tablename=model.__tablename__ + ) + workspace_project_id = None + + if workspace_project_id is not None: + # Update model record project_id field + session.execute( + update(model) + .where(model.id == record.id) + .values(project_id=uuid.UUID(workspace_project_id)) + ) + + session.commit() + + # Update migration progress + TOTAL_MIGRATED += actual_batch_size + offset += actual_batch_size + remaining_records = TOTAL_ROWS_OF_TABLE - TOTAL_MIGRATED + click.echo( + click.style( + f"Processed {actual_batch_size} records in this batch. Total records migrated: {TOTAL_MIGRATED}. Records left to migrate: {remaining_records}", + fg="yellow", + ) + ) + + # Stop the loop when all records have been processed + if actual_batch_size <= 0: + break + + # Run migration to 'repair' evaluation_scenario to make use of workspace_id from either evalution or variant to get project_id + repair_evaluation_scenario_to_have_project_id(session=session) + + # Run migration to 'repair' evaluator_configs to make use of workspace_id from app to get project_id + repair_evaluator_configs_to_have_project_id(session=session) + + click.echo( + click.style( + f"Migration for adding project_id to all records listed in {[model.__tablename__ for model in MODELS]} tables are completed. Skipped records: {SKIPPED_RECORDS}", + fg="green", + ) + ) + + except Exception as e: + session.rollback() + click.echo( + click.style( + f"ERROR adding project_id to db entities: {traceback.format_exc()}", + fg="red", + ) + ) + raise e + + +def remove_project_id_from_db_entities(session: Connection): + try: + for model in MODELS: + offset = 0 + BATCH_SIZE = 200 + TOTAL_MIGRATED = 0 + + # Count total rows for tables where project_id is not None + count_query = ( + select(func.count()) + .select_from(model) + .where(model.project_id.isnot(None)) + ) + result = session.execute(count_query).scalar() + TOTAL_ROWS_OF_TABLE = result if result is not None else 0 + print(f"Total rows in {model.__tablename__} table is {TOTAL_ROWS_OF_TABLE}") + + while True: + # Retrieve records from model where its project_id is not None + records = session.execute( + select(model) + .where(model.project_id.isnot(None)) + .offset(offset) + .limit(BATCH_SIZE) + ).fetchall() + actual_batch_size = len(records) + if not records: + break + + # Update records project_id column with None + for record in records: + record.project_id = None + + session.commit() + + # Update migration progress + TOTAL_MIGRATED += actual_batch_size + offset += actual_batch_size + remaining_records = TOTAL_ROWS_OF_TABLE - TOTAL_MIGRATED + click.echo( + click.style( + f"Processed {actual_batch_size} records in this batch. Total records migrated: {TOTAL_MIGRATED}. Records left to migrate: {remaining_records}", + fg="yellow", + ) + ) + + # Stop the loop when all records have been processed + if remaining_records <= 0: + break + + click.echo( + click.style( + f"Migration for removing project_id to all records listed in {[model.__tablename__ for model in MODELS]} tables are completed.", + fg="green", + ) + ) + + except Exception as e: + session.rollback() + click.echo( + click.style( + f"ERROR removing project_id to db entities: {traceback.format_exc()}", + fg="red", + ) + ) + raise e diff --git a/api/ee/databases/postgres/migrations/core/data_migrations/testsets.py b/api/ee/databases/postgres/migrations/core/data_migrations/testsets.py new file mode 100644 index 0000000000..add9acf809 --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/data_migrations/testsets.py @@ -0,0 +1,191 @@ +import uuid +import asyncio +import traceback +from typing import Optional + +import click +from sqlalchemy.future import select +from sqlalchemy import func +from sqlalchemy.ext.asyncio import AsyncConnection, create_async_engine + +from ee.src.models.db_models import WorkspaceMemberDB as WorkspaceMemberDBE +from oss.src.models.db_models import ProjectDB as ProjectDBE +from oss.src.dbs.postgres.testcases.dbes import ( + TestcaseBlobDBE, +) +from oss.src.dbs.postgres.blobs.dao import BlobsDAO +from oss.src.dbs.postgres.testsets.dbes import ( + TestsetArtifactDBE, + TestsetVariantDBE, + TestsetRevisionDBE, +) +from oss.src.dbs.postgres.git.dao import GitDAO +from oss.src.core.testcases.service import TestcasesService +from oss.src.models.deprecated_models import DeprecatedTestSetDB +from oss.src.core.testsets.service import TestsetsService, SimpleTestsetsService + + +# Define constants +DEFAULT_BATCH_SIZE = 200 + +# Initialize plug-ins for migration +testcases_dao = BlobsDAO( + BlobDBE=TestcaseBlobDBE, +) +testsets_dao = GitDAO( + ArtifactDBE=TestsetArtifactDBE, + VariantDBE=TestsetVariantDBE, + RevisionDBE=TestsetRevisionDBE, +) +testcases_service = TestcasesService( + testcases_dao=testcases_dao, +) +testsets_service = TestsetsService( + testsets_dao=testsets_dao, + testcases_service=testcases_service, +) +simple_testsets_service = SimpleTestsetsService( + testsets_service=testsets_service, +) + + +async def _fetch_project_owner( + *, + project_id: uuid.UUID, + connection: AsyncConnection, +) -> Optional[uuid.UUID]: + """Fetch the owner user ID for a given project.""" + workspace_owner_query = ( + select(WorkspaceMemberDBE.user_id) + .select_from(WorkspaceMemberDBE, ProjectDBE) + .where( + WorkspaceMemberDBE.workspace_id == ProjectDBE.workspace_id, + WorkspaceMemberDBE.role == "owner", + ProjectDBE.id == project_id, + ) + ) + result = await connection.execute(workspace_owner_query) + owner = result.scalar_one_or_none() + return owner + + +async def migration_old_testsets_to_new_testsets( + connection: AsyncConnection, +): + """Migrate old testsets to new testsets system.""" + try: + offset = 0 + total_migrated = 0 + skipped_records = 0 + + # Count total rows with a non-null project_id + total_query = ( + select(func.count()) + .select_from(DeprecatedTestSetDB) + .filter(DeprecatedTestSetDB.project_id.isnot(None)) + ) + result = await connection.execute(total_query) + total_rows = result.scalar() + total_testsets = total_rows or 0 + + click.echo( + click.style( + f"Total rows in testsets with project_id: {total_testsets}", + fg="yellow", + ) + ) + + while offset < total_testsets: + # STEP 1: Fetch evaluator configurations with non-null project_id + result = await connection.execute( + select(DeprecatedTestSetDB) + .filter(DeprecatedTestSetDB.project_id.isnot(None)) + .offset(offset) + .limit(DEFAULT_BATCH_SIZE) + ) + testsets_rows = result.fetchall() + + if not testsets_rows: + break + + # Process and transfer records to testset workflows + for testset in testsets_rows: + try: + # STEP 2: Get owner from project_id + owner = await _fetch_project_owner( + project_id=testset.project_id, # type: ignore + connection=connection, + ) + if not owner: + skipped_records += 1 + click.echo( + click.style( + f"Skipping record with ID {testset.id} due to missing owner in workspace member table", + fg="yellow", + ) + ) + continue + + # STEP 3: Migrate records using transfer_* util function + new_testset = await simple_testsets_service.transfer( + project_id=testset.project_id, + user_id=owner, + testset_id=testset.id, + ) + if not new_testset: + skipped_records += 1 + click.echo( + click.style( + f"Skipping record with ID {testset.id} due to old testset not existing in database table", + fg="yellow", + ) + ) + continue + + except Exception as e: + click.echo( + click.style( + f"Failed to migrate testset {testset.id}: {str(e)}", + fg="red", + ) + ) + click.echo(click.style(traceback.format_exc(), fg="red")) + skipped_records += 1 + continue + + # Update progress tracking for current batch + batch_migrated = len(testsets_rows) + offset += DEFAULT_BATCH_SIZE + total_migrated += batch_migrated + + click.echo( + click.style( + f"Processed {batch_migrated} records in this batch.", + fg="yellow", + ) + ) + + # Update progress tracking for all batches + remaining_records = total_testsets - total_migrated + click.echo(click.style(f"Total migrated: {total_migrated}", fg="yellow")) + click.echo(click.style(f"Skipped records: {skipped_records}", fg="yellow")) + click.echo( + click.style(f"Records left to migrate: {remaining_records}", fg="yellow") + ) + + except Exception as e: + click.echo(f"Error occurred: {e}") + click.echo(click.style(traceback.format_exc(), fg="red")) + + +def run_migration(sqlalchemy_url: str): + import concurrent.futures + + async def _start(): + connection = create_async_engine(url=sqlalchemy_url) + async with connection.connect() as connection: + await migration_old_testsets_to_new_testsets(connection=connection) + + with concurrent.futures.ThreadPoolExecutor() as executor: + future = executor.submit(asyncio.run, _start()) + future.result() diff --git a/api/ee/databases/postgres/migrations/core/data_migrations/workspaces.py b/api/ee/databases/postgres/migrations/core/data_migrations/workspaces.py new file mode 100644 index 0000000000..2c5a241acc --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/data_migrations/workspaces.py @@ -0,0 +1,255 @@ +import traceback + +import click +from sqlalchemy.future import select +from sqlalchemy import delete, Connection, insert, func + +from ee.src.models.db_models import ProjectDB, WorkspaceDB +from ee.src.models.db_models import ( + WorkspaceMemberDB, + ProjectMemberDB, +) + +BATCH_SIZE = 200 + + +def get_or_create_workspace_default_project( + session: Connection, workspace: WorkspaceDB +) -> None: + project = session.execute( + select(ProjectDB).filter_by( + is_default=True, + workspace_id=workspace.id, + ) + ).fetchone() + + if project is None: + statement = insert(ProjectDB).values( + project_name="Default Project", + is_default=True, + workspace_id=workspace.id, + organization_id=workspace.organization_id, + ) + session.execute(statement) + + +def create_default_project_for_workspaces(session: Connection): + try: + offset = 0 + TOTAL_MIGRATED = 0 + + # Count total rows in workspaces table + stmt = select(func.count()).select_from(WorkspaceDB) + result = session.execute(stmt).scalar() + TOTAL_WORKSPACES = result if result is not None else 0 + print(f"Total rows in workspaces table is {TOTAL_WORKSPACES}") + + while True: + # Retrieve a batch of workspaces without a project + workspaces = session.execute( + select(WorkspaceDB).offset(offset).limit(BATCH_SIZE) + ).fetchall() + actual_batch_size = len(workspaces) + if not workspaces: + break + + for workspace in workspaces: + # Create a new default project for each workspace + get_or_create_workspace_default_project( + session=session, workspace=workspace # type: ignore + ) + + # Commit the changes for the current batch + session.commit() + + # Update migration progress + TOTAL_MIGRATED += actual_batch_size + offset += actual_batch_size + remaining_records = TOTAL_WORKSPACES - TOTAL_MIGRATED + click.echo( + click.style( + f"Processed {offset} records in this batch. Total records migrated: {TOTAL_MIGRATED}. Records left to migrate: {remaining_records} ", + fg="yellow", + ) + ) + + # Stop the loop when all records have been processed + if remaining_records <= 0: + break + + click.echo( + click.style( + "\nSuccessfully created default projects for workspaces.", + fg="green", + ), + color=True, + ) + + except Exception as e: + session.rollback() + click.echo( + click.style( + f"\nAn ERROR occurred while creating default projects: {traceback.format_exc()}", + fg="red", + ), + color=True, + ) + raise e + + +def create_default_project_memberships(session: Connection): + try: + offset = 0 + TOTAL_MIGRATED = 0 + SKIPPED_RECORDS = 0 + + # Count total rows in workspaces_members table + stmt = select(func.count()).select_from(WorkspaceMemberDB) + result = session.execute(stmt).scalar() + TOTAL_WORKSPACES_MEMBERS = result if result is not None else 0 + print(f"Total rows in workspaces_members table is {TOTAL_WORKSPACES_MEMBERS}") + + while True: + # Retrieve a batch of workspace members + workspace_members = session.execute( + select(WorkspaceMemberDB).offset(offset).limit(BATCH_SIZE) + ).fetchall() + actual_batch_size = len(workspace_members) + if not workspace_members: + break + + for workspace_member in workspace_members: + # Find the default project for the member's workspace + project_query = session.execute( + select(ProjectDB) + .where( + ProjectDB.workspace_id == workspace_member.workspace_id, + ProjectDB.is_default == True, + ) + .limit(1) + ) + default_project = project_query.fetchone() + if default_project: + # Create a new project membership for each workspace member + statement = insert(ProjectMemberDB).values( + user_id=workspace_member.user_id, + project_id=getattr(default_project, "id"), + role=workspace_member.role, + ) + session.execute(statement) + else: + print( + f"Skipping record... Did not find any default project for workspace {str(workspace_member.workspace_id)}" + ) + SKIPPED_RECORDS += 1 + + # Commit the changes for the current batch + session.commit() + + # Update migration progress + TOTAL_MIGRATED += actual_batch_size + offset += actual_batch_size + remaining_records = TOTAL_WORKSPACES_MEMBERS - TOTAL_MIGRATED + click.echo( + click.style( + f"Processed {offset} records in this batch. Total records migrated: {TOTAL_MIGRATED}. Records left to migrate: {remaining_records} ", + fg="yellow", + ) + ) + + # Stop the loop when all records have been processed + if remaining_records <= 0: + break + + click.echo( + click.style( + f"\nSuccessfully created default project memberships for workspace members. Skipped {SKIPPED_RECORDS} records.", + fg="green", + ), + color=True, + ) + + except Exception as e: + session.rollback() + click.echo( + click.style( + f"\nAn ERROR occurred while creating project memberships: {traceback.format_exc()}", + fg="red", + ), + color=True, + ) + raise e + + +def remove_default_projects_from_workspaces(session: Connection): + try: + offset = 0 + TOTAL_MIGRATED = 0 + + # Count total rows in projects table + stmt = ( + select(func.count()) + .select_from(ProjectDB) + .where(ProjectDB.is_default == True) + ) + result = session.execute(stmt).scalar() + TOTAL_PROJECTS = result if result is not None else 0 + print(f"Total rows in projects table is {TOTAL_PROJECTS}") + + while True: + # Retrieve a batch of workspaces with a default project + projects_to_delete = session.execute( + select(ProjectDB) + .where(ProjectDB.is_default == True) + .offset(offset) + .limit(BATCH_SIZE) # type: ignore + ).fetchall() + actual_batch_size = len(projects_to_delete) + if not projects_to_delete: + break + + for project in projects_to_delete: + if project is not None and len(project) >= 1: + # Remove associated project memberships + session.execute( + delete(ProjectMemberDB).where( + ProjectMemberDB.project_id == project.id + ) + ) + + # Remove the default project itself + session.execute(delete(ProjectDB).where(ProjectDB.id == project.id)) + + # Update migration progress + TOTAL_MIGRATED += actual_batch_size + offset += actual_batch_size + remaining_records = TOTAL_PROJECTS - TOTAL_MIGRATED + click.echo( + click.style( + f"Processed {offset} records in this batch. Total records migrated: {TOTAL_MIGRATED}. Records left to migrate: {remaining_records} ", + fg="yellow", + ) + ) + + # Stop the loop when all records have been processed + if remaining_records <= 0: + break + + click.echo( + click.style( + "\nSuccessfully removed default projects and associated memberships from existing workspaces.", + fg="green", + ), + color=True, + ) + except Exception as e: + # Handle exceptions and rollback if necessary + session.rollback() + click.echo( + click.style( + f"\nAn ERROR occurred while removing default projects and memberships: {traceback.format_exc()}", + fg="red", + ), + color=True, + ) + raise e diff --git a/api/ee/databases/postgres/migrations/core/env.py b/api/ee/databases/postgres/migrations/core/env.py new file mode 100644 index 0000000000..e5e251f801 --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/env.py @@ -0,0 +1,126 @@ +import os +import asyncio +from logging.config import fileConfig + +from sqlalchemy import pool +from sqlalchemy.engine import Connection, create_engine +from sqlalchemy.ext.asyncio import async_engine_from_config, create_async_engine + +from alembic import context + +from oss.src.dbs.postgres.shared.engine import engine + + +# this is the Alembic Config object, which provides +# access to the values within the .ini file in use. +config = context.config +config.set_main_option("sqlalchemy.url", engine.postgres_uri_core) # type: ignore + + +# Interpret the config file for Python logging. +# This line sets up loggers basically. +if config.config_file_name is not None: + fileConfig(config.config_file_name) + +# add your model's MetaData object here +# for 'autogenerate' support +from oss.src.dbs.postgres.shared.base import Base + +import oss.src.dbs.postgres.secrets.dbes +import oss.src.dbs.postgres.observability.dbes +import oss.src.dbs.postgres.tracing.dbes +import oss.src.dbs.postgres.testcases.dbes +import oss.src.dbs.postgres.testsets.dbes +import oss.src.dbs.postgres.queries.dbes +import oss.src.dbs.postgres.workflows.dbes +import oss.src.dbs.postgres.evaluations.dbes + +import ee.src.dbs.postgres.meters.dbes +import ee.src.dbs.postgres.subscriptions.dbes + + +# from myapp import mymodel +# target_metadata = mymodel.Base.metadata +target_metadata = Base.metadata + +# other values from the config, defined by the needs of env.py, +# can be acquired: +# my_important_option = config.get_main_option("my_important_option") +# ... etc. + + +def run_migrations_offline() -> None: + """Run migrations in 'offline' mode. + + This configures the context with just a URL + and not an Engine, though an Engine is acceptable + here as well. By skipping the Engine creation + we don't even need a DBAPI to be available. + + Calls to context.execute() here emit the given string to the + script output. + + """ + connection = create_engine( + url=config.get_main_option("sqlalchemy.url"), + pool_size=10, # Maintain 10 connections in the pool + pool_timeout=43200, # Timeout of 12 hours + pool_recycle=43200, # Timeout of 12 hours + pool_pre_ping=True, + echo_pool=True, + pool_use_lifo=True, + ) + context.configure( + connection=connection, + transaction_per_migration=True, + target_metadata=target_metadata, + literal_binds=True, + dialect_opts={"paramstyle": "named"}, + ) + + with context.begin_transaction(): + context.run_migrations() + + +def do_run_migrations(connection: Connection) -> None: + context.configure( + transaction_per_migration=True, + connection=connection, + target_metadata=target_metadata, + ) + + with context.begin_transaction(): + context.run_migrations() + + +async def run_async_migrations() -> None: + """In this scenario we need to create an Engine + and associate a connection with the context. + + """ + + connectable = create_async_engine( + url=config.get_main_option("sqlalchemy.url"), + pool_size=10, # Maintain 10 connections in the pool + pool_timeout=43200, # Timeout of 12 hours + pool_recycle=43200, # Timeout of 12 hours + pool_pre_ping=True, + echo_pool=True, + pool_use_lifo=True, + ) + async with connectable.connect() as connection: + await connection.run_sync(do_run_migrations) + + await connectable.dispose() + + +def run_migrations_online() -> None: + """Run migrations in 'online' mode.""" + + asyncio.run(run_async_migrations()) + + +if context.is_offline_mode(): + run_migrations_offline() +else: + run_migrations_online() diff --git a/api/ee/databases/postgres/migrations/core/script.py.mako b/api/ee/databases/postgres/migrations/core/script.py.mako new file mode 100644 index 0000000000..fbc4b07dce --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/script.py.mako @@ -0,0 +1,26 @@ +"""${message} + +Revision ID: ${up_revision} +Revises: ${down_revision | comma,n} +Create Date: ${create_date} + +""" +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa +${imports if imports else ""} + +# revision identifiers, used by Alembic. +revision: str = ${repr(up_revision)} +down_revision: Union[str, None] = ${repr(down_revision)} +branch_labels: Union[str, Sequence[str], None] = ${repr(branch_labels)} +depends_on: Union[str, Sequence[str], None] = ${repr(depends_on)} + + +def upgrade() -> None: + ${upgrades if upgrades else "pass"} + + +def downgrade() -> None: + ${downgrades if downgrades else "pass"} diff --git a/api/ee/databases/postgres/migrations/core/temp/80910d2fa9a4_migrate_old_testsets_to_new_.py b/api/ee/databases/postgres/migrations/core/temp/80910d2fa9a4_migrate_old_testsets_to_new_.py new file mode 100644 index 0000000000..43be6c1579 --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/temp/80910d2fa9a4_migrate_old_testsets_to_new_.py @@ -0,0 +1,32 @@ +"""migrate old testsets to new testsets data structure + +Revision ID: 80910d2fa9a4 +Revises: ... +Create Date: 2025-07-25 07:35:57.319449 + +""" + +from typing import Sequence, Union + +from alembic import context +from ee.databases.postgres.migrations.core.data_migrations.testsets import ( + run_migration, +) + +# revision identifiers, used by Alembic. +revision: str = "80910d2fa9a4" +down_revision: Union[str, None] = "..." +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + run_migration(sqlalchemy_url=context.config.get_main_option("sqlalchemy.url")) + # ### end Alembic commands ### + + +def downgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + pass + # ### end Alembic commands ### diff --git a/api/ee/databases/postgres/migrations/core/temp/bd7937ee784d_migrate_old_evaluators_to_new_.py b/api/ee/databases/postgres/migrations/core/temp/bd7937ee784d_migrate_old_evaluators_to_new_.py new file mode 100644 index 0000000000..da71b370bb --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/temp/bd7937ee784d_migrate_old_evaluators_to_new_.py @@ -0,0 +1,32 @@ +"""migrate old evaluators to new evaluators data structure + +Revision ID: bd7937ee784d +Revises: ... +Create Date: 2025-07-25 07:35:57.319449 + +""" + +from typing import Sequence, Union + +from alembic import context +from ee.databases.postgres.migrations.core.data_migrations.evaluators import ( + run_migration, +) + +# revision identifiers, used by Alembic. +revision: str = "bd7937ee784d" +down_revision: Union[str, None] = "..." +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + run_migration(sqlalchemy_url=context.config.get_main_option("sqlalchemy.url")) + # ### end Alembic commands ### + + +def downgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + pass + # ### end Alembic commands ### diff --git a/api/ee/databases/postgres/migrations/core/utils.py b/api/ee/databases/postgres/migrations/core/utils.py new file mode 100644 index 0000000000..206e46db64 --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/utils.py @@ -0,0 +1,196 @@ +import asyncio +import logging +import traceback + +import click +import asyncpg +from alembic import command +from sqlalchemy import Engine +from alembic.config import Config +from sqlalchemy import inspect, text +from alembic.script import ScriptDirectory +from sqlalchemy.exc import ProgrammingError +from sqlalchemy.ext.asyncio import create_async_engine, AsyncEngine + +from oss.src.utils.env import env + + +# Initializer logger +logger = logging.getLogger("alembic.env") + +# Initialize alembic config +alembic_cfg = Config(env.ALEMBIC_CFG_PATH_CORE) +script = ScriptDirectory.from_config(alembic_cfg) + +logger.info("license: ee") +logger.info("migrations: entities") +logger.info("ALEMBIC_CFG_PATH_CORE: %s", env.ALEMBIC_CFG_PATH_CORE) +logger.info("alembic_cfg: %s", alembic_cfg) +logger.info("script: %s", script) + + +def is_initial_setup(engine) -> bool: + """ + Check if the database is in its initial state by verifying the existence of required tables. + + This function inspects the current state of the database and determines if it needs initial setup by checking for the presence of a predefined set of required tables. + + Args: + engine (sqlalchemy.engine.base.Engine): The SQLAlchemy engine used to connect to the database. + + Returns: + bool: True if the database is in its initial state (i.e., not all required tables exist), False otherwise. + """ + + inspector = inspect(engine) + required_tables = [ + "users", + "app_db", + "deployments", + "bases", + "app_variants", + "ids_mapping", + ] # NOTE: The tables here were picked at random. Having all the tables in the database in the list \ + # will not change the behaviour of this function, so best to leave things as it is! + existing_tables = inspector.get_table_names() + + # Check if all required tables exist in the database + all_tables_exist = all(table in existing_tables for table in required_tables) + + return not all_tables_exist + + +async def get_current_migration_head_from_db(engine: AsyncEngine): + """ + Checks the alembic_version table to get the current migration head that has been applied. + + Args: + engine (Engine): The engine that connects to an sqlalchemy pool + + Returns: + the current migration head (where 'head' is the revision stored in the migration script) + """ + + async with engine.connect() as connection: + try: + result = await connection.execute(text("SELECT version_num FROM alembic_version")) # type: ignore + except (asyncpg.exceptions.UndefinedTableError, ProgrammingError): + # Note: If the alembic_version table does not exist, it will result in raising an UndefinedTableError exception. + # We need to suppress the error and return a list with the alembic_version table name to inform the user that there is a pending migration \ + # to make Alembic start tracking the migration changes. + # -------------------------------------------------------------------------------------- + # This effect (the exception raising) happens for both users (first-time and returning) + return "alembic_version" + + migration_heads = [row[0] for row in result.fetchall()] + assert ( + len(migration_heads) == 1 + ), "There can only be one migration head stored in the database." + return migration_heads[0] + + +async def get_pending_migration_head(): + """ + Gets the migration head that have not been applied. + + Returns: + the pending migration head + """ + + pending_migration_head = [] + + engine = create_async_engine(url=env.POSTGRES_URI_CORE) + try: + current_migration_script_head = script.get_current_head() + migration_head_from_db = await get_current_migration_head_from_db(engine=engine) + + if current_migration_script_head != migration_head_from_db: + pending_migration_head.append(current_migration_script_head) + if "alembic_version" == migration_head_from_db: + pending_migration_head.append("alembic_version") + finally: + await engine.dispose() + + return pending_migration_head + + +def run_alembic_migration(): + """ + Applies migration for first-time users and also checks the environment variable "AGENTA_AUTO_MIGRATIONS" to determine whether to apply migrations for returning users. + """ + + try: + pending_migration_head = asyncio.run(get_pending_migration_head()) + FIRST_TIME_USER = True if "alembic_version" in pending_migration_head else False + + if FIRST_TIME_USER or env.AGENTA_AUTO_MIGRATIONS: + command.upgrade(alembic_cfg, "head") + click.echo( + click.style( + "\nMigration applied successfully. The container will now exit.", + fg="green", + ), + color=True, + ) + else: + click.echo( + click.style( + "\nAll migrations are up-to-date. The container will now exit.", + fg="yellow", + ), + color=True, + ) + except Exception as e: + click.echo( + click.style( + f"\nAn ERROR occurred while applying migration: {traceback.format_exc()}\nThe container will now exit.", + fg="red", + ), + color=True, + ) + raise e + + +async def check_for_new_migrations(): + """ + Checks for new migrations and notify the user. + """ + + pending_migration_head = await get_pending_migration_head() + if len(pending_migration_head) >= 1 and isinstance(pending_migration_head[0], str): + click.echo( + click.style( + f"\nWe have detected that there are pending database migrations {pending_migration_head} that need to be applied to keep the application up to date. To ensure the application functions correctly with the latest updates, please follow the guide here => https://docs.agenta.ai/self-host/migration/applying-schema-migration\n", + fg="yellow", + ), + color=True, + ) + return + + +def unique_constraint_exists( + engine: Engine, table_name: str, constraint_name: str +) -> bool: + """ + The function checks if a unique constraint with a specific name exists on a table in a PostgreSQL + database. + + Args: + - engine (Engine): instance of a database engine that represents a connection to a database. + - table_name (str): name of the table to check the existence of the unique constraint. + - constraint_name (str): name of the unique constraint to check for existence. + + Returns: + - returns a boolean value indicating whether a unique constraint with the specified `constraint_name` exists in the table. + """ + + with engine.connect() as conn: + result = conn.execute( + text( + f""" + SELECT conname FROM pg_constraint + WHERE conname = '{constraint_name}' AND conrelid = '{table_name}'::regclass; + """ + ) + ) + return result.fetchone() is not None diff --git a/api/ee/databases/postgres/migrations/core/versions/0698355c7641_add_tables_for_testsets.py b/api/ee/databases/postgres/migrations/core/versions/0698355c7641_add_tables_for_testsets.py new file mode 100644 index 0000000000..c0b8756dec --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/versions/0698355c7641_add_tables_for_testsets.py @@ -0,0 +1,388 @@ +"""add tables for testsets (artifacts, variants, & revisions) + +Revision ID: 0698355c7641 +Revises: 9698355c7649 +Create Date: 2025-04-24 07:27:45.801481 + +""" + +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import postgresql + +# revision identifiers, used by Alembic. +revision: str = "0698355c7641" +down_revision: Union[str, None] = "9698355c7649" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + # - ARTIFACTS -------------------------------------------------------------- + + op.create_table( + "testset_artifacts", + sa.Column( + "project_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "slug", + sa.String(), + nullable=False, + ), + sa.Column( + "created_at", + sa.TIMESTAMP(timezone=True), + server_default=sa.text("CURRENT_TIMESTAMP"), + nullable=False, + ), + sa.Column( + "updated_at", + sa.TIMESTAMP(timezone=True), + nullable=True, + ), + sa.Column( + "deleted_at", + sa.TIMESTAMP(timezone=True), + nullable=True, + ), + sa.Column( + "created_by_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "updated_by_id", + sa.UUID(), + nullable=True, + ), + sa.Column( + "deleted_by_id", + sa.UUID(), + nullable=True, + ), + sa.Column( + "flags", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.Column( + "metadata", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.Column( + "name", + sa.String(), + nullable=True, + ), + sa.Column( + "description", + sa.String(), + nullable=True, + ), + sa.PrimaryKeyConstraint( + "project_id", + "id", + ), + sa.UniqueConstraint( + "project_id", + "slug", + ), + sa.ForeignKeyConstraint( + ["project_id"], + ["projects.id"], + ondelete="CASCADE", + ), + sa.Index( + "ix_testset_artifacts_project_id_slug", + "project_id", + "slug", + ), + ) + + # -------------------------------------------------------------------------- + + # - VARIANTS --------------------------------------------------------------- + + op.create_table( + "testset_variants", + sa.Column( + "project_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "artifact_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "slug", + sa.String(), + nullable=False, + ), + sa.Column( + "created_at", + sa.TIMESTAMP(timezone=True), + server_default=sa.text("CURRENT_TIMESTAMP"), + nullable=False, + ), + sa.Column( + "updated_at", + sa.TIMESTAMP(timezone=True), + nullable=True, + ), + sa.Column( + "deleted_at", + sa.TIMESTAMP(timezone=True), + nullable=True, + ), + sa.Column( + "created_by_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "updated_by_id", + sa.UUID(), + nullable=True, + ), + sa.Column( + "deleted_by_id", + sa.UUID(), + nullable=True, + ), + sa.Column( + "flags", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.Column( + "metadata", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.Column( + "name", + sa.String(), + nullable=True, + ), + sa.Column( + "description", + sa.String(), + nullable=True, + ), + sa.PrimaryKeyConstraint( + "project_id", + "id", + ), + sa.UniqueConstraint( + "project_id", + "slug", + ), + sa.ForeignKeyConstraint( + ["project_id"], + ["projects.id"], + ondelete="CASCADE", + ), + sa.ForeignKeyConstraint( + ["project_id", "artifact_id"], + ["testset_artifacts.project_id", "testset_artifacts.id"], + ondelete="CASCADE", + ), + sa.Index( + "ix_testset_variants_project_id_slug", + "project_id", + "slug", + ), + sa.Index( + "ix_testset_variants_project_id_artifact_id", + "project_id", + "artifact_id", + ), + ) + + # -------------------------------------------------------------------------- + + # - REVISIONS -------------------------------------------------------------- + + op.create_table( + "testset_revisions", + sa.Column( + "project_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "artifact_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "variant_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "slug", + sa.String(), + nullable=False, + ), + sa.Column( + "version", + sa.String(), + nullable=True, + ), + sa.Column( + "created_at", + sa.TIMESTAMP(timezone=True), + server_default=sa.text("CURRENT_TIMESTAMP"), + nullable=False, + ), + sa.Column( + "updated_at", + sa.TIMESTAMP(timezone=True), + nullable=True, + ), + sa.Column( + "deleted_at", + sa.TIMESTAMP(timezone=True), + nullable=True, + ), + sa.Column( + "created_by_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "updated_by_id", + sa.UUID(), + nullable=True, + ), + sa.Column( + "deleted_by_id", + sa.UUID(), + nullable=True, + ), + sa.Column( + "flags", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.Column( + "metadata", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.Column( + "name", + sa.String(), + nullable=True, + ), + sa.Column( + "description", + sa.String(), + nullable=True, + ), + sa.Column( + "message", + sa.String(), + nullable=True, + ), + sa.Column( + "author", + sa.UUID(), + nullable=False, + ), + sa.Column( + "date", + sa.TIMESTAMP(timezone=True), + server_default=sa.text("CURRENT_TIMESTAMP"), + nullable=False, + ), + sa.Column( + "data", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.PrimaryKeyConstraint( + "project_id", + "id", + ), + sa.UniqueConstraint( + "project_id", + "slug", + ), + sa.ForeignKeyConstraint( + ["project_id"], + ["projects.id"], + ondelete="CASCADE", + ), + sa.ForeignKeyConstraint( + ["project_id", "artifact_id"], + ["testset_artifacts.project_id", "testset_artifacts.id"], + ondelete="CASCADE", + ), + sa.ForeignKeyConstraint( + ["project_id", "variant_id"], + ["testset_variants.project_id", "testset_variants.id"], + ondelete="CASCADE", + ), + sa.Index( + "ix_testset_revisions_project_id_slug", + "project_id", + "slug", + ), + sa.Index( + "ix_testset_revisions_project_id_artifact_id", + "project_id", + "artifact_id", + ), + sa.Index( + "ix_testset_revisions_project_id_variant_id", + "project_id", + "variant_id", + ), + ) + + # -------------------------------------------------------------------------- + + +def downgrade() -> None: + # - REVISIONS -------------------------------------------------------------- + + op.drop_table("testset_revisions") + + # -------------------------------------------------------------------------- + + # - VARIANTS --------------------------------------------------------------- + + op.drop_table("testset_variants") + + # -------------------------------------------------------------------------- + + # - ARTIFACTS -------------------------------------------------------------- + + op.drop_table("testset_artifacts") + + # -------------------------------------------------------------------------- diff --git a/api/ee/databases/postgres/migrations/core/versions/0698355c7642_add_table_for_testcases.py b/api/ee/databases/postgres/migrations/core/versions/0698355c7642_add_table_for_testcases.py new file mode 100644 index 0000000000..c7a98fc712 --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/versions/0698355c7642_add_table_for_testcases.py @@ -0,0 +1,112 @@ +"""add tables for testcases (blobs) + +Revision ID: 0698355c7642 +Revises: 0698355c7641 +Create Date: 2025-04-24 07:27:45.801481 + +""" + +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import postgresql + +# revision identifiers, used by Alembic. +revision: str = "0698355c7642" +down_revision: Union[str, None] = "0698355c7641" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + # - BLOBS ------------------------------------------------------------------ + + op.create_table( + "testcase_blobs", + sa.Column( + "project_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "set_id", + sa.UUID(), + nullable=True, + ), + sa.Column( + "id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "slug", + sa.String(), + nullable=False, + ), + sa.Column( + "data", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.PrimaryKeyConstraint( + "project_id", + "id", + ), + sa.UniqueConstraint( + "project_id", + "slug", + ), + sa.UniqueConstraint( + "project_id", + "set_id", + "id", + ), + sa.UniqueConstraint( + "project_id", + "set_id", + "slug", + ), + sa.ForeignKeyConstraint( + ["project_id"], + ["projects.id"], + ondelete="CASCADE", + ), + sa.ForeignKeyConstraint( + ["project_id", "set_id"], + ["testset_artifacts.project_id", "testset_artifacts.id"], + ondelete="CASCADE", + ), + sa.Index( + "ix_testcase_blobs_project_id_blob_slug", + "project_id", + "slug", + ), + sa.Index( + "ix_testcase_blobs_project_id_set_id", + "project_id", + "set_id", + ), + sa.Index( + "ix_testcase_blobs_project_id_set_id_id", + "project_id", + "set_id", + "id", + ), + sa.Index( + "ix_testcase_blobs_project_id_set_id_slug", + "project_id", + "set_id", + "slug", + ), + ) + + # -------------------------------------------------------------------------- + + +def downgrade() -> None: + # - BLOBS ------------------------------------------------------------------ + + op.drop_table("testcase_blobs") + + # -------------------------------------------------------------------------- diff --git a/api/ee/databases/postgres/migrations/core/versions/0f086ebc2f83_extend_app_type.py b/api/ee/databases/postgres/migrations/core/versions/0f086ebc2f83_extend_app_type.py new file mode 100644 index 0000000000..dd76961a2f --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/versions/0f086ebc2f83_extend_app_type.py @@ -0,0 +1,58 @@ +"""Extend app_type + +Revision ID: 0f086ebc2f83 +Revises: 0f086ebc2f82 +Create Date: 2025-01-08 10:24:00 +""" + +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision: str = "0f086ebc2f83" +down_revision: Union[str, None] = "425c68e8de6c" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade(): + # Define the new enum + temp_enum = sa.Enum( + "CHAT_TEMPLATE", + "COMPLETION_TEMPLATE", + "CHAT_SERVICE", + "COMPLETION_SERVICE", + "CUSTOM", + name="app_type_enum", + ) + temp_enum.create(op.get_bind(), checkfirst=True) + + # Update the column to use the new enum + op.execute( + "ALTER TABLE app_db ALTER COLUMN app_type TYPE app_type_enum USING app_type::text::app_type_enum" + ) + + # Drop the old enum + op.execute("DROP TYPE app_enumtype") + + +def downgrade(): + # Define the old enum + temp_enum = sa.Enum( + "CHAT_TEMPLATE", + "COMPLETION_TEMPLATE", + "CUSTOM", + name="app_enumtype", + ) + temp_enum.create(op.get_bind(), checkfirst=True) + + # Update the column to use the old enum + op.execute( + "ALTER TABLE app_db ALTER COLUMN app_type TYPE app_enumtype USING app_type::text::app_enumtype" + ) + + # Drop the new enum + op.execute("DROP TYPE app_type_enum") diff --git a/api/ee/databases/postgres/migrations/core/versions/12f477990f1e_add_meters.py b/api/ee/databases/postgres/migrations/core/versions/12f477990f1e_add_meters.py new file mode 100644 index 0000000000..2e5c4ef580 --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/versions/12f477990f1e_add_meters.py @@ -0,0 +1,54 @@ +"""add meters + +Revision ID: 12f477990f1e +Revises: 6965776e6940 +Create Date: 2025-01-25 16:51:06.233811 + +""" + +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import postgresql +from sqlalchemy.sql import func + +# revision identifiers, used by Alembic. +revision: str = "12f477990f1e" +down_revision: Union[str, None] = "6965776e6940" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.create_table( + "meters", + sa.Column( + "key", + sa.Enum( + "USERS", + "APPLICATIONS", + "EVALUATIONS", + "TRACES", + name="meters_type", + ), + nullable=False, + ), + sa.Column("value", sa.BigInteger(), nullable=False), + sa.Column("synced", sa.BigInteger(), nullable=False), + sa.Column("organization_id", sa.UUID(), nullable=False), + sa.Column("year", sa.SmallInteger(), nullable=True, server_default="0"), + sa.Column("month", sa.SmallInteger(), nullable=True, server_default="0"), + sa.PrimaryKeyConstraint("organization_id", "key", "year", "month"), + sa.ForeignKeyConstraint(["organization_id"], ["subscriptions.organization_id"]), + ) + op.create_index("idx_synced_value", "meters", ["synced", "value"], unique=False) + # ### end Alembic commands ### + + +def downgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index("idx_synced_value", table_name="meters") + op.drop_table("meters") + # ### end Alembic commands ### diff --git a/api/ee/databases/postgres/migrations/core/versions/154098b1e56c_set_user_id_column_in_db_entities_to_be_.py b/api/ee/databases/postgres/migrations/core/versions/154098b1e56c_set_user_id_column_in_db_entities_to_be_.py new file mode 100644 index 0000000000..411101fa4d --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/versions/154098b1e56c_set_user_id_column_in_db_entities_to_be_.py @@ -0,0 +1,69 @@ +"""Set user_id column in db entities to be optional --- prep for project_id scoping + +Revision ID: 154098b1e56c +Revises: ad0987a77380 +Create Date: 2024-09-17 06:44:31.061378 + +""" + +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision: str = "154098b1e56c" +down_revision: Union[str, None] = "ad0987a77380" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.alter_column("docker_images", "user_id", existing_type=sa.UUID, nullable=True) + op.alter_column("app_db", "user_id", existing_type=sa.UUID, nullable=True) + op.alter_column("deployments", "user_id", existing_type=sa.UUID, nullable=True) + op.alter_column("bases", "user_id", existing_type=sa.UUID, nullable=True) + op.alter_column("app_variants", "user_id", existing_type=sa.UUID, nullable=True) + op.alter_column("environments", "user_id", existing_type=sa.UUID, nullable=True) + op.alter_column("testsets", "user_id", existing_type=sa.UUID, nullable=True) + op.alter_column( + "evaluators_configs", "user_id", existing_type=sa.UUID, nullable=True + ) + op.alter_column( + "human_evaluations", "user_id", existing_type=sa.UUID, nullable=True + ) + op.alter_column( + "human_evaluations_scenarios", "user_id", existing_type=sa.UUID, nullable=True + ) + op.alter_column("evaluations", "user_id", existing_type=sa.UUID, nullable=True) + op.alter_column( + "evaluation_scenarios", "user_id", existing_type=sa.UUID, nullable=True + ) + # ### end Alembic commands ### + + +def downgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.alter_column("docker_images", "user_id", existing_type=sa.UUID, nullable=False) + op.alter_column("app_db", "user_id", existing_type=sa.UUID, nullable=False) + op.alter_column("deployments", "user_id", existing_type=sa.UUID, nullable=False) + op.alter_column("bases", "user_id", existing_type=sa.UUID, nullable=False) + op.alter_column("app_variants", "user_id", existing_type=sa.UUID, nullable=False) + op.alter_column("environments", "user_id", existing_type=sa.UUID, nullable=False) + op.alter_column("testsets", "user_id", existing_type=sa.UUID, nullable=False) + op.alter_column( + "evaluators_configs", "user_id", existing_type=sa.UUID, nullable=False + ) + op.alter_column( + "human_evaluations", "user_id", existing_type=sa.UUID, nullable=False + ) + op.alter_column( + "human_evaluations_scenarios", "user_id", existing_type=sa.UUID, nullable=False + ) + op.alter_column("evaluations", "user_id", existing_type=sa.UUID, nullable=False) + op.alter_column( + "evaluation_scenarios", "user_id", existing_type=sa.UUID, nullable=False + ) + # ### end Alembic commands ### diff --git a/api/ee/databases/postgres/migrations/core/versions/1c2d3e4f5a6b_workspaces_migration_to_add_default_project_and_membership.py b/api/ee/databases/postgres/migrations/core/versions/1c2d3e4f5a6b_workspaces_migration_to_add_default_project_and_membership.py new file mode 100644 index 0000000000..2e52bcfdc9 --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/versions/1c2d3e4f5a6b_workspaces_migration_to_add_default_project_and_membership.py @@ -0,0 +1,40 @@ +"""workspaces migration to add default project and memberships + +Revision ID: 1c2d3e4f5a6b +Revises: 6aafdfc2befb +Create Date: 2024-09-03 08:05:58.870573 + +""" + +from typing import Sequence, Union + +from alembic import context +import sqlalchemy as sa + +from ee.databases.postgres.migrations.core.data_migrations.workspaces import ( + create_default_project_for_workspaces, + create_default_project_memberships, + remove_default_projects_from_workspaces, +) + + +# revision identifiers, used by Alembic. +revision: str = "1c2d3e4f5a6b" +down_revision: Union[str, None] = "6aafdfc2befb" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + # ### custom migration ### + connection = context.get_bind() # get database connect from alembic context + create_default_project_for_workspaces(session=connection) + create_default_project_memberships(session=connection) + # ### end custom migration ### + + +def downgrade() -> None: + # ### custom migration ### + connection = context.get_bind() # get database connect from alembic context + remove_default_projects_from_workspaces(session=connection) + # ### end custom migration ### diff --git a/api/ee/databases/postgres/migrations/core/versions/24f8bdb390ee_added_the_app_type_column_to_the_app_db_.py b/api/ee/databases/postgres/migrations/core/versions/24f8bdb390ee_added_the_app_type_column_to_the_app_db_.py new file mode 100644 index 0000000000..de300ce7fa --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/versions/24f8bdb390ee_added_the_app_type_column_to_the_app_db_.py @@ -0,0 +1,59 @@ +"""Added the 'app_type' column to the 'app_db' table + +Revision ID: 24f8bdb390ee +Revises: e9fa2135f3fb +Create Date: 2024-09-09 07:32:45.053125 + +""" + +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa + +# revision identifiers, used by Alembic. +revision: str = "24f8bdb390ee" +down_revision: Union[str, None] = "847972cfa14a" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + + # Create the enum type first + app_enumtype = sa.Enum( + "CHAT_TEMPLATE", + "COMPLETION_TEMPLATE", + "CUSTOM", + name="app_enumtype", + ) + app_enumtype.create(op.get_bind(), checkfirst=True) + + # Then add the column using the enum type + op.add_column( + "app_db", + sa.Column( + "app_type", + app_enumtype, + nullable=True, + ), + ) + # ### end Alembic commands ### + + +def downgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + + # Drop the column first + op.drop_column("app_db", "app_type") + + # Then drop the enum type + app_enumtype = sa.Enum( + "CHAT_TEMPLATE", + "COMPLETION_TEMPLATE", + "CUSTOM", + name="app_enumtype", + ) + app_enumtype.drop(op.get_bind(), checkfirst=True) + # ### end Alembic commands ### diff --git a/api/ee/databases/postgres/migrations/core/versions/2a91436752f9_update_secrets_data_schema_type.py b/api/ee/databases/postgres/migrations/core/versions/2a91436752f9_update_secrets_data_schema_type.py new file mode 100644 index 0000000000..460986b788 --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/versions/2a91436752f9_update_secrets_data_schema_type.py @@ -0,0 +1,64 @@ +"""update secrets data schema type + +Revision ID: 2a91436752f9 +Revises: 0f086ebc2f83 +Create Date: 2025-02-10 10:38:31.555604 + +""" + +from typing import Sequence, Union + +import sqlalchemy as sa +from alembic import context, op + +from oss.databases.postgres.migrations.core.data_migrations.secrets import ( + rename_and_update_secrets_data_schema, + revert_rename_and_update_secrets_data_schema, +) + + +# revision identifiers, used by Alembic. +revision: str = "2a91436752f9" +down_revision: Union[str, None] = "0f086ebc2f83" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + # ### commands to do data migration for secrets ### + connection = context.get_bind() + + # Define the new enum + secret_kinds = sa.Enum("PROVIDER_KEY", "CUSTOM_PROVIDER", name="secretkind_enum") + secret_kinds.create(bind=connection, checkfirst=True) + + # Update the column to make use of the new enum + op.execute( + "ALTER TABLE secrets ALTER COLUMN kind TYPE secretkind_enum USING kind::text::secretkind_enum" + ) + + # Drop the old enum + op.execute("DROP TYPE IF EXISTS secretkind") + + rename_and_update_secrets_data_schema(session=connection) + # ### end Alembic commands ### + + +def downgrade() -> None: + # ### commands to do data migration for secrets ### + connection = context.get_bind() + + # Define the new enum + secret_kinds = sa.Enum("PROVIDER_KEY", name="secretkind") + secret_kinds.create(bind=connection, checkfirst=True) + + # Update the column to make use of the new enum + op.execute( + "ALTER TABLE secrets ALTER COLUMN kind TYPE secretkind USING kind::text::secretkind" + ) + + # Drop the old enum + op.execute("DROP TYPE IF EXISTS secretkind_enum") + + revert_rename_and_update_secrets_data_schema(session=connection) + # ### end Alembic commands ### diff --git a/api/ee/databases/postgres/migrations/core/versions/30dcf07de96a_add_tables_for_queries.py b/api/ee/databases/postgres/migrations/core/versions/30dcf07de96a_add_tables_for_queries.py new file mode 100644 index 0000000000..735a859ce0 --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/versions/30dcf07de96a_add_tables_for_queries.py @@ -0,0 +1,403 @@ +"""add tables for queries (artifacts, variants, & revisions) + +Revision ID: 30dcf07de96a +Revises: aa1b2c3d4e5f +Create Date: 2025-07-30 14:55:00.000000 + +""" + +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import postgresql + +# revision identifiers, used by Alembic. +revision: str = "30dcf07de96a" +down_revision: Union[str, None] = "aa1b2c3d4e5f" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + # - ARTIFACTS -------------------------------------------------------------- + + op.create_table( + "query_artifacts", + sa.Column( + "project_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "slug", + sa.String(), + nullable=False, + ), + sa.Column( + "created_at", + sa.TIMESTAMP(timezone=True), + server_default=sa.text("CURRENT_TIMESTAMP"), + nullable=False, + ), + sa.Column( + "updated_at", + sa.TIMESTAMP(timezone=True), + nullable=True, + ), + sa.Column( + "deleted_at", + sa.TIMESTAMP(timezone=True), + nullable=True, + ), + sa.Column( + "created_by_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "updated_by_id", + sa.UUID(), + nullable=True, + ), + sa.Column( + "deleted_by_id", + sa.UUID(), + nullable=True, + ), + sa.Column( + "flags", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.Column( + "tags", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.Column( + "meta", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.Column( + "name", + sa.String(), + nullable=True, + ), + sa.Column( + "description", + sa.String(), + nullable=True, + ), + sa.PrimaryKeyConstraint( + "project_id", + "id", + ), + sa.UniqueConstraint( + "project_id", + "slug", + ), + sa.ForeignKeyConstraint( + ["project_id"], + ["projects.id"], + ondelete="CASCADE", + ), + sa.Index( + "ix_query_artifacts_project_id_slug", + "project_id", + "slug", + ), + ) + + # -------------------------------------------------------------------------- + + # - VARIANTS --------------------------------------------------------------- + + op.create_table( + "query_variants", + sa.Column( + "project_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "artifact_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "slug", + sa.String(), + nullable=False, + ), + sa.Column( + "created_at", + sa.TIMESTAMP(timezone=True), + server_default=sa.text("CURRENT_TIMESTAMP"), + nullable=False, + ), + sa.Column( + "updated_at", + sa.TIMESTAMP(timezone=True), + nullable=True, + ), + sa.Column( + "deleted_at", + sa.TIMESTAMP(timezone=True), + nullable=True, + ), + sa.Column( + "created_by_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "updated_by_id", + sa.UUID(), + nullable=True, + ), + sa.Column( + "deleted_by_id", + sa.UUID(), + nullable=True, + ), + sa.Column( + "flags", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.Column( + "tags", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.Column( + "meta", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.Column( + "name", + sa.String(), + nullable=True, + ), + sa.Column( + "description", + sa.String(), + nullable=True, + ), + sa.PrimaryKeyConstraint( + "project_id", + "id", + ), + sa.UniqueConstraint( + "project_id", + "slug", + ), + sa.ForeignKeyConstraint( + ["project_id"], + ["projects.id"], + ondelete="CASCADE", + ), + sa.ForeignKeyConstraint( + ["project_id", "artifact_id"], + ["query_artifacts.project_id", "query_artifacts.id"], + ondelete="CASCADE", + ), + sa.Index( + "ix_query_variants_project_id_slug", + "project_id", + "slug", + ), + sa.Index( + "ix_query_variants_project_id_artifact_id", + "project_id", + "artifact_id", + ), + ) + + # -------------------------------------------------------------------------- + + # - REVISIONS -------------------------------------------------------------- + + op.create_table( + "query_revisions", + sa.Column( + "project_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "artifact_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "variant_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "slug", + sa.String(), + nullable=False, + ), + sa.Column( + "version", + sa.String(), + nullable=True, + ), + sa.Column( + "created_at", + sa.TIMESTAMP(timezone=True), + server_default=sa.text("CURRENT_TIMESTAMP"), + nullable=False, + ), + sa.Column( + "updated_at", + sa.TIMESTAMP(timezone=True), + nullable=True, + ), + sa.Column( + "deleted_at", + sa.TIMESTAMP(timezone=True), + nullable=True, + ), + sa.Column( + "created_by_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "updated_by_id", + sa.UUID(), + nullable=True, + ), + sa.Column( + "deleted_by_id", + sa.UUID(), + nullable=True, + ), + sa.Column( + "flags", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.Column( + "tags", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.Column( + "meta", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.Column( + "name", + sa.String(), + nullable=True, + ), + sa.Column( + "description", + sa.String(), + nullable=True, + ), + sa.Column( + "message", + sa.String(), + nullable=True, + ), + sa.Column( + "author", + sa.UUID(), + nullable=False, + ), + sa.Column( + "date", + sa.TIMESTAMP(timezone=True), + server_default=sa.text("CURRENT_TIMESTAMP"), + nullable=False, + ), + sa.Column( + "data", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.PrimaryKeyConstraint( + "project_id", + "id", + ), + sa.UniqueConstraint( + "project_id", + "slug", + ), + sa.ForeignKeyConstraint( + ["project_id"], + ["projects.id"], + ondelete="CASCADE", + ), + sa.ForeignKeyConstraint( + ["project_id", "artifact_id"], + ["query_artifacts.project_id", "query_artifacts.id"], + ondelete="CASCADE", + ), + sa.ForeignKeyConstraint( + ["project_id", "variant_id"], + ["query_variants.project_id", "query_variants.id"], + ondelete="CASCADE", + ), + sa.Index( + "ix_query_revisions_project_id_slug", + "project_id", + "slug", + ), + sa.Index( + "ix_query_revisions_project_id_artifact_id", + "project_id", + "artifact_id", + ), + sa.Index( + "ix_query_revisions_project_id_variant_id", + "project_id", + "variant_id", + ), + ) + + # -------------------------------------------------------------------------- + + +def downgrade() -> None: + # - REVISIONS -------------------------------------------------------------- + + op.drop_table("query_revisions") + + # -------------------------------------------------------------------------- + + # - VARIANTS --------------------------------------------------------------- + + op.drop_table("query_variants") + + # -------------------------------------------------------------------------- + + # - ARTIFACTS -------------------------------------------------------------- + + op.drop_table("query_artifacts") + + # -------------------------------------------------------------------------- diff --git a/api/ee/databases/postgres/migrations/core/versions/320a4a7ee0c7_set_columns_in_api_key_table_to_be_.py b/api/ee/databases/postgres/migrations/core/versions/320a4a7ee0c7_set_columns_in_api_key_table_to_be_.py new file mode 100644 index 0000000000..463285cacb --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/versions/320a4a7ee0c7_set_columns_in_api_key_table_to_be_.py @@ -0,0 +1,61 @@ +"""set columns in api_key table to be nullable -- prep for access control + +Revision ID: 320a4a7ee0c7 +Revises: b3f6bff547d4 +Create Date: 2024-10-22 10:57:36.983190 + +""" + +from typing import Sequence, Union + +import sqlalchemy as sa +from alembic import op, context + +from ee.databases.postgres.migrations.core.data_migrations.api_keys import ( + update_api_key_to_make_use_of_project_id, + revert_api_key_to_make_use_of_workspace_id, +) + + +# revision identifiers, used by Alembic. +revision: str = "320a4a7ee0c7" +down_revision: Union[str, None] = "b3f6bff547d4" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + connection = context.get_bind() + op.alter_column("api_keys", "user_id", nullable=True) + op.alter_column("api_keys", "workspace_id", nullable=True) + op.add_column("api_keys", sa.Column("project_id", sa.UUID(), nullable=True)) + op.add_column("api_keys", sa.Column("created_by_id", sa.UUID(), nullable=True)) + # ================== Custom data migration ====================== # + update_api_key_to_make_use_of_project_id(session=connection) + # ================== Custom data migration ====================== # + op.drop_column("api_keys", "user_id") + op.drop_column("api_keys", "workspace_id") + op.alter_column("api_keys", "created_by_id", nullable=False) + op.alter_column("api_keys", "project_id", nullable=False) + # ### end Alembic commands ### + + +def downgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + connection = context.get_bind() + inspector = sa.inspect(connection) + columns = [column["name"] for column in inspector.get_columns("api_keys")] + if "user_id" not in columns: + op.add_column("api_keys", sa.Column("user_id", sa.String(), nullable=True)) + + if "workspace_id" not in columns: + op.add_column("api_keys", sa.Column("workspace_id", sa.String(), nullable=True)) + # ================== Custom data migration ====================== # + revert_api_key_to_make_use_of_workspace_id(session=connection) + # ================== Custom data migration ====================== # + op.drop_column("api_keys", "created_by_id") + op.drop_column("api_keys", "project_id") + op.alter_column("api_keys", "user_id", nullable=False) + op.alter_column("api_keys", "workspace_id", nullable=False) + # ### end Alembic commands ### diff --git a/api/ee/databases/postgres/migrations/core/versions/3b5f5652f611_populate_runs_references.py b/api/ee/databases/postgres/migrations/core/versions/3b5f5652f611_populate_runs_references.py new file mode 100644 index 0000000000..bb43067ccb --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/versions/3b5f5652f611_populate_runs_references.py @@ -0,0 +1,77 @@ +"""Populate runs references + +Revision ID: 3b5f5652f611 +Revises: b3f15a7140ab +Create Date: 2025-10-07 12:00:00 +""" + +from typing import Sequence, Union +from alembic import op +import sqlalchemy as sa +import json + +# revision identifiers, used by Alembic. +revision: str = "3b5f5652f611" +down_revision: Union[str, None] = "b3f15a7140ab" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + conn = op.get_bind() + + rows = conn.execute( + sa.text('SELECT id, data, "references" FROM evaluation_runs') + ).fetchall() + + for run_id, data, existing_refs in rows: + if existing_refs not in (None, [], {}): + continue + if not data or "steps" not in data: + continue + + refs_out = [] + seen = set() + + for step in data.get("steps", []): + refs = step.get("references", {}) + if not isinstance(refs, dict): + continue + + for key, ref in refs.items(): + if not isinstance(ref, dict): + continue + + entry = {"key": key} + + if ref.get("id") is not None: + entry["id"] = ref["id"] + if ref.get("slug") is not None: + entry["slug"] = ref["slug"] + if ref.get("version") is not None: + entry["version"] = ref["version"] + + dedup_key = ( + entry.get("id"), + entry["key"], + entry.get("slug"), + entry.get("version"), + ) + if dedup_key in seen: + continue + seen.add(dedup_key) + + refs_out.append(entry) + + if refs_out: + conn.execute( + sa.text( + 'UPDATE evaluation_runs SET "references" = :refs WHERE id = :id' + ), + {"refs": json.dumps(refs_out), "id": run_id}, + ) + + +def downgrade() -> None: + conn = op.get_bind() + conn.execute(sa.text('UPDATE evaluation_runs SET "references" = NULL')) diff --git a/api/ee/databases/postgres/migrations/core/versions/425c68e8de6c_add_secrets_dbe_model.py b/api/ee/databases/postgres/migrations/core/versions/425c68e8de6c_add_secrets_dbe_model.py new file mode 100644 index 0000000000..b58d9cc9ce --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/versions/425c68e8de6c_add_secrets_dbe_model.py @@ -0,0 +1,53 @@ +"""add secrets dbe model + +Revision ID: 425c68e8de6c +Revises: 73a2d8cfaa3d +Create Date: 2024-12-05 10:30:54.986714 + +""" + +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa + +from oss.src.dbs.postgres.secrets.custom_fields import PGPString + +# revision identifiers, used by Alembic. +revision: str = "425c68e8de6c" +down_revision: Union[str, None] = "73a2d8cfaa3d" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.execute("CREATE EXTENSION IF NOT EXISTS pgcrypto;") + op.create_table( + "secrets", + sa.Column("id", sa.UUID(), nullable=False), + sa.Column("kind", sa.Enum("PROVIDER_KEY", name="secretkind"), nullable=True), + sa.Column("data", PGPString(), nullable=True), + sa.Column("project_id", sa.UUID(), nullable=False), + sa.Column( + "created_at", + sa.TIMESTAMP(timezone=True), + server_default=sa.text("CURRENT_TIMESTAMP"), + nullable=False, + ), + sa.Column("updated_at", sa.TIMESTAMP(timezone=True), nullable=True), + sa.Column("updated_by_id", sa.UUID(), nullable=True), + sa.Column("name", sa.String(), nullable=True), + sa.Column("description", sa.String(), nullable=True), + sa.PrimaryKeyConstraint("id"), + sa.UniqueConstraint("id"), + ) + # ### end Alembic commands ### + + +def downgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.drop_table("secrets") + op.execute("DROP TYPE IF EXISTS secretkind;") + op.execute("DROP EXTENSION IF EXISTS pgcrypto;") + # ### end Alembic commands ### diff --git a/api/ee/databases/postgres/migrations/core/versions/4d9a58ff8f98_add_default_project_to_scoped_model_.py b/api/ee/databases/postgres/migrations/core/versions/4d9a58ff8f98_add_default_project_to_scoped_model_.py new file mode 100644 index 0000000000..22b9387d66 --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/versions/4d9a58ff8f98_add_default_project_to_scoped_model_.py @@ -0,0 +1,42 @@ +"""add default project to scoped model entities + +Revision ID: 4d9a58ff8f98 +Revises: d0b8e05ca190 +Create Date: 2024-09-17 07:16:57.740642 + +""" + +from typing import Sequence, Union + +from alembic import context + +from ee.databases.postgres.migrations.core.data_migrations.projects import ( + add_project_id_to_db_entities, + remove_project_id_from_db_entities, + repair_evaluation_scenario_to_have_project_id, + repair_evaluator_configs_to_have_project_id, +) + + +# revision identifiers, used by Alembic. +revision: str = "4d9a58ff8f98" +down_revision: Union[str, None] = "d0b8e05ca190" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + # ### custom command ### + connection = context.get_bind() # get database connect from alembic context + add_project_id_to_db_entities(session=connection) + repair_evaluation_scenario_to_have_project_id(session=connection) + repair_evaluator_configs_to_have_project_id(session=connection) + repair_evaluation_scenario_to_have_project_id(session=connection) + # ### end custom command ### + + +def downgrade() -> None: + # ### custom command ### + connection = context.get_bind() # get database connect from alembic context + remove_project_id_from_db_entities(session=connection) + # ### end custom command ### diff --git a/api/ee/databases/postgres/migrations/core/versions/54e81e9eed88_add_tables_for_evaluations.py b/api/ee/databases/postgres/migrations/core/versions/54e81e9eed88_add_tables_for_evaluations.py new file mode 100644 index 0000000000..f8549687ce --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/versions/54e81e9eed88_add_tables_for_evaluations.py @@ -0,0 +1,514 @@ +"""add tables for evaluations + +Revision ID: 54e81e9eed88 +Revises: 9698355c7650 +Create Date: 2025-04-24 07:27:45.801481 + +""" + +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import postgresql + +# revision identifiers, used by Alembic. +revision: str = "54e81e9eed88" +down_revision: Union[str, None] = "9698355c7650" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + op.rename_table( + "evaluation_aggregated_results", + "auto_evaluation_aggregated_results", + ) + op.rename_table( + "evaluation_evaluator_configs", + "auto_evaluation_evaluator_configs", + ) + op.rename_table( + "evaluation_scenario_results", + "auto_evaluation_scenario_results", + ) + op.rename_table( + "evaluation_scenarios", + "auto_evaluation_scenarios", + ) + op.rename_table( + "evaluations", + "auto_evaluations", + ) + op.rename_table( + "evaluators_configs", + "auto_evaluator_configs", + ) + + op.create_table( + "evaluation_runs", + sa.Column( + "project_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "created_at", + sa.TIMESTAMP(timezone=True), + server_default=sa.text("CURRENT_TIMESTAMP"), + nullable=False, + ), + sa.Column( + "updated_at", + sa.TIMESTAMP(timezone=True), + nullable=True, + ), + sa.Column( + "deleted_at", + sa.TIMESTAMP(timezone=True), + nullable=True, + ), + sa.Column( + "created_by_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "updated_by_id", + sa.UUID(), + nullable=True, + ), + sa.Column( + "deleted_by_id", + sa.UUID(), + nullable=True, + ), + sa.Column( + "name", + sa.String(), + nullable=True, + ), + sa.Column( + "description", + sa.String(), + nullable=True, + ), + sa.Column( + "meta", + postgresql.JSONB(none_as_null=True), + nullable=True, + ), + sa.Column( + "flags", + postgresql.JSONB(none_as_null=True), + nullable=True, + ), + sa.Column( + "data", + postgresql.JSONB(none_as_null=True), + nullable=True, + ), + sa.Column( + "status", + sa.VARCHAR, + nullable=False, + ), + sa.PrimaryKeyConstraint( + "project_id", + "id", + ), + sa.ForeignKeyConstraint( + ["project_id"], + ["projects.id"], + ondelete="CASCADE", + ), + sa.Index( + "ix_evaluation_runs_project_id", + "project_id", + ), + ) + + op.create_table( + "evaluation_scenarios", + sa.Column( + "project_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "created_at", + sa.TIMESTAMP(timezone=True), + server_default=sa.text("CURRENT_TIMESTAMP"), + nullable=False, + ), + sa.Column( + "updated_at", + sa.TIMESTAMP(timezone=True), + nullable=True, + ), + sa.Column( + "deleted_at", + sa.TIMESTAMP(timezone=True), + nullable=True, + ), + sa.Column( + "created_by_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "updated_by_id", + sa.UUID(), + nullable=True, + ), + sa.Column( + "deleted_by_id", + sa.UUID(), + nullable=True, + ), + sa.Column( + "meta", + postgresql.JSONB(none_as_null=True), + nullable=True, + ), + sa.Column( + "flags", + postgresql.JSONB(none_as_null=True), + nullable=True, + ), + sa.Column( + "status", + sa.VARCHAR, + nullable=False, + ), + sa.Column( + "run_id", + sa.UUID(), + nullable=False, + ), + sa.PrimaryKeyConstraint( + "project_id", + "id", + ), + sa.ForeignKeyConstraint( + ["project_id"], + ["projects.id"], + ondelete="CASCADE", + ), + sa.ForeignKeyConstraint( + ["project_id", "run_id"], + ["evaluation_runs.project_id", "evaluation_runs.id"], + ondelete="CASCADE", + ), + sa.Index( + "ix_evaluation_scenarios_project_id", + "project_id", + ), + sa.Index( + "ix_evaluation_scenarios_run_id", + "run_id", + ), + ) + + op.create_table( + "evaluation_steps", + sa.Column( + "project_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "created_at", + sa.TIMESTAMP(timezone=True), + server_default=sa.text("CURRENT_TIMESTAMP"), + nullable=False, + ), + sa.Column( + "updated_at", + sa.TIMESTAMP(timezone=True), + nullable=True, + ), + sa.Column( + "deleted_at", + sa.TIMESTAMP(timezone=True), + nullable=True, + ), + sa.Column( + "created_by_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "updated_by_id", + sa.UUID(), + nullable=True, + ), + sa.Column( + "deleted_by_id", + sa.UUID(), + nullable=True, + ), + sa.Column( + "meta", + postgresql.JSONB(none_as_null=True), + nullable=True, + ), + sa.Column( + "flags", + postgresql.JSONB(none_as_null=True), + nullable=True, + ), + sa.Column( + "status", + sa.VARCHAR, + nullable=False, + ), + sa.Column( + "timestamp", + sa.TIMESTAMP(timezone=True), + nullable=False, + ), + sa.Column( + "key", + sa.String(), + nullable=False, + ), + sa.Column( + "repeat_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "retry_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "hash_id", + sa.UUID(), + nullable=True, + ), + sa.Column( + "trace_id", + sa.UUID(), + nullable=True, + ), + sa.Column( + "testcase_id", + sa.UUID(), + nullable=True, + ), + sa.Column( + "error", + postgresql.JSONB(none_as_null=True), + nullable=True, + ), + sa.Column( + "scenario_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "run_id", + sa.UUID(), + nullable=False, + ), + sa.PrimaryKeyConstraint( + "project_id", + "id", + ), + sa.ForeignKeyConstraint( + ["project_id"], + ["projects.id"], + ondelete="CASCADE", + ), + sa.ForeignKeyConstraint( + ["project_id", "run_id"], + ["evaluation_runs.project_id", "evaluation_runs.id"], + ondelete="CASCADE", + ), + sa.ForeignKeyConstraint( + ["project_id", "scenario_id"], + ["evaluation_scenarios.project_id", "evaluation_scenarios.id"], + ondelete="CASCADE", + ), + sa.UniqueConstraint( + "project_id", + "run_id", + "scenario_id", + "key", + "retry_id", + "retry_id", + ), + sa.Index( + "ix_evaluation_steps_project_id", + "project_id", + ), + sa.Index( + "ix_evaluation_steps_scenario_id", + "scenario_id", + ), + sa.Index( + "ix_evaluation_steps_run_id", + "run_id", + ), + ) + + op.create_table( + "evaluation_metrics", + sa.Column( + "project_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "id", + sa.UUID(), + nullable=True, + ), + sa.Column( + "created_at", + sa.TIMESTAMP(timezone=True), + server_default=sa.text("CURRENT_TIMESTAMP"), + nullable=False, + ), + sa.Column( + "updated_at", + sa.TIMESTAMP(timezone=True), + nullable=True, + ), + sa.Column( + "deleted_at", + sa.TIMESTAMP(timezone=True), + nullable=True, + ), + sa.Column( + "created_by_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "updated_by_id", + sa.UUID(), + nullable=True, + ), + sa.Column( + "deleted_by_id", + sa.UUID(), + nullable=True, + ), + sa.Column( + "meta", + postgresql.JSONB(none_as_null=True), + nullable=True, + ), + sa.Column( + "flags", + postgresql.JSONB(none_as_null=True), + nullable=True, + ), + sa.Column( + "data", + postgresql.JSONB(none_as_null=True), + nullable=True, + ), + sa.Column( + "status", + sa.VARCHAR, + nullable=False, + ), + sa.Column( + "scenario_id", + sa.UUID(), + nullable=True, + ), + sa.Column( + "run_id", + sa.UUID(), + nullable=False, + ), + sa.PrimaryKeyConstraint( + "project_id", + "id", + ), + sa.ForeignKeyConstraint( + ["project_id"], + ["projects.id"], + ondelete="CASCADE", + ), + sa.ForeignKeyConstraint( + ["project_id", "run_id"], + ["evaluation_runs.project_id", "evaluation_runs.id"], + ondelete="CASCADE", + ), + sa.ForeignKeyConstraint( + ["project_id", "scenario_id"], + ["evaluation_scenarios.project_id", "evaluation_scenarios.id"], + ondelete="CASCADE", + ), + sa.UniqueConstraint( + "project_id", + "run_id", + "scenario_id", + ), + sa.Index( + "ix_evaluation_metrics_project_id", + "project_id", + ), + sa.Index( + "ix_evaluation_metrics_run_id", + "run_id", + ), + sa.Index( + "ix_evaluation_metrics_scenario_id", + "scenario_id", + ), + ) + + +def downgrade() -> None: + op.drop_table("evaluation_metrics") + op.drop_table("evaluation_steps") + op.drop_table("evaluation_scenarios") + op.drop_table("evaluation_runs") + + op.rename_table( + "auto_evaluator_configs", + "evaluators_configs", + ) + + op.rename_table( + "auto_evaluations", + "evaluations", + ) + op.rename_table( + "auto_evaluation_scenarios", + "evaluation_scenarios", + ) + op.rename_table( + "auto_evaluation_scenario_results", + "evaluation_scenario_results", + ) + op.rename_table( + "auto_evaluation_evaluator_configs", + "evaluation_evaluator_configs", + ) + op.rename_table( + "auto_evaluation_aggregated_results", + "evaluation_aggregated_results", + ) diff --git a/api/ee/databases/postgres/migrations/core/versions/5a71b3f140ab_fix_all_preview_schemas.py b/api/ee/databases/postgres/migrations/core/versions/5a71b3f140ab_fix_all_preview_schemas.py new file mode 100644 index 0000000000..62d244d1e1 --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/versions/5a71b3f140ab_fix_all_preview_schemas.py @@ -0,0 +1,426 @@ +"""fix all preview schemas + +Revision ID: 5a71b3f140ab +Revises: 8089ee7692d1 +Create Date: 2025-09-03 14:28:06.362553 + +""" + +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import postgresql + +revision: str = "5a71b3f140ab" +down_revision: Union[str, None] = "8089ee7692d1" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + # EVALUATION RUNS ---------------------------------------------------------- + + op.add_column( + "evaluation_runs", + sa.Column( + "references", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + ) + + op.create_index( + "ix_evaluation_runs_references", + "evaluation_runs", + ["references"], + unique=False, + postgresql_using="gin", + postgresql_ops={"references": "jsonb_path_ops"}, + ) + op.create_index( + "ix_evaluation_runs_flags", + "evaluation_runs", + ["flags"], + unique=False, + postgresql_using="gin", + ) + op.create_index( + "ix_evaluation_runs_tags", + "evaluation_runs", + ["tags"], + unique=False, + postgresql_using="gin", + ) + + # EVALUATION SCENARIOS ----------------------------------------------------- + + op.add_column( + "evaluation_scenarios", + sa.Column( + "interval", + postgresql.INTEGER(), + nullable=True, + ), + ) + + op.create_index( + "ix_evaluation_scenarios_timestamp_interval", + "evaluation_scenarios", + ["timestamp", "interval"], + unique=False, + ) + op.create_index( + "ix_evaluation_scenarios_flags", + "evaluation_scenarios", + ["flags"], + unique=False, + postgresql_using="gin", + ) + op.create_index( + "ix_evaluation_scenarios_tags", + "evaluation_scenarios", + ["tags"], + unique=False, + postgresql_using="gin", + ) + + # EVALUATION RESULTS ------------------------------------------------------- + + op.alter_column( + "evaluation_steps", + "timestamp", + existing_type=postgresql.TIMESTAMP(timezone=True), + nullable=True, + ) + op.add_column( + "evaluation_steps", + sa.Column( + "interval", + postgresql.INTEGER(), + nullable=True, + ), + ) + + op.create_unique_constraint( + "uq_evaluation_steps_project_run_scenario_step_repeat", + "evaluation_steps", + ["project_id", "run_id", "scenario_id", "step_key", "repeat_idx"], + ) + + op.create_index( + "ix_evaluation_steps_tags", + "evaluation_steps", + ["tags"], + unique=False, + postgresql_using="gin", + ) + op.create_index( + "ix_evaluation_steps_flags", + "evaluation_steps", + ["flags"], + unique=False, + postgresql_using="gin", + ) + op.create_index( + "ix_evaluation_steps_timestamp_interval", + "evaluation_steps", + ["timestamp", "interval"], + unique=False, + ) + op.create_index( + "ix_evaluation_steps_repeat_idx", + "evaluation_steps", + ["repeat_idx"], + unique=False, + ) + op.create_index( + "ix_evaluation_steps_step_key", + "evaluation_steps", + ["step_key"], + unique=False, + ) + + op.rename_table("evaluation_steps", "evaluation_results") + + op.execute( + "ALTER TABLE evaluation_results RENAME CONSTRAINT " + "uq_evaluation_steps_project_run_scenario_step_repeat TO " + "uq_evaluation_results_project_run_scenario_step_repeat" + ) + + op.execute( + "ALTER INDEX ix_evaluation_steps_project_id RENAME TO ix_evaluation_results_project_id" + ) + op.execute( + "ALTER INDEX ix_evaluation_steps_run_id RENAME TO ix_evaluation_results_run_id" + ) + op.execute( + "ALTER INDEX ix_evaluation_steps_scenario_id RENAME TO ix_evaluation_results_scenario_id" + ) + op.execute( + "ALTER INDEX ix_evaluation_steps_step_key RENAME TO ix_evaluation_results_step_key" + ) + op.execute( + "ALTER INDEX ix_evaluation_steps_repeat_idx RENAME TO ix_evaluation_results_repeat_idx" + ) + op.execute( + "ALTER INDEX ix_evaluation_steps_timestamp_interval RENAME TO ix_evaluation_results_timestamp_interval" + ) + op.execute( + "ALTER INDEX ix_evaluation_steps_flags RENAME TO ix_evaluation_results_flags" + ) + op.execute( + "ALTER INDEX ix_evaluation_steps_tags RENAME TO ix_evaluation_results_tags" + ) + + # EVALUATION METRICS ------------------------------------------------------- + + op.add_column( + "evaluation_metrics", + sa.Column( + "interval", + postgresql.INTEGER(), + nullable=True, + ), + ) + + op.drop_constraint( + op.f("evaluation_metrics_project_id_run_id_scenario_id_key"), + "evaluation_metrics", + type_="unique", + ) + + op.create_unique_constraint( + "uq_evaluation_metrics_project_run_scenario_timestamp_interval", + "evaluation_metrics", + ["project_id", "run_id", "scenario_id", "timestamp", "interval"], + ) + + op.create_index( + "ix_evaluation_metrics_timestamp_interval", + "evaluation_metrics", + ["timestamp", "interval"], + unique=False, + ) + op.create_index( + "ix_evaluation_metrics_flags", + "evaluation_metrics", + ["flags"], + unique=False, + postgresql_using="gin", + ) + op.create_index( + "ix_evaluation_metrics_tags", + "evaluation_metrics", + ["tags"], + unique=False, + postgresql_using="gin", + ) + + # EVALUATION QUEUES -------------------------------------------------------- + + op.add_column( + "evaluation_queues", + sa.Column( + "name", + sa.String(), + nullable=True, + ), + ) + op.add_column( + "evaluation_queues", + sa.Column( + "description", + sa.String(), + nullable=True, + ), + ) + op.add_column( + "evaluation_queues", + sa.Column( + "status", + sa.VARCHAR(), + nullable=False, + server_default=sa.text("'pending'::varchar"), + ), + ) + + op.create_index( + "ix_evaluation_queues_flags", + "evaluation_queues", + ["flags"], + unique=False, + postgresql_using="gin", + ) + op.create_index( + "ix_evaluation_queues_tags", + "evaluation_queues", + ["tags"], + unique=False, + postgresql_using="gin", + ) + + # -------------------------------------------------------------------------- + + +def downgrade() -> None: + # EVALUATION QUEUES -------------------------------------------------------- + + op.drop_index( + "ix_evaluation_queues_tags", + table_name="evaluation_queues", + ) + op.drop_index( + "ix_evaluation_queues_flags", + table_name="evaluation_queues", + ) + + op.drop_column( + "evaluation_queues", + "status", + ) + op.drop_column( + "evaluation_queues", + "description", + ) + op.drop_column( + "evaluation_queues", + "name", + ) + + # EVALUATION METRICS ------------------------------------------------------- + + op.drop_index( + "ix_evaluation_metrics_tags", + table_name="evaluation_metrics", + ) + op.drop_index( + "ix_evaluation_metrics_flags", + table_name="evaluation_metrics", + ) + op.drop_index( + "ix_evaluation_metrics_timestamp_interval", + table_name="evaluation_metrics", + ) + + op.drop_constraint( + "uq_evaluation_metrics_project_run_scenario_timestamp_interval", + "evaluation_metrics", + type_="unique", + ) + + op.create_unique_constraint( + op.f("evaluation_metrics_project_id_run_id_scenario_id_key"), + "evaluation_metrics", + ["project_id", "run_id", "scenario_id"], + postgresql_nulls_not_distinct=False, + ) + + op.drop_column("evaluation_metrics", "interval") + + # EVALUATION RESULTS ------------------------------------------------------- + + op.execute( + "ALTER INDEX ix_evaluation_results_tags RENAME TO ix_evaluation_steps_tags" + ) + op.execute( + "ALTER INDEX ix_evaluation_results_flags RENAME TO ix_evaluation_steps_flags" + ) + op.execute( + "ALTER INDEX ix_evaluation_results_timestamp_interval RENAME TO ix_evaluation_steps_timestamp_interval" + ) + op.execute( + "ALTER INDEX ix_evaluation_results_repeat_idx RENAME TO ix_evaluation_steps_repeat_idx" + ) + op.execute( + "ALTER INDEX ix_evaluation_results_step_key RENAME TO ix_evaluation_steps_step_key" + ) + op.execute( + "ALTER INDEX ix_evaluation_results_scenario_id RENAME TO ix_evaluation_steps_scenario_id" + ) + op.execute( + "ALTER INDEX ix_evaluation_results_run_id RENAME TO ix_evaluation_steps_run_id" + ) + op.execute( + "ALTER INDEX ix_evaluation_results_project_id RENAME TO ix_evaluation_steps_project_id" + ) + + op.execute( + "ALTER TABLE evaluation_results RENAME CONSTRAINT uq_evaluation_results_project_run_scenario_step_repeat " + "TO uq_evaluation_steps_project_run_scenario_step_repeat" + ) + + op.rename_table("evaluation_results", "evaluation_steps") + + op.drop_index( + "ix_evaluation_steps_tags", + table_name="evaluation_steps", + ) + op.drop_index( + "ix_evaluation_steps_flags", + table_name="evaluation_steps", + ) + op.drop_index( + "ix_evaluation_steps_timestamp_interval", + table_name="evaluation_steps", + ) + op.drop_index( + "ix_evaluation_steps_repeat_idx", + table_name="evaluation_steps", + ) + op.drop_index( + "ix_evaluation_steps_step_key", + table_name="evaluation_steps", + ) + + op.drop_constraint( + "uq_evaluation_steps_project_run_scenario_step_repeat", + "evaluation_steps", + type_="unique", + ) + + op.alter_column( + "evaluation_steps", + "timestamp", + existing_type=postgresql.TIMESTAMP(timezone=True), + nullable=False, + ) + + op.drop_column("evaluation_steps", "interval") + + # EVALUATION SCENARIOS ----------------------------------------------------- + + op.drop_index( + "ix_evaluation_scenarios_tags", + table_name="evaluation_scenarios", + ) + op.drop_index( + "ix_evaluation_scenarios_flags", + table_name="evaluation_scenarios", + ) + op.drop_index( + "ix_evaluation_scenarios_timestamp_interval", + table_name="evaluation_scenarios", + ) + + op.drop_column("evaluation_scenarios", "interval") + + # EVALUATION RUNS ---------------------------------------------------------- + + op.drop_index( + "ix_evaluation_runs_tags", + table_name="evaluation_runs", + ) + op.drop_index( + "ix_evaluation_runs_flags", + table_name="evaluation_runs", + ) + op.drop_index( + "ix_evaluation_runs_references", + table_name="evaluation_runs", + ) + + op.drop_column("evaluation_runs", "references") + + # -------------------------------------------------------------------------- diff --git a/api/ee/databases/postgres/migrations/core/versions/6161b674688d_add_commit_message_column_to_app_.py b/api/ee/databases/postgres/migrations/core/versions/6161b674688d_add_commit_message_column_to_app_.py new file mode 100644 index 0000000000..81d1ee6046 --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/versions/6161b674688d_add_commit_message_column_to_app_.py @@ -0,0 +1,39 @@ +"""add commit_message column to app_variants, app_variant_revisions and environments_revisions table + +Revision ID: 6161b674688d +Revises: 2a91436752f9 +Create Date: 2025-03-27 08:23:07.894643 + +""" + +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import postgresql + +# revision identifiers, used by Alembic. +revision: str = "6161b674688d" +down_revision: Union[str, None] = "2a91436752f9" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.add_column( + "app_variant_revisions", + sa.Column("commit_message", sa.String(length=255), nullable=True), + ) + op.add_column( + "environments_revisions", + sa.Column("commit_message", sa.String(length=255), nullable=True), + ) + # ### end Alembic commands ### + + +def downgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.drop_column("environments_revisions", "commit_message") + op.drop_column("app_variant_revisions", "commit_message") + # ### end Alembic commands ### diff --git a/api/ee/databases/postgres/migrations/core/versions/6965776e6940_add_subscriptions.py b/api/ee/databases/postgres/migrations/core/versions/6965776e6940_add_subscriptions.py new file mode 100644 index 0000000000..b6b76bc89f --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/versions/6965776e6940_add_subscriptions.py @@ -0,0 +1,40 @@ +"""add subscriptions + +Revision ID: 6965776e6940 +Revises: 425c68e8de6c +Create Date: 2025-01-23 13:42:47.716771 + +""" + +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import postgresql + +# revision identifiers, used by Alembic. +revision: str = "6965776e6940" +down_revision: Union[str, None] = "7cc66fc40298" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.create_table( + "subscriptions", + sa.Column("plan", sa.String(), nullable=False), + sa.Column("active", sa.Boolean(), nullable=False), + sa.Column("organization_id", sa.UUID(), nullable=False), + sa.Column("customer_id", sa.String(), nullable=True), + sa.Column("subscription_id", sa.String(), nullable=True), + sa.Column("anchor", sa.SmallInteger(), nullable=True), + sa.PrimaryKeyConstraint("organization_id"), + ) + # ### end Alembic commands ### + + +def downgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.drop_table("subscriptions") + # ### end Alembic commands ### diff --git a/api/ee/databases/postgres/migrations/core/versions/6aafdfc2befb_rename_user_organizations_to_organization_members.py b/api/ee/databases/postgres/migrations/core/versions/6aafdfc2befb_rename_user_organizations_to_organization_members.py new file mode 100644 index 0000000000..02fb6c9eef --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/versions/6aafdfc2befb_rename_user_organizations_to_organization_members.py @@ -0,0 +1,63 @@ +"""created project_members table and added organization&workspace id to projects table + +Revision ID: 6aafdfc2befb +Revises: 8accbbea1d21 +Create Date: 2024-09-02 15:50:58.870573 + +""" + +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision: str = "6aafdfc2befb" +down_revision: Union[str, None] = "e14e8689cd03" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.create_table( + "organization_members", + sa.Column("id", sa.UUID(), nullable=False), + sa.Column("user_id", sa.UUID(), nullable=True), + sa.Column("organization_id", sa.UUID(), nullable=True), + sa.ForeignKeyConstraint( + ["organization_id"], + ["organizations.id"], + ), + sa.ForeignKeyConstraint( + ["user_id"], + ["users.id"], + ), + sa.PrimaryKeyConstraint("id"), + sa.UniqueConstraint("id"), + ) + # ### end Alembic commands ### + + +def downgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + connection = op.get_bind() + inspector = sa.inspect(connection) + if "user_organizations" not in inspector.get_table_names(): + op.create_table( + "user_organizations", + sa.Column("id", sa.UUID(), autoincrement=False, nullable=False), + sa.Column("user_id", sa.UUID(), autoincrement=False, nullable=True), + sa.Column("organization_id", sa.UUID(), autoincrement=False, nullable=True), + sa.ForeignKeyConstraint( + ["organization_id"], + ["organizations.id"], + name="user_organizations_organization_id_fkey", + ), + sa.ForeignKeyConstraint( + ["user_id"], ["users.id"], name="user_organizations_user_id_fkey" + ), + sa.PrimaryKeyConstraint("id", name="user_organizations_pkey"), + ) + # ### end Alembic commands ### diff --git a/api/ee/databases/postgres/migrations/core/versions/73a2d8cfaa3c_add_is_demo_flag.py b/api/ee/databases/postgres/migrations/core/versions/73a2d8cfaa3c_add_is_demo_flag.py new file mode 100644 index 0000000000..94eed007df --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/versions/73a2d8cfaa3c_add_is_demo_flag.py @@ -0,0 +1,30 @@ +"""add initial demo + +Revision ID: 73a2d8cfaa3c +Revises: 24f8bdb390ee +Create Date: 2024-12-02 9:00:00 + +""" + +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa + +# revision identifiers, used by Alembic. +revision: str = "73a2d8cfaa3c" +down_revision: Union[str, None] = "24f8bdb390ee" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + # ### custom data migrations ### + op.add_column("project_members", sa.Column("is_demo", sa.BOOLEAN(), nullable=True)) + # ### end of custom data commands ### + + +def downgrade() -> None: + # ### custom data migrations ### + op.drop_column("project_members", "is_demo") + # ### end of custom data commands ### diff --git a/api/ee/databases/postgres/migrations/core/versions/73a2d8cfaa3d_add_initial_demo.py b/api/ee/databases/postgres/migrations/core/versions/73a2d8cfaa3d_add_initial_demo.py new file mode 100644 index 0000000000..f20dfb0e2d --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/versions/73a2d8cfaa3d_add_initial_demo.py @@ -0,0 +1,36 @@ +"""add initial demo + +Revision ID: 73a2d8cfaa3d +Revises: 73a2d8cfaa3c +Create Date: 2024-12-02 9:00:00 + +""" + +from typing import Sequence, Union + +from alembic import context + +from ee.databases.postgres.migrations.core.data_migrations.demos import ( + add_users_to_demos, + remove_users_from_demos, +) + +# revision identifiers, used by Alembic. +revision: str = "73a2d8cfaa3d" +down_revision: Union[str, None] = "73a2d8cfaa3c" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + # ### custom data migrations ### + connection = context.get_bind() # get database connect from alembic context + add_users_to_demos(session=connection) + # ### end of custom data commands ### + + +def downgrade() -> None: + # ### custom data migrations ### + connection = context.get_bind() # get database connect from alembic context + remove_users_from_demos(session=connection) + # ### end of custom data commands ### diff --git a/api/ee/databases/postgres/migrations/core/versions/770d68410ab0_transfer_user_organization_to_.py b/api/ee/databases/postgres/migrations/core/versions/770d68410ab0_transfer_user_organization_to_.py new file mode 100644 index 0000000000..a69fbc2b6b --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/versions/770d68410ab0_transfer_user_organization_to_.py @@ -0,0 +1,35 @@ +"""transfer user organization to organization members + +Revision ID: 770d68410ab0 +Revises: 79b9acb137a1 +Create Date: 2024-09-08 18:21:27.192472 + +""" + +from typing import Sequence, Union +from alembic import context +from alembic import op + + +from ee.databases.postgres.migrations.core.data_migrations.export_records import ( + transfer_records_from_user_organization_to_organization_members, + transfer_records_from_organization_members_to_user_organization, +) + + +# revision identifiers, used by Alembic. +revision: str = "770d68410ab0" +down_revision: Union[str, None] = "79b9acb137a1" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + connection = context.get_bind() # get database connect from alembic context + transfer_records_from_user_organization_to_organization_members(session=connection) + + +def downgrade() -> None: + connection = context.get_bind() # get database connect from alembic context + transfer_records_from_organization_members_to_user_organization(session=connection) + op.drop_table("organization_members") diff --git a/api/ee/databases/postgres/migrations/core/versions/7990f1e12f47_create_free_plans.py b/api/ee/databases/postgres/migrations/core/versions/7990f1e12f47_create_free_plans.py new file mode 100644 index 0000000000..3061a4d230 --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/versions/7990f1e12f47_create_free_plans.py @@ -0,0 +1,360 @@ +"""create free plans + +Revision ID: 7990f1e12f47 +Revises: 12f477990f1e +Create Date: 2025-01-25 16:51:06.233811 + +""" + +from typing import Sequence, Union +from os import environ +from datetime import datetime, timezone +from time import time + +from alembic import context + +from sqlalchemy import Connection, func, insert, select, update + +import stripe + +from oss.src.utils.logging import get_module_logger +from oss.src.models.db_models import UserDB +from oss.src.models.db_models import AppDB +from ee.src.models.db_models import OrganizationDB +from ee.src.models.db_models import OrganizationMemberDB +from ee.src.models.db_models import ProjectDB +from ee.src.models.db_models import ProjectMemberDB +from ee.src.dbs.postgres.subscriptions.dbes import SubscriptionDBE +from ee.src.dbs.postgres.meters.dbes import MeterDBE +from ee.src.core.subscriptions.types import FREE_PLAN +from ee.src.core.entitlements.types import Gauge + +stripe.api_key = environ.get("STRIPE_API_KEY") + +log = get_module_logger(__name__) + +# revision identifiers, used by Alembic. +revision: str = "7990f1e12f47" +down_revision: Union[str, None] = "12f477990f1e" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + try: + session: Connection = context.get_bind() + + now = datetime.now(timezone.utc) + + # --> GET ORGANIZATION COUNT + query = select(func.count()).select_from(OrganizationDB) + + nof_organizations = session.execute(query).scalar() + # <-- GET ORGANIZATION COUNT + + # --> ITERATE OVER ORGANIZATION BATCHES + organization_batch_size = 100 + organization_batch_index = 0 + + while True: + # --> GET ORGANIZATION BATCH + query = ( + select(OrganizationDB) + .limit(organization_batch_size) + .offset(organization_batch_index * organization_batch_size) + ) + + organizations = session.execute(query).all() + + organization_batch_index += 1 + + if not organizations: + break + # <-- GET ORGANIZATION BATCH + + # --> ITERATE OVER ORGANIZATIONS + for i, organization in enumerate(organizations): + log.info( + " %s / %s - %s", + (organization_batch_index - 1) * organization_batch_size + i + 1, + nof_organizations, + organization.id, + ) + + ti = time() + + # xti = time() + # --> GET ORGANIZATION INFO + owner = organization.owner + + if not owner: + continue + + query = select(UserDB).where( + UserDB.id == owner, + ) + + user = session.execute(query).first() + + if not user: + continue + + email = user.email + + if not email: + continue + # <-- GET ORGANIZATION INFO + # xtf = time() + # xdt = xtf - xti + # log.info(" - GET ORGANIZATION INFO: %s ms", int(xdt * 1000)) + + # xti = time() + # --> CHECK IF SUBSCRIPTION EXISTS + organization_id = organization.id + customer_id = None + subscription_id = None + plan = FREE_PLAN + active = True + anchor = now.day + + subscription_exists = ( + session.execute( + select(SubscriptionDBE).where( + SubscriptionDBE.organization_id == organization_id, + ) + ) + .scalars() + .first() + ) + # <-- CHECK IF SUBSCRIPTION EXISTS + # xtf = time() + # xdt = xtf - xti + # log.info(" - CHECK IF SUBSCRIPTION EXISTS: %s ms", int(xdt * 1000)) + + # xti = time() + # --> CREATE OR UPDATE SUBSCRIPTION + if not subscription_exists: + query = insert(SubscriptionDBE).values( + organization_id=organization_id, + subscription_id=subscription_id, + customer_id=customer_id, + plan=plan.value, + active=active, + anchor=anchor, + ) + + session.execute(query) + else: + query = ( + update(SubscriptionDBE) + .where( + SubscriptionDBE.organization_id == organization_id, + ) + .values( + subscription_id=subscription_id, + customer_id=customer_id, + plan=plan.value, + active=active, + anchor=anchor, + ) + ) + + session.execute(query) + # <-- CREATE OR UPDATE SUBSCRIPTION + # xtf = time() + # xdt = xtf - xti + # log.info(" - CREATE OR UPDATE SUBSCRIPTION: %s ms", int(xdt * 1000)) + + # xti = time() + # --> GET ORGANIZATION MEMBERS + query = ( + select(func.count()) + .select_from(OrganizationMemberDB) + .where( + OrganizationMemberDB.organization_id == organization.id, + ) + ) + + nof_members = session.execute(query).scalar() + # <-- GET ORGANIZATION MEMBERS + # xtf = time() + # xdt = xtf - xti + # log.info(" - GET ORGANIZATION MEMBERS: %s ms", int(xdt * 1000)) + + # xti = time() + # --> CHECK IF USERS METER EXISTS + key = Gauge.USERS + value = nof_members + synced = 0 + # organization_id = organization_id + year = 0 + month = 0 + + users_meter_exists = ( + session.execute( + select(MeterDBE).where( + MeterDBE.organization_id == organization_id, + MeterDBE.key == key, + MeterDBE.year == year, + MeterDBE.month == month, + ) + ) + .scalars() + .first() + ) + # <-- CHECK IF USERS METER EXISTS + # xtf = time() + # xdt = xtf - xti + # log.info(" - CHECK IF USERS METER EXISTS: %s ms", int(xdt * 1000)) + + # xti = time() + # --> CREATE OR UPDATE USERS METER + if not users_meter_exists: + query = insert(MeterDBE).values( + organization_id=organization_id, + key=key, + year=year, + month=month, + value=value, + synced=synced, + ) + + session.execute(query) + else: + query = ( + update(MeterDBE) + .where( + MeterDBE.organization_id == organization_id, + MeterDBE.key == key, + MeterDBE.year == year, + MeterDBE.month == month, + ) + .values( + value=value, + synced=synced, + ) + ) + + session.execute(query) + # <-- CREATE OR UPDATE USERS METER + # xtf = time() + # xdt = xtf - xti + # log.info(" - CREATE OR UPDATE USERS METER: %s ms", int(xdt * 1000)) + + # xti = time() + # --> GET ORGANIZATION PROJECTS + query = select(ProjectDB).where( + ProjectDB.organization_id == organization_id, + ) + + projects = session.execute(query).all() + # <-- GET ORGANIZATION PROJECTS + # xtf = time() + # xdt = xtf - xti + # log.info(" - GET ORGANIZATION PROJECTS: %s ms", int(xdt * 1000)) + + # xti = time() + # --> ITERATE OVER PROJECTS + value = 0 + + for project in projects: + # --> GET PROJECT APPLICATIONS + query = select(AppDB).where( + AppDB.project_id == project.id, + ) + + apps = session.execute(query).scalars().all() + # <-- GET PROJECT APPLICATIONS + + value += len(apps) + # <-- ITERATE OVER PROJECTS + # xtf = time() + # xdt = xtf - xti + # log.info(" - ITERATE OVER PROJECTS: %s ms", int(xdt * 1000)) + + # xti = time() + # --> CHECK IF APPLICATIONS METER EXISTS + key = Gauge.APPLICATIONS + # value = value + synced = 0 + # organization_id = organization_id + year = 0 + month = 0 + + applications_meter_exists = ( + session.execute( + select(MeterDBE).where( + MeterDBE.organization_id == organization_id, + MeterDBE.key == key, + MeterDBE.year == year, + MeterDBE.month == month, + ) + ) + .scalars() + .first() + ) + # <-- CHECK IF APPLICATIONS METER EXISTS + # xtf = time() + # xdt = xtf - xti + # log.info( + # " - CHECK IF APPLICATIONS METER EXISTS: %s ms", int(xdt * 1000) + # ) + + # xti = time() + # --> CREATE OR UPDATE APPLICATIONS METER + if not applications_meter_exists: + query = insert(MeterDBE).values( + organization_id=organization_id, + key=key, + year=year, + month=month, + value=value, + synced=synced, + ) + + session.execute(query) + else: + query = ( + update(MeterDBE) + .where( + MeterDBE.organization_id == organization_id, + MeterDBE.key == key, + MeterDBE.year == year, + MeterDBE.month == month, + ) + .values( + value=value, + synced=synced, + ) + ) + + session.execute(query) + # <-- CREATE OR UPDATE APPLICATIONS METER + # xtf = time() + # xdt = xtf - xti + # log.info( + # " - CREATE OR UPDATE APPLICATIONS METER: %s ms", int(xdt * 1000) + # ) + + tf = time() + dt = tf - ti + log.info( + " %s / %s - %s - %s ms", + (organization_batch_index - 1) * organization_batch_size + i + 1, + nof_organizations, + organization.id, + int(dt * 1000), + ) + # <-- ITERATE OVER ORGANIZATIONS + + # <-- ITERATE OVER ORGANIZATION BATCHES + except Exception as e: # pylint: disable=broad-exception-caught + log.error("Error during free plans migration: %s", e) + session.rollback() + raise e + + log.info("Free plans migration completed successfully.") + + +def downgrade() -> None: + pass diff --git a/api/ee/databases/postgres/migrations/core/versions/79b9acb137a1_transfer_workspace_invitations_to_.py b/api/ee/databases/postgres/migrations/core/versions/79b9acb137a1_transfer_workspace_invitations_to_.py new file mode 100644 index 0000000000..bade4cb395 --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/versions/79b9acb137a1_transfer_workspace_invitations_to_.py @@ -0,0 +1,37 @@ +"""transfer workspace invitations to project invitations + +Revision ID: 79b9acb137a1 +Revises: 9b0e1a740b88 +Create Date: 2024-09-05 17:16:29.480645 + +""" + +from typing import Sequence, Union + +from alembic import context + +from ee.databases.postgres.migrations.core.data_migrations.invitations import ( + transfer_invitations_from_old_table_to_new_table, + revert_invitations_transfer_from_new_table_to_old_table, +) + + +# revision identifiers, used by Alembic. +revision: str = "79b9acb137a1" +down_revision: Union[str, None] = "9b0e1a740b88" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + # ### custom migration ### + connection = context.get_bind() # get database connect from alembic context + transfer_invitations_from_old_table_to_new_table(session=connection) + # ### end of custom migration ### + + +def downgrade() -> None: + # ### custom migration ### + connection = context.get_bind() # get database connect from alembic context + revert_invitations_transfer_from_new_table_to_old_table(session=connection) + # ### end of custom migration ### diff --git a/api/ee/databases/postgres/migrations/core/versions/7cc66fc40298_add_hidden_column_to_app_variants_table.py b/api/ee/databases/postgres/migrations/core/versions/7cc66fc40298_add_hidden_column_to_app_variants_table.py new file mode 100644 index 0000000000..d45ba53b3c --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/versions/7cc66fc40298_add_hidden_column_to_app_variants_table.py @@ -0,0 +1,35 @@ +"""add 'hidden' column to app_variants table + +Revision ID: 7cc66fc40298 +Revises: 6161b674688d +Create Date: 2025-03-27 14:40:47.770949 + +""" + +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import postgresql + +# revision identifiers, used by Alembic. +revision: str = "7cc66fc40298" +down_revision: Union[str, None] = "6161b674688d" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.add_column("app_variants", sa.Column("hidden", sa.Boolean(), nullable=True)) + op.add_column( + "app_variant_revisions", sa.Column("hidden", sa.Boolean(), nullable=True) + ) + # ### end Alembic commands ### + + +def downgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.drop_column("app_variants", "hidden") + op.drop_column("app_variant_revisions", "hidden") + # ### end Alembic commands ### diff --git a/api/ee/databases/postgres/migrations/core/versions/8089ee7692d1_cleanup_preview_entities.py b/api/ee/databases/postgres/migrations/core/versions/8089ee7692d1_cleanup_preview_entities.py new file mode 100644 index 0000000000..36e9e4edd4 --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/versions/8089ee7692d1_cleanup_preview_entities.py @@ -0,0 +1,168 @@ +"""clean up preview entities + +Revision ID: 8089ee7692d1 +Revises: fa07e07350bf +Create Date: 2025-08-20 16:00:00.00000000 + +""" + +from typing import Sequence, Union +from alembic import op +import sqlalchemy as sa + +# revision identifiers, used by Alembic. +revision: str = "8089ee7692d1" +down_revision: Union[str, None] = "fa07e07350bf" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +TABLES_WITH_DATA_MIGRATION = [ + "evaluation_runs", + "evaluation_metrics", + "evaluation_queues", + "testcase_blobs", + "testset_revisions", + "query_revisions", + "workflow_revisions", +] + +TABLES_WITH_META_MIGRATION = [ + "evaluation_runs", + "evaluation_scenarios", + "evaluation_steps", + "evaluation_metrics", + "evaluation_queues", + "testcase_blobs", + "testset_artifacts", + "testset_variants", + "testset_revisions", + "query_artifacts", + "query_variants", + "query_revisions", + "workflow_artifacts", + "workflow_variants", + "workflow_revisions", +] + + +def upgrade() -> None: + # Convert jsonb -> json for data columns + for table in TABLES_WITH_DATA_MIGRATION: + op.alter_column( + table_name=table, + column_name="data", + type_=sa.JSON(), + postgresql_using="data::json", + ) + + # Convert jsonb -> json for meta columns + for table in TABLES_WITH_META_MIGRATION: + op.alter_column( + table_name=table, + column_name="meta", + type_=sa.JSON(), + postgresql_using="meta::json", + ) + + # Add new timestamp column + op.add_column( + "evaluation_scenarios", + sa.Column( + "timestamp", + sa.TIMESTAMP(timezone=True), + nullable=True, + ), + ) + + # Add repeat_idx and drop old repeat_id + retry_id + op.add_column( + "evaluation_steps", + sa.Column( + "repeat_idx", + sa.Integer(), + nullable=True, + ), + ) + op.drop_column( + "evaluation_steps", + "repeat_id", + ) + op.drop_column( + "evaluation_steps", + "retry_id", + ) + + # Rename key -> step_key + op.alter_column( + "evaluation_steps", + "key", + new_column_name="step_key", + existing_type=sa.String(), # adjust if needed + existing_nullable=False, + ) + + op.drop_column( + "evaluation_metrics", + "interval", + ) + + +def downgrade() -> None: + op.add_column( + "evaluation_metrics", + sa.Column( + "interval", + sa.Integer(), + nullable=True, + ), + ) + + # Rename step_key back to key + op.alter_column( + "evaluation_steps", + "step_key", + new_column_name="key", + existing_type=sa.String(), # adjust if needed + existing_nullable=False, + ) + + # Recreate repeat_id and retry_id columns + op.add_column( + "evaluation_steps", + sa.Column("repeat_id", sa.UUID(), nullable=False), + ) + op.add_column( + "evaluation_steps", + sa.Column("retry_id", sa.UUID(), nullable=False), + ) + + # Drop repeat_idx column + op.drop_column( + "evaluation_steps", + "repeat_idx", + ) + + # Drop timestamp column + op.drop_column( + "evaluation_scenarios", + "timestamp", + ) + + # Convert meta columns back to jsonb + for table in TABLES_WITH_META_MIGRATION: + op.alter_column( + table_name=table, + column_name="meta", + type_=sa.dialects.postgresql.JSONB(), + postgresql_using="meta::jsonb", + ) + + # Convert data columns back to jsonb + for table in TABLES_WITH_DATA_MIGRATION: + op.alter_column( + table_name=table, + column_name="data", + type_=sa.dialects.postgresql.JSONB(), + postgresql_using="data::jsonb", + ) diff --git a/api/ee/databases/postgres/migrations/core/versions/847972cfa14a_add_nodes_dbe.py b/api/ee/databases/postgres/migrations/core/versions/847972cfa14a_add_nodes_dbe.py new file mode 100644 index 0000000000..239b9fb280 --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/versions/847972cfa14a_add_nodes_dbe.py @@ -0,0 +1,121 @@ +"""add_nodes_dbe + +Revision ID: 847972cfa14a +Revises: 320a4a7ee0c7 +Create Date: 2024-11-07 12:21:19.080345 + +""" + +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import postgresql + +# revision identifiers, used by Alembic. +revision: str = "847972cfa14a" +down_revision: Union[str, None] = "320a4a7ee0c7" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.create_table( + "nodes", + sa.Column("project_id", sa.UUID(), nullable=False), + sa.Column( + "created_at", + sa.TIMESTAMP(timezone=True), + server_default=sa.text("CURRENT_TIMESTAMP"), + nullable=False, + ), + sa.Column("updated_at", sa.TIMESTAMP(timezone=True), nullable=True), + sa.Column("updated_by_id", sa.UUID(), nullable=True), + sa.Column("root_id", sa.UUID(), nullable=False), + sa.Column("tree_id", sa.UUID(), nullable=False), + sa.Column("tree_type", sa.Enum("INVOCATION", name="treetype"), nullable=True), + sa.Column("node_id", sa.UUID(), nullable=False), + sa.Column("node_name", sa.String(), nullable=False), + sa.Column( + "node_type", + sa.Enum( + "AGENT", + "WORKFLOW", + "CHAIN", + "TASK", + "TOOL", + "EMBEDDING", + "QUERY", + "COMPLETION", + "CHAT", + "RERANK", + name="nodetype", + ), + nullable=True, + ), + sa.Column("parent_id", sa.UUID(), nullable=True), + sa.Column("time_start", sa.TIMESTAMP(), nullable=False), + sa.Column("time_end", sa.TIMESTAMP(), nullable=False), + sa.Column( + "status", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.Column( + "data", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.Column( + "metrics", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.Column( + "meta", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.Column( + "refs", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.Column( + "exception", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.Column( + "links", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.Column("content", sa.String(), nullable=True), + sa.Column( + "otel", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.PrimaryKeyConstraint("project_id", "node_id"), + ) + op.create_index( + "index_project_id_node_id", "nodes", ["project_id", "created_at"], unique=False + ) + op.create_index( + "index_project_id_root_id", "nodes", ["project_id", "root_id"], unique=False + ) + op.create_index( + "index_project_id_tree_id", "nodes", ["project_id", "tree_id"], unique=False + ) + # ### end Alembic commands ### + + +def downgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index("index_project_id_tree_id", table_name="nodes") + op.drop_index("index_project_id_root_id", table_name="nodes") + op.drop_index("index_project_id_node_id", table_name="nodes") + op.drop_table("nodes") + # ### end Alembic commands ### diff --git a/api/ee/databases/postgres/migrations/core/versions/8accbbea1d21_initial_migration.py b/api/ee/databases/postgres/migrations/core/versions/8accbbea1d21_initial_migration.py new file mode 100644 index 0000000000..d5f43f9f08 --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/versions/8accbbea1d21_initial_migration.py @@ -0,0 +1,1000 @@ +"""initial migration + +Revision ID: 8accbbea1d21 +Revises: +Create Date: 2024-07-27 16:20:33.077302 + +""" + +import os +from typing import Sequence, Union + +from alembic import op +from alembic import context + +import sqlalchemy as sa +from sqlalchemy.dialects import postgresql + +from oss.src.utils.env import env +from ee.databases.postgres.migrations.core.utils import is_initial_setup + + +# revision identifiers, used by Alembic. +revision: str = "8accbbea1d21" +down_revision: Union[str, None] = None +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def unique_constraint_exists(engine: sa.Engine, table_name: str, constraint_name: str): + with engine.connect() as conn: + result = conn.execute( + sa.text( + f""" + SELECT conname FROM pg_constraint + WHERE conname = '{constraint_name}' AND conrelid = '{table_name}'::regclass; + """ + ) + ) + return result.fetchone() is not None + + +def first_time_user_from_agenta_v019_upwards_upgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.create_table( + "api_keys", + sa.Column("id", sa.UUID(), nullable=False), + sa.Column("prefix", sa.String(), nullable=True), + sa.Column("hashed_key", sa.String(), nullable=True), + sa.Column("user_id", sa.String(), nullable=True), + sa.Column("workspace_id", sa.String(), nullable=True), + sa.Column("rate_limit", sa.Integer(), nullable=True), + sa.Column("hidden", sa.Boolean(), nullable=True), + sa.Column("expiration_date", sa.DateTime(timezone=True), nullable=True), + sa.Column("created_at", sa.DateTime(timezone=True), nullable=True), + sa.Column("updated_at", sa.DateTime(timezone=True), nullable=True), + sa.PrimaryKeyConstraint("id"), + sa.UniqueConstraint("id"), + ) + op.create_table( + "ids_mapping", + sa.Column("id", sa.UUID(), nullable=False), + sa.Column("table_name", sa.String(), nullable=False), + sa.Column("objectid", sa.String(), nullable=False), + sa.Column("uuid", sa.UUID(), nullable=False), + sa.PrimaryKeyConstraint("id"), + sa.UniqueConstraint("id"), + ) + op.create_table( + "invitations", + sa.Column("id", sa.UUID(), nullable=False), + sa.Column("token", sa.String(), nullable=False), + sa.Column("email", sa.String(), nullable=False), + sa.Column("organization_id", sa.String(), nullable=False), + sa.Column("used", sa.Boolean(), nullable=True), + sa.Column("workspace_id", sa.String(), nullable=False), + sa.Column( + "workspace_roles", postgresql.JSONB(astext_type=sa.Text()), nullable=True + ), + sa.Column("expiration_date", sa.DateTime(timezone=True), nullable=True), + sa.Column("created_at", sa.DateTime(timezone=True), nullable=True), + sa.PrimaryKeyConstraint("id"), + sa.UniqueConstraint("id"), + sa.UniqueConstraint("token"), + ) + op.create_table( + "organizations", + sa.Column("id", sa.UUID(), nullable=False), + sa.Column("name", sa.String(), nullable=True), + sa.Column("description", sa.String(), nullable=True), + sa.Column("type", sa.String(), nullable=True), + sa.Column("owner", sa.String(), nullable=True), + sa.Column("created_at", sa.DateTime(timezone=True), nullable=True), + sa.Column("updated_at", sa.DateTime(timezone=True), nullable=True), + sa.Column("is_paying", sa.Boolean(), nullable=True), + sa.PrimaryKeyConstraint("id"), + sa.UniqueConstraint("id"), + ) + op.create_table( + "templates", + sa.Column("id", sa.UUID(), nullable=False), + sa.Column("type", sa.Enum("IMAGE", "ZIP", name="templatetype"), nullable=False), + sa.Column("template_uri", sa.String(), nullable=True), + sa.Column("tag_id", sa.Integer(), nullable=True), + sa.Column("name", sa.String(), nullable=True), + sa.Column("repo_name", sa.String(), nullable=True), + sa.Column("title", sa.String(), nullable=True), + sa.Column("description", sa.String(), nullable=True), + sa.Column("size", sa.Integer(), nullable=True), + sa.Column("digest", sa.String(), nullable=True), + sa.Column("last_pushed", sa.DateTime(timezone=True), nullable=True), + sa.PrimaryKeyConstraint("id"), + sa.UniqueConstraint("id"), + sa.UniqueConstraint("name"), + ) + op.create_table( + "users", + sa.Column("id", sa.UUID(), nullable=False), + sa.Column("uid", sa.String(), nullable=True), + sa.Column("username", sa.String(), nullable=True), + sa.Column("email", sa.String(), nullable=True), + sa.Column("created_at", sa.DateTime(timezone=True), nullable=True), + sa.Column("updated_at", sa.DateTime(timezone=True), nullable=True), + sa.PrimaryKeyConstraint("id"), + sa.UniqueConstraint("email"), + sa.UniqueConstraint("id"), + ) + op.create_index(op.f("ix_users_uid"), "users", ["uid"], unique=True) + op.create_table( + "user_organizations", + sa.Column("id", sa.UUID(), nullable=False), + sa.Column("user_id", sa.UUID(), nullable=True), + sa.Column("organization_id", sa.UUID(), nullable=True), + sa.ForeignKeyConstraint( + ["organization_id"], + ["organizations.id"], + ), + sa.ForeignKeyConstraint( + ["user_id"], + ["users.id"], + ), + sa.PrimaryKeyConstraint("id"), + sa.UniqueConstraint("id"), + ) + op.create_table( + "workspaces", + sa.Column("id", sa.UUID(), nullable=False), + sa.Column("name", sa.String(), nullable=True), + sa.Column("type", sa.String(), nullable=True), + sa.Column("description", sa.String(), nullable=True), + sa.Column("organization_id", sa.UUID(), nullable=True), + sa.Column("created_at", sa.DateTime(timezone=True), nullable=True), + sa.Column("updated_at", sa.DateTime(timezone=True), nullable=True), + sa.ForeignKeyConstraint( + ["organization_id"], ["organizations.id"], ondelete="SET NULL" + ), + sa.PrimaryKeyConstraint("id"), + sa.UniqueConstraint("id"), + ) + op.create_table( + "app_db", + sa.Column("id", sa.UUID(), nullable=False), + sa.Column("app_name", sa.String(), nullable=True), + sa.Column("user_id", sa.UUID(), nullable=True), + sa.Column("created_at", sa.DateTime(timezone=True), nullable=True), + sa.Column("updated_at", sa.DateTime(timezone=True), nullable=True), + sa.Column("workspace_id", sa.UUID(), nullable=True), + sa.Column("organization_id", sa.UUID(), nullable=True), + sa.ForeignKeyConstraint( + ["organization_id"], ["organizations.id"], ondelete="SET NULL" + ), + sa.ForeignKeyConstraint( + ["user_id"], + ["users.id"], + ), + sa.ForeignKeyConstraint( + ["workspace_id"], ["workspaces.id"], ondelete="SET NULL" + ), + sa.PrimaryKeyConstraint("id"), + sa.UniqueConstraint("id"), + ) + op.create_table( + "docker_images", + sa.Column("id", sa.UUID(), nullable=False), + sa.Column("type", sa.String(), nullable=True), + sa.Column("template_uri", sa.String(), nullable=True), + sa.Column("docker_id", sa.String(), nullable=True), + sa.Column("tags", sa.String(), nullable=True), + sa.Column("deletable", sa.Boolean(), nullable=True), + sa.Column("user_id", sa.UUID(), nullable=True), + sa.Column("created_at", sa.DateTime(timezone=True), nullable=True), + sa.Column("updated_at", sa.DateTime(timezone=True), nullable=True), + sa.Column("workspace_id", sa.UUID(), nullable=True), + sa.Column("organization_id", sa.UUID(), nullable=True), + sa.ForeignKeyConstraint( + ["organization_id"], ["organizations.id"], ondelete="SET NULL" + ), + sa.ForeignKeyConstraint( + ["user_id"], + ["users.id"], + ), + sa.ForeignKeyConstraint( + ["workspace_id"], ["workspaces.id"], ondelete="SET NULL" + ), + sa.PrimaryKeyConstraint("id"), + sa.UniqueConstraint("id"), + ) + op.create_index( + op.f("ix_docker_images_docker_id"), "docker_images", ["docker_id"], unique=False + ) + op.create_table( + "workspace_members", + sa.Column("id", sa.UUID(), nullable=False), + sa.Column("user_id", sa.UUID(), nullable=True), + sa.Column("workspace_id", sa.UUID(), nullable=True), + sa.Column("role", sa.String(), nullable=True), + sa.Column("created_at", sa.DateTime(timezone=True), nullable=True), + sa.Column("updated_at", sa.DateTime(timezone=True), nullable=True), + sa.ForeignKeyConstraint( + ["user_id"], + ["users.id"], + ), + sa.ForeignKeyConstraint( + ["workspace_id"], + ["workspaces.id"], + ), + sa.PrimaryKeyConstraint("id"), + sa.UniqueConstraint("id"), + ) + op.create_table( + "deployments", + sa.Column("id", sa.UUID(), nullable=False), + sa.Column("app_id", sa.UUID(), nullable=True), + sa.Column("user_id", sa.UUID(), nullable=True), + sa.Column("container_name", sa.String(), nullable=True), + sa.Column("container_id", sa.String(), nullable=True), + sa.Column("uri", sa.String(), nullable=True), + sa.Column("status", sa.String(), nullable=True), + sa.Column("created_at", sa.DateTime(timezone=True), nullable=True), + sa.Column("updated_at", sa.DateTime(timezone=True), nullable=True), + sa.Column("cloud_map_service_id", sa.String(), nullable=True), + sa.Column("workspace_id", sa.UUID(), nullable=True), + sa.Column("organization_id", sa.UUID(), nullable=True), + sa.ForeignKeyConstraint(["app_id"], ["app_db.id"], ondelete="CASCADE"), + sa.ForeignKeyConstraint( + ["organization_id"], ["organizations.id"], ondelete="SET NULL" + ), + sa.ForeignKeyConstraint( + ["user_id"], + ["users.id"], + ), + sa.ForeignKeyConstraint( + ["workspace_id"], ["workspaces.id"], ondelete="SET NULL" + ), + sa.PrimaryKeyConstraint("id"), + sa.UniqueConstraint("id"), + ) + op.create_table( + "evaluators_configs", + sa.Column("id", sa.UUID(), nullable=False), + sa.Column("app_id", sa.UUID(), nullable=True), + sa.Column("user_id", sa.UUID(), nullable=True), + sa.Column("name", sa.String(), nullable=True), + sa.Column("evaluator_key", sa.String(), nullable=True), + sa.Column( + "settings_values", postgresql.JSONB(astext_type=sa.Text()), nullable=True + ), + sa.Column("created_at", sa.DateTime(timezone=True), nullable=True), + sa.Column("updated_at", sa.DateTime(timezone=True), nullable=True), + sa.Column("workspace_id", sa.UUID(), nullable=True), + sa.Column("organization_id", sa.UUID(), nullable=True), + sa.ForeignKeyConstraint(["app_id"], ["app_db.id"], ondelete="SET NULL"), + sa.ForeignKeyConstraint( + ["organization_id"], ["organizations.id"], ondelete="SET NULL" + ), + sa.ForeignKeyConstraint( + ["user_id"], + ["users.id"], + ), + sa.ForeignKeyConstraint( + ["workspace_id"], ["workspaces.id"], ondelete="SET NULL" + ), + sa.PrimaryKeyConstraint("id"), + sa.UniqueConstraint("id"), + ) + op.create_table( + "testsets", + sa.Column("id", sa.UUID(), nullable=False), + sa.Column("name", sa.String(), nullable=True), + sa.Column("app_id", sa.UUID(), nullable=True), + sa.Column("csvdata", postgresql.JSONB(astext_type=sa.Text()), nullable=True), + sa.Column("user_id", sa.UUID(), nullable=True), + sa.Column("created_at", sa.DateTime(timezone=True), nullable=True), + sa.Column("updated_at", sa.DateTime(timezone=True), nullable=True), + sa.Column("workspace_id", sa.UUID(), nullable=True), + sa.Column("organization_id", sa.UUID(), nullable=True), + sa.ForeignKeyConstraint(["app_id"], ["app_db.id"], ondelete="CASCADE"), + sa.ForeignKeyConstraint( + ["organization_id"], ["organizations.id"], ondelete="SET NULL" + ), + sa.ForeignKeyConstraint( + ["user_id"], + ["users.id"], + ), + sa.ForeignKeyConstraint( + ["workspace_id"], ["workspaces.id"], ondelete="SET NULL" + ), + sa.PrimaryKeyConstraint("id"), + sa.UniqueConstraint("id"), + ) + op.create_table( + "bases", + sa.Column("id", sa.UUID(), nullable=False), + sa.Column("app_id", sa.UUID(), nullable=True), + sa.Column("user_id", sa.UUID(), nullable=True), + sa.Column("base_name", sa.String(), nullable=True), + sa.Column("image_id", sa.UUID(), nullable=True), + sa.Column("deployment_id", sa.UUID(), nullable=True), + sa.Column("created_at", sa.DateTime(timezone=True), nullable=True), + sa.Column("updated_at", sa.DateTime(timezone=True), nullable=True), + sa.Column("workspace_id", sa.UUID(), nullable=True), + sa.Column("organization_id", sa.UUID(), nullable=True), + sa.ForeignKeyConstraint(["app_id"], ["app_db.id"], ondelete="CASCADE"), + sa.ForeignKeyConstraint( + ["deployment_id"], ["deployments.id"], ondelete="SET NULL" + ), + sa.ForeignKeyConstraint( + ["image_id"], ["docker_images.id"], ondelete="SET NULL" + ), + sa.ForeignKeyConstraint( + ["organization_id"], ["organizations.id"], ondelete="SET NULL" + ), + sa.ForeignKeyConstraint( + ["user_id"], + ["users.id"], + ), + sa.ForeignKeyConstraint( + ["workspace_id"], ["workspaces.id"], ondelete="SET NULL" + ), + sa.PrimaryKeyConstraint("id"), + sa.UniqueConstraint("id"), + ) + op.create_table( + "human_evaluations", + sa.Column("id", sa.UUID(), nullable=False), + sa.Column("app_id", sa.UUID(), nullable=True), + sa.Column("user_id", sa.UUID(), nullable=True), + sa.Column("status", sa.String(), nullable=True), + sa.Column("evaluation_type", sa.String(), nullable=True), + sa.Column("testset_id", sa.UUID(), nullable=True), + sa.Column("created_at", sa.DateTime(timezone=True), nullable=True), + sa.Column("updated_at", sa.DateTime(timezone=True), nullable=True), + sa.Column("workspace_id", sa.UUID(), nullable=True), + sa.Column("organization_id", sa.UUID(), nullable=True), + sa.ForeignKeyConstraint(["app_id"], ["app_db.id"], ondelete="CASCADE"), + sa.ForeignKeyConstraint( + ["organization_id"], ["organizations.id"], ondelete="SET NULL" + ), + sa.ForeignKeyConstraint( + ["testset_id"], + ["testsets.id"], + ), + sa.ForeignKeyConstraint( + ["user_id"], + ["users.id"], + ), + sa.ForeignKeyConstraint( + ["workspace_id"], ["workspaces.id"], ondelete="SET NULL" + ), + sa.PrimaryKeyConstraint("id"), + sa.UniqueConstraint("id"), + ) + op.create_table( + "app_variants", + sa.Column("id", sa.UUID(), nullable=False), + sa.Column("app_id", sa.UUID(), nullable=True), + sa.Column("variant_name", sa.String(), nullable=True), + sa.Column("revision", sa.Integer(), nullable=True), + sa.Column("image_id", sa.UUID(), nullable=True), + sa.Column("user_id", sa.UUID(), nullable=True), + sa.Column("modified_by_id", sa.UUID(), nullable=True), + sa.Column("base_name", sa.String(), nullable=True), + sa.Column("base_id", sa.UUID(), nullable=True), + sa.Column("config_name", sa.String(), nullable=False), + sa.Column( + "config_parameters", postgresql.JSONB(astext_type=sa.Text()), nullable=False + ), + sa.Column("created_at", sa.DateTime(timezone=True), nullable=True), + sa.Column("updated_at", sa.DateTime(timezone=True), nullable=True), + sa.Column("workspace_id", sa.UUID(), nullable=True), + sa.Column("organization_id", sa.UUID(), nullable=True), + sa.ForeignKeyConstraint(["app_id"], ["app_db.id"], ondelete="CASCADE"), + sa.ForeignKeyConstraint( + ["base_id"], + ["bases.id"], + ), + sa.ForeignKeyConstraint( + ["image_id"], ["docker_images.id"], ondelete="SET NULL" + ), + sa.ForeignKeyConstraint( + ["modified_by_id"], + ["users.id"], + ), + sa.ForeignKeyConstraint( + ["organization_id"], ["organizations.id"], ondelete="SET NULL" + ), + sa.ForeignKeyConstraint( + ["user_id"], + ["users.id"], + ), + sa.ForeignKeyConstraint( + ["workspace_id"], ["workspaces.id"], ondelete="SET NULL" + ), + sa.PrimaryKeyConstraint("id"), + sa.UniqueConstraint("id"), + ) + op.create_table( + "human_evaluations_scenarios", + sa.Column("id", sa.UUID(), nullable=False), + sa.Column("user_id", sa.UUID(), nullable=True), + sa.Column("evaluation_id", sa.UUID(), nullable=True), + sa.Column("inputs", postgresql.JSONB(astext_type=sa.Text()), nullable=True), + sa.Column("outputs", postgresql.JSONB(astext_type=sa.Text()), nullable=True), + sa.Column("vote", sa.String(), nullable=True), + sa.Column("score", sa.String(), nullable=True), + sa.Column("correct_answer", sa.String(), nullable=True), + sa.Column("created_at", sa.DateTime(timezone=True), nullable=True), + sa.Column("updated_at", sa.DateTime(timezone=True), nullable=True), + sa.Column("is_pinned", sa.Boolean(), nullable=True), + sa.Column("note", sa.String(), nullable=True), + sa.Column("workspace_id", sa.UUID(), nullable=True), + sa.Column("organization_id", sa.UUID(), nullable=True), + sa.ForeignKeyConstraint( + ["evaluation_id"], ["human_evaluations.id"], ondelete="CASCADE" + ), + sa.ForeignKeyConstraint( + ["organization_id"], ["organizations.id"], ondelete="SET NULL" + ), + sa.ForeignKeyConstraint( + ["user_id"], + ["users.id"], + ), + sa.ForeignKeyConstraint( + ["workspace_id"], ["workspaces.id"], ondelete="SET NULL" + ), + sa.PrimaryKeyConstraint("id"), + sa.UniqueConstraint("id"), + ) + op.create_table( + "app_variant_revisions", + sa.Column("id", sa.UUID(), nullable=False), + sa.Column("variant_id", sa.UUID(), nullable=True), + sa.Column("revision", sa.Integer(), nullable=True), + sa.Column("modified_by_id", sa.UUID(), nullable=True), + sa.Column("base_id", sa.UUID(), nullable=True), + sa.Column("config_name", sa.String(), nullable=False), + sa.Column( + "config_parameters", postgresql.JSONB(astext_type=sa.Text()), nullable=False + ), + sa.Column("created_at", sa.DateTime(timezone=True), nullable=True), + sa.Column("updated_at", sa.DateTime(timezone=True), nullable=True), + sa.ForeignKeyConstraint( + ["base_id"], + ["bases.id"], + ), + sa.ForeignKeyConstraint( + ["modified_by_id"], + ["users.id"], + ), + sa.ForeignKeyConstraint( + ["variant_id"], ["app_variants.id"], ondelete="CASCADE" + ), + sa.PrimaryKeyConstraint("id"), + sa.UniqueConstraint("id"), + ) + op.create_table( + "environments", + sa.Column("id", sa.UUID(), nullable=False), + sa.Column("app_id", sa.UUID(), nullable=True), + sa.Column("name", sa.String(), nullable=True), + sa.Column("user_id", sa.UUID(), nullable=True), + sa.Column("revision", sa.Integer(), nullable=True), + sa.Column("deployed_app_variant_id", sa.UUID(), nullable=True), + sa.Column("deployed_app_variant_revision_id", sa.UUID(), nullable=True), + sa.Column("deployment_id", sa.UUID(), nullable=True), + sa.Column("created_at", sa.DateTime(timezone=True), nullable=True), + sa.Column("workspace_id", sa.UUID(), nullable=True), + sa.Column("organization_id", sa.UUID(), nullable=True), + sa.ForeignKeyConstraint(["app_id"], ["app_db.id"], ondelete="CASCADE"), + sa.ForeignKeyConstraint( + ["deployed_app_variant_id"], ["app_variants.id"], ondelete="SET NULL" + ), + sa.ForeignKeyConstraint( + ["deployed_app_variant_revision_id"], + ["app_variant_revisions.id"], + ondelete="SET NULL", + ), + sa.ForeignKeyConstraint( + ["deployment_id"], ["deployments.id"], ondelete="SET NULL" + ), + sa.ForeignKeyConstraint( + ["organization_id"], ["organizations.id"], ondelete="SET NULL" + ), + sa.ForeignKeyConstraint( + ["user_id"], + ["users.id"], + ), + sa.ForeignKeyConstraint( + ["workspace_id"], ["workspaces.id"], ondelete="SET NULL" + ), + sa.PrimaryKeyConstraint("id"), + sa.UniqueConstraint("id"), + ) + op.create_table( + "evaluations", + sa.Column("id", sa.UUID(), nullable=False), + sa.Column("app_id", sa.UUID(), nullable=True), + sa.Column("user_id", sa.UUID(), nullable=True), + sa.Column("status", postgresql.JSONB(astext_type=sa.Text()), nullable=True), + sa.Column("testset_id", sa.UUID(), nullable=True), + sa.Column("variant_id", sa.UUID(), nullable=True), + sa.Column("variant_revision_id", sa.UUID(), nullable=True), + sa.Column( + "average_cost", postgresql.JSONB(astext_type=sa.Text()), nullable=True + ), + sa.Column("total_cost", postgresql.JSONB(astext_type=sa.Text()), nullable=True), + sa.Column( + "average_latency", postgresql.JSONB(astext_type=sa.Text()), nullable=True + ), + sa.Column("created_at", sa.DateTime(timezone=True), nullable=True), + sa.Column("updated_at", sa.DateTime(timezone=True), nullable=True), + sa.Column("workspace_id", sa.UUID(), nullable=True), + sa.Column("organization_id", sa.UUID(), nullable=True), + sa.ForeignKeyConstraint(["app_id"], ["app_db.id"], ondelete="CASCADE"), + sa.ForeignKeyConstraint( + ["organization_id"], ["organizations.id"], ondelete="SET NULL" + ), + sa.ForeignKeyConstraint(["testset_id"], ["testsets.id"], ondelete="SET NULL"), + sa.ForeignKeyConstraint( + ["user_id"], + ["users.id"], + ), + sa.ForeignKeyConstraint( + ["variant_id"], ["app_variants.id"], ondelete="SET NULL" + ), + sa.ForeignKeyConstraint( + ["variant_revision_id"], ["app_variant_revisions.id"], ondelete="SET NULL" + ), + sa.ForeignKeyConstraint( + ["workspace_id"], ["workspaces.id"], ondelete="SET NULL" + ), + sa.PrimaryKeyConstraint("id"), + sa.UniqueConstraint("id"), + ) + op.create_table( + "human_evaluation_variants", + sa.Column("id", sa.UUID(), nullable=False), + sa.Column("human_evaluation_id", sa.UUID(), nullable=True), + sa.Column("variant_id", sa.UUID(), nullable=True), + sa.Column("variant_revision_id", sa.UUID(), nullable=True), + sa.ForeignKeyConstraint( + ["human_evaluation_id"], ["human_evaluations.id"], ondelete="CASCADE" + ), + sa.ForeignKeyConstraint( + ["variant_id"], ["app_variants.id"], ondelete="SET NULL" + ), + sa.ForeignKeyConstraint( + ["variant_revision_id"], ["app_variant_revisions.id"], ondelete="SET NULL" + ), + sa.PrimaryKeyConstraint("id"), + sa.UniqueConstraint("id"), + ) + op.create_table( + "environments_revisions", + sa.Column("id", sa.UUID(), nullable=False), + sa.Column("environment_id", sa.UUID(), nullable=True), + sa.Column("revision", sa.Integer(), nullable=True), + sa.Column("modified_by_id", sa.UUID(), nullable=True), + sa.Column("deployed_app_variant_revision_id", sa.UUID(), nullable=True), + sa.Column("deployment_id", sa.UUID(), nullable=True), + sa.Column("created_at", sa.DateTime(timezone=True), nullable=True), + sa.Column("workspace_id", sa.UUID(), nullable=True), + sa.Column("organization_id", sa.UUID(), nullable=True), + sa.ForeignKeyConstraint( + ["deployed_app_variant_revision_id"], + ["app_variant_revisions.id"], + ondelete="SET NULL", + ), + sa.ForeignKeyConstraint( + ["deployment_id"], ["deployments.id"], ondelete="SET NULL" + ), + sa.ForeignKeyConstraint( + ["environment_id"], ["environments.id"], ondelete="CASCADE" + ), + sa.ForeignKeyConstraint( + ["modified_by_id"], + ["users.id"], + ), + sa.ForeignKeyConstraint( + ["organization_id"], ["organizations.id"], ondelete="SET NULL" + ), + sa.ForeignKeyConstraint( + ["workspace_id"], ["workspaces.id"], ondelete="SET NULL" + ), + sa.PrimaryKeyConstraint("id"), + sa.UniqueConstraint("id"), + ) + op.create_table( + "evaluation_aggregated_results", + sa.Column("id", sa.UUID(), nullable=False), + sa.Column("evaluation_id", sa.UUID(), nullable=True), + sa.Column("evaluator_config_id", sa.UUID(), nullable=True), + sa.Column("result", postgresql.JSONB(astext_type=sa.Text()), nullable=True), + sa.ForeignKeyConstraint( + ["evaluation_id"], ["evaluations.id"], ondelete="CASCADE" + ), + sa.ForeignKeyConstraint( + ["evaluator_config_id"], ["evaluators_configs.id"], ondelete="SET NULL" + ), + sa.PrimaryKeyConstraint("id"), + sa.UniqueConstraint("id"), + ) + op.create_table( + "evaluation_evaluator_configs", + sa.Column("id", sa.UUID(), nullable=False), + sa.Column("evaluation_id", sa.UUID(), nullable=False), + sa.Column("evaluator_config_id", sa.UUID(), nullable=False), + sa.ForeignKeyConstraint( + ["evaluation_id"], ["evaluations.id"], ondelete="CASCADE" + ), + sa.ForeignKeyConstraint( + ["evaluator_config_id"], ["evaluators_configs.id"], ondelete="SET NULL" + ), + sa.PrimaryKeyConstraint("id", "evaluation_id", "evaluator_config_id"), + sa.UniqueConstraint("id"), + ) + op.create_table( + "evaluation_scenarios", + sa.Column("id", sa.UUID(), nullable=False), + sa.Column("user_id", sa.UUID(), nullable=True), + sa.Column("evaluation_id", sa.UUID(), nullable=True), + sa.Column("variant_id", sa.UUID(), nullable=True), + sa.Column("inputs", postgresql.JSONB(astext_type=sa.Text()), nullable=True), + sa.Column("outputs", postgresql.JSONB(astext_type=sa.Text()), nullable=True), + sa.Column( + "correct_answers", postgresql.JSONB(astext_type=sa.Text()), nullable=True + ), + sa.Column("is_pinned", sa.Boolean(), nullable=True), + sa.Column("note", sa.String(), nullable=True), + sa.Column("latency", sa.Integer(), nullable=True), + sa.Column("cost", sa.Integer(), nullable=True), + sa.Column("created_at", sa.DateTime(timezone=True), nullable=True), + sa.Column("updated_at", sa.DateTime(timezone=True), nullable=True), + sa.Column("workspace_id", sa.UUID(), nullable=True), + sa.Column("organization_id", sa.UUID(), nullable=True), + sa.ForeignKeyConstraint( + ["evaluation_id"], ["evaluations.id"], ondelete="CASCADE" + ), + sa.ForeignKeyConstraint( + ["organization_id"], ["organizations.id"], ondelete="SET NULL" + ), + sa.ForeignKeyConstraint( + ["user_id"], + ["users.id"], + ), + sa.ForeignKeyConstraint( + ["variant_id"], ["app_variants.id"], ondelete="SET NULL" + ), + sa.ForeignKeyConstraint( + ["workspace_id"], ["workspaces.id"], ondelete="SET NULL" + ), + sa.PrimaryKeyConstraint("id"), + sa.UniqueConstraint("id"), + ) + op.create_table( + "evaluation_scenario_results", + sa.Column("id", sa.UUID(), nullable=False), + sa.Column("evaluation_scenario_id", sa.UUID(), nullable=True), + sa.Column("evaluator_config_id", sa.UUID(), nullable=True), + sa.Column("result", postgresql.JSONB(astext_type=sa.Text()), nullable=True), + sa.ForeignKeyConstraint( + ["evaluation_scenario_id"], ["evaluation_scenarios.id"], ondelete="CASCADE" + ), + sa.ForeignKeyConstraint( + ["evaluator_config_id"], ["evaluators_configs.id"], ondelete="SET NULL" + ), + sa.PrimaryKeyConstraint("id"), + sa.UniqueConstraint("id"), + ) + # ### end Alembic commands ### + + +def first_time_user_from_agenta_v019_upwards_downgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.drop_table("evaluation_scenario_results") + op.drop_table("evaluation_scenarios") + op.drop_table("evaluation_evaluator_configs") + op.drop_table("evaluation_aggregated_results") + op.drop_table("environments_revisions") + op.drop_table("human_evaluation_variants") + op.drop_table("evaluations") + op.drop_table("environments") + op.drop_table("app_variant_revisions") + op.drop_table("human_evaluations_scenarios") + op.drop_table("app_variants") + op.drop_table("human_evaluations") + op.drop_table("bases") + op.drop_table("testsets") + op.drop_table("evaluators_configs") + op.drop_table("deployments") + op.drop_table("workspace_members") + op.drop_index(op.f("ix_docker_images_docker_id"), table_name="docker_images") + op.drop_table("docker_images") + op.drop_table("app_db") + op.drop_table("workspaces") + op.drop_table("user_organizations") + op.drop_index(op.f("ix_users_uid"), table_name="users") + op.drop_table("users") + op.drop_table("templates") + op.drop_table("organizations") + op.drop_table("invitations") + op.drop_table("ids_mapping") + op.drop_table("api_keys") + # ### end Alembic commands ### + + +def returning_user_from_agenta_v018_downwards_upgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + engine = sa.create_engine(env.POSTGRES_URI_CORE) + if not unique_constraint_exists(engine, "app_db", "app_db_pkey"): + op.create_unique_constraint("app_db_pkey", "app_db", ["id"]) + + if not unique_constraint_exists( + engine, "app_variant_revisions", "app_variant_revisions_pkey" + ): + op.create_unique_constraint( + "app_variant_revisions_pkey", "app_variant_revisions", ["id"] + ) + + if not unique_constraint_exists(engine, "app_variants", "app_variants_pkey"): + op.create_unique_constraint("app_variants_pkey", "app_variants", ["id"]) + + if not unique_constraint_exists(engine, "bases", "bases_pkey"): + op.create_unique_constraint("bases_pkey", "bases", ["id"]) + + if not unique_constraint_exists(engine, "deployments", "deployments_pkey"): + op.create_unique_constraint("deployments_pkey", "deployments", ["id"]) + + if not unique_constraint_exists(engine, "docker_images", "docker_images_pkey"): + op.create_unique_constraint("docker_images_pkey", "docker_images", ["id"]) + + if not unique_constraint_exists(engine, "environments", "environments_pkey"): + op.create_unique_constraint("environments_pkey", "environments", ["id"]) + + if not unique_constraint_exists( + engine, "environments_revisions", "environments_revisions_pkey" + ): + op.create_unique_constraint( + "environments_revisions_pkey", "environments_revisions", ["id"] + ) + + if not unique_constraint_exists( + engine, "evaluation_aggregated_results", "evaluation_aggregated_results_pkey" + ): + op.create_unique_constraint( + "evaluation_aggregated_results_pkey", + "evaluation_aggregated_results", + ["id"], + ) + + if not unique_constraint_exists( + engine, "evaluation_scenario_results", "evaluation_scenario_results_pkey" + ): + op.create_unique_constraint( + "evaluation_scenario_results_pkey", "evaluation_scenario_results", ["id"] + ) + + if not unique_constraint_exists( + engine, "evaluation_scenarios", "evaluation_scenarios_pkey" + ): + op.create_unique_constraint( + "evaluation_scenarios_pkey", "evaluation_scenarios", ["id"] + ) + + if not unique_constraint_exists(engine, "evaluations", "evaluations_pkey"): + op.create_unique_constraint("evaluations_pkey", "evaluations", ["id"]) + + if not unique_constraint_exists( + engine, "evaluators_configs", "evaluators_configs_pkey" + ): + op.create_unique_constraint( + "evaluators_configs_pkey", "evaluators_configs", ["id"] + ) + + if not unique_constraint_exists( + engine, "human_evaluation_variants", "human_evaluation_variants_pkey" + ): + op.create_unique_constraint( + "human_evaluation_variants_pkey", "human_evaluation_variants", ["id"] + ) + + if not unique_constraint_exists( + engine, "human_evaluations", "human_evaluations_pkey" + ): + op.create_unique_constraint( + "human_evaluations_pkey", "human_evaluations", ["id"] + ) + + if not unique_constraint_exists( + engine, "human_evaluations_scenarios", "human_evaluations_scenarios_pkey" + ): + op.create_unique_constraint( + "human_evaluations_scenarios_pkey", "human_evaluations_scenarios", ["id"] + ) + + if not unique_constraint_exists(engine, "ids_mapping", "ids_mapping_pkey"): + op.create_unique_constraint("ids_mapping_pkey", "ids_mapping", ["id"]) + + if not unique_constraint_exists(engine, "templates", "templates_pkey"): + op.create_unique_constraint("templates_pkey", "templates", ["id"]) + + if not unique_constraint_exists(engine, "testsets", "testsets_pkey"): + op.create_unique_constraint("testsets_pkey", "testsets", ["id"]) + + if not unique_constraint_exists(engine, "users", "users_pkey"): + op.create_unique_constraint("users_pkey", "users", ["id"]) + + if not unique_constraint_exists(engine, "api_keys", "api_keys_pkey"): + op.create_unique_constraint("api_keys_pkey", "api_keys", ["id"]) + + if not unique_constraint_exists(engine, "invitations", "invitations_pkey"): + op.create_unique_constraint("invitations_pkey", "invitations", ["id"]) + + if not unique_constraint_exists(engine, "organizations", "organizations_pkey"): + op.create_unique_constraint("organizations_pkey", "organizations", ["id"]) + + if not unique_constraint_exists( + engine, "user_organizations", "user_organizations_pkey" + ): + op.create_unique_constraint( + "user_organizations_pkey", "user_organizations", ["id"] + ) + + if not unique_constraint_exists( + engine, "workspace_members", "workspace_members_pkey" + ): + op.create_unique_constraint( + "workspace_members_pkey", "workspace_members", ["id"] + ) + + if not unique_constraint_exists(engine, "workspaces", "workspaces_pkey"): + op.create_unique_constraint("workspaces_pkey", "workspaces", ["id"]) + + # ### end Alembic commands ### + + +def returning_user_from_agenta_v018_downwards_downgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + engine = sa.create_engine(env.POSTGRES_URI_CORE) + if unique_constraint_exists(engine, "users", "users_pkey"): + op.drop_constraint("users_pkey", "users", type_="unique") + + if unique_constraint_exists(engine, "testsets", "testsets_pkey"): + op.drop_constraint("testsets_pkey", "testsets", type_="unique") + + if unique_constraint_exists(engine, "templates", "templates_pkey"): + op.drop_constraint("templates_pkey", "templates", type_="unique") + + if unique_constraint_exists(engine, "ids_mapping", "ids_mapping_pkey"): + op.drop_constraint("ids_mapping_pkey", "ids_mapping", type_="unique") + + if unique_constraint_exists( + engine, "human_evaluations_scenarios", "human_evaluations_scenarios_pkey" + ): + op.drop_constraint( + "human_evaluations_scenarios_pkey", + "human_evaluations_scenarios", + type_="unique", + ) + + if unique_constraint_exists(engine, "human_evaluations", "human_evaluations_pkey"): + op.drop_constraint( + "human_evaluations_pkey", "human_evaluations", type_="unique" + ) + + if unique_constraint_exists( + engine, "human_evaluation_variants", "human_evaluation_variants_pkey" + ): + op.drop_constraint( + "human_evaluation_variants_pkey", + "human_evaluation_variants", + type_="unique", + ) + + if unique_constraint_exists( + engine, "evaluators_configs", "evaluators_configs_pkey" + ): + op.drop_constraint( + "evaluators_configs_pkey", "evaluators_configs", type_="unique" + ) + + if unique_constraint_exists(engine, "evaluations", "evaluations_pkey"): + op.drop_constraint("evaluations_pkey", "evaluations", type_="unique") + + if unique_constraint_exists( + engine, "evaluation_scenarios", "evaluation_scenarios_pkey" + ): + op.drop_constraint( + "evaluation_scenarios_pkey", "evaluation_scenarios", type_="unique" + ) + + if unique_constraint_exists( + engine, "evaluation_scenario_results", "evaluation_scenario_results_pkey" + ): + op.drop_constraint( + "evaluation_scenario_results_pkey", + "evaluation_scenario_results", + type_="unique", + ) + + if unique_constraint_exists( + engine, "evaluation_aggregated_results", "evaluation_aggregated_results_pkey" + ): + op.drop_constraint( + "evaluation_aggregated_results_pkey", + "evaluation_aggregated_results", + type_="unique", + ) + + if unique_constraint_exists( + engine, "environments_revisions", "environments_revisions_pkey" + ): + op.drop_constraint( + "environments_revisions_pkey", "environments_revisions", type_="unique" + ) + + if unique_constraint_exists(engine, "environments", "environments_pkey"): + op.drop_constraint("environments_pkey", "environments", type_="unique") + + if unique_constraint_exists(engine, "docker_images", "docker_images_pkey"): + op.drop_constraint("docker_images_pkey", "docker_images", type_="unique") + + if unique_constraint_exists(engine, "deployments", "deployments_pkey"): + op.drop_constraint("deployments_pkey", "deployments", type_="unique") + + if unique_constraint_exists(engine, "bases", "bases_pkey"): + op.drop_constraint("bases_pkey", "bases", type_="unique") + + if unique_constraint_exists(engine, "app_variants", "app_variants_pkey"): + op.drop_constraint("app_variants_pkey", "app_variants", type_="unique") + + if unique_constraint_exists( + engine, "app_variant_revisions", "app_variant_revisions_pkey" + ): + op.drop_constraint( + "app_variant_revisions_pkey", "app_variant_revisions", type_="unique" + ) + + if unique_constraint_exists(engine, "app_db", "app_db_pkey"): + op.drop_constraint("app_db_pkey", "app_db", type_="unique") + + if unique_constraint_exists(engine, "workspaces", "workspaces_pkey"): + op.drop_constraint("workspaces_pkey", "workspaces", type_="unique") + + if unique_constraint_exists(engine, "workspace_members", "workspace_members_pkey"): + op.drop_constraint( + "workspace_members_pkey", "workspace_members", type_="unique" + ) + + if unique_constraint_exists( + engine, "user_organizations", "user_organizations_pkey" + ): + op.drop_constraint( + "user_organizations_pkey", "user_organizations", type_="unique" + ) + + if unique_constraint_exists(engine, "organizations", "organizations_pkey"): + op.drop_constraint("organizations_pkey", "organizations", type_="unique") + + if unique_constraint_exists(engine, "invitations", "invitations_pkey"): + op.drop_constraint("invitations_pkey", "invitations", type_="unique") + + if unique_constraint_exists(engine, "api_keys", "api_keys_pkey"): + op.drop_constraint("api_keys_pkey", "api_keys", type_="unique") + # ### end Alembic commands ### + + +def upgrade() -> None: + engine = sa.create_engine(context.config.get_main_option("sqlalchemy.url")) + if is_initial_setup(engine=engine): + first_time_user_from_agenta_v019_upwards_upgrade() + else: + returning_user_from_agenta_v018_downwards_upgrade() + + +def downgrade() -> None: + engine = sa.create_engine(context.config.get_main_option("sqlalchemy.url")) + if is_initial_setup(engine=engine): + first_time_user_from_agenta_v019_upwards_downgrade() + else: + returning_user_from_agenta_v018_downwards_downgrade() diff --git a/api/ee/databases/postgres/migrations/core/versions/91d3b4a8c27f_fix_ag_config.py b/api/ee/databases/postgres/migrations/core/versions/91d3b4a8c27f_fix_ag_config.py new file mode 100644 index 0000000000..1baa0b36fe --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/versions/91d3b4a8c27f_fix_ag_config.py @@ -0,0 +1,61 @@ +"""Fix ag_config + +Revision ID: 91d3b4a8c27f +Revises: 7990f1e12f47 +Create Date: 2025-04-24 11:00:00 +""" + +from typing import Sequence, Union + +from alembic import op +from sqlalchemy import text + + +revision: str = "91d3b4a8c27f" +down_revision: Union[str, None] = "7990f1e12f47" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade(): + batch_size = 100 + + conn = op.get_bind() + + while True: + # Update config_parameters in app_variant_revisions table + result = conn.execute( + text( + f""" + WITH updated AS ( + UPDATE app_variant_revisions + SET config_parameters = config_parameters->'ag_config' + WHERE id IN ( + SELECT id + FROM app_variant_revisions + WHERE config_parameters ? 'ag_config' + LIMIT {batch_size} + ) + RETURNING id + ) + SELECT COUNT(*) FROM updated; + """ + ) + ) + count = result.scalar() + if count == 0: + break + + # Clear the config_parameters column in app_variants table (execute once) + result = conn.execute( + text( + f""" + UPDATE app_variants + SET config_parameters = '{{}}'::jsonb + """ + ) + ) + + +def downgrade(): + pass diff --git a/api/ee/databases/postgres/migrations/core/versions/9698355c7649_add_tables_for_workflows.py b/api/ee/databases/postgres/migrations/core/versions/9698355c7649_add_tables_for_workflows.py new file mode 100644 index 0000000000..506fe0a1cb --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/versions/9698355c7649_add_tables_for_workflows.py @@ -0,0 +1,388 @@ +"""add tables for workflows (artifacts, variants, & revisions) + +Revision ID: 9698355c7649 +Revises: 7990f1e12f47 +Create Date: 2025-04-24 07:27:45.801481 + +""" + +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import postgresql + +# revision identifiers, used by Alembic. +revision: str = "9698355c7649" +down_revision: Union[str, None] = "91d3b4a8c27f" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + # - ARTIFACTS -------------------------------------------------------------- + + op.create_table( + "workflow_artifacts", + sa.Column( + "project_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "slug", + sa.String(), + nullable=False, + ), + sa.Column( + "created_at", + sa.TIMESTAMP(timezone=True), + server_default=sa.text("CURRENT_TIMESTAMP"), + nullable=False, + ), + sa.Column( + "updated_at", + sa.TIMESTAMP(timezone=True), + nullable=True, + ), + sa.Column( + "deleted_at", + sa.TIMESTAMP(timezone=True), + nullable=True, + ), + sa.Column( + "created_by_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "updated_by_id", + sa.UUID(), + nullable=True, + ), + sa.Column( + "deleted_by_id", + sa.UUID(), + nullable=True, + ), + sa.Column( + "flags", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.Column( + "metadata", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.Column( + "name", + sa.String(), + nullable=True, + ), + sa.Column( + "description", + sa.String(), + nullable=True, + ), + sa.PrimaryKeyConstraint( + "project_id", + "id", + ), + sa.UniqueConstraint( + "project_id", + "slug", + ), + sa.ForeignKeyConstraint( + ["project_id"], + ["projects.id"], + ondelete="CASCADE", + ), + sa.Index( + "ix_workflow_artifacts_project_id_slug", + "project_id", + "slug", + ), + ) + + # -------------------------------------------------------------------------- + + # - VARIANTS --------------------------------------------------------------- + + op.create_table( + "workflow_variants", + sa.Column( + "project_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "artifact_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "slug", + sa.String(), + nullable=False, + ), + sa.Column( + "created_at", + sa.TIMESTAMP(timezone=True), + server_default=sa.text("CURRENT_TIMESTAMP"), + nullable=False, + ), + sa.Column( + "updated_at", + sa.TIMESTAMP(timezone=True), + nullable=True, + ), + sa.Column( + "deleted_at", + sa.TIMESTAMP(timezone=True), + nullable=True, + ), + sa.Column( + "created_by_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "updated_by_id", + sa.UUID(), + nullable=True, + ), + sa.Column( + "deleted_by_id", + sa.UUID(), + nullable=True, + ), + sa.Column( + "flags", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.Column( + "metadata", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.Column( + "name", + sa.String(), + nullable=True, + ), + sa.Column( + "description", + sa.String(), + nullable=True, + ), + sa.PrimaryKeyConstraint( + "project_id", + "id", + ), + sa.UniqueConstraint( + "project_id", + "slug", + ), + sa.ForeignKeyConstraint( + ["project_id"], + ["projects.id"], + ondelete="CASCADE", + ), + sa.ForeignKeyConstraint( + ["project_id", "artifact_id"], + ["workflow_artifacts.project_id", "workflow_artifacts.id"], + ondelete="CASCADE", + ), + sa.Index( + "ix_workflow_variants_project_id_slug", + "project_id", + "slug", + ), + sa.Index( + "ix_workflow_variants_project_id_artifact_id", + "project_id", + "artifact_id", + ), + ) + + # -------------------------------------------------------------------------- + + # - REVISIONS -------------------------------------------------------------- + + op.create_table( + "workflow_revisions", + sa.Column( + "project_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "artifact_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "variant_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "slug", + sa.String(), + nullable=False, + ), + sa.Column( + "version", + sa.String(), + nullable=True, + ), + sa.Column( + "created_at", + sa.TIMESTAMP(timezone=True), + server_default=sa.text("CURRENT_TIMESTAMP"), + nullable=False, + ), + sa.Column( + "updated_at", + sa.TIMESTAMP(timezone=True), + nullable=True, + ), + sa.Column( + "deleted_at", + sa.TIMESTAMP(timezone=True), + nullable=True, + ), + sa.Column( + "created_by_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "updated_by_id", + sa.UUID(), + nullable=True, + ), + sa.Column( + "deleted_by_id", + sa.UUID(), + nullable=True, + ), + sa.Column( + "flags", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.Column( + "metadata", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.Column( + "name", + sa.String(), + nullable=True, + ), + sa.Column( + "description", + sa.String(), + nullable=True, + ), + sa.Column( + "message", + sa.String(), + nullable=True, + ), + sa.Column( + "author", + sa.UUID(), + nullable=False, + ), + sa.Column( + "date", + sa.TIMESTAMP(timezone=True), + server_default=sa.text("CURRENT_TIMESTAMP"), + nullable=False, + ), + sa.Column( + "data", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.PrimaryKeyConstraint( + "project_id", + "id", + ), + sa.UniqueConstraint( + "project_id", + "slug", + ), + sa.ForeignKeyConstraint( + ["project_id"], + ["projects.id"], + ondelete="CASCADE", + ), + sa.ForeignKeyConstraint( + ["project_id", "artifact_id"], + ["workflow_artifacts.project_id", "workflow_artifacts.id"], + ondelete="CASCADE", + ), + sa.ForeignKeyConstraint( + ["project_id", "variant_id"], + ["workflow_variants.project_id", "workflow_variants.id"], + ondelete="CASCADE", + ), + sa.Index( + "ix_workflow_revisions_project_id_slug", + "project_id", + "slug", + ), + sa.Index( + "ix_workflow_revisions_project_id_artifact_id", + "project_id", + "artifact_id", + ), + sa.Index( + "ix_workflow_revisions_project_id_variant_id", + "project_id", + "variant_id", + ), + ) + + # -------------------------------------------------------------------------- + + +def downgrade() -> None: + # - REVISIONS -------------------------------------------------------------- + + op.drop_table("workflow_revisions") + + # -------------------------------------------------------------------------- + + # - VARIANTS --------------------------------------------------------------- + + op.drop_table("workflow_variants") + + # -------------------------------------------------------------------------- + + # - ARTIFACTS -------------------------------------------------------------- + + op.drop_table("workflow_artifacts") + + # -------------------------------------------------------------------------- diff --git a/api/ee/databases/postgres/migrations/core/versions/9698355c7650_rename_metadata_to_meta.py b/api/ee/databases/postgres/migrations/core/versions/9698355c7650_rename_metadata_to_meta.py new file mode 100644 index 0000000000..d0870f8288 --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/versions/9698355c7650_rename_metadata_to_meta.py @@ -0,0 +1,51 @@ +"""rename metadata to meta + +Revision ID: 9698355c7650 +Revises: 0698355c7642 +Create Date: 2025-05-21 07:27:45.801481 + +""" + +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import postgresql + +# revision identifiers, used by Alembic. +revision: str = "9698355c7650" +down_revision: Union[str, None] = "0698355c7642" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + # - WORKFLOWS -------------------------------------------------------------- + + op.execute("ALTER TABLE workflow_artifacts RENAME COLUMN metadata TO meta") + op.execute("ALTER TABLE workflow_variants RENAME COLUMN metadata TO meta") + op.execute("ALTER TABLE workflow_revisions RENAME COLUMN metadata TO meta") + + # - TESTSETS --------------------------------------------------------------- + + op.execute("ALTER TABLE testset_artifacts RENAME COLUMN metadata TO meta") + op.execute("ALTER TABLE testset_variants RENAME COLUMN metadata TO meta") + op.execute("ALTER TABLE testset_revisions RENAME COLUMN metadata TO meta") + + # -------------------------------------------------------------------------- + + +def downgrade() -> None: + # - WORKFLOWS -------------------------------------------------------------- + + op.execute("ALTER TABLE workflow_artifacts RENAME COLUMN meta TO metadata") + op.execute("ALTER TABLE workflow_variants RENAME COLUMN meta TO metadata") + op.execute("ALTER TABLE workflow_revisions RENAME COLUMN meta TO metadata") + + # - TESTSETS --------------------------------------------------------------- + + op.execute("ALTER TABLE testset_artifacts RENAME COLUMN meta TO metadata") + op.execute("ALTER TABLE testset_variants RENAME COLUMN meta TO metadata") + op.execute("ALTER TABLE testset_revisions RENAME COLUMN meta TO metadata") + + # -------------------------------------------------------------------------- diff --git a/api/ee/databases/postgres/migrations/core/versions/9b0e1a740b88_create_project_invitations_table.py b/api/ee/databases/postgres/migrations/core/versions/9b0e1a740b88_create_project_invitations_table.py new file mode 100644 index 0000000000..d265d52a12 --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/versions/9b0e1a740b88_create_project_invitations_table.py @@ -0,0 +1,60 @@ +"""create project_invitations table + +Revision ID: 9b0e1a740b88 +Revises: 1c2d3e4f5a6b +Create Date: 2024-09-05 16:08:04.440845 + +""" + +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision: str = "9b0e1a740b88" +down_revision: Union[str, None] = "1c2d3e4f5a6b" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + # Get the current connection + connection = op.get_bind() + inspector = sa.inspect(connection) + if "project_invitations" not in inspector.get_table_names(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table( + "project_invitations", + sa.Column("id", sa.UUID(), nullable=False), + sa.Column("token", sa.String(), nullable=False), + sa.Column("email", sa.String(), nullable=False), + sa.Column("used", sa.Boolean(), nullable=True), + sa.Column("role", sa.String(), nullable=False), + sa.Column("user_id", sa.UUID(), nullable=True), + sa.Column("project_id", sa.UUID(), nullable=True), + sa.Column("expiration_date", sa.DateTime(timezone=True), nullable=True), + sa.Column("created_at", sa.DateTime(timezone=True), nullable=True), + sa.ForeignKeyConstraint( + ["project_id"], + ["projects.id"], + ), + sa.ForeignKeyConstraint( + ["user_id"], + ["users.id"], + ), + sa.PrimaryKeyConstraint("id"), + sa.UniqueConstraint("id"), + sa.UniqueConstraint("token"), + ) + # ### end Alembic commands ### + + +def downgrade() -> None: + connection = op.get_bind() + inspector = sa.inspect(connection) + if "project_invitations" in inspector.get_table_names(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_table("project_invitations") + # ### end Alembic commands ### diff --git a/api/ee/databases/postgres/migrations/core/versions/aa1b2c3d4e5f_migrate_config_parameters_jsonb_to_json.py b/api/ee/databases/postgres/migrations/core/versions/aa1b2c3d4e5f_migrate_config_parameters_jsonb_to_json.py new file mode 100644 index 0000000000..e0da80ce6b --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/versions/aa1b2c3d4e5f_migrate_config_parameters_jsonb_to_json.py @@ -0,0 +1,132 @@ +"""Migrate config_parameters from JSONB to JSON + +Revision ID: aa1b2c3d4e5f +Revises: d5d4d6bf738f +Create Date: 2025-07-11 12:00:00 + +""" + +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import postgresql + + +# revision identifiers, used by Alembic. +revision: str = "aa1b2c3d4e5f" +down_revision: Union[str, None] = "d5d4d6bf738f" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade(): + """ + Migrate config_parameters from JSONB to JSON type to preserve key ordering. + This involves: + 1. Creating new JSON columns + 2. Copying data from JSONB to JSON + 3. Dropping old JSONB columns + 4. Renaming new columns to original names + """ + + # Step 1: Add new JSON columns with temporary names + op.add_column( + "app_variants", + sa.Column("config_parameters_json_temp", sa.JSON(), nullable=True), + ) + + op.add_column( + "app_variant_revisions", + sa.Column("config_parameters_json_temp", sa.JSON(), nullable=True), + ) + + # Step 2: Copy data from JSONB to JSON columns + # For app_variants table + op.execute( + """ + UPDATE app_variants + SET config_parameters_json_temp = config_parameters::json + """ + ) + + # For app_variant_revisions table + op.execute( + """ + UPDATE app_variant_revisions + SET config_parameters_json_temp = config_parameters::json + """ + ) + + # Step 3: Drop the old JSONB columns + op.drop_column("app_variants", "config_parameters") + op.drop_column("app_variant_revisions", "config_parameters") + + # Step 4: Rename the new JSON columns to the original names + op.alter_column( + "app_variants", + "config_parameters_json_temp", + new_column_name="config_parameters", + nullable=False, + server_default="{}", + ) + + op.alter_column( + "app_variant_revisions", + "config_parameters_json_temp", + new_column_name="config_parameters", + nullable=False, + ) + + +def downgrade(): + """ + Migrate config_parameters from JSON back to JSONB type. + """ + + # Step 1: Add new JSONB columns with temporary names + op.add_column( + "app_variants", + sa.Column("config_parameters_jsonb_temp", postgresql.JSONB(), nullable=True), + ) + + op.add_column( + "app_variant_revisions", + sa.Column("config_parameters_jsonb_temp", postgresql.JSONB(), nullable=True), + ) + + # Step 2: Copy data from JSON to JSONB columns + # For app_variants table + op.execute( + """ + UPDATE app_variants + SET config_parameters_jsonb_temp = config_parameters::jsonb + """ + ) + + # For app_variant_revisions table + op.execute( + """ + UPDATE app_variant_revisions + SET config_parameters_jsonb_temp = config_parameters::jsonb + """ + ) + + # Step 3: Drop the old JSON columns + op.drop_column("app_variants", "config_parameters") + op.drop_column("app_variant_revisions", "config_parameters") + + # Step 4: Rename the new JSONB columns to the original names + op.alter_column( + "app_variants", + "config_parameters_jsonb_temp", + new_column_name="config_parameters", + nullable=False, + ) + + op.alter_column( + "app_variant_revisions", + "config_parameters_jsonb_temp", + new_column_name="config_parameters", + nullable=False, + ) diff --git a/api/ee/databases/postgres/migrations/core/versions/ad0987a77380_update_evaluators_names_with_app_name_.py b/api/ee/databases/postgres/migrations/core/versions/ad0987a77380_update_evaluators_names_with_app_name_.py new file mode 100644 index 0000000000..42f949782b --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/versions/ad0987a77380_update_evaluators_names_with_app_name_.py @@ -0,0 +1,35 @@ +"""Update evaluators names with app name as prefix + +Revision ID: ad0987a77380 +Revises: 770d68410ab0 +Create Date: 2024-09-17 06:32:38.238473 + +""" + +from typing import Sequence, Union + +from alembic import context + +from ee.databases.postgres.migrations.core.data_migrations.applications import ( + update_evaluators_with_app_name, +) + + +# revision identifiers, used by Alembic. +revision: str = "ad0987a77380" +down_revision: Union[str, None] = "770d68410ab0" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + # ### custom command ### + connection = context.get_bind() # get database connect from alembic context + update_evaluators_with_app_name(session=connection) + # ### end custom command ### + + +def downgrade() -> None: + # ### custom command ### + pass + # ### end custom command ### diff --git a/api/ee/databases/postgres/migrations/core/versions/b3f15a7140ab_add_version_to_eval_entities.py b/api/ee/databases/postgres/migrations/core/versions/b3f15a7140ab_add_version_to_eval_entities.py new file mode 100644 index 0000000000..f6a9d6a9af --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/versions/b3f15a7140ab_add_version_to_eval_entities.py @@ -0,0 +1,107 @@ +"""Add version to evaluation entities + +Revision ID: b3f15a7140ab +Revises: 5a71b3f140ab +Create Date: 2025-10-03 14:30:00.000000 + +""" + +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import postgresql + +revision: str = "b3f15a7140ab" +down_revision: Union[str, None] = "5a71b3f140ab" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + # BASED ON + # version = Column( + # String, + # nullable=True, + # ) + + # EVALUATION RUNS ---------------------------------------------------------- + + op.add_column( + "evaluation_runs", + sa.Column( + "version", + sa.String(), + nullable=True, + ), + ) + + # EVALUATION SCENARIOS ----------------------------------------------------- + + op.add_column( + "evaluation_scenarios", + sa.Column( + "version", + sa.String(), + nullable=True, + ), + ) + + # EVALUATION RESULTS ------------------------------------------------------- + + op.add_column( + "evaluation_results", + sa.Column( + "version", + sa.String(), + nullable=True, + ), + ) + + # EVALUATION METRICS ------------------------------------------------------- + + op.add_column( + "evaluation_metrics", + sa.Column( + "version", + sa.String(), + nullable=True, + ), + ) + + # EVALUATION QUEUES -------------------------------------------------------- + + op.add_column( + "evaluation_queues", + sa.Column( + "version", + sa.String(), + nullable=True, + ), + ) + + # -------------------------------------------------------------------------- + + +def downgrade() -> None: + # EVALUATION QUEUES -------------------------------------------------------- + + op.drop_column("evaluation_queues", "version") + + # EVALUATION METRICS ------------------------------------------------------- + + op.drop_column("evaluation_metrics", "version") + + # EVALUATION RESULTS ------------------------------------------------------- + + op.drop_column("evaluation_results", "version") + + # EVALUATION SCENARIOS ----------------------------------------------------- + + op.drop_column("evaluation_scenarios", "version") + + # EVALUATION RUNS ---------------------------------------------------------- + + op.drop_column("evaluation_runs", "version") + + # -------------------------------------------------------------------------- diff --git a/api/ee/databases/postgres/migrations/core/versions/b3f6bff547d4_remove_app_id_from_evaluators_configs.py b/api/ee/databases/postgres/migrations/core/versions/b3f6bff547d4_remove_app_id_from_evaluators_configs.py new file mode 100644 index 0000000000..647857d32d --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/versions/b3f6bff547d4_remove_app_id_from_evaluators_configs.py @@ -0,0 +1,38 @@ +"""repair remaining malformed evaluation/evaluator data + +Revision ID: b3f6bff547d4 +Revises: 4d9a58ff8f98 +Create Date: 2024-10-10 21:56:26.901827 + +""" + +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision: str = "b3f6bff547d4" +down_revision: Union[str, None] = "4d9a58ff8f98" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + connection = op.get_bind() + inspector = sa.inspect(connection) + if "evaluators_configs" not in inspector.get_table_names(): + # Check if app_id exists in the evaluators_configs table + columns = [ + column["name"] for column in inspector.get_columns("evaluators_configs") + ] + if "app_id" in columns: + op.drop_column("evaluators_configs", "app_id") + + +def downgrade() -> None: + op.add_column( + "evaluators_configs", + sa.Column("app_id", sa.UUID(), autoincrement=False, nullable=True), + ) diff --git a/api/ee/databases/postgres/migrations/core/versions/d0b8e05ca190_scope_project_id_to_db_models_entities.py b/api/ee/databases/postgres/migrations/core/versions/d0b8e05ca190_scope_project_id_to_db_models_entities.py new file mode 100644 index 0000000000..c204c1dd65 --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/versions/d0b8e05ca190_scope_project_id_to_db_models_entities.py @@ -0,0 +1,348 @@ +"""scope project_id to db models/entities + +Revision ID: d0b8e05ca190 +Revises: 154098b1e56c +Create Date: 2024-09-17 07:11:16.704972 + +""" + +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa + +from oss.src.utils.env import env +from ee.databases.postgres.migrations.core import utils + + +# revision identifiers, used by Alembic. +revision: str = "d0b8e05ca190" +down_revision: Union[str, None] = "154098b1e56c" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + engine = sa.create_engine(env.POSTGRES_URI_CORE) + op.add_column("app_db", sa.Column("project_id", sa.UUID(), nullable=True)) + op.drop_constraint("app_db_user_id_fkey", "app_db", type_="foreignkey") + op.create_foreign_key( + "app_db_projects_fkey", + "app_db", + "projects", + ["project_id"], + ["id"], + ondelete="CASCADE", + ) + op.drop_column("app_db", "user_id") + op.add_column( + "app_variant_revisions", sa.Column("project_id", sa.UUID(), nullable=True) + ) + op.create_foreign_key( + "app_variant_revisions_projects_fkey", + "app_variant_revisions", + "projects", + ["project_id"], + ["id"], + ondelete="CASCADE", + ) + op.add_column("app_variants", sa.Column("project_id", sa.UUID(), nullable=True)) + op.drop_constraint("app_variants_user_id_fkey", "app_variants", type_="foreignkey") + op.create_foreign_key( + "app_variants_projects_fkey", + "app_variants", + "projects", + ["project_id"], + ["id"], + ondelete="CASCADE", + ) + op.drop_column("app_variants", "user_id") + op.add_column("bases", sa.Column("project_id", sa.UUID(), nullable=True)) + op.drop_constraint("bases_app_id_fkey", "bases", type_="foreignkey") + op.drop_constraint("bases_user_id_fkey", "bases", type_="foreignkey") + op.create_foreign_key( + "bases_projects_fkey", + "bases", + "projects", + ["project_id"], + ["id"], + ondelete="CASCADE", + ) + op.drop_column("bases", "user_id") + op.add_column("deployments", sa.Column("project_id", sa.UUID(), nullable=True)) + op.drop_constraint("deployments_user_id_fkey", "deployments", type_="foreignkey") + op.create_foreign_key( + "deployments_projects_fkey", + "deployments", + "projects", + ["project_id"], + ["id"], + ondelete="CASCADE", + ) + op.drop_column("deployments", "user_id") + op.add_column("docker_images", sa.Column("project_id", sa.UUID(), nullable=True)) + op.drop_constraint( + "docker_images_user_id_fkey", "docker_images", type_="foreignkey" + ) + op.create_foreign_key( + "docker_images_projects_fkey", + "docker_images", + "projects", + ["project_id"], + ["id"], + ondelete="CASCADE", + ) + op.drop_column("docker_images", "user_id") + op.add_column("environments", sa.Column("project_id", sa.UUID(), nullable=True)) + op.drop_constraint("environments_user_id_fkey", "environments", type_="foreignkey") + op.create_foreign_key( + "environments_projects_fkey", + "environments", + "projects", + ["project_id"], + ["id"], + ondelete="CASCADE", + ) + op.drop_column("environments", "user_id") + op.add_column( + "environments_revisions", sa.Column("project_id", sa.UUID(), nullable=True) + ) + op.create_foreign_key( + "environments_revisions_projects_fkey", + "environments_revisions", + "projects", + ["project_id"], + ["id"], + ondelete="CASCADE", + ) + op.add_column( + "evaluation_scenarios", sa.Column("project_id", sa.UUID(), nullable=True) + ) + op.drop_constraint( + "evaluation_scenarios_user_id_fkey", "evaluation_scenarios", type_="foreignkey" + ) + op.create_foreign_key( + "evaluation_scenarios_projects_fkey", + "evaluation_scenarios", + "projects", + ["project_id"], + ["id"], + ondelete="CASCADE", + ) + op.drop_column("evaluation_scenarios", "user_id") + op.add_column("evaluations", sa.Column("project_id", sa.UUID(), nullable=True)) + op.drop_constraint("evaluations_user_id_fkey", "evaluations", type_="foreignkey") + op.create_foreign_key( + "evaluations_projects_fkey", + "evaluations", + "projects", + ["project_id"], + ["id"], + ondelete="CASCADE", + ) + op.drop_column("evaluations", "user_id") + op.add_column( + "evaluators_configs", sa.Column("project_id", sa.UUID(), nullable=True) + ) + op.drop_constraint( + "evaluators_configs_user_id_fkey", "evaluators_configs", type_="foreignkey" + ) + op.drop_constraint( + "evaluators_configs_app_id_fkey", "evaluators_configs", type_="foreignkey" + ) + op.create_foreign_key( + "evaluators_configs_projects_fkey", + "evaluators_configs", + "projects", + ["project_id"], + ["id"], + ondelete="CASCADE", + ) + op.drop_column("evaluators_configs", "user_id") + op.add_column( + "human_evaluations", sa.Column("project_id", sa.UUID(), nullable=True) + ) + op.drop_constraint( + "human_evaluations_user_id_fkey", "human_evaluations", type_="foreignkey" + ) + op.create_foreign_key( + "human_evaluations_projects_fkey", + "human_evaluations", + "projects", + ["project_id"], + ["id"], + ondelete="CASCADE", + ) + op.drop_column("human_evaluations", "user_id") + op.add_column( + "human_evaluations_scenarios", sa.Column("project_id", sa.UUID(), nullable=True) + ) + op.drop_constraint( + "human_evaluations_scenarios_user_id_fkey", + "human_evaluations_scenarios", + type_="foreignkey", + ) + op.create_foreign_key( + "human_evaluations_scenarios_projects_fkey", + "human_evaluations_scenarios", + "projects", + ["project_id"], + ["id"], + ondelete="CASCADE", + ) + op.drop_column("human_evaluations_scenarios", "user_id") + op.alter_column("projects", "is_default", existing_type=sa.BOOLEAN(), nullable=True) + op.add_column("testsets", sa.Column("project_id", sa.UUID(), nullable=True)) + if not utils.unique_constraint_exists(engine, "testsets", "testsets_user_id_fkey"): + op.drop_constraint("testsets_user_id_fkey", "testsets", type_="foreignkey") + op.drop_constraint("testsets_app_id_fkey", "testsets", type_="foreignkey") + + op.create_foreign_key( + "testsets_projects_fkey", + "testsets", + "projects", + ["project_id"], + ["id"], + ondelete="CASCADE", + ) + op.drop_column("testsets", "app_id") + op.drop_column("testsets", "user_id") + # ### end Alembic commands ### + + +def downgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.add_column( + "testsets", sa.Column("user_id", sa.UUID(), autoincrement=False, nullable=True) + ) + op.add_column( + "testsets", sa.Column("app_id", sa.UUID(), autoincrement=False, nullable=True) + ) + op.create_foreign_key( + "testsets_app_id_fkey", + "testsets", + "app_db", + ["app_id"], + ["id"], + ondelete="CASCADE", + ) + op.create_foreign_key( + "testsets_user_id_fkey", "testsets", "users", ["user_id"], ["id"] + ) + op.drop_column("testsets", "project_id") + op.alter_column( + "projects", "is_default", existing_type=sa.BOOLEAN(), nullable=False + ) + op.add_column( + "human_evaluations_scenarios", + sa.Column("user_id", sa.UUID(), autoincrement=False, nullable=True), + ) + op.create_foreign_key( + "human_evaluations_scenarios_user_id_fkey", + "human_evaluations_scenarios", + "users", + ["user_id"], + ["id"], + ) + op.drop_column("human_evaluations_scenarios", "project_id") + op.add_column( + "human_evaluations", + sa.Column("user_id", sa.UUID(), autoincrement=False, nullable=True), + ) + op.create_foreign_key( + "human_evaluations_user_id_fkey", + "human_evaluations", + "users", + ["user_id"], + ["id"], + ) + op.drop_column("human_evaluations", "project_id") + op.add_column( + "evaluators_configs", + sa.Column("user_id", sa.UUID(), autoincrement=False, nullable=True), + ) + op.create_foreign_key( + "evaluators_configs_app_id_fkey", + "evaluators_configs", + "app_db", + ["app_id"], + ["id"], + ondelete="SET NULL", + ) + op.create_foreign_key( + "evaluators_configs_user_id_fkey", + "evaluators_configs", + "users", + ["user_id"], + ["id"], + ) + op.drop_column("evaluators_configs", "project_id") + op.add_column( + "evaluations", + sa.Column("user_id", sa.UUID(), autoincrement=False, nullable=True), + ) + op.create_foreign_key( + "evaluations_user_id_fkey", "evaluations", "users", ["user_id"], ["id"] + ) + op.drop_column("evaluations", "project_id") + op.add_column( + "evaluation_scenarios", + sa.Column("user_id", sa.UUID(), autoincrement=False, nullable=True), + ) + op.create_foreign_key( + "evaluation_scenarios_user_id_fkey", + "evaluation_scenarios", + "users", + ["user_id"], + ["id"], + ) + op.drop_column("evaluation_scenarios", "project_id") + op.drop_column("environments_revisions", "project_id") + op.add_column( + "environments", + sa.Column("user_id", sa.UUID(), autoincrement=False, nullable=True), + ) + op.create_foreign_key( + "environments_user_id_fkey", "environments", "users", ["user_id"], ["id"] + ) + op.drop_column("environments", "project_id") + op.add_column( + "docker_images", + sa.Column("user_id", sa.UUID(), autoincrement=False, nullable=True), + ) + op.create_foreign_key( + "docker_images_user_id_fkey", "docker_images", "users", ["user_id"], ["id"] + ) + op.drop_column("docker_images", "project_id") + op.add_column( + "deployments", + sa.Column("user_id", sa.UUID(), autoincrement=False, nullable=True), + ) + op.create_foreign_key( + "deployments_user_id_fkey", "deployments", "users", ["user_id"], ["id"] + ) + op.drop_column("deployments", "project_id") + op.add_column( + "bases", sa.Column("user_id", sa.UUID(), autoincrement=False, nullable=True) + ) + op.create_foreign_key("bases_user_id_fkey", "bases", "users", ["user_id"], ["id"]) + op.create_foreign_key( + "bases_app_id_fkey", "bases", "app_db", ["app_id"], ["id"], ondelete="CASCADE" + ) + op.drop_column("bases", "project_id") + op.add_column( + "app_variants", + sa.Column("user_id", sa.UUID(), autoincrement=False, nullable=True), + ) + op.create_foreign_key( + "app_variants_user_id_fkey", "app_variants", "users", ["user_id"], ["id"] + ) + op.drop_column("app_variants", "project_id") + op.drop_column("app_variant_revisions", "project_id") + op.add_column( + "app_db", sa.Column("user_id", sa.UUID(), autoincrement=False, nullable=True) + ) + op.create_foreign_key("app_db_user_id_fkey", "app_db", "users", ["user_id"], ["id"]) + op.drop_column("app_db", "project_id") + # ### end Alembic commands ### diff --git a/api/ee/databases/postgres/migrations/core/versions/d5d4d6bf738f_add_evaluation_queues.py b/api/ee/databases/postgres/migrations/core/versions/d5d4d6bf738f_add_evaluation_queues.py new file mode 100644 index 0000000000..6d39d973aa --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/versions/d5d4d6bf738f_add_evaluation_queues.py @@ -0,0 +1,116 @@ +"""add evaluation queues + +Revision ID: d5d4d6bf738f +Revises: fd77265d65dc +Create Date: 2025-07-10 17:04:00.000000 +""" + +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import postgresql + +# revision identifiers, used by Alembic. +revision: str = "d5d4d6bf738f" +down_revision: Union[str, None] = "fd77265d65dc" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + op.create_table( + "evaluation_queues", + sa.Column( + "project_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "created_at", + sa.TIMESTAMP(timezone=True), + server_default=sa.text("CURRENT_TIMESTAMP"), + nullable=False, + ), + sa.Column( + "updated_at", + sa.TIMESTAMP(timezone=True), + nullable=True, + ), + sa.Column( + "deleted_at", + sa.TIMESTAMP(timezone=True), + nullable=True, + ), + sa.Column( + "created_by_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "updated_by_id", + sa.UUID(), + nullable=True, + ), + sa.Column( + "deleted_by_id", + sa.UUID(), + nullable=True, + ), + sa.Column( + "flags", + postgresql.JSONB(none_as_null=True), + nullable=True, + ), + sa.Column( + "tags", + postgresql.JSONB(none_as_null=True), + nullable=True, + ), + sa.Column( + "meta", + postgresql.JSONB(none_as_null=True), + nullable=True, + ), + sa.Column( + "data", + postgresql.JSONB(none_as_null=True), + nullable=True, + ), + sa.Column( + "run_id", + sa.UUID(), + nullable=False, + ), + sa.PrimaryKeyConstraint( + "project_id", + "id", + ), + sa.ForeignKeyConstraint( + ["project_id"], + ["projects.id"], + ondelete="CASCADE", + ), + sa.ForeignKeyConstraint( + ["project_id", "run_id"], + ["evaluation_runs.project_id", "evaluation_runs.id"], + ondelete="CASCADE", + ), + sa.Index( + "ix_evaluation_queues_project_id", + "project_id", + ), + sa.Index( + "ix_evaluation_queues_run_id", + "run_id", + ), + ) + + +def downgrade() -> None: + op.drop_table("evaluation_queues") diff --git a/api/ee/databases/postgres/migrations/core/versions/e14e8689cd03_created_project_members_table_and_added_.py b/api/ee/databases/postgres/migrations/core/versions/e14e8689cd03_created_project_members_table_and_added_.py new file mode 100644 index 0000000000..a1eebc1154 --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/versions/e14e8689cd03_created_project_members_table_and_added_.py @@ -0,0 +1,68 @@ +"""created project_members table and added organization&workspace id to projects table + +Revision ID: e14e8689cd03 +Revises: e9fa2135f3fb +Create Date: 2024-09-02 15:50:58.870573 + +""" + +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision: str = "e14e8689cd03" +down_revision: Union[str, None] = "e9fa2135f3fb" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.create_table( + "projects", + sa.Column("id", sa.UUID(), nullable=False), + sa.Column("project_name", sa.String(), nullable=False), + sa.Column("is_default", sa.Boolean(), nullable=False), + sa.Column("created_at", sa.DateTime(timezone=True), nullable=True), + sa.Column("updated_at", sa.DateTime(timezone=True), nullable=True), + sa.Column("workspace_id", sa.UUID(), nullable=True), + sa.Column("organization_id", sa.UUID(), nullable=True), + sa.ForeignKeyConstraint( + ["organization_id"], ["organizations.id"], ondelete="SET NULL" + ), + sa.ForeignKeyConstraint( + ["workspace_id"], ["workspaces.id"], ondelete="SET NULL" + ), + sa.PrimaryKeyConstraint("id"), + sa.UniqueConstraint("id"), + ) + op.create_table( + "project_members", + sa.Column("id", sa.UUID(), nullable=False), + sa.Column("user_id", sa.UUID(), nullable=True), + sa.Column("project_id", sa.UUID(), nullable=True), + sa.Column("role", sa.String(), nullable=True), + sa.Column("created_at", sa.DateTime(timezone=True), nullable=True), + sa.Column("updated_at", sa.DateTime(timezone=True), nullable=True), + sa.ForeignKeyConstraint( + ["project_id"], + ["projects.id"], + ), + sa.ForeignKeyConstraint( + ["user_id"], + ["users.id"], + ), + sa.PrimaryKeyConstraint("id"), + sa.UniqueConstraint("id"), + ) + # ### end Alembic commands ### + + +def downgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.drop_table("project_members") + op.drop_table("projects") + # ### end Alembic commands ### diff --git a/api/ee/databases/postgres/migrations/core/versions/e9fa2135f3fb_add_modified_by_id_column_to_apps_db_.py b/api/ee/databases/postgres/migrations/core/versions/e9fa2135f3fb_add_modified_by_id_column_to_apps_db_.py new file mode 100644 index 0000000000..cf9c02f606 --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/versions/e9fa2135f3fb_add_modified_by_id_column_to_apps_db_.py @@ -0,0 +1,31 @@ +"""add modified_by_id column to apps_db table + +Revision ID: e9fa2135f3fb +Revises: 8accbbea1d21 +Create Date: 2024-09-03 20:51:51.856509 + +""" + +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision: str = "e9fa2135f3fb" +down_revision: Union[str, None] = "8accbbea1d21" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.add_column("app_db", sa.Column("modified_by_id", sa.UUID(), nullable=True)) + # ### end Alembic commands ### + + +def downgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.drop_column("app_db", "modified_by_id") + # ### end Alembic commands ### diff --git a/api/ee/databases/postgres/migrations/core/versions/fa07e07350bf_add_timestamp_to_metrics.py b/api/ee/databases/postgres/migrations/core/versions/fa07e07350bf_add_timestamp_to_metrics.py new file mode 100644 index 0000000000..c6d85c7467 --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/versions/fa07e07350bf_add_timestamp_to_metrics.py @@ -0,0 +1,34 @@ +"""add timestamp to metrics + +Revision ID: fa07e07350bf +Revises: 30dcf07de96a +Create Date: 2025-07-30 14:55:00.000000 + +""" + +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa + +# revision identifiers, used by Alembic. +revision: str = "fa07e07350bf" +down_revision: Union[str, None] = "30dcf07de96a" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + op.add_column( + "evaluation_metrics", + sa.Column("timestamp", sa.TIMESTAMP(timezone=True), nullable=True), + ) + op.add_column( + "evaluation_metrics", + sa.Column("interval", sa.INTEGER(), nullable=True), + ) + + +def downgrade() -> None: + op.drop_column("evaluation_metrics", "interval") + op.drop_column("evaluation_metrics", "timestamp") diff --git a/api/ee/databases/postgres/migrations/core/versions/fd77265d65dc_fix_preview_entities.py b/api/ee/databases/postgres/migrations/core/versions/fd77265d65dc_fix_preview_entities.py new file mode 100644 index 0000000000..0e4666cc84 --- /dev/null +++ b/api/ee/databases/postgres/migrations/core/versions/fd77265d65dc_fix_preview_entities.py @@ -0,0 +1,232 @@ +"""fix previw entities + +Revision ID: fd77265d65dc +Revises: 54e81e9eed88 +Create Date: 2025-05-29 16:30:00.000000 + +""" + +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import postgresql + +# revision identifiers, used by Alembic. +revision: str = "fd77265d65dc" +down_revision: Union[str, None] = "54e81e9eed88" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + # - WORKFLOWS -------------------------------------------------------------- + + op.add_column( + "workflow_artifacts", + sa.Column( + "tags", + postgresql.JSONB(none_as_null=True), + nullable=True, + ), + ) + op.add_column( + "workflow_variants", + sa.Column( + "tags", + postgresql.JSONB(none_as_null=True), + nullable=True, + ), + ) + op.add_column( + "workflow_revisions", + sa.Column( + "tags", + postgresql.JSONB(none_as_null=True), + nullable=True, + ), + ) + + # - TESTSETS --------------------------------------------------------------- + + op.add_column( + "testset_artifacts", + sa.Column( + "tags", + postgresql.JSONB(none_as_null=True), + nullable=True, + ), + ) + op.add_column( + "testset_variants", + sa.Column( + "tags", + postgresql.JSONB(none_as_null=True), + nullable=True, + ), + ) + op.add_column( + "testset_revisions", + sa.Column( + "tags", + postgresql.JSONB(none_as_null=True), + nullable=True, + ), + ) + + # - TESTCASES -------------------------------------------------------------- + + op.add_column( + "testcase_blobs", + sa.Column( + "tags", + postgresql.JSONB(none_as_null=True), + nullable=True, + ), + ) + op.add_column( + "testcase_blobs", + sa.Column( + "flags", + postgresql.JSONB(none_as_null=True), + nullable=True, + ), + ) + op.add_column( + "testcase_blobs", + sa.Column( + "meta", + postgresql.JSONB(none_as_null=True), + nullable=True, + ), + ) + op.drop_column("testcase_blobs", "slug") + op.add_column( + "testcase_blobs", + sa.Column( + "created_at", + sa.TIMESTAMP(timezone=True), + server_default=sa.text("CURRENT_TIMESTAMP"), + nullable=False, + ), + ) + op.add_column( + "testcase_blobs", + sa.Column( + "updated_at", + sa.TIMESTAMP(timezone=True), + nullable=True, + ), + ) + op.add_column( + "testcase_blobs", + sa.Column( + "deleted_at", + sa.TIMESTAMP(timezone=True), + nullable=True, + ), + ) + op.add_column( + "testcase_blobs", + sa.Column( + "created_by_id", + sa.UUID(), + nullable=False, + ), + ) + op.add_column( + "testcase_blobs", + sa.Column( + "updated_by_id", + sa.UUID(), + nullable=True, + ), + ) + op.add_column( + "testcase_blobs", + sa.Column( + "deleted_by_id", + sa.UUID(), + nullable=True, + ), + ) + + # - EVALUATIONS ------------------------------------------------------------ + + op.add_column( + "evaluation_runs", + sa.Column( + "tags", + postgresql.JSONB(none_as_null=True), + nullable=True, + ), + ) + op.add_column( + "evaluation_scenarios", + sa.Column( + "tags", + postgresql.JSONB(none_as_null=True), + nullable=True, + ), + ) + op.add_column( + "evaluation_steps", + sa.Column( + "tags", + postgresql.JSONB(none_as_null=True), + nullable=True, + ), + ) + op.add_column( + "evaluation_metrics", + sa.Column( + "tags", + postgresql.JSONB(none_as_null=True), + nullable=True, + ), + ) + + # -------------------------------------------------------------------------- + + +def downgrade() -> None: + # - WORKFLOWS -------------------------------------------------------------- + + op.drop_column("workflow_artifacts", "tags") + op.drop_column("workflow_variants", "tags") + op.drop_column("workflow_revisions", "tags") + + # - TESTSETS --------------------------------------------------------------- + + op.drop_column("testset_artifacts", "tags") + op.drop_column("testset_variants", "tags") + op.drop_column("testset_revisions", "tags") + + # - TESTCASES -------------------------------------------------------------- + + op.drop_column("testcase_blobs", "flags") + op.drop_column("testcase_blobs", "tags") + op.drop_column("testcase_blobs", "meta") + op.add_column( + "testcase_blobs", + sa.Column( + "slug", + sa.String(), + nullable=True, + ), + ) + op.drop_column("testcase_blobs", "created_at") + op.drop_column("testcase_blobs", "updated_at") + op.drop_column("testcase_blobs", "deleted_at") + op.drop_column("testcase_blobs", "created_by_id") + op.drop_column("testcase_blobs", "updated_by_id") + op.drop_column("testcase_blobs", "deleted_by_id") + + # - EVALUATIONS ------------------------------------------------------------ + + op.drop_column("evaluation_runs", "tags") + op.drop_column("evaluation_scenarios", "tags") + op.drop_column("evaluation_steps", "tags") + op.drop_column("evaluation_metrics", "tags") + + # -------------------------------------------------------------------------- diff --git a/api/ee/databases/postgres/migrations/find_head.py b/api/ee/databases/postgres/migrations/find_head.py new file mode 100644 index 0000000000..c435c485a9 --- /dev/null +++ b/api/ee/databases/postgres/migrations/find_head.py @@ -0,0 +1,48 @@ +import os +import re +from typing import Union, Dict, Set +import sys + +database = sys.argv[1] + +MIGRATIONS_DIR = f"./{database}/versions/" + +revision_pattern = re.compile(r'revision\s*:\s*str\s*=\s*"([a-f0-9]+)"') +down_revision_pattern = re.compile( + r'down_revision\s*:\s*Union\[str,\s*None\]\s*=\s*(?:"([^"]+)"|None)' +) + +revisions: Dict[str, Union[str, None]] = {} +all_down_revisions: Set[str] = set() + +for filename in os.listdir(MIGRATIONS_DIR): + if not filename.endswith(".py"): + continue + + print("---------") + print("file:", filename) + + with open(os.path.join(MIGRATIONS_DIR, filename), encoding="utf-8") as f: + content = f.read() + revision_match = revision_pattern.search(content) + down_revision_match = down_revision_pattern.search(content) + + print("revision:", revision_match) + print("down_revision:", down_revision_match) + if revision_match: + revision = revision_match.group(1) + down_revision = ( + down_revision_match.group(1) if down_revision_match else None + ) + if down_revision in ("None", ""): + down_revision = None + revisions[revision] = down_revision + if down_revision: + all_down_revisions.add(down_revision) + +# head(s) = revisions that are not anyone's down_revision +heads = [rev for rev in revisions if rev not in all_down_revisions] + +print("---------") +print() +print("Heads:", heads) diff --git a/api/ee/databases/postgres/migrations/runner.py b/api/ee/databases/postgres/migrations/runner.py new file mode 100644 index 0000000000..14baed1924 --- /dev/null +++ b/api/ee/databases/postgres/migrations/runner.py @@ -0,0 +1,21 @@ +import asyncio + +from ee.databases.postgres.migrations.utils import ( + split_core_and_tracing, + copy_nodes_from_core_to_tracing, +) +from ee.databases.postgres.migrations.core.utils import ( + run_alembic_migration as migrate_core, +) +from ee.databases.postgres.migrations.tracing.utils import ( + run_alembic_migration as migrate_tracing, +) + + +if __name__ == "__main__": + loop = asyncio.get_event_loop() + + loop.run_until_complete(split_core_and_tracing()) + migrate_core() + migrate_tracing() + loop.run_until_complete(copy_nodes_from_core_to_tracing()) diff --git a/api/ee/databases/postgres/migrations/tracing/README copy.md b/api/ee/databases/postgres/migrations/tracing/README copy.md new file mode 100644 index 0000000000..8d8552e3c3 --- /dev/null +++ b/api/ee/databases/postgres/migrations/tracing/README copy.md @@ -0,0 +1,35 @@ +# Migrations with Alembic + +Generic single-database configuration with an async dbapi. + +## Autogenerate Migrations + +One of Alembic's key features is its ability to auto-generate migration scripts. By analyzing the current database state and comparing it with the application's table metadata, Alembic can automatically generate the necessary migration scripts using the `--autogenerate` flag in the alembic revision command. + +Note that autogenerate sometimes does not detect all database changes and it is always necessary to manually review (and correct if needed) the candidate migrations that autogenerate produces. + +### Making migrations + +To make migrations after creating a new table schema or modifying a current column in a table, run the following commands: + +```bash +docker exec -e PYTHONPATH=/app -w /app/ee/databases/postgres/migrations/core agenta-ee-dev-api-1 alembic -c alembic.ini revision --autogenerate -m "migration message" +``` + +The above command will create a script that contains the changes that was made to the database schema. Kindly update "migration message" with a message that is clear to indicate what change was made. Here are some examples: + +- added username column in users table +- renamed template_uri to template_repository_uri +- etc + +### Applying Migrations + +```bash +docker exec -e PYTHONPATH=/app -w /app/ee/databases/postgres/migrations/core agenta-ee-dev-api-1 alembic -c alembic.ini upgrade head +``` + +The above command will be used to apply the changes in the script created to the database table(s). If you'd like to revert the migration, run the following command: + +```bash +docker exec -e PYTHONPATH=/app -w /app/ee/databases/postgres/migrations/core agenta-ee-dev-api-1 alembic -c alembic.ini downgrade head +``` diff --git a/api/ee/databases/postgres/migrations/tracing/__init__.py b/api/ee/databases/postgres/migrations/tracing/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/api/ee/databases/postgres/migrations/tracing/alembic.ini b/api/ee/databases/postgres/migrations/tracing/alembic.ini new file mode 100644 index 0000000000..046889088d --- /dev/null +++ b/api/ee/databases/postgres/migrations/tracing/alembic.ini @@ -0,0 +1,114 @@ +# A generic, single database configuration. + +[alembic] +# path to migration scripts +script_location = /app/ee/databases/postgres/migrations/tracing + +# template used to generate migration file names; The default value is %%(rev)s_%%(slug)s +# Uncomment the line below if you want the files to be prepended with date and time +# file_template = %%(year)d_%%(month).2d_%%(day).2d_%%(hour).2d%%(minute).2d-%%(rev)s_%%(slug)s + +# sys.path path, will be prepended to sys.path if present. +# defaults to the current working directory. +prepend_sys_path = . + +# timezone to use when rendering the date within the migration file +# as well as the filename. +# If specified, requires the python>=3.9 or backports.zoneinfo library. +# Any required deps can installed by adding `alembic[tz]` to the pip requirements +# string value is passed to ZoneInfo() +# leave blank for localtime +# timezone = + +# max length of characters to apply to the +# "slug" field +# truncate_slug_length = 40 + +# set to 'true' to run the environment during +# the 'revision' command, regardless of autogenerate +# revision_environment = false + +# set to 'true' to allow .pyc and .pyo files without +# a source .py file to be detected as revisions in the +# versions/ directory +# sourceless = false + +# version location specification; This defaults +# to migrations/versions. When using multiple version +# directories, initial revisions must be specified with --version-path. +# The path separator used here should be the separator specified by "version_path_separator" below. +# version_locations = %(here)s/bar:%(here)s/bat:migrations/versions + +# version path separator; As mentioned above, this is the character used to split +# version_locations. The default within new alembic.ini files is "os", which uses os.pathsep. +# If this key is omitted entirely, it falls back to the legacy behavior of splitting on spaces and/or commas. +# Valid values for version_path_separator are: +# +# version_path_separator = : +# version_path_separator = ; +# version_path_separator = space +version_path_separator = os # Use os.pathsep. Default configuration used for new projects. + +# set to 'true' to search source files recursively +# in each "version_locations" directory +# new in Alembic version 1.10 +# recursive_version_locations = false + +# the output encoding used when revision files +# are written from script.py.mako +# output_encoding = utf-8 + +sqlalchemy.url = driver://user:pass@localhost/dbname + + +[post_write_hooks] +# post_write_hooks defines scripts or Python functions that are run +# on newly generated revision scripts. See the documentation for further +# detail and examples + +# format using "black" - use the console_scripts runner, against the "black" entrypoint +# hooks = black +# black.type = console_scripts +# black.entrypoint = black +# black.options = -l 79 REVISION_SCRIPT_FILENAME + +# lint with attempts to fix using "ruff" - use the exec runner, execute a binary +# hooks = ruff +# ruff.type = exec +# ruff.executable = %(here)s/.venv/bin/ruff +# ruff.options = --fix REVISION_SCRIPT_FILENAME + +# Logging configuration +[loggers] +keys = root,sqlalchemy,alembic + +[handlers] +keys = console + +[formatters] +keys = generic + +[logger_root] +level = WARN +handlers = console +qualname = + +[logger_sqlalchemy] +level = WARN +handlers = +qualname = sqlalchemy.engine + +[logger_alembic] +level = INFO +handlers = +qualname = alembic + +[handler_console] +class = StreamHandler +args = (sys.stderr,) +level = NOTSET +formatter = generic + +[formatter_generic] +format = %(levelname)-5.5s [%(name)s] %(message)s +datefmt = %H:%M:%S \ No newline at end of file diff --git a/api/ee/databases/postgres/migrations/tracing/env.py b/api/ee/databases/postgres/migrations/tracing/env.py new file mode 100644 index 0000000000..9376d4486d --- /dev/null +++ b/api/ee/databases/postgres/migrations/tracing/env.py @@ -0,0 +1,100 @@ +import os +import asyncio +from logging.config import fileConfig + +from sqlalchemy import pool +from sqlalchemy.engine import Connection, create_engine +from sqlalchemy.ext.asyncio import async_engine_from_config, create_async_engine + +from alembic import context + +from oss.src.dbs.postgres.shared.engine import engine + + +# this is the Alembic Config object, which provides +# access to the values within the .ini file in use. +config = context.config +config.set_main_option("sqlalchemy.url", engine.postgres_uri_tracing) # type: ignore + + +# Interpret the config file for Python logging. +# This line sets up loggers basically. +if config.config_file_name is not None: + fileConfig(config.config_file_name) + +# add your model's MetaData object here +# for 'autogenerate' support +from oss.src.dbs.postgres.shared.base import Base + +import oss.src.dbs.postgres.tracing.dbes + +# from myapp import mymodel +# target_metadata = mymodel.Base.metadata +target_metadata = Base.metadata + +# other values from the config, defined by the needs of env.py, +# can be acquired: +# my_important_option = config.get_main_option("my_important_option") +# ... etc. + + +def run_migrations_offline() -> None: + """Run migrations in 'offline' mode. + This configures the context with just a URL + and not an Engine, though an Engine is acceptable + here as well. By skipping the Engine creation + we don't even need a DBAPI to be available. + Calls to context.execute() here emit the given string to the + script output. + """ + url = config.get_main_option("sqlalchemy.url") + context.configure( + url=url, + transaction_per_migration=True, + target_metadata=target_metadata, + literal_binds=True, + dialect_opts={"paramstyle": "named"}, + ) + + with context.begin_transaction(): + context.run_migrations() + + +def do_run_migrations(connection: Connection) -> None: + context.configure( + transaction_per_migration=True, + connection=connection, + target_metadata=target_metadata, + ) + + with context.begin_transaction(): + context.run_migrations() + + +async def run_async_migrations() -> None: + """In this scenario we need to create an Engine + and associate a connection with the context. + """ + + connectable = async_engine_from_config( + config.get_section(config.config_ini_section, {}), + prefix="sqlalchemy.", + poolclass=pool.NullPool, + ) + + async with connectable.connect() as connection: + await connection.run_sync(do_run_migrations) + + await connectable.dispose() + + +def run_migrations_online() -> None: + """Run migrations in 'online' mode.""" + + asyncio.run(run_async_migrations()) + + +if context.is_offline_mode(): + run_migrations_offline() +else: + run_migrations_online() diff --git a/api/ee/databases/postgres/migrations/tracing/script.py.mako b/api/ee/databases/postgres/migrations/tracing/script.py.mako new file mode 100644 index 0000000000..fbc4b07dce --- /dev/null +++ b/api/ee/databases/postgres/migrations/tracing/script.py.mako @@ -0,0 +1,26 @@ +"""${message} + +Revision ID: ${up_revision} +Revises: ${down_revision | comma,n} +Create Date: ${create_date} + +""" +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa +${imports if imports else ""} + +# revision identifiers, used by Alembic. +revision: str = ${repr(up_revision)} +down_revision: Union[str, None] = ${repr(down_revision)} +branch_labels: Union[str, Sequence[str], None] = ${repr(branch_labels)} +depends_on: Union[str, Sequence[str], None] = ${repr(depends_on)} + + +def upgrade() -> None: + ${upgrades if upgrades else "pass"} + + +def downgrade() -> None: + ${downgrades if downgrades else "pass"} diff --git a/api/ee/databases/postgres/migrations/tracing/utils.py b/api/ee/databases/postgres/migrations/tracing/utils.py new file mode 100644 index 0000000000..15f3e66b5f --- /dev/null +++ b/api/ee/databases/postgres/migrations/tracing/utils.py @@ -0,0 +1,188 @@ +import os +import asyncio +import logging +import traceback + +import click +import asyncpg +from alembic import command +from sqlalchemy import Engine +from alembic.config import Config +from sqlalchemy import inspect, text +from alembic.script import ScriptDirectory +from sqlalchemy.exc import ProgrammingError +from sqlalchemy.ext.asyncio import create_async_engine, AsyncEngine + +from oss.src.utils.env import env + + +# Initializer logger +logger = logging.getLogger("alembic.env") + +# Initialize alembic config +alembic_cfg = Config(env.ALEMBIC_CFG_PATH_TRACING) +script = ScriptDirectory.from_config(alembic_cfg) + +logger.info("license: ee") +logger.info("migrations: tracing") +logger.info("ALEMBIC_CFG_PATH_TRACING: %s", env.ALEMBIC_CFG_PATH_TRACING) +logger.info("alembic_cfg: %s", alembic_cfg) +logger.info("script: %s", script) + + +def is_initial_setup(engine) -> bool: + """ + Check if the database is in its initial state by verifying the existence of required tables. + + This function inspects the current state of the database and determines if it needs initial setup by checking for the presence of a predefined set of required tables. + + Args: + engine (sqlalchemy.engine.base.Engine): The SQLAlchemy engine used to connect to the database. + + Returns: + bool: True if the database is in its initial state (i.e., not all required tables exist), False otherwise. + """ + + inspector = inspect(engine) + required_tables = ["spans"] + existing_tables = inspector.get_table_names() + + # Check if all required tables exist in the database + all_tables_exist = all(table in existing_tables for table in required_tables) + + return not all_tables_exist + + +async def get_current_migration_head_from_db(engine: AsyncEngine): + """ + Checks the alembic_version table to get the current migration head that has been applied. + + Args: + engine (Engine): The engine that connects to an sqlalchemy pool + + Returns: + the current migration head (where 'head' is the revision stored in the migration script) + """ + + async with engine.connect() as connection: + try: + result = await connection.execute(text("SELECT version_num FROM alembic_version")) # type: ignore + except (asyncpg.exceptions.UndefinedTableError, ProgrammingError): + # Note: If the alembic_version table does not exist, it will result in raising an UndefinedTableError exception. + # We need to suppress the error and return a list with the alembic_version table name to inform the user that there is a pending migration \ + # to make Alembic start tracking the migration changes. + # -------------------------------------------------------------------------------------- + # This effect (the exception raising) happens for both users (first-time and returning) + return "alembic_version" + + migration_heads = [row[0] for row in result.fetchall()] + assert ( + len(migration_heads) == 1 + ), "There can only be one migration head stored in the database." + return migration_heads[0] + + +async def get_pending_migration_head(): + """ + Gets the migration head that have not been applied. + + Returns: + the pending migration head + """ + + engine = create_async_engine(url=env.POSTGRES_URI_TRACING) + try: + current_migration_script_head = script.get_current_head() + migration_head_from_db = await get_current_migration_head_from_db(engine=engine) + + pending_migration_head = [] + if current_migration_script_head != migration_head_from_db: + pending_migration_head.append(current_migration_script_head) + if "alembic_version" == migration_head_from_db: + pending_migration_head.append("alembic_version") + finally: + await engine.dispose() + + return pending_migration_head + + +def run_alembic_migration(): + """ + Applies migration for first-time users and also checks the environment variable "AGENTA_AUTO_MIGRATIONS" to determine whether to apply migrations for returning users. + """ + + try: + pending_migration_head = asyncio.run(get_pending_migration_head()) + FIRST_TIME_USER = True if "alembic_version" in pending_migration_head else False + + if FIRST_TIME_USER or env.AGENTA_AUTO_MIGRATIONS: + command.upgrade(alembic_cfg, "head") + click.echo( + click.style( + "\nMigration applied successfully. The container will now exit.", + fg="green", + ), + color=True, + ) + else: + click.echo( + click.style( + "\nAll migrations are up-to-date. The container will now exit.", + fg="yellow", + ), + color=True, + ) + except Exception as e: + click.echo( + click.style( + f"\nAn ERROR occurred while applying migration: {traceback.format_exc()}\nThe container will now exit.", + fg="red", + ), + color=True, + ) + raise e + + +async def check_for_new_migrations(): + """ + Checks for new migrations and notify the user. + """ + + pending_migration_head = await get_pending_migration_head() + if len(pending_migration_head) >= 1 and isinstance(pending_migration_head[0], str): + click.echo( + click.style( + f"\nWe have detected that there are pending database migrations {pending_migration_head} that need to be applied to keep the application up to date. To ensure the application functions correctly with the latest updates, please follow the guide here => https://docs.agenta.ai/self-host/migration/applying-schema-migration\n", + fg="yellow", + ), + color=True, + ) + return + + +def unique_constraint_exists( + engine: Engine, table_name: str, constraint_name: str +) -> bool: + """ + The function checks if a unique constraint with a specific name exists on a table in a PostgreSQL + database. + + Args: + - engine (Engine): instance of a database engine that represents a connection to a database. + - table_name (str): name of the table to check the existence of the unique constraint. + - constraint_name (str): name of the unique constraint to check for existence. + + Returns: + - returns a boolean value indicating whether a unique constraint with the specified `constraint_name` exists in the table. + """ + + with engine.connect() as conn: + result = conn.execute( + text( + f""" + SELECT conname FROM pg_constraint + WHERE conname = '{constraint_name}' AND conrelid = '{table_name}'::regclass; + """ + ) + ) + return result.fetchone() is not None diff --git a/api/ee/databases/postgres/migrations/tracing/versions/58b1b61e5d6c_add_spans.py b/api/ee/databases/postgres/migrations/tracing/versions/58b1b61e5d6c_add_spans.py new file mode 100644 index 0000000000..d0b32e0008 --- /dev/null +++ b/api/ee/databases/postgres/migrations/tracing/versions/58b1b61e5d6c_add_spans.py @@ -0,0 +1,202 @@ +"""Add Spans v2 + +Revision ID: 58b1b61e5d6c +Revises: +Create Date: 2025-03-28 12:22:05.104488 + +""" + +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import postgresql + +# revision identifiers, used by Alembic. +revision: str = "58b1b61e5d6c" +down_revision: Union[str, None] = None +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + op.create_table( + "spans", + sa.Column( + "project_id", + sa.UUID(), + # sa.ForeignKey("projects.id", ondelete="CASCADE"), + nullable=False, + ), + sa.Column( + "created_at", + sa.TIMESTAMP(timezone=True), + server_default=sa.text("CURRENT_TIMESTAMP"), + nullable=False, + ), + sa.Column( + "updated_at", + sa.TIMESTAMP(timezone=True), + server_onupdate=sa.text("CURRENT_TIMESTAMP"), + nullable=True, + ), + sa.Column( + "deleted_at", + sa.TIMESTAMP(timezone=True), + nullable=True, + ), + sa.Column( + "created_by_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "updated_by_id", + sa.UUID(), + nullable=True, + ), + sa.Column( + "deleted_by_id", + sa.UUID(), + nullable=True, + ), + sa.Column( + "trace_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "span_id", + sa.UUID(), + nullable=False, + ), + sa.Column( + "parent_id", + sa.UUID(), + nullable=True, + ), + sa.Column( + "span_kind", + sa.Enum( + "SPAN_KIND_UNSPECIFIED", + "SPAN_KIND_INTERNAL", + "SPAN_KIND_SERVER", + "SPAN_KIND_CLIENT", + "SPAN_KIND_PRODUCER", + "SPAN_KIND_CONSUMER", + name="otelspankind", + ), + nullable=False, + ), + sa.Column( + "span_name", + sa.VARCHAR(), + nullable=False, + ), + sa.Column( + "start_time", + sa.TIMESTAMP(timezone=True), + nullable=False, + ), + sa.Column( + "end_time", + sa.TIMESTAMP(timezone=True), + nullable=False, + ), + sa.Column( + "status_code", + sa.Enum( + "STATUS_CODE_UNSET", + "STATUS_CODE_OK", + "STATUS_CODE_ERROR", + name="otelstatuscode", + ), + nullable=False, + ), + sa.Column( + "status_message", + sa.VARCHAR(), + nullable=True, + ), + sa.Column( + "attributes", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.Column( + "events", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.Column( + "links", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.Column( + "references", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + # sa.Column( + # "content", + # sa.VARCHAR(), + # nullable=True, + # ), + sa.PrimaryKeyConstraint( + "project_id", + "trace_id", + "span_id", + ), + sa.Index( + "ix_project_id_trace_id", + "project_id", + "trace_id", + ), + sa.Index( + "ix_project_id_span_id", + "project_id", + "span_id", + ), + sa.Index( + "ix_project_id_start_time", + "project_id", + "start_time", + ), + sa.Index( + "ix_project_id", + "project_id", + ), + sa.Index( + "ix_attributes_gin", + "attributes", + postgresql_using="gin", + ), + sa.Index( + "ix_events_gin", + "events", + postgresql_using="gin", + ), + sa.Index( + "ix_links_gin", + "links", + postgresql_using="gin", + ), + sa.Index( + "ix_references_gin", + "references", + postgresql_using="gin", + ), + ) + + +def downgrade() -> None: + op.drop_index("ix_references_gin", table_name="spans") + op.drop_index("ix_links_gin", table_name="spans") + op.drop_index("ix_events_gin", table_name="spans") + op.drop_index("ix_attributes_gin", table_name="spans") + op.drop_index("ix_project_id", table_name="spans") + op.drop_index("ix_project_id_start_time", table_name="spans") + op.drop_index("ix_project_id_span_id", table_name="spans") + op.drop_index("ix_project_id_trace_id", table_name="spans") + op.drop_table("spans") diff --git a/api/ee/databases/postgres/migrations/tracing/versions/847972cfa14a_add_nodes.py b/api/ee/databases/postgres/migrations/tracing/versions/847972cfa14a_add_nodes.py new file mode 100644 index 0000000000..4b6903973b --- /dev/null +++ b/api/ee/databases/postgres/migrations/tracing/versions/847972cfa14a_add_nodes.py @@ -0,0 +1,121 @@ +"""add_nodes_dbe + +Revision ID: 847972cfa14a +Revises: 58b1b61e5d6c +Create Date: 2024-11-07 12:21:19.080345 + +""" + +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import postgresql + +# revision identifiers, used by Alembic. +revision: str = "847972cfa14a" +down_revision: Union[str, None] = "58b1b61e5d6c" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.create_table( + "nodes", + sa.Column("project_id", sa.UUID(), nullable=False), + sa.Column( + "created_at", + sa.TIMESTAMP(timezone=True), + server_default=sa.text("CURRENT_TIMESTAMP"), + nullable=False, + ), + sa.Column("updated_at", sa.TIMESTAMP(timezone=True), nullable=True), + sa.Column("updated_by_id", sa.UUID(), nullable=True), + sa.Column("root_id", sa.UUID(), nullable=False), + sa.Column("tree_id", sa.UUID(), nullable=False), + sa.Column("tree_type", sa.Enum("INVOCATION", name="treetype"), nullable=True), + sa.Column("node_id", sa.UUID(), nullable=False), + sa.Column("node_name", sa.String(), nullable=False), + sa.Column( + "node_type", + sa.Enum( + "AGENT", + "WORKFLOW", + "CHAIN", + "TASK", + "TOOL", + "EMBEDDING", + "QUERY", + "COMPLETION", + "CHAT", + "RERANK", + name="nodetype", + ), + nullable=True, + ), + sa.Column("parent_id", sa.UUID(), nullable=True), + sa.Column("time_start", sa.TIMESTAMP(), nullable=False), + sa.Column("time_end", sa.TIMESTAMP(), nullable=False), + sa.Column( + "status", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.Column( + "data", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.Column( + "metrics", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.Column( + "meta", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.Column( + "refs", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.Column( + "exception", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.Column( + "links", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.Column("content", sa.String(), nullable=True), + sa.Column( + "otel", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + sa.PrimaryKeyConstraint("project_id", "node_id"), + ) + op.create_index( + "index_project_id_node_id", "nodes", ["project_id", "created_at"], unique=False + ) + op.create_index( + "index_project_id_root_id", "nodes", ["project_id", "root_id"], unique=False + ) + op.create_index( + "index_project_id_tree_id", "nodes", ["project_id", "tree_id"], unique=False + ) + # ### end Alembic commands ### + + +def downgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index("index_project_id_tree_id", table_name="nodes") + op.drop_index("index_project_id_root_id", table_name="nodes") + op.drop_index("index_project_id_node_id", table_name="nodes") + op.drop_table("nodes") + # ### end Alembic commands ### diff --git a/api/ee/databases/postgres/migrations/tracing/versions/fd77265d65dc_fix_spans.py b/api/ee/databases/postgres/migrations/tracing/versions/fd77265d65dc_fix_spans.py new file mode 100644 index 0000000000..6cb4e3f963 --- /dev/null +++ b/api/ee/databases/postgres/migrations/tracing/versions/fd77265d65dc_fix_spans.py @@ -0,0 +1,202 @@ +"""fix spans + +Revision ID: fd77265d65dc +Revises: 847972cfa14a +Create Date: 2025-05-29 16:30:00.000000 + +""" + +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import postgresql + +from oss.src.core.tracing.dtos import SpanType +from oss.src.core.tracing.dtos import TraceType + +# revision identifiers, used by Alembic. +revision: str = "fd77265d65dc" +down_revision: Union[str, None] = "847972cfa14a" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + # - SPANS ------------------------------------------------------------------ + trace_type_enum = sa.Enum(TraceType, name="tracetype") + span_type_enum = sa.Enum(SpanType, name="spantype") + + trace_type_enum.create(op.get_bind(), checkfirst=True) + span_type_enum.create(op.get_bind(), checkfirst=True) + + op.add_column( + "spans", + sa.Column( + "trace_type", + trace_type_enum, + nullable=True, + ), + ) + op.add_column( + "spans", + sa.Column( + "span_type", + span_type_enum, + nullable=True, + ), + ) + op.add_column( + "spans", + sa.Column( + "hashes", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + ) + op.add_column( + "spans", + sa.Column( + "exception", + postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), + nullable=True, + ), + ) + op.create_index( + "ix_spans_project_id_trace_type", + "spans", + ["project_id", "trace_type"], + if_not_exists=True, + ) + op.create_index( + "ix_spans_project_id_span_type", + "spans", + ["project_id", "span_type"], + if_not_exists=True, + ) + op.create_index( + "ix_spans_project_id_trace_id_created_at", + "spans", + ["project_id", "trace_id", sa.text("created_at DESC")], + if_not_exists=True, + ) + op.create_index( + "ix_spans_project_id_trace_id_start_time", + "spans", + ["project_id", "trace_id", sa.text("start_time DESC")], + if_not_exists=True, + ) + op.create_index( + "ix_hashes_gin", + "spans", + ["hashes"], + postgresql_using="gin", + postgresql_ops={"hashes": "jsonb_path_ops"}, + if_not_exists=True, + ) + op.drop_index( + "ix_events_gin", + table_name="spans", + if_exists=True, + ) + op.create_index( + "ix_events_gin", + "spans", # replace with your table name + ["events"], + postgresql_using="gin", + postgresql_ops={"events": "jsonb_path_ops"}, + if_not_exists=True, + ) + op.create_index( + "ix_spans_fts_attributes_gin", + "spans", + [sa.text("to_tsvector('simple', attributes)")], + postgresql_using="gin", + if_not_exists=True, + ) + op.create_index( + "ix_spans_fts_events_gin", + "spans", + [sa.text("to_tsvector('simple', events)")], + postgresql_using="gin", + if_not_exists=True, + ) + # -------------------------------------------------------------------------- + + +def downgrade() -> None: + # - SPANS ------------------------------------------------------------------ + op.drop_index( + "ix_spans_fts_events_gin", + table_name="spans", + if_exists=True, + ) + op.drop_index( + "ix_spans_fts_attributes_gin", + table_name="spans", + if_exists=True, + ) + op.drop_index( + "ix_events_gin", + table_name="spans", + if_exists=True, + ) + op.create_index( + "ix_events_gin", + "spans", + ["events"], + postgresql_using="gin", + if_not_exists=True, + ) + op.drop_index( + "ix_hashes_gin", + table_name="spans", + if_exists=True, + ) + op.drop_index( + "ix_spans_project_id_trace_id_start_time", + table_name="spans", + if_exists=True, + ) + op.drop_index( + "ix_spans_project_id_trace_id_created_at", + table_name="spans", + if_exists=True, + ) + op.drop_index( + "ix_spans_project_id_span_type", + table_name="spans", + if_exists=True, + ) + op.drop_index( + "ix_spans_project_id_trace_type", + table_name="spans", + if_exists=True, + ) + op.drop_column( + "spans", + "exception", + if_exists=True, + ) + op.drop_column( + "spans", + "hashes", + if_exists=True, + ) + op.drop_column( + "spans", + "span_type", + if_exists=True, + ) + op.drop_column( + "spans", + "trace_type", + if_exists=True, + ) + + span_type_enum = sa.Enum(SpanType, name="spantype") + trace_type_enum = sa.Enum(TraceType, name="tracetype") + + span_type_enum.drop(op.get_bind(), checkfirst=True) + trace_type_enum.drop(op.get_bind(), checkfirst=True) + # -------------------------------------------------------------------------- diff --git a/api/ee/databases/postgres/migrations/utils.py b/api/ee/databases/postgres/migrations/utils.py new file mode 100644 index 0000000000..f3874da1c8 --- /dev/null +++ b/api/ee/databases/postgres/migrations/utils.py @@ -0,0 +1,313 @@ +import os +import subprocess +import tempfile + +from sqlalchemy import create_engine, text +from sqlalchemy.ext.asyncio import create_async_engine + +from sqlalchemy.exc import ProgrammingError + +from oss.src.utils.env import env + + +# Config (can override via env) +POSTGRES_URI = ( + os.getenv("POSTGRES_URI") + or env.POSTGRES_URI_CORE + or env.POSTGRES_URI_TRACING + or "postgresql+asyncpg://username:password@localhost:5432/agenta_ee" +) +DB_PROTOCOL = POSTGRES_URI.split("://")[0] # .replace("+asyncpg", "") +DB_USER = POSTGRES_URI.split("://")[1].split(":")[0] +DB_PASS = POSTGRES_URI.split("://")[1].split(":")[1].split("@")[0] +DB_HOST = POSTGRES_URI.split("@")[1].split(":")[0] +DB_PORT = POSTGRES_URI.split(":")[-1].split("/")[0] +ADMIN_DB = "postgres" + +POSTGRES_URI_POSTGRES = ( + f"{DB_PROTOCOL}://{DB_USER}:{DB_PASS}@{DB_HOST}:{DB_PORT}/{ADMIN_DB}" +) + +# Rename/create map: {'old_name': 'new_name'} +RENAME_MAP = { + "agenta_ee": "agenta_ee_core", + "supertokens_ee": "agenta_ee_supertokens", + "agenta_ee_tracing": "agenta_ee_tracing", +} + + +NODES_TF = { + "agenta_ee_core": "agenta_ee_tracing", +} + + +async def copy_nodes_from_core_to_tracing(): + engine = create_async_engine( + POSTGRES_URI_POSTGRES, + isolation_level="AUTOCOMMIT", + ) + + async with engine.begin() as conn: + for old_name, new_name in NODES_TF.items(): + old_exists = ( + await conn.execute( + text("SELECT 1 FROM pg_database WHERE datname = :name"), + {"name": old_name}, + ) + ).scalar() + + new_exists = ( + await conn.execute( + text("SELECT 1 FROM pg_database WHERE datname = :name"), + {"name": new_name}, + ) + ).scalar() + + if old_exists and new_exists: + # Check if the nodes table exists in old_name database + check_url = f"{DB_PROTOCOL}://{DB_USER}:{DB_PASS}@{DB_HOST}:{DB_PORT}/{old_name}" + check_engine = create_async_engine(check_url) + async with check_engine.begin() as conn: + result = ( + await conn.execute( + text("SELECT to_regclass('public.nodes')"), + ) + ).scalar() + if result is None: + print( + f"⚠️ Table 'nodes' does not exist in '{old_name}'. Skipping copy." + ) + return + + count = ( + await conn.execute( + text("SELECT COUNT(*) FROM public.nodes"), + ) + ).scalar() + + if count == 0: + print( + f"⚠️ Table 'nodes' is empty in '{old_name}'. Skipping copy." + ) + return + + check_url = f"{DB_PROTOCOL}://{DB_USER}:{DB_PASS}@{DB_HOST}:{DB_PORT}/{new_name}" + check_engine = create_async_engine(check_url) + + async with check_engine.begin() as conn: + count = ( + await conn.execute( + text( + "SELECT COUNT(*) FROM public.nodes", + ) + ) + ).scalar() + + if (count or 0) > 0: + print( + f"⚠️ Table 'nodes' already exists in '{new_name}' with {count} rows. Skipping copy." + ) + return + + with tempfile.NamedTemporaryFile(suffix=".sql", delete=False) as tmp: + dump_file = tmp.name + + try: + # Step 1: Dump the 'nodes' table to file + subprocess.run( + [ + "pg_dump", + "-h", + DB_HOST, + "-p", + str(DB_PORT), + "-U", + DB_USER, + "-d", + old_name, + "-t", + "nodes", + "--format=custom", # requires -f, not stdout redirection + "--no-owner", + "--no-privileges", + "-f", + dump_file, + ], + check=True, + env={**os.environ, "PGPASSWORD": DB_PASS}, + ) + + print(f"✔ Dumped 'nodes' table to '{dump_file}'") + + # Step 2: Restore the dump into the new database + subprocess.run( + [ + "pg_restore", + "--data-only", + "--no-owner", + "--no-privileges", + "-h", + DB_HOST, + "-p", + str(DB_PORT), + "-U", + DB_USER, + "-d", + new_name, + dump_file, + ], + check=True, + env={**os.environ, "PGPASSWORD": DB_PASS}, + ) + + print(f"✔ Restored 'nodes' table into '{new_name}'") + + # Step 3: Verify 'nodes' exists in both DBs, then drop from old + source_engine = create_async_engine( + f"{DB_PROTOCOL}://{DB_USER}:{DB_PASS}@{DB_HOST}:{DB_PORT}/{old_name}" + ) + dest_engine = create_async_engine( + f"{DB_PROTOCOL}://{DB_USER}:{DB_PASS}@{DB_HOST}:{DB_PORT}/{new_name}" + ) + + async with source_engine.begin() as src, dest_engine.begin() as dst: + src = await src.execution_options(isolation_level="AUTOCOMMIT") + dst = await dst.execution_options(isolation_level="AUTOCOMMIT") + + src_exists = ( + await src.execute( + text("SELECT to_regclass('public.nodes')") + ) + ).scalar() + dst_exists = ( + await dst.execute( + text("SELECT to_regclass('public.nodes')"), + ) + ).scalar() + + if src_exists and dst_exists: + subprocess.run( + [ + "psql", + "-h", + DB_HOST, + "-p", + str(DB_PORT), + "-U", + DB_USER, + "-d", + old_name, + "-c", + "TRUNCATE TABLE public.nodes CASCADE", + ], + check=True, + env={**os.environ, "PGPASSWORD": DB_PASS}, + ) + + count = ( + await src.execute( + text("SELECT COUNT(*) FROM public.nodes"), + ) + ).scalar() + + print(f"✅ Remaining rows: {count}") + + except subprocess.CalledProcessError as e: + print(f"❌ pg_dump/psql failed: {e}") + finally: + if os.path.exists(dump_file): + os.remove(dump_file) + + +async def split_core_and_tracing(): + engine = create_async_engine( + POSTGRES_URI_POSTGRES, + isolation_level="AUTOCOMMIT", + ) + + async with engine.begin() as conn: + for old_name, new_name in RENAME_MAP.items(): + old_exists = ( + await conn.execute( + text("SELECT 1 FROM pg_database WHERE datname = :name"), + {"name": old_name}, + ) + ).scalar() + + new_exists = ( + await conn.execute( + text("SELECT 1 FROM pg_database WHERE datname = :name"), + {"name": new_name}, + ) + ).scalar() + + if old_exists and not new_exists: + print(f"Renaming database '{old_name}' → '{new_name}'...") + try: + await conn.execute( + text(f"ALTER DATABASE {old_name} RENAME TO {new_name}") + ) + print(f"✔ Renamed '{old_name}' to '{new_name}'") + except ProgrammingError as e: + print(f"❌ Failed to rename '{old_name}': {e}") + + elif not old_exists and new_exists: + print( + f"'{old_name}' does not exist, but '{new_name}' already exists. No action taken." + ) + + elif not old_exists and not new_exists: + print( + f"Neither '{old_name}' nor '{new_name}' exists. Creating '{new_name}'..." + ) + try: + # Ensure the role exists + await conn.execute( + text( + f""" + DO $$ + BEGIN + IF NOT EXISTS (SELECT FROM pg_roles WHERE rolname = '{DB_USER}') THEN + EXECUTE format('CREATE ROLE %I WITH LOGIN PASSWORD %L', '{DB_USER}', '{DB_PASS}'); + END IF; + END + $$; + """ + ) + ) + print(f"✔ Ensured role '{DB_USER}' exists") + + # Create the new database + await conn.execute(text(f"CREATE DATABASE {new_name}")) + print(f"✔ Created database '{new_name}'") + + # Grant privileges on the database to the role + await conn.execute( + text( + f"GRANT ALL PRIVILEGES ON DATABASE {new_name} TO {DB_USER}" + ) + ) + print( + f"✔ Granted privileges on database '{new_name}' to '{DB_USER}'" + ) + + # Connect to the new database to grant schema permissions + new_db_url = f"{DB_PROTOCOL}://{DB_USER}:{DB_PASS}@{DB_HOST}:{DB_PORT}/{new_name}" + + async with create_async_engine( + new_db_url, isolation_level="AUTOCOMMIT" + ).begin() as new_db_conn: + await new_db_conn.execute( + text(f"GRANT ALL ON SCHEMA public TO {DB_USER}") + ) + print( + f"✔ Granted privileges on schema 'public' in '{new_name}' to '{DB_USER}'" + ) + + except ProgrammingError as e: + print( + f"❌ Failed during creation or configuration of '{new_name}': {e}" + ) + + else: + print(f"Both '{old_name}' and '{new_name}' exist. No action taken.") diff --git a/api/ee/docker/Dockerfile.dev b/api/ee/docker/Dockerfile.dev new file mode 100644 index 0000000000..a650319e31 --- /dev/null +++ b/api/ee/docker/Dockerfile.dev @@ -0,0 +1,44 @@ +FROM python:3.11-slim-bullseye + +WORKDIR /app + +RUN apt-get update && \ + apt-get install -y curl cron gnupg2 lsb-release && \ + echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list && \ + curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | \ + gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg && \ + apt-get update && \ + apt-get install -y postgresql-client-16 && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* + +RUN pip install --upgrade pip \ + && pip install poetry + +COPY ./ee /app/ee/ +COPY ./oss /app/oss/ +COPY ./entrypoint.py ./pyproject.toml /app/ + +RUN poetry config virtualenvs.create false \ + && poetry install --no-interaction --no-ansi + # && pip install -e /sdk/ + +# ENV PYTHONPATH=/sdk:$PYTHONPATH + +COPY ./ee/src/crons/meters.sh /meters.sh +COPY ./ee/src/crons/meters.txt /etc/cron.d/meters-cron +RUN sed -i -e '$a\' /etc/cron.d/meters-cron +RUN cat -A /etc/cron.d/meters-cron + +RUN chmod +x /meters.sh \ + && chmod 0644 /etc/cron.d/meters-cron + +COPY ./ee/src/crons/queries.sh /queries.sh +COPY ./ee/src/crons/queries.txt /etc/cron.d/queries-cron +RUN sed -i -e '$a\' /etc/cron.d/queries-cron +RUN cat -A /etc/cron.d/queries-cron + +RUN chmod +x /queries.sh \ + && chmod 0644 /etc/cron.d/queries-cron + +EXPOSE 8000 diff --git a/api/ee/docker/Dockerfile.gh b/api/ee/docker/Dockerfile.gh new file mode 100644 index 0000000000..8e8e6ec936 --- /dev/null +++ b/api/ee/docker/Dockerfile.gh @@ -0,0 +1,44 @@ +FROM python:3.11-slim-bullseye + +WORKDIR /app + +RUN apt-get update && \ + apt-get install -y curl cron gnupg2 lsb-release && \ + echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list && \ + curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | \ + gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg && \ + apt-get update && \ + apt-get install -y postgresql-client-16 && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* + +RUN pip install --upgrade pip \ + && pip install poetry + +COPY ./ee /app/ee/ +COPY ./oss /app/oss/ +COPY ./entrypoint.py ./pyproject.toml /app/ + +RUN poetry config virtualenvs.create false \ + && poetry install --no-interaction --no-ansi +# + +# + +COPY ./ee/src/crons/meters.sh /meters.sh +COPY ./ee/src/crons/meters.txt /etc/cron.d/meters-cron +RUN sed -i -e '$a\' /etc/cron.d/meters-cron +RUN cat -A /etc/cron.d/meters-cron + +RUN chmod +x /meters.sh \ + && chmod 0644 /etc/cron.d/meters-cron + +COPY ./ee/src/crons/queries.sh /queries.sh +COPY ./ee/src/crons/queries.txt /etc/cron.d/queries-cron +RUN sed -i -e '$a\' /etc/cron.d/queries-cron +RUN cat -A /etc/cron.d/queries-cron + +RUN chmod +x /queries.sh \ + && chmod 0644 /etc/cron.d/queries-cron + +EXPOSE 8000 diff --git a/api/ee/src/__init__.py b/api/ee/src/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/api/ee/src/apis/__init__.py b/api/ee/src/apis/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/api/ee/src/apis/fastapi/__init__.py b/api/ee/src/apis/fastapi/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/api/ee/src/apis/fastapi/billing/__init__.py b/api/ee/src/apis/fastapi/billing/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/api/ee/src/apis/fastapi/billing/models.py b/api/ee/src/apis/fastapi/billing/models.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/api/ee/src/apis/fastapi/billing/router.py b/api/ee/src/apis/fastapi/billing/router.py new file mode 100644 index 0000000000..7ac23142c5 --- /dev/null +++ b/api/ee/src/apis/fastapi/billing/router.py @@ -0,0 +1,980 @@ +from typing import Any, Dict +from os import environ +from json import loads, decoder +from uuid import getnode +from datetime import datetime, timezone +from dateutil.relativedelta import relativedelta + +from fastapi import APIRouter, Request, status, HTTPException, Query +from fastapi.responses import JSONResponse + +import stripe + +from oss.src.utils.common import is_ee +from oss.src.utils.logging import get_module_logger +from oss.src.utils.exceptions import intercept_exceptions +from oss.src.utils.caching import get_cache, set_cache, invalidate_cache + +from oss.src.services.db_manager import ( + get_user_with_id, + get_organization_by_id, +) + +from ee.src.utils.permissions import check_action_access +from ee.src.models.shared_models import Permission +from ee.src.core.entitlements.types import ENTITLEMENTS, CATALOG, Tracker, Quota +from ee.src.core.subscriptions.types import Event, Plan +from ee.src.core.subscriptions.service import ( + SubscriptionsService, + SwitchException, + EventException, +) + + +log = get_module_logger(__name__) + +stripe.api_key = environ.get("STRIPE_API_KEY") + +MAC_ADDRESS = ":".join(f"{(getnode() >> ele) & 0xff:02x}" for ele in range(40, -1, -8)) +STRIPE_WEBHOOK_SECRET = environ.get("STRIPE_WEBHOOK_SECRET") +STRIPE_TARGET = environ.get("STRIPE_TARGET") or MAC_ADDRESS +AGENTA_PRICING = loads(environ.get("AGENTA_PRICING") or "{}") + +FORBIDDEN_RESPONSE = JSONResponse( + status_code=403, + content={ + "detail": "You do not have access to perform this action. Please contact your organization admin.", + }, +) + + +class SubscriptionsRouter: + def __init__( + self, + subscription_service: SubscriptionsService, + ): + self.subscription_service = subscription_service + + # ROUTER + self.router = APIRouter() + + # USES 'STRIPE_WEBHOOK_SECRET', SHOULD BE IN A DIFFERENT ROUTER + self.router.add_api_route( + "/stripe/events/", + self.handle_events, + methods=["POST"], + operation_id="handle_events", + ) + + self.router.add_api_route( + "/stripe/portals/", + self.create_portal_user_route, + methods=["POST"], + operation_id="create_portal", + ) + + self.router.add_api_route( + "/stripe/checkouts/", + self.create_checkout_user_route, + methods=["POST"], + operation_id="create_checkout", + ) + + self.router.add_api_route( + "/plans", + self.fetch_plan_user_route, + methods=["GET"], + operation_id="fetch_plans", + ) + + self.router.add_api_route( + "/plans/switch", + self.switch_plans_user_route, + methods=["POST"], + operation_id="switch_plans", + ) + + self.router.add_api_route( + "/subscription", + self.fetch_subscription_user_route, + methods=["GET"], + operation_id="fetch_subscription", + ) + + self.router.add_api_route( + "/subscription/cancel", + self.cancel_subscription_user_route, + methods=["POST"], + operation_id="cancel_plan", + ) + + self.router.add_api_route( + "/usage", + self.fetch_usage_user_route, + methods=["GET"], + operation_id="fetch_usage", + ) + + # ADMIN ROUTER + self.admin_router = APIRouter() + + self.admin_router.add_api_route( + "/stripe/portals/", + self.create_portal_admin_route, + methods=["POST"], + operation_id="admin_create_portal", + ) + + self.admin_router.add_api_route( + "/stripe/checkouts/", + self.create_checkout_admin_route, + methods=["POST"], + operation_id="admin_create_checkout", + ) + + self.admin_router.add_api_route( + "/plans/switch", + self.switch_plans_admin_route, + methods=["POST"], + operation_id="admin_switch_plans", + ) + + self.admin_router.add_api_route( + "/subscription/cancel", + self.cancel_subscription_admin_route, + methods=["POST"], + operation_id="admin_cancel_subscription", + ) + + # DOESN'T REQUIRE 'organization_id' + self.admin_router.add_api_route( + "/usage/report", + self.report_usage, + methods=["POST"], + operation_id="admin_report_usage", + ) + + # HANDLERS + + @intercept_exceptions() + async def handle_events( + self, + request: Request, + ): + if not stripe.api_key: + return JSONResponse( + status_code=status.HTTP_403_FORBIDDEN, + content={"status": "error", "message": "Missing Stripe API Key"}, + ) + + payload = await request.body() + stripe_event = None + + try: + stripe_event = loads(payload) + except decoder.JSONDecodeError: + return JSONResponse( + status_code=status.HTTP_400_BAD_REQUEST, + content={"status": "error", "message": "Payload extraction failed"}, + ) + + try: + stripe_event = stripe.Event.construct_from( + stripe_event, + stripe.api_key, + ) + except ValueError as e: + log.error("Could not construct stripe event: %s", e) + raise HTTPException(status_code=400, detail="Invalid payload") from e + + try: + sig_header = request.headers.get("stripe-signature") + + if STRIPE_WEBHOOK_SECRET: + stripe_event = stripe.Webhook.construct_event( + payload, + sig_header, + STRIPE_WEBHOOK_SECRET, + ) + except stripe.error.SignatureVerificationError as e: + log.error("Webhook signature verification failed: %s", e) + return JSONResponse( + status_code=status.HTTP_401_UNAUTHORIZED, + content={"status": "error", "message": "Signature verification failed"}, + ) + + metadata = None + + if not stripe_event.type.startswith("invoice"): + if not hasattr(stripe_event.data.object, "metadata"): + log.warn("Skipping stripe event: %s (no metadata)", stripe_event.type) + return JSONResponse( + status_code=status.HTTP_403_FORBIDDEN, + content={"status": "error", "message": "Metadata not found"}, + ) + else: + metadata = stripe_event.data.object.metadata + + if stripe_event.type.startswith("invoice"): + if not hasattr( + stripe_event.data.object, "subscription_details" + ) and not hasattr( + stripe_event.data.object.subscription_details, "metadata" + ): + log.warn("Skipping stripe event: %s (no metadata)", stripe_event.type) + + return JSONResponse( + status_code=status.HTTP_403_FORBIDDEN, + content={"status": "error", "message": "Metadata not found"}, + ) + else: + metadata = stripe_event.data.object.subscription_details.metadata + + if "target" not in metadata: + log.warn("Skipping stripe event: %s (no target)", stripe_event.type) + return JSONResponse( + status_code=status.HTTP_403_FORBIDDEN, + content={"status": "error", "message": "Target not found"}, + ) + + target = metadata.get("target") + + if target != STRIPE_TARGET: + log.warn( + "Skipping stripe event: %s (wrong target: %s)", + stripe_event.type, + target, + ) + return JSONResponse( + status_code=status.HTTP_403_FORBIDDEN, + content={"status": "error", "message": "Target mismatch"}, + ) + + if "organization_id" not in metadata: + log.warn("Skipping stripe event: %s (no organization)", stripe_event.type) + return JSONResponse( + status_code=status.HTTP_403_FORBIDDEN, + content={"status": "error", "message": "Organization ID not found"}, + ) + + organization_id = metadata.get("organization_id") + + log.info( + "Stripe event: %s | %s | %s", + organization_id, + stripe_event.type, + target, + ) + + try: + event = None + subscription_id = None + plan = None + anchor = None + + if stripe_event.type == "customer.subscription.created": + event = Event.SUBSCRIPTION_CREATED + + if "id" not in stripe_event.data.object: + log.warn( + "Skipping stripe event: %s (no subscription)", + stripe_event.type, + ) + return JSONResponse( + status_code=status.HTTP_403_FORBIDDEN, + content={ + "status": "error", + "message": "Subscription ID not found", + }, + ) + + subscription_id = stripe_event.data.object.id + + if "plan" not in metadata: + log.warn("Skipping stripe event: %s (no plan)", stripe_event.type) + return JSONResponse( + status_code=status.HTTP_403_FORBIDDEN, + content={ + "status": "error", + "message": "Plan not found", + }, + ) + + plan = Plan(metadata.get("plan")) + + if "billing_cycle_anchor" not in stripe_event.data.object: + log.warn("Skipping stripe event: %s (no anchor)", stripe_event.type) + return JSONResponse( + status_code=status.HTTP_403_FORBIDDEN, + content={ + "status": "error", + "message": "Anchor not found", + }, + ) + + anchor = datetime.fromtimestamp( + stripe_event.data.object.billing_cycle_anchor + ).day + + elif stripe_event.type == "invoice.payment_failed": + event = Event.SUBSCRIPTION_PAUSED + + elif stripe_event.type == "invoice.payment_succeeded": + event = Event.SUBSCRIPTION_RESUMED + + elif stripe_event.type == "customer.subscription.deleted": + event = Event.SUBSCRIPTION_CANCELLED + + else: + log.warn("Skipping stripe event: %s (unsupported)", stripe_event.type) + return JSONResponse( + status_code=status.HTTP_400_BAD_REQUEST, + content={"status": "error", "message": "Unsupported event"}, + ) + + subscription = await self.subscription_service.process_event( + organization_id=organization_id, + event=event, + subscription_id=subscription_id, + plan=plan, + anchor=anchor, + ) + + except Exception as e: + raise HTTPException(status_code=500, detail="unexpected error") from e + + if not subscription: + raise HTTPException(status_code=500, detail="unexpected error") + + return JSONResponse( + status_code=status.HTTP_200_OK, + content={"status": "success"}, + ) + + async def create_portal( + self, + organization_id: str, + ): + if not stripe.api_key: + return JSONResponse( + status_code=status.HTTP_403_FORBIDDEN, + content={"status": "error", "message": "Missing Stripe API Key"}, + ) + + subscription = await self.subscription_service.read( + organization_id=organization_id, + ) + + if not subscription: + return JSONResponse( + status_code=status.HTTP_404_NOT_FOUND, + content={"status": "error", "message": "Subscription not found"}, + ) + + if not subscription.customer_id: + return JSONResponse( + status_code=status.HTTP_404_NOT_FOUND, + content={ + "status": "error", + "message": "Access denied: please subscribe to a plan to access the portal", + }, + ) + + portal = stripe.billing_portal.Session.create( + customer=subscription.customer_id, + ) + + return {"portal_url": portal.url} + + async def create_checkout( + self, + organization_id: str, + plan: Plan, + success_url: str, + ): + if not stripe.api_key: + return JSONResponse( + status_code=status.HTTP_403_FORBIDDEN, + content={"status": "error", "message": "Missing Stripe API Key"}, + ) + + if plan.name not in Plan.__members__.keys(): + raise HTTPException( + status_code=status.HTTP_400_BAD_REQUEST, + detail="Invalid plan", + ) + + subscription = await self.subscription_service.read( + organization_id=organization_id, + ) + + if not subscription: + return JSONResponse( + status_code=status.HTTP_404_NOT_FOUND, + content={ + "status": "error", + "message": "Subscription (Agenta) not found", + }, + ) + + if subscription.subscription_id: + return JSONResponse( + status_code=status.HTTP_400_BAD_REQUEST, + content={ + "status": "error", + "message": "Subscription (Stripe) already exists", + }, + ) + + if not subscription.customer_id: + organization = await get_organization_by_id( + organization_id=organization_id, + ) + + if not organization: + return JSONResponse( + status_code=status.HTTP_404_NOT_FOUND, + content={ + "status": "error", + "message": "Organization not found", + }, + ) + + user = await get_user_with_id( + user_id=organization.owner, + ) + + if not user: + return JSONResponse( + status_code=status.HTTP_404_NOT_FOUND, + content={"status": "error", "message": "Owner not found"}, + ) + + customer = stripe.Customer.create( + name=organization.name, + email=user.email, + metadata={ + "organization_id": organization_id, + "target": STRIPE_TARGET, + }, + ) + + subscription.customer_id = customer.id + + await self.subscription_service.update( + subscription=subscription, + ) + + checkout = stripe.checkout.Session.create( + mode="subscription", + payment_method_types=["card"], + allow_promotion_codes=True, + customer_update={"address": "auto", "name": "auto"}, + billing_address_collection="required", + automatic_tax={"enabled": True}, + tax_id_collection={"enabled": True}, + # + customer=subscription.customer_id, + line_items=list(AGENTA_PRICING[plan].values()), + # + subscription_data={ + # "billing_cycle_anchor": anchor, + "metadata": { + "organization_id": organization_id, + "plan": plan.value, + "target": STRIPE_TARGET, + }, + }, + # + ui_mode="hosted", + success_url=success_url, + ) + + return {"checkout_url": checkout.url} + + async def fetch_plans( + self, + organization_id: str, + ): + plans = [] + + subscription = await self.subscription_service.read( + organization_id=organization_id, + ) + + if not subscription: + key = None + else: + key = subscription.plan.value + + for plan in CATALOG: + if plan["type"] == "standard": + plans.append(plan) + elif plan["type"] == "custom" and plan["plan"] == key: + plans.append(plan) + + return plans + + async def switch_plans( + self, + organization_id: str, + plan: Plan, + # force: bool, + ): + if plan.name not in Plan.__members__.keys(): + raise HTTPException( + status_code=status.HTTP_400_BAD_REQUEST, + detail="Invalid plan", + ) + + try: + subscription = await self.subscription_service.process_event( + organization_id=organization_id, + event=Event.SUBSCRIPTION_SWITCHED, + plan=plan.value, + # force=force, + ) + + if not subscription: + raise HTTPException(status_code=500, detail="unexpected error") + + except EventException as e: + raise HTTPException( + status_code=status.HTTP_400_BAD_REQUEST, + detail=str(e), + ) from e + + except SwitchException as e: + raise HTTPException( + status_code=status.HTTP_400_BAD_REQUEST, + detail=str(e), + ) from e + + except Exception as e: + raise HTTPException( + status_code=status.HTTP_500_INTERNAL_SERVER_ERROR, + detail="unexpected error", + ) from e + + return JSONResponse( + status_code=status.HTTP_200_OK, + content={"status": "success"}, + ) + + async def fetch_subscription( + self, + organization_id: str, + ): + now = datetime.now(timezone.utc) + + subscription = await self.subscription_service.read( + organization_id=organization_id, + ) + + if not subscription or not subscription.plan: + return JSONResponse( + status_code=status.HTTP_404_NOT_FOUND, + content={ + "status": "error", + "message": "Subscription (Agenta) not found", + }, + ) + + plan = subscription.plan + anchor = subscription.anchor + + _status: Dict[str, Any] = dict( + plan=plan.value, + type="standard", + ) + + if plan == Plan.CLOUD_V0_HOBBY: + return _status + + if not subscription.subscription_id: + return JSONResponse( + status_code=status.HTTP_404_NOT_FOUND, + content={ + "status": "error", + "message": "Subscription (Agenta) not found", + }, + ) + + if not stripe.api_key: + return JSONResponse( + status_code=status.HTTP_403_FORBIDDEN, + content={ + "status": "error", + "message": "Missing Stripe API Key", + }, + ) + + try: + _subscription = stripe.Subscription.retrieve( + id=subscription.subscription_id, + ) + except Exception: + _subscription = None + + if _subscription: + _status["period_start"] = int(_subscription.current_period_start) + _status["period_end"] = int(_subscription.current_period_end) + _status["free_trial"] = _subscription.status == "trialing" + + return _status + + if not anchor or anchor < 1 or anchor > 31: + anchor = now.day + + last_day_this_month = ( + datetime( + now.year, + now.month, + 1, + tzinfo=timezone.utc, + ) + + relativedelta( + months=+1, + days=-1, + ) + ).day + + day_this_month = min(anchor, last_day_this_month) + + if now.day < anchor: + prev_month = now + relativedelta( + months=-1, + ) + + last_day_prev_month = ( + datetime( + prev_month.year, + prev_month.month, + 1, + tzinfo=timezone.utc, + ) + + relativedelta( + months=+1, + days=-1, + ) + ).day + + day_prev_month = min(anchor, last_day_prev_month) + + period_start = datetime( + year=prev_month.year, + month=prev_month.month, + day=day_prev_month, + tzinfo=timezone.utc, + ) + period_end = datetime( + year=now.year, + month=now.month, + day=day_this_month, + tzinfo=timezone.utc, + ) + else: + period_start = datetime( + year=now.year, + month=now.month, + day=day_this_month, + tzinfo=timezone.utc, + ) + + next_month = now + relativedelta( + months=+1, + ) + + last_day_next_month = ( + datetime( + next_month.year, + next_month.month, + 1, + tzinfo=timezone.utc, + ) + + relativedelta( + months=+1, + days=-1, + ) + ).day + + day_next_month = min(anchor, last_day_next_month) + + period_end = datetime( + year=next_month.year, + month=next_month.month, + day=day_next_month, + tzinfo=timezone.utc, + ) + + _status["period_start"] = int(period_start.timestamp()) + _status["period_end"] = int(period_end.timestamp()) + _status["free_trial"] = False + _status["type"] = "custom" + + return _status + + async def cancel_subscription( + self, + organization_id: str, + ): + subscription = await self.subscription_service.read( + organization_id=organization_id, + ) + + if not subscription: + raise HTTPException( + status_code=status.HTTP_404_NOT_FOUND, + detail="Subscription (Agenta) not found", + ) + + if not subscription.subscription_id: + raise HTTPException( + status_code=status.HTTP_404_NOT_FOUND, + detail="Subscription (Stripe) not found", + ) + + try: + stripe.Subscription.cancel(subscription.subscription_id) + except Exception as e: + raise HTTPException( + status_code=status.HTTP_500_INTERNAL_SERVER_ERROR, + detail="Could not cancel subscription. Please try again or contact support.", + ) from e + + return JSONResponse( + status_code=status.HTTP_200_OK, + content={"status": "success"}, + ) + + async def fetch_usage( + self, + organization_id: str, + ): + now = datetime.now(timezone.utc) + + subscription = await self.subscription_service.read( + organization_id=organization_id, + ) + + if not subscription: + return JSONResponse( + status_code=status.HTTP_404_NOT_FOUND, + content={"status": "error", "message": "Subscription not found"}, + ) + + plan = subscription.plan + anchor_day = subscription.anchor + anchor_month = (now.month + (1 if now.day >= anchor_day else 0)) % 12 + + entitlements = ENTITLEMENTS.get(plan) + + if not entitlements: + return JSONResponse( + status_code=status.HTTP_404_NOT_FOUND, + content={"status": "error", "message": "Plan not found"}, + ) + + meters = await self.subscription_service.meters_service.fetch( + organization_id=organization_id, + ) + + usage = {} + + for tracker in [Tracker.COUNTERS, Tracker.GAUGES]: + for key in list(entitlements[tracker].keys()): + quota: Quota = entitlements[tracker][key] + value = 0 + + for meter in meters: + if meter.key == key: + if meter.month != 0 and meter.month != anchor_month: + continue + + value = meter.value + + usage[key] = { + "value": value, + "limit": quota.limit, + "free": quota.free, + "monthly": quota.monthly is True, + "strict": quota.strict is True, + } + + return usage + + @intercept_exceptions() + async def report_usage( + self, + ): + try: + await self.subscription_service.meters_service.report() + except Exception as e: + raise HTTPException(status_code=500, detail="unexpected error") from e + + return JSONResponse( + status_code=status.HTTP_200_OK, + content={"status": "success"}, + ) + + # ROUTES + + @intercept_exceptions() + async def create_portal_user_route( + self, + request: Request, + ): + if not await check_action_access( + user_uid=request.state.user_id, + project_id=request.state.project_id, + permission=Permission.EDIT_BILLING, + ): + return FORBIDDEN_RESPONSE + + return await self.create_portal( + organization_id=request.state.organization_id, + ) + + @intercept_exceptions() + async def create_portal_admin_route( + self, + organization_id: str = Query(...), + ): + return await self.create_portal( + organization_id=organization_id, + ) + + @intercept_exceptions() + async def create_checkout_user_route( + self, + request: Request, + plan: Plan = Query(...), + success_url: str = Query(...), # find a way to make this optional or moot + ): + if not await check_action_access( + user_uid=request.state.user_id, + project_id=request.state.project_id, + permission=Permission.EDIT_BILLING, + ): + return FORBIDDEN_RESPONSE + + return await self.create_checkout( + organization_id=request.state.organization_id, + plan=plan, + success_url=success_url, + ) + + @intercept_exceptions() + async def create_checkout_admin_route( + self, + organization_id: str = Query(...), + plan: Plan = Query(...), + success_url: str = Query(...), # find a way to make this optional or moot + ): + return await self.create_checkout( + organization_id=organization_id, + plan=plan, + success_url=success_url, + ) + + @intercept_exceptions() + async def fetch_plan_user_route( + self, + request: Request, + ): + if not await check_action_access( + user_uid=request.state.user_id, + project_id=request.state.project_id, + permission=Permission.VIEW_BILLING, + ): + return FORBIDDEN_RESPONSE + + return await self.fetch_plans( + organization_id=request.state.organization_id, + ) + + @intercept_exceptions() + async def switch_plans_user_route( + self, + request: Request, + plan: Plan = Query(...), + ): + if not await check_action_access( + user_uid=request.state.user_id, + project_id=request.state.project_id, + permission=Permission.EDIT_BILLING, + ): + return FORBIDDEN_RESPONSE + + return await self.switch_plans( + organization_id=request.state.organization_id, + plan=plan, + ) + + @intercept_exceptions() + async def switch_plans_admin_route( + self, + organization_id: str = Query(...), + plan: Plan = Query(...), + ): + return await self.switch_plans( + organization_id=organization_id, + plan=plan, + ) + + @intercept_exceptions() + async def fetch_subscription_user_route( + self, + request: Request, + ): + if not await check_action_access( + user_uid=request.state.user_id, + project_id=request.state.project_id, + permission=Permission.VIEW_BILLING, + ): + return FORBIDDEN_RESPONSE + + return await self.fetch_subscription( + organization_id=request.state.organization_id, + ) + + @intercept_exceptions() + async def cancel_subscription_user_route( + self, + request: Request, + ): + if not await check_action_access( + user_uid=request.state.user_id, + project_id=request.state.project_id, + permission=Permission.EDIT_BILLING, + ): + return FORBIDDEN_RESPONSE + + return await self.cancel_subscription( + organization_id=request.state.organization_id, + ) + + @intercept_exceptions() + async def cancel_subscription_admin_route( + self, + organization_id: str = Query(...), + ): + return await self.cancel_subscription( + organization_id=organization_id, + ) + + @intercept_exceptions() + async def fetch_usage_user_route( + self, + request: Request, + ): + if not await check_action_access( + user_uid=request.state.user_id, + project_id=request.state.project_id, + permission=Permission.VIEW_BILLING, + ): + return FORBIDDEN_RESPONSE + + return await self.fetch_usage( + organization_id=request.state.organization_id, + ) diff --git a/api/ee/src/core/__init__.py b/api/ee/src/core/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/api/ee/src/core/entitlements/__init__.py b/api/ee/src/core/entitlements/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/api/ee/src/core/entitlements/service.py b/api/ee/src/core/entitlements/service.py new file mode 100644 index 0000000000..f62b11fc74 --- /dev/null +++ b/api/ee/src/core/entitlements/service.py @@ -0,0 +1,97 @@ +from typing import Optional, Dict, List + +from ee.src.core.entitlements.types import ( + Tracker, + Constraint, + ENTITLEMENTS, + CONSTRAINTS, +) +from ee.src.core.entitlements.types import Quota, Gauge +from ee.src.core.subscriptions.types import Plan +from ee.src.core.meters.service import MetersService +from ee.src.core.meters.types import MeterDTO + + +class ConstaintsException(Exception): + issues: Dict[Gauge, int] = {} + + +class EntitlementsService: + def __init__( + self, + meters_service: MetersService, + ): + self.meters_service = meters_service + + async def enforce( + self, + *, + organization_id: str, + plan: str, + force: Optional[bool] = False, + ) -> None: + issues = await self.check( + organization_id=organization_id, + plan=plan, + ) + + if issues: + if not force: + raise ConstaintsException( + issues=issues, + ) + + await self.fix( + organization_id=organization_id, + issues=issues, + ) + + async def check( + self, + *, + organization_id: str, + plan: Plan, + ) -> Dict[Gauge, int]: + issues = {} + + for key in CONSTRAINTS[Constraint.BLOCKED][Tracker.GAUGES]: + quotas: List[Quota] = ENTITLEMENTS[plan][Tracker.GAUGES] + + if key in quotas: + meter = MeterDTO( + organization_id=organization_id, + key=key, + ) + quota: Quota = quotas[key] + + check, meter = await self.meters_service.check( + meter=meter, + quota=quota, + ) + + if not check: + issues[key] = quota.limit + + return issues + + async def fix( + self, + *, + organization_id: str, + issues: Dict[Gauge, int], + ) -> None: + # TODO: Implement fix + pass + + +# TODO: +# -- P0 / MUST +# - Add active : Optional[bool] = None to all scopes and users +# -- P1 / SHOULD +# - Add parent scopes to all child scope +# - Add parent scopes membership on child scope membership creation +# - Remove children scopes membership on parent scope membership removal +# -- P2 / COULD +# - Add created_at / updated_at to all scopes +# - Set updated_at on all updates + on creation +# - Move organization roles to memberships diff --git a/api/ee/src/core/entitlements/types.py b/api/ee/src/core/entitlements/types.py new file mode 100644 index 0000000000..791ddfd024 --- /dev/null +++ b/api/ee/src/core/entitlements/types.py @@ -0,0 +1,277 @@ +from typing import Optional +from enum import Enum +from pydantic import BaseModel + +from ee.src.core.subscriptions.types import Plan + + +class Tracker(str, Enum): + FLAGS = "flags" + COUNTERS = "counters" + GAUGES = "gauges" + + +class Flag(str, Enum): + # HISTORY = "history" + HOOKS = "hooks" + RBAC = "rbac" + + +class Counter(str, Enum): + TRACES = "traces" + EVALUATIONS = "evaluations" + EVALUATORS = "evaluators" + ANNOTATIONS = "annotations" + + +class Gauge(str, Enum): + USERS = "users" + APPLICATIONS = "applications" + + +class Constraint(str, Enum): + BLOCKED = "blocked" + READ_ONLY = "read_only" + + +class Quota(BaseModel): + free: Optional[int] = None + limit: Optional[int] = None + monthly: Optional[bool] = None + strict: Optional[bool] = False + + +class Probe(BaseModel): + monthly: Optional[bool] = False + delta: Optional[bool] = False + + +CATALOG = [ + { + "title": "Hobby", + "description": "Great for hobby projects and POCs.", + "type": "standard", + "plan": Plan.CLOUD_V0_HOBBY.value, + "price": { + "base": { + "type": "flat", + "currency": "USD", + "amount": 0.00, + }, + }, + "features": [ + "2 prompts", + "5k traces/month", + "20 evaluations/month", + "2 seats", + ], + }, + { + "title": "Pro", + "description": "For production projects.", + "type": "standard", + "plan": Plan.CLOUD_V0_PRO.value, + "price": { + "base": { + "type": "flat", + "currency": "USD", + "amount": 49.00, + }, + "users": { + "type": "tiered", + "currency": "USD", + "tiers": [ + { + "limit": 3, + "amount": 0.00, + }, + { + "limit": 10, + "amount": 20.00, + "rate": 1, + }, + ], + }, + "traces": { + "type": "tiered", + "currency": "USD", + "tiers": [ + { + "limit": 10_000, + "amount": 0.00, + }, + { + "amount": 5.00, + "rate": 10_000, + }, + ], + }, + }, + "features": [ + "Unlimited prompts", + "10k traces/month", + "Unlimited evaluations", + "3 seats included", + "Up to 10 seats", + ], + }, + # { + # "title": "Business", + # "description": "For scale, security, and support.", + # "type": "standard", + # "price": { + # "base": { + # "type": "flat", + # "currency": "USD", + # "amount": 399.00, + # "starting_at": True, + # }, + # }, + # "features": [ + # "Unlimited prompts", + # "Unlimited traces", + # "Unlimited evaluations", + # "Unlimited seats", + # ], + # }, + { + "title": "Enterprise", + "description": "For large organizations or custom needs.", + "type": "standard", + "features": [ + "Everything in Pro", + "Unlimited seats", + "SOC 2 reports", + "Security reviews", + "Dedicated support", + "Custom SLAs", + "Custom terms", + "Self-hosted deployment options", + ], + }, + { + "title": "Humanity Labs", + "description": "For Humanity Labs.", + "plan": Plan.CLOUD_V0_HUMANITY_LABS.value, + "type": "custom", + "features": [ + "Everything in Enterprise", + ], + }, + { + "title": "X Labs", + "description": "For X Labs.", + "plan": Plan.CLOUD_V0_X_LABS.value, + "type": "custom", + "features": [ + "Everything in Enterprise", + ], + }, + { + "title": "Agenta", + "description": "For Agenta.", + "plan": Plan.CLOUD_V0_AGENTA_AI.value, + "type": "custom", + "features": [ + "Everything in Enterprise", + ], + }, +] + +ENTITLEMENTS = { + Plan.CLOUD_V0_HOBBY: { + Tracker.FLAGS: { + Flag.HOOKS: False, + Flag.RBAC: False, + }, + Tracker.COUNTERS: { + Counter.TRACES: Quota(limit=5_000, monthly=True, free=5_000), + Counter.EVALUATIONS: Quota(limit=20, monthly=True, free=20, strict=True), + }, + Tracker.GAUGES: { + Gauge.USERS: Quota(limit=2, strict=True, free=2), + Gauge.APPLICATIONS: Quota(limit=2, strict=True, free=2), + }, + }, + Plan.CLOUD_V0_PRO: { + Tracker.FLAGS: { + Flag.HOOKS: True, + Flag.RBAC: False, + }, + Tracker.COUNTERS: { + Counter.TRACES: Quota(monthly=True, free=10_000), + Counter.EVALUATIONS: Quota(monthly=True, strict=True), + }, + Tracker.GAUGES: { + Gauge.USERS: Quota(limit=10, strict=True, free=3), + Gauge.APPLICATIONS: Quota(strict=True), + }, + }, + Plan.CLOUD_V0_HUMANITY_LABS: { + Tracker.FLAGS: { + Flag.HOOKS: True, + Flag.RBAC: True, + }, + Tracker.COUNTERS: { + Counter.TRACES: Quota(monthly=True), + Counter.EVALUATIONS: Quota(monthly=True, strict=True), + }, + Tracker.GAUGES: { + Gauge.USERS: Quota(strict=True), + Gauge.APPLICATIONS: Quota(strict=True), + }, + }, + Plan.CLOUD_V0_X_LABS: { + Tracker.FLAGS: { + Flag.HOOKS: False, + Flag.RBAC: False, + }, + Tracker.COUNTERS: { + Counter.TRACES: Quota(monthly=True), + Counter.EVALUATIONS: Quota(monthly=True, strict=True), + }, + Tracker.GAUGES: { + Gauge.USERS: Quota(strict=True), + Gauge.APPLICATIONS: Quota(strict=True), + }, + }, + Plan.CLOUD_V0_AGENTA_AI: { + Tracker.FLAGS: { + Flag.HOOKS: True, + Flag.RBAC: True, + }, + Tracker.COUNTERS: { + Counter.TRACES: Quota(monthly=True), + Counter.EVALUATIONS: Quota(monthly=True, strict=True), + }, + Tracker.GAUGES: { + Gauge.USERS: Quota(strict=True), + Gauge.APPLICATIONS: Quota(strict=True), + }, + }, +} + + +REPORTS = [ + Counter.TRACES.value, + Gauge.USERS.value, +] + +CONSTRAINTS = { + Constraint.BLOCKED: { + Tracker.FLAGS: [ + Flag.HOOKS, + Flag.RBAC, + ], + Tracker.GAUGES: [ + Gauge.USERS, + Gauge.APPLICATIONS, + ], + }, + Constraint.READ_ONLY: { + Tracker.COUNTERS: [ + Counter.TRACES, + Counter.EVALUATIONS, + ], + }, +} diff --git a/api/ee/src/core/meters/__init__.py b/api/ee/src/core/meters/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/api/ee/src/core/meters/interfaces.py b/api/ee/src/core/meters/interfaces.py new file mode 100644 index 0000000000..9f4e66605d --- /dev/null +++ b/api/ee/src/core/meters/interfaces.py @@ -0,0 +1,88 @@ +from typing import Tuple, Callable, Optional +from datetime import datetime + +from ee.src.core.entitlements.types import Quota +from ee.src.core.meters.types import MeterDTO + + +class MetersDAOInterface: + def __init__(self): + raise NotImplementedError + + async def dump( + self, + ) -> list[MeterDTO]: + """ + Dump all meters where 'synced' != 'value'. + + :return: A list of MeterDTO objects for meters where 'synced' != 'value'. + """ + raise NotImplementedError + + async def bump( + self, + meters: list[MeterDTO], + ) -> None: + """ + Update the 'synced' field for the given list of meters. + + :param meters: A list of MeterDTO objects containing the details of meters to update. + """ + raise NotImplementedError + + async def fetch( + self, + *, + organization_id: str, + ) -> list[MeterDTO]: + """ + Fetch all meters for a given organization. + + Parameters: + - organization_id: The ID of the organization to fetch meters for. + + Returns: + - List[MeterDTO]: A list of MeterDTO objects containing the meter details. + """ + raise NotImplementedError + + async def check( + self, + *, + meter: MeterDTO, + quota: Quota, + anchor: Optional[int] = None, + ) -> Tuple[bool, MeterDTO]: + """ + Check if the meter adjustment or absolute value is allowed. + + Parameters: + - meter: MeterDTO containing the current meter information and either `value` or `delta`. + - quota: QuotaDTO defining the allowed quota limits. + + Returns: + - allowed (bool): Whether the operation is within the allowed limits. + - meter (MeterDTO): The current meter value if found or 0 if not. + """ + raise NotImplementedError + + async def adjust( + self, + *, + meter: MeterDTO, + quota: Quota, + anchor: Optional[int] = None, + ) -> Tuple[bool, MeterDTO, Callable]: + """ + Adjust the meter value based on the quota. + + Parameters: + - meter: MeterDTO containing either `value` or `delta` for the adjustment. + - quota: QuotaDTO defining the allowed quota limits. + + Returns: + - allowed (bool): Whether the adjustment was within quota limits. + - meter (MeterDTO): The updated meter value after the adjustment. + - rollback (callable): A function to rollback the adjustment (optional, if applicable). + """ + raise NotImplementedError diff --git a/api/ee/src/core/meters/service.py b/api/ee/src/core/meters/service.py new file mode 100644 index 0000000000..ed2ef0fa33 --- /dev/null +++ b/api/ee/src/core/meters/service.py @@ -0,0 +1,173 @@ +from typing import Tuple, Callable, List, Optional +from datetime import datetime +from os import environ +from json import loads + +import stripe + +from oss.src.utils.logging import get_module_logger + +from ee.src.core.entitlements.types import Quota +from ee.src.core.entitlements.types import Counter, Gauge, REPORTS +from ee.src.core.meters.types import MeterDTO +from ee.src.core.meters.interfaces import MetersDAOInterface + +AGENTA_PRICING = loads(environ.get("AGENTA_PRICING") or "{}") + +log = get_module_logger(__name__) + +stripe.api_key = environ.get("STRIPE_API_KEY") + + +class MetersService: + def __init__( + self, + meters_dao: MetersDAOInterface, + ): + self.meters_dao = meters_dao + + async def dump( + self, + ) -> List[MeterDTO]: + return await self.meters_dao.dump() + + async def bump( + self, + *, + meters: List[MeterDTO], + ) -> None: + await self.meters_dao.bump(meters=meters) + + async def fetch( + self, + *, + organization_id: str, + ) -> List[MeterDTO]: + return await self.meters_dao.fetch(organization_id=organization_id) + + async def check( + self, + *, + meter: MeterDTO, + quota: Quota, + anchor: Optional[int] = None, + ) -> Tuple[bool, MeterDTO]: + return await self.meters_dao.check(meter=meter, quota=quota, anchor=anchor) + + async def adjust( + self, + *, + meter: MeterDTO, + quota: Quota, + anchor: Optional[int] = None, + ) -> Tuple[bool, MeterDTO, Callable]: + return await self.meters_dao.adjust(meter=meter, quota=quota, anchor=anchor) + + async def report(self): + if not stripe.api_key: + log.warn("Missing Stripe API Key.") + return + + try: + meters = await self.dump() + + except Exception as e: # pylint: disable=broad-exception-caught + log.error("Error dumping meters: %s", e) + return + + try: + for meter in meters: + if meter.subscription is None: + continue + + try: + if meter.key.value in REPORTS: + subscription_id = meter.subscription.subscription_id + customer_id = meter.subscription.customer_id + + if not subscription_id: + continue + + if not customer_id: + continue + + if meter.key.name in Gauge.__members__.keys(): + try: + price_id = ( + AGENTA_PRICING.get(meter.subscription.plan, {}) + .get("users", {}) + .get("price") + ) + + if not price_id: + continue + + _id = None + for item in stripe.SubscriptionItem.list( + subscription=subscription_id, + ).auto_paging_iter(): + if item.price.id == price_id: + _id = item.id + break + + if not _id: + continue + + quantity = meter.value + + items = [{"id": _id, "quantity": quantity}] + + stripe.Subscription.modify( + subscription_id, + items=items, + ) + + except ( + Exception # pylint: disable=broad-exception-caught + ) as e: + log.error("Error modifying subscription: %s", e) + continue + + log.info( + f"[stripe] updating: {meter.organization_id} | | {'sync ' if meter.key.value in REPORTS else ' '} | {meter.key}: {meter.value}" + ) + + if meter.key.name in Counter.__members__.keys(): + try: + event_name = meter.key.value + delta = meter.value - meter.synced + payload = {"delta": delta, "customer_id": customer_id} + + stripe.billing.MeterEvent.create( + event_name=event_name, + payload=payload, + ) + except ( + Exception # pylint: disable=broad-exception-caught + ) as e: + log.error("Error creating meter event: %s", e) + continue + + log.info( + f"[stripe] reporting: {meter.organization_id} | {(('0' if (meter.month != 0 and meter.month < 10) else '') + str(meter.month)) if meter.month != 0 else ' '}.{meter.year if meter.year else ' '} | {'sync ' if meter.key.value in REPORTS else ' '} | {meter.key}: {meter.value - meter.synced}" + ) + + except Exception as e: # pylint: disable=broad-exception-caught + log.error("Error reporting meter: %s", e) + + except Exception as e: # pylint: disable=broad-exception-caught + log.error("Error reporting meters: %s", e) + + try: + for meter in meters: + meter.synced = meter.value + + except Exception as e: # pylint: disable=broad-exception-caught + log.error("Error syncing meters: %s", e) + + try: + await self.bump(meters=meters) + + except Exception as e: # pylint: disable=broad-exception-caught + log.error("Error bumping meters: %s", e) + return diff --git a/api/ee/src/core/meters/types.py b/api/ee/src/core/meters/types.py new file mode 100644 index 0000000000..a0ada9da16 --- /dev/null +++ b/api/ee/src/core/meters/types.py @@ -0,0 +1,32 @@ +from typing import Optional + +from uuid import UUID +from enum import Enum + +from pydantic import BaseModel + +from ee.src.core.entitlements.types import Counter, Gauge +from ee.src.core.subscriptions.types import SubscriptionDTO + + +class Meters(str, Enum): + # COUNTERS + TRACES = Counter.TRACES.value + EVALUATIONS = Counter.EVALUATIONS.value + # GAUGES + USERS = Gauge.USERS.value + APPLICATIONS = Gauge.APPLICATIONS.value + + +class MeterDTO(BaseModel): + organization_id: UUID + + year: Optional[int] = 0 + month: Optional[int] = 0 + + key: Meters + value: Optional[int] = None + synced: Optional[int] = None + delta: Optional[int] = None + + subscription: Optional[SubscriptionDTO] = None diff --git a/api/ee/src/core/subscriptions/__init__.py b/api/ee/src/core/subscriptions/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/api/ee/src/core/subscriptions/interfaces.py b/api/ee/src/core/subscriptions/interfaces.py new file mode 100644 index 0000000000..2c47a9a302 --- /dev/null +++ b/api/ee/src/core/subscriptions/interfaces.py @@ -0,0 +1,56 @@ +from typing import Optional + +from ee.src.core.subscriptions.types import SubscriptionDTO + + +class SubscriptionsDAOInterface: + def __init__(self): + raise NotImplementedError + + async def create( + self, + *, + subscription: SubscriptionDTO, + ) -> SubscriptionDTO: + """ + Create a new subscription. + + Parameters: + - subscription: SubscriptionDTO containing subscription details. + + Returns: + - SubscriptionDTO: The created subscription. + """ + raise NotImplementedError + + async def read( + self, + *, + organization_id: str, + ) -> Optional[SubscriptionDTO]: + """ + Read a subscription by organization ID. + + Parameters: + - organization_id: The ID of the organization to fetch. + + Returns: + - Optional[SubscriptionDTO]: The subscription if found, else None. + """ + raise NotImplementedError + + async def update( + self, + *, + subscription: SubscriptionDTO, + ) -> Optional[SubscriptionDTO]: + """ + Update an existing subscription. + + Parameters: + - subscription: SubscriptionDTO containing updated details. + + Returns: + - Optional[SubscriptionDTO]: The updated subscription if found, else None. + """ + raise NotImplementedError diff --git a/api/ee/src/core/subscriptions/service.py b/api/ee/src/core/subscriptions/service.py new file mode 100644 index 0000000000..f69adcbd74 --- /dev/null +++ b/api/ee/src/core/subscriptions/service.py @@ -0,0 +1,271 @@ +from typing import Optional +from json import loads +from uuid import getnode +from datetime import datetime, timezone, timedelta + +from os import environ + +import stripe + +from oss.src.utils.logging import get_module_logger + +from ee.src.core.subscriptions.types import ( + SubscriptionDTO, + Event, + Plan, + FREE_PLAN, + REVERSE_TRIAL_PLAN, + REVERSE_TRIAL_DAYS, +) +from ee.src.core.subscriptions.interfaces import SubscriptionsDAOInterface +from ee.src.core.entitlements.service import EntitlementsService +from ee.src.core.meters.service import MetersService + +log = get_module_logger(__name__) + +stripe.api_key = environ.get("STRIPE_SECRET_KEY") + +MAC_ADDRESS = ":".join(f"{(getnode() >> ele) & 0xff:02x}" for ele in range(40, -1, -8)) +STRIPE_TARGET = environ.get("STRIPE_TARGET") or MAC_ADDRESS +AGENTA_PRICING = loads(environ.get("AGENTA_PRICING") or "{}") + + +class SwitchException(Exception): + pass + + +class EventException(Exception): + pass + + +class SubscriptionsService: + def __init__( + self, + subscriptions_dao: SubscriptionsDAOInterface, + meters_service: MetersService, + ): + self.subscriptions_dao = subscriptions_dao + self.meters_service = meters_service + self.entitlements_service = EntitlementsService(meters_service=meters_service) + + async def create( + self, + *, + subscription: SubscriptionDTO, + ) -> Optional[SubscriptionDTO]: + return await self.subscriptions_dao.create(subscription=subscription) + + async def read( + self, + *, + organization_id: str, + ) -> Optional[SubscriptionDTO]: + return await self.subscriptions_dao.read(organization_id=organization_id) + + async def update( + self, + *, + subscription: SubscriptionDTO, + ) -> Optional[SubscriptionDTO]: + return await self.subscriptions_dao.update(subscription=subscription) + + async def start_reverse_trial( + self, + *, + organization_id: str, + organization_name: str, + organization_email: str, + ) -> Optional[SubscriptionDTO]: + now = datetime.now(tz=timezone.utc) + anchor = now + timedelta(days=REVERSE_TRIAL_DAYS) + + subscription = await self.read(organization_id=organization_id) + + if subscription: + return None + + subscription = await self.create( + subscription=SubscriptionDTO( + organization_id=organization_id, + plan=FREE_PLAN, + active=True, + anchor=anchor.day, + ) + ) + + if not subscription: + return None + + if not stripe.api_key: + log.warn("Missing Stripe API Key.") + return None + + customer = stripe.Customer.create( + name=organization_name, + email=organization_email, + metadata={ + "organization_id": organization_id, + "target": STRIPE_TARGET, + }, + ) + + customer_id = customer.id + + if not customer_id: + log.error( + "Failed to create Stripe customer for organization ID: %s", + organization_id, + ) + + return None + + stripe_subscription = stripe.Subscription.create( + customer=customer_id, + items=list(AGENTA_PRICING[REVERSE_TRIAL_PLAN].values()), + # + # automatic_tax={"enabled": True}, + metadata={ + "organization_id": organization_id, + "plan": REVERSE_TRIAL_PLAN.value, + "target": STRIPE_TARGET, + }, + # + trial_period_days=REVERSE_TRIAL_DAYS, + trial_settings={"end_behavior": {"missing_payment_method": "cancel"}}, + ) + + subscription = await self.update( + subscription=SubscriptionDTO( + organization_id=organization_id, + customer_id=customer_id, + subscription_id=stripe_subscription.id, + plan=REVERSE_TRIAL_PLAN, + active=True, + anchor=anchor.day, + ) + ) + + return subscription + + async def process_event( + self, + *, + organization_id: str, + event: Event, + subscription_id: Optional[str] = None, + plan: Optional[Plan] = None, + anchor: Optional[Plan] = None, + # force: Optional[bool] = True, + **kwargs, + ) -> SubscriptionDTO: + log.info( + "Billing event: %s | %s | %s", + organization_id, + event, + plan, + ) + + now = datetime.now(tz=timezone.utc) + + if not anchor: + anchor = now.day + + subscription = await self.read(organization_id=organization_id) + + if not subscription: + raise EventException( + "Subscription not found for organization ID: {organization_id}" + ) + + if event == Event.SUBSCRIPTION_CREATED: + subscription.active = True + subscription.plan = plan + subscription.subscription_id = subscription_id + subscription.anchor = anchor + + subscription = await self.update(subscription=subscription) + + elif subscription.plan != FREE_PLAN and event == Event.SUBSCRIPTION_PAUSED: + subscription.active = False + + subscription = await self.update(subscription=subscription) + + elif subscription.plan != FREE_PLAN and event == Event.SUBSCRIPTION_RESUMED: + subscription.active = True + + subscription = await self.update(subscription=subscription) + + elif subscription.plan != FREE_PLAN and event == Event.SUBSCRIPTION_SWITCHED: + if not stripe.api_key: + log.warn("Missing Stripe API Key.") + return None + + if subscription.plan == plan: + log.warn("Subscription already on the plan: %s", plan) + + raise EventException( + f"Same plan [{plan}] already exists for organization ID: {organization_id}" + ) + + if not subscription.subscription_id: + raise SwitchException( + f"Cannot switch plans without an existing subscription for organization ID: {organization_id}" + ) + + try: + _subscription = stripe.Subscription.retrieve( + id=subscription.subscription_id, + ) + except Exception as e: # pylint: disable=too-broad-exception + log.warn( + "Failed to retrieve subscription from Stripe: %s", subscription + ) + + raise EventException( + "Could not switch plans. Please try again or contact support.", + ) from e + + subscription.active = True + subscription.plan = plan + + # await self.entitlements_service.enforce( + # organization_id=organization_id, + # plan=plan, + # force=force, + # ) + + stripe.Subscription.modify( + subscription.subscription_id, + items=[ + {"id": item.id, "deleted": True} + for item in stripe.SubscriptionItem.list( + subscription=subscription.subscription_id, + ).data + ] + + list(AGENTA_PRICING[plan].values()), + ) + + subscription = await self.update(subscription=subscription) + + elif subscription.plan != FREE_PLAN and event == Event.SUBSCRIPTION_CANCELLED: + subscription.active = True + subscription.plan = FREE_PLAN + subscription.subscription_id = None + subscription.anchor = anchor + + # await self.entitlements_service.enforce( + # organization_id=organization_id, + # plan=FREE_PLAN, + # force=True, + # ) + + subscription = await self.update(subscription=subscription) + + else: + log.warn("Invalid subscription event: %s ", subscription) + + raise EventException( + f"Invalid subscription event {event} for organization ID: {organization_id}" + ) + + return subscription diff --git a/api/ee/src/core/subscriptions/types.py b/api/ee/src/core/subscriptions/types.py new file mode 100644 index 0000000000..1f55dbe386 --- /dev/null +++ b/api/ee/src/core/subscriptions/types.py @@ -0,0 +1,40 @@ +from typing import Optional + +from os import environ + +from uuid import UUID +from enum import Enum + +from pydantic import BaseModel + + +class Plan(str, Enum): + CLOUD_V0_HOBBY = "cloud_v0_hobby" + CLOUD_V0_PRO = "cloud_v0_pro" + # + CLOUD_V0_HUMANITY_LABS = "cloud_v0_humanity_labs" + CLOUD_V0_X_LABS = "cloud_v0_x_labs" + # + CLOUD_V0_AGENTA_AI = "cloud_v0_agenta_ai" + + +class Event(str, Enum): + SUBSCRIPTION_CREATED = "subscription_created" + SUBSCRIPTION_PAUSED = "subscription_paused" + SUBSCRIPTION_RESUMED = "subscription_resumed" + SUBSCRIPTION_SWITCHED = "subscription_switched" + SUBSCRIPTION_CANCELLED = "subscription_cancelled" + + +class SubscriptionDTO(BaseModel): + organization_id: UUID + customer_id: Optional[str] = None + subscription_id: Optional[str] = None + plan: Optional[Plan] = None + active: Optional[bool] = None + anchor: Optional[int] = None + + +FREE_PLAN = Plan.CLOUD_V0_HOBBY # Move to ENV FILE +REVERSE_TRIAL_PLAN = Plan.CLOUD_V0_PRO # move to ENV FILE +REVERSE_TRIAL_DAYS = 14 # move to ENV FILE diff --git a/api/ee/src/crons/meters.sh b/api/ee/src/crons/meters.sh new file mode 100644 index 0000000000..c0f7d8c5ae --- /dev/null +++ b/api/ee/src/crons/meters.sh @@ -0,0 +1,17 @@ +#!/bin/sh +set -eu + +AGENTA_AUTH_KEY=$(tr '\0' '\n' < /proc/1/environ | grep ^AGENTA_AUTH_KEY= | cut -d= -f2-) + +echo "--------------------------------------------------------" +echo "[$(date)] meters.sh running from cron" >> /proc/1/fd/1 + +# Make POST request, show status and response +curl \ + -s \ + -w "\nHTTP_STATUS:%{http_code}\n" \ + -X POST \ + -H "Authorization: Access ${AGENTA_AUTH_KEY}" \ + "http://api:8000/admin/billing/usage/report" || echo "❌ CURL failed" + +echo "[$(date)] meters.sh done" >> /proc/1/fd/1 \ No newline at end of file diff --git a/api/ee/src/crons/meters.txt b/api/ee/src/crons/meters.txt new file mode 100644 index 0000000000..f3acd78570 --- /dev/null +++ b/api/ee/src/crons/meters.txt @@ -0,0 +1,2 @@ +* * * * * root echo "cron test $(date)" >> /proc/1/fd/1 2>&1 +0 * * * * root sh /meters.sh >> /proc/1/fd/1 2>&1 diff --git a/api/ee/src/crons/queries.sh b/api/ee/src/crons/queries.sh new file mode 100644 index 0000000000..b9e8c7a6e1 --- /dev/null +++ b/api/ee/src/crons/queries.sh @@ -0,0 +1,24 @@ +#!/bin/sh +set -eu + +AGENTA_AUTH_KEY=$(tr '\0' '\n' < /proc/1/environ | grep ^AGENTA_AUTH_KEY= | cut -d= -f2-) +TRIGGER_INTERVAL=$(awk 'NR==2 {split($1, a, "/"); print (a[2] ? a[2] : 1)}' /etc/cron.d/queries-cron) +NOW_UTC=$(date -u "+%Y-%m-%dT%H:%M:00Z") +MINUTE=$(date -u "+%M" | sed 's/^0*//') +ROUNDED_MINUTE=$(( (MINUTE / TRIGGER_INTERVAL) * TRIGGER_INTERVAL )) +TRIGGER_DATETIME=$(date -u "+%Y-%m-%dT%H") +TRIGGER_DATETIME="${TRIGGER_DATETIME}:$(printf "%02d" $ROUNDED_MINUTE):00Z" + + +echo "--------------------------------------------------------" +echo "[$(date)] queries.sh running from cron" >> /proc/1/fd/1 + +# Make POST request, show status and response +curl \ + -s \ + -w "\nHTTP_STATUS:%{http_code}\n" \ + -X POST \ + -H "Authorization: Access ${AGENTA_AUTH_KEY}" \ + "http://api:8000/admin/evaluations/runs/refresh?trigger_interval=${TRIGGER_INTERVAL}&trigger_datetime=${TRIGGER_DATETIME}" || echo "❌ CURL failed" + +echo "[$(date)] queries.sh done" >> /proc/1/fd/1 \ No newline at end of file diff --git a/api/ee/src/crons/queries.txt b/api/ee/src/crons/queries.txt new file mode 100644 index 0000000000..586a61af8e --- /dev/null +++ b/api/ee/src/crons/queries.txt @@ -0,0 +1,2 @@ +* * * * * root echo "cron test $(date)" >> /proc/1/fd/1 2>&1 +*/1 * * * * root sh /queries.sh >> /proc/1/fd/1 2>&1 diff --git a/api/ee/src/dbs/__init__.py b/api/ee/src/dbs/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/api/ee/src/dbs/postgres/__init__.py b/api/ee/src/dbs/postgres/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/api/ee/src/dbs/postgres/meters/__init__.py b/api/ee/src/dbs/postgres/meters/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/api/ee/src/dbs/postgres/meters/dao.py b/api/ee/src/dbs/postgres/meters/dao.py new file mode 100644 index 0000000000..5302329dc3 --- /dev/null +++ b/api/ee/src/dbs/postgres/meters/dao.py @@ -0,0 +1,290 @@ +from typing import Callable, Tuple, Optional +from collections import defaultdict +from datetime import datetime, timezone + +from sqlalchemy import update +from sqlalchemy.future import select +from sqlalchemy.orm import joinedload +from sqlalchemy import case, tuple_ +from sqlalchemy.dialects.postgresql import insert +from sqlalchemy import func, literal + + +from oss.src.utils.logging import get_module_logger +from oss.src.dbs.postgres.shared.engine import engine + +from ee.src.core.entitlements.types import Quota +from ee.src.core.meters.types import MeterDTO +from ee.src.core.subscriptions.types import SubscriptionDTO +from ee.src.core.meters.interfaces import MetersDAOInterface +from ee.src.dbs.postgres.meters.dbes import MeterDBE + + +log = get_module_logger(__name__) + + +class MetersDAO(MetersDAOInterface): + def __init__(self): + pass + + async def dump(self) -> list[MeterDTO]: + async with engine.core_session() as session: + stmt = ( + select(MeterDBE) + .filter(MeterDBE.synced != MeterDBE.value) + .options(joinedload(MeterDBE.subscription)) + ) # NO RISK OF DEADLOCK + + result = await session.execute(stmt) + meters = result.scalars().all() + + return [ + MeterDTO( + organization_id=meter.organization_id, + year=meter.year, + month=meter.month, + value=meter.value, + key=meter.key, + synced=meter.synced, + subscription=( + SubscriptionDTO( + organization_id=meter.subscription.organization_id, + customer_id=meter.subscription.customer_id, + subscription_id=meter.subscription.subscription_id, + plan=meter.subscription.plan, + active=meter.subscription.active, + anchor=meter.subscription.anchor, + ) + if meter.subscription + else None + ), + ) + for meter in meters + ] + + async def bump( + self, + meters: list[MeterDTO], + ) -> None: + if not meters: + return + + # Sort for consistent lock acquisition + sorted_meters = sorted( + meters, + key=lambda m: ( + m.organization_id, + m.key, + m.year, + m.month, + ), + ) + + async with engine.core_session() as session: + for meter in sorted_meters: + stmt = ( + update(MeterDBE) + .where( + MeterDBE.organization_id == meter.organization_id, + MeterDBE.key == meter.key, + MeterDBE.year == meter.year, + MeterDBE.month == meter.month, + ) + .values(synced=meter.synced) + ) + + await session.execute(stmt) + + await session.commit() + + async def fetch( + self, + *, + organization_id: str, + ) -> list[MeterDTO]: + async with engine.core_session() as session: + stmt = select(MeterDBE).filter_by( + organization_id=organization_id, + ) # NO RISK OF DEADLOCK + + result = await session.execute(stmt) + meters = result.scalars().all() + + return [ + MeterDTO( + organization_id=meter.organization_id, + key=meter.key, + year=meter.year, + month=meter.month, + value=meter.value, + synced=meter.synced, + ) + for meter in meters + ] + + async def check( + self, + *, + meter: MeterDTO, + quota: Quota, + anchor: Optional[int] = None, + ) -> Tuple[bool, MeterDTO]: + if quota.monthly: + now = datetime.now(timezone.utc) + + if not anchor: + meter.year = now.year + meter.month = now.month + + if anchor: + if now.day < anchor: + meter.year = now.year + meter.month = now.month + else: + meter.year = now.year + now.month // 12 + meter.month = (now.month + 1) % 12 + + async with engine.core_session() as session: + stmt = select(MeterDBE).filter_by( + organization_id=meter.organization_id, + key=meter.key, + year=meter.year, + month=meter.month, + ) # NO RISK OF DEADLOCK + + result = await session.execute(stmt) + meter_record = result.scalar_one_or_none() + + current_value = meter_record.value if meter_record else 0 + + adjusted_value = current_value + (meter.delta or 0) + adjusted_value = adjusted_value if adjusted_value >= 0 else 0 + + if quota.limit is None: + allowed = True + else: + allowed = adjusted_value <= quota.limit + + return ( + allowed, + MeterDTO( + **meter.model_dump(exclude={"value", "synced"}), + value=current_value, + synced=meter_record.synced if meter_record else 0, + ), + ) + + async def adjust( + self, + *, + meter: MeterDTO, + quota: Quota, + anchor: Optional[int] = None, + ) -> Tuple[bool, MeterDTO, Callable]: + # 1. Normalize meter.year/month if monthly quota + if quota.monthly: + now = datetime.now(timezone.utc) + + if not anchor: + meter.year = now.year + meter.month = now.month + elif now.day < anchor: + meter.year = now.year + meter.month = now.month + else: + meter.year = now.year + now.month // 12 + meter.month = (now.month + 1) % 12 + + # 2. Calculate proposed value (starting from 0) + desired_value = meter.value if meter.value is not None else (meter.delta or 0) + desired_value = max(desired_value, 0) + + # 3. Block insert if quota exceeded + if quota.limit is not None and desired_value > quota.limit: + return ( + False, + MeterDTO( + **meter.model_dump(exclude={"value", "synced"}), + value=0, + synced=0, + ), + lambda: None, + ) + + where_clauses = [] + + # Handle unlimited quota case + if quota.limit is None: + where_clauses.append(literal(True)) + + # Strict mode: use the adjusted value check + elif quota.strict: + if meter.delta is not None: + adjusted_expr = func.greatest(MeterDBE.value + meter.delta, 0) + elif meter.value is not None: + adjusted_expr = func.greatest(meter.value, 0) + else: + raise ValueError("Either delta or value must be set") + + where_clauses.append(adjusted_expr <= quota.limit) + + # Soft mode: just compare current value + else: + where_clauses.append(MeterDBE.value <= quota.limit) + + # Now safely combine the conditions + where = None + for where_clause in where_clauses: + if where is None: + where = where_clause + else: + where = where | where_clause + + # 4. Build SQL statement (atomic upsert) + async with engine.core_session() as session: + stmt = ( + insert(MeterDBE) + .values( + organization_id=meter.organization_id, + key=meter.key, + year=meter.year, + month=meter.month, + value=desired_value, + synced=0, + ) + .on_conflict_do_update( + index_elements=[ + MeterDBE.organization_id, + MeterDBE.key, + MeterDBE.year, + MeterDBE.month, + ], + set_={ + "value": func.greatest( + ( + (MeterDBE.value + meter.delta) + if meter.delta is not None + else meter.value + ), + 0, + ) + }, + where=where, + ) + ) + + result = await session.execute(stmt) + await session.commit() + + # 5. Check if update was applied (strict mode) + allowed = result.rowcount > 0 + + return ( + allowed, + MeterDTO( + **meter.model_dump(exclude={"value", "synced"}), + value=desired_value, # not technically accurate in soft mode, but good enough + synced=0, + ), + lambda: None, # rollback not needed; no state was touched otherwise + ) diff --git a/api/ee/src/dbs/postgres/meters/dbas.py b/api/ee/src/dbs/postgres/meters/dbas.py new file mode 100644 index 0000000000..450e517d28 --- /dev/null +++ b/api/ee/src/dbs/postgres/meters/dbas.py @@ -0,0 +1,29 @@ +from sqlalchemy import Column, Enum as SQLEnum, SmallInteger, BigInteger + +from ee.src.core.meters.types import Meters + +from oss.src.dbs.postgres.shared.dbas import OrganizationScopeDBA + + +class PeriodDBA: + __abstract__ = True + + year = Column(SmallInteger, nullable=False) + month = Column(SmallInteger, nullable=False) + + +class MeterDBA( + OrganizationScopeDBA, + PeriodDBA, +): + __abstract__ = True + + key = Column( + SQLEnum( + Meters, + name="meters_type", + ), + nullable=False, + ) + value = Column(BigInteger, nullable=False) + synced = Column(BigInteger, nullable=False) diff --git a/api/ee/src/dbs/postgres/meters/dbes.py b/api/ee/src/dbs/postgres/meters/dbes.py new file mode 100644 index 0000000000..f1353ba022 --- /dev/null +++ b/api/ee/src/dbs/postgres/meters/dbes.py @@ -0,0 +1,29 @@ +from sqlalchemy import PrimaryKeyConstraint, ForeignKeyConstraint, Index, func +from sqlalchemy.orm import relationship + +from oss.src.dbs.postgres.shared.base import Base +from ee.src.dbs.postgres.meters.dbas import MeterDBA + + +class MeterDBE(Base, MeterDBA): + __tablename__ = "meters" + + __table_args__ = ( + PrimaryKeyConstraint( + "organization_id", + "key", + "year", + "month", + ), + ForeignKeyConstraint( + ["organization_id"], + ["subscriptions.organization_id"], + ), + Index( + "idx_synced_value", + "synced", + "value", + ), + ) + + subscription = relationship("SubscriptionDBE", back_populates="meters") diff --git a/api/ee/src/dbs/postgres/shared/__init__.py b/api/ee/src/dbs/postgres/shared/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/api/ee/src/dbs/postgres/subscriptions/__init__.py b/api/ee/src/dbs/postgres/subscriptions/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/api/ee/src/dbs/postgres/subscriptions/dao.py b/api/ee/src/dbs/postgres/subscriptions/dao.py new file mode 100644 index 0000000000..485af2dde0 --- /dev/null +++ b/api/ee/src/dbs/postgres/subscriptions/dao.py @@ -0,0 +1,84 @@ +from typing import Optional, List + +from sqlalchemy.future import select + +from ee.src.core.subscriptions.types import SubscriptionDTO +from ee.src.core.subscriptions.interfaces import SubscriptionsDAOInterface + +from oss.src.dbs.postgres.shared.engine import engine +from ee.src.dbs.postgres.subscriptions.dbes import SubscriptionDBE +from ee.src.dbs.postgres.subscriptions.mappings import ( + map_dbe_to_dto, + map_dto_to_dbe, +) + + +class SubscriptionsDAO(SubscriptionsDAOInterface): + def __init__(self): + pass + + async def create( + self, + *, + subscription: SubscriptionDTO, + ) -> SubscriptionDTO: + async with engine.core_session() as session: + subscription_dbe = map_dto_to_dbe(subscription) + + session.add(subscription_dbe) + + await session.commit() + + subscription_dto = map_dbe_to_dto(subscription_dbe) + + return subscription_dto + + async def read( + self, + *, + organization_id: str, + ) -> Optional[SubscriptionDTO]: + async with engine.core_session() as session: + result = await session.execute( + select(SubscriptionDBE).where( + SubscriptionDBE.organization_id == organization_id, + ) + ) + + subscription_dbe = result.scalars().one_or_none() + + if not subscription_dbe: + return None + + subscription_dto = map_dbe_to_dto(subscription_dbe) + + return subscription_dto + + async def update( + self, + *, + subscription: SubscriptionDTO, + ) -> Optional[SubscriptionDTO]: + async with engine.core_session() as session: + result = await session.execute( + select(SubscriptionDBE).where( + SubscriptionDBE.organization_id == subscription.organization_id, + ) + ) + + subscription_dbe = result.scalars().one_or_none() + + if not subscription_dbe: + return None + + subscription_dbe.customer_id = subscription.customer_id + subscription_dbe.subscription_id = subscription.subscription_id + subscription_dbe.plan = subscription.plan + subscription_dbe.active = subscription.active + subscription_dbe.anchor = subscription.anchor + + await session.commit() + + subscription_dto = map_dbe_to_dto(subscription_dbe) + + return subscription_dto diff --git a/api/ee/src/dbs/postgres/subscriptions/dbas.py b/api/ee/src/dbs/postgres/subscriptions/dbas.py new file mode 100644 index 0000000000..7810907030 --- /dev/null +++ b/api/ee/src/dbs/postgres/subscriptions/dbas.py @@ -0,0 +1,19 @@ +from sqlalchemy import Column, String, Boolean, SmallInteger + +from oss.src.dbs.postgres.shared.dbas import OrganizationScopeDBA + + +class StripeDBA: + customer_id = Column(String, nullable=True) + subscription_id = Column(String, nullable=True) + + +class SubscriptionDBA( + OrganizationScopeDBA, + StripeDBA, +): + __abstract__ = True + + plan = Column(String, nullable=False) + active = Column(Boolean, nullable=False) + anchor = Column(SmallInteger, nullable=True) diff --git a/api/ee/src/dbs/postgres/subscriptions/dbes.py b/api/ee/src/dbs/postgres/subscriptions/dbes.py new file mode 100644 index 0000000000..b548dd1a56 --- /dev/null +++ b/api/ee/src/dbs/postgres/subscriptions/dbes.py @@ -0,0 +1,24 @@ +from sqlalchemy import PrimaryKeyConstraint +from sqlalchemy.orm import relationship + + +from oss.src.dbs.postgres.shared.base import Base +from ee.src.dbs.postgres.subscriptions.dbas import SubscriptionDBA + + +from sqlalchemy import PrimaryKeyConstraint, Index, func + + +from ee.src.dbs.postgres.meters.dbas import MeterDBA + + +class SubscriptionDBE(Base, SubscriptionDBA): + __tablename__ = "subscriptions" + + __table_args__ = ( + PrimaryKeyConstraint( + "organization_id", + ), + ) + + meters = relationship("MeterDBE", back_populates="subscription") diff --git a/api/ee/src/dbs/postgres/subscriptions/mappings.py b/api/ee/src/dbs/postgres/subscriptions/mappings.py new file mode 100644 index 0000000000..b8d0b4e8b5 --- /dev/null +++ b/api/ee/src/dbs/postgres/subscriptions/mappings.py @@ -0,0 +1,26 @@ +from ee.src.core.subscriptions.types import SubscriptionDTO +from ee.src.dbs.postgres.subscriptions.dbes import SubscriptionDBE + +from ee.src.core.subscriptions.types import Plan + + +def map_dbe_to_dto(subscription_dbe: SubscriptionDBE) -> SubscriptionDTO: + return SubscriptionDTO( + organization_id=subscription_dbe.organization_id, + customer_id=subscription_dbe.customer_id, + subscription_id=subscription_dbe.subscription_id, + plan=Plan(subscription_dbe.plan), + active=subscription_dbe.active, + anchor=subscription_dbe.anchor, + ) + + +def map_dto_to_dbe(subscription_dto: SubscriptionDTO) -> SubscriptionDBE: + return SubscriptionDBE( + organization_id=subscription_dto.organization_id, + customer_id=subscription_dto.customer_id, + subscription_id=subscription_dto.subscription_id, + plan=subscription_dto.plan.value, + active=subscription_dto.active or False, + anchor=subscription_dto.anchor, + ) diff --git a/api/ee/src/main.py b/api/ee/src/main.py new file mode 100644 index 0000000000..86d8ecf618 --- /dev/null +++ b/api/ee/src/main.py @@ -0,0 +1,123 @@ +from fastapi import FastAPI + +from oss.src.utils.logging import get_module_logger + +from ee.src.routers import ( + workspace_router, + organization_router, + evaluation_router, + human_evaluation_router, +) + +from ee.src.dbs.postgres.meters.dao import MetersDAO +from ee.src.dbs.postgres.subscriptions.dao import SubscriptionsDAO + +from ee.src.core.meters.service import MetersService +from ee.src.core.subscriptions.service import SubscriptionsService + +from ee.src.apis.fastapi.billing.router import SubscriptionsRouter + +# DBS -------------------------------------------------------------------------- + +meters_dao = MetersDAO() + +subscriptions_dao = SubscriptionsDAO() + +# CORE ------------------------------------------------------------------------- + +meters_service = MetersService( + meters_dao=meters_dao, +) + +subscription_service = SubscriptionsService( + subscriptions_dao=subscriptions_dao, + meters_service=meters_service, +) + +# APIS ------------------------------------------------------------------------- + +subscriptions_router = SubscriptionsRouter( + subscription_service=subscription_service, +) + + +log = get_module_logger(__name__) + + +def extend_main(app: FastAPI): + # ROUTES ------------------------------------------------------------------- + + app.include_router( + router=subscriptions_router.router, + prefix="/billing", + tags=["Billing"], + ) + + app.include_router( + router=subscriptions_router.admin_router, + prefix="/admin/billing", + tags=["Admin", "Billing"], + ) + + # ROUTES (more) ------------------------------------------------------------ + + app.include_router( + organization_router.router, + prefix="/organizations", + ) + + app.include_router( + workspace_router.router, + prefix="/workspaces", + ) + + app.include_router( + evaluation_router.router, + prefix="/evaluations", + tags=["Evaluations"], + ) + + app.include_router( + human_evaluation_router.router, + prefix="/human-evaluations", + tags=["Human-Evaluations"], + ) + + # -------------------------------------------------------------------------- + + return app + + +def load_tasks(): + import ee.src.tasks.evaluations.live + import ee.src.tasks.evaluations.legacy + import ee.src.tasks.evaluations.batch + + +def extend_app_schema(app: FastAPI): + app.openapi()["info"]["title"] = "Agenta API" + app.openapi()["info"]["description"] = "Agenta API" + app.openapi()["info"]["contact"] = { + "name": "Agenta", + "url": "https://agenta.ai", + "email": "team@agenta.ai", + } + app.openapi()["components"]["securitySchemes"] = { + "APIKeyHeader": { + "type": "apiKey", + "name": "Authorization", + "in": "header", + } + } + app.openapi()["security"] = [ + { + "APIKeyHeader": [], + }, + ] + app.openapi()["servers"] = [ + { + "url": "https://cloud.agenta.ai/api", + }, + ] + + return app diff --git a/api/ee/src/models/api/api_models.py b/api/ee/src/models/api/api_models.py new file mode 100644 index 0000000000..f15c8ffacc --- /dev/null +++ b/api/ee/src/models/api/api_models.py @@ -0,0 +1,72 @@ +from typing import Optional, List +from pydantic import BaseModel, Field +from datetime import datetime, timezone + +from oss.src.models.api.api_models import ( + CreateApp, + AppVariant, + Environment, + AppVariantResponse, + AppVariantOutputExtended, + EnvironmentOutput, + EnvironmentRevision, + EnvironmentOutputExtended, +) + + +class TimestampModel(BaseModel): + created_at: str = Field(str(datetime.now(timezone.utc))) + updated_at: str = Field(str(datetime.now(timezone.utc))) + + +class InviteRequest(BaseModel): + email: str + roles: List[str] + + +class ReseendInviteRequest(BaseModel): + email: str + + +class InviteToken(BaseModel): + token: str + + +class CreateApp_(CreateApp): + organization_id: Optional[str] = None + workspace_id: Optional[str] = None + + +class AppVariant_(AppVariant): + organization_id: Optional[str] = None + workspace_id: Optional[str] = None + + +class Environment_(Environment): + organization_id: Optional[str] = None + workspace_id: Optional[str] = None + + +class AppVariantResponse_(AppVariantResponse): + organization_id: Optional[str] = None + workspace_id: Optional[str] = None + + +class AppVariantOutputExtended_(AppVariantOutputExtended): + organization_id: Optional[str] = None + workspace_id: Optional[str] = None + + +class EnvironmentOutput_(EnvironmentOutput): + organization_id: Optional[str] = None + workspace_id: Optional[str] = None + + +class EnvironmentRevision_(EnvironmentRevision): + organization_id: Optional[str] = None + workspace_id: Optional[str] = None + + +class EnvironmentOutputExtended_(EnvironmentOutputExtended): + organization_id: Optional[str] = None + workspace_id: Optional[str] = None diff --git a/api/ee/src/models/api/organization_models.py b/api/ee/src/models/api/organization_models.py new file mode 100644 index 0000000000..1ce05a65fc --- /dev/null +++ b/api/ee/src/models/api/organization_models.py @@ -0,0 +1,33 @@ +from typing import Optional, List + +from pydantic import BaseModel, Field + + +class Organization(BaseModel): + id: str + name: str + description: str + type: Optional[str] = None + owner: str + workspaces: List[str] = Field(default_factory=list) + members: List[str] = Field(default_factory=list) + invitations: List = Field(default_factory=list) + is_paying: Optional[bool] = None + + +class CreateOrganization(BaseModel): + name: str + owner: str + description: Optional[str] = None + type: Optional[str] = None + + +class OrganizationUpdate(BaseModel): + name: Optional[str] = None + description: Optional[str] = None + updated_at: Optional[str] = None + + +class OrganizationOutput(BaseModel): + id: str + name: str diff --git a/api/ee/src/models/api/user_models.py b/api/ee/src/models/api/user_models.py new file mode 100644 index 0000000000..8a0d702ad8 --- /dev/null +++ b/api/ee/src/models/api/user_models.py @@ -0,0 +1,9 @@ +from typing import List + +from pydantic import Field + +from oss.src.models.api.user_models import User + + +class User_(User): + organizations: List[str] = Field(default_factory=list) diff --git a/api/ee/src/models/api/workspace_models.py b/api/ee/src/models/api/workspace_models.py new file mode 100644 index 0000000000..56218eb38a --- /dev/null +++ b/api/ee/src/models/api/workspace_models.py @@ -0,0 +1,58 @@ +from datetime import datetime +from typing import Optional, List, Dict + +from pydantic import BaseModel + +from ee.src.models.api.api_models import TimestampModel +from ee.src.models.shared_models import WorkspaceRole, Permission + + +class WorkspacePermission(BaseModel): + role_name: WorkspaceRole + role_description: Optional[str] = None + permissions: Optional[List[Permission]] = None + + +class WorkspaceMember(BaseModel): + user_id: str + roles: List[WorkspacePermission] + + +class WorkspaceMemberResponse(BaseModel): + user: Dict + roles: List[WorkspacePermission] + + +class Workspace(BaseModel): + id: Optional[str] = None + name: str + description: Optional[str] = None + type: Optional[str] + members: Optional[List[WorkspaceMember]] = None + + +class WorkspaceResponse(TimestampModel): + id: str + name: str + description: Optional[str] = None + type: Optional[str] + organization: str + members: Optional[List[WorkspaceMemberResponse]] = None + + +class CreateWorkspace(BaseModel): + name: str + description: Optional[str] = None + type: Optional[str] = None + + +class UserRole(BaseModel): + email: str + organization_id: str + role: Optional[str] = None + + +class UpdateWorkspace(BaseModel): + name: Optional[str] = None + description: Optional[str] = None + updated_at: Optional[datetime] = None diff --git a/api/ee/src/models/db_models.py b/api/ee/src/models/db_models.py new file mode 100644 index 0000000000..f09b9e0324 --- /dev/null +++ b/api/ee/src/models/db_models.py @@ -0,0 +1,518 @@ +from typing import Optional, List, Sequence +from datetime import datetime, timezone + +import uuid_utils.compat as uuid +from sqlalchemy.orm import relationship, backref +from sqlalchemy.dialects.postgresql import UUID, JSONB +from sqlalchemy import Column, String, DateTime, Boolean, ForeignKey, Integer + +from ee.src.models.shared_models import ( + WorkspaceRole, + Permission, +) +from oss.src.models.db_models import ( + ProjectDB as OssProjectDB, + WorkspaceDB as OssWorkspaceDB, + OrganizationDB as OssOrganizationDB, + DeploymentDB as OssDeploymentDB, + # dependency + CASCADE_ALL_DELETE, + mutable_json_type, +) +from oss.src.dbs.postgres.shared.base import Base +from oss.src.dbs.postgres.observability.dbes import NodesDBE + + +class OrganizationDB(OssOrganizationDB): + is_paying = Column(Boolean, nullable=True, default=False) + + organization_members = relationship( + "OrganizationMemberDB", back_populates="organization" + ) + project = relationship( + "ee.src.models.db_models.ProjectDB", + back_populates="organization", + overlaps="organization", + ) + + +class WorkspaceDB(OssWorkspaceDB): + pass + + members = relationship("WorkspaceMemberDB", back_populates="workspace") + projects = relationship( + "ee.src.models.db_models.ProjectDB", + cascade="all, delete-orphan", + back_populates="workspace", + overlaps="workspace", + ) + organization = relationship( + "ee.src.models.db_models.OrganizationDB", back_populates="workspaces_relation" + ) + + def get_member_role(self, user_id: str) -> Optional[str]: + member: Optional[WorkspaceMemberDB] = next( + (member for member in self.members if str(member.user_id) == user_id), + None, + ) + return member.role if member else None # type: ignore + + def get_member_role_name(self, user_id: str) -> Optional[str]: + role = self.get_member_role(user_id) + return role + + def get_all_members(self) -> List[str]: + return [str(member.user_id) for member in self.members] + + def get_member_with_roles(self, user_id: str) -> Optional["WorkspaceMemberDB"]: + return next( + (member for member in self.members if str(member.user_id) == user_id), + None, + ) + + def get_member_permissions(self, user_id: str) -> List[Permission]: + user_role = self.get_member_role(user_id) + if user_role: + return Permission.default_permissions(user_role) + return [] + + def has_permission(self, user_id: str, permission: Permission) -> bool: + user_role = self.get_member_role(user_id) + if user_role and permission in Permission.default_permissions(user_role): + return True + return False + + def has_role(self, user_id: str, role_to_check: WorkspaceRole) -> bool: + user_role = self.get_member_role(user_id) + if user_role: + return user_role == role_to_check + return False + + def is_owner(self, user_id: str) -> bool: + return any( + str(member.user_id) == user_id + and WorkspaceRole.OWNER == self.get_member_role_name(user_id) + for member in self.members + ) + + +class ProjectDB(OssProjectDB): + workspace = relationship( + "ee.src.models.db_models.WorkspaceDB", + back_populates="projects", + overlaps="projects", + ) + organization = relationship( + "ee.src.models.db_models.OrganizationDB", + back_populates="project", + ) + project_members = relationship( + "ProjectMemberDB", cascade="all, delete-orphan", back_populates="project" + ) + invitations = relationship( + "InvitationDB", cascade="all, delete-orphan", back_populates="project" + ) + + def get_member_role( + self, user_id: str, members: Sequence["ProjectMemberDB"] + ) -> Optional[str]: + member: Optional["ProjectMemberDB"] = next( + (member for member in members if str(member.user_id) == user_id), + None, + ) + return member.role if member else None # type: ignore + + def get_member_role_name( + self, user_id: str, members: Sequence["ProjectMemberDB"] + ) -> Optional[str]: + role = self.get_member_role(user_id=user_id, members=members) + return role + + def get_all_members(self) -> List[str]: + return [str(member.user_id) for member in self.project_members] + + def get_member_with_roles(self, user_id: str) -> Optional["ProjectMemberDB"]: + return next( + ( + member + for member in self.project_members + if str(member.user_id) == user_id + ), + None, + ) + + def get_member_permissions( + self, user_id: str, members: Sequence["ProjectMemberDB"] + ) -> List[Permission]: + user_role = self.get_member_role(user_id, members) + if user_role: + return Permission.default_permissions(user_role) + return [] + + def has_permission( + self, user_id: str, permission: Permission, members: Sequence["ProjectMemberDB"] + ) -> bool: + user_role = self.get_member_role(user_id, members) + if user_role and permission in Permission.default_permissions(user_role): + return True + return False + + def has_role( + self, + user_id: str, + role_to_check: WorkspaceRole, + members: Sequence["ProjectMemberDB"], + ) -> bool: + user_role = self.get_member_role(user_id, members) + if user_role: + return user_role == role_to_check + return False + + def is_owner(self, user_id: str, members: Sequence["ProjectMemberDB"]) -> bool: + return any( + str(member.user_id) == user_id + and WorkspaceRole.OWNER == self.get_member_role_name(user_id, members) + for member in members + ) + + +class WorkspaceMemberDB(Base): + __tablename__ = "workspace_members" + + id = Column( + UUID(as_uuid=True), + primary_key=True, + default=uuid.uuid7, + unique=True, + nullable=False, + ) + user_id = Column(UUID(as_uuid=True), ForeignKey("users.id")) + workspace_id = Column(UUID(as_uuid=True), ForeignKey("workspaces.id")) + role = Column(String, default="viewer") + created_at = Column( + DateTime(timezone=True), default=lambda: datetime.now(timezone.utc) + ) + updated_at = Column( + DateTime(timezone=True), default=lambda: datetime.now(timezone.utc) + ) + + user = relationship( + "UserDB", backref=backref("workspace_memberships", lazy="dynamic") + ) + workspace = relationship( + "ee.src.models.db_models.WorkspaceDB", back_populates="members" + ) + + +class OrganizationMemberDB(Base): + __tablename__ = "organization_members" + + id = Column( + UUID(as_uuid=True), + primary_key=True, + default=uuid.uuid7, + unique=True, + nullable=False, + ) + user_id = Column(UUID(as_uuid=True), ForeignKey("users.id")) + organization_id = Column(UUID(as_uuid=True), ForeignKey("organizations.id")) + + user = relationship( + "UserDB", backref=backref("organization_members", lazy="dynamic") + ) + organization = relationship( + "ee.src.models.db_models.OrganizationDB", back_populates="organization_members" + ) + + +class ProjectMemberDB(Base): + __tablename__ = "project_members" + + id = Column( + UUID(as_uuid=True), + primary_key=True, + default=uuid.uuid7, + unique=True, + nullable=False, + ) + user_id = Column(UUID(as_uuid=True), ForeignKey("users.id")) + project_id = Column(UUID(as_uuid=True), ForeignKey("projects.id")) + role = Column(String, default="viewer") + created_at = Column( + DateTime(timezone=True), default=lambda: datetime.now(timezone.utc) + ) + updated_at = Column( + DateTime(timezone=True), default=lambda: datetime.now(timezone.utc) + ) + is_demo = Column(Boolean, nullable=True) + + user = relationship("UserDB") + project = relationship("ee.src.models.db_models.ProjectDB") + + +class DeploymentDB(OssDeploymentDB): + pass + + +class HumanEvaluationVariantDB(Base): + __tablename__ = "human_evaluation_variants" + + id = Column( + UUID(as_uuid=True), + primary_key=True, + default=uuid.uuid7, + unique=True, + nullable=False, + ) + human_evaluation_id = Column( + UUID(as_uuid=True), ForeignKey("human_evaluations.id", ondelete="CASCADE") + ) + variant_id = Column( + UUID(as_uuid=True), ForeignKey("app_variants.id", ondelete="SET NULL") + ) + variant_revision_id = Column( + UUID(as_uuid=True), ForeignKey("app_variant_revisions.id", ondelete="SET NULL") + ) + + variant = relationship("AppVariantDB", backref="evaluation_variant") + variant_revision = relationship( + "AppVariantRevisionsDB", backref="evaluation_variant_revision" + ) + + +class HumanEvaluationDB(Base): + __tablename__ = "human_evaluations" + + id = Column( + UUID(as_uuid=True), + primary_key=True, + default=uuid.uuid7, + unique=True, + nullable=False, + ) + app_id = Column(UUID(as_uuid=True), ForeignKey("app_db.id", ondelete="CASCADE")) + project_id = Column( + UUID(as_uuid=True), ForeignKey("projects.id", ondelete="CASCADE") + ) + status = Column(String) + evaluation_type = Column(String) + testset_id = Column(UUID(as_uuid=True), ForeignKey("testsets.id")) + created_at = Column( + DateTime(timezone=True), default=lambda: datetime.now(timezone.utc) + ) + updated_at = Column( + DateTime(timezone=True), default=lambda: datetime.now(timezone.utc) + ) + + testset = relationship("TestSetDB") + evaluation_variant = relationship( + "HumanEvaluationVariantDB", + cascade=CASCADE_ALL_DELETE, + backref="human_evaluation", + ) + evaluation_scenario = relationship( + "HumanEvaluationScenarioDB", + cascade=CASCADE_ALL_DELETE, + backref="evaluation_scenario", + ) + + +class HumanEvaluationScenarioDB(Base): + __tablename__ = "human_evaluations_scenarios" + + id = Column( + UUID(as_uuid=True), + primary_key=True, + default=uuid.uuid7, + unique=True, + nullable=False, + ) + project_id = Column( + UUID(as_uuid=True), ForeignKey("projects.id", ondelete="CASCADE") + ) + evaluation_id = Column( + UUID(as_uuid=True), ForeignKey("human_evaluations.id", ondelete="CASCADE") + ) + inputs = Column( + mutable_json_type(dbtype=JSONB, nested=True) + ) # List of HumanEvaluationScenarioInput + outputs = Column( + mutable_json_type(dbtype=JSONB, nested=True) + ) # List of HumanEvaluationScenarioOutput + vote = Column(String) + score = Column(String) + correct_answer = Column(String) + created_at = Column( + DateTime(timezone=True), default=lambda: datetime.now(timezone.utc) + ) + updated_at = Column( + DateTime(timezone=True), default=lambda: datetime.now(timezone.utc) + ) + is_pinned = Column(Boolean) + note = Column(String) + + +class EvaluationAggregatedResultDB(Base): + __tablename__ = "auto_evaluation_aggregated_results" + + id = Column( + UUID(as_uuid=True), + primary_key=True, + default=uuid.uuid7, + unique=True, + nullable=False, + ) + evaluation_id = Column( + UUID(as_uuid=True), ForeignKey("auto_evaluations.id", ondelete="CASCADE") + ) + evaluator_config_id = Column( + UUID(as_uuid=True), + ForeignKey("auto_evaluator_configs.id", ondelete="SET NULL"), + ) + result = Column(mutable_json_type(dbtype=JSONB, nested=True)) # Result + + evaluator_config = relationship("EvaluatorConfigDB", backref="evaluator_config") + + +class EvaluationScenarioResultDB(Base): + __tablename__ = "auto_evaluation_scenario_results" + + id = Column( + UUID(as_uuid=True), + primary_key=True, + default=uuid.uuid7, + unique=True, + nullable=False, + ) + evaluation_scenario_id = Column( + UUID(as_uuid=True), + ForeignKey("auto_evaluation_scenarios.id", ondelete="CASCADE"), + ) + evaluator_config_id = Column( + UUID(as_uuid=True), + ForeignKey("auto_evaluator_configs.id", ondelete="SET NULL"), + ) + result = Column(mutable_json_type(dbtype=JSONB, nested=True)) # Result + + +class EvaluationDB(Base): + __tablename__ = "auto_evaluations" + + id = Column( + UUID(as_uuid=True), + primary_key=True, + default=uuid.uuid7, + unique=True, + nullable=False, + ) + app_id = Column(UUID(as_uuid=True), ForeignKey("app_db.id", ondelete="CASCADE")) + project_id = Column( + UUID(as_uuid=True), ForeignKey("projects.id", ondelete="CASCADE") + ) + status = Column(mutable_json_type(dbtype=JSONB, nested=True)) # Result + testset_id = Column( + UUID(as_uuid=True), ForeignKey("testsets.id", ondelete="SET NULL") + ) + variant_id = Column( + UUID(as_uuid=True), ForeignKey("app_variants.id", ondelete="SET NULL") + ) + variant_revision_id = Column( + UUID(as_uuid=True), ForeignKey("app_variant_revisions.id", ondelete="SET NULL") + ) + average_cost = Column(mutable_json_type(dbtype=JSONB, nested=True)) # Result + total_cost = Column(mutable_json_type(dbtype=JSONB, nested=True)) # Result + average_latency = Column(mutable_json_type(dbtype=JSONB, nested=True)) # Result + created_at = Column( + DateTime(timezone=True), default=lambda: datetime.now(timezone.utc) + ) + updated_at = Column( + DateTime(timezone=True), default=lambda: datetime.now(timezone.utc) + ) + + project = relationship("ee.src.models.db_models.ProjectDB") + testset = relationship("TestSetDB") + variant = relationship("AppVariantDB") + variant_revision = relationship("AppVariantRevisionsDB") + aggregated_results = relationship( + "EvaluationAggregatedResultDB", + cascade=CASCADE_ALL_DELETE, + backref="evaluation", + ) + evaluation_scenarios = relationship( + "EvaluationScenarioDB", cascade=CASCADE_ALL_DELETE, backref="evaluation" + ) + evaluator_configs = relationship( + "EvaluationEvaluatorConfigDB", + cascade=CASCADE_ALL_DELETE, + backref="evaluation", + ) + + +class EvaluationEvaluatorConfigDB(Base): + __tablename__ = "auto_evaluation_evaluator_configs" + + id = Column( + UUID(as_uuid=True), + primary_key=True, + default=uuid.uuid7, + unique=True, + nullable=False, + ) + evaluation_id = Column( + UUID(as_uuid=True), + ForeignKey("auto_evaluations.id", ondelete="CASCADE"), + primary_key=True, + ) + evaluator_config_id = Column( + UUID(as_uuid=True), + ForeignKey("auto_evaluator_configs.id", ondelete="SET NULL"), + primary_key=True, + ) + + +class EvaluationScenarioDB(Base): + __tablename__ = "auto_evaluation_scenarios" + + id = Column( + UUID(as_uuid=True), + primary_key=True, + default=uuid.uuid7, + unique=True, + nullable=False, + ) + project_id = Column( + UUID(as_uuid=True), ForeignKey("projects.id", ondelete="CASCADE") + ) + evaluation_id = Column( + UUID(as_uuid=True), ForeignKey("auto_evaluations.id", ondelete="CASCADE") + ) + variant_id = Column( + UUID(as_uuid=True), ForeignKey("app_variants.id", ondelete="SET NULL") + ) + inputs = Column( + mutable_json_type(dbtype=JSONB, nested=True) + ) # List of EvaluationScenarioInput + outputs = Column( + mutable_json_type(dbtype=JSONB, nested=True) + ) # List of EvaluationScenarioOutput + correct_answers = Column( + mutable_json_type(dbtype=JSONB, nested=True) + ) # List of CorrectAnswer + is_pinned = Column(Boolean) + note = Column(String) + latency = Column(Integer) + cost = Column(Integer) + created_at = Column( + DateTime(timezone=True), default=lambda: datetime.now(timezone.utc) + ) + updated_at = Column( + DateTime(timezone=True), default=lambda: datetime.now(timezone.utc) + ) + + project = relationship("ee.src.models.db_models.ProjectDB") + variant = relationship("AppVariantDB") + results = relationship( + "EvaluationScenarioResultDB", + cascade=CASCADE_ALL_DELETE, + backref="evaluation_scenario", + ) diff --git a/api/ee/src/models/extended/deprecated_models.py b/api/ee/src/models/extended/deprecated_models.py new file mode 100644 index 0000000000..c68a07e851 --- /dev/null +++ b/api/ee/src/models/extended/deprecated_models.py @@ -0,0 +1,101 @@ +from datetime import datetime, timezone + +import uuid_utils.compat as uuid + +from sqlalchemy.dialects.postgresql import JSONB, UUID +from sqlalchemy.ext.declarative import declarative_base +from sqlalchemy import Column, String, DateTime, ForeignKey, Boolean, Integer + + +DeprecatedBase = declarative_base() + + +class DeprecatedAppDB(DeprecatedBase): + __tablename__ = "app_db" + __table_args__ = {"extend_existing": True} + + id = Column( + UUID(as_uuid=True), + primary_key=True, + default=uuid.uuid7, + unique=True, + nullable=False, + ) + app_name = Column(String) + user_id = Column(UUID(as_uuid=True), ForeignKey("users.id")) + modified_by_id = Column(UUID(as_uuid=True), ForeignKey("users.id"), nullable=True) + created_at = Column( + DateTime(timezone=True), default=lambda: datetime.now(timezone.utc) + ) + updated_at = Column( + DateTime(timezone=True), default=lambda: datetime.now(timezone.utc) + ) + + +class DeprecatedAPIKeyDB(DeprecatedBase): + __tablename__ = "api_keys" + + id = Column( + UUID(as_uuid=True), + primary_key=True, + default=uuid.uuid7, + unique=True, + nullable=False, + ) + prefix = Column(String) + hashed_key = Column(String) + user_id = Column(String, nullable=True) + workspace_id = Column(String, nullable=True) + project_id = Column( + UUID(as_uuid=True), ForeignKey("projects.id", ondelete="CASCADE"), nullable=True + ) + created_by_id = Column( + UUID(as_uuid=True), ForeignKey("users.id", ondelete="SET NULL"), nullable=True + ) + rate_limit = Column(Integer, default=0) + hidden = Column(Boolean, default=False) + expiration_date = Column(DateTime(timezone=True), nullable=True) + created_at = Column( + DateTime(timezone=True), default=lambda: datetime.now(timezone.utc) + ) + updated_at = Column( + DateTime(timezone=True), default=lambda: datetime.now(timezone.utc) + ) + + +class UserOrganizationDB(DeprecatedBase): + __tablename__ = "user_organizations" + __table_args__ = {"extend_existing": True} + + id = Column( + UUID(as_uuid=True), + primary_key=True, + default=uuid.uuid7, + unique=True, + nullable=False, + ) + user_id = Column(UUID(as_uuid=True), ForeignKey("users.id")) + organization_id = Column(UUID(as_uuid=True), ForeignKey("organizations.id")) + + +class OldInvitationDB(DeprecatedBase): + __tablename__ = "invitations" + __table_args__ = {"extend_existing": True} + + id = Column( + UUID(as_uuid=True), + primary_key=True, + default=uuid.uuid7, + unique=True, + nullable=False, + ) + token = Column(String, unique=True, nullable=False) + email = Column(String, nullable=False) + organization_id = Column(String, nullable=False) + used = Column(Boolean, default=False) + workspace_id = Column(String, nullable=False) + workspace_roles = Column(JSONB, nullable=True) + expiration_date = Column(DateTime(timezone=True), nullable=True) + created_at = Column( + DateTime(timezone=True), default=lambda: datetime.now(timezone.utc) + ) diff --git a/api/ee/src/models/extended/deprecated_transfer_models.py b/api/ee/src/models/extended/deprecated_transfer_models.py new file mode 100644 index 0000000000..3657dddacd --- /dev/null +++ b/api/ee/src/models/extended/deprecated_transfer_models.py @@ -0,0 +1,347 @@ +from datetime import datetime, timezone + +import uuid_utils.compat as uuid + +from sqlalchemy.dialects.postgresql import JSONB, UUID +from sqlalchemy.ext.declarative import declarative_base +from sqlalchemy import Column, String, DateTime, Boolean, ForeignKey + + +DeprecatedBase = declarative_base() + + +class WorkspaceDB(DeprecatedBase): + __tablename__ = "workspaces" + __table_args__ = {"extend_existing": True} + + id = Column( + UUID(as_uuid=True), + primary_key=True, + default=uuid.uuid7, + unique=True, + nullable=False, + ) + + +class OrganizationDB(DeprecatedBase): + __tablename__ = "organizations" + __table_args__ = {"extend_existing": True} + + id = Column( + UUID(as_uuid=True), + primary_key=True, + default=uuid.uuid7, + unique=True, + nullable=False, + ) + + +class ProjectDB(DeprecatedBase): + __tablename__ = "projects" + __table_args__ = {"extend_existing": True} + + id = Column( + UUID(as_uuid=True), + primary_key=True, + default=uuid.uuid7, + unique=True, + nullable=False, + ) + is_default = Column(Boolean, default=False) + workspace_id = Column( + UUID(as_uuid=True), ForeignKey("workspaces.id", ondelete="SET NULL") + ) + organization_id = Column( + UUID(as_uuid=True), ForeignKey("organizations.id", ondelete="SET NULL") + ) + + +class AppDB(DeprecatedBase): + __tablename__ = "app_db" + __table_args__ = {"extend_existing": True} + + id = Column( + UUID(as_uuid=True), + primary_key=True, + default=uuid.uuid7, + unique=True, + nullable=False, + ) + project_id = Column( + UUID(as_uuid=True), ForeignKey("projects.id", ondelete="CASCADE") + ) + workspace_id = Column( + UUID(as_uuid=True), ForeignKey("workspaces.id", ondelete="SET NULL") + ) + organization_id = Column( + UUID(as_uuid=True), ForeignKey("organizations.id", ondelete="SET NULL") + ) + + +class AppVariantDB(DeprecatedBase): + __tablename__ = "app_variants" + __table_args__ = {"extend_existing": True} + + id = Column( + UUID(as_uuid=True), + primary_key=True, + default=uuid.uuid7, + unique=True, + nullable=False, + ) + project_id = Column( + UUID(as_uuid=True), ForeignKey("projects.id", ondelete="CASCADE") + ) + workspace_id = Column( + UUID(as_uuid=True), ForeignKey("workspaces.id", ondelete="SET NULL") + ) + organization_id = Column( + UUID(as_uuid=True), ForeignKey("organizations.id", ondelete="SET NULL") + ) + + +class AppVariantRevisionsDB(DeprecatedBase): + __tablename__ = "app_variant_revisions" + __table_args__ = {"extend_existing": True} + + id = Column( + UUID(as_uuid=True), + primary_key=True, + default=uuid.uuid7, + unique=True, + nullable=False, + ) + variant_id = Column( + UUID(as_uuid=True), ForeignKey("app_variants.id", ondelete="CASCADE") + ) + project_id = Column( + UUID(as_uuid=True), ForeignKey("projects.id", ondelete="CASCADE") + ) + + +class VariantBaseDB(DeprecatedBase): + __tablename__ = "bases" + __table_args__ = {"extend_existing": True} + + id = Column( + UUID(as_uuid=True), + primary_key=True, + default=uuid.uuid7, + unique=True, + nullable=False, + ) + project_id = Column( + UUID(as_uuid=True), ForeignKey("projects.id", ondelete="CASCADE") + ) + workspace_id = Column( + UUID(as_uuid=True), ForeignKey("workspaces.id", ondelete="SET NULL") + ) + organization_id = Column( + UUID(as_uuid=True), ForeignKey("organizations.id", ondelete="SET NULL") + ) + + +class DeploymentDB(DeprecatedBase): + __tablename__ = "deployments" + __table_args__ = {"extend_existing": True} + + id = Column( + UUID(as_uuid=True), + primary_key=True, + default=uuid.uuid7, + unique=True, + nullable=False, + ) + project_id = Column( + UUID(as_uuid=True), ForeignKey("projects.id", ondelete="CASCADE") + ) + workspace_id = Column( + UUID(as_uuid=True), ForeignKey("workspaces.id", ondelete="SET NULL") + ) + organization_id = Column( + UUID(as_uuid=True), ForeignKey("organizations.id", ondelete="SET NULL") + ) + + +class AppEnvironmentDB(DeprecatedBase): + __tablename__ = "environments" + __table_args__ = {"extend_existing": True} + + id = Column( + UUID(as_uuid=True), + primary_key=True, + default=uuid.uuid7, + unique=True, + nullable=False, + ) + project_id = Column( + UUID(as_uuid=True), ForeignKey("projects.id", ondelete="CASCADE") + ) + workspace_id = Column( + UUID(as_uuid=True), ForeignKey("workspaces.id", ondelete="SET NULL") + ) + organization_id = Column( + UUID(as_uuid=True), ForeignKey("organizations.id", ondelete="SET NULL") + ) + + +class AppEnvironmentRevisionDB(DeprecatedBase): + __tablename__ = "environments_revisions" + __table_args__ = {"extend_existing": True} + + id = Column( + UUID(as_uuid=True), + primary_key=True, + default=uuid.uuid7, + unique=True, + nullable=False, + ) + project_id = Column( + UUID(as_uuid=True), ForeignKey("projects.id", ondelete="CASCADE") + ) + workspace_id = Column( + UUID(as_uuid=True), ForeignKey("workspaces.id", ondelete="SET NULL") + ) + organization_id = Column( + UUID(as_uuid=True), ForeignKey("organizations.id", ondelete="SET NULL") + ) + + +class EvaluationScenarioDB(DeprecatedBase): + __tablename__ = "evaluation_scenarios" + __table_args__ = {"extend_existing": True} + + id = Column( + UUID(as_uuid=True), + primary_key=True, + default=uuid.uuid7, + unique=True, + nullable=False, + ) + evaluation_id = Column( + UUID(as_uuid=True), ForeignKey("evaluations.id", ondelete="CASCADE") + ) + variant_id = Column( + UUID(as_uuid=True), ForeignKey("app_variants.id", ondelete="SET NULL") + ) + project_id = Column( + UUID(as_uuid=True), ForeignKey("projects.id", ondelete="CASCADE") + ) + workspace_id = Column( + UUID(as_uuid=True), ForeignKey("workspaces.id", ondelete="SET NULL") + ) + organization_id = Column( + UUID(as_uuid=True), ForeignKey("organizations.id", ondelete="SET NULL") + ) + + +class EvaluationDB(DeprecatedBase): + __tablename__ = "evaluations" + __table_args__ = {"extend_existing": True} + + id = Column( + UUID(as_uuid=True), + primary_key=True, + default=uuid.uuid7, + unique=True, + nullable=False, + ) + project_id = Column( + UUID(as_uuid=True), ForeignKey("projects.id", ondelete="CASCADE") + ) + workspace_id = Column( + UUID(as_uuid=True), ForeignKey("workspaces.id", ondelete="SET NULL") + ) + organization_id = Column( + UUID(as_uuid=True), ForeignKey("organizations.id", ondelete="SET NULL") + ) + + +class EvaluatorConfigDB(DeprecatedBase): + __tablename__ = "evaluators_configs" + __table_args__ = {"extend_existing": True} + + id = Column( + UUID(as_uuid=True), + primary_key=True, + default=uuid.uuid7, + unique=True, + nullable=False, + ) + + app_id = Column(UUID(as_uuid=True), ForeignKey("app_db.id", ondelete="CASCADE")) + project_id = Column( + UUID(as_uuid=True), ForeignKey("projects.id", ondelete="CASCADE") + ) + workspace_id = Column( + UUID(as_uuid=True), ForeignKey("workspaces.id", ondelete="SET NULL") + ) + organization_id = Column( + UUID(as_uuid=True), ForeignKey("organizations.id", ondelete="SET NULL") + ) + + +class HumanEvaluationDB(DeprecatedBase): + __tablename__ = "human_evaluations" + __table_args__ = {"extend_existing": True} + + id = Column( + UUID(as_uuid=True), + primary_key=True, + default=uuid.uuid7, + unique=True, + nullable=False, + ) + project_id = Column( + UUID(as_uuid=True), ForeignKey("projects.id", ondelete="CASCADE") + ) + workspace_id = Column( + UUID(as_uuid=True), ForeignKey("workspaces.id", ondelete="SET NULL") + ) + organization_id = Column( + UUID(as_uuid=True), ForeignKey("organizations.id", ondelete="SET NULL") + ) + + +class HumanEvaluationScenarioDB(DeprecatedBase): + __tablename__ = "human_evaluations_scenarios" + __table_args__ = {"extend_existing": True} + + id = Column( + UUID(as_uuid=True), + primary_key=True, + default=uuid.uuid7, + unique=True, + nullable=False, + ) + project_id = Column( + UUID(as_uuid=True), ForeignKey("projects.id", ondelete="CASCADE") + ) + workspace_id = Column( + UUID(as_uuid=True), ForeignKey("workspaces.id", ondelete="SET NULL") + ) + organization_id = Column( + UUID(as_uuid=True), ForeignKey("organizations.id", ondelete="SET NULL") + ) + + +class TestSetDB(DeprecatedBase): + __tablename__ = "testsets" + __table_args__ = {"extend_existing": True} + + id = Column( + UUID(as_uuid=True), + primary_key=True, + default=uuid.uuid7, + unique=True, + nullable=False, + ) + project_id = Column( + UUID(as_uuid=True), ForeignKey("projects.id", ondelete="CASCADE") + ) + workspace_id = Column( + UUID(as_uuid=True), ForeignKey("workspaces.id", ondelete="SET NULL") + ) + organization_id = Column( + UUID(as_uuid=True), ForeignKey("organizations.id", ondelete="SET NULL") + ) diff --git a/api/ee/src/models/shared_models.py b/api/ee/src/models/shared_models.py new file mode 100644 index 0000000000..4f7ed234da --- /dev/null +++ b/api/ee/src/models/shared_models.py @@ -0,0 +1,200 @@ +from enum import Enum +from typing import List + +from pydantic import BaseModel, Field + + +class WorkspaceRole(str, Enum): + OWNER = "owner" + VIEWER = "viewer" + EDITOR = "editor" + EVALUATOR = "evaluator" + WORKSPACE_ADMIN = "workspace_admin" + DEPLOYMENT_MANAGER = "deployment_manager" + + @classmethod + def is_valid_role(cls, role: str) -> bool: + return role.upper() in list(WorkspaceRole.__members__.keys()) + + @classmethod + def get_description(cls, role): + descriptions = { + cls.OWNER: "Can fully manage the workspace, including adding and removing members.", + cls.VIEWER: "Can view the workspace content but cannot make changes.", + cls.EDITOR: "Can edit workspace content, but cannot manage members or roles.", + cls.EVALUATOR: "Can evaluate models and provide feedback within the workspace.", + cls.WORKSPACE_ADMIN: "Can manage workspace settings and members but cannot delete the workspace.", + cls.DEPLOYMENT_MANAGER: "Can manage model deployments within the workspace.", + } + return descriptions.get(role, "Description not available, Role not found") + + +class Permission(str, Enum): + # general + READ_SYSTEM = "read_system" + + # App and variants + VIEW_APPLICATIONS = "view_applications" + EDIT_APPLICATIONS = "edit_application" + + CREATE_APP_VARIANT = "create_app_variant" + DELETE_APP_VARIANT = "delete_app_variant" + + MODIFY_VARIANT_CONFIGURATIONS = "modify_variant_configurations" + EDIT_APPLICATIONS_VARIANT = "delete_application_variant" + + # Service + RUN_SERVICE = "run_service" + + # Vault Secret + CREATE_SECRET = "create_secret" + VIEW_SECRET = "view_secret" + UPDATE_SECRET = "update_secret" + DELETE_SECRET = "delete_secret" + + # App environment deployment + VIEW_APP_ENVIRONMENT_DEPLOYMENT = "view_app_environment_deployment" + EDIT_APP_ENVIRONMENT_DEPLOYMENT = "edit_app_environment_deployment" + CREATE_APP_ENVIRONMENT_DEPLOYMENT = "create_app_environment_deployment" + + # Testset + VIEW_TESTSET = "view_testset" + EDIT_TESTSET = "edit_testset" + CREATE_TESTSET = "create_testset" + DELETE_TESTSET = "delete_testset" + + # Evaluation + VIEW_EVALUATION = "view_evaluation" + RUN_EVALUATIONS = "run_evaluations" + EDIT_EVALUATION = "edit_evaluation" + CREATE_EVALUATION = "create_evaluation" + DELETE_EVALUATION = "delete_evaluation" + + # Deployment + DEPLOY_APPLICATION = "deploy_application" + + # Workspace + VIEW_WORKSPACE = "view_workspace" + EDIT_WORKSPACE = "edit_workspace" + CREATE_WORKSPACE = "create_workspace" + DELETE_WORKSPACE = "delete_workspace" + MODIFY_USER_ROLES = "modify_user_roles" + ADD_USER_TO_WORKSPACE = "add_new_user_to_workspace" + + # Organization + EDIT_ORGANIZATION = "edit_organization" + DELETE_ORGANIZATION = "delete_organization" + ADD_USER_TO_ORGANIZATION = "add_new_user_to_organization" + + # User Profile + RESET_PASSWORD = "reset_password" + + # Billing (Plans, Subscriptions, Usage, etc) + VIEW_BILLING = "view_billing" + EDIT_BILLING = "edit_billing" + + # Workflows + VIEW_WORKFLOWS = "view_workflows" + EDIT_WORKFLOWS = "edit_workflows" + RUN_WORKFLOWS = "run_workflows" + + # Evaluators + VIEW_EVALUATORS = "view_evaluators" + EDIT_EVALUATORS = "edit_evaluators" + + # Queries + VIEW_QUERIES = "view_queries" + EDIT_QUERIES = "edit_queries" + + # Testsets + VIEW_TESTSETS = "view_testsets" + EDIT_TESTSETS = "edit_testsets" + + # Annotations + VIEW_ANNOTATIONS = "view_annotations" + EDIT_ANNOTATIONS = "edit_annotations" + + # Invocations + VIEW_INVOCATIONS = "view_invocations" + EDIT_INVOCATIONS = "edit_invocations" + + # Evaluations + VIEW_EVALUATION_RUNS = "view_evaluation_runs" + EDIT_EVALUATION_RUNS = "edit_evaluation_runs" + + VIEW_EVALUATION_SCENARIOS = "view_evaluation_scenarios" + EDIT_EVALUATION_SCENARIOS = "edit_evaluation_scenarios" + + VIEW_EVALUATION_RESULTS = "view_evaluation_results" + EDIT_EVALUATION_RESULTS = "edit_evaluation_results" + + VIEW_EVALUATION_METRICS = "view_evaluation_metrics" + EDIT_EVALUATION_METRICS = "edit_evaluation_metrics" + + VIEW_EVALUATION_QUEUES = "view_evaluation_queues" + EDIT_EVALUATION_QUEUES = "edit_evaluation_queues" + + @classmethod + def default_permissions(cls, role): + VIEWER_PERMISSIONS = [ + cls.READ_SYSTEM, + cls.VIEW_APPLICATIONS, + cls.VIEW_SECRET, + cls.VIEW_APP_ENVIRONMENT_DEPLOYMENT, + cls.VIEW_TESTSET, + cls.VIEW_EVALUATION, + cls.RUN_SERVICE, + cls.VIEW_BILLING, + # + cls.VIEW_WORKFLOWS, + cls.VIEW_EVALUATORS, + cls.VIEW_TESTSETS, + cls.VIEW_ANNOTATIONS, + ] + defaults = { + WorkspaceRole.OWNER: [p for p in cls], + WorkspaceRole.VIEWER: VIEWER_PERMISSIONS, + WorkspaceRole.EDITOR: [ + p + for p in cls + if p + not in [ + cls.DELETE_SECRET, + cls.RESET_PASSWORD, + cls.DELETE_TESTSET, + cls.DELETE_WORKSPACE, + cls.CREATE_WORKSPACE, + cls.EDIT_ORGANIZATION, + cls.DELETE_EVALUATION, + cls.MODIFY_USER_ROLES, + cls.EDIT_APPLICATIONS, + cls.DELETE_ORGANIZATION, + cls.ADD_USER_TO_WORKSPACE, + cls.ADD_USER_TO_ORGANIZATION, + cls.EDIT_BILLING, + ] + ], + WorkspaceRole.DEPLOYMENT_MANAGER: VIEWER_PERMISSIONS + + [cls.DEPLOY_APPLICATION], + WorkspaceRole.WORKSPACE_ADMIN: [ + p + for p in cls + if p + not in [ + cls.DELETE_WORKSPACE, + cls.DELETE_ORGANIZATION, + cls.EDIT_ORGANIZATION, + cls.ADD_USER_TO_ORGANIZATION, + cls.EDIT_BILLING, + ] + ], + WorkspaceRole.EVALUATOR: VIEWER_PERMISSIONS + + [cls.CREATE_EVALUATION, cls.RUN_EVALUATIONS], + } + + return defaults.get(role, []) + + +class WorkspaceMember(BaseModel): + role_name: WorkspaceRole + permissions: List[Permission] = Field(default_factory=list) diff --git a/api/ee/src/routers/evaluation_router.py b/api/ee/src/routers/evaluation_router.py new file mode 100644 index 0000000000..2cf6dc1da0 --- /dev/null +++ b/api/ee/src/routers/evaluation_router.py @@ -0,0 +1,519 @@ +from typing import Any, List +import random + +from fastapi.responses import JSONResponse +from fastapi import HTTPException, Request, status, Response, Query + +from oss.src.utils.logging import get_module_logger +from oss.src.utils.caching import get_cache, set_cache + +from ee.src.services import converters +from ee.src.services import evaluation_service + +from ee.src.tasks.evaluations.legacy import ( + setup_evaluation, + annotate, +) +from oss.src.utils.common import APIRouter, is_ee +from oss.src.models.api.evaluation_model import ( + Evaluation, + EvaluationScenario, + NewEvaluation, + DeleteEvaluation, +) +from ee.src.services import db_manager_ee +from oss.src.services import app_manager, db_manager + +if is_ee(): + from ee.src.models.shared_models import Permission + from ee.src.utils.permissions import check_action_access + from ee.src.utils.entitlements import ( + check_entitlements, + Tracker, + Counter, + NOT_ENTITLED_RESPONSE, + ) + +from oss.src.routers.testset_router import _validate_testset_limits + + +from oss.src.apis.fastapi.evaluations.models import EvaluationRunsResponse + + +router = APIRouter() + + +log = get_module_logger(__name__) + + +@router.get( + "/by_resource/", + response_model=List[str], +) +async def fetch_evaluation_ids( + resource_type: str, + request: Request, + resource_ids: List[str] = Query(None), +): + """Fetches evaluation ids for a given resource type and id. + + Arguments: + app_id (str): The ID of the app for which to fetch evaluations. + resource_type (str): The type of resource for which to fetch evaluations. + resource_ids List[ObjectId]: The IDs of resource for which to fetch evaluations. + + Raises: + HTTPException: If the resource_type is invalid or access is denied. + + Returns: + List[str]: A list of evaluation ids. + """ + + if is_ee(): + has_permission = await check_action_access( + user_uid=request.state.user_id, + project_id=request.state.project_id, + permission=Permission.VIEW_EVALUATION, + ) + if not has_permission: + error_msg = f"You do not have permission to perform this action. Please contact your organization admin." + log.error(error_msg) + return JSONResponse( + {"detail": error_msg}, + status_code=403, + ) + evaluations = await db_manager_ee.fetch_evaluations_by_resource( + resource_type, + request.state.project_id, + resource_ids, + ) + return list(map(lambda x: str(x.id), evaluations)) + + +@router.get( + "/{evaluation_id}/status/", + operation_id="fetch_evaluation_status", +) +async def fetch_evaluation_status( + evaluation_id: str, + request: Request, +): + """Fetches the status of the evaluation. + + Args: + evaluation_id (str): the evaluation id + request (Request): the request object + + Returns: + (str): the evaluation status + """ + + cache_key = { + "evaluation_id": evaluation_id, + } + + evaluation_status = await get_cache( + project_id=request.state.project_id, + namespace="fetch_evaluation_status", + key=cache_key, + retry=False, + ) + + if evaluation_status is not None: + return {"status": evaluation_status} + + if is_ee(): + has_permission = await check_action_access( + user_uid=request.state.user_id, + project_id=request.state.project_id, + permission=Permission.VIEW_EVALUATION, + ) + if not has_permission: + error_msg = f"You do not have permission to perform this action. Please contact your organization admin." + log.error(error_msg) + return JSONResponse( + {"detail": error_msg}, + status_code=403, + ) + + evaluation_status = await db_manager_ee.fetch_evaluation_status_by_id( + project_id=request.state.project_id, + evaluation_id=evaluation_id, + ) + + await set_cache( + project_id=request.state.project_id, + namespace="fetch_evaluation_status", + key=cache_key, + value=evaluation_status, + ttl=15, # 15 seconds + ) + + return {"status": evaluation_status} + + +@router.get( + "/{evaluation_id}/results/", + operation_id="fetch_legacy_evaluation_results", +) +async def fetch_evaluation_results( + evaluation_id: str, + request: Request, +): + """Fetches the results of the evaluation + + Args: + evaluation_id (str): the evaluation id + request (Request): the request object + + Returns: + _type_: _description_ + """ + + evaluation = await db_manager_ee.fetch_evaluation_by_id( + project_id=request.state.project_id, + evaluation_id=evaluation_id, + ) + if is_ee(): + has_permission = await check_action_access( + user_uid=request.state.user_id, + project_id=str(evaluation.project_id), + permission=Permission.VIEW_EVALUATION, + ) + if not has_permission: + error_msg = f"You do not have permission to perform this action. Please contact your organization admin." + log.error(error_msg) + return JSONResponse( + {"detail": error_msg}, + status_code=403, + ) + + results = converters.aggregated_result_of_evaluation_to_pydantic( + evaluation.aggregated_results # type: ignore + ) + return {"results": results, "evaluation_id": evaluation_id} + + +@router.get( + "/{evaluation_id}/evaluation_scenarios/", + response_model=List[EvaluationScenario], + operation_id="fetch_legacy_evaluation_scenarios", +) +async def fetch_evaluation_scenarios( + evaluation_id: str, + request: Request, +): + """Fetches evaluation scenarios for a given evaluation ID. + + Arguments: + evaluation_id (str): The ID of the evaluation for which to fetch scenarios. + + Raises: + HTTPException: If the evaluation is not found or access is denied. + + Returns: + List[EvaluationScenario]: A list of evaluation scenarios. + """ + + evaluation = await db_manager_ee.fetch_evaluation_by_id( + project_id=request.state.project_id, + evaluation_id=evaluation_id, + ) + if not evaluation: + raise HTTPException( + status_code=404, detail=f"Evaluation with id {evaluation_id} not found" + ) + + if is_ee(): + has_permission = await check_action_access( + user_uid=request.state.user_id, + project_id=str(evaluation.project_id), + permission=Permission.VIEW_EVALUATION, + ) + if not has_permission: + error_msg = f"You do not have permission to perform this action. Please contact your organization admin." + log.error(error_msg) + return JSONResponse( + {"detail": error_msg}, + status_code=403, + ) + + eval_scenarios = await evaluation_service.fetch_evaluation_scenarios_for_evaluation( + evaluation_id=str(evaluation.id), project_id=str(evaluation.project_id) + ) + return eval_scenarios + + +@router.get( + "/", + response_model=List[Evaluation], + operation_id="fetch_legacy_evaluations", +) +async def fetch_list_evaluations( + app_id: str, + request: Request, +): + """Fetches a list of evaluations, optionally filtered by an app ID. + + Args: + app_id (Optional[str]): An optional app ID to filter the evaluations. + + Returns: + List[Evaluation]: A list of evaluations. + """ + + app = await db_manager.fetch_app_by_id(app_id) + if is_ee(): + has_permission = await check_action_access( + user_uid=request.state.user_id, + project_id=str(app.project_id), + permission=Permission.VIEW_EVALUATION, + ) + if not has_permission: + error_msg = f"You do not have permission to perform this action. Please contact your organization admin." + log.error(error_msg) + return JSONResponse( + {"detail": error_msg}, + status_code=403, + ) + + return await evaluation_service.fetch_list_evaluations(app, str(app.project_id)) + + +@router.get( + "/{evaluation_id}/", + response_model=Evaluation, + operation_id="fetch_legacy_evaluation", +) +async def fetch_evaluation( + evaluation_id: str, + request: Request, +): + """Fetches a single evaluation based on its ID. + + Args: + evaluation_id (str): The ID of the evaluation to fetch. + + Returns: + Evaluation: The fetched evaluation. + """ + + evaluation = await db_manager_ee.fetch_evaluation_by_id( + project_id=request.state.project_id, + evaluation_id=evaluation_id, + ) + if not evaluation: + raise HTTPException( + status_code=404, detail=f"Evaluation with id {evaluation_id} not found" + ) + + if is_ee(): + has_permission = await check_action_access( + user_uid=request.state.user_id, + project_id=str(evaluation.project_id), + permission=Permission.VIEW_EVALUATION, + ) + if not has_permission: + error_msg = f"You do not have permission to perform this action. Please contact your organization admin." + log.error(error_msg) + return JSONResponse( + {"detail": error_msg}, + status_code=403, + ) + + return await converters.evaluation_db_to_pydantic(evaluation) + + +@router.delete( + "/", + response_model=List[str], + operation_id="delete_legacy_evaluations", +) +async def delete_evaluations( + payload: DeleteEvaluation, + request: Request, +): + """ + Delete specific comparison tables based on their unique IDs. + + Args: + delete_evaluations (List[str]): The unique identifiers of the comparison tables to delete. + + Returns: + A list of the deleted comparison tables' IDs. + """ + + evaluation = await db_manager_ee.fetch_evaluation_by_id( + project_id=request.state.project_id, + evaluation_id=payload.evaluations_ids[0], + ) + if is_ee(): + has_permission = await check_action_access( + user_uid=request.state.user_id, + project_id=str(evaluation.project_id), + permission=Permission.DELETE_EVALUATION, + ) + if not has_permission: + error_msg = f"You do not have permission to perform this action. Please contact your organization admin." + log.error(error_msg) + return JSONResponse( + {"detail": error_msg}, + status_code=403, + ) + + # Update last_modified_by app information + await app_manager.update_last_modified_by( + user_uid=request.state.user_id, + object_id=random.choice(payload.evaluations_ids), + object_type="evaluation", + project_id=str(evaluation.project_id), + ) + + await evaluation_service.delete_evaluations(payload.evaluations_ids) + return Response(status_code=status.HTTP_204_NO_CONTENT) + + +@router.get( + "/evaluation_scenarios/comparison-results/", + response_model=Any, + operation_id="fetch_legacy_evaluation_scenarios_comparison_results", +) +async def fetch_evaluation_scenarios_comparison_results( + evaluations_ids: str, + request: Request, +): + """Fetches evaluation scenarios for a given evaluation ID. + + Arguments: + evaluation_id (str): The ID of the evaluation for which to fetch scenarios. + + Raises: + HTTPException: If the evaluation is not found or access is denied. + + Returns: + List[EvaluationScenario]: A list of evaluation scenarios. + """ + + evaluations_ids_list = evaluations_ids.split(",") + evaluation = await db_manager_ee.fetch_evaluation_by_id( + project_id=request.state.project_id, + evaluation_id=evaluations_ids_list[0], + ) + if is_ee(): + has_permission = await check_action_access( + user_uid=request.state.user_id, + project_id=str(evaluation.project_id), + permission=Permission.VIEW_EVALUATION, + ) + if not has_permission: + error_msg = f"You do not have permission to perform this action. Please contact your organization admin." + log.error(error_msg) + return JSONResponse( + {"detail": error_msg}, + status_code=403, + ) + + eval_scenarios = await evaluation_service.compare_evaluations_scenarios( + evaluations_ids_list, str(evaluation.project_id) + ) + + return eval_scenarios + + +@router.post( + "/preview/start", + response_model=EvaluationRunsResponse, + operation_id="start_evaluation", +) +async def start_evaluation( + request: Request, + payload: NewEvaluation, +) -> EvaluationRunsResponse: + try: + if is_ee(): + # Permissions Check ------------------------------------------------ + check = await check_action_access( + project_id=request.state.project_id, + user_uid=request.state.user_id, + permission=Permission.CREATE_EVALUATION, + ) + if not check: + raise HTTPException( + status_code=403, + detail="You do not have permission to perform this action. Please contact your organization admin.", + ) + # ------------------------------------------------------------------ + + # Entitlements Check ----------------------------------------------- + check, _, _ = await check_entitlements( + organization_id=request.state.organization_id, + key=Counter.EVALUATIONS, + delta=1, + ) + + if not check: + return NOT_ENTITLED_RESPONSE(Tracker.COUNTERS) + # ------------------------------------------------------------------ + + # Input Validation ----------------------------------------------------- + nof_runs = len(payload.revisions_ids) + + if nof_runs == 0: + raise HTTPException( + status_code=400, + detail="No revisions provided for evaluation. Please provide at least one revision.", + ) + # ---------------------------------------------------------------------- + + # Evaluation Run Execution --------------------------------------------- + runs = [] + + for i in range(nof_runs): + run = await setup_evaluation( + project_id=request.state.project_id, + user_id=request.state.user_id, + # + name=payload.name, + # + testset_id=payload.testset_id, + # + revision_id=payload.revisions_ids[i], + # + autoeval_ids=payload.evaluators_configs, + ) + + if not run: + continue + + runs.append(run) + + annotate.delay( + project_id=request.state.project_id, + user_id=request.state.user_id, + # + run_id=run.id, + # + testset_id=payload.testset_id, + # + revision_id=payload.revisions_ids[i], + # + autoeval_ids=payload.evaluators_configs, + # + run_config=payload.rate_limit.model_dump(mode="json"), + ) + # ---------------------------------------------------------------------- + + runs_response = EvaluationRunsResponse( + count=len(runs), + runs=runs, + ) + + return runs_response + + except KeyError as e: + log.error(e, exc_info=True) + + raise HTTPException( + status_code=400, + detail="Columns in the test set should match the names of the inputs in the variant", + ) from e diff --git a/api/ee/src/routers/human_evaluation_router.py b/api/ee/src/routers/human_evaluation_router.py new file mode 100644 index 0000000000..3b2904062c --- /dev/null +++ b/api/ee/src/routers/human_evaluation_router.py @@ -0,0 +1,460 @@ +from typing import List, Dict +from fastapi import HTTPException, Body, Request, status, Response + +from oss.src.utils.logging import get_module_logger +from ee.src.services import converters +from oss.src.services import db_manager +from ee.src.services import db_manager_ee +from ee.src.services import results_service +from ee.src.services import evaluation_service +from oss.src.utils.common import APIRouter, is_ee +from oss.src.models.api.evaluation_model import ( + DeleteEvaluation, + EvaluationScenarioScoreUpdate, + HumanEvaluation, + HumanEvaluationScenario, + HumanEvaluationScenarioUpdate, + EvaluationType, + HumanEvaluationUpdate, + NewHumanEvaluation, + SimpleEvaluationOutput, +) +from ee.src.services.evaluation_service import ( + update_human_evaluation_scenario, + update_human_evaluation_service, +) + +if is_ee(): + from ee.src.models.shared_models import ( + Permission, + ) # noqa pylint: disable-all + from ee.src.utils.permissions import ( + check_action_access, + ) # noqa pylint: disable-all + + +router = APIRouter() + +log = get_module_logger(__name__) + + +@router.post( + "/", response_model=SimpleEvaluationOutput, operation_id="create_human_evaluation" +) +async def create_human_evaluation( + payload: NewHumanEvaluation, + request: Request, +): + """Creates a new comparison table document + Raises: + HTTPException: _description_ + Returns: + _description_ + """ + + try: + app = await db_manager.fetch_app_by_id(app_id=payload.app_id) + if app is None: + raise HTTPException(status_code=404, detail="App not found") + + if is_ee(): + has_permission = await check_action_access( + user_uid=request.state.user_id, + project_id=str(app.project_id), + permission=Permission.CREATE_EVALUATION, + ) + if not has_permission: + error_msg = f"You do not have permission to perform this action. Please contact your Organization Admin." + raise HTTPException( + detail=error_msg, + status_code=403, + ) + + new_human_evaluation_db = await evaluation_service.create_new_human_evaluation( + payload + ) + return await converters.human_evaluation_db_to_simple_evaluation_output( + new_human_evaluation_db + ) + except KeyError: + raise HTTPException( + status_code=400, + detail="columns in the test set should match the names of the inputs in the variant", + ) + + +@router.get("/", response_model=List[HumanEvaluation]) +async def fetch_list_human_evaluations( + app_id: str, + request: Request, +): + """Fetches a list of evaluations, optionally filtered by an app ID. + + Args: + app_id (Optional[str]): An optional app ID to filter the evaluations. + + Returns: + List[HumanEvaluation]: A list of evaluations. + """ + + app = await db_manager.fetch_app_by_id(app_id=app_id) + if is_ee(): + has_permission = await check_action_access( + user_uid=request.state.user_id, + project_id=str(app.project_id), + permission=Permission.VIEW_EVALUATION, + ) + if not has_permission: + error_msg = f"You do not have permission to perform this action. Please contact your Organization Admin." + raise HTTPException( + detail=error_msg, + status_code=403, + ) + + return await evaluation_service.fetch_list_human_evaluations( + app_id, str(app.project_id) + ) + + +@router.get("/{evaluation_id}/", response_model=HumanEvaluation) +async def fetch_human_evaluation( + evaluation_id: str, + request: Request, +): + """Fetches a single evaluation based on its ID. + + Args: + evaluation_id (str): The ID of the evaluation to fetch. + + Returns: + HumanEvaluation: The fetched evaluation. + """ + + human_evaluation = await db_manager_ee.fetch_human_evaluation_by_id(evaluation_id) + if not human_evaluation: + raise HTTPException(status_code=404, detail="Evaluation not found") + + if is_ee(): + has_permission = await check_action_access( + user_uid=request.state.user_id, + project_id=str(human_evaluation.project_id), + permission=Permission.VIEW_EVALUATION, + ) + if not has_permission: + error_msg = f"You do not have permission to perform this action. Please contact your Organization Admin." + raise HTTPException( + detail=error_msg, + status_code=403, + ) + + return await evaluation_service.fetch_human_evaluation(human_evaluation) + + +@router.get( + "/{evaluation_id}/evaluation_scenarios/", + response_model=List[HumanEvaluationScenario], + operation_id="fetch_human_evaluation_scenarios", +) +async def fetch_human_evaluation_scenarios( + evaluation_id: str, + request: Request, +): + """Fetches evaluation scenarios for a given evaluation ID. + + Arguments: + evaluation_id (str): The ID of the evaluation for which to fetch scenarios. + + Raises: + HTTPException: If the evaluation is not found or access is denied. + + Returns: + List[EvaluationScenario]: A list of evaluation scenarios. + """ + + human_evaluation = await db_manager_ee.fetch_human_evaluation_by_id(evaluation_id) + if human_evaluation is None: + raise HTTPException( + status_code=404, + detail=f"Evaluation with id {evaluation_id} not found", + ) + + if is_ee(): + has_permission = await check_action_access( + user_uid=request.state.user_id, + project_id=str(human_evaluation.project_id), + permission=Permission.VIEW_EVALUATION, + ) + if not has_permission: + error_msg = f"You do not have permission to perform this action. Please contact your Organization Admin." + raise HTTPException( + detail=error_msg, + status_code=403, + ) + + eval_scenarios = ( + await evaluation_service.fetch_human_evaluation_scenarios_for_evaluation( + human_evaluation + ) + ) + + return eval_scenarios + + +@router.put("/{evaluation_id}/", operation_id="update_human_evaluation") +async def update_human_evaluation( + request: Request, + evaluation_id: str, + update_data: HumanEvaluationUpdate = Body(...), +): + """Updates an evaluation's status. + + Raises: + HTTPException: If the columns in the test set do not match with the inputs in the variant. + + Returns: + None: A 204 No Content status code, indicating that the update was successful. + """ + + try: + human_evaluation = await db_manager_ee.fetch_human_evaluation_by_id( + evaluation_id + ) + if not human_evaluation: + raise HTTPException(status_code=404, detail="Evaluation not found") + + if is_ee(): + has_permission = await check_action_access( + user_uid=request.state.user_id, + project_id=str(human_evaluation.project_id), + permission=Permission.EDIT_EVALUATION, + ) + if not has_permission: + error_msg = f"You do not have permission to perform this action. Please contact your Organization Admin." + raise HTTPException( + detail=error_msg, + status_code=403, + ) + + await update_human_evaluation_service(human_evaluation, update_data) + return Response(status_code=status.HTTP_204_NO_CONTENT) + + except KeyError: + raise HTTPException( + status_code=400, + detail="columns in the test set should match the names of the inputs in the variant", + ) + + +@router.put( + "/{evaluation_id}/evaluation_scenario/{evaluation_scenario_id}/{evaluation_type}/" +) +async def update_evaluation_scenario_router( + evaluation_id: str, + evaluation_scenario_id: str, + evaluation_type: EvaluationType, + payload: HumanEvaluationScenarioUpdate, + request: Request, +): + """Updates an evaluation scenario's vote or score based on its type. + + Raises: + HTTPException: If update fails or unauthorized. + + Returns: + None: 204 No Content status code upon successful update. + """ + + evaluation_scenario_db = await db_manager_ee.fetch_human_evaluation_scenario_by_id( + evaluation_scenario_id + ) + if evaluation_scenario_db is None: + raise HTTPException( + status_code=404, + detail=f"Evaluation scenario with id {evaluation_scenario_id} not found", + ) + + if is_ee(): + has_permission = await check_action_access( + user_uid=request.state.user_id, + project_id=str(evaluation_scenario_db.project_id), + permission=Permission.EDIT_EVALUATION, + ) + if not has_permission: + error_msg = f"You do not have permission to perform this action. Please contact your Organization Admin." + raise HTTPException( + detail=error_msg, + status_code=403, + ) + + await update_human_evaluation_scenario( + evaluation_scenario_db, + payload, + evaluation_type, + ) + return Response(status_code=status.HTTP_204_NO_CONTENT) + + +@router.get("/evaluation_scenario/{evaluation_scenario_id}/score/") +async def get_evaluation_scenario_score_router( + evaluation_scenario_id: str, + request: Request, +) -> Dict[str, str]: + """ + Fetch the score of a specific evaluation scenario. + + Args: + evaluation_scenario_id: The ID of the evaluation scenario to fetch. + + Returns: + Dictionary containing the scenario ID and its score. + """ + + evaluation_scenario = db_manager_ee.fetch_evaluation_scenario_by_id( + evaluation_scenario_id + ) + if evaluation_scenario is None: + raise HTTPException( + status_code=404, + detail=f"Evaluation scenario with id {evaluation_scenario_id} not found", + ) + + if is_ee(): + has_permission = await check_action_access( + user_uid=request.state.user_id, + project_id=str(evaluation_scenario.project_id), + permission=Permission.VIEW_EVALUATION, + ) + if not has_permission: + error_msg = f"You do not have permission to perform this action. Please contact your Organization Admin." + raise HTTPException( + detail=error_msg, + status_code=403, + ) + + return { + "scenario_id": str(evaluation_scenario.id), + "score": evaluation_scenario.score, + } + + +@router.put("/evaluation_scenario/{evaluation_scenario_id}/score/") +async def update_evaluation_scenario_score_router( + evaluation_scenario_id: str, + payload: EvaluationScenarioScoreUpdate, + request: Request, +): + """Updates the score of an evaluation scenario. + + Raises: + HTTPException: Server error if the evaluation update fails. + + Returns: + None: 204 No Content status code upon successful update. + """ + + evaluation_scenario = await db_manager_ee.fetch_evaluation_scenario_by_id( + evaluation_scenario_id + ) + if evaluation_scenario is None: + raise HTTPException( + status_code=404, + detail=f"Evaluation scenario with id {evaluation_scenario_id} not found", + ) + + if is_ee(): + has_permission = await check_action_access( + user_uid=request.state.user_id, + project_id=str(evaluation_scenario.project_id), + permission=Permission.VIEW_EVALUATION, + ) + if not has_permission: + error_msg = f"You do not have permission to perform this action. Please contact your Organization Admin." + raise HTTPException( + detail=error_msg, + status_code=403, + ) + + await db_manager.update_human_evaluation_scenario( + evaluation_scenario_id=str(evaluation_scenario.id), # type: ignore + values_to_update=payload.model_dump(), + ) + return Response(status_code=status.HTTP_204_NO_CONTENT) + + +@router.get("/{evaluation_id}/results/", operation_id="fetch_results") +async def fetch_results( + evaluation_id: str, + request: Request, +): + """Fetch all the results for one the comparison table + + Arguments: + evaluation_id -- _description_ + + Returns: + _description_ + """ + + evaluation = await db_manager_ee.fetch_human_evaluation_by_id(evaluation_id) + if evaluation is None: + raise HTTPException( + status_code=404, + detail=f"Evaluation with id {evaluation_id} not found", + ) + if is_ee(): + has_permission = await check_action_access( + user_uid=request.state.user_id, + project_id=str(evaluation.project_id), + permission=Permission.VIEW_EVALUATION, + ) + if not has_permission: + error_msg = f"You do not have permission to perform this action. Please contact your Organization Admin." + raise HTTPException( + detail=error_msg, + status_code=403, + ) + + if evaluation.evaluation_type == EvaluationType.human_a_b_testing: + results = await results_service.fetch_results_for_evaluation(evaluation) + return {"votes_data": results} + + elif evaluation.evaluation_type == EvaluationType.single_model_test: + results = await results_service.fetch_results_for_single_model_test( + evaluation_id + ) + return {"results_data": results} + + +@router.delete("/", response_model=List[str]) +async def delete_evaluations( + payload: DeleteEvaluation, + request: Request, +): + """ + Delete specific comparison tables based on their unique IDs. + + Args: + payload (List[str]): The unique identifiers of the comparison tables to delete. + + Returns: + A list of the deleted comparison tables' IDs. + """ + + evaluation = await db_manager_ee.fetch_human_evaluation_by_id( + payload.evaluations_ids[0] + ) + if is_ee(): + has_permission = await check_action_access( + user_uid=request.state.user_id, + project_id=str(evaluation.project_id), + permission=Permission.DELETE_EVALUATION, + ) + if not has_permission: + error_msg = f"You do not have permission to perform this action. Please contact your Organization Admin." + raise HTTPException( + detail=error_msg, + status_code=403, + ) + + await evaluation_service.delete_human_evaluations(payload.evaluations_ids) + return Response(status_code=status.HTTP_204_NO_CONTENT) diff --git a/api/ee/src/routers/organization_router.py b/api/ee/src/routers/organization_router.py new file mode 100644 index 0000000000..7b265a692a --- /dev/null +++ b/api/ee/src/routers/organization_router.py @@ -0,0 +1,239 @@ +from fastapi.responses import JSONResponse +from fastapi import HTTPException, Request + +from oss.src.utils.logging import get_module_logger +from oss.src.services import db_manager +from ee.src.services import db_manager_ee +from oss.src.utils.common import APIRouter +from ee.src.services import workspace_manager +from ee.src.models.db_models import Permission +from ee.src.services.selectors import ( + get_user_own_org, + get_user_org_and_workspace_id, +) +from ee.src.models.api.workspace_models import ( + CreateWorkspace, + UpdateWorkspace, + WorkspaceResponse, +) +from ee.src.utils.permissions import ( + check_user_org_access, + check_rbac_permission, +) +from ee.src.models.api.organization_models import ( + CreateOrganization, + OrganizationUpdate, + OrganizationOutput, +) +from ee.src.services.organization_service import ( + update_an_organization, + get_organization_details, +) + + +router = APIRouter() + +log = get_module_logger(__name__) + + +@router.get("/own/", response_model=OrganizationOutput, operation_id="get_own_org") +async def get_user_organization( + request: Request, +): + try: + user_org_workspace_data: dict = await get_user_org_and_workspace_id( + request.state.user_id + ) + org_db = await get_user_own_org(user_uid=user_org_workspace_data["uid"]) + if org_db is None: + raise HTTPException(404, detail="User does not have an organization") + + return OrganizationOutput(id=str(org_db.id), name=org_db.name) + except Exception as e: + raise HTTPException(status_code=500, detail=str(e)) + + +@router.get("/{org_id}/", operation_id="fetch_ee_organization_details") +async def fetch_organization_details( + org_id: str, + request: Request, +): + """Get an organization's details. + + Raises: + HTTPException: _description_ + Permission Denied + + Returns: + OrganizationDB Instance + """ + + try: + workspace_id = await db_manager_ee.get_default_workspace_id_from_organization( + organization_id=org_id + ) + + project_id = await db_manager.get_default_project_id_from_workspace( + workspace_id=workspace_id + ) + + project_memberships = await db_manager_ee.fetch_project_memberships_by_user_id( + user_id=str(request.state.user_id) + ) + + membership = None + for project_membership in project_memberships: + if str(project_membership.project_id) == project_id: + membership = project_membership + break + + if not membership: + return JSONResponse( + status_code=403, + content={"detail": "You do not have access to this organization"}, + ) + + user_org_workspace_data = await get_user_org_and_workspace_id( + request.state.user_id + ) + has_permission = await check_user_org_access(user_org_workspace_data, org_id) + if not has_permission: + return JSONResponse( + status_code=403, + content={"detail": "You do not have access to this organization"}, + ) + + organization = await get_organization_details(org_id) + + if membership.role == "viewer" or membership.is_demo: + if "default_workspace" in organization: + organization["default_workspace"].members = [] + + return organization + + except Exception as e: + import traceback + + traceback.print_exc() + raise HTTPException( + status_code=500, + detail=str(e), + ) + + +@router.put("/{org_id}/", operation_id="update_organization") +async def update_organization( + org_id: str, + payload: OrganizationUpdate, + request: Request, +): + if not payload.name and not payload.description: + return JSONResponse( + {"detail": "Please provide a name or description to update"}, + status_code=400, + ) + + try: + user_org_workspace_data: dict = await get_user_org_and_workspace_id( + request.state.user_id + ) + has_permission = await check_user_org_access( + user_org_workspace_data, org_id, check_owner=True + ) + if not has_permission: + return JSONResponse( + {"detail": "You do not have permission to perform this action"}, + status_code=403, + ) + + organization = await update_an_organization(org_id, payload) + + return organization + + except Exception as e: + raise HTTPException( + status_code=500, + detail=str(e), + ) + + +@router.post( + "/{org_id}/workspaces/", + operation_id="create_workspace", + response_model=WorkspaceResponse, +) +async def create_workspace( + org_id: str, + payload: CreateWorkspace, + request: Request, +) -> WorkspaceResponse: + try: + user_org_workspace_data: dict = await get_user_org_and_workspace_id( + request.state.user_id + ) + has_permission = await check_user_org_access( + user_org_workspace_data, org_id, check_owner=True + ) + if not has_permission: + return JSONResponse( + {"detail": "You do not have permission to perform this action"}, + status_code=403, + ) + + if not payload.name: + return JSONResponse( + {"detail": "Please provide a name to create a workspace"}, + status_code=400, + ) + workspace = await workspace_manager.create_new_workspace( + payload, org_id, user_org_workspace_data["uid"] + ) + return workspace + + except Exception as e: + raise HTTPException( + status_code=500, + detail=str(e), + ) + + +@router.put( + "/{org_id}/workspaces/{workspace_id}/", + operation_id="update_workspace", + response_model=WorkspaceResponse, +) +async def update_workspace( + org_id: str, + workspace_id: str, + payload: UpdateWorkspace, + request: Request, +) -> WorkspaceResponse: + try: + user_org_workspace_data: dict = await get_user_org_and_workspace_id( + request.state.user_id + ) + project = await db_manager_ee.get_project_by_workspace(workspace_id) + has_permission = await check_rbac_permission( + user_org_workspace_data=user_org_workspace_data, + project_id=str(project.id), + permission=Permission.EDIT_WORKSPACE, + ) + if not has_permission: + return JSONResponse( + {"detail": "You do not have permission to update this workspace"}, + status_code=403, + ) + + if not payload.name and not payload.description: + return JSONResponse( + {"detail": "Please provide a name or description to update"}, + status_code=400, + ) + workspace = await workspace_manager.update_workspace(payload, workspace_id) + return workspace + + except Exception as e: + raise HTTPException( + status_code=500, + detail=str(e), + ) diff --git a/api/ee/src/routers/workspace_router.py b/api/ee/src/routers/workspace_router.py new file mode 100644 index 0000000000..40e0e17885 --- /dev/null +++ b/api/ee/src/routers/workspace_router.py @@ -0,0 +1,173 @@ +from typing import List + +from fastapi import HTTPException, Request +from fastapi.responses import JSONResponse + +from oss.src.utils.logging import get_module_logger +from oss.src.utils.common import APIRouter +from ee.src.utils.permissions import check_rbac_permission +from ee.src.services import workspace_manager, db_manager_ee +from ee.src.services.selectors import get_user_org_and_workspace_id + +from ee.src.models.api.workspace_models import ( + UserRole, + Permission, + WorkspaceRole, +) + +router = APIRouter() + +log = get_module_logger(__name__) + + +@router.get( + "/permissions/", + operation_id="get_all_workspace_permissions", + response_model=List[Permission], +) +async def get_all_workspace_permissions() -> List[Permission]: + """ + Get all workspace permissions. + + Returns a list of all available workspace permissions. + + Returns: + List[Permission]: A list of Permission objects representing the available workspace permissions. + + Raises: + HTTPException: If there is an error retrieving the workspace permissions. + + """ + try: + workspace_permissions = await workspace_manager.get_all_workspace_permissions() + return sorted(workspace_permissions) + except Exception as e: + raise HTTPException( + status_code=500, + detail=str(e), + ) + + +@router.post("/{workspace_id}/roles/", operation_id="assign_role_to_user") +async def assign_role_to_user( + payload: UserRole, + workspace_id: str, + request: Request, +): + """ + Assigns a role to a user in a workspace. + + Args: + payload (UserRole): The payload containing the organization id, user email, and role to assign. + workspace_id (str): The ID of the workspace. + request (Request): The FastAPI request object. + + Returns: + bool: True if the role was successfully assigned, False otherwise. + + Raises: + HTTPException: If the user does not have permission to perform this action. + HTTPException: If there is an error assigning the role to the user. + """ + + try: + user_org_workspace_data = await get_user_org_and_workspace_id( + request.state.user_id + ) + project = await db_manager_ee.get_project_by_workspace(workspace_id) + has_permission = await check_rbac_permission( + user_org_workspace_data=user_org_workspace_data, + project_id=str(project.id), + role=WorkspaceRole.WORKSPACE_ADMIN, + ) + if not has_permission: + return JSONResponse( + status_code=403, + content={ + "detail": "You do not have permission to perform this action. Please contact your Organization Owner" + }, + ) + + if not WorkspaceRole.is_valid_role(payload.role): # type: ignore + return JSONResponse( + status_code=400, content={"detail": "Workspace role is invalid."} + ) + + create_user_role = await db_manager_ee.update_user_roles( + workspace_id, + payload, + ) + return create_user_role + except HTTPException as ex: + raise ex + except Exception as e: + raise HTTPException( + status_code=500, + detail=str(e), + ) + + +@router.delete("/{workspace_id}/roles/", operation_id="unassign_role_from_user") +async def unassign_role_from_user( + email: str, + org_id: str, + role: str, + workspace_id: str, + request: Request, +): + """ + Delete a role assignment from a user in a workspace. + + Args: + workspace_id (str): The ID of the workspace. + email (str): The email of the user to remove the role from. + org_id (str): The ID of the organization. + role (str): The role to remove from the user. + request (Request): The FastAPI request object. + + Returns: + bool: True if the role assignment was successfully deleted. + + Raises: + HTTPException: If there is an error in the request or the user does not have permission to perform the action. + HTTPException: If there is an error in updating the user's roles. + + """ + try: + user_org_workspace_data = await get_user_org_and_workspace_id( + request.state.user_id + ) + project = await db_manager_ee.get_project_by_workspace(workspace_id) + has_permission = await check_rbac_permission( + user_org_workspace_data=user_org_workspace_data, + project_id=str(project.id), + role=WorkspaceRole.WORKSPACE_ADMIN, + ) + if not has_permission: + return JSONResponse( + status_code=403, + content={ + "detail": "You do not have permission to perform this action. Please contact your Organization Owner" + }, + ) + + payload = UserRole( + email=email, + organization_id=org_id, + role=role, + ) + + delete_user_role = await db_manager_ee.update_user_roles( + workspace_id, + payload, + delete=True, + ) + + return delete_user_role + except HTTPException as ex: + raise ex + except Exception as e: + raise HTTPException( + status_code=500, + detail=str(e), + ) diff --git a/api/ee/src/services/admin_manager.py b/api/ee/src/services/admin_manager.py new file mode 100644 index 0000000000..57af9d8ef6 --- /dev/null +++ b/api/ee/src/services/admin_manager.py @@ -0,0 +1,404 @@ +from typing import Optional, Literal, Any +from uuid import UUID + +from pydantic import BaseModel +import uuid_utils.compat as uuid +from sqlalchemy.future import select + +from oss.src.utils.logging import get_module_logger +from oss.src.utils.common import is_ee + +from oss.src.dbs.postgres.shared.engine import engine + +from oss.src.models.db_models import UserDB +from oss.src.services.api_key_service import create_api_key + +from ee.src.models.db_models import ( + WorkspaceDB, + ProjectDB, + OrganizationDB, + ProjectMemberDB as ProjectMembershipDB, + WorkspaceMemberDB as WorkspaceMembershipDB, + OrganizationMemberDB as OrganizationMembershipDB, +) + +log = get_module_logger(__name__) + + +class Reference(BaseModel): + id: Optional[UUID] = None + slug: Optional[str] = None + + class Config: + json_encoders = {UUID: str} + + def encode(self, data: Any) -> Any: + if isinstance(data, dict): + return {k: self.encode(v) for k, v in data.items()} + elif isinstance(data, list): + return [self.encode(item) for item in data] + for type_, encoder in self.Config.json_encoders.items(): + if isinstance(data, type_): + return encoder(data) + return data + + def model_dump(self, *args, **kwargs) -> dict: + kwargs.setdefault("exclude_none", True) + + return self.encode(super().model_dump(*args, **kwargs)) + + +class UserRequest(BaseModel): + name: str + email: str + + +Tier = str + + +class OrganizationRequest(BaseModel): + name: str + description: str + is_paying: bool + + +class WorkspaceRequest(BaseModel): + name: str + description: str + is_default: bool + # + organization_ref: Reference + + +class ProjectRequest(BaseModel): + name: str + description: str + is_default: bool + # + workspace_ref: Reference + organization_ref: Reference + + +OrganizationRole = Literal[ + "owner", + "viewer", + "editor", + "evaluator", + "workspace_admin", + "deployment_manager", +] # update list + + +class OrganizationMembershipRequest(BaseModel): + role: OrganizationRole + is_demo: bool + # + user_ref: Reference + organization_ref: Reference + + +WorkspaceRole = Literal[ # update list + "owner", + "viewer", + "editor", + "evaluator", + "workspace_admin", + "deployment_manager", +] + + +class WorkspaceMembershipRequest(BaseModel): + role: WorkspaceRole + is_demo: bool + # + user_ref: Reference + workspace_ref: Reference + + +ProjectRole = Literal[ # update list + "owner", + "viewer", + "editor", + "evaluator", + "workspace_admin", + "deployment_manager", +] + + +class ProjectMembershipRequest(BaseModel): + role: ProjectRole + is_demo: bool + # + user_ref: Reference + project_ref: Reference + + +Credentials = str + + +async def check_user( + request: UserRequest, +) -> Optional[UserRequest]: + async with engine.core_session() as session: + result = await session.execute( + select(UserDB).filter_by( + email=request.email, + ) + ) + + user_db = result.scalars().first() + + reference = Reference(id=user_db.id) if user_db else None + + return reference + + +async def create_user( + request: UserRequest, +) -> Reference: + async with engine.core_session() as session: + user_db = UserDB( + # id=uuid7() # use default + # + uid=str(uuid.uuid7()), + username=request.name, # rename to 'name' + email=request.email, + ) + + session.add(user_db) + + log.info( + "[scopes] user created", + user_id=user_db.id, + ) + + await session.commit() + + response = Reference(id=user_db.id) + + return response + + +async def create_organization( + request: OrganizationRequest, +) -> Reference: + async with engine.core_session() as session: + organization_db = OrganizationDB( + # id=uuid7() # use default + # + name=request.name, + description=request.description, + # + owner="", # move 'owner' from here to membership 'role' + # type=... # remove 'type' + ) + + if is_ee(): + organization_db.is_paying = request.is_paying + + session.add(organization_db) + + log.info( + "[scopes] organization created", + organization_id=organization_db.id, + ) + + await session.commit() + + response = Reference(id=organization_db.id) + + return response + + +async def create_workspace( + request: WorkspaceRequest, +) -> Reference: + async with engine.core_session() as session: + workspace_db = WorkspaceDB( + # id=uuid7() # use default + # + name=request.name, + description=request.description, + type=("default" if request.is_default else None), # rename to 'is_default' + # + organization_id=request.organization_ref.id, + ) + + session.add(workspace_db) + + log.info( + "[scopes] workspace created", + organization_id=workspace_db.organization_id, + workspace_id=workspace_db.id, + ) + + await session.commit() + + response = Reference(id=workspace_db.id) + + return response + + +async def create_project( + request: ProjectRequest, +) -> Reference: + async with engine.core_session() as session: + project_db = ProjectDB( + # id=uuid7() # use default + # + project_name=request.name, # rename to 'name' + # description=... # missing 'description' + is_default=request.is_default, + # + workspace_id=request.workspace_ref.id, + organization_id=request.organization_ref.id, + ) + + session.add(project_db) + + log.info( + "[scopes] project created", + organization_id=project_db.organization_id, + workspace_id=project_db.workspace_id, + project_id=project_db.id, + ) + + await session.commit() + + response = Reference(id=project_db.id) + + return response + + +async def create_organization_membership( + request: OrganizationMembershipRequest, +) -> Reference: + async with engine.core_session() as session: + membership_db = OrganizationMembershipDB( + # id=uuid7() # use default + # + # role=request.role, # move 'owner' from organization to here as 'role' + # is_demo=request.is_demo, # add 'is_demo' + # + user_id=request.user_ref.id, + organization_id=request.organization_ref.id, + ) + + session.add(membership_db) + + log.info( + "[scopes] organization membership created", + organization_id=request.organization_ref.id, + user_id=request.user_ref.id, + membership_id=membership_db.id, + ) + + await session.commit() + + if request.role == "owner": + result = await session.execute( + select(OrganizationDB).filter_by( + id=request.organization_ref.id, + ) + ) + + organization_db = result.scalars().first() + + organization_db.owner = str(request.user_ref.id) + + await session.commit() + + response = Reference(id=membership_db.id) + + return response + + +async def create_workspace_membership( + request: WorkspaceMembershipRequest, +) -> Reference: + async with engine.core_session() as session: + workspace = await session.execute( + select(WorkspaceDB).filter_by( + id=request.workspace_ref.id, + ) + ) + workspace_db = workspace.scalars().first() + + membership_db = WorkspaceMembershipDB( + # id=uuid7() # use default + # + role=request.role, + # is_demo=request.is_demo, # add 'is_demo' + # + user_id=request.user_ref.id, + workspace_id=request.workspace_ref.id, + ) + + session.add(membership_db) + + log.info( + "[scopes] workspace membership created", + organization_id=workspace_db.organization_id, + workspace_id=request.workspace_ref.id, + user_id=request.user_ref.id, + membership_id=membership_db.id, + ) + + await session.commit() + + response = Reference(id=membership_db.id) + + return response + + +async def create_project_membership( + request: ProjectMembershipRequest, +) -> Reference: + async with engine.core_session() as session: + project = await session.execute( + select(ProjectDB).filter_by( + id=request.project_ref.id, + ) + ) + project_db = project.scalars().first() + + membership_db = ProjectMembershipDB( + # id=uuid7() # use default + # + role=request.role, + is_demo=request.is_demo, + # + user_id=request.user_ref.id, + project_id=request.project_ref.id, + ) + + session.add(membership_db) + + log.info( + "[scopes] project membership created", + organization_id=project_db.organization_id, + workspace_id=project_db.workspace_id, + project_id=request.project_ref.id, + user_id=request.user_ref.id, + membership_id=membership_db.id, + ) + + await session.commit() + + response = Reference(id=membership_db.id) + + return response + + +async def create_credentials( + user_id: UUID, + project_id: UUID, +) -> Credentials: + apikey_token = await create_api_key( + user_id=str(user_id), + project_id=str(project_id), + ) + + credentials = f"ApiKey {apikey_token}" + + return credentials diff --git a/api/ee/src/services/aggregation_service.py b/api/ee/src/services/aggregation_service.py new file mode 100644 index 0000000000..55a14e5f8f --- /dev/null +++ b/api/ee/src/services/aggregation_service.py @@ -0,0 +1,135 @@ +import re +import traceback +from typing import List, Optional + +from oss.src.models.shared_models import InvokationResult, Result, Error + + +def aggregate_ai_critique(results: List[Result]) -> Result: + """Aggregates the results for the ai critique evaluation. + + Args: + results (List[Result]): list of result objects + + Returns: + Result: aggregated result + """ + + try: + numeric_scores = [] + for result in results: + # Extract the first number found in the result value + match = re.search(r"\d+", result.value) + if match: + try: + score = int(match.group()) + numeric_scores.append(score) + except ValueError: + # Ignore if the extracted value is not an integer + continue + + # Calculate the average of numeric scores if any are present + average_value = ( + sum(numeric_scores) / len(numeric_scores) if numeric_scores else None + ) + return Result( + type="number", + value=average_value, + ) + except Exception as exc: + return Result( + type="error", + value=None, + error=Error(message=str(exc), stacktrace=str(traceback.format_exc())), + ) + + +def aggregate_binary(results: List[Result]) -> Result: + """Aggregates the results for the binary (auto regex) evaluation. + + Args: + results (List[Result]): list of result objects + + Returns: + Result: aggregated result + """ + + if all(isinstance(result.value, bool) for result in results): + average_value = sum(int(result.value) for result in results) / len(results) + else: + average_value = None + return Result(type="number", value=average_value) + + +def aggregate_float(results: List[Result]) -> Result: + """Aggregates the results for evaluations aside from auto regex and ai critique. + + Args: + results (List[Result]): list of result objects + + Returns: + Result: aggregated result + """ + + try: + average_value = sum(result.value for result in results) / len(results) + return Result(type="number", value=average_value) + except Exception as exc: + return Result( + type="error", + value=None, + error=Error(message=str(exc), stacktrace=str(traceback.format_exc())), + ) + + +def aggregate_float_from_llm_app_response( + invocation_results: List[InvokationResult], key: Optional[str] +) -> Result: + try: + if not key: + raise ValueError("Key is required to aggregate InvokationResult objects.") + + values = [ + getattr(inv_result, key) + for inv_result in invocation_results + if hasattr(inv_result, key) and getattr(inv_result, key) is not None + ] + + if not values: + return Result(type=key, value=None) + + average_value = sum(values) / len(values) + return Result(type=key, value=average_value) + except Exception as exc: + return Result( + type="error", + value=None, + error=Error(message=str(exc), stacktrace=str(traceback.format_exc())), + ) + + +def sum_float_from_llm_app_response( + invocation_results: List[InvokationResult], key: Optional[str] +) -> Result: + try: + if not key: + raise ValueError("Key is required to aggregate InvokationResult objects.") + + values = [ + getattr(inv_result, key) + for inv_result in invocation_results + if hasattr(inv_result, key) and getattr(inv_result, key) is not None + ] + + if not values: + return Result(type=key, value=None) + + total_value = sum(values) + + return Result(type=key, value=total_value) + except Exception as exc: + return Result( + type="error", + value=None, + error=Error(message=str(exc), stacktrace=str(traceback.format_exc())), + ) diff --git a/api/ee/src/services/commoners.py b/api/ee/src/services/commoners.py new file mode 100644 index 0000000000..45e5643d78 --- /dev/null +++ b/api/ee/src/services/commoners.py @@ -0,0 +1,179 @@ +from os import getenv +from json import loads +from typing import List +from traceback import format_exc + +from pydantic import BaseModel + +from oss.src.utils.logging import get_module_logger +from oss.src.services import db_manager +from oss.src.utils.common import is_ee +from ee.src.services import workspace_manager +from ee.src.services.db_manager_ee import ( + create_organization, + add_user_to_organization, + add_user_to_workspace, + add_user_to_project, +) +from ee.src.services.selectors import ( + user_exists, +) +from ee.src.models.api.organization_models import CreateOrganization +from oss.src.services.user_service import create_new_user +from ee.src.services.email_helper import ( + add_contact_to_loops, +) + +log = get_module_logger(__name__) + +from ee.src.dbs.postgres.subscriptions.dao import SubscriptionsDAO +from ee.src.core.subscriptions.service import SubscriptionsService +from ee.src.dbs.postgres.meters.dao import MetersDAO +from ee.src.core.meters.service import MetersService + +subscription_service = SubscriptionsService( + subscriptions_dao=SubscriptionsDAO(), + meters_service=MetersService( + meters_dao=MetersDAO(), + ), +) + +from ee.src.utils.entitlements import check_entitlements, Gauge + +DEMOS = "AGENTA_DEMOS" +DEMO_ROLE = "viewer" + + +class Demo(BaseModel): + organization_id: str + workspace_id: str + project_id: str + + +async def list_all_demos() -> List[Demo]: + demos = [] + + try: + demo_project_ids = loads(getenv(DEMOS) or "[]") + + for project_id in demo_project_ids: + project = await db_manager.get_project_by_id(project_id) + + try: + demos.append( + Demo( + organization_id=str(project.organization_id), + workspace_id=str(project.workspace_id), + project_id=str(project.id), + ) + ) + + except: # pylint: disable=bare-except + log.error(format_exc()) + + except: # pylint: disable=bare-except + log.error(format_exc()) + + return demos + + +async def add_user_to_demos(user_id: str) -> None: + try: + demos = await list_all_demos() + + for organization_id in {demo.organization_id for demo in demos}: + await add_user_to_organization( + organization_id, + user_id, + # is_demo=True, + ) + + for workspace_id in {demo.workspace_id for demo in demos}: + await add_user_to_workspace( + workspace_id, + user_id, + DEMO_ROLE, + # is_demo=True, + ) + + for project_id in {demo.project_id for demo in demos}: + await add_user_to_project( + project_id, + user_id, + DEMO_ROLE, + is_demo=True, + ) + + except Exception as exc: + raise exc # TODO: handle exceptions + + +async def create_accounts(payload: dict): + """Creates a user account and an associated organization based on the + provided payload. + + Arguments: + payload (dict): The required payload. It consists of; user_id and user_email + """ + + user_dict = { + **payload, + "username": payload["email"].split("@")[0], + } + + user = await db_manager.get_user_with_email(email=user_dict["email"]) + if user is None: + log.info("[scopes] Yey! A new user is signing up!") + + # Create user first + user = await create_new_user(user_dict) + + log.info("[scopes] User [%s] created", user.id) + + # Prepare payload to create organization + create_org_payload = CreateOrganization( + name=user_dict["username"], + description="My Default Organization", + owner=str(user.id), + type="default", + ) + + # Create the user's default organization and workspace + organization = await create_organization( + payload=create_org_payload, + user=user, + ) + + log.info("[scopes] Organization [%s] created", organization.id) + + # Add the user to demos + await add_user_to_demos(str(user.id)) + + # Start reverse trial + try: + await subscription_service.start_reverse_trial( + organization_id=str(organization.id), + organization_name=organization.name, + organization_email=user_dict["email"], + ) + + except Exception as exc: + raise exc # TODO: handle exceptions + # await subscription_service.start_free_plan( + # organization_id=str(organization.id), + # ) + + await check_entitlements( + organization_id=str(organization.id), + key=Gauge.USERS, + delta=1, + ) + + log.info("[scopes] User [%s] authenticated", user.id) + + if is_ee(): + try: + # Adds contact to loops for marketing emails. TODO: Add opt-in checkbox to supertokens + add_contact_to_loops(user_dict["email"]) # type: ignore + except ConnectionError as ex: + log.warn("Error adding contact to loops %s", ex) diff --git a/api/ee/src/services/converters.py b/api/ee/src/services/converters.py new file mode 100644 index 0000000000..5b120899fc --- /dev/null +++ b/api/ee/src/services/converters.py @@ -0,0 +1,321 @@ +import uuid +from typing import List, Dict, Any +from datetime import datetime, timezone + +from oss.src.services import db_manager +from oss.src.models.api.evaluation_model import ( + CorrectAnswer, + Evaluation, + HumanEvaluation, + EvaluationScenario, + SimpleEvaluationOutput, + EvaluationScenarioInput, + HumanEvaluationScenario, + EvaluationScenarioOutput, +) +from ee.src.services import db_manager_ee +from ee.src.models.api.workspace_models import ( + WorkspaceRole, + WorkspaceResponse, +) +from ee.src.models.shared_models import Permission +from ee.src.models.db_models import ( + EvaluationDB, + HumanEvaluationDB, + EvaluationScenarioDB, + HumanEvaluationScenarioDB, +) +from oss.src.models.db_models import WorkspaceDB + + +async def get_workspace_in_format( + workspace: WorkspaceDB, +) -> WorkspaceResponse: + """Converts the workspace object to the WorkspaceResponse model. + + Arguments: + workspace (WorkspaceDB): The workspace object + project_id (str): The project ID + + Returns: + WorkspaceResponse: The workspace object in the WorkspaceResponse model + """ + + members = [] + + project = await db_manager_ee.get_project_by_workspace( + workspace_id=str(workspace.id) + ) + project_members = await db_manager_ee.get_project_members( + project_id=str(project.id) + ) + invitations = await db_manager_ee.get_project_invitations( + project_id=str(project.id), invitation_used=False + ) + + if len(invitations) > 0: + for invitation in invitations: + if not invitation.used and str(invitation.project_id) == str(project.id): + user = await db_manager.get_user_with_email(invitation.email) + member_dict = { + "user": { + "id": str(user.id) if user else invitation.email, + "email": user.email if user else invitation.email, + "username": ( + user.username if user else invitation.email.split("@")[0] + ), + "status": ( + "pending" + if invitation.expiration_date > datetime.now(timezone.utc) + else "expired" + ), + "created_at": ( + str(user.created_at) + if user + else ( + str(invitation.created_at) + if str(invitation.created_at) + else None + ) + ), + }, + "roles": [ + { + "role_name": invitation.role, + "role_description": WorkspaceRole.get_description( + invitation.role + ), + } + ], + } + members.append(member_dict) + + for project_member in project_members: + member_role = project_member.role + member_dict = { + "user": { + "id": str(project_member.user.id), + "email": project_member.user.email, + "username": project_member.user.username, + "status": "member", + "created_at": str(project_member.user.created_at), + }, + "roles": ( + [ + { + "role_name": member_role, + "role_description": WorkspaceRole.get_description(member_role), + "permissions": Permission.default_permissions(member_role), + } + ] + if member_role + else [] + ), + } + members.append(member_dict) + + workspace_response = WorkspaceResponse( + id=str(workspace.id), + name=workspace.name, + description=workspace.description, + type=workspace.type, + members=members, + organization=str(workspace.organization_id), + created_at=str(workspace.created_at), + updated_at=str(workspace.updated_at), + ) + return workspace_response + + +async def get_all_workspace_permissions() -> List[Permission]: + """ + Retrieve all workspace permissions. + + Returns: + List[Permission]: A list of all workspace permissions in the DB. + """ + workspace_permissions = list(Permission) + return workspace_permissions + + +def get_all_workspace_permissions_by_role(role_name: str) -> Dict[str, List[Any]]: + """ + Retrieve all workspace permissions. + + Returns: + List[Permission]: A list of all workspace permissions in the DB. + """ + workspace_permissions = Permission.default_permissions( + getattr(WorkspaceRole, role_name.upper()) + ) + return workspace_permissions + + +async def human_evaluation_db_to_simple_evaluation_output( + human_evaluation_db: HumanEvaluationDB, +) -> SimpleEvaluationOutput: + evaluation_variants = await db_manager_ee.fetch_human_evaluation_variants( + human_evaluation_id=str(human_evaluation_db.id) + ) + return SimpleEvaluationOutput( + id=str(human_evaluation_db.id), + app_id=str(human_evaluation_db.app_id), + project_id=str(human_evaluation_db.project_id), + status=human_evaluation_db.status, # type: ignore + evaluation_type=human_evaluation_db.evaluation_type, # type: ignore + variant_ids=[ + str(evaluation_variant.variant_id) + for evaluation_variant in evaluation_variants + ], + ) + + +async def evaluation_db_to_pydantic( + evaluation_db: EvaluationDB, +) -> Evaluation: + variant_name = ( + evaluation_db.variant.variant_name + if evaluation_db.variant.variant_name + else str(evaluation_db.variant_id) + ) + aggregated_results = aggregated_result_of_evaluation_to_pydantic( + evaluation_db.aggregated_results + ) + + return Evaluation( + id=str(evaluation_db.id), + app_id=str(evaluation_db.app_id), + project_id=str(evaluation_db.project_id), + status=evaluation_db.status, + variant_ids=[str(evaluation_db.variant_id)], + variant_revision_ids=[str(evaluation_db.variant_revision_id)], + revisions=[str(evaluation_db.variant_revision.revision)], + variant_names=[variant_name], + testset_id=str(evaluation_db.testset_id), + testset_name=evaluation_db.testset.name, + aggregated_results=aggregated_results, + created_at=str(evaluation_db.created_at), + updated_at=str(evaluation_db.updated_at), + average_cost=evaluation_db.average_cost, + total_cost=evaluation_db.total_cost, + average_latency=evaluation_db.average_latency, + ) + + +async def human_evaluation_db_to_pydantic( + evaluation_db: HumanEvaluationDB, +) -> HumanEvaluation: + evaluation_variants = await db_manager_ee.fetch_human_evaluation_variants( + human_evaluation_id=str(evaluation_db.id) # type: ignore + ) + + revisions = [] + variants_ids = [] + variants_names = [] + variants_revision_ids = [] + for evaluation_variant in evaluation_variants: + variant_name = ( + evaluation_variant.variant.variant_name + if isinstance(evaluation_variant.variant_id, uuid.UUID) + else str(evaluation_variant.variant_id) + ) + variants_names.append(str(variant_name)) + variants_ids.append(str(evaluation_variant.variant_id)) + variant_revision = ( + str(evaluation_variant.variant_revision.revision) + if isinstance(evaluation_variant.variant_revision_id, uuid.UUID) + else " None" + ) + revisions.append(variant_revision) + variants_revision_ids.append(str(evaluation_variant.variant_revision_id)) + + return HumanEvaluation( + id=str(evaluation_db.id), + app_id=str(evaluation_db.app_id), + project_id=str(evaluation_db.project_id), + status=evaluation_db.status, # type: ignore + evaluation_type=evaluation_db.evaluation_type, # type: ignore + variant_ids=variants_ids, + variant_names=variants_names, + testset_id=str(evaluation_db.testset_id), + testset_name=evaluation_db.testset.name, + variants_revision_ids=variants_revision_ids, + revisions=revisions, + created_at=str(evaluation_db.created_at), # type: ignore + updated_at=str(evaluation_db.updated_at), # type: ignore + ) + + +def human_evaluation_scenario_db_to_pydantic( + evaluation_scenario_db: HumanEvaluationScenarioDB, evaluation_id: str +) -> HumanEvaluationScenario: + return HumanEvaluationScenario( + id=str(evaluation_scenario_db.id), + evaluation_id=evaluation_id, + inputs=evaluation_scenario_db.inputs, # type: ignore + outputs=evaluation_scenario_db.outputs, # type: ignore + vote=evaluation_scenario_db.vote, # type: ignore + score=evaluation_scenario_db.score, # type: ignore + correct_answer=evaluation_scenario_db.correct_answer, # type: ignore + is_pinned=evaluation_scenario_db.is_pinned or False, # type: ignore + note=evaluation_scenario_db.note or "", # type: ignore + ) + + +def aggregated_result_of_evaluation_to_pydantic( + evaluation_aggregated_results: List, +) -> List[dict]: + transformed_results = [] + for aggregated_result in evaluation_aggregated_results: + evaluator_config_dict = ( + { + "id": str(aggregated_result.evaluator_config.id), + "name": aggregated_result.evaluator_config.name, + "evaluator_key": aggregated_result.evaluator_config.evaluator_key, + "settings_values": aggregated_result.evaluator_config.settings_values, + "created_at": str(aggregated_result.evaluator_config.created_at), + "updated_at": str(aggregated_result.evaluator_config.updated_at), + } + if isinstance(aggregated_result.evaluator_config_id, uuid.UUID) + else None + ) + transformed_results.append( + { + "evaluator_config": ( + {} if evaluator_config_dict is None else evaluator_config_dict + ), + "result": aggregated_result.result, + } + ) + return transformed_results + + +async def evaluation_scenario_db_to_pydantic( + evaluation_scenario_db: EvaluationScenarioDB, evaluation_id: str +) -> EvaluationScenario: + scenario_results = [ + { + "evaluator_config": str(scenario_result.evaluator_config_id), + "result": scenario_result.result, + } + for scenario_result in evaluation_scenario_db.results + ] + return EvaluationScenario( + id=str(evaluation_scenario_db.id), + evaluation_id=evaluation_id, + inputs=[ + EvaluationScenarioInput(**scenario_input) # type: ignore + for scenario_input in evaluation_scenario_db.inputs + ], + outputs=[ + EvaluationScenarioOutput(**scenario_output) # type: ignore + for scenario_output in evaluation_scenario_db.outputs + ], + correct_answers=[ + CorrectAnswer(**correct_answer) # type: ignore + for correct_answer in evaluation_scenario_db.correct_answers + ], + is_pinned=evaluation_scenario_db.is_pinned or False, # type: ignore + note=evaluation_scenario_db.note or "", # type: ignore + results=scenario_results, # type: ignore + ) diff --git a/api/ee/src/services/db_manager.py b/api/ee/src/services/db_manager.py new file mode 100644 index 0000000000..1091c4f736 --- /dev/null +++ b/api/ee/src/services/db_manager.py @@ -0,0 +1,35 @@ +import uuid + +from oss.src.dbs.postgres.shared.engine import engine +from ee.src.models.db_models import DeploymentDB_ as DeploymentDB + + +async def create_deployment( + app_id: str, + project_id: str, + uri: str, +) -> DeploymentDB: + """Create a new deployment. + Args: + app_id (str): The app variant to create the deployment for. + project_id (str): The project variant to create the deployment for. + uri (str): The URI of the service. + Returns: + DeploymentDB: The created deployment. + """ + + async with engine.core_session() as session: + try: + deployment = DeploymentDB( + app_id=uuid.UUID(app_id), + project_id=uuid.UUID(project_id), + uri=uri, + ) + + session.add(deployment) + await session.commit() + await session.refresh(deployment) + + return deployment + except Exception as e: + raise Exception(f"Error while creating deployment: {e}") diff --git a/api/ee/src/services/db_manager_ee.py b/api/ee/src/services/db_manager_ee.py new file mode 100644 index 0000000000..c0076afac3 --- /dev/null +++ b/api/ee/src/services/db_manager_ee.py @@ -0,0 +1,2129 @@ +import uuid +from typing import List, Dict, Union, Any, NoReturn, Optional, Tuple + +import sendgrid +from fastapi import HTTPException +from sendgrid.helpers.mail import Mail + +from sqlalchemy import func, asc +from sqlalchemy.future import select +from sqlalchemy.ext.asyncio import AsyncSession +from sqlalchemy.orm import joinedload, load_only, aliased +from sqlalchemy.exc import NoResultFound, MultipleResultsFound + +from oss.src.utils.logging import get_module_logger +from oss.src.utils.common import is_ee + +from oss.src.dbs.postgres.shared.engine import engine +from oss.src.services import db_manager, evaluator_manager +from ee.src.models.api.workspace_models import ( + UserRole, + UpdateWorkspace, + CreateWorkspace, + WorkspaceResponse, +) +from ee.src.models.api.organization_models import ( + Organization, + CreateOrganization, + OrganizationUpdate, +) +from ee.src.models.shared_models import WorkspaceRole +from ee.src.models.db_models import ( + ProjectDB, + WorkspaceDB, + EvaluationDB, + OrganizationDB, + ProjectMemberDB, + WorkspaceMemberDB, + HumanEvaluationDB, + OrganizationMemberDB, + EvaluationScenarioDB, + HumanEvaluationScenarioDB, + HumanEvaluationVariantDB, + EvaluationScenarioResultDB, + EvaluationEvaluatorConfigDB, + EvaluationAggregatedResultDB, +) +from oss.src.models.db_models import ( + AppVariantDB, + UserDB, + AppDB, + TestSetDB, + InvitationDB, + EvaluatorConfigDB, + AppVariantRevisionsDB, +) +from oss.src.models.shared_models import ( + Result, + CorrectAnswer, + AggregatedResult, + EvaluationScenarioResult, + EvaluationScenarioInput, + EvaluationScenarioOutput, + HumanEvaluationScenarioInput, +) +from ee.src.services.converters import get_workspace_in_format +from ee.src.services.selectors import get_org_default_workspace + +from oss.src.utils.env import env + + +# Initialize sendgrid api client +sg = sendgrid.SendGridAPIClient(api_key=env.SENDGRID_API_KEY) + +log = get_module_logger(__name__) + + +async def get_organization(organization_id: str) -> OrganizationDB: + """ + Fetches an organization by its ID. + + Args: + organization_id (str): The ID of the organization to fetch. + + Returns: + OrganizationDB: The fetched organization. + """ + + async with engine.core_session() as session: + result = await session.execute( + select(OrganizationDB).filter_by(id=uuid.UUID(organization_id)) + ) + organization = result.scalars().first() + return organization + + +async def get_organizations_by_list_ids(organization_ids: List) -> List[OrganizationDB]: + """ + Retrieve organizations from the database by their IDs. + + Args: + organization_ids (List): A list of organization IDs to retrieve. + + Returns: + List: A list of dictionaries representing the retrieved organizations. + """ + + async with engine.core_session() as session: + organization_uuids = [uuid.UUID(org_id) for org_id in organization_ids] + query = select(OrganizationDB).where(OrganizationDB.id.in_(organization_uuids)) + result = await session.execute(query) + organizations = result.scalars().all() + return organizations + + +async def get_default_workspace_id(user_id: str) -> str: + """ + Retrieve the default workspace ID for a user. + + Args: + user_id (str): The user id. + + Returns: + str: The default workspace ID. + """ + + async with engine.core_session() as session: + result = await session.execute( + select(WorkspaceMemberDB) + .filter_by(user_id=uuid.UUID(user_id), role=WorkspaceRole.OWNER) + .options(load_only(WorkspaceMemberDB.workspace_id)) # type: ignore + ) + member_in_workspace = result.scalars().first() + return str(member_in_workspace.workspace_id) + + +async def get_organization_workspaces(organization_id: str): + """ + Retries workspaces belonging to an organization. + + Args: + organization_id (str): The ID of the organization + """ + + async with engine.core_session() as session: + result = await session.execute( + select(WorkspaceDB) + .filter_by(organization_id=uuid.UUID(organization_id)) + .options(load_only(WorkspaceDB.organization_id)) # type: ignore + ) + workspaces = result.scalars().all() + return workspaces + + +async def get_workspace_administrators(workspace: WorkspaceDB) -> List[UserDB]: + """ + Retrieve the administrators of a workspace. + + Args: + workspace (WorkspaceDB): The workspace to retrieve the administrators for. + + Returns: + List[UserDB]: A list of UserDB objects representing the administrators of the workspace. + """ + + administrators = [] + for member in workspace.members: + if workspace.has_role( + member.user_id, WorkspaceRole.WORKSPACE_ADMIN + ) or workspace.has_role(member.user_id, WorkspaceRole.OWNER): + user = await db_manager.get_user_with_id(member.user_id) + administrators.append(user) + return administrators + + +async def create_project( + project_name: str, workspace_id: str, organization_id: str, session: AsyncSession +) -> WorkspaceDB: + """ + Create a new project. + + Args: + project_name (str): The name of the project. + workspace_id (str): The ID of the workspace. + organization_id (str): The ID of the organization. + session (AsyncSession): The database session. + + Returns: + WorkspaceDB: The created project. + """ + + project_db = ProjectDB( + project_name=project_name, + is_default=True, + organization_id=uuid.UUID(organization_id), + workspace_id=uuid.UUID(workspace_id), + ) + + session.add(project_db) + + log.info( + "[scopes] project created", + organization_id=organization_id, + workspace_id=workspace_id, + project_id=project_db.id, + ) + + await session.commit() + + return project_db + + +async def create_default_project( + organization_id: str, workspace_id: str, session: AsyncSession +) -> WorkspaceDB: + """ + Create a default project for an organization. + + Args: + organization_id (str): The ID of the organization. + workspace_id (str): The ID of the workspace. + session (AsyncSession): The database session. + + Returns: + WorkspaceDB: The created default project. + """ + + project_db = await create_project( + "Default", + workspace_id=workspace_id, + organization_id=organization_id, + session=session, + ) + return project_db + + +async def get_default_workspace_id_from_organization( + organization_id: str, +) -> Union[str, NoReturn]: + """ + Get the default (first) workspace ID belonging to a user from a organization. + + Args: + organization_id (str): The ID of the organization. + + Returns: + str: The default (first) workspace ID. + """ + + async with engine.core_session() as session: + workspace_query = await session.execute( + select(WorkspaceDB) + .where( + WorkspaceDB.organization_id == uuid.UUID(organization_id), + ) + .options(load_only(WorkspaceDB.id)) + ) + workspace = workspace_query.scalars().first() + if workspace is None: + raise NoResultFound( + f"No default workspace for the provided organization_id {organization_id} found" + ) + return str(workspace.id) + + +async def get_project_by_workspace(workspace_id: str) -> ProjectDB: + """Get the project from database using the organization id and workspace id. + + Args: + workspace_id (str): The ID of the workspace + + Returns: + ProjectDB: The retrieved project + """ + + assert workspace_id is not None, "Workspace ID is required to retrieve project" + async with engine.core_session() as session: + project_query = await session.execute( + select(ProjectDB).where( + ProjectDB.workspace_id == uuid.UUID(workspace_id), + ) + ) + project = project_query.scalars().first() + if project is None: + raise NoResultFound(f"No project with workspace IDs ({workspace_id}) found") + return project + + +async def create_project_member( + user_id: str, project_id: str, role: str, session: AsyncSession +) -> None: + """ + Create a new project member. + + Args: + user_id (str): The ID of the user. + project_id (str): The ID of the project. + role (str): The role of the user in the workspace. + session (AsyncSession): The database session. + """ + + project = await db_manager.fetch_project_by_id( + project_id=project_id, + ) + + if not project: + raise Exception(f"No project found with ID {project_id}") + + project_member = ProjectMemberDB( + user_id=uuid.UUID(user_id), + project_id=uuid.UUID(project_id), + role=role, + ) + + session.add(project_member) + + log.info( + "[scopes] project membership created", + organization_id=project.organization_id, + workspace_id=project.workspace_id, + project_id=project_id, + user_id=user_id, + membership_id=project_member.id, + ) + + await session.commit() + + +async def fetch_project_memberships_by_user_id( + user_id: str, +) -> List[ProjectMemberDB]: + async with engine.core_session() as session: + result = await session.execute( + select(ProjectMemberDB) + .filter_by(user_id=uuid.UUID(user_id)) + .options( + joinedload(ProjectMemberDB.project).joinedload(ProjectDB.workspace), + joinedload(ProjectMemberDB.project).joinedload(ProjectDB.organization), + ) + ) + project_memberships = result.scalars().all() + + return project_memberships + + +async def create_workspace_db_object( + session: AsyncSession, + payload: CreateWorkspace, + organization: OrganizationDB, + user: UserDB, + return_wrk_prj: bool = False, +) -> WorkspaceDB: + """Create a new workspace. + + Args: + payload (Workspace): The workspace payload. + organization (OrganizationDB): The organization that the workspace belongs to. + user (UserDB): The user that the workspace belongs to. + + Returns: + Workspace: The created workspace. + """ + + workspace = WorkspaceDB( + name=payload.name, + type=payload.type if payload.type else "", + description=payload.description if payload.description else "", + organization_id=organization.id, + ) + + session.add(workspace) + + log.info( + "[scopes] workspace created", + organization_id=organization.id, + workspace_id=workspace.id, + ) + + await session.commit() + + # add user as a member to the workspace with the owner role + workspace_member = WorkspaceMemberDB( + user_id=user.id, + workspace_id=workspace.id, + role="owner", + ) + session.add(workspace_member) + + log.info( + "[scopes] workspace membership created", + organization_id=workspace.organization_id, + workspace_id=workspace.id, + user_id=user.id, + membership_id=workspace_member.id, + ) + + await session.commit() + + await session.refresh(workspace, attribute_names=["organization"]) + + project_db = await create_default_project( + organization_id=str(organization.id), + workspace_id=str(workspace.id), + session=session, + ) + + # add user as a member to the project member with the owner role + await create_project_member( + user_id=str(user.id), + project_id=str(project_db.id), + role=workspace_member.role, + session=session, + ) + + # add default testset and evaluators + await db_manager.add_testset_to_app_variant( + template_name="completion", # type: ignore + app_name="completion", # type: ignore + project_id=str(project_db.id), + ) + await evaluator_manager.create_ready_to_use_evaluators( + project_id=str(project_db.id) + ) + + if return_wrk_prj: + return workspace, project_db + + return workspace + + +async def create_workspace( + payload: CreateWorkspace, organization_id: str, user_uid: str +) -> WorkspaceResponse: + """ + Create a new workspace. + + Args: + payload (CreateWorkspace): The workspace payload. + organization_id (str): The organization id. + user_uid (str): The user uid. + + Returns: + Workspace: The created workspace. + + """ + try: + user = await db_manager.get_user(user_uid) + organization = await get_organization(organization_id) + + async with engine.core_session() as session: + user_result = await session.execute(select(UserDB).filter_by(uid=user_uid)) + user = user_result.scalars().first() + + organization_result = await session.execute( + select(OrganizationDB).filter_by(id=uuid.UUID(organization_id)) + ) + organization = organization_result.scalars().first() + + # create workspace + workspace_db = await create_workspace_db_object( + session, payload, organization, user + ) + + return await get_workspace_in_format(workspace_db) + except Exception as e: + raise e + + +async def update_workspace( + payload: UpdateWorkspace, workspace: WorkspaceDB +) -> WorkspaceResponse: + """ + Update a workspace's details. + + Args: + workspace (WorkspaceDB): The workspace to update. + payload (UpdateWorkspace): The data to update the workspace with. + """ + + async with engine.core_session() as session: + result = await session.execute(select(WorkspaceDB).filter_by(id=workspace.id)) + workspace = result.scalars().first() + + if not workspace: + raise NoResultFound(f"Workspace with id {str(workspace.id)} not found") + + for key, value in payload.dict(exclude_unset=True).items(): + if hasattr(workspace, key): + setattr(workspace, key, value) + + await session.commit() + await session.refresh(workspace) + + return await get_workspace_in_format(workspace) + + +async def check_user_in_workspace_with_email(email: str, workspace_id: str) -> bool: + """ + Check if a user belongs to a workspace. + + Args: + email (str): The email of the user to check. + workspace_id (str): The workspace to check. + + Raises: + Exception: If there is an error checking if the user belongs to the workspace. + """ + + async with engine.core_session() as session: + result = await session.execute( + select(WorkspaceMemberDB) + .join(UserDB, UserDB.id == WorkspaceMemberDB.user_id) + .where( + UserDB.email == email, + WorkspaceMemberDB.workspace_id == uuid.UUID(workspace_id), + ) + ) + workspace_member = result.scalars().first() + return False if workspace_member is None else True + + +async def update_user_roles( + workspace_id: str, + payload: UserRole, + delete: bool = False, +) -> bool: + """ + Update a user's roles in a workspace. + + Args: + workspace_id (str): The ID of the workspace. + payload (UserRole): The payload containing the user email and role to update. + delete (bool): Whether to delete the user's role or not. + + Returns: + bool: True if the user's roles were successfully updated, False otherwise. + + Raises: + Exception: If there is an error updating the user's roles. + """ + + user = await db_manager.get_user_with_email(payload.email) + project_id = await db_manager.get_default_project_id_from_workspace( + workspace_id=workspace_id + ) + + async with engine.core_session() as session: + # Ensure that an admin can not remove the owner of the workspace/project + project_owner_result = await session.execute( + select(ProjectMemberDB) + .filter_by(project_id=uuid.UUID(project_id), role="owner") + .options( + load_only( + ProjectMemberDB.user_id, # type: ignore + ProjectMemberDB.role, # type: ignore + ) + ) + ) + project_owner = project_owner_result.scalars().first() + if user.id == project_owner.user_id and project_owner.role == "owner": + raise HTTPException( + 403, + { + "message": "You do not have permission to perform this action. Please contact your Organization Owner" + }, + ) + + project_member_result = await session.execute( + select(ProjectMemberDB).filter_by( + project_id=uuid.UUID(project_id), user_id=user.id + ) + ) + project_member = project_member_result.scalars().first() + if not project_member: + raise NoResultFound( + f"User with id {str(user.id)} is not part of the workspace member." + ) + + workspace_member_result = await session.execute( + select(WorkspaceMemberDB).filter_by( + workspace_id=uuid.UUID(workspace_id), user_id=user.id + ) + ) + workspace_member = workspace_member_result.scalars().first() + if not workspace_member: + raise NoResultFound( + f"User with id {str(user.id)} is not part of the workspace member." + ) + + if not delete: + # Update the member's role + project_member.role = payload.role + workspace_member.role = payload.role + + await session.commit() + await session.refresh(project_member) + return True + + +async def add_user_to_workspace_and_org( + organization: OrganizationDB, + workspace: WorkspaceDB, + user: UserDB, + project_id: str, + role: str, +) -> bool: + async with engine.core_session() as session: + # create joined organization for user + user_organization = OrganizationMemberDB( + user_id=user.id, organization_id=organization.id + ) + session.add(user_organization) + + log.info( + "[scopes] organization membership created", + organization_id=organization.id, + user_id=user.id, + membership_id=user_organization.id, + ) + + # add user to workspace + workspace_member = WorkspaceMemberDB( + user_id=user.id, + workspace_id=workspace.id, + role=role, + ) + + session.add(workspace_member) + + log.info( + "[scopes] workspace membership created", + organization_id=organization.id, + workspace_id=workspace.id, + user_id=user.id, + membership_id=workspace_member.id, + ) + + # add user to project + await create_project_member( + user_id=str(user.id), project_id=project_id, role=role, session=session + ) + + return True + + +async def remove_user_from_workspace( + workspace_id: str, + email: str, +) -> WorkspaceResponse: + """ + Remove a user from a workspace. + + Args: + workspace_id (str): The ID of the workspace. + payload (UserRole): The payload containing the user email and role to remove. + + Returns: + workspace (WorkspaceResponse): The updated workspace. + + Raises: + HTTPException -- 403, from fastapi import Request + """ + + user = await db_manager.get_user_with_email(email) + project_id = await db_manager.get_default_project_id_from_workspace( + workspace_id=workspace_id + ) + project = await db_manager.get_project_by_id(project_id=project_id) + + async with engine.core_session() as session: + if ( + not user + ): # User is an invited user who has not yet created an account and therefore does not have a user object + pass + else: + # Ensure that a user can not remove the owner of the workspace + workspace_owner_result = await session.execute( + select(WorkspaceMemberDB) + .filter_by( + workspace_id=project.workspace_id, user_id=user.id, role="owner" + ) + .options( + load_only( + WorkspaceMemberDB.user_id, # type: ignore + WorkspaceMemberDB.role, # type: ignore + ) + ) + ) + workspace_owner = workspace_owner_result.scalars().first() + if (workspace_owner is not None and user is not None) and ( + user.id == workspace_owner.user_id and workspace_owner.role == "owner" + ): + raise HTTPException( + status_code=403, + detail={ + "message": "You do not have permission to perform this action. Please contact your Organization Owner" + }, + ) + + # remove user from workspace + workspace_member_result = await session.execute( + select(WorkspaceMemberDB).filter( + WorkspaceMemberDB.workspace_id == project.workspace_id, + WorkspaceMemberDB.user_id == user.id, + WorkspaceMemberDB.role != "owner", + ) + ) + workspace_member = workspace_member_result.scalars().first() + if workspace_member: + await session.delete(workspace_member) + + log.info( + "[scopes] workspace membership deleted", + organization_id=project.organization_id, + workspace_id=workspace_id, + user_id=user.id, + membership_id=workspace_member.id, + ) + + # remove user from project + project_member_result = await session.execute( + select(ProjectMemberDB).filter( + ProjectMemberDB.project_id == project.id, + ProjectMemberDB.user_id == user.id, + ProjectMemberDB.role != "owner", + ) + ) + project_member = project_member_result.scalars().first() + if project_member: + await session.delete(project_member) + + log.info( + "[scopes] project membership deleted", + organization_id=project.organization_id, + workspace_id=project.workspace_id, + project_id=project.id, + user_id=user.id, + membership_id=project_member.id, + ) + + # remove user from organization + joined_org_result = await session.execute( + select(OrganizationMemberDB).filter_by( + user_id=user.id, organization_id=project.organization_id + ) + ) + member_joined_org = joined_org_result.scalars().first() + if member_joined_org: + await session.delete(member_joined_org) + + log.info( + "[scopes] organization membership deleted", + organization_id=project.organization_id, + user_id=user.id, + membership_id=member_joined_org.id, + ) + + await session.commit() + + # If there's an invitation for the provided email address, delete it + user_workspace_invitations_query = await session.execute( + select(InvitationDB) + .filter_by(project_id=project.id, email=email) + .options( + load_only( + InvitationDB.id, # type: ignore + InvitationDB.project_id, # type: ignore + ) + ) + ) + user_invitations = user_workspace_invitations_query.scalars().all() + for invitation in user_invitations: + await delete_invitation(str(invitation.id)) + + workspace_db = await db_manager.get_workspace(workspace_id=workspace_id) + return await get_workspace_in_format(workspace_db) + + +async def create_organization( + payload: CreateOrganization, + user: UserDB, + return_org_wrk: Optional[bool] = False, + return_org_wrk_prj: Optional[bool] = False, +) -> Union[ + OrganizationDB, + Tuple[OrganizationDB, WorkspaceDB], + Tuple[OrganizationDB, WorkspaceDB, ProjectDB], +]: + """Create a new organization. + + Args: + payload (Organization): The organization payload. + + Returns: + Organization: The created organization. + Optional[Workspace]: The created workspace if return_org_wrk is True. + + Raises: + Exception: If there is an error creating the organization. + """ + + async with engine.core_session() as session: + create_org_data = payload.model_dump(exclude_unset=True) + if "owner" not in create_org_data: + create_org_data["owner"] = str(user.id) + + # create organization + organization_db = OrganizationDB(**create_org_data) + session.add(organization_db) + + log.info( + "[scopes] organization created", + organization_id=organization_db.id, + ) + + await session.commit() + + # create joined organization for user + user_organization = OrganizationMemberDB( + user_id=user.id, organization_id=organization_db.id + ) + session.add(user_organization) + + log.info( + "[scopes] organization membership created", + organization_id=organization_db.id, + user_id=user.id, + membership_id=user_organization.id, + ) + + await session.commit() + + # construct workspace payload + workspace_payload = CreateWorkspace( + name=payload.name, + type=payload.type if payload.type else "", + description=( + "My Default Workspace" + if payload.type == "default" + else payload.description + if payload.description + else "" + ), + ) + + # create workspace + workspace, project = await create_workspace_db_object( + session, + workspace_payload, + organization_db, + user, + return_wrk_prj=True, + ) + + if return_org_wrk_prj: + return organization_db, workspace, project + + if return_org_wrk: + return organization_db, workspace + + return organization_db + + +async def update_organization( + organization_id: str, payload: OrganizationUpdate +) -> OrganizationDB: + """ + Update an organization's details. + + Args: + organization_id (str): The organization to update. + payload (OrganizationUpdate): The data to update the organization with. + + Returns: + Organization: The updated organization. + + Raises: + Exception: If there is an error updating the organization. + """ + + async with engine.core_session() as session: + result = await session.execute( + select(OrganizationDB).filter_by(id=uuid.UUID(organization_id)) + ) + organization = result.scalars().first() + + if not organization: + raise NoResultFound(f"Organization with id {organization_id} not found") + + for key, value in payload.model_dump(exclude_unset=True).items(): + if hasattr(organization, key): + setattr(organization, key, value) + + await session.commit() + await session.refresh(organization) + return organization + + +async def delete_invitation(invitation_id: str) -> bool: + """ + Delete an invitation from an organization. + + Args: + invitation (str): The invitation to delete. + + Returns: + bool: True if the invitation was successfully deleted, False otherwise. + """ + + async with engine.core_session() as session: + result = await session.execute( + select(InvitationDB).filter_by(id=uuid.UUID(invitation_id)) + ) + + try: + invitation = result.scalars().one_or_none() + except MultipleResultsFound as e: + log.error( + f"Critical error: Database returned two rows when retrieving invitation with ID {invitation_id} to delete from Invitations table. Error details: {str(e)}" + ) + raise HTTPException( + 500, + { + "message": f"Error occured while trying to delete invitation with ID {invitation_id} from Invitations table. Error details: {str(e)}" + }, + ) + + project = await session.execute( + select(ProjectDB).filter_by(id=invitation.project_id) + ) + project = project.scalars().one_or_none() + + if not project: + log.error(f"Project with ID {invitation.project_id} not found.") + raise Exception(f"No project found with ID {invitation.project_id}") + + await session.delete(invitation) + + log.info( + "[scopes] invitation deleted", + organization_id=project.organization_id, + workspace_id=project.workspace_id, + project_id=invitation.project_id, + user_id=invitation.user_id, + membership_id=invitation.id, + ) + + await session.commit() + + return True + + +async def mark_invitation_as_used( + project_id: str, user_id: str, invitation: InvitationDB +) -> bool: + """ + Mark an invitation as used. + + Args: + project_id (str): The ID of the project. + user_id (str): the ID of the user. + invitation (InvitationDB): The invitation to mark as used. + + Returns: + bool: True if the invitation was successfully marked as used, False otherwise. + + Raises: + HTTPException: If there is an error marking the invitation as used. + """ + + async with engine.core_session() as session: + result = await session.execute( + select(InvitationDB).filter_by( + project_id=uuid.UUID(project_id), token=invitation.token + ) + ) + organization_invitation = result.scalars().first() + if not organization_invitation: + return False + + organization_invitation.used = True + organization_invitation.user_id = uuid.UUID(user_id) + + await session.commit() + return True + + +async def get_org_details(organization: Organization) -> dict: + """ + Retrieve details of an organization. + + Args: + organization (Organization): The organization to retrieve details for. + project_id (str): The project_id to retrieve details for. + + Returns: + dict: A dictionary containing the organization's details. + """ + + default_workspace_db = await get_org_default_workspace(organization) + default_workspace = await get_workspace_details(default_workspace_db) + workspaces = await get_organization_workspaces(organization_id=str(organization.id)) + + sample_organization = { + "id": str(organization.id), + "name": organization.name, + "description": organization.description, + "type": organization.type, + "owner": organization.owner, + "workspaces": [str(workspace.id) for workspace in workspaces], + "default_workspace": default_workspace, + "is_paying": organization.is_paying if is_ee() else None, + } + return sample_organization + + +async def get_workspace_details(workspace: WorkspaceDB) -> WorkspaceResponse: + """ + Retrieve details of a workspace. + + Args: + workspace (Workspace): The workspace to retrieve details for. + project_id (str): The project_id to retrieve details for. + + Returns: + dict: A dictionary containing the workspace's details. + + Raises: + Exception: If there is an error retrieving the workspace details. + """ + + try: + workspace_response = await get_workspace_in_format(workspace) + return workspace_response + except Exception as e: + import traceback + + traceback.print_exc() + raise e + + +async def get_organization_invitations(organization_id: str): + """ + Gets the organization invitations. + + Args: + organization_id (str): The ID of the organization + """ + + async with engine.core_session() as session: + result = await session.execute( + select(InvitationDB).filter_by(organization_id=organization_id) + ) + invitations = result.scalars().all() + return invitations + + +async def get_project_invitations(project_id: str, **kwargs): + """ + Gets the project invitations. + + Args: + project_id (str): The ID of the project + """ + + async with engine.core_session() as session: + stmt = select(InvitationDB).filter( + InvitationDB.project_id == uuid.UUID(project_id) + ) + if kwargs.get("has_pending", False): + stmt = stmt.filter(InvitationDB.used == kwargs["invitation_used"]) + + result = await session.execute(stmt) + invitations = result.scalars().all() + return invitations + + +async def get_all_pending_invitations(email: str): + """ + Gets all pending invitations for a given email. + + Args: + email (str): The email address of the user. + """ + + async with engine.core_session() as session: + result = await session.execute( + select(InvitationDB).filter( + InvitationDB.email == email, + InvitationDB.used == False, + ) + ) + invitations = result.scalars().all() + return invitations + + +async def get_project_invitation( + project_id: str, token: str, email: str +) -> InvitationDB: + """Get project invitation by project ID, token and email. + + Args: + project_id (str): The ID of the project. + token (str): The invitation token. + email (str): The email address of the invited user. + + Returns: + InvitationDB: invitation object + """ + + async with engine.core_session() as session: + result = await session.execute( + select(InvitationDB).filter_by( + project_id=uuid.UUID(project_id), token=token, email=email + ) + ) + invitation = result.scalars().first() + return invitation + + +async def get_project_members(project_id: str): + """Gets the members of a project. + + Args: + project_id (str): The ID of the project + """ + + async with engine.core_session() as session: + members_query = await session.execute( + select(ProjectMemberDB) + .filter(ProjectMemberDB.project_id == uuid.UUID(project_id)) + .options(joinedload(ProjectMemberDB.user)) + ) + project_members = members_query.scalars().all() + return project_members + + +async def create_org_workspace_invitation( + workspace_role: str, + token: str, + email: str, + project_id: str, + expiration_date, +) -> InvitationDB: + """ + Create an organization invitation. + + Args: + - workspace_role (str): The role to assign the invited user in the project/workspace. + - token (str): The token for the invitation. + - email (str): The email address of the invited user. + - expiration_date: The expiration date of the invitation. + + Returns: + InvitationDB: The created invitation. + + """ + + user = await db_manager.get_user_with_email(email=email) + + user_id = None + if user: + user_id = user.id + + project = await db_manager.fetch_project_by_id( + project_id=project_id, + ) + + if not project: + raise Exception(f"No project found with ID {project_id}") + + async with engine.core_session() as session: + invitation = InvitationDB( + token=token, + email=email, + project_id=uuid.UUID(project_id), + expiration_date=expiration_date, + role=workspace_role, + used=False, + ) + + session.add(invitation) + + log.info( + "[scopes] invitation created", + organization_id=project.organization_id, + workspace_id=project.workspace_id, + project_id=project_id, + user_id=user_id, + invitation_id=invitation.id, + ) + + await session.commit() + + return invitation + + +async def get_all_workspace_roles() -> List[WorkspaceRole]: + """ + Retrieve all workspace roles. + + Returns: + List[WorkspaceRole]: A list of all workspace roles in the DB. + """ + workspace_roles = list(WorkspaceRole) + return workspace_roles + + +# async def get_project_id_from_db_entity( +# object_id: str, type: str, project_id: str +# ) -> dict: +# """ +# Get the project id of the object. + +# Args: +# object_id (str): The ID of the object. +# type (str): The type of the object. + +# Returns: +# dict: The project_id of the object. + +# Raises: +# ValueError: If the object type is unknown. +# Exception: If there is an error retrieving the project_id. +# """ +# try: +# if type == "app": +# app = await db_manager.fetch_app_by_id(object_id) +# project_id = app.project_id + +# elif type == "app_variant": +# app_variant = await db_manager.fetch_app_variant_by_id(object_id) +# project_id = app_variant.project_id + +# elif type == "base": +# base = await db_manager.fetch_base_by_id(object_id) +# project_id = base.project_id + +# elif type == "deployment": +# deployment = await db_manager.get_deployment_by_id(object_id) +# project_id = deployment.project_id + +# elif type == "testset": +# testset = await db_manager.fetch_testset_by_id(object_id) +# project_id = testset.project_id + +# elif type == "evaluation": +# evaluation = await db_manager.fetch_evaluation_by_id(object_id) +# project_id = evaluation.project_id + +# elif type == "evaluation_scenario": +# evaluation_scenario = await db_manager.fetch_evaluation_scenario_by_id( +# object_id +# ) +# project_id = evaluation_scenario.project_id + +# elif type == "evaluator_config": +# evaluator_config = await db_manager.fetch_evaluator_config(object_id) +# project_id = evaluator_config.project_id + +# elif type == "human_evaluation": +# human_evaluation = await db_manager.fetch_human_evaluation_by_id(object_id) +# project_id = human_evaluation.project_id + +# elif type == "human_evaluation_scenario": +# human_evaluation_scenario = ( +# await db_manager.fetch_human_evaluation_scenario_by_id(object_id) +# ) +# project_id = human_evaluation_scenario.project_id + +# elif type == "human_evaluation_scenario_by_evaluation_id": +# human_evaluation_scenario_by_evaluation = ( +# await db_manager.fetch_human_evaluation_scenario_by_evaluation_id( +# object_id +# ) +# ) +# project_id = human_evaluation_scenario_by_evaluation.project_id + +# else: +# raise ValueError(f"Unknown object type: {type}") + +# return str(project_id) + +# except Exception as e: +# raise e + + +async def add_user_to_organization( + organization_id: str, + user_id: str, + # is_demo: bool = False, +) -> None: + async with engine.core_session() as session: + organization_member = OrganizationMemberDB( + user_id=user_id, + organization_id=organization_id, + ) + + session.add(organization_member) + + log.info( + "[scopes] organization membership created", + organization_id=organization_id, + user_id=user_id, + membership_id=organization_member.id, + ) + + await session.commit() + + +async def add_user_to_workspace( + workspace_id: str, + user_id: str, + role: str, + # is_demo: bool = False, +) -> None: + async with engine.core_session() as session: + # fetch workspace by workspace_id (SQL) + stmt = select(WorkspaceDB).filter_by(id=workspace_id) + workspace = await session.execute(stmt) + workspace = workspace.scalars().first() + + if not workspace: + raise Exception(f"No workspace found with ID {workspace_id}") + + workspace_member = WorkspaceMemberDB( + user_id=user_id, + workspace_id=workspace_id, + role=role, + ) + + session.add(workspace_member) + + # TODO: add organization_id + log.info( + "[scopes] workspace membership created", + organization_id=workspace.organization_id, + workspace_id=workspace_id, + user_id=user_id, + membership_id=workspace_member.id, + ) + + await session.commit() + + +async def add_user_to_project( + project_id: str, + user_id: str, + role: str, + is_demo: bool = False, +) -> None: + project = await db_manager.fetch_project_by_id( + project_id=project_id, + ) + + if not project: + raise Exception(f"No project found with ID {project_id}") + + async with engine.core_session() as session: + project_member = ProjectMemberDB( + user_id=user_id, + project_id=project_id, + role=role, + is_demo=is_demo, + ) + + session.add(project_member) + + log.info( + "[scopes] project membership created", + organization_id=project.organization_id, + workspace_id=project.workspace_id, + project_id=project_id, + user_id=user_id, + membership_id=project_member.id, + ) + + await session.commit() + + +async def fetch_evaluation_status_by_id( + project_id: str, + evaluation_id: str, +) -> Optional[str]: + """Fetch only the status of an evaluation by its ID.""" + assert evaluation_id is not None, "evaluation_id cannot be None" + + async with engine.core_session() as session: + query = ( + select(EvaluationDB) + .filter_by(project_id=project_id, id=uuid.UUID(evaluation_id)) + .options(load_only(EvaluationDB.status)) + ) + + result = await session.execute(query) + evaluation = result.scalars().first() + return evaluation.status if evaluation else None + + +async def fetch_evaluation_by_id( + project_id: str, + evaluation_id: str, +) -> Optional[EvaluationDB]: + """Fetches a evaluation by its ID. + + Args: + evaluation_id (str): The ID of the evaluation to fetch. + + Returns: + EvaluationDB: The fetched evaluation, or None if no evaluation was found. + """ + + assert evaluation_id is not None, "evaluation_id cannot be None" + async with engine.core_session() as session: + base_query = select(EvaluationDB).filter_by( + project_id=project_id, + id=uuid.UUID(evaluation_id), + ) + query = base_query.options( + joinedload(EvaluationDB.testset.of_type(TestSetDB)).load_only(TestSetDB.id, TestSetDB.name), # type: ignore + ) + + result = await session.execute( + query.options( + joinedload(EvaluationDB.variant.of_type(AppVariantDB)).load_only(AppVariantDB.id, AppVariantDB.variant_name), # type: ignore + joinedload(EvaluationDB.variant_revision.of_type(AppVariantRevisionsDB)).load_only(AppVariantRevisionsDB.revision), # type: ignore + joinedload( + EvaluationDB.aggregated_results.of_type( + EvaluationAggregatedResultDB + ) + ).joinedload(EvaluationAggregatedResultDB.evaluator_config), + ) + ) + evaluation = result.unique().scalars().first() + return evaluation + + +async def list_human_evaluations(app_id: str, project_id: str): + """ + Fetches human evaluations belonging to an App. + + Args: + app_id (str): The application identifier + """ + + async with engine.core_session() as session: + base_query = ( + select(HumanEvaluationDB) + .filter_by(app_id=uuid.UUID(app_id), project_id=uuid.UUID(project_id)) + .filter(HumanEvaluationDB.testset_id.isnot(None)) + ) + query = base_query.options( + joinedload(HumanEvaluationDB.testset.of_type(TestSetDB)).load_only(TestSetDB.id, TestSetDB.name), # type: ignore + ) + + result = await session.execute(query) + human_evaluations = result.scalars().all() + return human_evaluations + + +async def create_human_evaluation( + app: AppDB, + status: str, + evaluation_type: str, + testset_id: str, + variants_ids: List[str], +): + """ + Creates a human evaluation. + + Args: + app (AppDB: The app object + status (str): The status of the evaluation + evaluation_type (str): The evaluation type + testset_id (str): The ID of the evaluation testset + variants_ids (List[str]): The IDs of the variants for the evaluation + """ + + async with engine.core_session() as session: + human_evaluation = HumanEvaluationDB( + app_id=app.id, + project_id=app.project_id, + status=status, + evaluation_type=evaluation_type, + testset_id=testset_id, + ) + + session.add(human_evaluation) + await session.commit() + await session.refresh(human_evaluation, attribute_names=["testset"]) + + # create variants for human evaluation + await create_human_evaluation_variants( + human_evaluation_id=str(human_evaluation.id), + variants_ids=variants_ids, + ) + return human_evaluation + + +async def fetch_human_evaluation_variants(human_evaluation_id: str): + """ + Fetches human evaluation variants. + + Args: + human_evaluation_id (str): The human evaluation ID + + Returns: + The human evaluation variants. + """ + + async with engine.core_session() as session: + base_query = select(HumanEvaluationVariantDB).filter_by( + human_evaluation_id=uuid.UUID(human_evaluation_id) + ) + query = base_query.options( + joinedload(HumanEvaluationVariantDB.variant.of_type(AppVariantDB)).load_only(AppVariantDB.id, AppVariantDB.variant_name), # type: ignore + joinedload(HumanEvaluationVariantDB.variant_revision.of_type(AppVariantRevisionsDB)).load_only(AppVariantRevisionsDB.id, AppVariantRevisionsDB.revision), # type: ignore + ) + + result = await session.execute(query) + evaluation_variants = result.scalars().all() + return evaluation_variants + + +async def create_human_evaluation_variants( + human_evaluation_id: str, variants_ids: List[str] +): + """ + Creates human evaluation variants. + + Args: + human_evaluation_id (str): The human evaluation identifier + variants_ids (List[str]): The variants identifiers + project_id (str): The project ID + """ + + variants_dict = {} + for variant_id in variants_ids: + variant = await db_manager.fetch_app_variant_by_id(app_variant_id=variant_id) + if variant: + variants_dict[variant_id] = variant + + variants_revisions_dict = {} + for variant_id, variant in variants_dict.items(): + variant_revision = await db_manager.fetch_app_variant_revision_by_variant( + app_variant_id=str(variant.id), project_id=str(variant.project_id), revision=variant.revision # type: ignore + ) + if variant_revision: + variants_revisions_dict[variant_id] = variant_revision + + if set(variants_dict.keys()) != set(variants_revisions_dict.keys()): + raise ValueError("Mismatch between variants and their revisions") + + async with engine.core_session() as session: + for variant_id in variants_ids: + variant = variants_dict[variant_id] + variant_revision = variants_revisions_dict[variant_id] + human_evaluation_variant = HumanEvaluationVariantDB( + human_evaluation_id=uuid.UUID(human_evaluation_id), + variant_id=variant.id, # type: ignore + variant_revision_id=variant_revision.id, # type: ignore + ) + session.add(human_evaluation_variant) + + await session.commit() + + +async def fetch_human_evaluation_by_id( + evaluation_id: str, +) -> Optional[HumanEvaluationDB]: + """ + Fetches a evaluation by its ID. + + Args: + evaluation_id (str): The ID of the evaluation to fetch. + + Returns: + EvaluationDB: The fetched evaluation, or None if no evaluation was found. + """ + + assert evaluation_id is not None, "evaluation_id cannot be None" + async with engine.core_session() as session: + base_query = select(HumanEvaluationDB).filter_by(id=uuid.UUID(evaluation_id)) + query = base_query.options( + joinedload(HumanEvaluationDB.testset.of_type(TestSetDB)).load_only(TestSetDB.id, TestSetDB.name), # type: ignore + ) + result = await session.execute(query) + evaluation = result.scalars().first() + return evaluation + + +async def update_human_evaluation(evaluation_id: str, values_to_update: dict): + """Updates human evaluation with the specified values. + + Args: + evaluation_id (str): The evaluation ID + values_to_update (dict): The values to update + + Exceptions: + NoResultFound: if human evaluation is not found + """ + + async with engine.core_session() as session: + result = await session.execute( + select(HumanEvaluationDB).filter_by(id=uuid.UUID(evaluation_id)) + ) + human_evaluation = result.scalars().first() + if not human_evaluation: + raise NoResultFound(f"Human evaluation with id {evaluation_id} not found") + + for key, value in values_to_update.items(): + if hasattr(human_evaluation, key): + setattr(human_evaluation, key, value) + + await session.commit() + await session.refresh(human_evaluation) + + +async def delete_human_evaluation(evaluation_id: str): + """Delete the evaluation by its ID. + + Args: + evaluation_id (str): The ID of the evaluation to delete. + """ + + assert evaluation_id is not None, "evaluation_id cannot be None" + async with engine.core_session() as session: + result = await session.execute( + select(HumanEvaluationDB).filter_by(id=uuid.UUID(evaluation_id)) + ) + evaluation = result.scalars().first() + if not evaluation: + raise NoResultFound(f"Human evaluation with id {evaluation_id} not found") + + await session.delete(evaluation) + await session.commit() + + +async def create_human_evaluation_scenario( + inputs: List[HumanEvaluationScenarioInput], + project_id: str, + evaluation_id: str, + evaluation_extend: Dict[str, Any], +): + """ + Creates a human evaluation scenario. + + Args: + inputs (List[HumanEvaluationScenarioInput]): The inputs. + evaluation_id (str): The evaluation identifier. + evaluation_extend (Dict[str, any]): An extended required payload for the evaluation scenario. Contains score, vote, and correct_answer. + """ + + async with engine.core_session() as session: + evaluation_scenario = HumanEvaluationScenarioDB( + **evaluation_extend, + project_id=uuid.UUID(project_id), + evaluation_id=uuid.UUID(evaluation_id), + inputs=[input.model_dump() for input in inputs], + outputs=[], + ) + + session.add(evaluation_scenario) + await session.commit() + + +async def update_human_evaluation_scenario( + evaluation_scenario_id: str, values_to_update: dict +): + """Updates human evaluation scenario with the specified values. + + Args: + evaluation_scenario_id (str): The evaluation scenario ID + values_to_update (dict): The values to update + + Exceptions: + NoResultFound: if human evaluation scenario is not found + """ + + async with engine.core_session() as session: + result = await session.execute( + select(HumanEvaluationScenarioDB).filter_by( + id=uuid.UUID(evaluation_scenario_id) + ) + ) + human_evaluation_scenario = result.scalars().first() + if not human_evaluation_scenario: + raise NoResultFound( + f"Human evaluation scenario with id {evaluation_scenario_id} not found" + ) + + for key, value in values_to_update.items(): + if hasattr(human_evaluation_scenario, key): + setattr(human_evaluation_scenario, key, value) + + await session.commit() + await session.refresh(human_evaluation_scenario) + + +async def fetch_human_evaluation_scenarios(evaluation_id: str): + """ + Fetches human evaluation scenarios. + + Args: + evaluation_id (str): The evaluation identifier + + Returns: + The evaluation scenarios. + """ + + async with engine.core_session() as session: + result = await session.execute( + select(HumanEvaluationScenarioDB) + .filter_by(evaluation_id=uuid.UUID(evaluation_id)) + .order_by(asc(HumanEvaluationScenarioDB.created_at)) + ) + evaluation_scenarios = result.scalars().all() + return evaluation_scenarios + + +async def fetch_evaluation_scenarios(evaluation_id: str, project_id: str): + """ + Fetches evaluation scenarios. + + Args: + evaluation_id (str): The evaluation identifier + project_id (str): The ID of the project + + Returns: + The evaluation scenarios. + """ + + async with engine.core_session() as session: + result = await session.execute( + select(EvaluationScenarioDB) + .filter_by( + evaluation_id=uuid.UUID(evaluation_id), project_id=uuid.UUID(project_id) + ) + .options(joinedload(EvaluationScenarioDB.results)) + ) + evaluation_scenarios = result.unique().scalars().all() + return evaluation_scenarios + + +async def fetch_evaluation_scenario_by_id( + evaluation_scenario_id: str, +) -> Optional[EvaluationScenarioDB]: + """Fetches and evaluation scenario by its ID. + + Args: + evaluation_scenario_id (str): The ID of the evaluation scenario to fetch. + + Returns: + EvaluationScenarioDB: The fetched evaluation scenario, or None if no evaluation scenario was found. + """ + + assert evaluation_scenario_id is not None, "evaluation_scenario_id cannot be None" + async with engine.core_session() as session: + result = await session.execute( + select(EvaluationScenarioDB).filter_by(id=uuid.UUID(evaluation_scenario_id)) + ) + evaluation_scenario = result.scalars().first() + return evaluation_scenario + + +async def fetch_human_evaluation_scenario_by_id( + evaluation_scenario_id: str, +) -> Optional[HumanEvaluationScenarioDB]: + """Fetches and evaluation scenario by its ID. + + Args: + evaluation_scenario_id (str): The ID of the evaluation scenario to fetch. + + Returns: + EvaluationScenarioDB: The fetched evaluation scenario, or None if no evaluation scenario was found. + """ + + assert evaluation_scenario_id is not None, "evaluation_scenario_id cannot be None" + async with engine.core_session() as session: + result = await session.execute( + select(HumanEvaluationScenarioDB).filter_by( + id=uuid.UUID(evaluation_scenario_id) + ) + ) + evaluation_scenario = result.scalars().first() + return evaluation_scenario + + +async def fetch_human_evaluation_scenario_by_evaluation_id( + evaluation_id: str, +) -> Optional[HumanEvaluationScenarioDB]: + """Fetches and evaluation scenario by its ID. + Args: + evaluation_id (str): The ID of the evaluation object to use in fetching the human evaluation. + Returns: + EvaluationScenarioDB: The fetched evaluation scenario, or None if no evaluation scenario was found. + """ + + evaluation = await fetch_human_evaluation_by_id(evaluation_id) + async with engine.core_session() as session: + result = await session.execute( + select(HumanEvaluationScenarioDB).filter_by( + evaluation_id=evaluation.id # type: ignore + ) + ) + human_eval_scenario = result.scalars().first() + return human_eval_scenario + + +async def create_new_evaluation( + app: AppDB, + project_id: str, + testset: TestSetDB, + status: Result, + variant: str, + variant_revision: str, +) -> EvaluationDB: + """Create a new evaluation scenario. + Returns: + EvaluationScenarioDB: The created evaluation scenario. + """ + + async with engine.core_session() as session: + evaluation = EvaluationDB( + app_id=app.id, + project_id=uuid.UUID(project_id), + testset_id=testset.id, + status=status.model_dump(), + variant_id=uuid.UUID(variant), + variant_revision_id=uuid.UUID(variant_revision), + ) + + session.add(evaluation) + await session.commit() + await session.refresh( + evaluation, + attribute_names=[ + "testset", + "variant", + "variant_revision", + "aggregated_results", + ], + ) + + return evaluation + + +async def list_evaluations(app_id: str, project_id: str): + """Retrieves evaluations of the specified app from the db. + + Args: + app_id (str): The ID of the app + project_id (str): The ID of the project + """ + + async with engine.core_session() as session: + base_query = select(EvaluationDB).filter_by( + app_id=uuid.UUID(app_id), project_id=uuid.UUID(project_id) + ) + query = base_query.options( + joinedload(EvaluationDB.testset.of_type(TestSetDB)).load_only(TestSetDB.id, TestSetDB.name), # type: ignore + ) + + result = await session.execute( + query.options( + joinedload(EvaluationDB.variant.of_type(AppVariantDB)).load_only(AppVariantDB.id, AppVariantDB.variant_name), # type: ignore + joinedload(EvaluationDB.variant_revision.of_type(AppVariantRevisionsDB)).load_only(AppVariantRevisionsDB.revision), # type: ignore + joinedload( + EvaluationDB.aggregated_results.of_type( + EvaluationAggregatedResultDB + ) + ).joinedload(EvaluationAggregatedResultDB.evaluator_config), + ) + ) + evaluations = result.unique().scalars().all() + return evaluations + + +async def fetch_evaluations_by_resource( + resource_type: str, project_id: str, resource_ids: List[str] +): + """ + Fetches an evaluations by resource. + + Args: + resource_type (str): The resource type + project_id (str): The ID of the project + resource_ids (List[str]): The resource identifiers + + Returns: + The evaluations by resource. + + Raises: + HTTPException:400 resource_type {type} is not supported + """ + + ids = list(map(uuid.UUID, resource_ids)) + + async with engine.core_session() as session: + if resource_type == "variant": + result_evaluations = await session.execute( + select(EvaluationDB) + .filter( + EvaluationDB.variant_id.in_(ids), + EvaluationDB.project_id == uuid.UUID(project_id), + ) + .options(load_only(EvaluationDB.id)) # type: ignore + ) + result_human_evaluations = await session.execute( + select(HumanEvaluationDB) + .join(HumanEvaluationVariantDB) + .filter( + HumanEvaluationVariantDB.variant_id.in_(ids), + HumanEvaluationDB.project_id == uuid.UUID(project_id), + ) + .options(load_only(HumanEvaluationDB.id)) # type: ignore + ) + res_evaluations = result_evaluations.scalars().all() + res_human_evaluations = result_human_evaluations.scalars().all() + return res_evaluations + res_human_evaluations + + elif resource_type == "testset": + result_evaluations = await session.execute( + select(EvaluationDB) + .filter( + EvaluationDB.testset_id.in_(ids), + EvaluationDB.project_id == uuid.UUID(project_id), + ) + .options(load_only(EvaluationDB.id)) # type: ignore + ) + result_human_evaluations = await session.execute( + select(HumanEvaluationDB) + .filter( + HumanEvaluationDB.testset_id.in_(ids), + HumanEvaluationDB.project_id + == uuid.UUID(project_id), # Fixed to match HumanEvaluationDB + ) + .options(load_only(HumanEvaluationDB.id)) # type: ignore + ) + res_evaluations = result_evaluations.scalars().all() + res_human_evaluations = result_human_evaluations.scalars().all() + return res_evaluations + res_human_evaluations + + elif resource_type == "evaluator_config": + query = ( + select(EvaluationDB) + .join(EvaluationDB.evaluator_configs) + .filter( + EvaluationEvaluatorConfigDB.evaluator_config_id.in_(ids), + EvaluationDB.project_id == uuid.UUID(project_id), + ) + ) + result = await session.execute(query) + res = result.scalars().all() + return res + + raise HTTPException( + status_code=400, + detail=f"resource_type {resource_type} is not supported", + ) + + +async def delete_evaluations(evaluation_ids: List[str]) -> None: + """Delete evaluations based on the ids provided from the db. + + Args: + evaluations_ids (list[str]): The IDs of the evaluation + """ + + async with engine.core_session() as session: + query = select(EvaluationDB).where(EvaluationDB.id.in_(evaluation_ids)) + result = await session.execute(query) + evaluations = result.scalars().all() + for evaluation in evaluations: + await session.delete(evaluation) + await session.commit() + + +async def create_new_evaluation_scenario( + project_id: str, + evaluation_id: str, + variant_id: str, + inputs: List[EvaluationScenarioInput], + outputs: List[EvaluationScenarioOutput], + correct_answers: Optional[List[CorrectAnswer]], + is_pinned: Optional[bool], + note: Optional[str], + results: List[EvaluationScenarioResult], +) -> EvaluationScenarioDB: + """Create a new evaluation scenario. + + Returns: + EvaluationScenarioDB: The created evaluation scenario. + """ + + async with engine.core_session() as session: + evaluation_scenario = EvaluationScenarioDB( + project_id=uuid.UUID(project_id), + evaluation_id=uuid.UUID(evaluation_id), + variant_id=uuid.UUID(variant_id), + inputs=[input.model_dump() for input in inputs], + outputs=[output.model_dump() for output in outputs], + correct_answers=( + [correct_answer.model_dump() for correct_answer in correct_answers] + if correct_answers is not None + else [] + ), + is_pinned=is_pinned, + note=note, + ) + + session.add(evaluation_scenario) + await session.commit() + await session.refresh(evaluation_scenario) + + # create evaluation scenario result + for result in results: + evaluation_scenario_result = EvaluationScenarioResultDB( + evaluation_scenario_id=evaluation_scenario.id, + evaluator_config_id=uuid.UUID(result.evaluator_config), + result=result.result.model_dump(), + ) + + session.add(evaluation_scenario_result) + + await session.commit() # ensures that scenario results insertion is committed + await session.refresh(evaluation_scenario) + + return evaluation_scenario + + +async def update_evaluation_with_aggregated_results( + evaluation_id: str, aggregated_results: List[AggregatedResult] +): + async with engine.core_session() as session: + for result in aggregated_results: + aggregated_result = EvaluationAggregatedResultDB( + evaluation_id=uuid.UUID(evaluation_id), + evaluator_config_id=uuid.UUID(result.evaluator_config), + result=result.result.model_dump(), + ) + session.add(aggregated_result) + + await session.commit() + + +async def fetch_eval_aggregated_results(evaluation_id: str): + """ + Fetches an evaluation aggregated results by evaluation identifier. + + Args: + evaluation_id (str): The evaluation identifier + + Returns: + The evaluation aggregated results by evaluation identifier. + """ + + async with engine.core_session() as session: + base_query = select(EvaluationAggregatedResultDB).filter_by( + evaluation_id=uuid.UUID(evaluation_id) + ) + query = base_query.options( + joinedload( + EvaluationAggregatedResultDB.evaluator_config.of_type(EvaluatorConfigDB) + ).load_only( + EvaluatorConfigDB.id, # type: ignore + EvaluatorConfigDB.name, # type: ignore + EvaluatorConfigDB.evaluator_key, # type: ignore + EvaluatorConfigDB.settings_values, # type: ignore + EvaluatorConfigDB.created_at, # type: ignore + EvaluatorConfigDB.updated_at, # type: ignore + ) + ) + + result = await session.execute(query) + aggregated_results = result.scalars().all() + return aggregated_results + + +async def update_evaluation( + evaluation_id: str, project_id: str, updates: Dict[str, Any] +) -> EvaluationDB: + """ + Update an evaluator configuration in the database with the provided id. + + Arguments: + evaluation_id (str): The ID of the evaluator configuration to be updated. + project_id (str): The ID of the project. + updates (Dict[str, Any]): The updates to apply to the evaluator configuration. + + Returns: + EvaluatorConfigDB: The updated evaluator configuration object. + """ + + async with engine.core_session() as session: + result = await session.execute( + select(EvaluationDB).filter_by( + id=uuid.UUID(evaluation_id), project_id=uuid.UUID(project_id) + ) + ) + evaluation = result.scalars().first() + for key, value in updates.items(): + if hasattr(evaluation, key): + setattr(evaluation, key, value) + + await session.commit() + await session.refresh(evaluation) + + return evaluation + + +async def check_if_evaluation_contains_failed_evaluation_scenarios( + evaluation_id: str, +) -> bool: + async with engine.core_session() as session: + EvaluationResultAlias = aliased(EvaluationScenarioResultDB) + query = ( + select(func.count(EvaluationScenarioDB.id)) + .join(EvaluationResultAlias, EvaluationScenarioDB.results) + .where( + EvaluationScenarioDB.evaluation_id == uuid.UUID(evaluation_id), + EvaluationResultAlias.result["type"].astext == "error", + ) + ) + + result = await session.execute(query) + count = result.scalar() + if not count: + return False + return count > 0 diff --git a/api/ee/src/services/email_helper.py b/api/ee/src/services/email_helper.py new file mode 100644 index 0000000000..4316160ddf --- /dev/null +++ b/api/ee/src/services/email_helper.py @@ -0,0 +1,51 @@ +import time + +import requests + +from oss.src.utils.env import env + + +def add_contact_to_loops(email, max_retries=5, initial_delay=1): + """ + Add a contact to Loops audience with retry and exponential backoff. + + Args: + email (str): Email address of the contact to be added. + max_retries (int): Maximum number of retries in case of rate limiting. + initial_delay (int): Initial delay in seconds before retrying. + + Raises: + ConnectionError: If max retries reached and unable to connect to Loops API. + + Returns: + requests.Response: Response object from the Loops API. + """ + + # Endpoint URL + url = "https://app.loops.so/api/v1/contacts/create" + + # Request headers + headers = {"Authorization": f"Bearer {env.LOOPS_API_KEY}"} + + # Request payload/body + data = {"email": email} + + retries = 0 + delay = initial_delay + + while retries < max_retries: + # Making the POST request + response = requests.post(url, json=data, headers=headers, timeout=20) + + # If response code is 429, it indicates rate limiting + if response.status_code == 429: + print(f"Rate limit hit. Retrying in {delay} seconds...") + time.sleep(delay) + retries += 1 + delay *= 2 # Double the delay for exponential backoff + else: + # If response is not 429, return it + return response + + # If max retries reached, raise an exception or handle as needed + raise ConnectionError("Max retries reached. Unable to connect to Loops API.") diff --git a/api/ee/src/services/evaluation_service.py b/api/ee/src/services/evaluation_service.py new file mode 100644 index 0000000000..e2cd9a2d8f --- /dev/null +++ b/api/ee/src/services/evaluation_service.py @@ -0,0 +1,502 @@ +from typing import Dict, List, Any + +from fastapi import HTTPException + +from oss.src.utils.logging import get_module_logger +from ee.src.services import converters +from oss.src.services import db_manager +from ee.src.services import db_manager_ee + +from oss.src.models.api.evaluation_model import ( + Evaluation, + EvaluationType, + HumanEvaluation, + HumanEvaluationScenario, + HumanEvaluationUpdate, + EvaluationScenarioUpdate, + EvaluationStatusEnum, + NewHumanEvaluation, +) +from oss.src.models.db_models import AppDB +from ee.src.models.db_models import ( + EvaluationDB, + HumanEvaluationDB, + HumanEvaluationScenarioDB, +) + +from oss.src.models.shared_models import ( + HumanEvaluationScenarioInput, + HumanEvaluationScenarioOutput, + Result, +) + +log = get_module_logger(__name__) + + +class UpdateEvaluationScenarioError(Exception): + """Custom exception for update evaluation scenario errors.""" + + pass + + +async def prepare_csvdata_and_create_evaluation_scenario( + csvdata: List[Dict[str, str]], + payload_inputs: List[str], + project_id: str, + evaluation_type: EvaluationType, + new_evaluation: HumanEvaluationDB, +): + """ + Prepares CSV data and creates evaluation scenarios based on the inputs, evaluation + type, and other parameters provided. + + Args: + csvdata: A list of dictionaries representing the CSV data. + payload_inputs: A list of strings representing the names of the inputs in the variant. + project_id (str): The ID of the project + evaluation_type: The type of evaluation + new_evaluation: The instance of EvaluationDB + """ + + for datum in csvdata: + # Check whether the inputs in the test set match the inputs in the variant + try: + inputs = [ + {"input_name": name, "input_value": datum[name]} + for name in payload_inputs + ] + except KeyError: + await db_manager_ee.delete_human_evaluation( + evaluation_id=str(new_evaluation.id) + ) + msg = f""" + Columns in the test set should match the names of the inputs in the variant. + Inputs names in variant are: {[variant_input for variant_input in payload_inputs]} while + columns in test set are: {[col for col in datum.keys() if col != 'correct_answer']} + """ + raise HTTPException( + status_code=400, + detail=msg, + ) + + # Prepare scenario inputs + list_of_scenario_input = [] + for scenario_input in inputs: + eval_scenario_input_instance = HumanEvaluationScenarioInput( + input_name=scenario_input["input_name"], + input_value=scenario_input["input_value"], + ) + list_of_scenario_input.append(eval_scenario_input_instance) + + evaluation_scenario_extend_payload = { + **_extend_with_evaluation(evaluation_type), + **_extend_with_correct_answer(evaluation_type, datum), + } + await db_manager_ee.create_human_evaluation_scenario( + inputs=list_of_scenario_input, + project_id=project_id, + evaluation_id=str(new_evaluation.id), + evaluation_extend=evaluation_scenario_extend_payload, + ) + + +async def update_human_evaluation_service( + evaluation: EvaluationDB, update_payload: HumanEvaluationUpdate +) -> None: + """ + Update an existing evaluation based on the provided payload. + + Args: + evaluation (EvaluationDB): The evaluation instance. + update_payload (EvaluationUpdate): The payload for the update. + """ + + # Update the evaluation + await db_manager_ee.update_human_evaluation( + evaluation_id=str(evaluation.id), values_to_update=update_payload.model_dump() + ) + + +async def fetch_evaluation_scenarios_for_evaluation( + evaluation_id: str, project_id: str +): + """ + Fetch evaluation scenarios for a given evaluation ID. + + Args: + evaluation_id (str): The ID of the evaluation. + project_id (str): The ID of the project. + + Returns: + List[EvaluationScenario]: A list of evaluation scenarios. + """ + + evaluation_scenarios = await db_manager_ee.fetch_evaluation_scenarios( + evaluation_id=evaluation_id, project_id=project_id + ) + return [ + await converters.evaluation_scenario_db_to_pydantic( + evaluation_scenario_db=evaluation_scenario, evaluation_id=evaluation_id + ) + for evaluation_scenario in evaluation_scenarios + ] + + +async def fetch_human_evaluation_scenarios_for_evaluation( + human_evaluation: HumanEvaluationDB, +) -> List[HumanEvaluationScenario]: + """ + Fetch evaluation scenarios for a given evaluation ID. + + Args: + evaluation_id (str): The ID of the evaluation. + + Raises: + HTTPException: If the evaluation is not found or access is denied. + + Returns: + List[EvaluationScenario]: A list of evaluation scenarios. + """ + human_evaluation_scenarios = await db_manager_ee.fetch_human_evaluation_scenarios( + evaluation_id=str(human_evaluation.id) + ) + eval_scenarios = [ + converters.human_evaluation_scenario_db_to_pydantic( + evaluation_scenario_db=human_evaluation_scenario, + evaluation_id=str(human_evaluation.id), + ) + for human_evaluation_scenario in human_evaluation_scenarios + ] + return eval_scenarios + + +async def update_human_evaluation_scenario( + evaluation_scenario_db: HumanEvaluationScenarioDB, + evaluation_scenario_data: EvaluationScenarioUpdate, + evaluation_type: EvaluationType, +) -> None: + """ + Updates an evaluation scenario. + + Args: + evaluation_scenario_db (EvaluationScenarioDB): The evaluation scenario instance. + evaluation_scenario_data (EvaluationScenarioUpdate): New data for the scenario. + evaluation_type (EvaluationType): Type of the evaluation. + + Raises: + HTTPException: If evaluation scenario not found or access denied. + """ + + values_to_update = {} + payload = evaluation_scenario_data.model_dump(exclude_unset=True) + + if "score" in payload and evaluation_type == EvaluationType.single_model_test: + values_to_update["score"] = str(payload["score"]) + + if "vote" in payload and evaluation_type == EvaluationType.human_a_b_testing: + values_to_update["vote"] = payload["vote"] + + if "outputs" in payload: + new_outputs: List[Dict[str, Any]] = [ + HumanEvaluationScenarioOutput( + variant_id=output["variant_id"], + variant_output=output["variant_output"], + ).model_dump() + for output in payload["outputs"] + ] + values_to_update["outputs"] = new_outputs # type: ignore + + if "inputs" in payload: + new_inputs: List[Dict[str, Any]] = [ + HumanEvaluationScenarioInput( + input_name=input_item["input_name"], + input_value=input_item["input_value"], + ).model_dump() + for input_item in payload["inputs"] + ] + values_to_update["inputs"] = new_inputs # type: ignore + + if "is_pinned" in payload: + values_to_update["is_pinned"] = payload["is_pinned"] + + if "note" in payload: + values_to_update["note"] = payload["note"] + + if "correct_answer" in payload: + values_to_update["correct_answer"] = payload["correct_answer"] + + await db_manager_ee.update_human_evaluation_scenario( + evaluation_scenario_id=str(evaluation_scenario_db.id), + values_to_update=values_to_update, + ) + + +def _extend_with_evaluation(evaluation_type: EvaluationType): + evaluation = {} + if evaluation_type == EvaluationType.single_model_test: + evaluation["score"] = "" + + if evaluation_type == EvaluationType.human_a_b_testing: + evaluation["vote"] = "" + return evaluation + + +def _extend_with_correct_answer(evaluation_type: EvaluationType, row: dict): + correct_answer = {"correct_answer": ""} + if row.get("correct_answer") is not None: + correct_answer["correct_answer"] = row["correct_answer"] + return correct_answer + + +async def fetch_list_evaluations(app: AppDB, project_id: str) -> List[Evaluation]: + """ + Fetches a list of evaluations based on the provided filtering criteria. + + Args: + app (AppDB): An app to filter the evaluations. + project_id (str): The ID of the project + + Returns: + List[Evaluation]: A list of evaluations. + """ + + evaluations_db = await db_manager_ee.list_evaluations( + app_id=str(app.id), project_id=project_id + ) + return [ + await converters.evaluation_db_to_pydantic(evaluation) + for evaluation in evaluations_db + ] + + +async def fetch_list_human_evaluations( + app_id: str, project_id: str +) -> List[HumanEvaluation]: + """ + Fetches a list of evaluations based on the provided filtering criteria. + + Args: + app_id (Optional[str]): An optional app ID to filter the evaluations. + project_id (str): The ID of the project. + + Returns: + List[Evaluation]: A list of evaluations. + """ + + evaluations_db = await db_manager_ee.list_human_evaluations( + app_id=app_id, project_id=project_id + ) + return [ + await converters.human_evaluation_db_to_pydantic(evaluation) + for evaluation in evaluations_db + ] + + +async def fetch_human_evaluation(human_evaluation_db) -> HumanEvaluation: + """ + Fetches a single evaluation based on its ID. + + Args: + human_evaluation_db (HumanEvaluationDB): The evaluation instance. + + Returns: + Evaluation: The fetched evaluation. + """ + + return await converters.human_evaluation_db_to_pydantic(human_evaluation_db) + + +async def delete_human_evaluations(evaluation_ids: List[str]) -> None: + """ + Delete evaluations by their IDs. + + Args: + evaluation_ids (List[str]): A list of evaluation IDs. + project_id (str): The ID of the project. + + Raises: + NoResultFound: If evaluation not found or access denied. + """ + + for evaluation_id in evaluation_ids: + await db_manager_ee.delete_human_evaluation(evaluation_id=evaluation_id) + + +async def delete_evaluations(evaluation_ids: List[str]) -> None: + """ + Delete evaluations by their IDs. + + Args: + evaluation_ids (List[str]): A list of evaluation IDs. + + Raises: + HTTPException: If evaluation not found or access denied. + """ + + await db_manager_ee.delete_evaluations(evaluation_ids=evaluation_ids) + + +async def create_new_human_evaluation(payload: NewHumanEvaluation) -> HumanEvaluationDB: + """ + Create a new evaluation based on the provided payload and additional arguments. + + Args: + payload (NewHumanEvaluation): The evaluation payload. + + Returns: + HumanEvaluationDB + """ + + app = await db_manager.fetch_app_by_id(app_id=payload.app_id) + if app is None: + raise HTTPException( + status_code=404, + detail=f"App with id {payload.app_id} does not exist", + ) + + human_evaluation = await db_manager_ee.create_human_evaluation( + app=app, + status=payload.status, + evaluation_type=payload.evaluation_type, + testset_id=payload.testset_id, + variants_ids=payload.variant_ids, + ) + if human_evaluation is None: + raise HTTPException( + status_code=500, detail="Failed to create evaluation_scenario" + ) + + await prepare_csvdata_and_create_evaluation_scenario( + human_evaluation.testset.csvdata, + payload.inputs, + str(app.project_id), + payload.evaluation_type, + human_evaluation, + ) + return human_evaluation + + +async def create_new_evaluation( + app_id: str, + project_id: str, + revision_id: str, + testset_id: str, +) -> Evaluation: + """ + Create a new evaluation in the db + + Args: + app_id (str): The ID of the app. + project_id (str): The ID of the project. + revision_id (str): The ID of the variant revision. + testset_id (str): The ID of the testset. + + Returns: + Evaluation: The newly created evaluation. + """ + + app = await db_manager.fetch_app_by_id(app_id=app_id) + testset = await db_manager.fetch_testset_by_id(testset_id=testset_id) + variant_revision = await db_manager.fetch_app_variant_revision_by_id( + variant_revision_id=revision_id + ) + + assert ( + variant_revision and variant_revision.revision is not None + ), f"Variant revision with {revision_id} cannot be None" + + evaluation_db = await db_manager_ee.create_new_evaluation( + app=app, + project_id=project_id, + testset=testset, + status=Result( + value=EvaluationStatusEnum.EVALUATION_INITIALIZED, type="status", error=None + ), + variant=str(variant_revision.variant_id), + variant_revision=str(variant_revision.id), + ) + return await converters.evaluation_db_to_pydantic(evaluation_db) + + +async def compare_evaluations_scenarios(evaluations_ids: List[str], project_id: str): + evaluation = await db_manager_ee.fetch_evaluation_by_id( + project_id=project_id, + evaluation_id=evaluations_ids[0], + ) + testset = evaluation.testset + unique_testset_datapoints = remove_duplicates(testset.csvdata) + formatted_inputs = extract_inputs_values_from_testset(unique_testset_datapoints) + # # formatted_inputs: [{'input_name': 'country', 'input_value': 'Nauru'}] + + all_scenarios = [] + + for evaluation_id in evaluations_ids: + eval_scenarios = await fetch_evaluation_scenarios_for_evaluation( + evaluation_id=evaluation_id, project_id=project_id + ) + all_scenarios.append(eval_scenarios) + + grouped_scenarios_by_inputs = find_scenarios_by_input( + formatted_inputs, all_scenarios + ) + + return grouped_scenarios_by_inputs + + +def extract_inputs_values_from_testset(testset): + extracted_values = [] + + input_keys = testset[0].keys() + + for entry in testset: + for key in input_keys: + if key != "correct_answer": + extracted_values.append({"input_name": key, "input_value": entry[key]}) + + return extracted_values + + +def find_scenarios_by_input(formatted_inputs, all_scenarios): + results = [] + flattened_scenarios = [ + scenario for sublist in all_scenarios for scenario in sublist + ] + + for formatted_input in formatted_inputs: + input_name = formatted_input["input_name"] + input_value = formatted_input["input_value"] + + matching_scenarios = [ + scenario + for scenario in flattened_scenarios + if any( + input_item.name == input_name and input_item.value == input_value + for input_item in scenario.inputs + ) + ] + + results.append( + { + "input_name": input_name, + "input_value": input_value, + "scenarios": matching_scenarios, + } + ) + + return { + "inputs": formatted_inputs, + "data": results, + } + + +def remove_duplicates(csvdata): + unique_data = set() + unique_entries = [] + + for entry in csvdata: + entry_tuple = tuple(entry.items()) + if entry_tuple not in unique_data: + unique_data.add(entry_tuple) + unique_entries.append(entry) + + return unique_entries diff --git a/api/ee/src/services/llm_apps_service.py b/api/ee/src/services/llm_apps_service.py new file mode 100644 index 0000000000..15267ec378 --- /dev/null +++ b/api/ee/src/services/llm_apps_service.py @@ -0,0 +1,578 @@ +import json +import asyncio +import traceback +import aiohttp +from datetime import datetime +from typing import Any, Dict, List, Optional + +from oss.src.utils.logging import get_module_logger +from oss.src.utils import common +from oss.src.services import helpers +from oss.src.services.auth_helper import sign_secret_token +from oss.src.services.db_manager import get_project_by_id +from oss.src.apis.fastapi.tracing.utils import make_hash_id +from oss.src.models.shared_models import InvokationResult, Result, Error + +log = get_module_logger(__name__) + + +def get_nested_value(d: dict, keys: list, default=None): + """ + Helper function to safely retrieve nested values. + """ + try: + for key in keys: + if isinstance(d, dict): + d = d.get(key, default) + else: + return default + return d + except Exception as e: + log.error(f"Error accessing nested value: {e}") + return default + + +def extract_result_from_response(response: dict): + # Initialize default values + value = None + latency = None + cost = None + tokens = None + + try: + # Validate input + if not isinstance(response, dict): + raise ValueError("The response must be a dictionary.") + + # Handle version 3.0 response + if response.get("version") == "3.0": + value = response + # Ensure 'data' is a dictionary or convert it to a string + if not isinstance(value.get("data"), dict): + value["data"] = str(value.get("data")) + + if "tree" in response: + trace_tree = response.get("tree", {}).get("nodes", [])[0] + + duration_ms = get_nested_value( + trace_tree, ["metrics", "acc", "duration", "total"] + ) + if duration_ms: + duration_seconds = duration_ms / 1000 + else: + start_time = get_nested_value(trace_tree, ["time", "start"]) + end_time = get_nested_value(trace_tree, ["time", "end"]) + + if start_time and end_time: + duration_seconds = ( + datetime.fromisoformat(end_time) + - datetime.fromisoformat(start_time) + ).total_seconds() + else: + duration_seconds = None + + latency = duration_seconds + cost = get_nested_value( + trace_tree, ["metrics", "acc", "costs", "total"] + ) + tokens = get_nested_value( + trace_tree, ["metrics", "acc", "tokens", "total"] + ) + + # Handle version 2.0 response + elif response.get("version") == "2.0": + value = response + if not isinstance(value.get("data"), dict): + value["data"] = str(value.get("data")) + + if "trace" in response: + latency = response["trace"].get("latency", None) + cost = response["trace"].get("cost", None) + tokens = response["trace"].get("tokens", None) + + # Handle generic response (neither 2.0 nor 3.0) + else: + value = {"data": str(response.get("message", ""))} + latency = response.get("latency", None) + cost = response.get("cost", None) + tokens = response.get("tokens", None) + + # Determine the type of 'value' (either 'text' or 'object') + kind = "text" if isinstance(value, str) else "object" + + except ValueError as ve: + log.error(f"Input validation error: {ve}") + value = {"error": str(ve)} + kind = "error" + + except KeyError as ke: + log.error(f"Missing key: {ke}") + value = {"error": f"Missing key: {ke}"} + kind = "error" + + except TypeError as te: + log.error(f"Type error: {te}") + value = {"error": f"Type error: {te}"} + kind = "error" + + except Exception as e: + log.error(f"Unexpected error: {e}") + value = {"error": f"Unexpected error: {e}"} + kind = "error" + + return value, kind, cost, tokens, latency + + +async def make_payload( + datapoint: Any, parameters: Dict, openapi_parameters: List[Dict] +) -> Dict: + """ + Constructs the payload for invoking an app based on OpenAPI parameters. + + Args: + datapoint (Any): The data to be sent to the app. + parameters (Dict): The parameters required by the app taken from the db. + openapi_parameters (List[Dict]): The OpenAPI parameters of the app. + + Returns: + Dict: The constructed payload for the app. + """ + payload = {} + inputs = {} + messages = [] + + for param in openapi_parameters: + if param["name"] == "ag_config": + payload["ag_config"] = parameters + elif param["type"] == "input": + item = datapoint.get(param["name"], parameters.get(param["name"], "")) + assert ( + param["name"] != "ag_config" + ), "ag_config should be handled separately" + payload[param["name"]] = item + + # in case of dynamic inputs (as in our templates) + elif param["type"] == "dict": + # let's get the list of the dynamic inputs + if ( + param["name"] in parameters + ): # in case we have modified in the playground the default list of inputs (e.g. country_name) + input_names = [_["name"] for _ in parameters[param["name"]]] + else: # otherwise we use the default from the openapi + input_names = param["default"] + + for input_name in input_names: + item = datapoint.get(input_name, "") + inputs[input_name] = item + elif param["type"] == "messages": + # TODO: Right now the FE is saving chats always under the column name chats. The whole logic for handling chats and dynamic inputs is convoluted and needs rework in time. + chat_data = datapoint.get("chat", "") + item = json.loads(chat_data) + payload[param["name"]] = item + elif param["type"] == "file_url": + item = datapoint.get(param["name"], "") + payload[param["name"]] = item + else: + if param["name"] in parameters: # hotfix + log.warn( + f"Processing other param type '{param['type']}': {param['name']}" + ) + item = parameters[param["name"]] + payload[param["name"]] = item + + try: + input_keys = helpers.find_key_occurrences(parameters, "input_keys") or [] + inputs = {key: datapoint.get(key, None) for key in input_keys} + + messages_data = datapoint.get("messages", "[]") + messages = json.loads(messages_data) + payload["messages"] = messages + except Exception as e: # pylint: disable=broad-exception-caught + log.warn(f"Error making payload: {e}") + + payload["inputs"] = inputs + + return payload + + +async def invoke_app( + uri: str, + datapoint: Any, + parameters: Dict, + openapi_parameters: List[Dict], + user_id: str, + project_id: str, + **kwargs, +) -> InvokationResult: + """ + Invokes an app for one datapoint using the openapi_parameters to determine + how to invoke the app. + + Args: + uri (str): The URI of the app to invoke. + datapoint (Any): The data to be sent to the app. + parameters (Dict): The parameters required by the app taken from the db. + openapi_parameters (List[Dict]): The OpenAPI parameters of the app. + + Returns: + InvokationResult: The output of the app. + + Raises: + aiohttp.ClientError: If the POST request fails. + """ + + url = f"{uri}/test" + if "application_id" in kwargs: + url = url + f"?application_id={kwargs.get('application_id')}" + + payload = await make_payload(datapoint, parameters, openapi_parameters) + + project = await get_project_by_id( + project_id=project_id, + ) + + secret_token = await sign_secret_token( + user_id=str(user_id), + project_id=str(project_id), + workspace_id=str(project.workspace_id), + organization_id=str(project.organization_id), + ) + + headers = {} + if secret_token: + headers = {"Authorization": f"Secret {secret_token}"} + headers["ngrok-skip-browser-warning"] = "1" + + async with aiohttp.ClientSession() as client: + app_response = {} + + try: + log.info("Invoking workflow...", url=url) + response = await client.post( + url, + json=payload, + headers=headers, + timeout=900, + ) + app_response = await response.json() + response.raise_for_status() + + ( + value, + kind, + cost, + tokens, + latency, + ) = extract_result_from_response(app_response) + + trace_id = app_response.get("trace_id", None) + span_id = app_response.get("span_id", None) + + return InvokationResult( + result=Result( + type=kind, + value=value, + error=None, + ), + latency=latency, + cost=cost, + tokens=tokens, + trace_id=trace_id, + span_id=span_id, + ) + + except aiohttp.ClientResponseError as e: + error_message = app_response.get("detail", {}).get( + "error", f"HTTP error {e.status}: {e.message}" + ) + stacktrace = app_response.get("detail", {}).get( + "message" + ) or app_response.get("detail", {}).get( + "traceback", "".join(traceback.format_exception_only(type(e), e)) + ) + log.error(f"HTTP error occurred during request: {error_message}") + except aiohttp.ServerTimeoutError as e: + error_message = "Request timed out" + stacktrace = "".join(traceback.format_exception_only(type(e), e)) + log.error(error_message) + except aiohttp.ClientConnectionError as e: + error_message = f"Connection error: {str(e)}" + stacktrace = "".join(traceback.format_exception_only(type(e), e)) + log.error(error_message) + except json.JSONDecodeError as e: + error_message = "Failed to decode JSON from response" + stacktrace = "".join(traceback.format_exception_only(type(e), e)) + log.error(error_message) + except Exception as e: + error_message = f"Unexpected error: {str(e)}" + stacktrace = "".join(traceback.format_exception_only(type(e), e)) + log.error(error_message) + + return InvokationResult( + result=Result( + type="error", + error=Error( + message=error_message, + stacktrace=stacktrace, + ), + ) + ) + + +async def run_with_retry( + uri: str, + input_data: Any, + parameters: Dict, + max_retry_count: int, + retry_delay: int, + openapi_parameters: List[Dict], + user_id: str, + project_id: str, + **kwargs, +) -> InvokationResult: + """ + Runs the specified app with retry mechanism. + + Args: + uri (str): The URI of the app. + input_data (Any): The input data for the app. + parameters (Dict): The parameters for the app. + max_retry_count (int): The maximum number of retries. + retry_delay (int): The delay between retries in seconds. + openapi_parameters (List[Dict]): The OpenAPI parameters for the app. + + Returns: + InvokationResult: The invokation result. + + """ + + if "references" in kwargs and "testcase_id" in input_data: + kwargs["references"]["testcase"] = {"id": input_data["testcase_id"]} + + references = kwargs.get("references", None) + links = kwargs.get("links", None) + # hash_id = make_hash_id(references=references, links=links) + + retries = 0 + last_exception = None + while retries < max_retry_count: + try: + result = await invoke_app( + uri, + input_data, + parameters, + openapi_parameters, + user_id, + project_id, + **kwargs, + ) + return result + except aiohttp.ClientError as e: + last_exception = e + log.error(f"Error in evaluation. Retrying in {retry_delay} seconds:", e) + await asyncio.sleep(retry_delay) + retries += 1 + except Exception as e: + last_exception = e + log.warn(f"Error processing datapoint: {input_data}. {str(e)}") + log.warn("".join(traceback.format_exception_only(type(e), e))) + retries += 1 + + # If max retries is reached or an exception that isn't in the second block, + # update & return the last exception + log.warn("Max retries reached") + exception_message = ( + "Max retries reached" + if retries == max_retry_count + else f"Error processing {input_data} datapoint" + ) + + return InvokationResult( + result=Result( + type="error", + value=None, + error=Error(message=exception_message, stacktrace=str(last_exception)), + ) + ) + + +async def batch_invoke( + uri: str, + testset_data: List[Dict], + parameters: Dict, + rate_limit_config: Dict, + user_id: str, + project_id: str, + **kwargs, +) -> List[InvokationResult]: + """ + Invokes the LLm apps in batches, processing the testset data. + + Args: + uri (str): The URI of the LLm app. + testset_data (List[Dict]): The testset data to be processed. + parameters (Dict): The parameters for the LLm app. + rate_limit_config (Dict): The rate limit configuration. + + Returns: + List[InvokationResult]: The list of app outputs after running all batches. + """ + batch_size = rate_limit_config[ + "batch_size" + ] # Number of testset to make in each batch + max_retries = rate_limit_config[ + "max_retries" + ] # Maximum number of times to retry the failed llm call + retry_delay = rate_limit_config[ + "retry_delay" + ] # Delay before retrying the failed llm call (in seconds) + delay_between_batches = rate_limit_config[ + "delay_between_batches" + ] # Delay between batches (in seconds) + + list_of_app_outputs: List[ + InvokationResult + ] = [] # Outputs after running all batches + + project = await get_project_by_id( + project_id=project_id, + ) + + secret_token = await sign_secret_token( + user_id=str(user_id), + project_id=str(project_id), + workspace_id=str(project.workspace_id), + organization_id=str(project.organization_id), + ) + + headers = {} + if secret_token: + headers = {"Authorization": f"Secret {secret_token}"} + headers["ngrok-skip-browser-warning"] = "1" + + openapi_parameters = None + max_recursive_depth = 5 + runtime_prefix = uri + route_path = "" + + while max_recursive_depth > 0 and not openapi_parameters: + try: + openapi_parameters = await get_parameters_from_openapi( + runtime_prefix + "/openapi.json", + route_path, + headers, + ) + except Exception: # pylint: disable=broad-exception-caught + openapi_parameters = None + + if not openapi_parameters: + max_recursive_depth -= 1 + if not runtime_prefix.endswith("/"): + route_path = "/" + runtime_prefix.split("/")[-1] + route_path + runtime_prefix = "/".join(runtime_prefix.split("/")[:-1]) + else: + route_path = "" + runtime_prefix = runtime_prefix[:-1] + + # Final attempt to fetch OpenAPI parameters + openapi_parameters = await get_parameters_from_openapi( + runtime_prefix + "/openapi.json", + route_path, + headers, + ) + + # 🆕 Rewritten loop instead of recursion + for start_idx in range(0, len(testset_data), batch_size): + tasks = [] + + end_idx = min(start_idx + batch_size, len(testset_data)) + for index in range(start_idx, end_idx): + task = asyncio.ensure_future( + run_with_retry( + uri, + testset_data[index], + parameters, + max_retries, + retry_delay, + openapi_parameters, + user_id, + project_id, + **kwargs, + ) + ) + tasks.append(task) + + results = await asyncio.gather(*tasks) + + for result in results: + list_of_app_outputs.append(result) + + # Delay between batches if more to come + if end_idx < len(testset_data): + await asyncio.sleep(delay_between_batches) + + return list_of_app_outputs + + +async def get_parameters_from_openapi( + runtime_prefix: str, + route_path: str, + headers: Optional[Dict[str, str]], +) -> List[Dict]: + """ + Parse the OpenAI schema of an LLM app to return list of parameters that it takes with their type as determined by the x-parameter + Args: + uri (str): The URI of the OpenAPI schema. + + Returns: + list: A list of parameters. Each a dict with name and type. + Type can be one of: input, text, choice, float, dict, bool, int, file_url, messages. + + Raises: + KeyError: If the required keys are not found in the schema. + + """ + + schema = await _get_openai_json_from_uri(runtime_prefix, headers) + + try: + body_schema_name = ( + schema["paths"][route_path + "/test"]["post"]["requestBody"]["content"][ + "application/json" + ]["schema"]["$ref"] + .split("/") + .pop() + ) + except KeyError: + body_schema_name = "" + + try: + properties = schema["components"]["schemas"][body_schema_name]["properties"] + except KeyError: + properties = {} + + parameters = [] + for name, param in properties.items(): + parameters.append( + { + "name": name, + "type": param.get("x-parameter", "input"), + "default": param.get("default", []), + } + ) + return parameters + + +async def _get_openai_json_from_uri( + uri: str, + headers: Optional[Dict[str, str]], +): + if headers is None: + headers = {} + headers["ngrok-skip-browser-warning"] = "1" + + async with aiohttp.ClientSession() as client: + resp = await client.get(uri, headers=headers, timeout=5) + resp_text = await resp.text() + json_data = json.loads(resp_text) + return json_data diff --git a/api/ee/src/services/organization_service.py b/api/ee/src/services/organization_service.py new file mode 100644 index 0000000000..7ee4fdb150 --- /dev/null +++ b/api/ee/src/services/organization_service.py @@ -0,0 +1,121 @@ +from urllib.parse import quote + +from ee.src.services import db_manager_ee +from oss.src.services import email_service +from oss.src.models.db_models import UserDB +from ee.src.models.db_models import ( + WorkspaceDB, + OrganizationDB, +) +from ee.src.models.api.organization_models import ( + OrganizationUpdate, +) + +from oss.src.utils.env import env + + +async def update_an_organization( + org_id: str, payload: OrganizationUpdate +) -> OrganizationDB: + org = await db_manager_ee.get_organization(org_id) + if org is not None: + await db_manager_ee.update_organization(str(org.id), payload) + return org + raise NotFound("Organization not found") + + +class NotFound(Exception): + """Custom exception for credentials not found""" + + pass + + +async def send_invitation_email( + email: str, + token: str, + project_id: str, + workspace: WorkspaceDB, + organization: OrganizationDB, + user: UserDB, +): + """ + Sends an invitation email to the specified email address, containing a link to accept the invitation. + + Args: + email (str): The email address to send the invitation to. + token (str): The token to include in the invitation link. + project_id (str): The ID of the project that the user is being invited to join. + workspace (WorkspaceDB): The workspace that the user is being invited to join. + user (UserDB): The user who is sending the invitation. + + Returns: + bool: True if the email was sent successfully, False otherwise. + """ + + html_template = email_service.read_email_template("./templates/send_email.html") + + token_param = quote(token, safe="") + email_param = quote(email, safe="") + org_param = quote(str(organization.id), safe="") + workspace_param = quote(str(workspace.id), safe="") + project_param = quote(project_id, safe="") + + invite_link = ( + f"{env.AGENTA_WEB_URL}/auth?token={token_param}&email={email_param}" + f"&org_id={org_param}&workspace_id={workspace_param}&project_id={project_param}" + ) + + html_content = html_template.format( + username_placeholder=user.username, + action_placeholder="invited you to join", + workspace_placeholder=workspace.name, + call_to_action=( + "Click the link below to accept the invitation:


" + f'Accept Invitation' + ), + ) + + await email_service.send_email( + from_email="account@hello.agenta.ai", + to_email=email, + subject=f"{user.username} invited you to join {workspace.name}", + html_content=html_content, + ) + return True + + +async def notify_org_admin_invitation(workspace: WorkspaceDB, user: UserDB) -> bool: + """ + Sends an email notification to the owner of an organization when a new member joins. + + Args: + workspace (WorkspaceDB): The workspace that the user has joined. + user (UserDB): The user who has joined the organization. + + Returns: + bool: True if the email was sent successfully, False otherwise. + """ + + html_template = email_service.read_email_template("./templates/send_email.html") + html_content = html_template.format( + username_placeholder=user.username, + action_placeholder="joined your Workspace", + workspace_placeholder=f'"{workspace.name}"', + call_to_action=f'Click the link below to view your Workspace:


View Workspace', + ) + + workspace_admins = await db_manager_ee.get_workspace_administrators(workspace) + for workspace_admin in workspace_admins: + await email_service.send_email( + from_email="account@hello.agenta.ai", + to_email=workspace_admin.email, + subject=f"New Member Joined {workspace.name}", + html_content=html_content, + ) + + return True + + +async def get_organization_details(org_id: str) -> dict: + organization = await db_manager_ee.get_organization(org_id) + return await db_manager_ee.get_org_details(organization) diff --git a/api/ee/src/services/results_service.py b/api/ee/src/services/results_service.py new file mode 100644 index 0000000000..ca52151315 --- /dev/null +++ b/api/ee/src/services/results_service.py @@ -0,0 +1,116 @@ +import uuid +from typing import Sequence, Dict, Any + +from ee.src.services import db_manager_ee +from oss.src.models.api.evaluation_model import EvaluationType +from ee.src.models.db_models import ( + HumanEvaluationDB, + EvaluationScenarioDB, +) + + +async def fetch_results_for_evaluation(evaluation: HumanEvaluationDB): + evaluation_scenarios = await db_manager_ee.fetch_human_evaluation_scenarios( + evaluation_id=str(evaluation.id) + ) + + results: Dict[str, Any] = {} + if len(evaluation_scenarios) == 0: + return results + + evaluation_variants = await db_manager_ee.fetch_human_evaluation_variants( + human_evaluation_id=str(evaluation.id) + ) + results["variants"] = [ + str(evaluation_variant.variant_id) for evaluation_variant in evaluation_variants + ] + + variant_names: list[str] = [] + for evaluation_variant in evaluation_variants: + variant_name = ( + evaluation_variant.variant.variant_name + if isinstance(evaluation_variant.variant_id, uuid.UUID) + else str(evaluation_variant.variant_id) + ) + variant_names.append(str(variant_name)) + + results["variant_names"] = variant_names + results["nb_of_rows"] = len(evaluation_scenarios) + + if evaluation.evaluation_type == EvaluationType.human_a_b_testing: # type: ignore + results.update( + await _compute_stats_for_human_a_b_testing_evaluation(evaluation_scenarios) + ) + + return results + + +async def _compute_stats_for_evaluation(evaluation_scenarios: list, classes: list): + results = {} + for cl in classes: + results[cl] = [ + scenario for scenario in evaluation_scenarios if scenario.score == cl + ] + return results + + +async def _compute_stats_for_human_a_b_testing_evaluation( + evaluation_scenarios: Sequence[EvaluationScenarioDB], +): + results: Dict[str, Any] = {} + results["variants_votes_data"] = {} + results["flag_votes"] = {} + results["positive_votes"] = {} + + flag_votes_nb = [ + scenario for scenario in evaluation_scenarios if scenario.vote == "0" + ] + + positive_votes_nb = [ + scenario for scenario in evaluation_scenarios if scenario.vote == "1" + ] + + results["positive_votes"]["number_of_votes"] = len(positive_votes_nb) + results["positive_votes"]["percentage"] = ( + round(len(positive_votes_nb) / len(evaluation_scenarios) * 100, 2) + if len(evaluation_scenarios) + else 0 + ) + + results["flag_votes"]["number_of_votes"] = len(flag_votes_nb) + results["flag_votes"]["percentage"] = ( + round(len(flag_votes_nb) / len(evaluation_scenarios) * 100, 2) + if len(evaluation_scenarios) + else 0 + ) + + for scenario in evaluation_scenarios: + if scenario.vote not in results["variants_votes_data"]: + results["variants_votes_data"][scenario.vote] = {} + results["variants_votes_data"][scenario.vote]["number_of_votes"] = 1 + else: + results["variants_votes_data"][scenario.vote]["number_of_votes"] += 1 + + for key, value in results["variants_votes_data"].items(): + value["percentage"] = round( + value["number_of_votes"] / len(evaluation_scenarios) * 100, 2 + ) + return results + + +async def fetch_results_for_single_model_test(evaluation_id: str): + evaluation_scenarios = await db_manager_ee.fetch_human_evaluation_scenarios( + evaluation_id=str(evaluation_id) + ) + scores_and_counts: Dict[str, Any] = {} + for evaluation_scenario in evaluation_scenarios: + score = evaluation_scenario.score + if isinstance(score, str): + if score.isdigit(): # Check if the string is a valid integer + score = int(score) + else: + continue # Skip if the string is not a valid integer + + scores_and_counts[score] = scores_and_counts.get(score, 0) + 1 + + return scores_and_counts diff --git a/api/ee/src/services/selectors.py b/api/ee/src/services/selectors.py new file mode 100644 index 0000000000..f8a10ceecb --- /dev/null +++ b/api/ee/src/services/selectors.py @@ -0,0 +1,125 @@ +from typing import Dict, List, Union + +from sqlalchemy.future import select +from sqlalchemy.exc import NoResultFound +from sqlalchemy.orm import load_only, joinedload + +from oss.src.services import db_manager +from oss.src.utils.logging import get_module_logger + +from oss.src.dbs.postgres.shared.engine import engine +from ee.src.models.api.organization_models import Organization +from ee.src.models.db_models import ( + WorkspaceDB, + OrganizationDB, + WorkspaceMemberDB, + OrganizationMemberDB, +) + +log = get_module_logger(__name__) + + +async def get_user_org_and_workspace_id(user_uid) -> Dict[str, Union[str, List[str]]]: + """ + Retrieves the user ID and organization IDs associated with a given user UID. + + Args: + user_uid (str): The UID of the user. + + Returns: + dict: A dictionary containing the user UID, ID, list of workspace IDS and list of organization IDS associated with a user. + If the user is not found, returns None + + Example Usage: + result = await get_user_org_and_workspace_id("user123") + print(result) + + Output: + { "id": "123", "uid": "user123", "organization_ids": [], "workspace_ids": []} + """ + + async with engine.core_session() as session: + user = await db_manager.get_user_with_id(user_id=user_uid) + if not user: + raise NoResultFound(f"User with uid {user_uid} not found") + + user_org_result = await session.execute( + select(OrganizationMemberDB) + .filter_by(user_id=user.id) + .options(load_only(OrganizationMemberDB.organization_id)) # type: ignore + ) + orgs = user_org_result.scalars().all() + organization_ids = [str(user_org.organization_id) for user_org in orgs] + + member_in_workspaces_result = await session.execute( + select(WorkspaceMemberDB) + .filter_by(user_id=user.id) + .options(load_only(WorkspaceMemberDB.workspace_id)) # type: ignore + ) + workspaces_ids = [ + str(user_workspace.workspace_id) + for user_workspace in member_in_workspaces_result.scalars().all() + ] + + return { + "id": str(user.id), + "uid": str(user.uid), + "workspace_ids": workspaces_ids, + "organization_ids": organization_ids, + } + + +async def user_exists(user_email: str) -> bool: + """Check if user exists in the database. + + Arguments: + user_email (str): The email address of the logged-in user + + Returns: + bool: confirming if the user exists or not. + """ + + user = await db_manager.get_user_with_email(email=user_email) + return False if not user else True + + +async def get_user_own_org(user_uid: str) -> OrganizationDB: + """Get's the default users' organization from the database. + + Arguments: + user_uid (str): The uid of the user + + Returns: + Organization: Instance of OrganizationDB + """ + + user = await db_manager.get_user_with_id(user_id=user_uid) + async with engine.core_session() as session: + result = await session.execute( + select(OrganizationDB).filter_by( + owner=str(user.id), + type="default", + ) + ) + org = result.scalars().first() + return org + + +async def get_org_default_workspace(organization: Organization) -> WorkspaceDB: + """Get's the default workspace for an organization from the database. + + Arguments: + organization (Organization): The organization + + Returns: + WorkspaceDB: Instance of WorkspaceDB + """ + + async with engine.core_session() as session: + result = await session.execute( + select(WorkspaceDB) + .filter_by(organization_id=organization.id, type="default") + .options(joinedload(WorkspaceDB.members)) + ) + workspace = result.scalars().first() + return workspace diff --git a/api/ee/src/services/templates/send_email.html b/api/ee/src/services/templates/send_email.html new file mode 100644 index 0000000000..7d124ffd8a --- /dev/null +++ b/api/ee/src/services/templates/send_email.html @@ -0,0 +1,7 @@ +

Hello,

+

+ {username_placeholder} has {action_placeholder} {workspace_placeholder} on + Agenta. +

+

{call_to_action}

+

Thank you for using Agenta!

diff --git a/api/ee/src/services/utils.py b/api/ee/src/services/utils.py new file mode 100644 index 0000000000..0eaedde4ff --- /dev/null +++ b/api/ee/src/services/utils.py @@ -0,0 +1,21 @@ +# Stdlib Imports +import asyncio +from functools import partial +from typing import Callable, Coroutine + + +async def run_in_separate_thread(func: Callable, *args, **kwargs) -> Coroutine: + """ + Run a synchronous function in a separate thread. + + Args: + func (callable): The synchronous function to be executed. + args (tuple): Positional arguments to be passed to `func`. + kwargs (dict): Keyword arguments to be passed to `func`. + + Returns: + The result of the synchronous function. + """ + + loop = asyncio.get_event_loop() + return await loop.run_in_executor(None, partial(func, *args, **kwargs)) diff --git a/api/ee/src/services/workspace_manager.py b/api/ee/src/services/workspace_manager.py new file mode 100644 index 0000000000..d446729804 --- /dev/null +++ b/api/ee/src/services/workspace_manager.py @@ -0,0 +1,355 @@ +import asyncio + +from typing import List +from fastapi import HTTPException +from fastapi.responses import JSONResponse + +from oss.src.utils.logging import get_module_logger +from oss.src.services import db_manager +from ee.src.services import db_manager_ee, converters +from ee.src.models.db_models import ( + WorkspaceDB, + OrganizationDB, +) +from oss.src.models.db_models import UserDB +from ee.src.models.api.api_models import ( + InviteRequest, + ReseendInviteRequest, +) +from ee.src.models.api.workspace_models import ( + Permission, + WorkspaceRole, + WorkspaceResponse, + CreateWorkspace, + UpdateWorkspace, +) +from oss.src.models.db_models import InvitationDB +from oss.src.services.organization_service import ( + create_invitation, + check_existing_invitation, + check_valid_invitation, +) +from ee.src.services.organization_service import send_invitation_email + +log = get_module_logger(__name__) + + +async def get_workspace(workspace_id: str) -> WorkspaceDB: + """ + Get the workspace object based on the provided workspace ID. + + Parameters: + - workspace_id (str): The ID of the workspace. + + Returns: + - WorkspaceDB: The workspace object corresponding to the provided ID. + + Raises: + - HTTPException: If the workspace with the provided ID is not found. + + """ + + workspace = await db_manager.get_workspace(workspace_id) + if workspace is not None: + return workspace + raise HTTPException( + status_code=404, detail=f"Workspace by id {workspace_id} not found" + ) + + +async def create_new_workspace( + payload: CreateWorkspace, organization_id: str, user_uid: str +) -> WorkspaceResponse: + """ + Create a new workspace. + + Args: + payload (CreateWorkspace): The workspace payload. + organization_id (str): The organization id. + user_uid (str): The user uid. + + Returns: + WorkspaceResponse: The created workspace. + """ + + workspace = await db_manager_ee.create_workspace(payload, organization_id, user_uid) + return workspace + + +async def update_workspace( + payload: UpdateWorkspace, workspace_id: str +) -> WorkspaceResponse: + """ + Update a workspace's details. + + Args: + payload (UpdateWorkspace): The data to update the workspace with. + workspace_id (str): The ID of the workspace to update. + + Returns: + WorkspaceResponse: The updated workspace. + + Raises: + HTTPException: If the workspace with the given ID is not found. + """ + + workspace = await get_workspace(workspace_id) + if workspace is not None: + updated_workspace = await db_manager_ee.update_workspace(payload, workspace) + return updated_workspace + raise HTTPException( + status_code=404, detail=f"Workspace by id {workspace_id} not found" + ) + + +async def get_all_workspace_roles() -> List[WorkspaceRole]: + """ + Retrieve all workspace roles. + + Returns: + List[WorkspaceRole]: A list of all workspace roles in the DB. + """ + + workspace_roles_from_db = await db_manager_ee.get_all_workspace_roles() + return workspace_roles_from_db + + +async def get_all_workspace_permissions() -> List[Permission]: + """ + Retrieve all workspace permissions. + + Returns: + List[Permission]: A list of all workspace permissions in the DB. + """ + + workspace_permissions_from_db = await converters.get_all_workspace_permissions() + return workspace_permissions_from_db + + +async def invite_user_to_workspace( + payload: List[InviteRequest], + org_id: str, + project_id: str, + workspace_id: str, + user_uid: str, +) -> JSONResponse: + """ + Invite a user to a workspace. + + Args: + user_uid (str): The user uid. + org_id (str): The ID of the organization that the workspace belongs to. + project_id (str): The ID of the project that belongs to the workspace. + workspace_id (str): The ID of the workspace. + payload (InviteRequest): The payload containing the email address of the user to invite. + + Returns: + JSONResponse: The response containing the invitation details. + + Raises: + HTTPException: If there is an error retrieving the workspace. + """ + + try: + workspace = await get_workspace(workspace_id) + organization = await db_manager_ee.get_organization(org_id) + user_performing_action = await db_manager.get_user(user_uid) + + for payload_invite in payload: + # Check that the user is not inviting themselves + if payload_invite.email == user_performing_action.email: + return JSONResponse( + status_code=400, + content={"error": "You cannot invite yourself to a workspace"}, + ) + + # Check if the user is already a member of the workspace + if await db_manager_ee.check_user_in_workspace_with_email( + payload_invite.email, str(workspace.id) + ): + return JSONResponse( + status_code=400, + content={"error": "User is already a member of the workspace"}, + ) + + # Check if the email address already has a valid, unused invitation for the workspace + existing_invitation, existing_role = await check_existing_invitation( + project_id, payload_invite.email + ) + if not existing_invitation and not existing_role: + # Create a new invitation + invitation = await create_invitation( + payload_invite.roles[0], project_id, payload_invite.email + ) + + # Send the invitation email + send_email = await send_invitation_email( + payload_invite.email, + invitation.token, # type: ignore + project_id, + workspace, + organization, + user_performing_action, + ) + + if not send_email: + return JSONResponse( + {"detail": "Failed to invite user to organization"}, + status_code=400, + ) + else: + return JSONResponse( + status_code=200, + content={ + "message": "Invitation already exists", + }, + ) + + return JSONResponse( + {"message": "Invited users to organization"}, status_code=200 + ) + + except Exception as e: + raise HTTPException(status_code=500, detail=str(e)) + + +async def resend_user_workspace_invite( + payload: ReseendInviteRequest, + project_id: str, + org_id: str, + workspace_id: str, + user_uid: str, +) -> JSONResponse: + """ + Resend an invitation to a user to a workspace. + + Args: + org_id (str): The ID of the organization that the workspace belongs to. + project_id (str): The ID of the project. + workspace_id (str): The ID of the workspace. + payload (ReseendInviteRequest): The payload containing the email address of the user to invite. + + Returns: + JSONResponse: The response containing the invitation details. + + Raises: + HTTPException: If there is an error retrieving the workspace. + """ + + try: + workspace = await get_workspace(workspace_id) + organization = await db_manager_ee.get_organization(org_id) + user_performing_action = await db_manager.get_user(user_uid) + + # Check if the email address already has a valid, unused invitation for the workspace + existing_invitation, existing_role = await check_existing_invitation( + project_id, payload.email + ) + if existing_invitation: + invitation = existing_invitation + elif existing_role: + # Create a new invitation + invitation = await create_invitation( + existing_role, project_id, payload.email + ) + else: + raise HTTPException( + status_code=404, + detail="No existing invitation found for the user", + ) + + # Send the invitation email + send_email = await send_invitation_email( + payload.email, + invitation.token, + project_id, + workspace, + organization, + user_performing_action, + ) + + if send_email: + return JSONResponse( + {"message": "Invited user to organization"}, status_code=200 + ) + else: + return JSONResponse( + {"detail": "Failed to invite user to organization"}, status_code=400 + ) + + except Exception as e: + raise HTTPException(status_code=500, detail=str(e)) + + +async def accept_workspace_invitation( + token: str, + project_id: str, + organization: OrganizationDB, + workspace: WorkspaceDB, + user: UserDB, +) -> bool: + """ + Accept an invitation to a workspace. + + Args: + token (str): The invitation token. + project_id (str): The ID of the project. + organization_id (str): The ID of the organization that the workspace belongs to. + workspace_id (str): The ID of the workspace. + user_uid (str): The user uid. + + Returns: + bool: True if the user was successfully added to the workspace, False otherwise + + Raises: + HTTPException: If there is an error retrieving the workspace. + """ + + try: + # Check if the user is already a member of the workspace + if await db_manager_ee.check_user_in_workspace_with_email( + user.email, str(workspace.id) + ): + raise HTTPException( + status_code=409, + detail="User is already a member of the workspace", + ) + + invitation = await check_valid_invitation(project_id, user.email, token) + if invitation is not None: + assert ( + invitation.role is not None + ), "Invitation does not have any workspace role" + await db_manager_ee.add_user_to_workspace_and_org( + organization, workspace, user, project_id, invitation.role + ) + + await db_manager_ee.mark_invitation_as_used( + project_id, str(user.id), invitation + ) + return True + + else: + # Existing invitation is expired + raise Exception("Invitation has expired or does not exist") + except Exception as e: + raise e + + +async def remove_user_from_workspace( + workspace_id: str, + email: str, +) -> WorkspaceResponse: + """ + Remove a user from a workspace. + + Args: + workspace_id (str): The ID of the workspace. + payload (UserRole): The payload containing the user ID and role to remove. + + Returns: + WorkspaceResponse: The updated workspace. + """ + + remove_user = await db_manager_ee.remove_user_from_workspace(workspace_id, email) + return remove_user diff --git a/api/ee/src/tasks/__init__.py b/api/ee/src/tasks/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/api/ee/src/tasks/evaluations/__init__.py b/api/ee/src/tasks/evaluations/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/api/ee/src/tasks/evaluations/batch.py b/api/ee/src/tasks/evaluations/batch.py new file mode 100644 index 0000000000..cf65107b6a --- /dev/null +++ b/api/ee/src/tasks/evaluations/batch.py @@ -0,0 +1,254 @@ +from typing import Dict, List, Optional +from uuid import UUID +import asyncio +import traceback +from json import dumps + +from celery import shared_task, states, Task + +from fastapi import Request + +from oss.src.utils.helpers import parse_url, get_slug_from_name_and_id +from oss.src.utils.logging import get_module_logger +from oss.src.services.auth_helper import sign_secret_token +from ee.src.services import llm_apps_service +from oss.src.models.shared_models import InvokationResult +from oss.src.services.db_manager import ( + fetch_app_by_id, + fetch_app_variant_by_id, + fetch_app_variant_revision_by_id, + get_deployment_by_id, + get_project_by_id, +) +from oss.src.core.secrets.utils import get_llm_providers_secrets +from ee.src.utils.entitlements import check_entitlements, Counter + +from oss.src.dbs.postgres.queries.dbes import ( + QueryArtifactDBE, + QueryVariantDBE, + QueryRevisionDBE, +) +from oss.src.dbs.postgres.testcases.dbes import ( + TestcaseBlobDBE, +) +from oss.src.dbs.postgres.testsets.dbes import ( + TestsetArtifactDBE, + TestsetVariantDBE, + TestsetRevisionDBE, +) +from oss.src.dbs.postgres.workflows.dbes import ( + WorkflowArtifactDBE, + WorkflowVariantDBE, + WorkflowRevisionDBE, +) + +from oss.src.dbs.postgres.tracing.dao import TracingDAO +from oss.src.dbs.postgres.blobs.dao import BlobsDAO +from oss.src.dbs.postgres.git.dao import GitDAO +from oss.src.dbs.postgres.evaluations.dao import EvaluationsDAO + +from oss.src.core.tracing.service import TracingService +from oss.src.core.queries.service import QueriesService +from oss.src.core.testcases.service import TestcasesService +from oss.src.core.testsets.service import TestsetsService +from oss.src.core.testsets.service import SimpleTestsetsService +from oss.src.core.workflows.service import WorkflowsService +from oss.src.core.evaluators.service import EvaluatorsService +from oss.src.core.evaluators.service import SimpleEvaluatorsService +from oss.src.core.evaluations.service import EvaluationsService +from oss.src.core.annotations.service import AnnotationsService + +# from oss.src.apis.fastapi.tracing.utils import make_hash_id +from oss.src.apis.fastapi.tracing.router import TracingRouter +from oss.src.apis.fastapi.testsets.router import SimpleTestsetsRouter +from oss.src.apis.fastapi.evaluators.router import SimpleEvaluatorsRouter +from oss.src.apis.fastapi.annotations.router import AnnotationsRouter + +from oss.src.core.annotations.types import ( + AnnotationOrigin, + AnnotationKind, + AnnotationChannel, +) +from oss.src.apis.fastapi.annotations.models import ( + AnnotationCreate, + AnnotationCreateRequest, +) + +from oss.src.core.evaluations.types import ( + EvaluationStatus, + EvaluationRun, + EvaluationRunCreate, + EvaluationRunEdit, + EvaluationScenarioCreate, + EvaluationScenarioEdit, + EvaluationResultCreate, + EvaluationMetricsCreate, +) + +from oss.src.core.shared.dtos import Reference +from oss.src.core.tracing.dtos import ( + Filtering, + Windowing, + Formatting, + Format, + Focus, + TracingQuery, +) +from oss.src.core.workflows.dtos import ( + WorkflowServiceData, + WorkflowServiceRequest, + WorkflowServiceResponse, + WorkflowServiceInterface, + WorkflowRevisionData, + WorkflowRevision, + WorkflowVariant, + Workflow, +) + +from oss.src.core.queries.dtos import ( + QueryRevision, + QueryVariant, + Query, +) + +from oss.src.core.workflows.dtos import Tree + +from oss.src.core.evaluations.utils import get_metrics_keys_from_schema + + +log = get_module_logger(__name__) + + +# DBS -------------------------------------------------------------------------- + +tracing_dao = TracingDAO() + +testcases_dao = BlobsDAO( + BlobDBE=TestcaseBlobDBE, +) + +queries_dao = GitDAO( + ArtifactDBE=QueryArtifactDBE, + VariantDBE=QueryVariantDBE, + RevisionDBE=QueryRevisionDBE, +) + +testsets_dao = GitDAO( + ArtifactDBE=TestsetArtifactDBE, + VariantDBE=TestsetVariantDBE, + RevisionDBE=TestsetRevisionDBE, +) + +workflows_dao = GitDAO( + ArtifactDBE=WorkflowArtifactDBE, + VariantDBE=WorkflowVariantDBE, + RevisionDBE=WorkflowRevisionDBE, +) + +evaluations_dao = EvaluationsDAO() + +# CORE ------------------------------------------------------------------------- + +tracing_service = TracingService( + tracing_dao=tracing_dao, +) + +queries_service = QueriesService( + queries_dao=queries_dao, +) + +testcases_service = TestcasesService( + testcases_dao=testcases_dao, +) + +testsets_service = TestsetsService( + testsets_dao=testsets_dao, + testcases_service=testcases_service, +) + +simple_testsets_service = SimpleTestsetsService( + testsets_service=testsets_service, +) + +testsets_service = TestsetsService( + testsets_dao=testsets_dao, + testcases_service=testcases_service, +) + +workflows_service = WorkflowsService( + workflows_dao=workflows_dao, +) + +evaluators_service = EvaluatorsService( + workflows_service=workflows_service, +) + +simple_evaluators_service = SimpleEvaluatorsService( + evaluators_service=evaluators_service, +) + +evaluations_service = EvaluationsService( + evaluations_dao=evaluations_dao, + tracing_service=tracing_service, + queries_service=queries_service, + testsets_service=testsets_service, + evaluators_service=evaluators_service, +) + +# APIS ------------------------------------------------------------------------- + +tracing_router = TracingRouter( + tracing_service=tracing_service, +) + +simple_testsets_router = SimpleTestsetsRouter( + simple_testsets_service=simple_testsets_service, +) # TODO: REMOVE/REPLACE ONCE TRANSFER IS MOVED TO 'core' + +simple_evaluators_router = SimpleEvaluatorsRouter( + simple_evaluators_service=simple_evaluators_service, +) # TODO: REMOVE/REPLACE ONCE TRANSFER IS MOVED TO 'core' + +annotations_service = AnnotationsService( + tracing_router=tracing_router, + evaluators_service=evaluators_service, + simple_evaluators_service=simple_evaluators_service, +) + +annotations_router = AnnotationsRouter( + annotations_service=annotations_service, +) # TODO: REMOVE/REPLACE ONCE ANNOTATE IS MOVED TO 'core' + +# ------------------------------------------------------------------------------ + + +@shared_task( + name="src.tasks.evaluations.batch.evaluate_testsets", + queue="src.tasks.evaluations.batch.evaluate_testsets", + bind=True, +) +def evaluate_testsets( + self, + *, + project_id: UUID, + user_id: UUID, + # + run_id: UUID, +): + pass + + +@shared_task( + name="src.tasks.evaluations.batch.evaluate_queries", + queue="src.tasks.evaluations.batch.evaluate_queries", + bind=True, +) +def evaluate_queries( + self: Task, + *, + project_id: UUID, + user_id: UUID, + # + run_id: UUID, +): + pass diff --git a/api/ee/src/tasks/evaluations/legacy.py b/api/ee/src/tasks/evaluations/legacy.py new file mode 100644 index 0000000000..50d211f713 --- /dev/null +++ b/api/ee/src/tasks/evaluations/legacy.py @@ -0,0 +1,1391 @@ +from typing import Dict, List, Optional +from uuid import UUID +from json import dumps +from asyncio import get_event_loop + +from celery import shared_task, states + +from fastapi import Request + +from oss.src.utils.helpers import parse_url, get_slug_from_name_and_id +from oss.src.utils.logging import get_module_logger +from oss.src.services.auth_helper import sign_secret_token +from ee.src.services import llm_apps_service +from oss.src.models.shared_models import InvokationResult +from oss.src.services.db_manager import ( + fetch_app_by_id, + fetch_app_variant_by_id, + fetch_app_variant_revision_by_id, + fetch_evaluator_config, + get_deployment_by_id, + get_project_by_id, +) +from oss.src.core.secrets.utils import get_llm_providers_secrets +from ee.src.utils.entitlements import check_entitlements, Counter + +from oss.src.dbs.postgres.queries.dbes import ( + QueryArtifactDBE, + QueryVariantDBE, + QueryRevisionDBE, +) +from oss.src.dbs.postgres.testcases.dbes import ( + TestcaseBlobDBE, +) +from oss.src.dbs.postgres.testsets.dbes import ( + TestsetArtifactDBE, + TestsetVariantDBE, + TestsetRevisionDBE, +) +from oss.src.dbs.postgres.workflows.dbes import ( + WorkflowArtifactDBE, + WorkflowVariantDBE, + WorkflowRevisionDBE, +) + +from oss.src.dbs.postgres.tracing.dao import TracingDAO +from oss.src.dbs.postgres.blobs.dao import BlobsDAO +from oss.src.dbs.postgres.git.dao import GitDAO +from oss.src.dbs.postgres.evaluations.dao import EvaluationsDAO + +from oss.src.core.tracing.service import TracingService +from oss.src.core.queries.service import QueriesService +from oss.src.core.testcases.service import TestcasesService +from oss.src.core.testsets.service import TestsetsService, SimpleTestsetsService +from oss.src.core.workflows.service import WorkflowsService +from oss.src.core.evaluators.service import EvaluatorsService +from oss.src.core.evaluators.service import SimpleEvaluatorsService +from oss.src.core.evaluations.service import EvaluationsService +from oss.src.core.annotations.service import AnnotationsService + +from oss.src.apis.fastapi.tracing.utils import make_hash_id +from oss.src.apis.fastapi.tracing.router import TracingRouter +from oss.src.apis.fastapi.testsets.router import SimpleTestsetsRouter +from oss.src.apis.fastapi.evaluators.router import SimpleEvaluatorsRouter +from oss.src.apis.fastapi.annotations.router import AnnotationsRouter + +from oss.src.core.annotations.types import ( + AnnotationOrigin, + AnnotationKind, + AnnotationChannel, +) +from oss.src.apis.fastapi.annotations.models import ( + AnnotationCreate, + AnnotationCreateRequest, +) + +from oss.src.core.evaluations.types import ( + EvaluationStatus, + EvaluationRunDataMappingStep, + EvaluationRunDataMappingColumn, + EvaluationRunDataMapping, + EvaluationRunDataStepInput, + EvaluationRunDataStep, + EvaluationRunData, + EvaluationRunFlags, + EvaluationRun, + EvaluationRunCreate, + EvaluationRunEdit, + EvaluationScenarioCreate, + EvaluationScenarioEdit, + EvaluationResultCreate, + EvaluationMetricsCreate, +) + +from oss.src.core.shared.dtos import Reference +from oss.src.core.workflows.dtos import ( + WorkflowServiceData, + WorkflowServiceRequest, + WorkflowServiceResponse, + WorkflowServiceInterface, + WorkflowRevisionData, + WorkflowRevision, + WorkflowVariant, + Workflow, +) + +from oss.src.core.queries.dtos import ( + QueryRevision, + QueryVariant, + Query, +) + +from oss.src.core.workflows.dtos import Tree + +from oss.src.core.evaluations.utils import get_metrics_keys_from_schema + + +log = get_module_logger(__name__) + + +# DBS -------------------------------------------------------------------------- + +tracing_dao = TracingDAO() + +testcases_dao = BlobsDAO( + BlobDBE=TestcaseBlobDBE, +) + +queries_dao = GitDAO( + ArtifactDBE=QueryArtifactDBE, + VariantDBE=QueryVariantDBE, + RevisionDBE=QueryRevisionDBE, +) + +testsets_dao = GitDAO( + ArtifactDBE=TestsetArtifactDBE, + VariantDBE=TestsetVariantDBE, + RevisionDBE=TestsetRevisionDBE, +) + +workflows_dao = GitDAO( + ArtifactDBE=WorkflowArtifactDBE, + VariantDBE=WorkflowVariantDBE, + RevisionDBE=WorkflowRevisionDBE, +) + +evaluations_dao = EvaluationsDAO() + +# CORE ------------------------------------------------------------------------- + +tracing_service = TracingService( + tracing_dao=tracing_dao, +) + +queries_service = QueriesService( + queries_dao=queries_dao, +) + +testcases_service = TestcasesService( + testcases_dao=testcases_dao, +) + +testsets_service = TestsetsService( + testsets_dao=testsets_dao, + testcases_service=testcases_service, +) + +simple_testsets_service = SimpleTestsetsService( + testsets_service=testsets_service, +) + +workflows_service = WorkflowsService( + workflows_dao=workflows_dao, +) + +evaluators_service = EvaluatorsService( + workflows_service=workflows_service, +) + +simple_evaluators_service = SimpleEvaluatorsService( + evaluators_service=evaluators_service, +) + +evaluations_service = EvaluationsService( + evaluations_dao=evaluations_dao, + tracing_service=tracing_service, + queries_service=queries_service, + testsets_service=testsets_service, + evaluators_service=evaluators_service, +) + +# APIS ------------------------------------------------------------------------- + +tracing_router = TracingRouter( + tracing_service=tracing_service, +) + +simple_testsets_router = SimpleTestsetsRouter( + simple_testsets_service=simple_testsets_service, +) # TODO: REMOVE/REPLACE ONCE TRANSFER IS MOVED TO 'core' + +simple_evaluators_router = SimpleEvaluatorsRouter( + simple_evaluators_service=simple_evaluators_service, +) # TODO: REMOVE/REPLACE ONCE TRANSFER IS MOVED TO 'core' + +annotations_service = AnnotationsService( + tracing_router=tracing_router, + evaluators_service=evaluators_service, + simple_evaluators_service=simple_evaluators_service, +) + +annotations_router = AnnotationsRouter( + annotations_service=annotations_service, +) # TODO: REMOVE/REPLACE ONCE ANNOTATE IS MOVED TO 'core' + +# ------------------------------------------------------------------------------ + + +async def setup_evaluation( + *, + project_id: UUID, + user_id: UUID, + # + name: Optional[str] = None, + description: Optional[str] = None, + # + testset_id: Optional[str] = None, + query_id: Optional[str] = None, + # + revision_id: Optional[str] = None, + # + autoeval_ids: Optional[List[str]] = None, +) -> Optional[EvaluationRun]: + request = Request(scope={"type": "http", "http_version": "1.1", "scheme": "http"}) + request.state.project_id = project_id + request.state.user_id = user_id + + run = None + + # -------------------------------------------------------------------------- + log.info("[SETUP] ", project_id=project_id, user_id=user_id) + log.info("[TESTSET] ", ids=[testset_id]) + log.info("[QUERY] ", ids=[query_id]) + log.info("[INVOCATON] ", ids=[revision_id]) + log.info("[ANNOTATION]", ids=autoeval_ids) + # -------------------------------------------------------------------------- + + try: + # create evaluation run ------------------------------------------------ + runs_create = [ + EvaluationRunCreate( + name=name, + description=description, + # + flags=( + EvaluationRunFlags( + is_closed=None, + is_live=True, + is_active=True, + ) + if query_id + else None + ), + # + status=EvaluationStatus.PENDING, + ) + ] + + runs = await evaluations_service.create_runs( + project_id=project_id, + user_id=user_id, + # + runs=runs_create, + ) + + assert len(runs) == 1, "Failed to create evaluation run." + + run = runs[0] + # ---------------------------------------------------------------------- + + # just-in-time transfer of testset ------------------------------------- + testset_input_steps_keys = list() + + testset_references = dict() + testset = None + + if testset_id: + testset_ref = Reference(id=UUID(testset_id)) + + testset_response = await simple_testsets_router.transfer_simple_testset( + request=request, + testset_id=UUID(testset_id), + ) + + assert ( + testset_response.count != 0 + ), f"Testset with id {testset_id} not found!" + + testset = testset_response.testset + testcases = testset.data.testcases + + testset_references["artifact"] = testset_ref + + testset_input_steps_keys.append( + get_slug_from_name_and_id(testset.name, testset.id) + ) + # ---------------------------------------------------------------------- + + # fetch query ---------------------------------------------------------- + query_input_steps_keys = list() + + query_references = dict() + query_revision = None + + if query_id: + query_ref = Reference(id=UUID(query_id)) + + query = await queries_service.fetch_query( + project_id=project_id, + # + query_ref=query_ref, + ) + + assert query is not None, f"Query with id {query_id} not found!" + + query_references["artifact"] = Reference( + id=query.id, + slug=query.slug, + ) + + query_revision = await queries_service.fetch_query_revision( + project_id=project_id, + # + query_ref=query_ref, + ) + + assert ( + query_revision is not None + ), f"Query revision with id {query_id} not found!" + + query_revision_ref = Reference( + id=query_revision.id, + slug=query_revision.slug, + ) + + query_references["revision"] = query_revision_ref + + query_variant = await queries_service.fetch_query_variant( + project_id=project_id, + query_variant_ref=Reference( + id=query_revision.variant_id, + ), + ) + + assert ( + query_variant is not None + ), f"Query variant with id {query_revision.variant_id} not found!" + + query_variant_ref = Reference( + id=query_variant.id, + slug=query_variant.slug, + ) + + query_references["variant"] = query_variant_ref + + query_input_steps_keys.append(query_revision.slug) + # ---------------------------------------------------------------------- + + # fetch application ---------------------------------------------------- + invocation_steps_keys = list() + + application_references = dict() + + if revision_id: + revision = await fetch_app_variant_revision_by_id(revision_id) + + assert ( + revision is not None + ), f"App revision with id {revision_id} not found!" + + application_references["revision"] = Reference( + id=UUID(str(revision.id)), + ) + + variant = await fetch_app_variant_by_id(str(revision.variant_id)) + + assert ( + variant is not None + ), f"App variant with id {revision.variant_id} not found!" + + application_references["variant"] = Reference( + id=UUID(str(variant.id)), + ) + + app = await fetch_app_by_id(str(variant.app_id)) + + assert app is not None, f"App with id {variant.app_id} not found!" + + application_references["artifact"] = Reference( + id=UUID(str(app.id)), + ) + + deployment = await get_deployment_by_id(str(revision.base.deployment_id)) + + assert ( + deployment is not None + ), f"Deployment with id {revision.base.deployment_id} not found!" + + uri = parse_url(url=deployment.uri) + + assert uri is not None, f"Invalid URI for deployment {deployment.id}!" + + revision_parameters = revision.config_parameters + + assert ( + revision_parameters is not None + ), f"Revision parameters for variant {variant.id} not found!" + + invocation_steps_keys.append( + get_slug_from_name_and_id(app.app_name, revision.id) + ) + # ---------------------------------------------------------------------- + + # fetch evaluators ----------------------------------------------------- + annotation_steps_keys = [] + + if autoeval_ids: + autoeval_configs = [] + + for autoeval_id in autoeval_ids: + autoeval_config = await fetch_evaluator_config(autoeval_id) + + autoeval_configs.append(autoeval_config) + + for autoeval_config in autoeval_configs: + annotation_steps_keys.append( + get_slug_from_name_and_id(autoeval_config.name, autoeval_config.id) + ) + # ---------------------------------------------------------------------- + + # just-in-time transfer of evaluators ---------------------------------- + annotation_metrics_keys = {key: {} for key in annotation_steps_keys} + evaluator_references = dict() + + for jdx, autoeval_id in enumerate(autoeval_ids): + annotation_step_key = annotation_steps_keys[jdx] + + evaluator_response = ( + await simple_evaluators_router.transfer_simple_evaluator( + request=request, + evaluator_id=UUID(autoeval_id), + ) + ) + + evaluator = evaluator_response.evaluator + + assert evaluator is not None, f"Evaluator with id {autoeval_id} not found!" + + evaluator_references[annotation_step_key] = {} + + evaluator_references[annotation_step_key]["artifact"] = Reference( + id=evaluator.id, + slug=evaluator.slug, + ) + + metrics_keys = get_metrics_keys_from_schema( + schema=(evaluator.data.schemas.get("outputs")), + ) + + annotation_metrics_keys[annotation_step_key] = [ + { + "path": metric_key.get("path", "").replace("outputs.", "", 1), + "type": metric_key.get("type", ""), + } + for metric_key in metrics_keys + ] + # ---------------------------------------------------------------------- + + # fetch evaluator workflows -------------------------------------------- + evaluators = dict() + + for annotation_step_key, references in evaluator_references.items(): + evaluators[annotation_step_key] = {} + + workflow_ref = references["artifact"] + + workflow = await workflows_service.fetch_workflow( + project_id=project_id, + # + workflow_ref=workflow_ref, + ) + + evaluators[annotation_step_key]["workflow"] = workflow + + workflow_revision = await workflows_service.fetch_workflow_revision( + project_id=project_id, + # + workflow_ref=workflow_ref, + ) + + assert ( + workflow_revision is not None + ), f"Workflow revision with id {workflow_ref.id} not found!" + + workflow_revision_ref = Reference( + id=workflow_revision.id, + slug=workflow_revision.slug, + ) + + evaluator_references[annotation_step_key][ + "revision" + ] = workflow_revision_ref + + evaluators[annotation_step_key]["revision"] = workflow_revision + + workflow_variant = await workflows_service.fetch_workflow_variant( + project_id=project_id, + workflow_variant_ref=Reference( + id=workflow_revision.variant_id, + ), + ) + + assert ( + workflow_variant is not None + ), f"Workflow variant with id {workflow_revision.variant_id} not found!" + + workflow_variant_ref = Reference( + id=workflow_variant.id, + slug=workflow_variant.slug, + ) + + evaluator_references[annotation_step_key]["variant"] = workflow_variant_ref + + evaluators[annotation_step_key]["variant"] = workflow_variant + + # ---------------------------------------------------------------------- + + # initialize steps/mappings in run ------------------------------------- + testset_input_step = ( + EvaluationRunDataStep( + key=testset_input_steps_keys[0], + type="input", + origin="auto", + references={ + "testset": testset_references["artifact"], + # "testset_variant": + # "testset_revision": + }, + ) + if testset and testset.id + else None + ) + + query_input_step = ( + EvaluationRunDataStep( + key=query_input_steps_keys[0], + type="input", + origin="auto", + references={ + "query": query_references["artifact"], + "query_variant": query_references["variant"], + "query_revision": query_references["revision"], + }, + ) + if query_id + else None + ) + + invocation_step = ( + EvaluationRunDataStep( + key=invocation_steps_keys[0], + type="invocation", + origin="auto", + references={ + "application": application_references["artifact"], + "application_variant": application_references["variant"], + "application_revision": application_references["revision"], + }, + inputs=[ + EvaluationRunDataStepInput( + key=testset_input_steps_keys[0], + ), + ], + ) + if revision_id + else None + ) + + annotation_steps = [ + EvaluationRunDataStep( + key=step_key, + type="annotation", + origin="auto", + references={ + "evaluator": evaluator_references[step_key]["artifact"], + "evaluator_variant": evaluator_references[step_key]["variant"], + "evaluator_revision": evaluator_references[step_key]["revision"], + }, + inputs=( + [ + EvaluationRunDataStepInput( + key=testset_input_steps_keys[0], + ), + EvaluationRunDataStepInput( + key=invocation_steps_keys[0], + ), + ] + if testset_id and revision_id + else [ + EvaluationRunDataStepInput( + key=query_input_steps_keys[0], + ), + ] + ), + ) + for step_key in annotation_steps_keys + ] + + steps: List[EvaluationRunDataStep] = list() + + if testset_id and testset_input_step: + steps.append(testset_input_step) + if query_id and query_input_step: + steps.append(query_input_step) + if revision_id and invocation_step: + steps.append(invocation_step) + + steps.extend(annotation_steps) + + testset_input_mappings = ( + [ + EvaluationRunDataMapping( + column=EvaluationRunDataMappingColumn( + kind="testset", + name=key, + ), + step=EvaluationRunDataMappingStep( + key=testset_input_steps_keys[0], + path=f"data.{key}", + ), + ) + for key in testcases[0].data.keys() + ] + if testset_id + else [] + ) + + query_input_mappings = ( + [ + EvaluationRunDataMapping( + column=EvaluationRunDataMappingColumn( + kind="query", + name="data", + ), + step=EvaluationRunDataMappingStep( + key=query_input_steps_keys[0], + path="attributes.ag.data", + ), + ) + ] + if query_id + else [] + ) + + invocation_mappings = ( + [ + EvaluationRunDataMapping( + column=EvaluationRunDataMappingColumn( + kind="invocation", + name="outputs", + ), + step=EvaluationRunDataMappingStep( + key=step_key, + path="attributes.ag.data.outputs", + ), + ) + for step_key in invocation_steps_keys + ] + if invocation_steps_keys + else [] + ) + + annotation_mappings = [ + EvaluationRunDataMapping( + column=EvaluationRunDataMappingColumn( + kind="annotation", + name=metric_key["path"], + ), + step=EvaluationRunDataMappingStep( + key=step_key, + path=f"attributes.ag.data.outputs{'.' + metric_key['path'] if metric_key['path'] else ''}", + ), + ) + for step_key in annotation_steps_keys + for metric_key in annotation_metrics_keys[step_key] + ] + + mappings: List[EvaluationRunDataMapping] = ( + testset_input_mappings + + query_input_mappings + + invocation_mappings + + annotation_mappings + ) + + run_edit = EvaluationRunEdit( + id=run.id, + # + name=run.name, + description=run.description, + # + flags=run.flags, + tags=run.tags, + meta=run.meta, + # + status=EvaluationStatus.RUNNING, + # + data=EvaluationRunData( + steps=steps, + mappings=mappings, + ), + ) + + run = await evaluations_service.edit_run( + project_id=project_id, + user_id=user_id, + # + run=run_edit, + ) + + assert run, f"Failed to edit evaluation run {run_edit.id}!" + # ---------------------------------------------------------------------- + + log.info("[DONE] ", run_id=run.id) + + except: # pylint: disable=bare-except + if run and run.id: + log.error("[FAIL] ", run_id=run.id, exc_info=True) + + await evaluations_service.delete_run( + project_id=project_id, + # + run_id=run.id, + ) + else: + log.error("[FAIL]", exc_info=True) + + run = None + + return run + + +@shared_task( + name="src.tasks.evaluations.legacy.annotate", + queue="src.tasks.evaluations.legacy.annotate", + bind=True, +) +def annotate( + self, + *, + project_id: UUID, + user_id: UUID, + # + run_id: UUID, + # + testset_id: str, + revision_id: str, + autoeval_ids: Optional[List[str]], + # + run_config: Dict[str, int], +): + """ + Annotates an application revision applied to a testset using auto evaluator(s). + + Args: + self: The task instance. + project_id (str): The ID of the project. + user_id (str): The ID of the user. + run_id (str): The ID of the evaluation run. + testset_id (str): The ID of the testset. + revision_id (str): The ID of the application revision. + autoeval_ids (List[str]): The IDs of the evaluators configurations. + run_config (Dict[str, int]): Configuration for evaluation run. + + Returns: + None + """ + request = Request( + scope={ + "type": "http", + "http_version": "1.1", + "scheme": "http", + } + ) + request.state.project_id = str(project_id) + request.state.user_id = str(user_id) + + loop = get_event_loop() + + run = None + + try: + # ---------------------------------------------------------------------- + log.info("[SCOPE] ", run_id=run_id, project_id=project_id, user_id=user_id) + log.info("[TESTSET] ", run_id=run_id, ids=[testset_id]) + log.info("[INVOCATON] ", run_id=run_id, ids=[revision_id]) + log.info("[ANNOTATION]", run_id=run_id, ids=autoeval_ids) + # ---------------------------------------------------------------------- + + # fetch project -------------------------------------------------------- + project = loop.run_until_complete( + get_project_by_id( + project_id=str(project_id), + ), + ) + # ---------------------------------------------------------------------- + + # fetch secrets -------------------------------------------------------- + secrets = loop.run_until_complete( + get_llm_providers_secrets( + project_id=str(project_id), + ), + ) + # ---------------------------------------------------------------------- + + # prepare credentials -------------------------------------------------- + secret_token = loop.run_until_complete( + sign_secret_token( + user_id=str(user_id), + project_id=str(project_id), + workspace_id=str(project.workspace_id), + organization_id=str(project.organization_id), + ) + ) + + credentials = f"Secret {secret_token}" + # ---------------------------------------------------------------------- + + # fetch run ------------------------------------------------------------ + run = loop.run_until_complete( + evaluations_service.fetch_run( + project_id=project_id, + # + run_id=run_id, + ) + ) + + assert run, f"Evaluation run with id {run_id} not found!" + + assert run.data, f"Evaluation run with id {run_id} has no data!" + + assert run.data.steps, f"Evaluation run with id {run_id} has no steps!" + + steps = run.data.steps + + invocation_steps = [step for step in steps if step.type == "invocation"] + annotation_steps = [step for step in steps if step.type == "annotation"] + + invocation_steps_keys = [step.key for step in invocation_steps] + annotation_steps_keys = [step.key for step in annotation_steps] + + nof_annotations = len(annotation_steps) + # ---------------------------------------------------------------------- + + # fetch testset -------------------------------------------------------- + testset_response = loop.run_until_complete( + simple_testsets_router.fetch_simple_testset( + request=request, + testset_id=testset_id, + ) + ) + + assert testset_response.count != 0, f"Testset with id {testset_id} not found!" + + testset = testset_response.testset + + testcases = testset.data.testcases + testcases_data = [ + {**testcase.data, "id": str(testcase.id)} for testcase in testcases + ] # INEFFICIENT: might want to have testcase_id in testset data (caution with hashing) + nof_testcases = len(testcases) + + testset_step_key = get_slug_from_name_and_id(testset.name, testset.id) + # ---------------------------------------------------------------------- + + # fetch application ---------------------------------------------------- + revision = loop.run_until_complete( + fetch_app_variant_revision_by_id(revision_id), + ) + + assert revision is not None, f"App revision with id {revision_id} not found!" + + variant = loop.run_until_complete( + fetch_app_variant_by_id(str(revision.variant_id)), + ) + + assert ( + variant is not None + ), f"App variant with id {revision.variant_id} not found!" + + app = loop.run_until_complete( + fetch_app_by_id(str(variant.app_id)), + ) + + assert app is not None, f"App with id {variant.app_id} not found!" + + deployment = loop.run_until_complete( + get_deployment_by_id(str(revision.base.deployment_id)), + ) + + assert ( + deployment is not None + ), f"Deployment with id {revision.base.deployment_id} not found!" + + uri = parse_url(url=deployment.uri) + + assert uri is not None, f"Invalid URI for deployment {deployment.id}!" + + revision_parameters = revision.config_parameters + + assert ( + revision_parameters is not None + ), f"Revision parameters for variant {variant.id} not found!" + # ---------------------------------------------------------------------- + + # fetch evaluators ----------------------------------------------------- + evaluator_references = {step.key: step.references for step in annotation_steps} + + evaluators = { + evaluator_key: loop.run_until_complete( + workflows_service.fetch_workflow_revision( + project_id=project_id, + # + workflow_revision_ref=evaluator_refs.get("evaluator_revision"), + ) + ) + for evaluator_key, evaluator_refs in evaluator_references.items() + } + # ---------------------------------------------------------------------- + + # prepare headers ------------------------------------------------------ + headers = {} + if credentials: + headers = {"Authorization": credentials} + headers["ngrok-skip-browser-warning"] = "1" + + openapi_parameters = None + max_recursive_depth = 5 + runtime_prefix = uri + route_path = "" + + while max_recursive_depth > 0 and not openapi_parameters: + try: + openapi_parameters = loop.run_until_complete( + llm_apps_service.get_parameters_from_openapi( + runtime_prefix + "/openapi.json", + route_path, + headers, + ), + ) + except Exception: # pylint: disable=broad-exception-caught + openapi_parameters = None + + if not openapi_parameters: + max_recursive_depth -= 1 + if not runtime_prefix.endswith("/"): + route_path = "/" + runtime_prefix.split("/")[-1] + route_path + runtime_prefix = "/".join(runtime_prefix.split("/")[:-1]) + else: + route_path = "" + runtime_prefix = runtime_prefix[:-1] + + openapi_parameters = loop.run_until_complete( + llm_apps_service.get_parameters_from_openapi( + runtime_prefix + "/openapi.json", + route_path, + headers, + ), + ) + # ---------------------------------------------------------------------- + + # create scenarios ----------------------------------------------------- + scenarios_create = [ + EvaluationScenarioCreate( + run_id=run_id, + # + status=EvaluationStatus.RUNNING, + ) + for _ in range(nof_testcases) + ] + + scenarios = loop.run_until_complete( + evaluations_service.create_scenarios( + project_id=project_id, + user_id=user_id, + # + scenarios=scenarios_create, + ) + ) + + assert ( + len(scenarios) == nof_testcases + ), f"Failed to create evaluation scenarios for run {run_id}!" + # ---------------------------------------------------------------------- + + # create input steps --------------------------------------------------- + steps_create = [ + EvaluationResultCreate( + run_id=run_id, + scenario_id=scenario.id, + step_key=testset_step_key, + # + status=EvaluationStatus.SUCCESS, + # + testcase_id=testcases[idx].id, + ) + for idx, scenario in enumerate(scenarios) + ] + + steps = loop.run_until_complete( + evaluations_service.create_results( + project_id=project_id, + user_id=user_id, + # + results=steps_create, + ) + ) + + assert ( + len(steps) == nof_testcases + ), f"Failed to create evaluation steps for run {run_id}!" + # ---------------------------------------------------------------------- + + # flatten testcases ---------------------------------------------------- + _testcases = [testcase.model_dump(mode="json") for testcase in testcases] + + log.info( + "[BATCH] ", + run_id=run_id, + ids=[testset_id], + count=len(_testcases), + size=len(dumps(_testcases).encode("utf-8")), + ) + # ---------------------------------------------------------------------- + + # invoke application --------------------------------------------------- + invocations: List[InvokationResult] = loop.run_until_complete( + llm_apps_service.batch_invoke( + project_id=str(project_id), + user_id=str(user_id), + testset_data=testcases_data, # type: ignore + parameters=revision_parameters, # type: ignore + uri=uri, + rate_limit_config=run_config, + application_id=str(app.id), # DO NOT REMOVE + references={ + "testset": {"id": testset_id}, + "application": {"id": str(app.id)}, + "application_variant": {"id": str(variant.id)}, + "application_revision": {"id": str(revision.id)}, + }, + ) + ) + # ---------------------------------------------------------------------- + + # create invocation steps ---------------------------------------------- + steps_create = [ + EvaluationResultCreate( + run_id=run_id, + scenario_id=scenario.id, + step_key=invocation_steps_keys[0], + # + status=( + EvaluationStatus.SUCCESS + if not invocations[idx].result.error + else EvaluationStatus.FAILURE + ), + # + trace_id=invocations[idx].trace_id, + error=( + invocations[idx].result.error.model_dump(mode="json") + if invocations[idx].result.error + else None + ), + ) + for idx, scenario in enumerate(scenarios) + ] + + steps = loop.run_until_complete( + evaluations_service.create_results( + project_id=project_id, + user_id=user_id, + # + results=steps_create, + ) + ) + + assert ( + len(steps) == nof_testcases + ), f"Failed to create evaluation steps for run {run_id}!" + # ---------------------------------------------------------------------- + + run_has_errors = 0 + run_status = EvaluationStatus.SUCCESS + + # run evaluators ------------------------------------------------------- + for idx in range(nof_testcases): + scenario = scenarios[idx] + testcase = testcases[idx] + invocation = invocations[idx] + + scenario_has_errors = 0 + scenario_status = EvaluationStatus.SUCCESS + + # skip the iteration if error in the invocation -------------------- + if invocation.result.error: + log.error( + f"There is an error in invocation {invocation.trace_id} so we skip its evaluation" + ) + + scenario_has_errors += 1 + run_has_errors += 1 + scenario_status = EvaluationStatus.ERRORS + run_status = EvaluationStatus.ERRORS + + error = invocation.result.error.model_dump(mode="json") is not None + # ------------------------------------------------------------------ + + # proceed with the evaluation otherwise ---------------------------- + else: + # run the evaluators if no error in the invocation ------------- + for jdx in range(nof_annotations): + annotation_step_key = annotation_steps_keys[jdx] + + step_has_errors = 0 + step_status = EvaluationStatus.SUCCESS + + references = { + **evaluator_references[annotation_step_key], + "testset": {"id": testset_id}, + "testcase": {"id": str(testcase.id)}, + } + links = { + invocation_steps_keys[0]: { + "trace_id": invocation.trace_id, + "span_id": invocation.span_id, + } + } + + # invoke annotation workflow ------------------------------- + workflow_revision = evaluators[annotation_step_key] + + workflows_service_request = WorkflowServiceRequest( + version="2025.07.14", + flags={ + "is_annotation": True, + "inline": True, + }, + tags=None, + meta=None, + data=WorkflowServiceData( + inputs=testcase.data, + # trace= + trace_parameters=revision_parameters, + trace_outputs=invocation.result.value["data"], + tree=( + Tree( + version=invocation.result.value.get("version"), + nodes=invocation.result.value["tree"].get("nodes"), + ) + if "tree" in invocation.result.value + else None + ), + ), + references=references, + links=links, + credentials=credentials, + secrets=secrets, + ) + + workflows_service_response = loop.run_until_complete( + workflows_service.invoke_workflow( + project_id=project_id, + user_id=user_id, + # + request=workflows_service_request, + revision=workflow_revision, + ) + ) + # ---------------------------------------------------------- + + # run evaluator -------------------------------------------- + trace_id = None + error = None + + has_error = workflows_service_response.status.code != 200 + + # if error in evaluator, no annotation, only step ---------- + if has_error: + log.warn( + f"There is an error in annotation {annotation_step_key} for invocation {invocation.trace_id}." + ) + + step_has_errors += 1 + scenario_has_errors += 1 + run_has_errors += 1 + step_status = EvaluationStatus.FAILURE + scenario_status = EvaluationStatus.ERRORS + run_status = EvaluationStatus.ERRORS + + error = workflows_service_response.status.model_dump( + mode="json" + ) + + # ---------------------------------------------------------- + + # else, first annotation, then step ------------------------ + else: + outputs = workflows_service_response.data.outputs or {} + + annotation_create_request = AnnotationCreateRequest( + annotation=AnnotationCreate( + origin=AnnotationOrigin.AUTO, + kind=AnnotationKind.EVAL, + channel=AnnotationChannel.API, # hardcoded + # + data={"outputs": outputs}, + # + references=references, + links=links, + ) + ) + + annotation_response = loop.run_until_complete( + annotations_router.create_annotation( + request=request, + annotation_create_request=annotation_create_request, + ) + ) + + assert ( + annotation_response.count != 0 + ), f"Failed to create annotation for invocation {invocation.trace_id} and evaluator {references.get('evaluator').get('id')}" + + trace_id = annotation_response.annotation.trace_id + # ---------------------------------------------------------- + + steps_create = [ + EvaluationResultCreate( + run_id=run_id, + scenario_id=scenario.id, + step_key=annotation_step_key, + # + status=step_status, + # + trace_id=trace_id, + error=error, + ) + ] + + steps = loop.run_until_complete( + evaluations_service.create_results( + project_id=project_id, + user_id=user_id, + # + results=steps_create, + ) + ) + + assert ( + len(steps) == 1 + ), f"Failed to create evaluation step for scenario with id {scenario.id}!" + # ------------------------------------------------------------------ + + scenario_edit = EvaluationScenarioEdit( + id=scenario.id, + tags=scenario.tags, + meta=scenario.meta, + status=scenario_status, + ) + + scenario = loop.run_until_complete( + evaluations_service.edit_scenario( + project_id=project_id, + user_id=user_id, + # + scenario=scenario_edit, + ) + ) + + assert ( + scenario + ), f"Failed to edit evaluation scenario with id {scenario.id}!" + + if scenario_status != EvaluationStatus.FAILURE: + try: + metrics = loop.run_until_complete( + evaluations_service.refresh_metrics( + project_id=project_id, + user_id=user_id, + # + run_id=run_id, + scenario_id=scenario.id, + ) + ) + + if not metrics: + log.warning( + f"Refreshing metrics failed for {run_id} | {scenario.id}" + ) + + except Exception as e: + log.warning( + f"Refreshing metrics failed for {run_id} | {scenario.id}", + exc_info=True, + ) + # ---------------------------------------------------------------------- + + except Exception as e: # pylint: disable=broad-exception-caught + log.error( + f"An error occurred during evaluation: {e}", + exc_info=True, + ) + + self.update_state(state=states.FAILURE) + + run_status = EvaluationStatus.FAILURE + + if not run: + log.info("[FAIL] ", run_id=run_id, project_id=project_id, user_id=user_id) + + if run_status != EvaluationStatus.FAILURE: + try: + metrics = loop.run_until_complete( + evaluations_service.refresh_metrics( + project_id=project_id, + user_id=user_id, + # + run_id=run_id, + ) + ) + + if not metrics: + log.warning(f"Refreshing metrics failed for {run_id}") + + self.update_state(state=states.FAILURE) + + run_status = EvaluationStatus.FAILURE + + except Exception as e: # pylint: disable=broad-exception-caught + log.warning(f"Refreshing metrics failed for {run_id}", exc_info=True) + + self.update_state(state=states.FAILURE) + + run_status = EvaluationStatus.FAILURE + + # edit evaluation run status ----------------------------------------------- + run_edit = EvaluationRunEdit( + id=run_id, + # + name=run.name, + description=run.description, + # + tags=run.tags, + meta=run.meta, + # + status=run_status, + # + data=run.data, + ) + + loop.run_until_complete( + evaluations_service.edit_run( + project_id=project_id, + user_id=user_id, + # + run=run_edit, + ) + ) + + # edit meters to avoid conting failed evaluations -------------------------- + if run_status == EvaluationStatus.FAILURE: + loop.run_until_complete( + check_entitlements( + organization_id=project.organization_id, + key=Counter.EVALUATIONS, + delta=-1, + ) + ) + + log.info("[DONE] ", run_id=run_id, project_id=project_id, user_id=user_id) + + return diff --git a/api/ee/src/tasks/evaluations/live.py b/api/ee/src/tasks/evaluations/live.py new file mode 100644 index 0000000000..0095206d42 --- /dev/null +++ b/api/ee/src/tasks/evaluations/live.py @@ -0,0 +1,771 @@ +from typing import List, Dict, Any +from uuid import UUID +import asyncio +from datetime import datetime + +from celery import shared_task +from fastapi import Request + +from oss.src.utils.logging import get_module_logger +from oss.src.services.auth_helper import sign_secret_token +from oss.src.services.db_manager import get_project_by_id +from oss.src.core.secrets.utils import get_llm_providers_secrets + +from oss.src.dbs.postgres.queries.dbes import ( + QueryArtifactDBE, + QueryVariantDBE, + QueryRevisionDBE, +) +from oss.src.dbs.postgres.testcases.dbes import ( + TestcaseBlobDBE, +) +from oss.src.dbs.postgres.testsets.dbes import ( + TestsetArtifactDBE, + TestsetVariantDBE, + TestsetRevisionDBE, +) +from oss.src.dbs.postgres.workflows.dbes import ( + WorkflowArtifactDBE, + WorkflowVariantDBE, + WorkflowRevisionDBE, +) + +from oss.src.dbs.postgres.tracing.dao import TracingDAO +from oss.src.dbs.postgres.blobs.dao import BlobsDAO +from oss.src.dbs.postgres.git.dao import GitDAO +from oss.src.dbs.postgres.evaluations.dao import EvaluationsDAO + +from oss.src.core.tracing.service import TracingService +from oss.src.core.queries.service import QueriesService +from oss.src.core.testcases.service import TestcasesService +from oss.src.core.testsets.service import TestsetsService +from oss.src.core.testsets.service import SimpleTestsetsService +from oss.src.core.workflows.service import WorkflowsService +from oss.src.core.evaluators.service import EvaluatorsService +from oss.src.core.evaluators.service import SimpleEvaluatorsService +from oss.src.core.evaluations.service import EvaluationsService +from oss.src.core.annotations.service import AnnotationsService + +# from oss.src.apis.fastapi.tracing.utils import make_hash_id +from oss.src.apis.fastapi.tracing.router import TracingRouter +from oss.src.apis.fastapi.annotations.router import AnnotationsRouter + +from oss.src.core.annotations.types import ( + AnnotationOrigin, + AnnotationKind, + AnnotationChannel, +) +from oss.src.apis.fastapi.annotations.models import ( + AnnotationCreate, + AnnotationCreateRequest, +) + +from oss.src.core.evaluations.types import ( + EvaluationStatus, + EvaluationScenarioCreate, + EvaluationScenarioEdit, + EvaluationResultCreate, +) +from oss.src.core.shared.dtos import ( + Reference, + Link, +) +from oss.src.core.tracing.dtos import ( + Filtering, + Windowing, + Formatting, + Format, + Focus, + TracingQuery, + OTelSpansTree as Trace, + LogicalOperator, + SimpleTraceReferences, +) +from oss.src.core.workflows.dtos import ( + WorkflowServiceData, + WorkflowServiceRequest, +) +from oss.src.core.queries.dtos import ( + QueryRevision, +) +from oss.src.core.evaluators.dtos import ( + EvaluatorRevision, +) + +log = get_module_logger(__name__) + + +# DBS -------------------------------------------------------------------------- + +tracing_dao = TracingDAO() + +testcases_dao = BlobsDAO( + BlobDBE=TestcaseBlobDBE, +) + +queries_dao = GitDAO( + ArtifactDBE=QueryArtifactDBE, + VariantDBE=QueryVariantDBE, + RevisionDBE=QueryRevisionDBE, +) + +testsets_dao = GitDAO( + ArtifactDBE=TestsetArtifactDBE, + VariantDBE=TestsetVariantDBE, + RevisionDBE=TestsetRevisionDBE, +) + +workflows_dao = GitDAO( + ArtifactDBE=WorkflowArtifactDBE, + VariantDBE=WorkflowVariantDBE, + RevisionDBE=WorkflowRevisionDBE, +) + +evaluations_dao = EvaluationsDAO() + +# CORE ------------------------------------------------------------------------- + +tracing_service = TracingService( + tracing_dao=tracing_dao, +) + +queries_service = QueriesService( + queries_dao=queries_dao, +) + +testcases_service = TestcasesService( + testcases_dao=testcases_dao, +) + +testsets_service = TestsetsService( + testsets_dao=testsets_dao, + testcases_service=testcases_service, +) + +simple_testsets_service = SimpleTestsetsService( + testsets_service=testsets_service, +) + +workflows_service = WorkflowsService( + workflows_dao=workflows_dao, +) + +evaluators_service = EvaluatorsService( + workflows_service=workflows_service, +) + +simple_evaluators_service = SimpleEvaluatorsService( + evaluators_service=evaluators_service, +) + +evaluations_service = EvaluationsService( + evaluations_dao=evaluations_dao, + tracing_service=tracing_service, + queries_service=queries_service, + testsets_service=testsets_service, + evaluators_service=evaluators_service, +) + +# APIS ------------------------------------------------------------------------- + +tracing_router = TracingRouter( + tracing_service=tracing_service, +) + +annotations_service = AnnotationsService( + tracing_router=tracing_router, + evaluators_service=evaluators_service, + simple_evaluators_service=simple_evaluators_service, +) + +annotations_router = AnnotationsRouter( + annotations_service=annotations_service, +) # TODO: REMOVE/REPLACE ONCE ANNOTATE IS MOVED TO 'core' + +# ------------------------------------------------------------------------------ + + +@shared_task( + name="src.tasks.evaluations.live.evaluate", + queue="src.tasks.evaluations.live.evaluate", + bind=True, +) +def evaluate( + self, + *, + project_id: UUID, + user_id: UUID, + # + run_id: UUID, + # + newest: datetime, + oldest: datetime, +): + request = Request(scope={"type": "http", "http_version": "1.1", "scheme": "http"}) + + request.state.project_id = str(project_id) + request.state.user_id = str(user_id) + + loop = asyncio.get_event_loop() + + # count in minutes + timestamp = oldest + interval = int((newest - oldest).total_seconds() / 60) + + try: + # ---------------------------------------------------------------------- + log.info( + "[SCOPE] ", + run_id=run_id, + project_id=project_id, + user_id=user_id, + ) + + log.info( + "[RANGE] ", + run_id=run_id, + timestamp=timestamp, + interval=interval, + ) + # ---------------------------------------------------------------------- + + # fetch project -------------------------------------------------------- + project = loop.run_until_complete( + get_project_by_id(project_id=str(project_id)), + ) + # ---------------------------------------------------------------------- + + # fetch provider keys from secrets ------------------------------------- + secrets = loop.run_until_complete( + get_llm_providers_secrets(str(project_id)), + ) + # ---------------------------------------------------------------------- + + # prepare credentials -------------------------------------------------- + secret_token = loop.run_until_complete( + sign_secret_token( + user_id=str(user_id), + project_id=str(project_id), + workspace_id=str(project.workspace_id), + organization_id=str(project.organization_id), + ) + ) + + credentials = f"Secret {secret_token}" + # ---------------------------------------------------------------------- + + # fetch evaluation run ------------------------------------------------- + run = loop.run_until_complete( + evaluations_service.fetch_run( + project_id=project_id, + run_id=run_id, + ) + ) + + assert run, f"Evaluation run with id {run_id} not found!" + + assert run.data, f"Evaluation run with id {run_id} has no data!" + + assert run.data.steps, f"Evaluation run with id {run_id} has no steps!" + + steps = run.data.steps + + input_steps = { + step.key: step for step in steps if step.type == "input" # -------- + } + invocation_steps = { + step.key: step for step in steps if step.type == "invocation" + } + annotation_steps = { + step.key: step for step in steps if step.type == "annotation" + } + + input_steps_keys = list(input_steps.keys()) + invocation_steps_keys = list(invocation_steps.keys()) + annotation_steps_keys = list(annotation_steps.keys()) + + nof_inputs = len(input_steps_keys) + nof_invocations = len(invocation_steps_keys) + nof_annotations = len(annotation_steps_keys) + # ---------------------------------------------------------------------- + + # initialize query variables ------------------------------------------- + query_revision_refs: Dict[str, Reference] = dict() + # + query_revisions: Dict[str, QueryRevision] = dict() + query_references: Dict[str, Dict[str, Reference]] = dict() + # + query_traces: Dict[str, Dict[str, Trace]] = dict() + # ---------------------------------------------------------------------- + + # initialize evaluator variables --------------------------------------- + evaluator_revision_refs: Dict[str, Reference] = dict() + # + evaluator_revisions: Dict[str, EvaluatorRevision] = dict() + evaluator_references: Dict[str, Dict[str, Reference]] = dict() + # ---------------------------------------------------------------------- + + # get query steps references ------------------------------------------- + for input_step_key in input_steps_keys: + query_refs = input_steps[input_step_key].references + query_revision_ref = query_refs.get("query_revision") + + if query_revision_ref: + query_revision_refs[input_step_key] = query_revision_ref + + # ---------------------------------------------------------------------- + + # get evaluator steps references --------------------------------------- + for annotation_step_key in annotation_steps_keys: + evaluator_refs = annotation_steps[annotation_step_key].references + evaluator_revision_ref = evaluator_refs.get("evaluator_revision") + + if evaluator_revision_ref: + evaluator_revision_refs[annotation_step_key] = evaluator_revision_ref + # ---------------------------------------------------------------------- + + # fetch query revisions ------------------------------------------------ + for ( + query_step_key, + query_revision_ref, + ) in query_revision_refs.items(): + query_revision = loop.run_until_complete( + queries_service.fetch_query_revision( + project_id=project_id, + # + query_revision_ref=query_revision_ref, + ) + ) + + if ( + not query_revision + or not query_revision.id + or not query_revision.slug + or not query_revision.data + ): + log.warn( + f"Query revision with ref {query_revision_ref.model_dump(mode='json')} not found!" + ) + continue + + query_step = input_steps[query_step_key] + + query_revisions[query_step_key] = query_revision + query_references[query_step_key] = query_step.references + # ---------------------------------------------------------------------- + + # fetch evaluator revisions -------------------------------------------- + for ( + evaluator_step_key, + evaluator_revision_ref, + ) in evaluator_revision_refs.items(): + evaluator_revision = loop.run_until_complete( + evaluators_service.fetch_evaluator_revision( + project_id=project_id, + # + evaluator_revision_ref=evaluator_revision_ref, + ) + ) + + if ( + not evaluator_revision + or not evaluator_revision.id + or not evaluator_revision.slug + or not evaluator_revision.data + ): + log.warn( + f"Evaluator revision with ref {evaluator_revision_ref.model_dump(mode='json')} not found!" + ) + continue + + evaluator_step = annotation_steps[evaluator_step_key] + + evaluator_revisions[evaluator_step_key] = evaluator_revision + evaluator_references[evaluator_step_key] = evaluator_step.references + # ---------------------------------------------------------------------- + + # run query revisions -------------------------------------------------- + for query_step_key, query_revision in query_revisions.items(): + formatting = Formatting( + focus=Focus.TRACE, + format=Format.AGENTA, + ) + filtering = Filtering( + operator=LogicalOperator.AND, + conditions=list(), + ) + windowing = Windowing( + oldest=oldest, + newest=newest, + next=None, + limit=None, + order="ascending", + interval=None, + rate=None, + ) + + if query_revision.data: + if query_revision.data.filtering: + filtering = query_revision.data.filtering + + if query_revision.data.windowing: + windowing.rate = query_revision.data.windowing.rate + + query = TracingQuery( + formatting=formatting, + filtering=filtering, + windowing=windowing, + ) + + tracing_response = loop.run_until_complete( + tracing_router.query_spans( + request=request, + # + query=query, + ) + ) + + nof_traces = tracing_response.count + + log.info( + "[TRACES] ", + run_id=run_id, + count=nof_traces, + ) + + query_traces[query_step_key] = tracing_response.traces or dict() + # ---------------------------------------------------------------------- + + # run online evaluation ------------------------------------------------ + for query_step_key in query_traces.keys(): + if not query_traces[query_step_key].keys(): + continue + + # create scenarios ------------------------------------------------- + + nof_traces = len(query_traces[query_step_key].keys()) + + scenarios_create = [ + EvaluationScenarioCreate( + run_id=run_id, + timestamp=timestamp, + interval=interval, + # + status=EvaluationStatus.RUNNING, + ) + for _ in range(nof_traces) + ] + + scenarios = loop.run_until_complete( + evaluations_service.create_scenarios( + project_id=project_id, + user_id=user_id, + # + scenarios=scenarios_create, + ) + ) + + if len(scenarios) != nof_traces: + log.error( + "[LIVE] Could not create evaluation scenarios", + run_id=run_id, + ) + continue + # ------------------------------------------------------------------ + + # create query steps ----------------------------------------------- + query_trace_ids = list(query_traces[query_step_key].keys()) + scenario_ids = [scenario.id for scenario in scenarios if scenario.id] + + results_create = [ + EvaluationResultCreate( + run_id=run_id, + scenario_id=scenario_id, + step_key=query_step_key, + repeat_idx=1, + timestamp=timestamp, + interval=interval, + # + status=EvaluationStatus.SUCCESS, + # + trace_id=query_trace_id, + ) + for scenario_id, query_trace_id in zip(scenario_ids, query_trace_ids) + ] + + results = loop.run_until_complete( + evaluations_service.create_results( + project_id=project_id, + user_id=user_id, + # + results=results_create, + ) + ) + + assert ( + len(results) == nof_traces + ), f"Failed to create evaluation results for run {run_id}!" + # ------------------------------------------------------------------ + + scenario_has_errors: Dict[int, int] = dict() + scenario_status: Dict[int, EvaluationStatus] = dict() + + # iterate over query traces ---------------------------------------- + for idx, trace in enumerate(query_traces[query_step_key].values()): + scenario_has_errors[idx] = 0 + scenario_status[idx] = EvaluationStatus.SUCCESS + + scenario = scenarios[idx] + scenario_id = scenario_ids[idx] + query_trace_id = query_trace_ids[idx] + + if not isinstance(trace.spans, dict): + log.warn( + f"Trace with id {query_trace_id} has no root spans", + run_id=run_id, + ) + scenario_has_errors[idx] += 1 + scenario_status[idx] = EvaluationStatus.ERRORS + continue + + root_span = list(trace.spans.values())[0] + + if isinstance(root_span, list): + log.warn( + f"More than one root span for trace with id {query_trace_id}", + run_id=run_id, + ) + scenario_has_errors[idx] += 1 + scenario_status[idx] = EvaluationStatus.ERRORS + continue + + query_span_id = root_span.span_id + + log.info( + "[TRACE] ", + run_id=run_id, + trace_id=query_trace_id, + ) + + # run evaluator revisions -------------------------------------- + for ( + evaluator_step_key, + evaluator_revision, + ) in evaluator_revisions.items(): + step_has_errors = 0 + step_status = EvaluationStatus.SUCCESS + + references: dict = evaluator_references[evaluator_step_key] + links: dict = dict( + query_step_key=Link( + trace_id=query_trace_id, + span_id=query_span_id, + ) + ) + + parameters: dict = ( + evaluator_revision.data.parameters or {} + if evaluator_revision.data + else {} + ) + inputs: dict = {} + outputs: Any = None + + trace_attributes: dict = root_span.attributes or {} + trace_ag_attributes: dict = trace_attributes.get("ag", {}) + trace_data: dict = trace_ag_attributes.get("data", {}) + trace_parameters: dict = trace_data.get("parameters", {}) + trace_inputs: dict = trace_data.get("inputs", {}) + trace_outputs: Any = trace_data.get("outputs") + + workflow_service_data = WorkflowServiceData( + # + parameters=parameters, + inputs=inputs, + # + trace_parameters=trace_parameters, + trace_inputs=trace_inputs, + trace_outputs=trace_outputs, + # + trace=trace, + ) + + workflow_service_request = WorkflowServiceRequest( + version="2025.07.14", + # + flags={ + "is_annotation": True, + "inline": True, + }, + tags=None, + meta=None, + # + data=workflow_service_data, + # + references=references, + links=links, + # + credentials=credentials, + secrets=secrets, + ) + + workflow_revision = evaluator_revision + + workflows_service_response = loop.run_until_complete( + workflows_service.invoke_workflow( + project_id=project_id, + user_id=user_id, + # + request=workflow_service_request, + revision=workflow_revision, + ) + ) + + evaluator_trace_id = None + error = None + + has_error = workflows_service_response.status.code != 200 + + # if error in evaluator, no annotation, only step ---------- + if has_error: + log.warn( + f"There is an error in evaluator {evaluator_step_key} for query {query_trace_id}." + ) + + step_has_errors += 1 + step_status = EvaluationStatus.FAILURE + scenario_has_errors[idx] += 1 + scenario_status[idx] = EvaluationStatus.ERRORS + + error = workflows_service_response.status.model_dump( + mode="json", + exclude_none=True, + ) + # ---------------------------------------------------------- + + # else, first annotation, then step ------------------------ + else: + outputs = ( + workflows_service_response.data.outputs + if workflows_service_response.data + else None + ) + + annotation_create_request = AnnotationCreateRequest( + annotation=AnnotationCreate( + origin=AnnotationOrigin.AUTO, + kind=AnnotationKind.EVAL, + channel=AnnotationChannel.API, + # + data={"outputs": outputs}, + # + references=SimpleTraceReferences(**references), + links=links, + ) + ) + + annotation_response = loop.run_until_complete( + annotations_router.create_annotation( + request=request, + annotation_create_request=annotation_create_request, + ) + ) + + if ( + not annotation_response.count + or not annotation_response.annotation + ): + log.warn( + f"Failed to create annotation for query {query_trace_id} and evaluator {evaluator_revision.id}" + ) + step_has_errors += 1 + step_status = EvaluationStatus.FAILURE + scenario_has_errors[idx] += 1 + scenario_status[idx] = EvaluationStatus.ERRORS + continue + + evaluator_trace_id = annotation_response.annotation.trace_id + # ---------------------------------------------------------- + + results_create = [ + EvaluationResultCreate( + run_id=run_id, + scenario_id=scenario_id, + step_key=evaluator_step_key, + repeat_idx=1, + timestamp=timestamp, + interval=interval, + # + status=step_status, + # + trace_id=evaluator_trace_id, + error=error, + ) + ] + + results = loop.run_until_complete( + evaluations_service.create_results( + project_id=project_id, + user_id=user_id, + # + results=results_create, + ) + ) + + assert ( + len(results) == 1 + ), f"Failed to create evaluation result for scenario with id {scenario.id}!" + # -------------------------------------------------------------- + + scenario_edit = EvaluationScenarioEdit( + id=scenario.id, + tags=scenario.tags, + meta=scenario.meta, + status=scenario_status[idx], + ) + + scenario = loop.run_until_complete( + evaluations_service.edit_scenario( + project_id=project_id, + user_id=user_id, + # + scenario=scenario_edit, + ) + ) + + if not scenario or not scenario.id: + log.error( + f"Failed to update evaluation scenario with id {scenario_id}!", + run_id=run_id, + ) + + loop.run_until_complete( + evaluations_service.refresh_metrics( + project_id=project_id, + user_id=user_id, + # + run_id=run_id, + scenario_id=scenario_id, + ) + ) + # ------------------------------------------------------------------ + + loop.run_until_complete( + evaluations_service.refresh_metrics( + project_id=project_id, + user_id=user_id, + # + run_id=run_id, + timestamp=timestamp, + interval=interval, + ) + ) + except Exception as e: # pylint: disable=broad-exception-caught + log.error(e, exc_info=True) + + log.info( + "[DONE] ", + run_id=run_id, + ) + + return diff --git a/api/ee/src/utils/entitlements.py b/api/ee/src/utils/entitlements.py new file mode 100644 index 0000000000..13360aad77 --- /dev/null +++ b/api/ee/src/utils/entitlements.py @@ -0,0 +1,169 @@ +from typing import Union, Optional, Callable +from uuid import UUID + +from oss.src.utils.logging import get_module_logger +from oss.src.utils.caching import get_cache, set_cache + +log = get_module_logger(__name__) + +from fastapi.responses import JSONResponse + +from ee.src.core.subscriptions.service import SubscriptionsService +from ee.src.core.entitlements.types import ( + Tracker, + Flag, + Counter, + Gauge, + Plan, + ENTITLEMENTS, +) +from ee.src.core.meters.service import MetersService +from ee.src.core.meters.types import MeterDTO +from ee.src.dbs.postgres.meters.dao import MetersDAO +from ee.src.dbs.postgres.subscriptions.dao import SubscriptionsDAO + +meters_service = MetersService( + meters_dao=MetersDAO(), +) + +subscriptions_service = SubscriptionsService( + subscriptions_dao=SubscriptionsDAO(), + meters_service=meters_service, +) + + +class EntitlementsException(Exception): + pass + + +NOT_ENTITLED_RESPONSE: Callable[ + [Tracker], JSONResponse +] = lambda tracker=None: JSONResponse( + status_code=403, + content={ + "detail": ( + "You have reached your monthly quota limit. Please upgrade your plan to continue." + if tracker == Tracker.COUNTERS + else ( + "You have reached your quota limit. Please upgrade your plan to continue." + if tracker == Tracker.GAUGES + else ( + "You do not have access to this feature. Please upgrade your plan to continue." + if tracker == Tracker.FLAGS + else "You do not have access to this feature." + ) + ) + ), + }, +) + + +async def check_entitlements( + organization_id: UUID, + key: Union[Flag, Counter, Gauge], + delta: Optional[int] = None, +) -> tuple[bool, Optional[MeterDTO], Optional[Callable]]: + flag = None + try: + flag = Flag(key) + except ValueError: + pass + + counter = None + try: + counter = Counter(key) + except ValueError: + pass + + gauge = None + try: + gauge = Gauge(key) + except ValueError: + pass + + if flag is None and counter is None and gauge is None: + raise EntitlementsException(f"Invalid key [{key}]") + + cache_key = { + "organization_id": organization_id, + } + + subscription_data = await get_cache( + namespace="entitlements:subscription", + key=cache_key, + ) + + if subscription_data is None: + subscription = await subscriptions_service.read(organization_id=organization_id) + + if not subscription: + raise EntitlementsException( + f"No subscription found for organization [{organization_id}]" + ) + + subscription_data = { + "plan": subscription.plan.value, + "anchor": subscription.anchor, + } + + await set_cache( + namespace="entitlements:subscription", + key=cache_key, + value=subscription_data, + ) + + plan = Plan(subscription_data.get("plan")) + anchor = subscription_data.get("anchor") + + if plan not in ENTITLEMENTS: + raise EntitlementsException(f"Missing plan [{plan}] in entitlements") + + if flag: + if flag not in ENTITLEMENTS[plan][Tracker.FLAGS]: + raise EntitlementsException(f"Invalid flag: {flag} for plan [{plan}]") + + check = ENTITLEMENTS[plan][Tracker.FLAGS][flag] + + if flag.name != "RBAC": + # TODO: remove this line + log.info( + f"adjusting: {organization_id} | | {'allow' if check else 'deny '} | {flag.name}" + ) + + return check is True, None, None + + quota = None + + if counter: + if counter not in ENTITLEMENTS[plan][Tracker.COUNTERS]: + raise EntitlementsException(f"Invalid counter: {counter} for plan [{plan}]") + + quota = ENTITLEMENTS[plan][Tracker.COUNTERS][counter] + + if gauge: + if gauge not in ENTITLEMENTS[plan][Tracker.GAUGES]: + raise EntitlementsException(f"Invalid gauge: {gauge} for plan [{plan}]") + + quota = ENTITLEMENTS[plan][Tracker.GAUGES][gauge] + + if not quota: + raise EntitlementsException(f"No quota found for key [{key}] in plan [{plan}]") + + meter = MeterDTO( + organization_id=organization_id, + key=key, + delta=delta, + ) + + check, meter, _ = await meters_service.adjust( + meter=meter, + quota=quota, + anchor=anchor, + ) + + # TODO: remove this line + log.info( + f"adjusting: {organization_id} | {(('0' if (meter.month != 0 and meter.month < 10) else '') + str(meter.month)) if meter.month != 0 else ' '}.{meter.year if meter.year else ' '} | {'allow' if check else 'deny '} | {meter.key}: {meter.value-meter.synced} [{meter.value}]" + ) + + return check is True, meter, _ diff --git a/api/ee/src/utils/permissions.py b/api/ee/src/utils/permissions.py new file mode 100644 index 0000000000..312bcb05b6 --- /dev/null +++ b/api/ee/src/utils/permissions.py @@ -0,0 +1,304 @@ +from typing import Dict, List, Union, Optional + +from fastapi import HTTPException +from fastapi.responses import JSONResponse + +from oss.src.utils.logging import get_module_logger +from oss.src.utils.caching import get_cache, set_cache + +from ee.src.models.db_models import ( + OrganizationDB, + WorkspaceDB, + Permission, + WorkspaceRole, + ProjectDB, +) +from oss.src.services import db_manager +from ee.src.services import db_manager_ee +from ee.src.utils.entitlements import check_entitlements, Flag +from ee.src.services.selectors import get_user_org_and_workspace_id + + +log = get_module_logger(__name__) + +FORBIDDEN_EXCEPTION = HTTPException( + status_code=403, + detail="You do not have access to perform this action. Please contact your organization admin.", +) + + +async def check_user_org_access( + kwargs: dict, organization_id: str, check_owner=False +) -> bool: + if check_owner: # Check that the user is the owner of the organization + user = await db_manager.get_user_with_id(user_id=kwargs["id"]) + organization = await db_manager_ee.get_organization(organization_id) + if not organization: + log.error("Organization not found") + raise Exception("Organization not found") + return organization.owner == str(user.id) # type: ignore + else: + user_organizations: List = kwargs["organization_ids"] + user_exists_in_organizations = organization_id in user_organizations + return user_exists_in_organizations + + +async def check_user_access_to_workspace( + user_org_workspace_data: Dict[str, Union[str, list]], + workspace: WorkspaceDB, + organization: OrganizationDB, +) -> bool: + """ + Check if a user has access to a specific workspace and the workspace organization. + + Args: + user_org_workspace_data (Dict[str, Union[str, list]]): User-specific information. + workspace (WorkspaceDB): The workspace to check. + organization (OrganizationDB): The organization to check. + + Returns: + bool: True if the user has access, False otherwise. + + Raises: + ValueError: If the workspace does not belong to the organization. + """ + + workspace_organization_id = str(workspace.organization_id) + if ( + workspace is None + or organization is None + or workspace_organization_id != str(organization.id) + ): + raise ValueError("Workspace does not belong to the provided organization") + + # Check that the user belongs to the organization + has_organization_access = await check_user_org_access( + user_org_workspace_data, workspace_organization_id + ) + if not has_organization_access: + log.error("User does not belong and have access to the organization") + return False + + # Check that the user belongs to the workspace + user_id = user_org_workspace_data.get("id") + if user_id is None: + log.error("User ID is missing in user_org_workspace_data") + return False + + workspace_members = workspace.get_all_members() + if user_id not in workspace_members: + log.error("User does not belong to the workspace") + return False + + # Check that the workspace is in the user's workspaces + has_access_to_workspace = any( + str(workspace.id) == workspace_id + for workspace_id in user_org_workspace_data["workspace_ids"] + ) + return has_access_to_workspace + + +async def check_action_access( + user_uid: str, + project_id: str = None, + permission: Permission = None, + role: str = None, +) -> bool: + """ + Check if a user belongs to a workspace and has a certain permission. + + Args: + user_id (str): The user's ID. + object_id (str): The ID of the object to check. + type (str): The type of the object to check. + permission (Permission): The permission to check. + role (str): The role to check. + + Returns: + bool: True if the user belongs to the workspace and has the specified permission, False otherwise. + """ + + if permission is None and role is None: + raise Exception("Either permission or role must be provided") + elif permission is not None and role is not None: + raise Exception("Only one of permission or role must be provided") + + cache_key = { + "permission": permission.value if permission else None, + "role": role, + } + + has_permission = await get_cache( + project_id=project_id, + user_id=user_uid, + namespace="check_action_access", + key=cache_key, + ) + + if has_permission is not None: + return has_permission + + user_org_workspace_data: dict = await get_user_org_and_workspace_id(user_uid) + has_permission = await check_rbac_permission( + user_org_workspace_data=user_org_workspace_data, + project_id=project_id, + role=role, + permission=permission, + ) + + await set_cache( + project_id=project_id, + user_id=user_uid, + namespace="check_action_access", + key=cache_key, + value=has_permission, + ) + + return has_permission + + +# async def check_apikey_action_access( +# api_key: str, user_id: str, permission: Permission +# ): +# """ +# Check if an api key belongs to a user for a workspace and has the right permission. + +# Args: +# api_key (str): The api key +# user_id (str): The user (owner) ID of the api_key +# permission (Permission): The permission to check for. +# """ + +# api_key_prefix = api_key.split(".")[0] +# api_key_db = await db_manager.get_user_api_key_by_prefix( +# api_key_prefix=api_key_prefix, user_id=user_id +# ) +# if api_key_db is None: +# raise HTTPException( +# 404, {"message": f"API Key with prefix {api_key_prefix} not found"} +# ) + +# project_db = await db_manager.get_project_by_id( +# project_id=str(api_key_db.project_id) +# ) +# if project_db is None: +# raise HTTPException( +# 404, +# {"message": f"Project with ID {str(api_key_db.workspace_id)} not found"}, +# ) + +# has_access = await check_project_has_role_or_permission( +# project_db, str(api_key_db.created_by_id), None, permission +# ) +# if not has_access: +# raise HTTPException( +# 403, +# { +# "message": "You do not have access to perform this action. Please contact your organization admin." +# }, +# ) + + +async def check_rbac_permission( + user_org_workspace_data: Dict[str, Union[str, list]], + project_id: str = None, + permission: Permission = None, + role: str = None, +) -> bool: + """ + Check if a user belongs to a workspace and has a certain permission. + + Args: + user_org_workspace_data (Dict[str, Union[str, list]]): User-specific information containing the id, uid, list of user organization and list of user workspace. + project_id (str): The ID of the project. + permission (Permission): The permission to check for. + role (str): The role to check for. + + Returns: + bool: True if the user belongs to the workspace and has the specified permission, False otherwise. + """ + + assert ( + project_id is not None + ), "Project_ID is required to check object-level permissions" + + # Assert that either permission or role is provided, but not both + assert (permission is not None) or ( + role is not None + ), "Either 'permission' or 'role' must be provided, but neither is provided" + assert not ( + (permission is not None) and (role is not None) + ), "'permission' and 'role' cannot both be provided at the same time" + + if project_id is not None: + project = await db_manager.get_project_by_id(project_id) + if project is None: + raise Exception("Project not found") + + workspace = await db_manager.get_workspace(str(project.workspace_id)) + organization = await db_manager_ee.get_organization( + str(project.organization_id) + ) + + workspace_has_access = await check_user_access_to_workspace( + user_org_workspace_data=user_org_workspace_data, + workspace=workspace, + organization=organization, + ) + if not workspace_has_access: + log.error("User does not have access to the workspace") + return False + + user_id = user_org_workspace_data["id"] + assert isinstance(user_id, str), "User ID must be a string" + has_access = await check_project_has_role_or_permission( + project, user_id, role, permission + ) + return has_access + + +async def check_project_has_role_or_permission( + # organization_id: str, + project: ProjectDB, + user_id: str, + role: Optional[str] = None, + permission: Optional[str] = None, +): + """Check if a user has the provided role or permission in a project. + + Args: + project (ProjectDB): The project to check if the user has permissions to + user_id (str): The ID of the user + role (Optional[str], optional): The role to check for. Defaults to None. + permission (Optional[str], optional): The permission to check for. Defaults to None. + """ + + check, _, _ = await check_entitlements( + organization_id=project.organization_id, + key=Flag.RBAC, + ) + + if not check: + return True + + assert ( + role is not None or permission is not None + ), "Either role or permission must be provided" + + project_members = await db_manager_ee.get_project_members( + project_id=str(project.id) + ) + if project.is_owner(user_id, project_members): + return True + + if role is not None: + if role not in list(WorkspaceRole): + raise Exception("Invalid role specified") + return project.has_role(user_id, role, project_members) + + if permission is not None: + if permission not in list(Permission): + raise Exception("Invalid permission specified") + return project.has_permission(user_id, permission, project_members) + + return False diff --git a/api/ee/tests/__init__.py b/api/ee/tests/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/api/ee/tests/manual/billing.http b/api/ee/tests/manual/billing.http new file mode 100644 index 0000000000..6158dac23f --- /dev/null +++ b/api/ee/tests/manual/billing.http @@ -0,0 +1,52 @@ + +@host = http://localhost +@base_url = {{host}}/api/billing +@api_key = xxx.xxx +### + +# @name open_portal +POST {{base_url}}/stripe/portals/ +Content-Type: application/json +Authorization: ApiKey {{api_key}} + +### + +# @name open_checkout +POST {{base_url}}/stripe/checkouts/?plan=cloud_v0_pro&success_url=http://localhost/ +Content-Type: application/json +Authorization: ApiKey {{api_key}} + +### + +# @name fetch_plans +GET {{base_url}}/plans +Content-Type: application/json +Authorization: ApiKey {{api_key}} + +### + +# @name switch_plans +POST {{base_url}}/plans/switch?plan=cloud_v0_pro +Content-Type: application/json +Authorization: ApiKey {{api_key}} + +### + +# @name fetch_subscription +GET {{base_url}}/subscription +Content-Type: application/json +Authorization: ApiKey {{api_key}} + +### + +# @name cancel_subscription +POST {{base_url}}/subscription/cancel +Content-Type: application/json +Authorization: ApiKey {{api_key}} + +### + +# @name fetch_usage +GET {{base_url}}/usage +Content-Type: application/json +Authorization: ApiKey {{api_key}} diff --git a/api/ee/tests/manual/evaluations/live.http b/api/ee/tests/manual/evaluations/live.http new file mode 100644 index 0000000000..6a43280046 --- /dev/null +++ b/api/ee/tests/manual/evaluations/live.http @@ -0,0 +1,131 @@ +@auth_key = {{$dotenv.AGENTA_AUTH_KEY}} || change-me +@api_url = {{$dotenv AGENTA_API_URL}} +@api_key = {{$dotenv AGENTA_API_KEY}} + + +### +# @name create_account +POST {{api_url}}/admin/account +Content-Type: application/json +Authorization: Access {{auth_key}} + +### +@user_id = {{create_account.response.body.user.id}} +# @authorization = {{create_account.response.body.scopes[0].credentials}} +@authorization = ApiKey {{api_key}} + +### +# @name list_queries +POST {{api_url}}/preview/simple/queries/query +Content-Type: application/json +Authorization: {{authorization}} + +{} + +### +# @name create_query +POST {{api_url}}/preview/simple/queries/ +Content-Type: application/json +Authorization: {{authorization}} + +{ + "query": { + "slug": "{{$guid}}", + "name": "Test Query", + "description": "This is a test query", + "tags": { + "my_key": "my_value" + }, + "data": { + "filtering": { + "conditions": [ + { + "field": "attributes", + "key": "ag.type.trace", + "operator": "is", + "value": "invocation" + } + ] + } + } + } +} + +### +# @name fetch_query_revision +POST {{api_url}}/preview/queries/revisions/retrieve +Content-Type: application/json +Authorization: {{authorization}} + +{ + "query_ref": { + "id": "{{create_query.response.body.query.id}}" + } +} + +### +# @name list_evaluators +POST {{api_url}}/preview/simple/evaluators/query +Content-Type: application/json +Authorization: {{authorization}} + +{} + +### +# @name fetch_evaluator_revision +POST {{api_url}}/preview/evaluators/revisions/retrieve +Content-Type: application/json +Authorization: {{authorization}} + +{ + "evaluator_ref": { + "id": "{{list_evaluators.response.body.evaluators[2].id}}" + } +} + +### +# @name list_evaluations +POST {{api_url}}/preview/simple/evaluations/query +Content-Type: application/json +Authorization: {{authorization}} + +{} + +### +# @name create_evaluation +POST {{api_url}}/preview/simple/evaluations/ +Content-Type: application/json +Authorization: {{authorization}} + +{ + "evaluation": { + "name": "Test JIT Evaluation", + "description": "This is a test jit evaluation", + "tags": { + "my_key": "my_value" + }, + "flags": { + "is_live": true + }, + "data": { + "query_steps": [ + "{{fetch_query_revision.response.body.query_revision.id}}" + ], + "evaluator_steps": [ + "{{fetch_evaluator_revision.response.body.evaluator_revision.evaluator_id}}" + ] + } + } +} + +### +# @name stop_evaluation +POST {{api_url}}/preview/simple/evaluations/{{create_evaluation.response.body.evaluation.id}}/stop +Content-Type: application/json +Authorization: {{authorization}} + +### +# @name start_evaluation +POST {{api_url}}/preview/simple/evaluations/{{create_evaluation.response.body.evaluation.id}}/start +Content-Type: application/json +Authorization: {{authorization}} diff --git a/api/ee/tests/manual/evaluations/sdk/client.py b/api/ee/tests/manual/evaluations/sdk/client.py new file mode 100644 index 0000000000..c930eee323 --- /dev/null +++ b/api/ee/tests/manual/evaluations/sdk/client.py @@ -0,0 +1,32 @@ +from os import getenv + +import requests + +BASE_TIMEOUT = 10 + +AGENTA_API_KEY = getenv("AGENTA_API_KEY") +AGENTA_API_URL = getenv("AGENTA_API_URL") + + +def authed_api(): + """ + Preconfigured requests for authenticated endpoints (supports all methods). + """ + + api_url = AGENTA_API_URL + credentials = f"ApiKey {AGENTA_API_KEY}" + + def _request(method: str, endpoint: str, **kwargs): + url = f"{api_url}{endpoint}" + headers = kwargs.pop("headers", {}) + headers.setdefault("Authorization", credentials) + + return requests.request( + method=method, + url=url, + headers=headers, + timeout=BASE_TIMEOUT, + **kwargs, + ) + + return _request diff --git a/api/ee/tests/manual/evaluations/sdk/definitions.py b/api/ee/tests/manual/evaluations/sdk/definitions.py new file mode 100644 index 0000000000..4768515ef3 --- /dev/null +++ b/api/ee/tests/manual/evaluations/sdk/definitions.py @@ -0,0 +1,1818 @@ +from enum import Enum +from uuid import UUID, uuid4 +from re import match +from datetime import datetime +from typing import Dict, List, Optional, Union, Literal, Callable, Any, TypeAliasType + +from pydantic import BaseModel, field_validator, Field + +# oss.src.core.shared.dtos ----------------------------------------------------- + +from typing import Optional, Dict, List, Union, Literal +from uuid import UUID +from datetime import datetime +from re import match + +from pydantic import BaseModel, field_validator + +from typing_extensions import TypeAliasType + + +BoolJson: TypeAliasType = TypeAliasType( # type: ignore + "BoolJson", + Union[bool, Dict[str, "BoolJson"]], # type: ignore +) + +StringJson: TypeAliasType = TypeAliasType( # type: ignore + "StringJson", + Union[str, Dict[str, "StringJson"]], # type: ignore +) + +FullJson: TypeAliasType = TypeAliasType( # type: ignore + "FullJson", + Union[str, int, float, bool, None, Dict[str, "FullJson"], List["FullJson"]], # type: ignore +) + +NumericJson: TypeAliasType = TypeAliasType( # type: ignore + "NumericJson", + Union[int, float, Dict[str, "NumericJson"]], # type: ignore +) + +NoListJson: TypeAliasType = TypeAliasType( # type: ignore + "NoListJson", + Union[str, int, float, bool, None, Dict[str, "NoListJson"]], # type: ignore +) + +Json = Dict[str, FullJson] # type: ignore + +Data = Dict[str, FullJson] # type: ignore + +Flags = Dict[str, bool | str] + +Tags = Dict[str, NoListJson] # type: ignore + +Meta = Dict[str, FullJson] # type: ignore + +Hashes = Dict[str, StringJson] # type: ignore + + +class Metadata(BaseModel): + flags: Optional[Flags] = None # type: ignore + meta: Optional[Meta] = None # type: ignore + tags: Optional[Tags] = None # type: ignore + + +class Windowing(BaseModel): + # RANGE + newest: Optional[datetime] = None + oldest: Optional[datetime] = None + # TOKEN + next: Optional[UUID] = None + # LIMIT + limit: Optional[int] = None + # ORDER + order: Optional[Literal["ascending", "descending"]] = None + # SAMPLES + rate: Optional[float] = None + # BUCKETS + interval: Optional[int] = None + + @field_validator("rate") + def check_rate(cls, v): + if v is not None and (v < 0.0 or v > 1.0): + raise ValueError("Sampling rate must be between 0.0 and 1.0.") + return v + + @field_validator("interval") + def check_interval(cls, v): + if v is not None and v <= 0: + raise ValueError("Bucket interval must be a positive integer.") + return v + + +class Lifecycle(BaseModel): + created_at: Optional[datetime] = None + updated_at: Optional[datetime] = None + deleted_at: Optional[datetime] = None + + created_by_id: Optional[UUID] = None + updated_by_id: Optional[UUID] = None + deleted_by_id: Optional[UUID] = None + + +class TraceID(BaseModel): + trace_id: Optional[str] = None + + +class SpanID(BaseModel): + span_id: Optional[str] = None + + +class Identifier(BaseModel): + id: Optional[UUID] = None + + +class Slug(BaseModel): + slug: Optional[str] = None + + @field_validator("slug") + def check_url_safety(cls, v): + if v is not None: + if not match(r"^[a-zA-Z0-9_-]+$", v): + raise ValueError("slug must be URL-safe.") + return v + + +class Version(BaseModel): + version: Optional[str] = None + + +class Header(BaseModel): + name: Optional[str] = None + description: Optional[str] = None + + +class Commit(BaseModel): + author: Optional[UUID] = None + date: Optional[datetime] = None + message: Optional[str] = None + + +class Reference(Identifier, Slug, Version): + pass + + +class Link(TraceID, SpanID): + pass + + +def sync_alias(primary: str, alias: str, instance: BaseModel) -> None: + primary_val = getattr(instance, primary) + alias_val = getattr(instance, alias) + if primary_val and alias_val is None: + object.__setattr__(instance, alias, primary_val) + elif alias_val and primary_val is None: + object.__setattr__(instance, primary, alias_val) + + +class AliasConfig(BaseModel): + model_config = { + "populate_by_name": True, + "from_attributes": True, + } + + +Metrics = Dict[str, NumericJson] # type: ignore + + +class LegacyLifecycleDTO(BaseModel): + created_at: Optional[str] = None + updated_at: Optional[str] = None + updated_by_id: Optional[str] = None + # DEPRECATING + updated_by: Optional[str] = None # email + + +class Status(BaseModel): + code: Optional[int] = 500 + type: Optional[str] = None + message: Optional[str] = "An unexpected error occurred. Please try again later." + stacktrace: Optional[str] = None + + +Mappings = Dict[str, str] + +Schema = Dict[str, FullJson] # type: ignore + +# ------------------------------------------------------------------------------ + +# oss.src.core.git.dtos -------------------------------------------------------- + +from typing import Optional, List +from uuid import UUID + +from pydantic import BaseModel + + +# artifacts -------------------------------------------------------------------- + + +class Artifact(Identifier, Slug, Lifecycle, Header, Metadata): + pass + + +class ArtifactCreate(Slug, Header, Metadata): + pass + + +class ArtifactEdit(Identifier, Header, Metadata): + pass + + +class ArtifactQuery(Metadata): + pass + + +# variants --------------------------------------------------------------------- + + +class Variant(Identifier, Slug, Lifecycle, Header, Metadata): + artifact_id: Optional[UUID] = None + + +class VariantCreate(Slug, Header, Metadata): + artifact_id: Optional[UUID] = None + + +class VariantEdit(Identifier, Header, Metadata): + pass + + +class VariantQuery(Metadata): + pass + + +# revisions -------------------------------------------------------------------- + + +class Revision(Identifier, Slug, Version, Lifecycle, Header, Metadata, Commit): + data: Optional[Data] = None + + artifact_id: Optional[UUID] = None + variant_id: Optional[UUID] = None + + +class RevisionCreate(Slug, Header, Metadata): + artifact_id: Optional[UUID] = None + variant_id: Optional[UUID] = None + + +class RevisionEdit(Identifier, Header, Metadata): + pass + + +class RevisionQuery(Metadata): + authors: Optional[List[UUID]] = None + + +class RevisionCommit(Slug, Header, Metadata): + data: Optional[Data] = None + + message: Optional[str] = None + + artifact_id: Optional[UUID] = None + variant_id: Optional[UUID] = None + + +class RevisionsLog(BaseModel): + artifact_id: Optional[UUID] = None + variant_id: Optional[UUID] = None + revision_id: Optional[UUID] = None + + depth: Optional[int] = None + + +# forks ------------------------------------------------------------------------ + + +class RevisionFork(Slug, Header, Metadata): + data: Optional[Data] = None + + message: Optional[str] = None + + +class VariantFork(Slug, Header, Metadata): + pass + + +class ArtifactFork(RevisionsLog): + variant: Optional[VariantFork] = None + revision: Optional[RevisionFork] = None + + +# ------------------------------------------------------------------------------ + + +Origin = Literal["custom", "human", "auto"] +# Target = Union[List[UUID], Dict[UUID, Origin], List[Callable]] +Target = Union[ + List[List[Dict[str, Any]]], # testcases_data + List[Callable], # workflow_handlers + List[UUID], # entity_ids + Dict[UUID, Origin], # entity_ids with origins +] + + +# oss.src.core.evaluations.types + + +class EvaluationStatus(str, Enum): + PENDING = "pending" + QUEUED = "queued" + RUNNING = "running" + SUCCESS = "success" + FAILURE = "failure" + ERRORS = "errors" + CANCELLED = "cancelled" + + +class EvaluationRunFlags(BaseModel): + is_closed: Optional[bool] = None # Indicates if the run is modifiable + is_live: Optional[bool] = None # Indicates if the run has live queries + is_active: Optional[bool] = None # Indicates if the run is currently active + + +class SimpleEvaluationFlags(EvaluationRunFlags): + pass + + +SimpleEvaluationStatus = EvaluationStatus + + +class SimpleEvaluationData(BaseModel): + status: Optional[SimpleEvaluationStatus] = None + + query_steps: Optional[Target] = None + testset_steps: Optional[Target] = None + application_steps: Optional[Target] = None + evaluator_steps: Optional[Target] = None + + repeats: Optional[int] = None + + +class EvaluationRun(BaseModel): + id: UUID + + +class EvaluationScenario(BaseModel): + id: UUID + + run_id: UUID + + +class EvaluationResult(BaseModel): + id: UUID + + run_id: UUID + scenario_id: UUID + step_key: str + + testcase_id: Optional[UUID] = None + trace_id: Optional[UUID] = None + error: Optional[dict] = None + + flags: Optional[Dict[str, Any]] = None + tags: Optional[Dict[str, Any]] = None + meta: Optional[Dict[str, Any]] = None + + +class EvaluationMetrics(Identifier, Lifecycle): + flags: Optional[Dict[str, Any]] = None + tags: Optional[Dict[str, Any]] = None + meta: Optional[Dict[str, Any]] = None + + status: Optional[EvaluationStatus] = None + + timestamp: Optional[datetime] = None + interval: Optional[int] = None + + data: Optional[Data] = None + + scenario_id: Optional[UUID] = None + + run_id: UUID + + +# oss.src.core.tracing.dtos + +import random +import string +from enum import Enum +from datetime import datetime, timezone +from typing import List, Dict, Any, Union, Optional, Literal +from uuid import UUID + +from pydantic import BaseModel, model_validator, Field + + +class TraceType(Enum): + INVOCATION = "invocation" + ANNOTATION = "annotation" + # + UNKNOWN = "unknown" + + +class SpanType(Enum): + AGENT = "agent" + CHAIN = "chain" + WORKFLOW = "workflow" + TASK = "task" + TOOL = "tool" + EMBEDDING = "embedding" + QUERY = "query" + LLM = "llm" + COMPLETION = "completion" + CHAT = "chat" + RERANK = "rerank" + # + UNKNOWN = "unknown" + + +class AgMetricEntryAttributes(BaseModel): + # cumulative: 'cum' can't be used though + cumulative: Optional[Metrics] = None + # incremental 'inc' could be used, since 'unit' may be confusing + incremental: Optional[Metrics] = None + + model_config = {"ser_json_exclude_none": True} + + +class AgMetricsAttributes(BaseModel): + duration: Optional[AgMetricEntryAttributes] = None + errors: Optional[AgMetricEntryAttributes] = None + tokens: Optional[AgMetricEntryAttributes] = None + costs: Optional[AgMetricEntryAttributes] = None + + model_config = {"ser_json_exclude_none": True} + + +class AgTypeAttributes(BaseModel): + trace: Optional[TraceType] = TraceType.INVOCATION + span: Optional[SpanType] = SpanType.TASK + + +class AgDataAttributes(BaseModel): + parameters: Optional[Dict[str, Any]] = None + inputs: Optional[Dict[str, Any]] = None + outputs: Optional[Any] = None + internals: Optional[Dict[str, Any]] = None + + model_config = {"ser_json_exclude_none": True} + + +class AgAttributes(BaseModel): + type: AgTypeAttributes = Field(default_factory=AgTypeAttributes) + data: AgDataAttributes = Field(default_factory=AgDataAttributes) + + metrics: Optional[AgMetricsAttributes] = None + flags: Optional[Flags] = None # type: ignore + tags: Optional[Tags] = None # type: ignore + meta: Optional[Meta] = None # type: ignore + exception: Optional[Data] = None # type: ignore + references: Optional[Dict[str, "OTelReference"]] = None + unsupported: Optional[Data] = None # type: ignore + + model_config = {"ser_json_exclude_none": True} + + +## --- SUB-ENTITIES --- ## + + +class OTelStatusCode(Enum): + STATUS_CODE_UNSET = "STATUS_CODE_UNSET" + STATUS_CODE_OK = "STATUS_CODE_OK" + STATUS_CODE_ERROR = "STATUS_CODE_ERROR" + + +class OTelSpanKind(Enum): + SPAN_KIND_UNSPECIFIED = "SPAN_KIND_UNSPECIFIED" + SPAN_KIND_INTERNAL = "SPAN_KIND_INTERNAL" + SPAN_KIND_SERVER = "SPAN_KIND_SERVER" + SPAN_KIND_CLIENT = "SPAN_KIND_CLIENT" + SPAN_KIND_PRODUCER = "SPAN_KIND_PRODUCER" + SPAN_KIND_CONSUMER = "SPAN_KIND_CONSUMER" + + +OTelAttributes = Json # type: ignore +OTelMetrics = Metrics # type: ignore +OTelTags = Tags # type: ignore + +Attributes = OTelAttributes # type: ignore + + +class OTelEvent(BaseModel): + name: str + timestamp: Union[datetime, int] + + attributes: Optional[OTelAttributes] = None + + +OTelEvents = List[OTelEvent] + + +class OTelHash(Identifier): + attributes: Optional[OTelAttributes] = None + + +OTelHashes = List[OTelHash] + + +class OTelLink(TraceID, SpanID): + attributes: Optional[OTelAttributes] = None + + +OTelLinks = List[OTelLink] + + +class OTelReference(Reference): + attributes: Optional[OTelAttributes] = None + + +OTelReferences = List[OTelReference] + + +class OTelSpansTree(BaseModel): + spans: Optional["OTelNestedSpans"] = None + + +OTelSpansTrees = List[OTelSpansTree] + + +class OTelFlatSpan(Lifecycle): + trace_id: str + span_id: str + parent_id: Optional[str] = None + + trace_type: Optional[TraceType] = None + span_type: Optional[SpanType] = None + + span_kind: Optional[OTelSpanKind] = None + span_name: Optional[str] = None + + start_time: Optional[Union[datetime, int]] = None + end_time: Optional[Union[datetime, int]] = None + + status_code: Optional[OTelStatusCode] = None + status_message: Optional[str] = None + + attributes: Optional[OTelAttributes] = None + references: Optional[OTelReferences] = None + links: Optional[OTelLinks] = None + hashes: Optional[OTelHashes] = None + + exception: Optional[Data] = None # type: ignore + + events: Optional[OTelEvents] = None + + @model_validator(mode="after") + def set_defaults(self): + if self.trace_type is None: + self.trace_type = TraceType.INVOCATION + if self.span_type is None: + self.span_type = SpanType.TASK + if self.span_kind is None: + self.span_kind = OTelSpanKind.SPAN_KIND_UNSPECIFIED + if self.status_code is None: + self.status_code = OTelStatusCode.STATUS_CODE_UNSET + if self.end_time is None and self.start_time is not None: + self.end_time = self.start_time + if self.start_time is None and self.end_time is not None: + self.start_time = self.end_time + if self.start_time is None and self.end_time is None: + now = datetime.now(timezone.utc) + self.start_time = now + self.end_time = now + if self.span_name is None: + self.span_name = "".join( + random.choices(string.ascii_letters + string.digits, k=8) + ) + return self + + +class OTelSpan(OTelFlatSpan, OTelSpansTree): + pass + + +OTelFlatSpans = List[OTelFlatSpan] +OTelNestedSpans = Dict[str, Union[OTelSpan, List[OTelSpan]]] +OTelTraceTree = Dict[str, OTelSpansTree] +OTelTraceTrees = List[OTelTraceTree] +OTelSpans = List[OTelSpan] + + +class Fields(str, Enum): + TRACE_ID = "trace_id" + SPAN_ID = "span_id" + PARENT_ID = "parent_id" + SPAN_NAME = "span_name" + SPAN_KIND = "span_kind" + START_TIME = "start_time" + END_TIME = "end_time" + STATUS_CODE = "status_code" + STATUS_MESSAGE = "status_message" + ATTRIBUTES = "attributes" + EVENTS = "events" + LINKS = "links" + REFERENCES = "references" + CREATED_AT = "created_at" + UPDATED_AT = "updated_at" + DELETED_AT = "deleted_at" + CREATED_BY_ID = "created_by_id" + UPDATED_BY_ID = "updated_by_id" + DELETED_BY_ID = "deleted_by_id" + CONTENT = "content" + + +class LogicalOperator(str, Enum): + AND = "and" + OR = "or" + NOT = "not" + NAND = "nand" + NOR = "nor" + + +class ComparisonOperator(str, Enum): + IS = "is" + IS_NOT = "is_not" + + +class NumericOperator(str, Enum): + EQ = "eq" + NEQ = "neq" + GT = "gt" + LT = "lt" + GTE = "gte" + LTE = "lte" + BETWEEN = "btwn" + + +class StringOperator(str, Enum): + STARTSWITH = "startswith" + ENDSWITH = "endswith" + CONTAINS = "contains" + MATCHES = "matches" + LIKE = "like" + + +class DictOperator(str, Enum): + HAS = "has" + HAS_NOT = "has_not" + + +class ListOperator(str, Enum): + IN = "in" + NOT_IN = "not_in" + + +class ExistenceOperator(str, Enum): + EXISTS = "exists" + NOT_EXISTS = "not_exists" + + +class TextOptions(BaseModel): + case_sensitive: Optional[bool] = False + exact_match: Optional[bool] = False + + +class ListOptions(BaseModel): + all: Optional[bool] = False + + +class Condition(BaseModel): + field: str + key: Optional[str] = None + value: Optional[Union[str, int, float, bool, list, dict]] = None + operator: Optional[ + Union[ + ComparisonOperator, + NumericOperator, + StringOperator, + ListOperator, + DictOperator, + ExistenceOperator, + ] + ] = ComparisonOperator.IS + options: Optional[Union[TextOptions, ListOptions]] = None + + +class Filtering(BaseModel): + operator: Optional[LogicalOperator] = LogicalOperator.AND + conditions: List[Union[Condition, "Filtering"]] = list() + + +class Focus(str, Enum): + TRACE = "trace" + SPAN = "span" + + +class Format(str, Enum): + AGENTA = "agenta" + OPENTELEMETRY = "opentelemetry" + + +class Formatting(BaseModel): + focus: Optional[Focus] = Focus.SPAN + format: Optional[Format] = Format.AGENTA + + +class TracingQuery(BaseModel): + formatting: Optional[Formatting] = None + windowing: Optional[Windowing] = None + filtering: Optional[Filtering] = None + + +_C_OPS = list(ComparisonOperator) +_N_OPS = list(NumericOperator) +_S_OPS = list(StringOperator) +_L_OPS = list(ListOperator) +_D_OPS = list(DictOperator) +_E_OPS = list(ExistenceOperator) + + +class FilteringException(Exception): + pass + + +class Analytics(BaseModel): + count: Optional[int] = 0 + duration: Optional[float] = 0.0 + costs: Optional[float] = 0.0 + tokens: Optional[float] = 0.0 + + def plus(self, other: "Analytics") -> "Analytics": + self.count += other.count + self.duration += other.duration + self.costs += other.costs + self.tokens += other.tokens + + return self + + +class Bucket(BaseModel): + timestamp: datetime + interval: int + total: Analytics + errors: Analytics + + +Trace = OTelSpansTree + +# oss.src.core.observability.dtos + +from enum import Enum +from uuid import UUID +from datetime import datetime +from typing import List, Dict, Any, Union, Optional + +from pydantic import BaseModel + + +## --- SUB-ENTITIES --- ## + + +class RootDTO(BaseModel): + id: UUID + + +class TreeType(Enum): + INVOCATION = "invocation" + ANNOTATION = "annotation" + # + UNKNOWN = "unknown" + + +class TreeDTO(BaseModel): + id: UUID + type: Optional[TreeType] = None + + +class NodeType(Enum): + # --- VARIANTS --- # + ## SPAN_KIND_SERVER + AGENT = "agent" + WORKFLOW = "workflow" + CHAIN = "chain" + ## SPAN_KIND_INTERNAL + TASK = "task" + ## SPAN_KIND_CLIENT + TOOL = "tool" + EMBEDDING = "embedding" + QUERY = "query" + COMPLETION = "completion" # LEGACY + CHAT = "chat" + RERANK = "rerank" + # --- VARIANTS --- # + + +class NodeDTO(BaseModel): + id: UUID + name: str + type: Optional[NodeType] = None + + +class ParentDTO(BaseModel): + id: UUID + + +class TimeDTO(BaseModel): + start: datetime + end: datetime + + +class StatusCode(Enum): + UNSET = "UNSET" + OK = "OK" + ERROR = "ERROR" + + +class StatusDTO(BaseModel): + code: StatusCode + message: Optional[str] = None + + class Config: + use_enum_values = True + + +Attributes = Dict[str, Any] + + +class ExceptionDTO(BaseModel): + timestamp: datetime + type: str + message: Optional[str] = None + stacktrace: Optional[str] = None + attributes: Optional[Attributes] = None + + class Config: + json_encoders = { + UUID: lambda v: str(v), # pylint: disable=unnecessary-lambda + datetime: lambda dt: dt.isoformat(), + } + + +Data = Dict[str, Any] +Metrics = Dict[str, Any] +Meta = Dict[str, Any] +Refs = Dict[str, Any] + + +class LinkDTO(BaseModel): + type: TreeType # Yes, this is correct + id: UUID # node_id, this is correct + tree_id: Optional[UUID] = None + + class Config: + use_enum_values = True + json_encoders = { + UUID: lambda v: str(v), # pylint: disable=unnecessary-lambda + } + + +class OTelSpanKind(Enum): + SPAN_KIND_UNSPECIFIED = "SPAN_KIND_UNSPECIFIED" + # INTERNAL + SPAN_KIND_INTERNAL = "SPAN_KIND_INTERNAL" + # SYNCHRONOUS + SPAN_KIND_SERVER = "SPAN_KIND_SERVER" + SPAN_KIND_CLIENT = "SPAN_KIND_CLIENT" + # ASYNCHRONOUS + SPAN_KIND_PRODUCER = "SPAN_KIND_PRODUCER" + SPAN_KIND_CONSUMER = "SPAN_KIND_CONSUMER" + + +class OTelStatusCode(Enum): + STATUS_CODE_OK = "STATUS_CODE_OK" + STATUS_CODE_ERROR = "STATUS_CODE_ERROR" + STATUS_CODE_UNSET = "STATUS_CODE_UNSET" + + +class OTelContextDTO(BaseModel): + trace_id: str + span_id: str + + +class OTelEventDTO(BaseModel): + name: str + timestamp: str + + attributes: Optional[Attributes] = None + + +class OTelLinkDTO(BaseModel): + context: OTelContextDTO + + attributes: Optional[Attributes] = None + + +class OTelExtraDTO(BaseModel): + kind: Optional[str] = None + + attributes: Optional[Attributes] = None + events: Optional[List[OTelEventDTO]] = None + links: Optional[List[OTelLinkDTO]] = None + + +## --- ENTITIES --- ## + + +class SpanDTO(BaseModel): + trace_id: str + span_id: str + + lifecycle: Optional[LegacyLifecycleDTO] = None + + root: RootDTO + tree: TreeDTO + node: NodeDTO + + parent: Optional[ParentDTO] = None + + time: TimeDTO + status: StatusDTO + + exception: Optional[ExceptionDTO] = None + + data: Optional[Data] = None + metrics: Optional[Metrics] = None + meta: Optional[Meta] = None + refs: Optional[Refs] = None + + links: Optional[List[LinkDTO]] = None + + otel: Optional[OTelExtraDTO] = None + + nodes: Optional[Dict[str, Union["SpanDTO", List["SpanDTO"]]]] = None + + model_config = { + "json_encoders": { + UUID: lambda v: str(v), + datetime: lambda dt: dt.isoformat(), + }, + } + + def encode(self, data: Any) -> Any: + if isinstance(data, dict): + return {k: self.encode(v) for k, v in data.items()} + elif isinstance(data, list): + return [self.encode(item) for item in data] + for type_, encoder in self.model_config["json_encoders"].items(): # type: ignore + if isinstance(data, type_): + return encoder(data) + return data + + def model_dump(self, *args, **kwargs) -> dict: + return self.encode( + super().model_dump( + *args, + **kwargs, + exclude_none=True, + ) + ) + + +class OTelSpanDTO(BaseModel): + context: OTelContextDTO + + name: str + kind: OTelSpanKind = OTelSpanKind.SPAN_KIND_UNSPECIFIED + + start_time: datetime + end_time: datetime + + status_code: OTelStatusCode = OTelStatusCode.STATUS_CODE_UNSET + status_message: Optional[str] = None + + attributes: Optional[Attributes] = None + events: Optional[List[OTelEventDTO]] = None + + parent: Optional[OTelContextDTO] = None + links: Optional[List[OTelLinkDTO]] = None + + +# oss.src.apis.fastapi.observability.models + +from typing import List, Optional +from datetime import datetime + + +class AgentaNodeDTO(SpanDTO): + pass + + +class Tree(BaseModel): + version: str + nodes: List[AgentaNodeDTO] + + +# oss.src.core.blobs.dtos + + +class Blob(Identifier, Lifecycle): + flags: Optional[Flags] = None # type: ignore + tags: Optional[Tags] = None # type: ignore + meta: Optional[Meta] = None # type: ignore + + data: Optional[Data] = None # type: ignore + + set_id: Optional[UUID] = None + + +# oss.src.core.testcases.dtos +# oss.src.core.testsets.dtos + + +class TestsetIdAlias(AliasConfig): + testset_id: Optional[UUID] = None + set_id: Optional[UUID] = Field( + default=None, + exclude=True, + alias="testset_id", + ) + + +class TestsetVariantIdAlias(AliasConfig): + testset_variant_id: Optional[UUID] = None + variant_id: Optional[UUID] = Field( + default=None, + exclude=True, + alias="testset_variant_id", + ) + + +class Testcase(Blob, TestsetIdAlias): + def model_post_init(self, __context) -> None: + sync_alias("testset_id", "set_id", self) + + +class TestsetFlags(BaseModel): + has_testcases: Optional[bool] = None + has_traces: Optional[bool] = None + + +class TestsetRevisionData(BaseModel): + testcase_ids: Optional[List[UUID]] = None + testcases: Optional[List[Testcase]] = None + + +class SimpleTestset( + Identifier, + Slug, + Lifecycle, + Header, +): + flags: Optional[TestsetFlags] = None + tags: Optional[Tags] = None # type: ignore + meta: Optional[Meta] = None # type: ignore + + data: Optional[TestsetRevisionData] = None + + +class Testset(Artifact): + flags: Optional[TestsetFlags] = None # type: ignore + + +class TestsetRevision( + Revision, + TestsetIdAlias, + TestsetVariantIdAlias, +): + flags: Optional[TestsetFlags] = None # type: ignore + + data: Optional[TestsetRevisionData] = None # type: ignore + + def model_post_init(self, __context) -> None: + sync_alias("testset_id", "artifact_id", self) + sync_alias("testset_variant_id", "variant_id", self) + + +class SimpleTestsetCreate(Slug, Header): + tags: Optional[Tags] = None # type: ignore + meta: Optional[Meta] = None # type: ignore + data: Optional[TestsetRevisionData] = None + + +class SimpleTestsetEdit( + Identifier, + Header, +): + # flags: Optional[TestsetFlags] = None + tags: Optional[Tags] = None # type: ignore + meta: Optional[Meta] = None # type: ignore + + data: Optional[TestsetRevisionData] = None + + +class TestsetResponse(BaseModel): + count: int = 0 + testset: Optional[Testset] = None + + +class TestsetRevisionResponse(BaseModel): + count: int = 0 + testset_revision: Optional[TestsetRevision] = None + + +class SimpleTestsetResponse(BaseModel): + count: int = 0 + testset: Optional[SimpleTestset] = None + + +# oss.src.core.workflows.dtos +from typing import Optional, Dict, Any +from uuid import UUID, uuid4 +from urllib.parse import urlparse + +from pydantic import ( + BaseModel, + Field, + model_validator, + ValidationError, +) + +from jsonschema import ( + Draft202012Validator, + Draft201909Validator, + Draft7Validator, + Draft4Validator, + Draft6Validator, +) +from jsonschema.exceptions import SchemaError + +# aliases ---------------------------------------------------------------------- + + +class WorkflowIdAlias(AliasConfig): + workflow_id: Optional[UUID] = None + artifact_id: Optional[UUID] = Field( + default=None, + exclude=True, + alias="workflow_id", + ) + + +class WorkflowVariantIdAlias(AliasConfig): + workflow_variant_id: Optional[UUID] = None + variant_id: Optional[UUID] = Field( + default=None, + exclude=True, + alias="workflow_variant_id", + ) + + +class WorkflowRevisionIdAlias(AliasConfig): + workflow_revision_id: Optional[UUID] = None + revision_id: Optional[UUID] = Field( + default=None, + exclude=True, + alias="workflow_revision_id", + ) + + +# globals ---------------------------------------------------------------------- + + +class WorkflowFlags(BaseModel): + is_custom: Optional[bool] = None + is_evaluator: Optional[bool] = None + is_human: Optional[bool] = None + + +# workflows -------------------------------------------------------------------- + + +class Workflow(Artifact): + flags: Optional[WorkflowFlags] = None + + +class WorkflowCreate(ArtifactCreate): + flags: Optional[WorkflowFlags] = None + + +class WorkflowEdit(ArtifactEdit): + flags: Optional[WorkflowFlags] = None + + +# workflow variants ------------------------------------------------------------ + + +class WorkflowVariant( + Variant, + WorkflowIdAlias, +): + flags: Optional[WorkflowFlags] = None + + def model_post_init(self, __context) -> None: + sync_alias("workflow_id", "artifact_id", self) + + +class WorkflowVariantCreate( + VariantCreate, + WorkflowIdAlias, +): + flags: Optional[WorkflowFlags] = None + + def model_post_init(self, __context) -> None: + sync_alias("workflow_id", "artifact_id", self) + + +class WorkflowVariantEdit(VariantEdit): + flags: Optional[WorkflowFlags] = None + + +class WorkflowVariantQuery(VariantQuery): + flags: Optional[WorkflowFlags] = None + + +# workflow revisions ----------------------------------------------------------- + + +class WorkflowServiceVersion(BaseModel): + version: Optional[str] = None + + +class WorkflowServiceInterface(WorkflowServiceVersion): + uri: Optional[str] = None # str (Enum) w/ validation + url: Optional[str] = None # str w/ validation + headers: Optional[Dict[str, Reference | str]] = None # either hardcoded or a secret + handler: Optional[Callable] = None + + schemas: Optional[Dict[str, Schema]] = None # json-schema instead of pydantic + mappings: Optional[Mappings] = None # used in the workflow interface + + +class WorkflowServiceConfiguration(WorkflowServiceInterface): + script: Optional[str] = None # str w/ validation + parameters: Optional[Data] = None # configuration values + + +class WorkflowRevisionData(WorkflowServiceConfiguration): + # LEGACY FIELDS + service: Optional[dict] = None # url, schema, kind, etc + configuration: Optional[dict] = None # parameters, variables, etc + + @model_validator(mode="after") + def validate_all(self) -> "WorkflowRevisionData": + errors = [] + + if self.service and self.service.get("agenta") and self.service.get("format"): + _format = self.service.get("format") # pylint: disable=redefined-builtin + + try: + validator_class = self._get_validator_class_from_schema(_format) # type: ignore + validator_class.check_schema(_format) # type: ignore + except SchemaError as e: + errors.append( + { + "loc": ("format",), + "msg": f"Invalid JSON Schema: {e.message}", + "type": "value_error", + "ctx": {"error": str(e)}, + "input": _format, + } + ) + + if self.service and self.service.get("agenta") and self.service.get("url"): + url = self.service.get("url") + + if not self._is_valid_http_url(url): + errors.append( + { + "loc": ("url",), + "msg": "Invalid HTTP(S) URL", + "type": "value_error.url", + "ctx": {"error": "Invalid URL format"}, + "input": url, + } + ) + + if errors: + raise ValidationError.from_exception_data( + self.__class__.__name__, + errors, + ) + + return self + + @staticmethod + def _get_validator_class_from_schema(schema: dict): + """Detect JSON Schema draft from $schema or fallback to 2020-12.""" + schema_uri = schema.get( + "$schema", "https://json-schema.org/draft/2020-12/schema" + ) + + if "2020-12" in schema_uri: + return Draft202012Validator + elif "2019-09" in schema_uri: + return Draft201909Validator + elif "draft-07" in schema_uri: + return Draft7Validator + elif "draft-06" in schema_uri: + return Draft6Validator + elif "draft-04" in schema_uri: + return Draft4Validator + else: + # fallback default if unknown $schema + return Draft202012Validator + + @staticmethod + def _is_valid_http_url(url: str) -> bool: + parsed = urlparse(url) + return parsed.scheme in ("http", "https") and bool(parsed.netloc) + + +class WorkflowRevision( + Revision, + WorkflowIdAlias, + WorkflowVariantIdAlias, +): + flags: Optional[WorkflowFlags] = None + + data: Optional[WorkflowRevisionData] = None + + def model_post_init(self, __context) -> None: + sync_alias("workflow_id", "artifact_id", self) + sync_alias("workflow_variant_id", "variant_id", self) + + +class WorkflowRevisionCreate( + RevisionCreate, + WorkflowIdAlias, + WorkflowVariantIdAlias, +): + flags: Optional[WorkflowFlags] = None + + def model_post_init(self, __context) -> None: + sync_alias("workflow_id", "artifact_id", self) + sync_alias("workflow_variant_id", "variant_id", self) + + +class WorkflowRevisionEdit(RevisionEdit): + flags: Optional[WorkflowFlags] = None + + +class WorkflowRevisionQuery(RevisionQuery): + flags: Optional[WorkflowFlags] = None + + +class WorkflowRevisionCommit( + RevisionCommit, + WorkflowIdAlias, + WorkflowVariantIdAlias, +): + flags: Optional[WorkflowFlags] = None + + data: Optional[WorkflowRevisionData] = None + + def model_post_init(self, __context) -> None: + sync_alias("workflow_id", "artifact_id", self) + sync_alias("workflow_variant_id", "variant_id", self) + + +class WorkflowRevisionsLog( + RevisionsLog, + WorkflowIdAlias, + WorkflowVariantIdAlias, + WorkflowRevisionIdAlias, +): + def model_post_init(self, __context) -> None: + sync_alias("workflow_id", "artifact_id", self) + sync_alias("workflow_variant_id", "variant_id", self) + sync_alias("workflow_revision_id", "revision_id", self) + + +# forks ------------------------------------------------------------------------ + + +class WorkflowRevisionFork(RevisionFork): + flags: Optional[WorkflowFlags] = None + + data: Optional[WorkflowRevisionData] = None + + +class WorkflowRevisionForkAlias(AliasConfig): + workflow_revision: Optional[WorkflowRevisionFork] = None + + revision: Optional[RevisionFork] = Field( + default=None, + exclude=True, + alias="workflow_revision", + ) + + +class WorkflowVariantFork(VariantFork): + flags: Optional[WorkflowFlags] = None + + +class WorkflowVariantForkAlias(AliasConfig): + workflow_variant: Optional[WorkflowVariantFork] = None + + variant: Optional[VariantFork] = Field( + default=None, + exclude=True, + alias="workflow_variant", + ) + + +class WorkflowFork( + ArtifactFork, + WorkflowIdAlias, + WorkflowVariantIdAlias, + WorkflowVariantForkAlias, + WorkflowRevisionIdAlias, + WorkflowRevisionForkAlias, +): + def model_post_init(self, __context) -> None: + sync_alias("workflow_id", "artifact_id", self) + sync_alias("workflow_variant_id", "variant_id", self) + sync_alias("workflow_variant", "variant", self) + sync_alias("workflow_revision_id", "revision_id", self) + sync_alias("workflow_revision", "revision", self) + + +# workflow services ------------------------------------------------------------ + + +class WorkflowServiceData(BaseModel): + parameters: Optional[Data] = None + inputs: Optional[Data] = None + outputs: Optional[Data | str] = None + # + trace_parameters: Optional[Data] = None + trace_inputs: Optional[Data] = None + trace_outputs: Optional[Data | str] = None + # + trace: Optional[Trace] = None + # LEGACY -- used for workflow execution traces + tree: Optional[Tree] = None + + +class WorkflowServiceRequest(Version, Metadata): + tags: Optional[Tags] = None + meta: Optional[Meta] = None + + data: Optional[WorkflowServiceData] = None + + references: Optional[Dict[str, Reference]] = None + links: Optional[Dict[str, Link]] = None + + credentials: Optional[str] = None # Fix typing + secrets: Optional[Dict[str, Any]] = None # Fix typing + + +class WorkflowServiceResponse(Identifier, Version): + data: Optional[WorkflowServiceData] = None + + links: Optional[Dict[str, Link]] = None + + trace_id: Optional[str] = None + + status: Status = Status() + + def __init__(self, **data): + super().__init__(**data) + + self.id = uuid4() if not self.id else self.id + self.version = "2025.07.14" if not self.version else self.version + + +class SuccessStatus(Status): + code: int = 200 + + +class HandlerNotFoundStatus(Status): + code: int = 501 + type: str = "https://docs.agenta.ai/errors#v1:uri:handler-not-found" + + def __init__(self, uri: Optional[str] = None): + super().__init__() + self.message = f"The handler at '{uri}' is not implemented or not available." + + +class RevisionDataNotFoundStatus(Status): + code: int = 404 + type: str = "https://docs.agenta.ai/errors#v1:uri:revision-data-not-found" + + def __init__(self, uri: Optional[str] = None): + super().__init__() + self.message = f"The revision data at '{uri}' could not be found." + + +class RequestDataNotFoundStatus(Status): + code: int = 404 + type: str = "https://docs.agenta.ai/errors#v1:uri:request-data-not-found" + + def __init__(self, uri: Optional[str] = None): + super().__init__() + self.message = f"The request data at '{uri}' could not be found." + + +ERRORS_BASE_URL = "https://docs.agenta.ai/errors" + + +class ErrorStatus(Exception): + code: int + type: str + message: str + stacktrace: Optional[str] = None + + def __init__( + self, + code: int, + type: str, + message: str, + stacktrace: Optional[str] = None, + ): + super().__init__() + self.code = code + self.type = type + self.message = message + self.stacktrace = stacktrace + + def __str__(self): + return f"[EVAL] {self.code} - {self.message} ({self.type})" + ( + f"\nStacktrace: {self.stacktrace}" if self.stacktrace else "" + ) + + def __repr__(self): + return f"ErrorStatus(code={self.code}, type='{self.type}', message='{self.message}')" + + +# ------------------------------------------------------------------------------ + + +class EvaluatorRevision(BaseModel): + id: Optional[UUID] = None + slug: Optional[str] = None + version: Optional[str] = None + + data: Optional[WorkflowRevisionData] = None + + +class ApplicationServiceRequest(WorkflowServiceRequest): + pass + + +class ApplicationServiceResponse(WorkflowServiceResponse): + pass + + +class EvaluatorServiceRequest(WorkflowServiceRequest): + pass + + +class EvaluatorServiceResponse(WorkflowServiceResponse): + pass + + +# oss.src.core.evaluators.dtos + + +class EvaluatorIdAlias(AliasConfig): + evaluator_id: Optional[UUID] = None + workflow_id: Optional[UUID] = Field( + default=None, + exclude=True, + alias="evaluator_id", + ) + + +class EvaluatorVariantIdAlias(AliasConfig): + evaluator_variant_id: Optional[UUID] = None + workflow_variant_id: Optional[UUID] = Field( + default=None, + exclude=True, + alias="evaluator_variant_id", + ) + + +class EvaluatorRevisionData(WorkflowRevisionData): + pass + + +class EvaluatorFlags(WorkflowFlags): + def __init__(self, **data): + data["is_evaluator"] = True + + super().__init__(**data) + + +class SimpleEvaluatorFlags(EvaluatorFlags): + pass + + +class SimpleEvaluatorData(EvaluatorRevisionData): + pass + + +class Evaluator(Workflow): + flags: Optional[EvaluatorFlags] = None + + +class SimpleEvaluatorRevision( + WorkflowRevision, + EvaluatorIdAlias, + EvaluatorVariantIdAlias, +): + flags: Optional[EvaluatorFlags] = None + + data: Optional[EvaluatorRevisionData] = None + + +class SimpleEvaluator(Identifier, Slug, Lifecycle, Header, Metadata): + flags: Optional[SimpleEvaluatorFlags] = None + + data: Optional[SimpleEvaluatorData] = None + + +class SimpleEvaluatorCreate(Slug, Header, Metadata): + flags: Optional[SimpleEvaluatorFlags] = None + + data: Optional[SimpleEvaluatorData] = None + + +class SimpleEvaluatorEdit(Identifier, Header, Metadata): + flags: Optional[SimpleEvaluatorFlags] = None + + data: Optional[SimpleEvaluatorData] = None + + +class SimpleEvaluatorResponse(BaseModel): + count: int = 0 + evaluator: Optional[SimpleEvaluator] = None + + +class EvaluatorRevisionResponse(BaseModel): + count: int = 0 + evaluator_revision: Optional[EvaluatorRevision] = None + + +# oss.src.core.applications.dtos + +# aliases ---------------------------------------------------------------------- + + +class ApplicationIdAlias(AliasConfig): + application_id: Optional[UUID] = None + workflow_id: Optional[UUID] = Field( + default=None, + exclude=True, + alias="application_id", + ) + + +class ApplicationVariantIdAlias(AliasConfig): + application_variant_id: Optional[UUID] = None + workflow_variant_id: Optional[UUID] = Field( + default=None, + exclude=True, + alias="application_variant_id", + ) + + +class ApplicationRevisionIdAlias(AliasConfig): + application_revision_id: Optional[UUID] = None + workflow_revision_id: Optional[UUID] = Field( + default=None, + exclude=True, + alias="application_revision_id", + ) + + +# globals ---------------------------------------------------------------------- + + +class ApplicationFlags(WorkflowFlags): + def __init__(self, **data): + data["is_evaluator"] = True + + super().__init__(**data) + + +# applications ------------------------------------------------------------------- + + +class Application(Workflow): + flags: Optional[ApplicationFlags] = None + + +class ApplicationCreate(WorkflowCreate): + flags: Optional[ApplicationFlags] = None + + +class ApplicationEdit(WorkflowEdit): + flags: Optional[ApplicationFlags] = None + + +# application variants ----------------------------------------------------------- + + +class ApplicationVariant( + WorkflowVariant, + ApplicationIdAlias, +): + flags: Optional[ApplicationFlags] = None + + def model_post_init(self, __context) -> None: + sync_alias("application_id", "workflow_id", self) + + +class ApplicationVariantCreate( + WorkflowVariantCreate, + ApplicationIdAlias, +): + flags: Optional[ApplicationFlags] = None + + def model_post_init(self, __context) -> None: + sync_alias("application_id", "workflow_id", self) + + +class ApplicationVariantEdit(WorkflowVariantEdit): + flags: Optional[ApplicationFlags] = None + + +# application revisions ----------------------------------------------------- + + +class ApplicationRevisionData(WorkflowRevisionData): + pass + + +class ApplicationRevision( + WorkflowRevision, + ApplicationIdAlias, + ApplicationVariantIdAlias, +): + flags: Optional[ApplicationFlags] = None + + data: Optional[ApplicationRevisionData] = None + + def model_post_init(self, __context) -> None: + sync_alias("application_id", "workflow_id", self) + sync_alias("application_variant_id", "workflow_variant_id", self) + + +class ApplicationRevisionCreate( + WorkflowRevisionCreate, + ApplicationIdAlias, + ApplicationVariantIdAlias, +): + flags: Optional[ApplicationFlags] = None + + def model_post_init(self, __context) -> None: + sync_alias("application_id", "workflow_id", self) + sync_alias("application_variant_id", "workflow_variant_id", self) + + +class ApplicationRevisionEdit(WorkflowRevisionEdit): + flags: Optional[ApplicationFlags] = None + + +class ApplicationRevisionCommit( + WorkflowRevisionCommit, + ApplicationIdAlias, + ApplicationVariantIdAlias, +): + flags: Optional[ApplicationFlags] = None + + data: Optional[ApplicationRevisionData] = None + + def model_post_init(self, __context) -> None: + sync_alias("application_id", "workflow_id", self) + sync_alias("application_variant_id", "workflow_variant_id", self) + + +class ApplicationRevisionResponse(BaseModel): + count: int = 0 + application_revision: Optional[ApplicationRevision] = None + + +class ApplicationRevisionsResponse(BaseModel): + count: int = 0 + application_revisions: List[ApplicationRevision] = [] + + +# simple applications ------------------------------------------------------------ + + +class LegacyApplicationFlags(WorkflowFlags): + pass + + +class LegacyApplicationData(WorkflowRevisionData): + pass + + +class LegacyApplication(Identifier, Slug, Lifecycle, Header, Metadata): + flags: Optional[LegacyApplicationFlags] = None + + data: Optional[LegacyApplicationData] = None + + +class LegacyApplicationCreate(Slug, Header, Metadata): + flags: Optional[LegacyApplicationFlags] = None + + data: Optional[LegacyApplicationData] = None + + +class LegacyApplicationEdit(Identifier, Header, Metadata): + flags: Optional[LegacyApplicationFlags] = None + + data: Optional[LegacyApplicationData] = None + + +class LegacyApplicationResponse(BaseModel): + count: int = 0 + application: Optional[LegacyApplication] = None + + +# end of oss.src.core.applications.dtos diff --git a/api/ee/tests/manual/evaluations/sdk/entities.py b/api/ee/tests/manual/evaluations/sdk/entities.py new file mode 100644 index 0000000000..12c714db95 --- /dev/null +++ b/api/ee/tests/manual/evaluations/sdk/entities.py @@ -0,0 +1,447 @@ +import asyncio +from typing import List, Dict, Any, Callable, Optional +from uuid import uuid4, UUID + +from definitions import ( + Testcase, + TestsetRevisionData, + TestsetRevision, + ApplicationRevision, + EvaluatorRevision, + # + SimpleTestsetCreate, + SimpleTestsetEdit, + # + SimpleTestsetResponse, + TestsetRevisionResponse, + # + Evaluator, + # + SimpleEvaluatorData, + SimpleEvaluatorCreate, + SimpleEvaluatorEdit, + # + EvaluatorRevisionData, + SimpleEvaluatorResponse, + EvaluatorRevisionResponse, + # + ApplicationRevisionResponse, + # + LegacyApplicationData, + LegacyApplicationCreate, + LegacyApplicationEdit, + # + LegacyApplicationResponse, +) +from services import ( + REGISTRY, + register_handler, + retrieve_handler, +) + +from client import authed_api + + +client = authed_api() + +APPLICATION_REVISION_ID = uuid4() +APPLICATION_REVISION = ApplicationRevision( + id=APPLICATION_REVISION_ID, + slug=str(APPLICATION_REVISION_ID)[-12:], + version="0", +) + +EVALUATOR_REVISION_ID = uuid4() +EVALUATOR_REVISION = EvaluatorRevision( + id=EVALUATOR_REVISION_ID, + slug=str(EVALUATOR_REVISION_ID)[-12:], + version="0", +) + + +async def _retrieve_testset( + testset_id: Optional[UUID] = None, + testset_revision_id: Optional[UUID] = None, +) -> Optional[TestsetRevision]: + response = client( + method="POST", + endpoint="/preview/testsets/revisions/retrieve", + params={ + "testset_id": testset_id, + "testset_revision_id": testset_revision_id, + }, + ) + + response.raise_for_status() + + testset_revision_response = TestsetRevisionResponse(**response.json()) + + testset_revision = testset_revision_response.testset_revision + + return testset_revision + + +async def retrieve_testset( + testset_revision_id: Optional[UUID] = None, +) -> Optional[TestsetRevision]: + response = await _retrieve_testset( + testset_revision_id=testset_revision_id, + ) + + return response + + +async def upsert_testset( + testcases_data: List[Dict[str, Any]], + # + testset_revision_id: Optional[UUID] = None, + # + testset_id: Optional[UUID] = None, + testset_name: Optional[str] = None, + testset_description: Optional[str] = None, +) -> Optional[UUID]: + testset_revision_data = TestsetRevisionData( + testcases=[ + Testcase( + data=testcase_data, + ) + for testcase_data in testcases_data + ] + ) + + retrieve_response = None + + if testset_revision_id: + retrieve_response = await _retrieve_testset( + testset_revision_id=testset_revision_id, + ) + elif testset_id: + retrieve_response = await _retrieve_testset( + testset_id=testset_id, + ) + + if retrieve_response and retrieve_response.id: + testset_edit_request = SimpleTestsetEdit( + id=testset_id, + name=testset_name, + description=testset_description, + data=testset_revision_data, + ) + + response = client( + method="PUT", + endpoint=f"/preview/simple/testsets/{testset_id}", + json={ + "testset": testset_edit_request.model_dump( + mode="json", + exclude_none=True, + ) + }, + ) + + try: + response.raise_for_status() + except Exception as e: + print(f"[ERROR]: Failed to update testset: {e}") + return None + + else: + testset_create_request = SimpleTestsetCreate( + name=testset_name, + description=testset_description, + slug=uuid4().hex, + data=testset_revision_data, + ) + + response = client( + method="POST", + endpoint="/preview/simple/testsets/", + json={ + "testset": testset_create_request.model_dump( + mode="json", + exclude_none=True, + ) + }, + ) + + try: + response.raise_for_status() + except Exception as e: + print(f"[ERROR]: Failed to create testset: {e}") + return None + + testset_response = SimpleTestsetResponse(**response.json()) + + testset = testset_response.testset + + if not testset or not testset.id: + return None + + testset_revision = await _retrieve_testset( + testset_id=testset.id, + ) + + if not testset_revision or not testset_revision.id: + return None + + return testset_revision.id + + +async def _retrieve_application( + application_id: Optional[UUID] = None, + application_revision_id: Optional[UUID] = None, +) -> Optional[ApplicationRevision]: + response = client( + method="POST", + endpoint=f"/preview/legacy/applications/revisions/retrieve", + params={ + "application_id": application_id, + "application_revision_id": application_revision_id, + }, + ) + response.raise_for_status() + + application_revision_response = ApplicationRevisionResponse(**response.json()) + + application_revision = application_revision_response.application_revision + + if not application_revision or not application_revision.id: + return None + + if not application_revision.data or not application_revision.data.uri: + return None + + application_revision.data.handler = retrieve_handler(application_revision.data.uri) + + return application_revision + + +async def retrieve_application( + application_revision_id: Optional[UUID] = None, +) -> Optional[ApplicationRevision]: + response = await _retrieve_application( + application_revision_id=application_revision_id, + ) + + return response + + +async def upsert_application( + application_handler: Callable, + application_script: Optional[str] = None, + application_parameters: Optional[Dict[str, Any]] = None, + # + application_revision_id: Optional[UUID] = None, + # + application_id: Optional[UUID] = None, + application_name: Optional[str] = None, + application_description: Optional[str] = None, +) -> Optional[UUID]: + legacy_application_data = LegacyApplicationData( + uri=register_handler(application_handler), + script=application_script, + parameters=application_parameters, + ) + + retrieve_response = None + + if application_revision_id: + retrieve_response = await _retrieve_application( + application_revision_id=application_revision_id, + ) + elif application_id: + retrieve_response = await _retrieve_application( + application_id=application_id, + ) + + if retrieve_response and retrieve_response.id: + application_edit_request = LegacyApplicationEdit( + id=application_id, + name=application_name, + description=application_description, + data=legacy_application_data, + ) + + response = client( + method="PUT", + endpoint=f"/preview/legacy/applications/{application_id}", + json={ + "application": application_edit_request.model_dump( + mode="json", + exclude_none=True, + ) + }, + ) + + try: + response.raise_for_status() + except Exception as e: + print("[ERROR]: Failed to update application:", e) + return None + + else: + application_create_request = LegacyApplicationCreate( + name=application_name, + description=application_description, + slug=uuid4().hex, + data=legacy_application_data, + ) + + response = client( + method="POST", + endpoint="/preview/legacy/applications/", + json={ + "application": application_create_request.model_dump( + mode="json", + exclude_none=True, + ) + }, + ) + + try: + response.raise_for_status() + except Exception as e: + print("[ERROR]: Failed to create application:", e) + return None + + application_response = LegacyApplicationResponse(**response.json()) + + application = application_response.application + + if not application or not application.id: + return None + + application_revision = await _retrieve_application( + application_id=application.id, + ) + + if not application_revision or not application_revision.id: + return None + + return application_revision.id + + +async def _retrieve_evaluator( + evaluator_id: Optional[UUID] = None, + evaluator_revision_id: Optional[UUID] = None, +) -> Optional[EvaluatorRevision]: + response = client( + method="POST", + endpoint=f"/preview/evaluators/revisions/retrieve", + params={ + "evaluator_id": evaluator_id, + "evaluator_revision_id": evaluator_revision_id, + }, + ) + response.raise_for_status() + + evaluator_revision_response = EvaluatorRevisionResponse(**response.json()) + + evaluator_revision = evaluator_revision_response.evaluator_revision + + return evaluator_revision + + +async def retrieve_evaluator( + evaluator_revision_id: Optional[UUID] = None, +) -> Optional[EvaluatorRevision]: + response = await _retrieve_evaluator( + evaluator_revision_id=evaluator_revision_id, + ) + + return response + + +async def upsert_evaluator( + evaluator_handler: Callable, + evaluator_script: Optional[str] = None, + evaluator_parameters: Optional[Dict[str, Any]] = None, + # + evaluator_revision_id: Optional[UUID] = None, + # + evaluator_id: Optional[UUID] = None, + evaluator_name: Optional[str] = None, + evaluator_description: Optional[str] = None, +) -> Optional[UUID]: + simple_evaluator_data = SimpleEvaluatorData( + uri=register_handler(evaluator_handler), + script=evaluator_script, + parameters=evaluator_parameters, + ) + + retrieve_response = None + + if evaluator_revision_id: + retrieve_response = await _retrieve_evaluator( + evaluator_revision_id=evaluator_revision_id, + ) + elif evaluator_id: + retrieve_response = await _retrieve_evaluator( + evaluator_id=evaluator_id, + ) + + if retrieve_response and retrieve_response.id: + evaluator_edit_request = SimpleEvaluatorEdit( + id=evaluator_id, + name=evaluator_name, + description=evaluator_description, + data=simple_evaluator_data, + ) + + response = client( + method="PUT", + endpoint=f"/preview/simple/evaluators/{evaluator_id}", + json={ + "evaluator": evaluator_edit_request.model_dump( + mode="json", + exclude_none=True, + ) + }, + ) + + try: + response.raise_for_status() + except Exception as e: + print("[ERROR]: Failed to update evaluator:", e) + return None + + else: + evaluator_create_request = SimpleEvaluatorCreate( + name=evaluator_name, + description=evaluator_description, + slug=uuid4().hex, + data=simple_evaluator_data, + ) + + response = client( + method="POST", + endpoint="/preview/simple/evaluators/", + json={ + "evaluator": evaluator_create_request.model_dump( + mode="json", + exclude_none=True, + ) + }, + ) + + try: + response.raise_for_status() + except Exception as e: + print("[ERROR]: Failed to create evaluator:", e) + return None + + evaluator_response = SimpleEvaluatorResponse(**response.json()) + + evaluator = evaluator_response.evaluator + + if not evaluator or not evaluator.id: + return None + + evaluator_revision = await _retrieve_evaluator( + evaluator_id=evaluator.id, + ) + + if not evaluator_revision or not evaluator_revision.id: + return None + + return evaluator_revision.id diff --git a/api/ee/tests/manual/evaluations/sdk/evaluate.py b/api/ee/tests/manual/evaluations/sdk/evaluate.py new file mode 100644 index 0000000000..e312474144 --- /dev/null +++ b/api/ee/tests/manual/evaluations/sdk/evaluate.py @@ -0,0 +1,340 @@ +from typing import Dict, List +from uuid import UUID +from copy import deepcopy + +from definitions import ( + Origin, + Link, + Reference, + SimpleEvaluationFlags, + SimpleEvaluationStatus, + SimpleEvaluationData, + TestsetRevision, + ApplicationRevision, + EvaluatorRevision, + WorkflowServiceData, + ApplicationServiceRequest, + ApplicationServiceResponse, + EvaluatorServiceRequest, + EvaluatorServiceResponse, +) +from evaluations import ( + create_run, + add_scenario, + log_result, + compute_metrics, + get_slug_from_name_and_id, +) + +# from mock_entities import ( +# upsert_testset, +# retrieve_testset, +# upsert_application, +# retrieve_application, +# upsert_evaluator, +# retrieve_evaluator, +# ) + +from entities import ( + upsert_testset, + retrieve_testset, + upsert_application, + retrieve_application, + upsert_evaluator, + retrieve_evaluator, +) + +from services import ( + invoke_application, + invoke_evaluator, +) + +EvaluateSpecs = SimpleEvaluationData + + +# @debug +async def evaluate( + data: SimpleEvaluationData, +): + data = deepcopy(data) + + if data.testset_steps: + if isinstance(data.testset_steps, list): + testset_steps: Dict[str, Origin] = {} + + if all( + isinstance(testset_revision_id, UUID) + for testset_revision_id in data.testset_steps + ): + for testset_revision_id in data.testset_steps: + if isinstance(testset_revision_id, UUID): + testset_steps[str(testset_revision_id)] = "custom" + + elif all( + isinstance(testcases_data, List) + for testcases_data in data.testset_steps + ): + for testcases_data in data.testset_steps: + if isinstance(testcases_data, List): + if all(isinstance(step, Dict) for step in testcases_data): + testset_revision_id = await upsert_testset( + testcases_data=testcases_data, + ) + testset_steps[str(testset_revision_id)] = "custom" + + data.testset_steps = testset_steps + + if not data.testset_steps or not isinstance(data.testset_steps, dict): + print("[failure] missing or invalid testset steps") + return None + + if data.application_steps: + if isinstance(data.application_steps, list): + application_steps: Dict[str, Origin] = {} + + if all( + isinstance(application_revision_id, UUID) + for application_revision_id in data.application_steps + ): + for application_revision_id in data.application_steps: + if isinstance(application_revision_id, UUID): + application_steps[str(application_revision_id)] = "custom" + + elif all( + callable(application_handler) + for application_handler in data.application_steps + ): + for application_handler in data.application_steps: + if callable(application_handler): + application_revision_id = await upsert_application( + application_handler=application_handler, + ) + application_steps[str(application_revision_id)] = "custom" + + data.application_steps = application_steps + + if not data.application_steps or not isinstance(data.application_steps, dict): + print("[failure] missing or invalid application steps") + return None + + if data.evaluator_steps: + if isinstance(data.evaluator_steps, list): + evaluator_steps: Dict[str, Origin] = {} + + if all( + isinstance(evaluator_revision_id, UUID) + for evaluator_revision_id in data.evaluator_steps + ): + for evaluator_revision_id in data.evaluator_steps: + if isinstance(evaluator_revision_id, UUID): + evaluator_steps[str(evaluator_revision_id)] = "custom" + + elif all( + callable(evaluator_handler) + for evaluator_handler in data.evaluator_steps + ): + for evaluator_handler in data.evaluator_steps: + if callable(evaluator_handler): + evaluator_revision_id = await upsert_evaluator( + evaluator_handler=evaluator_handler, + ) + evaluator_steps[str(evaluator_revision_id)] = "custom" + + data.evaluator_steps = evaluator_steps + + if not data.evaluator_steps or not isinstance(data.evaluator_steps, dict): + print("[failure] missing or invalid evaluator steps") + return None + + testsets: Dict[UUID, TestsetRevision] = {} + for testset_revision_id, origin in data.testset_steps.items(): + testset_revision = await retrieve_testset( + testset_revision_id=testset_revision_id, + ) + + if not testset_revision: + continue + + testsets[testset_revision_id] = testset_revision + + applications: Dict[UUID, ApplicationRevision] = {} + for application_revision_id, origin in data.application_steps.items(): + application_revision = await retrieve_application( + application_revision_id=application_revision_id, + ) + + if not application_revision: + continue + + applications[application_revision_id] = application_revision + + evaluators: Dict[UUID, EvaluatorRevision] = {} + for evaluator_revision_id, origin in data.evaluator_steps.items(): + evaluator_revision = await retrieve_evaluator( + evaluator_revision_id=evaluator_revision_id, + ) + + if not evaluator_revision: + continue + + evaluators[evaluator_revision_id] = evaluator_revision + + run = await create_run( + testset_steps=data.testset_steps, + application_steps=data.application_steps, + evaluator_steps=data.evaluator_steps, + ) + + if not run.id: + print("[failure] could not create evaluation") + return None + + scenarios = list() + + for testset_revision_id, testset_revision in testsets.items(): + if not testset_revision.data or not testset_revision.data.testcases: + continue + + testcases = testset_revision.data.testcases + + print() + print(f"From testset_id={str(testset_revision.testset_id)}") + + for testcase in testcases: + print(f"Evaluating testcase_id={str(testcase.id)}") + scenario = await add_scenario( + run_id=run.id, + ) + + results = dict() + + result = await log_result( + run_id=run.id, + scenario_id=scenario.id, + step_key="testset-" + testset_revision.slug, # type: ignore + testcase_id=testcase.id, + ) + + results[testset_revision.slug] = result + + for application_revision_id, application_revision in applications.items(): + if not application_revision or not application_revision.data: + print("Missing or invalid application revision") + continue + + application_request = ApplicationServiceRequest( + data=WorkflowServiceData( + parameters=application_revision.data.parameters, + inputs=testcase.data, + ), + references=dict( + testset_revision=Reference( + id=testset_revision.id, + slug=testset_revision.slug, + version=testset_revision.version, + ), + application_revision=Reference( + id=application_revision.id, + slug=application_revision.slug, + version=application_revision.version, + ), + ), + ) + + application_response = await invoke_application( + request=application_request, + revision=application_revision, + ) + + if ( + not application_response + or not application_response.data + or not application_response.trace_id + ): + print("Missing or invalid application response") + continue + + trace_id = application_response.trace_id + + if not application_revision.id or not application_revision.name: + print("Missing application revision ID or name") + continue + + application_slug = get_slug_from_name_and_id( + name=application_revision.name, + id=application_revision.id, + ) + + result = await log_result( + run_id=run.id, + scenario_id=scenario.id, + step_key="application-" + application_slug, # type: ignore + trace_id=trace_id, + ) + + results[application_slug] = result + + for evaluator_revision_id, evaluator_revision in evaluators.items(): + if not evaluator_revision or not evaluator_revision.data: + print("Missing or invalid evaluator revision") + continue + + evaluator_request = EvaluatorServiceRequest( + data=WorkflowServiceData( + parameters=evaluator_revision.data.parameters, + inputs=testcase.data, + # + trace_outputs=application_response.data.outputs, + trace=application_response.data.trace, + ), + references=dict( + testset_revision=Reference( + id=testset_revision.id, + slug=testset_revision.slug, + version=testset_revision.version, + ), + evaluator_revision=Reference( + id=evaluator_revision.id, + slug=evaluator_revision.slug, + version=evaluator_revision.version, + ), + ), + links=application_response.links, + ) + + evaluator_response = await invoke_evaluator( + request=evaluator_request, + revision=evaluator_revision, + ) + + if not evaluator_response or not evaluator_response.data: + print("Missing or invalid evaluator response") + continue + + trace_id = evaluator_response.trace_id + + result = await log_result( + run_id=run.id, + scenario_id=scenario.id, + step_key="evaluator-" + evaluator_revision.slug, # type: ignore + trace_id=trace_id, + ) + + results[evaluator_revision.slug] = result + + scenarios.append( + { + "scenario": scenario, + "results": results, + }, + ) + + metrics = await compute_metrics( + run_id=run.id, + ) + + return dict( + run=run, + scenarios=scenarios, + metrics=metrics, + ) diff --git a/api/ee/tests/manual/evaluations/sdk/evaluations.py b/api/ee/tests/manual/evaluations/sdk/evaluations.py new file mode 100644 index 0000000000..70720dc583 --- /dev/null +++ b/api/ee/tests/manual/evaluations/sdk/evaluations.py @@ -0,0 +1,208 @@ +from typing import Optional, Dict, Any +from uuid import uuid4, UUID + +import unicodedata +import re + +from definitions import ( + EvaluationRun, + EvaluationScenario, + EvaluationResult, + EvaluationMetrics, + Origin, + Target, +) + +from client import authed_api + + +client = authed_api() + + +async def create_run( + *, + flags: Optional[Dict[str, Any]] = None, + tags: Optional[Dict[str, Any]] = None, + meta: Optional[Dict[str, Any]] = None, + # + query_steps: Optional[Target] = None, + testset_steps: Optional[Target] = None, + application_steps: Optional[Target] = None, + evaluator_steps: Optional[Target] = None, + repeats: Optional[int] = None, +) -> EvaluationRun: + payload = dict( + evaluation=dict( + flags=flags, + tags=tags, + meta=meta, + # + data=dict( + status="running", + query_steps=query_steps, + testset_steps=testset_steps, + application_steps=application_steps, + evaluator_steps=evaluator_steps, + repeats=repeats, + ), + ) + ) + + response = client( + method="POST", + endpoint=f"/preview/simple/evaluations/", + json=payload, + ) + + try: + response.raise_for_status() + except: + print(response.text) + raise + + response = response.json() + + run = EvaluationRun(id=UUID(response["evaluation"]["id"])) + + return run + + +async def add_scenario( + *, + flags: Optional[Dict[str, Any]] = None, + tags: Optional[Dict[str, Any]] = None, + meta: Optional[Dict[str, Any]] = None, + # + run_id: UUID, +) -> EvaluationScenario: + payload = dict( + scenarios=[ + dict( + flags=flags, + tags=tags, + meta=meta, + # + run_id=str(run_id), + ) + ] + ) + + response = client( + method="POST", + endpoint=f"/preview/evaluations/scenarios/", + json=payload, + ) + + try: + response.raise_for_status() + except: + print(response.text) + raise + + response = response.json() + + scenario = EvaluationScenario(**response["scenarios"][0]) + + return scenario + + +async def log_result( + *, + flags: Optional[Dict[str, Any]] = None, + tags: Optional[Dict[str, Any]] = None, + meta: Optional[Dict[str, Any]] = None, + # + testcase_id: Optional[UUID] = None, + trace_id: Optional[str] = None, + error: Optional[dict] = None, + # + # timestamp: datetime, + # repeat_idx: str, + step_key: str, + run_id: UUID, + scenario_id: UUID, +) -> EvaluationResult: + payload = dict( + results=[ + dict( + flags=flags, + tags=tags, + meta=meta, + # + testcase_id=str(testcase_id) if testcase_id else None, + trace_id=trace_id, + error=error, + # + # interval=interval, + # timestamp=timestamp, + # repeat_idx=repeat_idx, + step_key=step_key, + run_id=str(run_id), + scenario_id=str(scenario_id), + ) + ] + ) + + response = client( + method="POST", + endpoint=f"/preview/evaluations/results/", + json=payload, + ) + + try: + response.raise_for_status() + except: + print(response.text) + raise + + response = response.json() + + result = EvaluationResult(**response["results"][0]) + + return result + + +async def compute_metrics( + run_id: UUID, +) -> EvaluationMetrics: + payload = dict( + run_id=str(run_id), + ) + + response = client( + method="POST", + endpoint=f"/preview/evaluations/metrics/refresh", + params=payload, + ) + + try: + response.raise_for_status() + except: + print(response.text) + raise + + response = response.json() + + metrics = EvaluationMetrics(**response["metrics"][0]) + + return metrics + + +def get_slug_from_name_and_id( + name: str, + id: UUID, # pylint: disable=redefined-builtin +) -> str: + # Normalize Unicode (e.g., é → e) + name = unicodedata.normalize("NFKD", name) + # Remove non-ASCII characters + name = name.encode("ascii", "ignore").decode("ascii") + # Lowercase and remove non-word characters except hyphens and spaces + name = re.sub(r"[^\w\s-]", "", name.lower()) + # Replace any sequence of hyphens or whitespace with a single hyphen + name = re.sub(r"[-\s]+", "-", name) + # Trim leading/trailing hyphens + name = name.strip("-") + # Last 12 characters of the ID + slug = f"{name}-{id.hex[-12:]}" + + return slug.lower() diff --git a/api/ee/tests/manual/evaluations/sdk/loop.py b/api/ee/tests/manual/evaluations/sdk/loop.py new file mode 100644 index 0000000000..9e166b5fde --- /dev/null +++ b/api/ee/tests/manual/evaluations/sdk/loop.py @@ -0,0 +1,97 @@ +import asyncio +import random +import json + +from evaluate import ( + evaluate, + EvaluateSpecs, +) +from definitions import ( + ApplicationRevision, + ApplicationServiceRequest, + EvaluatorRevision, + EvaluatorServiceRequest, +) + + +dataset = [ + {"country": "Germany", "capital": "Berlin"}, + {"country": "France", "capital": "Paris"}, + {"country": "Spain", "capital": "Madrid"}, + {"country": "Italy", "capital": "Rome"}, +] + + +async def my_application( + revision: ApplicationRevision, + request: ApplicationServiceRequest, + **kwargs, +): + inputs: dict = request.data.inputs # type:ignore + chance = random.choice([True, False]) + outputs = { + "capital": (inputs.get("capital") if chance else "Aloha"), + } + + return outputs + + +async def my_evaluator( + revision: EvaluatorRevision, + request: EvaluatorServiceRequest, + **kwargs, +): + inputs: dict = request.data.inputs # type:ignore + trace_outputs: dict = request.data.trace_outputs # type:ignore + outputs = { + "success": trace_outputs.get("capital") == inputs.get("capital"), + } + + return outputs + + +async def run_evaluation(): + specs = EvaluateSpecs( + testset_steps=[dataset], + application_steps=[my_application], + evaluator_steps=[my_evaluator], + ) + + eval = await evaluate(specs) + + return eval + + +# export AGENTA_API_URL=http://localhost/api +# export AGENTA_API_KEY=xxxxxxxx + +if __name__ == "__main__": + eval = asyncio.run(run_evaluation()) + + if not eval: + exit(1) + + print() + print("Displaying evaluation") + print(f"run_id={eval['run'].id}") # type:ignore + + for scenario in eval["scenarios"]: + print(" " f"scenario_id={scenario['scenario'].id}") # type:ignore + for step_key, result in scenario["results"].items(): # type:ignore + if result.testcase_id: + print( + " " + f"step_key={str(step_key).ljust(32)}, testcase_id={result.testcase_id}", + ) + elif result.trace_id: + print( + " " + f"step_key={str(step_key).ljust(32)}, trace_id={result.trace_id}", + ) + else: + print( + " " + f"step_key={str(step_key).ljust(32)}, error={result.error}", + ) + + print(f"metrics={json.dumps(eval['metrics'].data, indent=4)}") # type:ignore diff --git a/api/ee/tests/manual/evaluations/sdk/mock_entities.py b/api/ee/tests/manual/evaluations/sdk/mock_entities.py new file mode 100644 index 0000000000..8d1d9e5ab4 --- /dev/null +++ b/api/ee/tests/manual/evaluations/sdk/mock_entities.py @@ -0,0 +1,90 @@ +from typing import List, Dict, Any, Callable +from uuid import uuid4, UUID + +from definitions import ( + Testcase, + TestsetRevisionData, + TestsetRevision, + ApplicationRevision, + ApplicationRevisionData, + EvaluatorRevision, + WorkflowRevisionData, +) + +from services import register_handler + +TESTSET_REVISION_ID = uuid4() +TESTSET_REVISION = TestsetRevision( + id=TESTSET_REVISION_ID, + slug=str(TESTSET_REVISION_ID)[-12:], + data=TestsetRevisionData( + testcases=[ + Testcase( + id=uuid4(), + data={"country": "Germany", "capital": "Berlin"}, + ), + Testcase( + id=uuid4(), + data={"country": "France", "capital": "Paris"}, + ), + ] + ), +) + +APPLICATION_REVISION_ID = uuid4() +APPLICATION_REVISION = ApplicationRevision( + id=APPLICATION_REVISION_ID, + slug=str(APPLICATION_REVISION_ID)[-12:], + version="0", + data=ApplicationRevisionData(), +) + +EVALUATOR_REVISION_ID = uuid4() +EVALUATOR_REVISION = EvaluatorRevision( + id=EVALUATOR_REVISION_ID, + slug=str(EVALUATOR_REVISION_ID)[-12:], + version="0", + data=WorkflowRevisionData(), +) + +MOCK_URI = None + + +async def upsert_testset( + testcases_data: List[Dict[str, Any]], +) -> UUID: + return TESTSET_REVISION_ID + + +async def retrieve_testset( + testset_revision_id: UUID, +) -> TestsetRevision: + return TESTSET_REVISION + + +async def upsert_application( + application_handler: Callable, +) -> UUID: + global MOCK_URI + MOCK_URI = register_handler(application_handler) + return APPLICATION_REVISION_ID + + +async def retrieve_application( + application_revision_id: UUID, +) -> ApplicationRevision: + application_revision = APPLICATION_REVISION + application_revision.data.uri = MOCK_URI + return application_revision + + +async def upsert_evaluator( + evaluator_handler: Callable, +) -> UUID: + return EVALUATOR_REVISION_ID + + +async def retrieve_evaluator( + evaluator_revision_id: UUID, +) -> EvaluatorRevision: + return EVALUATOR_REVISION diff --git a/api/ee/tests/manual/evaluations/sdk/services.py b/api/ee/tests/manual/evaluations/sdk/services.py new file mode 100644 index 0000000000..fee8836401 --- /dev/null +++ b/api/ee/tests/manual/evaluations/sdk/services.py @@ -0,0 +1,375 @@ +from typing import Callable, Dict, Optional, Any +from uuid import uuid4, UUID + +from definitions import ( + Status, + WorkflowServiceData, + ApplicationRevision, + ApplicationServiceRequest, + ApplicationServiceResponse, + EvaluatorRevision, + EvaluatorServiceRequest, + EvaluatorServiceResponse, + SuccessStatus, + HandlerNotFoundStatus, + ErrorStatus, + RevisionDataNotFoundStatus, + RequestDataNotFoundStatus, + Link, +) + +from client import authed_api + + +client = authed_api() + + +REGISTRY: Dict[str, Dict[str, Dict[str, Dict[str, Callable]]]] = dict( + user=dict( + custom=dict(), + ), +) + + +def register_handler(fn: Callable) -> str: + global REGISTRY + + key = f"{fn.__module__}.{fn.__name__}" + + if not REGISTRY["user"]["custom"].get(key): + REGISTRY["user"]["custom"][key] = dict() + + REGISTRY["user"]["custom"][key]["latest"] = fn + + uri = f"user:custom:{key}:latest" + + return uri + + +def retrieve_handler(uri: Optional[str] = None) -> Optional[Callable]: + if not uri: + return None + + parts = uri.split(":") + + return REGISTRY[parts[0]][parts[1]].get(parts[2], {}).get(parts[3], None) + + +async def invoke_application( + *, + request: ApplicationServiceRequest, + revision: ApplicationRevision, +) -> ApplicationServiceResponse: + try: + if not revision.data: + return ApplicationServiceResponse( + status=RevisionDataNotFoundStatus(), + ) + + if not request.data: + return ApplicationServiceResponse( + status=RequestDataNotFoundStatus(), + ) + + handler = retrieve_handler(revision.data.uri) + + if not handler: + return ApplicationServiceResponse( + status=HandlerNotFoundStatus( + uri=revision.data.uri, + ), + ) + + outputs = await handler( + revision=revision, + request=request, + # + parameters=revision.data.parameters, + inputs=request.data.inputs, + # + trace_parameters=request.data.trace_parameters, + trace_inputs=request.data.trace_inputs, + trace_outputs=request.data.trace_outputs, + # + trace=request.data.trace, + tree=request.data.tree, + ) + + data = dict( + parameters=revision.data.parameters, + inputs=request.data.inputs, + outputs=outputs, + ) + + references = ( + { + k: ref.model_dump( + mode="json", + ) + for k, ref in request.references.items() + } + if request.references + else None + ) + + links = ( + { + k: ref.model_dump( + mode="json", + ) + for k, ref in request.links.items() + } + if request.links + else None + ) + + link = None + + try: + link = await _invocations_create( + tags=request.tags, + meta=request.meta, + # + data=data, + # + references=references, + links=links, + ) + except Exception as ex: + print(ex) + + response = ApplicationServiceResponse( + status=SuccessStatus(message=""), + data=WorkflowServiceData( + outputs=outputs, + ), + trace_id=link.trace_id if link else None, + links=({revision.slug or uuid4().hex: link} if link else {}), + ) + + return response + + except ErrorStatus as error: + return ApplicationServiceResponse( + status=Status( + code=error.code, + type=error.type, + message=error.message, + stacktrace=error.stacktrace, + ), + ) + + except Exception as ex: + return ApplicationServiceResponse( + status=Status( + code=500, + message=str(ex), + ), + ) + + +async def invoke_evaluator( + *, + request: EvaluatorServiceRequest, + revision: EvaluatorRevision, +) -> EvaluatorServiceResponse: + try: + if not revision.data: + return EvaluatorServiceResponse( + status=RevisionDataNotFoundStatus(), + ) + + if not request.data: + return EvaluatorServiceResponse( + status=RequestDataNotFoundStatus(), + ) + + handler = retrieve_handler(revision.data.uri) + + if not handler: + return EvaluatorServiceResponse( + status=HandlerNotFoundStatus( + uri=revision.data.uri, + ), + ) + + outputs = await handler( + revision=revision, + request=request, + # + parameters=revision.data.parameters, + inputs=request.data.inputs, + # + trace_parameters=request.data.trace_parameters, + trace_inputs=request.data.trace_inputs, + trace_outputs=request.data.trace_outputs, + # + trace=request.data.trace, + tree=request.data.tree, + ) + + data = dict( + parameters=revision.data.parameters, + inputs=request.data.inputs, + outputs=outputs, + ) + + references = ( + { + k: ref.model_dump( + mode="json", + ) + for k, ref in request.references.items() + } + if request.references + else None + ) + + links = ( + { + k: ref.model_dump( + mode="json", + ) + for k, ref in request.links.items() + } + if request.links + else None + ) + + link = None + + try: + link = await _annotations_create( + tags=request.tags, + meta=request.meta, + # + data=data, + # + references=references, + links=links, + ) + except Exception as ex: + print(ex) + + response = EvaluatorServiceResponse( + status=SuccessStatus(message=""), + data=WorkflowServiceData( + outputs=outputs, + ), + trace_id=link.trace_id if link else None, + links=({revision.slug or uuid4().hex: link} if link else {}), + ) + + return response + + except ErrorStatus as error: + return EvaluatorServiceResponse( + status=Status( + code=error.code, + type=error.type, + message=error.message, + stacktrace=error.stacktrace, + ), + ) + + except Exception as ex: + return EvaluatorServiceResponse( + status=Status( + code=500, + message=str(ex), + ), + ) + + +async def _invocations_create( + tags: Optional[Dict[str, Any]] = None, + meta: Optional[Dict[str, Any]] = None, + data: Optional[Dict[str, Any]] = None, + references: Optional[Dict[str, Any]] = None, + links: Optional[Dict[str, Any]] = None, +) -> Optional[Link]: + response = client( + method="POST", + endpoint=f"/preview/invocations/", + json=dict( + invocation=dict( + origin="custom", + kind="eval", + channel="api", + data=data, + tags=tags, + meta=meta, + references=references, + links=links, + ) + ), + ) + + try: + response.raise_for_status() + except: + print(response.text) + raise + + response = response.json() + + trace_id = response.get("invocation", {}).get("trace_id", None) + span_id = response.get("invocation", {}).get("span_id", None) + + link = ( + Link( + trace_id=trace_id, + span_id=span_id, + ) + if trace_id and span_id + else None + ) + + return link + + +async def _annotations_create( + tags: Optional[Dict[str, Any]] = None, + meta: Optional[Dict[str, Any]] = None, + data: Optional[Dict[str, Any]] = None, + references: Optional[Dict[str, Any]] = None, + links: Optional[Dict[str, Any]] = None, +) -> Optional[Link]: + response = client( + method="POST", + endpoint=f"/preview/annotations/", + json=dict( + annotation=dict( + origin="custom", + kind="eval", + channel="api", + data=data, + tags=tags, + meta=meta, + references=references, + links=links, + ) + ), + ) + + try: + response.raise_for_status() + except: + print(response.text) + raise + + response = response.json() + + trace_id = response.get("annotation", {}).get("trace_id", None) + span_id = response.get("annotation", {}).get("span_id", None) + + link = ( + Link( + trace_id=trace_id, + span_id=span_id, + ) + if trace_id and span_id + else None + ) + + return link diff --git a/api/ee/tests/manual/evaluators/human-evaluator.http b/api/ee/tests/manual/evaluators/human-evaluator.http new file mode 100644 index 0000000000..8c02962cf8 --- /dev/null +++ b/api/ee/tests/manual/evaluators/human-evaluator.http @@ -0,0 +1,73 @@ + +@host = http://localhost +@base_url = {{host}}/api/human-evaluators +@api_key = xxxxxx.xxxxxxxxxxxxxxxx +### + +# @name add_human_evaluator +POST {{base_url}}/ +Content-Type: application/json +Authorization: ApiKey {{api_key}} + +{ + "slug": "my-human-evaluator", + "header": {"name": "a/b accuracy", "description": "this is a description"}, + "revision": { + "kind": "HUMAN_EVALUATOR", + "body": { + "data": {"metrics": ["accuracy"], "notes": "Evaluator for accuracy"}, + "tags": ["human", "evaluation"] + }, + "commit": { + "parent_id": null, + "message": "Initial commit", + "author": "01964312-ad5a-7bb1-b21e-4f055c9f988b", + "date": "2025-04-18T12:25:59.609Z" + } + } +} + +### + +# @name fetch_human_evaluator +POST {{base_url}}/{{add_human_evaluator.response.body.variant_ref.id}} +Content-Type: application/json +Authorization: ApiKey {{api_key}} + +### + +# @name edit_human_evaluator +PUT {{base_url}}/{{add_human_evaluator.response.body.variant_ref.id}} +Content-Type: application/json +Authorization: ApiKey {{api_key}} + +{ + "slug": "my-human-evaluator-updated-another-another", + "body": { + "data": {"metrics": ["accuracy"], "notes": "Evaluator for accuracy"}, + "tags": ["human", "evaluation"] + }, + "commit": { + "parent_id": null, + "message": "Second commit", + "author": "01964312-ad5a-7bb1-b21e-4f055c9f988b", + "date": "2025-04-18T13:10:55.658Z" + } +} + +### + +# @name query_human_evaluators +GET {{base_url}}/query?revision_id={{add_human_evaluator.response.body.id}}&depth=1 +Content-Type: application/json +Authorization: ApiKey {{api_key}} + +### + +# @name delete_human_evaluator +DELETE {{base_url}}/{{add_human_evaluator.response.body.variant_ref.id}} +Content-Type: application/json +Authorization: ApiKey {{api_key}} + +### + diff --git a/api/ee/tests/pytest/__init__.py b/api/ee/tests/pytest/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/api/ee/tests/requirements.txt b/api/ee/tests/requirements.txt new file mode 100644 index 0000000000..510e3b3b6f --- /dev/null +++ b/api/ee/tests/requirements.txt @@ -0,0 +1 @@ +-r ../../oss/tests/requirements.txt \ No newline at end of file diff --git a/api/oss/tests/manual/tracing/windowing.http b/api/oss/tests/manual/tracing/windowing.http index 5956e7d6a2..cad4ae83ad 100644 --- a/api/oss/tests/manual/tracing/windowing.http +++ b/api/oss/tests/manual/tracing/windowing.http @@ -1,6 +1,6 @@ @host = http://localhost @base_url = {{host}}/api/preview/tracing -@api_key = UGZaImq8.a94d2c99eab827b1cd27678358016a61f2e92c2cdea8f33b1cf3cc2afb7065e8 +@api_key = ... ### diff --git a/api/pyproject.toml b/api/pyproject.toml index 4f58361a5b..76fc53afd4 100644 --- a/api/pyproject.toml +++ b/api/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "api" -version = "0.57.2" +version = "0.58.0" description = "Agenta API" authors = [ { name = "Mahmoud Mabrouk", email = "mahmoud@agenta.ai" }, diff --git a/docs/docs/prompt-engineering/playground/02-adding-custom-providers.mdx b/docs/docs/prompt-engineering/playground/02-adding-custom-providers.mdx index c2b3121621..898cefceb1 100644 --- a/docs/docs/prompt-engineering/playground/02-adding-custom-providers.mdx +++ b/docs/docs/prompt-engineering/playground/02-adding-custom-providers.mdx @@ -78,7 +78,7 @@ To add Azure OpenAI models, you'll need the following information: ### Configuration Example ```plaintext -API Key: c98d7a8s7d6a5s4d3a2s1d... +API Key: xxxxxxxxxx API Version: 2023-05-15 API base url: Use here your endpoint URL (e.g., https://accountnameinstance.openai.azure.com Deployment Name: Use here the deployment name in Azure (e.g., gpt-4-turbo) @@ -103,7 +103,7 @@ Refer to these tutorials for detailed instructions: ```plaintext Access Key ID: xxxxxxxxxx -Secret Access Key: xxxxxxxxxxxxxxxxxxxxxxx +Secret Access Key: xxxxxxxxxx Region: (e.g eu-central-1) Model name: (e.g anthropic.claude-3-sonnet-20240229-v1:0) ``` diff --git a/ee/LICENSE b/ee/LICENSE new file mode 100644 index 0000000000..ae7a2f38f4 --- /dev/null +++ b/ee/LICENSE @@ -0,0 +1,37 @@ +Agenta Enterprise License (the “Enterprise License”) +Copyright (c) 2023–2025 +Agentatech UG (haftungsbeschränkt), doing business as “Agenta” (“Agenta”) + +With regard to the Agenta Software: + +This software and associated documentation files (the "Software") may only be +used in production, if you (and any entity that you represent) have agreed to, +and are in compliance with, the Agenta Subscription Terms of Service, available +at https://agenta.ai/terms (the “Enterprise Terms”), or other +agreement governing the use of the Software, as agreed by you and Agenta, +and otherwise have a valid Agenta Enterprise License. + +Subject to the foregoing sentence, you are free to modify this Software and +publish patches to the Software. You agree that Agenta and/or its licensors +(as applicable) retain all right, title and interest in and to all such +modifications and/or patches, and all such modifications and/or patches may +only be used, copied, modified, displayed, distributed, or otherwise exploited +with a valid Agenta Enterprise License. Notwithstanding the foregoing, you may +copy and modify the Software for development and testing purposes, without +requiring a subscription. You agree that Agenta and/or its licensors (as +applicable) retain all right, title and interest in and to all such +modifications. You are not granted any other rights beyond what is expressly +stated herein. Subject to the foregoing, it is forbidden to copy, merge, +publish, distribute, sublicense, and/or sell the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +For all third party components incorporated into the Agenta Software, those +components are licensed under the original license provided by the owner of the +applicable component. diff --git a/hooks/setup.sh b/hooks/setup.sh new file mode 100755 index 0000000000..dfa7669995 --- /dev/null +++ b/hooks/setup.sh @@ -0,0 +1,47 @@ +#!/usr/bin/env bash +set -euo pipefail + +echo "🔧 Setting up Git hooks with pre-commit + gitleaks..." + +# --- check dependencies --- +if ! command -v python3 >/dev/null 2>&1; then + echo "❌ Python3 is required but not installed." + exit 1 +fi +if ! command -v pip3 >/dev/null 2>&1; then + echo "❌ pip3 is required but not installed." + exit 1 +fi + +# --- install pre-commit globally if missing --- +if ! command -v pre-commit >/dev/null 2>&1; then + echo "📦 Installing pre-commit..." + pip3 install pre-commit +fi + +# --- install gitleaks globally if missing --- +if ! command -v gitleaks >/dev/null 2>&1; then + echo "📦 Installing gitleaks..." + if command -v brew >/dev/null 2>&1; then + brew install gitleaks + else + # fallback: go install (requires Go installed) + go install github.com/gitleaks/gitleaks/v8@latest + export PATH="$PATH:$(go env GOPATH)/bin" + fi +fi + +# --- install hooks into .git/hooks/ --- +echo "⚙️ Installing pre-commit hooks..." +pre-commit install --install-hooks +pre-commit install --hook-type pre-push + +# --- one-time full scans --- +echo "🔍 Running one-time gitleaks scans..." + +gitleaks --config .gitleaks.toml --exit-code 1 --verbose detect --no-git --source . || { + echo "❌ Gitleaks detected potential secrets in the working directory." + exit 1 +} + +echo "✅ Setup complete! Hooks installed and initial scan passed. You are safe to commit." diff --git a/hosting/docker-compose/ee/.dockerignore b/hosting/docker-compose/ee/.dockerignore new file mode 100644 index 0000000000..3a6d70aca2 --- /dev/null +++ b/hosting/docker-compose/ee/.dockerignore @@ -0,0 +1,7 @@ +node_modules +.git +docker/ +db.schema +tests/ +poetry.lock +db.schema \ No newline at end of file diff --git a/hosting/docker-compose/ee/LICENSE b/hosting/docker-compose/ee/LICENSE new file mode 100644 index 0000000000..ae7a2f38f4 --- /dev/null +++ b/hosting/docker-compose/ee/LICENSE @@ -0,0 +1,37 @@ +Agenta Enterprise License (the “Enterprise License”) +Copyright (c) 2023–2025 +Agentatech UG (haftungsbeschränkt), doing business as “Agenta” (“Agenta”) + +With regard to the Agenta Software: + +This software and associated documentation files (the "Software") may only be +used in production, if you (and any entity that you represent) have agreed to, +and are in compliance with, the Agenta Subscription Terms of Service, available +at https://agenta.ai/terms (the “Enterprise Terms”), or other +agreement governing the use of the Software, as agreed by you and Agenta, +and otherwise have a valid Agenta Enterprise License. + +Subject to the foregoing sentence, you are free to modify this Software and +publish patches to the Software. You agree that Agenta and/or its licensors +(as applicable) retain all right, title and interest in and to all such +modifications and/or patches, and all such modifications and/or patches may +only be used, copied, modified, displayed, distributed, or otherwise exploited +with a valid Agenta Enterprise License. Notwithstanding the foregoing, you may +copy and modify the Software for development and testing purposes, without +requiring a subscription. You agree that Agenta and/or its licensors (as +applicable) retain all right, title and interest in and to all such +modifications. You are not granted any other rights beyond what is expressly +stated herein. Subject to the foregoing, it is forbidden to copy, merge, +publish, distribute, sublicense, and/or sell the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +For all third party components incorporated into the Agenta Software, those +components are licensed under the original license provided by the owner of the +applicable component. diff --git a/hosting/docker-compose/ee/docker-compose.dev.yml b/hosting/docker-compose/ee/docker-compose.dev.yml new file mode 100644 index 0000000000..8d540070d9 --- /dev/null +++ b/hosting/docker-compose/ee/docker-compose.dev.yml @@ -0,0 +1,372 @@ +name: agenta-ee-dev + +services: + .api: + image: agenta-ee-dev-api:latest + build: + context: ../../../api + dockerfile: ee/docker/Dockerfile.dev + command: ["true"] # exits immediately + + .web: + image: agenta-ee-dev-web:latest + build: + context: ../../../web + dockerfile: ee/docker/Dockerfile.dev + command: ["true"] # exits immediately + + web: + profiles: + - with-web + + image: agenta-ee-dev-web:latest + + volumes: + - ../../../web/ee/src:/app/ee/src + - ../../../web/ee/public:/app/ee/public + - ../../../web/oss/src:/app/oss/src + - ../../../web/oss/public:/app/oss/public + + env_file: + - ${ENV_FILE:-./.env.ee.dev} + + ports: + - "3000:3000" + + restart: always + + networks: + - agenta-network + labels: + - "traefik.http.routers.agenta-web.rule= PathPrefix(`/`)" + - "traefik.http.routers.agenta-web.entrypoints=web" + - "traefik.http.services.agenta-web.loadbalancer.server.port=3000" + + command: sh -c "pnpm dev-ee" + + api: + image: agenta-ee-dev-api:latest + + volumes: + - ../../../api:/app + # - ../../../sdk:/sdk + + env_file: + - ${ENV_FILE:-./.env.ee.dev} + + labels: + - "traefik.http.routers.api.rule=PathPrefix(`/api/`)" + - "traefik.http.routers.api.entrypoints=web" + - "traefik.http.middlewares.api-strip.stripprefix.prefixes=/api" + - "traefik.http.middlewares.api-strip.stripprefix.forceslash=true" + - "traefik.http.routers.api.middlewares=api-strip" + - "traefik.http.services.api.loadbalancer.server.port=8000" + - "traefik.http.routers.api.service=api" + + restart: always + + networks: + - agenta-network + extra_hosts: + - "host.docker.internal:host-gateway" + + command: + [ + "uvicorn", + "entrypoint:app", + "--host", + "0.0.0.0", + "--port", + "8000", + "--reload", + "--root-path", + "/api", + ] + + depends_on: + postgres: + condition: service_healthy + alembic: + condition: service_completed_successfully + supertokens: + condition: service_healthy + + worker: + image: agenta-ee-dev-api:latest + + volumes: + - ../../../api:/app + # - ../../../sdk:/sdk + + env_file: + - ${ENV_FILE:-./.env.ee.dev} + + depends_on: + - postgres + - rabbitmq + - redis + + extra_hosts: + - "host.docker.internal:host-gateway" + + restart: always + + networks: + - agenta-network + + command: > + watchmedo auto-restart --directory=/app/ --pattern=*.py --recursive -- celery -A entrypoint.celery_app worker --concurrency=1 --max-tasks-per-child=1 --prefetch-multiplier=1 --loglevel=DEBUG + + cron: + image: agenta-ee-dev-api:latest + + volumes: + - ../../../api/ee/src/crons/meters.sh:/meters.sh + + env_file: + - ${ENV_FILE:-./.env.ee.dev} + + depends_on: + - postgres + - api + + extra_hosts: + - "host.docker.internal:host-gateway" + + restart: always + + networks: + - agenta-network + + command: cron -f + + alembic: + image: agenta-ee-dev-api:latest + + volumes: + - ../../../api:/app + # - ../../../sdk:/sdk + + env_file: + - ${ENV_FILE:-./.env.ee.dev} + + depends_on: + postgres: + condition: service_healthy + networks: + - agenta-network + + command: sh -c "python -m ee.databases.postgres.migrations.runner" + + completion: + build: + context: ../../../services/completion + dockerfile: oss/docker/Dockerfile.dev + + volumes: + - ../../../services/completion:/app + - ../../../sdk:/sdk + + env_file: + - ${ENV_FILE:-./.env.ee.dev} + extra_hosts: + - "host.docker.internal:host-gateway" + labels: + - "traefik.http.routers.completion.rule=PathPrefix(`/services/completion/`)" + - "traefik.http.routers.completion.entrypoints=web" + - "traefik.http.middlewares.completion-strip.stripprefix.prefixes=/services/completion" + - "traefik.http.middlewares.completion-strip.stripprefix.forceslash=true" + - "traefik.http.routers.completion.middlewares=completion-strip" + - "traefik.http.services.completion.loadbalancer.server.port=80" + - "traefik.http.routers.completion.service=completion" + + restart: always + + networks: + - agenta-network + + command: ["python", "oss/src/main.py"] + + chat: + build: + context: ../../../services/chat + dockerfile: oss/docker/Dockerfile.dev + + volumes: + - ../../../services/chat:/app + - ../../../sdk:/sdk + + env_file: + - ${ENV_FILE:-./.env.ee.dev} + extra_hosts: + - "host.docker.internal:host-gateway" + labels: + - "traefik.http.routers.chat.rule=PathPrefix(`/services/chat/`)" + - "traefik.http.routers.chat.entrypoints=web" + - "traefik.http.middlewares.chat-strip.stripprefix.prefixes=/services/chat" + - "traefik.http.middlewares.chat-strip.stripprefix.forceslash=true" + - "traefik.http.routers.chat.middlewares=chat-strip" + - "traefik.http.services.chat.loadbalancer.server.port=80" + - "traefik.http.routers.chat.service=chat" + + restart: always + + networks: + - agenta-network + + command: ["python", "oss/src/main.py"] + + postgres: + image: postgres:16.2 + + env_file: + - ${ENV_FILE:-./.env.ee.dev} + ports: + - "5432:5432" + + restart: always + + networks: + - agenta-network + volumes: + - postgres-data:/var/lib/postgresql/data/ + - ../../../api/ee/databases/postgres/init-db-ee.sql:/docker-entrypoint-initdb.d/init-db.sql + healthcheck: + test: ["CMD-SHELL", "pg_isready -U username -d agenta_ee_core"] + interval: 10s + timeout: 5s + retries: 5 + + rabbitmq: + image: rabbitmq:3-management + + ports: + - "5672:5672" + - "15672:15672" + volumes: + - rabbitmq-data:/var/lib/rabbitmq + env_file: + - ${ENV_FILE:-./.env.ee.dev} + + restart: always + + networks: + - agenta-network + + redis: + image: redis:latest + + restart: always + + networks: + - agenta-network + volumes: + - redis-data:/data + + cache: + image: redis:latest + + command: > + redis-server + --port 6378 + --appendonly no + --appendfsync no + --save "" + --maxmemory 128mb + --maxmemory-policy allkeys-lru + + ports: + - "6378:6378" + + volumes: + - cache-data:/data + + restart: always + + networks: + - agenta-network + + labels: + - "traefik.enable=false" + + healthcheck: + test: ["CMD", "redis-cli", "-p", "6378", "ping"] + interval: 10s + timeout: 5s + retries: 5 + start_period: 5s + + traefik: + image: traefik:v2.10 + + command: --api.dashboard=true --api.insecure=true --providers.docker --entrypoints.web.address=:${AGENTA_PORT:-80} + volumes: + - /var/run/docker.sock:/var/run/docker.sock + ports: + - "${AGENTA_PORT:-80}:${AGENTA_PORT:-80}" + - "8080:8080" + - "443:443" + + restart: always + + networks: + - agenta-network + + supertokens: + image: registry.supertokens.io/supertokens/supertokens-postgresql + + depends_on: + postgres: + condition: service_healthy + alembic: + condition: service_completed_successfully + + ports: + - 3567:3567 + + env_file: + - ${ENV_FILE:-./.env.ee.dev} + + environment: + POSTGRESQL_CONNECTION_URI: ${POSTGRES_URI_SUPERTOKENS} + + restart: always + + networks: + - agenta-network + + healthcheck: + test: > + bash -c 'exec 3<>/dev/tcp/127.0.0.1/3567 && echo -e "GET /hello HTTP/1.1\r\nhost: 127.0.0.1:3567\r\nConnection: close\r\n\r\n" >&3 && cat <&3 | grep "Hello"' + interval: 10s + timeout: 5s + retries: 5 + + stripe: + image: stripe/stripe-cli:latest + + command: [ + listen, + --forward-to, + http://api:8000/billing/stripe/events/, + --events, + "customer.subscription.created,customer.subscription.deleted,invoice.updated,invoice.upcoming,invoice.payment_failed,invoice.payment_succeeded" + ] + + env_file: + - ${ENV_FILE:-./.env.ee.dev} + + restart: always + + networks: + - agenta-network + +networks: + agenta-network: + +volumes: + postgres-data: + rabbitmq-data: + redis-data: + cache-data: + nextjs_cache: diff --git a/hosting/docker-compose/ee/env.ee.dev.example b/hosting/docker-compose/ee/env.ee.dev.example new file mode 100644 index 0000000000..c42666965b --- /dev/null +++ b/hosting/docker-compose/ee/env.ee.dev.example @@ -0,0 +1,91 @@ +# First-party (required) +AGENTA_LICENSE=ee +AGENTA_STAGE=dev +AGENTA_PROVIDER=local +AGENTA_WEB_URL=http://localhost +AGENTA_API_URL=http://localhost/api +AGENTA_SERVICES_URL=http://localhost/services +AGENTA_AUTH_KEY=change-me +AGENTA_CRYPT_KEY=change-me +AGENTA_API_IMAGE_NAME=agenta-api +AGENTA_API_IMAGE_TAG=latest +AGENTA_WEB_IMAGE_NAME=agenta-web +AGENTA_WEB_IMAGE_TAG=latest + +# First-party (registry & service) +DOCKER_NETWORK_MODE=bridge +POSTGRES_USERNAME=username +POSTGRES_PASSWORD=password + +# First-party (optional) +AGENTA_AUTO_MIGRATIONS=true +AGENTA_PRICING= +AGENTA_DEMOS= +AGENTA_RUNTIME_PREFIX= +AGENTA_API_INTERNAL_URL= +AGENTA_LITELLM_MOCK= +POSTGRES_USERNAME_ADMIN= +POSTGRES_PASSWORD_ADMIN= +AGENTA_SERVICE_MIDDLEWARE_CACHE_ENABLED=true +AGENTA_OTLP_MAX_BATCH_BYTES=10485760 + +# Third-party (required) +TRAEFIK_DOMAIN= +TRAEFIK_PROTOCOL= +TRAEFIK_PORT= + +REDIS_URL=redis://redis:6379/0 +RABBITMQ_DEFAULT_PASS=guest +RABBITMQ_DEFAULT_USER=guest + +CELERY_BROKER_URL=amqp://guest@rabbitmq// +CELERY_RESULT_BACKEND=redis://redis:6379/0 + +POSTGRES_URI_SUPERTOKENS="postgresql://username:password@postgres:5432/agenta_ee_supertokens" +POSTGRES_URI_CORE="postgresql+asyncpg://username:password@postgres:5432/agenta_ee_core" +POSTGRES_URI_TRACING="postgresql+asyncpg://username:password@postgres:5432/agenta_ee_tracing" + +ALEMBIC_CFG_PATH_CORE=/app/ee/databases/postgres/migrations/core/alembic.ini +ALEMBIC_CFG_PATH_TRACING=/app/ee/databases/postgres/migrations/tracing/alembic.ini + +SUPERTOKENS_CONNECTION_URI=http://supertokens:3567 + +# Third-party (optional) +AWS_ECR_URL= +AWS_RDS_SECRET= + +POSTHOG_API_KEY=phc_3urGRy5TL1HhaHnRYL0JSHxJxigRVackhphHtozUmdp + +GITHUB_OAUTH_CLIENT_ID= +GITHUB_OAUTH_CLIENT_SECRET= +GOOGLE_OAUTH_CLIENT_ID= +GOOGLE_OAUTH_CLIENT_SECRET= + +SUPERTOKENS_API_KEY=replace-me + +NEW_RELIC_LICENSE_KEY= +NRIA_LICENSE_KEY= + +LOOPS_API_KEY= + +SENDGRID_API_KEY= + +CRISP_WEBSITE_ID= + +STRIPE_API_KEY= +STRIPE_WEBHOOK_SECRET= +STRIPE_TARGET= + +# Third-party - LLM (optional) +ALEPHALPHA_API_KEY= +ANTHROPIC_API_KEY= +ANYSCALE_API_KEY= +COHERE_API_KEY= +DEEPINFRA_API_KEY= +GEMINI_API_KEY= +GROQ_API_KEY= +MISTRAL_API_KEY= +OPENAI_API_KEY= +OPENROUTER_API_KEY= +PERPLEXITYAI_API_KEY= +TOGETHERAI_API_KEY= diff --git a/hosting/docker-compose/ee/env.ee.gh.example b/hosting/docker-compose/ee/env.ee.gh.example new file mode 100644 index 0000000000..5cba09c18c --- /dev/null +++ b/hosting/docker-compose/ee/env.ee.gh.example @@ -0,0 +1,80 @@ +# First-party (required) +AGENTA_LICENSE=ee +AGENTA_STAGE=dev +AGENTA_PROVIDER=local +AGENTA_API_URL=http://localhost/api +AGENTA_WEB_URL=http://localhost +AGENTA_SERVICES_URL=http://localhost/services +AGENTA_AUTH_KEY=change-me +AGENTA_CRYPT_KEY=change-me + +# First-party (registry & service) +DOCKER_NETWORK_MODE=bridge +POSTGRES_PASSWORD=password +POSTGRES_USERNAME=username + +# First-party (optional) +AGENTA_AUTO_MIGRATIONS=true +AGENTA_PRICING= +AGENTA_DEMOS= +AGENTA_RUNTIME_PREFIX= +AGENTA_API_INTERNAL_URL= +AGENTA_SERVICE_MIDDLEWARE_CACHE_ENABLED=true +AGENTA_OTLP_MAX_BATCH_BYTES=10485760 + +# Third-party (required) +TRAEFIK_DOMAIN= +TRAEFIK_PROTOCOL= +TRAEFIK_PORT= + +REDIS_URL=redis://redis:6379/0 +RABBITMQ_DEFAULT_PASS=guest +RABBITMQ_DEFAULT_USER=guest + +CELERY_BROKER_URL=amqp://guest@rabbitmq// +CELERY_RESULT_BACKEND=redis://redis:6379/0 + +POSTGRES_URI_SUPERTOKENS="postgresql://username:password@postgres:5432/agenta_ee_supertokens" +POSTGRES_URI_CORE="postgresql+asyncpg://username:password@postgres:5432/agenta_ee_core" +POSTGRES_URI_TRACING="postgresql+asyncpg://username:password@postgres:5432/agenta_ee_tracing" + +ALEMBIC_CFG_PATH_CORE=/app/ee/databases/postgres/migrations/core/alembic.ini +ALEMBIC_CFG_PATH_TRACING=/app/ee/databases/postgres/migrations/tracing/alembic.ini + +SUPERTOKENS_API_KEY=replace-me +SUPERTOKENS_CONNECTION_URI=http://supertokens:3567 + +# Third-party (optional) +POSTHOG_API_KEY=phc_3urGRy5TL1HhaHnRYL0JSHxJxigRVackhphHtozUmdp + +GITHUB_OAUTH_CLIENT_ID= +GITHUB_OAUTH_CLIENT_SECRET= + +GOOGLE_OAUTH_CLIENT_ID= +GOOGLE_OAUTH_CLIENT_SECRET= + +NEW_RELIC_LICENSE_KEY= +NRIA_LICENSE_KEY= + +LOOPS_API_KEY= + +SENDGRID_API_KEY= + +CRISP_WEBSITE_ID= + +STRIPE_API_KEY= +STRIPE_WEBHOOK_SECRET= + +# Third-party - LLM (optional) +ALEPHALPHA_API_KEY= +ANTHROPIC_API_KEY= +ANYSCALE_API_KEY= +COHERE_API_KEY= +DEEPINFRA_API_KEY= +GEMINI_API_KEY= +GROQ_API_KEY= +MISTRAL_API_KEY= +OPENAI_API_KEY= +OPENROUTER_API_KEY= +PERPLEXITYAI_API_KEY= +TOGETHERAI_API_KEY= \ No newline at end of file diff --git a/hosting/docker-compose/oss/.env.oss.dev.example b/hosting/docker-compose/oss/env.oss.dev.example similarity index 100% rename from hosting/docker-compose/oss/.env.oss.dev.example rename to hosting/docker-compose/oss/env.oss.dev.example diff --git a/hosting/docker-compose/oss/.env.oss.gh.example b/hosting/docker-compose/oss/env.oss.gh.example similarity index 100% rename from hosting/docker-compose/oss/.env.oss.gh.example rename to hosting/docker-compose/oss/env.oss.gh.example diff --git a/hosting/aws/agenta_instance.tf b/hosting/old/aws/agenta_instance.tf similarity index 100% rename from hosting/aws/agenta_instance.tf rename to hosting/old/aws/agenta_instance.tf diff --git a/hosting/aws/agenta_instance_sg.tf b/hosting/old/aws/agenta_instance_sg.tf similarity index 100% rename from hosting/aws/agenta_instance_sg.tf rename to hosting/old/aws/agenta_instance_sg.tf diff --git a/hosting/aws/instance-setup.sh b/hosting/old/aws/instance-setup.sh similarity index 100% rename from hosting/aws/instance-setup.sh rename to hosting/old/aws/instance-setup.sh diff --git a/hosting/aws/main.tf b/hosting/old/aws/main.tf similarity index 100% rename from hosting/aws/main.tf rename to hosting/old/aws/main.tf diff --git a/hosting/gcp/agenta-instance.tf b/hosting/old/gcp/agenta-instance.tf similarity index 100% rename from hosting/gcp/agenta-instance.tf rename to hosting/old/gcp/agenta-instance.tf diff --git a/hosting/old/gcp/credentials.json b/hosting/old/gcp/credentials.json new file mode 100644 index 0000000000..e69de29bb2 diff --git a/hosting/gcp/main.tf b/hosting/old/gcp/main.tf similarity index 100% rename from hosting/gcp/main.tf rename to hosting/old/gcp/main.tf diff --git a/sdk/pyproject.toml b/sdk/pyproject.toml index 323d0515f4..6fb0d58a0a 100644 --- a/sdk/pyproject.toml +++ b/sdk/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "agenta" -version = "0.57.2" +version = "0.58.0" description = "The SDK for agenta is an open-source LLMOps platform." readme = "README.md" authors = [ diff --git a/sdk/tests/legacy/baggage/config.toml b/sdk/tests/legacy/baggage/config.toml index f32346649b..d5a5f01895 100644 --- a/sdk/tests/legacy/baggage/config.toml +++ b/sdk/tests/legacy/baggage/config.toml @@ -1,4 +1,4 @@ app_name = "baggage" app_id = "0193b67a-b673-7919-85c2-0b5b0a2183d3" backend_host = "http://localhost" -api_key = "XELnjVve.c1f177c87250b603cf1ed2a69ebdfc1cec3124776058e7afcbba93890c515e74" +api_key = "XELnjVve.xxxx" diff --git a/sdk/tests/legacy/debugging/simple-app/config.toml b/sdk/tests/legacy/debugging/simple-app/config.toml index 389b22a2bf..7c2a204758 100644 --- a/sdk/tests/legacy/debugging/simple-app/config.toml +++ b/sdk/tests/legacy/debugging/simple-app/config.toml @@ -1,6 +1,6 @@ app_name = "asdf" app_id = "0193bbaa-4f2b-7510-9170-9bdf95249ca0" backend_host = "https://cloud.agenta.ai" -api_key = "dWdKluoL.fc56608c5e0ce7b262e9e9a795b6a5e9371200c573cafbd975ebb6b4368b6032" +api_key = "dWdKluoL.xxxx" variants = [] variant_ids = [] diff --git a/services/chat/ee/LICENSE b/services/chat/ee/LICENSE new file mode 100644 index 0000000000..ae7a2f38f4 --- /dev/null +++ b/services/chat/ee/LICENSE @@ -0,0 +1,37 @@ +Agenta Enterprise License (the “Enterprise License”) +Copyright (c) 2023–2025 +Agentatech UG (haftungsbeschränkt), doing business as “Agenta” (“Agenta”) + +With regard to the Agenta Software: + +This software and associated documentation files (the "Software") may only be +used in production, if you (and any entity that you represent) have agreed to, +and are in compliance with, the Agenta Subscription Terms of Service, available +at https://agenta.ai/terms (the “Enterprise Terms”), or other +agreement governing the use of the Software, as agreed by you and Agenta, +and otherwise have a valid Agenta Enterprise License. + +Subject to the foregoing sentence, you are free to modify this Software and +publish patches to the Software. You agree that Agenta and/or its licensors +(as applicable) retain all right, title and interest in and to all such +modifications and/or patches, and all such modifications and/or patches may +only be used, copied, modified, displayed, distributed, or otherwise exploited +with a valid Agenta Enterprise License. Notwithstanding the foregoing, you may +copy and modify the Software for development and testing purposes, without +requiring a subscription. You agree that Agenta and/or its licensors (as +applicable) retain all right, title and interest in and to all such +modifications. You are not granted any other rights beyond what is expressly +stated herein. Subject to the foregoing, it is forbidden to copy, merge, +publish, distribute, sublicense, and/or sell the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +For all third party components incorporated into the Agenta Software, those +components are licensed under the original license provided by the owner of the +applicable component. diff --git a/services/chat/ee/__init__.py b/services/chat/ee/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/services/chat/ee/docker/Dockerfile.gh b/services/chat/ee/docker/Dockerfile.gh new file mode 100644 index 0000000000..7e2351a555 --- /dev/null +++ b/services/chat/ee/docker/Dockerfile.gh @@ -0,0 +1,18 @@ +FROM python:3.10-slim + +ARG ROOT_PATH=/ +ENV ROOT_PATH=${ROOT_PATH} + +WORKDIR /app/ + +RUN pip install --upgrade pip + +COPY ./requirements.txt /app/requirements.txt + +RUN pip install -r requirements.txt + +COPY ./oss /app/oss/ + +ENV PYTHONPATH=/sdk:$PYTHONPATH + +EXPOSE 80 diff --git a/services/completion/ee/LICENSE b/services/completion/ee/LICENSE new file mode 100644 index 0000000000..ae7a2f38f4 --- /dev/null +++ b/services/completion/ee/LICENSE @@ -0,0 +1,37 @@ +Agenta Enterprise License (the “Enterprise License”) +Copyright (c) 2023–2025 +Agentatech UG (haftungsbeschränkt), doing business as “Agenta” (“Agenta”) + +With regard to the Agenta Software: + +This software and associated documentation files (the "Software") may only be +used in production, if you (and any entity that you represent) have agreed to, +and are in compliance with, the Agenta Subscription Terms of Service, available +at https://agenta.ai/terms (the “Enterprise Terms”), or other +agreement governing the use of the Software, as agreed by you and Agenta, +and otherwise have a valid Agenta Enterprise License. + +Subject to the foregoing sentence, you are free to modify this Software and +publish patches to the Software. You agree that Agenta and/or its licensors +(as applicable) retain all right, title and interest in and to all such +modifications and/or patches, and all such modifications and/or patches may +only be used, copied, modified, displayed, distributed, or otherwise exploited +with a valid Agenta Enterprise License. Notwithstanding the foregoing, you may +copy and modify the Software for development and testing purposes, without +requiring a subscription. You agree that Agenta and/or its licensors (as +applicable) retain all right, title and interest in and to all such +modifications. You are not granted any other rights beyond what is expressly +stated herein. Subject to the foregoing, it is forbidden to copy, merge, +publish, distribute, sublicense, and/or sell the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +For all third party components incorporated into the Agenta Software, those +components are licensed under the original license provided by the owner of the +applicable component. diff --git a/services/completion/ee/__init__.py b/services/completion/ee/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/services/completion/ee/docker/Dockerfile.gh b/services/completion/ee/docker/Dockerfile.gh new file mode 100644 index 0000000000..7e2351a555 --- /dev/null +++ b/services/completion/ee/docker/Dockerfile.gh @@ -0,0 +1,18 @@ +FROM python:3.10-slim + +ARG ROOT_PATH=/ +ENV ROOT_PATH=${ROOT_PATH} + +WORKDIR /app/ + +RUN pip install --upgrade pip + +COPY ./requirements.txt /app/requirements.txt + +RUN pip install -r requirements.txt + +COPY ./oss /app/oss/ + +ENV PYTHONPATH=/sdk:$PYTHONPATH + +EXPOSE 80 diff --git a/web/ee/.gitignore b/web/ee/.gitignore new file mode 100644 index 0000000000..6d61ed9526 --- /dev/null +++ b/web/ee/.gitignore @@ -0,0 +1,37 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# local env files +.env*.local + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts + + diff --git a/web/ee/LICENSE b/web/ee/LICENSE new file mode 100644 index 0000000000..ae7a2f38f4 --- /dev/null +++ b/web/ee/LICENSE @@ -0,0 +1,37 @@ +Agenta Enterprise License (the “Enterprise License”) +Copyright (c) 2023–2025 +Agentatech UG (haftungsbeschränkt), doing business as “Agenta” (“Agenta”) + +With regard to the Agenta Software: + +This software and associated documentation files (the "Software") may only be +used in production, if you (and any entity that you represent) have agreed to, +and are in compliance with, the Agenta Subscription Terms of Service, available +at https://agenta.ai/terms (the “Enterprise Terms”), or other +agreement governing the use of the Software, as agreed by you and Agenta, +and otherwise have a valid Agenta Enterprise License. + +Subject to the foregoing sentence, you are free to modify this Software and +publish patches to the Software. You agree that Agenta and/or its licensors +(as applicable) retain all right, title and interest in and to all such +modifications and/or patches, and all such modifications and/or patches may +only be used, copied, modified, displayed, distributed, or otherwise exploited +with a valid Agenta Enterprise License. Notwithstanding the foregoing, you may +copy and modify the Software for development and testing purposes, without +requiring a subscription. You agree that Agenta and/or its licensors (as +applicable) retain all right, title and interest in and to all such +modifications. You are not granted any other rights beyond what is expressly +stated herein. Subject to the foregoing, it is forbidden to copy, merge, +publish, distribute, sublicense, and/or sell the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +For all third party components incorporated into the Agenta Software, those +components are licensed under the original license provided by the owner of the +applicable component. diff --git a/web/ee/docker/Dockerfile.dev b/web/ee/docker/Dockerfile.dev new file mode 100644 index 0000000000..719331462b --- /dev/null +++ b/web/ee/docker/Dockerfile.dev @@ -0,0 +1,43 @@ +FROM node:20.18-slim + +ENV TURBO_TELEMETRY_DISABLED=1 + +WORKDIR /app + +# Install jq for JSON parsing +RUN apt-get update && apt-get install -y jq + +# Install dependencies based on the preferred package manager +COPY package.json yarn.lock* package-lock.json* pnpm-lock.yaml* .npmrc* ./ + +# Extract PNPM version and install it +RUN PNPM_VERSION=$(cat package.json | jq -r '.packageManager | split("@")[1]') && \ + npm install -g pnpm@${PNPM_VERSION} + +COPY ee/package.json ./ee/yarn.lock* ./ee/package-lock.json* ./ee/pnpm-lock.yaml* ./ee/.npmrc* ./ee/ +COPY oss/package.json ./oss/yarn.lock* ./oss/package-lock.json* ./oss/pnpm-lock.yaml* ./oss/.npmrc* ./oss/ +COPY ./pnpm-workspace.yaml ./turbo.json ./ + +COPY ./entrypoint.sh /app/entrypoint.sh + +RUN pnpm i + +COPY ee/src ./ee/src +COPY ee/public ./ee/public +COPY oss/src ./oss/src +COPY oss/public ./oss/public +COPY tsconfig.json . +COPY ee/tsconfig.json ./ee +COPY oss/tsconfig.json ./oss + +COPY ee/postcss.config.mjs ./ee/postcss.config.mjs +COPY oss/postcss.config.mjs ./oss/postcss.config.mjs + +COPY ee/next.config.ts ./ee/next.config.ts +COPY oss/next.config.ts ./oss/next.config.ts + +COPY ee/tailwind.config.ts ./ee/tailwind.config.ts +COPY oss/tailwind.config.ts ./oss/tailwind.config.ts + +ENTRYPOINT ["./entrypoint.sh"] +EXPOSE 3000 \ No newline at end of file diff --git a/web/ee/docker/Dockerfile.gh b/web/ee/docker/Dockerfile.gh new file mode 100644 index 0000000000..c362aa886f --- /dev/null +++ b/web/ee/docker/Dockerfile.gh @@ -0,0 +1,43 @@ +FROM node:20.18.0-slim AS base + +ENV TURBO_TELEMETRY_DISABLED=1 + +ENV PNPM_HOME="/pnpm" +ENV PATH="$PNPM_HOME:$PATH" + +RUN apt-get update && apt-get install -y jq + +COPY . . +RUN PNPM_VERSION=$(cat package.json | jq -r '.packageManager | split("@")[1]') && \ + npm install -g pnpm@${PNPM_VERSION} + +RUN pnpm add -g turbo +RUN turbo prune @agenta/ee --docker + +# BUILDER --------------------------------------------------------------------- + +FROM base AS builder + +WORKDIR /app + +COPY --from=base ./out/json/ . +COPY ./.husky /app/.husky + +RUN --mount=type=cache,id=pnpm,target=/pnpm/store yes | pnpm install --frozen-lockfile --filter=@agenta/ee +COPY --from=base /out/full/ . + +RUN npx next telemetry disable + +RUN pnpm turbo run build --filter=@agenta/ee + +# RUNNER ---------------------------------------------------------------------- + +FROM base AS runner + +WORKDIR /app + +COPY --from=builder /app/ee/.next/standalone /app +COPY ../entrypoint.sh /app/entrypoint.sh + +ENTRYPOINT ["/app/entrypoint.sh"] +EXPOSE 3000 diff --git a/web/ee/next.config.ts b/web/ee/next.config.ts new file mode 100644 index 0000000000..7de0509f9c --- /dev/null +++ b/web/ee/next.config.ts @@ -0,0 +1,73 @@ +import path from "path" +import {createRequire} from "module" + +import ossConfig from "@agenta/oss/next.config" + +const require = createRequire(import.meta.url) +const reduxToolkitCjsEntry = path.join( + path.dirname(require.resolve("@reduxjs/toolkit/package.json")), + "dist/cjs/index.js", +) + +const config = { + ...ossConfig, + outputFileTracingRoot: path.resolve(__dirname, ".."), + turbopack: { + // root: path.resolve(__dirname, ".."), + resolveAlias: { + "@/oss/*": ["@/agenta-oss-common/*"], + }, + }, + experimental: { + optimizePackageImports: ["@agenta/oss"], + }, + transpilePackages: ["jotai-devtools"], + typescript: { + ignoreBuildErrors: true, + }, + webpack: (webpackConfig: any, options: any) => { + const baseConfig = + typeof ossConfig.webpack === "function" + ? ossConfig.webpack(webpackConfig, options) + : webpackConfig + + baseConfig.resolve ??= {} + baseConfig.resolve.alias = { + ...(baseConfig.resolve.alias ?? {}), + "@reduxjs/toolkit": reduxToolkitCjsEntry, + } + + return baseConfig + }, + async redirects() { + return [ + { + source: "/apps", + destination: "/w", + permanent: true, + }, + { + source: "/apps/:app_id", + destination: "/w", + permanent: true, + }, + { + source: "/apps/:app_id/:path*", + destination: "/w", + permanent: true, + }, + { + source: "/", + destination: "/w", + permanent: true, + }, + { + source: "/:workspace_id/apps/:app_id", + destination: "/:workspace_id/apps/:app_id/overview/", + permanent: true, + }, + ] + }, +} + +export default config diff --git a/web/ee/package.json b/web/ee/package.json new file mode 100644 index 0000000000..e98d5b2bed --- /dev/null +++ b/web/ee/package.json @@ -0,0 +1,94 @@ +{ + "name": "@agenta/ee", + "version": "0.58.0", + "private": true, + "engines": { + "node": ">=18" + }, + "scripts": { + "dev": "next dev --turbopack", + "dev:local": "ENV_FILE=.local.env next dev", + "dev:turbo": "ENV_FILE=.local.env next dev --turbo", + "build": "next build && cp -r public/. ./.next/standalone/ee/public && cp -r .next/static/. ./.next/standalone/ee/.next/static", + "start": "next start", + "lint": "next lint", + "lint-fix": "next lint --fix", + "format": "prettier --check .", + "format-fix": "prettier --write .", + "types:check": "tsc", + "types:watch": "tsc -w" + }, + "dependencies": { + "@ag-grid-community/client-side-row-model": "^32.3.4", + "@ag-grid-community/core": "^32.3.4", + "@ag-grid-community/csv-export": "^32.3.4", + "@ag-grid-community/react": "^32.3.4", + "@ag-grid-community/styles": "^32.3.4", + "@agenta/oss": "workspace:../oss", + "@ant-design/colors": "^7.2.0", + "@ant-design/cssinjs": "^1.22.1", + "@ant-design/icons": "^5.5.2", + "@ant-design/v5-patch-for-react-19": "^1.0.3", + "@lexical/code-shiki": "^0.35.0", + "@monaco-editor/react": "^4.7.0-rc.0", + "@phosphor-icons/react": "^2.1.10", + "@tanstack/query-core": "^5.87.1", + "@tanstack/react-query": "^5.87.1", + "@tremor/react": "^3.18.7", + "@types/js-yaml": "^4.0.9", + "@types/lodash": "^4.17.18", + "@types/react": "^19.0.10", + "@types/react-dom": "^19.0.4", + "@types/react-resizable": "^3.0.7", + "@types/react-window": "^1.8.8", + "@types/recharts": "^2.0.1", + "@types/uuid": "^10.0.0", + "antd": "^5.26.1", + "autoprefixer": "10.4.20", + "axios": "^1.12.2", + "classnames": "^2.3.2", + "clsx": "^2.1.1", + "crisp-sdk-web": "^1.0.25", + "dayjs": "^1.11.10", + "dotenv": "^16.5.0", + "fast-deep-equal": "^3.1.3", + "immer": "^10.1.1", + "jotai": "^2.13.1", + "jotai-devtools": "^0.12.0", + "jotai-eager": "^0.2.3", + "jotai-immer": "^0.4.1", + "jotai-tanstack-query": "^0.11.0", + "js-yaml": "^4.1.0", + "jsonrepair": "^3.13.0", + "lodash": "^4.17.21", + "postcss": "^8.5.6", + "postcss-antd-fixes": "^0.2.0", + "posthog-js": "^1.223.3", + "rc-virtual-list": "^3.19.1", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "react-jss": "^10.10.0", + "react-resizable": "^3.0.5", + "react-window": "^1.8.11", + "recharts": "^3.1.0", + "shiki": "^3.12.2", + "supertokens-auth-react": "^0.47.0", + "supertokens-node": "^21.0.0", + "swc-loader": "^0.2.6", + "swr": "^2.3.0", + "tailwindcss": "^3.4.4", + "typescript": "5.8.3", + "use-animation-frame": "^0.2.1", + "usehooks-ts": "^3.1.0", + "uuid": "^11.1.0" + }, + "devDependencies": { + "@agenta/web-tests": "workspace:../tests", + "@swc-jotai/debug-label": "^0.2.0", + "@swc-jotai/react-refresh": "^0.3.0", + "@types/node": "^20.8.10", + "@types/prismjs": "^1.26.5", + "node-mocks-http": "^1.17.2", + "tailwind-scrollbar": "^3" + } +} diff --git a/web/ee/postcss.config.mjs b/web/ee/postcss.config.mjs new file mode 100644 index 0000000000..d286a2562d --- /dev/null +++ b/web/ee/postcss.config.mjs @@ -0,0 +1,3 @@ +import ossConfig from "@agenta/oss/postcss.config.mjs" + +export default ossConfig diff --git a/web/ee/public/assets/On-boarding.png b/web/ee/public/assets/On-boarding.png new file mode 100644 index 0000000000000000000000000000000000000000..00ec79f65327bfce14d6fae17cd03c4cc9256cb3 GIT binary patch literal 6151628 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�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⁡5bLE_8Z(t|#fyehYqoU1<% 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�I;zw+t#o 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

!MIuEcufW(w8^-fCYn|`mW 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 z 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%0A$8|-f(9AO!PAI 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

?vPOioClXD0MQlj?l7^_&oj9=J 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 !)(o9tNQ+~M&Jv(V7s5z8`mP+gPl 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%0A2|MV5TQ?tEvl2vy1s@%^&M; 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

cxwL_Hh zPc#l>#|08Qzg^K#Gh6@22i>jmyTvaIWm+nvm+iquZ#D)hA3)6W8U}ziF6M2*$!t}e zHb%){Hs>hDpkun8cnf64pWPq+R0nWzqH=H~cX{<@cP=ssx;mIkQfQMZld8;PN zWIyM!=V)9Ixc68?s1yr5&Zxo-!p>1sw|Q=mWF14JX3^RVxned*CSjR__K+RgC0PrR zwbay`ZF>&u7a|h>FyeHMp&ADS+Dk8h1{2+a02I4$bTsq4dKNmBDSuR#5v1zKsJg5NnF!HL> zt5O{D|id#7t*) zAt)P&aDdBVs{)2^K~R03qZFl&at8ji=|CPugON^HrbpYHAR(rZ#oZ+5h^0~XlDrte zUp?r1t+iNi+(1M?8<=it*FcGZq^`zb#jLMiKA&56(^PWBETa&DpiDuFB^52%Zx4+Yrp&XT zLq%a5~p28 z`{f~nXgh&y1$AzJJAOn0qw(1)vxf$rYuj}BXZUAxE+cN1pwiNsiu=VyrYB$Hh6qT> z?Z~iV(6dwJ(b$q^lI*$ww_~29oNWmY?wNdpw@v5*y=mhO8kkbwHSEL!E5$B(lTpPA zV-|<4+}|U$Vyd$b5=PLi*9lo}L*2?u)h$(sUU1{}i7#gMo&^;~JO3o)@ucQ@eUIBY z#$oz^i!S5oMa+<`L0eS9^JePp=$S{kC8}ub8ebH!rJ-B$SW}ZB-<-SD{a{js$gOp` z$V~{5H7N$jMOT+cpVWp%R5-!&Cky5@a@PdYq>bA>AQ>h39@$2D~xrshCgEbh|QN!py=zhu4aLwJvf)PG-i`Q}x3_;S?u&|~ks(lP%s<{$Ri=ZLX}Xp5nJ}@Ts<8gk|LJ!Rs6YBZ zP5moCFj(?CrhtS?_vo?{BC$S1w@z4%qS9goaMk#ysfrXuC`k zV3c1%hcF^LF&$VsulGiM89#3Sbe{$cdV!$7vRd_dU<7mjn3;!v4CvUo9*DydLh zHvTF!28o-~OFZe!+5?kF-n06ob&9?Zz*J8ES{?s=*DJj``ao540r%ofQ(!C3LAff+ z!Gd*z_IrIvH+4ng!DdQw5@~Af3+J4q*hQs~Z>`?rAEKEDG>t5duXQ^qKom~>ZD|ck z`P6UY2S3D~a_lu)wQM3rKh|N~v3LT{I4Wu`37?z4DJt>m)nA_;J!0EGApf5rJtKAG z_IsuuDVcfq+}zWhJ67-q3HX1Vbt<9lri>}F{EFka&1x(4Xs~k} z2WM5>AEwA?LE+i{nY7=FROez?;M0Aor4>(J-d#mSM!DhGhW?Z|5u5>57EwkV=|A?Aqy6zz|z5sV`dSPFg@OW1zbhUY4ia zlu*1>5I1eJz5=C#JXYK+r@b_@9j3ZzlOXe%f%f>32sbVhR1=!+Yv-_MX%$N4jy^l3 zs&uu%sirj9#mfRSvXpU4i(IYbJ{)Gfqfio7Xj{Q)NK2rrJ$v_KQ$)0E>_`a3lP01NeSyxQu_Myy5Qe~%_Zr{?7jbP`QQ@aN_*QH&#s+eulU#n9 zt&{!bWJSh^pqtP^7CFADfUKy|IPo~9XW9BsrG>jdET&C77wYS{DXii9CnVnEI4TKB zBn3W}R2np}#eH=HyJQ7WO?rHL5F$}iOn;0vSe;lqW!O(fYLP=vmgtx*@K2sp#^ImL zDQ3zx;LH44DRlYoVK}$VM!D=0g|ZT0MsDpUB@wpAm|?fP>uJ6JwW|MZ7fmOU83yeuyB?zD6$&Xn*O@i}XAqM2%j-#JlF8Jr#s4)-! z&dR3STWnY=NoFfKAwW)#Sa*x3Y3$hCn#}{}&XA zr^^j)`6R?v9h^E@-ay|rz#A_y`h&IKqgg1!`Bz;JN^l*^yITHz?i~c~0;749DRwT&|2pU%fb-A`U$XGP(+! zuWM)-#fiFA410mm@a?2G*y(a~81;UBdUW(HQ;X>Xri-Bz4@;n_!$Ao*`nX5oEeddM z@z~W8h9rFpN|~&AemU31V1F|p--Y*isR%U@AnqIPyys&Sq|GrW5wBy0Qj zCPXJGJ#D}?J`)LY_v96xfok&eXr`>%<$RqIUjuf zp5|#w27s;w&x|k1(B%4+tLQNC)Sa(ZKy6a0Yhbnc!lQD3%^r8|{ICTgDm|a>HB$~n z#lAglB`un5?VqKkXWdvL|IcK@3-iRs?QX=8O^oLREAnotcXbJPH`5I;42vd)?e(LX zYWVLBAwmofr8pFKH0s}kC)!7Mm?3`HqlypOEIm@{rsGsCg-7#fe2Rj61>WK(HQ*>l z#2I>7M{NZ@RI>+m;b@T!5aKMqj9lQ*SOmwGahC9az>R0cHuYWFJ|PEjRiDPWM_ z2AeDTlXRH3=oB3{6U@@Y(#yzr;hniumTF=ho2Ihy|Lm;)oXHgW1I%F}>B5Ao+s*a$ z`994CkFShO4!*0WejjY?VXM1k7wh{l&+6PSlq}LFOiCN>G?r_+n#~jVwi&B74vc`7yoZVoP3Ad-(w zNQhrWwMvL_|NL~%?s!IPm4S_8ZU2brF{eENVl29yU(Bm7MVAeB;RT+Jy?e$z3ctSa;xWkN@0{q;-B3 zUO;M*vQeX;wOPhw8+gdI1Q5&GJ66{bBj`~&$xYX1>}kY`qCm-@N)YmiUm*(AXxc7h zfC!Ia-ATBRx z8}O0?&@Z#L<@SAYlKNAgr6#dsqsEn~1g$AD`n1|wf62gyiJoXp?oq8ukoBRZnH)?2P&57dgt*-Utd6sJUFl;RITN$)xDbYh3Mfk_rg( zIo-6AkO-!Z5D7x|086|SkNAblqoel0c8~u3&bkF>3kN`Q@gqCzcH#7LU*d8u+yQ=C zu~UW3!O8jNpTYj0J@1!2%U3!!Hd6YQ@4}j636yjaTuk`cs?}~rllTYMRU&fk>sNhI zNYg2i*YV!;8L~-pc7dC`TlXo;Dzm zoP|uEtR9t5k@3mvA)qr&HDZ}|v*TsXC&;j56lefNn~Ia&(8owcdI^#@$JNt>VRcm; z=DQPiM}??xY}@0K{%R1ez*v{WTKl>1L@=Y@3_49IzWs>KL->^#qu-VFKFo63vO!x<2FH-)mV20_bmv>Ks;L26N39r~Kg_pa#=2=0;xy7W?qP0&v zxNrNjUdHoXt9&OGJZdEcqzyjaGeB;UlH2RDvZ0;M4zw<1->}}|n)UOc*nsX!WR(a6 zqV;MO<<7tOET~g^el|6re!6;^;y@m&*7R)5jBm?XJA;IrjZqF1APrmN?vKI8w_*qC z`thJ$moBOEFrybKN9b#c$@;GLo$TRhc zNVML|rp#X^Cl!(z39q;M6^IB%RO=q@@9j^wX#5{{x8u~;M;ya>@VP;7VF$=`^;!qt806=>>9v2JubvS?CySKZKn_J+ z=)a0xySXC7-E{4P7<{HdH}M*!b>g8%Ps4-04hH3PDhdOcjQZ=nYll?H)Se1pUEI{u zYt~CHNx}UuqT9Qs1$o@k;oLW&l5K0;&ew@m5c7;^n$ikYJ+_<)>)a)!}Q*Z51+Bbyu3PQj4ZAwCdWiR(kEbYjSW)P z951`uvyyVv6f>6^w^e`{1$q(Ib*UZoM4u+3MD5>f4=x8=8WApNfmQrKJJA4%{%CWu59# z>va))W+!>yt8q5V>+)(6VS0u*%A18 z65?*gk_h9hegT1a_mA$iLYDS>2K)NtB4iq5q@J!z4K)aU^Rp6w4ZsVmGPrx4vyr>v@5>3w0b8Uwi& zL4UjoJ&st9TF>@~t*~nm&_uiS;c5b1qP#R*+FT&Xr!55n+0-865p@HyH1A!Q!87Ak zga;;BcXk}N$!Ubl#y|cN83r2o3>z444A7>msrJ1U$IQY!_H$2l&T@V_0wX)mJU%v| z`mY`1*9Y|OZn&85(ee>-joJlAbUABcsDjx9TXq_zT0 zq!>=Yx`DwgS##r;j#K2Jp!YyLzB^<7FP3cwCJBr>wI5XtYo>N;!bO}+LMU8#co@=j-d=O zhi^H8B?x=Y$R=B@K>I)5Qq};D$Xd$ zGCbCHCP~!6M0KKWcU&+$jEZ>K)>&M-)@Ja=do;UFKqZ?04Xpm>mK^o_BMIARmZYTa zQ~{8S-#AIC@5$klc+aE{f333Q6Mt^RBR^^JBi=F!K^pUWT==S^+4C4VVp#L~->eqe z9n7)Ay6f|;BSyCq11!qJITn!Pf#Kxe!<4_D|80%^bj~{RZ{u1#as2+Tg2Jp~dZD3f zP@Ab}Iu@fM0D3CMH-Fn(x3y0EyHrUZTp$(xmEw>! zqBA$jv;UPXk@&tv;MygJ{by%(!CASY5KL?WI}ixj_!5TD(A6IPn(Q4K(wj+sY&G`m ze1fA54R;6>yl1tI4d{=(-VVanjFySNSyAUrfwR&U!MR-)2#~16#?TwUx=#JkZ>ju< z+5n;K_y0JzB`{wu$RRCA(%(1^-p~a&js@SP5H;AfI}wjciFp*A-+tMkF^36v?>i@$ zIw8B3ewNrEwKBQ>Ao6DqXk%g&Uk)Uip;R{?1$U?*K4y1z&lj8R^eePi9=@XZ#G z0)K_J3scp_UlE1Krl`;>M8J(Zb$6Ys%{VRat=~OR0Eu$X+sjMg?_~y5@*l!jsamU% ztf15R!L#oP0l-qWTRisi_R+~ha<)cZ9FG2vM&pGGPc1JpDS(_k{2)sVs<*DJB(=O@ ztu!)T1>gB{TZ{JxS7nM(-F@XJ9zu2r_Nq)b5h<>vFLOn_ea1@+B;4Oh#E*_{?pJ-z zccx-zPw45Yn!XjeoFb;YS0CjZI3)4F;*y7z^<5=99*ap@v-`8w(Jw=-2NIpA71eIQ zXSQo9HElfE)jRv>SC$$3*o`|`@IQ6BQlLkq1 zlXkx!pCF7Hk6F4nFTmr$AN_`r`qPv5HE(3DR3dRS5A0iqRRyZ`c8rfc<+FMg$K|u+ zWLhaUzFPP!xL22D zI9wRAE4Lk!Fx+VjzsE@ye|PQg{$q|ye(ju6wj#bjf-Rf$yoAMfrWQv3B zZRgX9-fY;%UOwFvmku`cj0t?UEQKdv&!aZ(AEEKSE1?!&QuO&DteTo8X<1@?>RD9q zdT^~a+?O!>8*$XrP0JURga8-==1?@h`tx{=DNrH7Nzim*SQyNy4T$xYEyQN+_3n#U zi&SAML_+3u5ajDq!rOp}-o!ka8A0scLJBGcoVoIWSp;DAr%?M?QDo_(T+v!mh<`#= z>SS&l8qZhpX-qn##=16X^n1B}ezW7^I^#*PexqC;nmKFhW?9maaaNaOqRFknaBf!|__z0*dO3c=StpIL{ z!|9wPQZD$639y!r&JwT8TL$)H%}gzGj6hA;$s)k(D0|(<=Q!=iU2+Rl&%&C$3o59u za&^UuT8KOy!JTb{^f1IV`1bGZRi2B$x4Iz0%&s>`g6~i$ly*5qHo#!{#EjY4_?+{- zS}+c`@$yhgX8#yB75C7fn_sqVZSKqfPJx@V*rz+nmZ7A2x1%ebO=&5TpII?vs*9PBohwz z1J;SbE!uF4XSz~?HuhVjj>Fm{)h%c1X(!%&{|%4O3s#N8UH{s4|8MW?(th1~teX19?s{*VPekUe_o*K?(A;g#Io_h96Wx|Q~qo#8okj!+Y{V4@UVn_lKG z*&ja-!8H(pjdA_mc<;?uH#{qc8qA6QQX%f+@Ao3q zkhw*R|0wxxVZlWPsR9Ienh^A6T-E2%Ev`cA6~BjjwP;IeLC-NODT{8eSX|UYUD13S zKld_K>EedMKBnPo_=jDZAyrD!Oc8+s1)NiidP2sdy>F7jSPraJFZZR6H_b?V1uP42 z9n*my2d^Hv5JY|@hsGuL=p1#ux!>OQ((A9BtVY(n7@{uuv zyW4h>Q;ykNCO_dyM1*knxKC*NDGh8Y|3a%@MX#+RQ|Z|PI$b@cK?0Cw)Na^YU98gX zrBw2_KW&)_kACI)+`pMV^`O`%$CEosKm#MJp#Q^~54yqgn=8TgH(cU(3+DXcy8QoC z1VE%I5FFVKzqZtbIJq37yC}F}vBY>Gg?sqZ6J0I!Hen~b5^qk6tW+V9)vjKkKZ%)0 zq@|69aSRWQ0+{>3!9mG)`x>Ki1)M59Hpagg{ zN?bnsC_>ak=y3ZZ3i%C#RM}nk~;APML}By{*GOVD~gT0a}W{fdIxz(@g~D#z9rh6d9tMwfalFvI>> z`5Nw_n0%`#83e?r52)3buzu?T!;a2X}h2{Jhs*I|M1PY{L(*vmnpv2zj{z z*)~9KT#4LZkA_Kd0(;_VqK8wXlyv63i74I07N%ry!D->DP1^JKa~8D}QH_L_(qsvf zt#8Zy7u7F%#zj*PGkC z$NU{ZUiuTT^Ouf-2h59ZQi=<4C2dC~d$-PC@_mDhcl8R_rIKP?T(ghWGX~nc65R)m zL+8^z)wUt0u7y8H(O|@%wE@UbfA{?a1{m8m_>HSY#`e(7puivd>kt3fDc|7?-jPcS zpy-bl7X#whHm$YV#3Owe<6dm^6UK3Ifr2Gbu*2zv>FGl3{QUL_{ZEPr*aKC&06RGK zdnVH-Eqotc4~|0)*8&dm6ox4uP|VTl)g>f6_XR?wx*p%=G$Kr(Qpeo*wT{5Q#2S!| zSmdXC0mH7hlvyu7@-Yl`1eNaZPrt>)IRyVlm;0|cmVI%k z$%y5{(6^y&f2@LM4%XSXW;lvoYvA9!GD9BE4D~S@S&3F4C|bgd(?S2xekSWMUJ`zxLLVfyzkt)x(vQ8h)Dfy9dW&O5wNv%YS;|cU&esy5LVL zgp`l6z|TO*u9RBvjT)UsDIu;`Z;v8Jc*4;V4={;Ol>{JnB|p9JNZNaSwL2mI!&PIS zsLy<=?Wa{5R)T2hYPO0fmCje|M|7$$XlK&6&=-T7^lt$JLh-4<4`3xe;n4Cg%>@Vr%e>Q*Yn}JcYLKDtT3WRldx8$ z!}mDo&epBaTAX)p*y+pR?8n-=%5(+css}0U@MxNe>p{1QVhwu06MCb3iLQ@fX`Ra4 znYG+BYL*>bmgCD3-07XN6V^3}q!9-GWf6y$r93l9CJdA_^p&at_QGzDLTyGO!;CZ7f(>vLPiT#ZO#C5KhB0GlB6azCHiZy*Su zK+isrtEp{rLzdG0&l&TtHSqhL-?IJvr?Y`ttpkeKeR)>(N9DC+ff7zWM-EUwj@x1U z$E5hS?RuK41H-US-)>30EPA8IM%ZT-B5u)#qmsJGqt#+&2xMDq>jb)N>KS|Td#6{s z_RY~x=n26a-@q5LyriUNi%Y9JT7Y7AV{^}QZ(?jBGn3Rkk3KOqZ&Yz>ZD9ZbQqjLH zJr)`#Mzb0(x51VjLj*F#XvGQl>uJ{1!lbe`NP-UZSTW|r;#S)L1$2t)|NJNyE}ZPX z!Bo<9<05v-pR9Td*QUX=3^lLPCA@fn0K*3R`rm8b=u7BV7koGr>~2D@Ju($SPmR)d z6vS86z09rnWrt6Dx?prqNupo1Iir*B(rW!!p1!~nkeW`csvitKp&+hCclmBLGVHT z57WH#S9eiix}4I?N4bb+1>?(016~pn-_-LwD=iZ@BF?ptZ{n-LdveQ;)nX=OjTAT# zbwZ~1b4uP75G&uN4thQ6f7SoGwPK7A?2@-TmyXw_jO=$NJ>XQX!-I`5gc zhh-v%zx(GK+g!o=SUY??uM_OX&&bb}4rex%7Lv-f5Tf}2ss=rmE?DCYEB z>=T4}xSfGjrKL#*e4G5-FC^Q#68{=Wp~ zD7~CQE>YcGf0=lxvBROl%)(VIli4N3ov;707^X)5%9;4Uarl5@o))!rSN!$HSLA8Y zbM&QTnl<@1z$LRt_-_|j|Fci$CBiuTzpYUofa`e`)VRxg_EnpR5 z5FfC#uy4ISO4mVFcK=hC)W?eDpdxSiC3rsii_>b`J$=O?}K@I}kQ zO1$;XtS5zyaYkU=&d(nS(mk;wSIZ60Z!#aI9+oq!$Bf8hGkwB|8qciwq7tlwU7?2o zE3H|MAex)5&N|TA77Og+mq|uf`2;#{x7l~^{-^@(nQ~eu;TJC0MVYxZD+!(-;TjHG z$P`E><_CqW^~8Bs^69kX*3MSG5h&n8>q!9w=>`EOPfm)TJ_{hZ_R_>UyFriLgapZ% z=gpACMIw!Zv)3oX$;nM8Dnxw{sAcb_KYj?cBWr7ChuBO5JPt@1BMV=`3ackZ{vcI* z3Ppwg?)z zoD`a!8+zYdIr~&J;D!aN#c1lAjfdLiMEaOmL*MBv7XQ64IYqk&R>GX!{QjV{`av=R zI#v$d><6v1k#gt+pv^ou*1Y4srJuK5TyXV=>4>)H(0fE5fFR1>)1y2eMVKcby4?w1 znV48ckA^DD&a*4deV$qRIQaU;(cE!BH882y7{Cod3wSW^ zNGl2t(#!iMfe1eG1e0CxmiF0Kv#iqY`Z+jDlAwW$2RRDlfpJPV)6YseATNq2LC@Bq z-B{A#BJoanh1)2xn>GkPF*VmZnxYvrH8r(D3?sB>6C8ZCx3{))Js$@zkiSpS+B-R= z`y3r@pcnUX*C-9l`Z@yHWh=5zt+vM&$rj`D^Gb9j1Y*N*a2slBX6AO!)`#|E)3X5O zU^fC;a1jX4TWHigHk_Ix4((VPUI{%vNnAQ+Nu>aSmxo7RdS_#|x4o>Fo*OStdmaDL zN=KeLKgn(gB9kX1b~f^ta{eGXK?!v8t%Q=Gv#9C`uX{s4U=aw%EJC71Y0d0)e{6W{RHcOry;_!&>Czk`P} zmT2hyv5xjd>U&zVD`U2FpL`{<*aLZL7Y`Zp`ic?wL+9i`&lXdpN|sor>Hmw(_0RtU z$TYp_A;FlXsj50u_|cBQ4t6j(L&q3pyoWatHg30;T-{WSRtsO^;_m+FXJ;H<-FxZH z5U=ug@rx{~mhm$Pn*A?D2n-8dv?p;>zQ`^@=w2$YTriu>q|7gBw;uWA} zPB&CGdhNaKvGcdrSMVibM)o`f`6>A1NiQ_@MInbv?DrnSqXer3y>DqWS>$FL28+2e z@+|d>u zvec)-uMXC_B+WV4nZ^Hl09%G884LcntoW`#(7+@&de~qb>CI%fXKWfXg^b67Kd$$x zJb1m4{!k*{xyF>efyz5+gl`4&8Wt!N5}$CraFkX$eT$2n;V6(InVh96)V>w7c*@jzblyLJwe^Ou~hj&|RQD;L|dH-Faw@aCe(0O@MOT%29!&#VfvXD+p ze>3-w68DwkBAckVAH4F++*wV9iwDCGq!O~y z^(-ydtWAzegUhmC>KX)Jc7mJnecRG9_hx(+v z{?yP7`FGNgDzp6sz*UJKRR?iFSexSP>>z@yrFD>U)9lonxvQ!15kFw1RCAkDRDl(l z$z>%jX<4n%?5XkSvqA(MM{}ZJ*o8707LohbNT6)xw;8l zbka7NjpZ#cD8Eaj>8q-zGvH-FM*#AKhgf=gdNi$O>yE^LnPU&k{6u0`?`fi$pUM1K zTnUE$kX^Ec&hSGxK{P))-AsDNd?*fGQ1nxG;`wSbkR&nA6_EGj__>6Hj0Xac0FCPg z%dsa)9`{UlaAU-^N$JUV=qwKk*3!|<%}tI&QmBZcHWKH{|K0Zc(<##Y^=Pw4*q+>l z4|$J~au3z$?|=mmzM_3 z#W-zMpzP1!q_WkHZTXmj8Vy}M+O79kFLzVs-Xgz#v)z%hF6tL8fRM=Vr`2OTk%Qp zcnkF)a&i{jrOLk2|CXl1ot8p`lanS}9K?tdGFZ@>HlI-18U(z2Q+t@;mG#|EI6IXb zCe8{33YGXd9TkGRzx-{bllT`Mg34$3+I?MP2?6CY`sSr9gv;rx+LfONBQENeD0R)X`X_Xrkl8PT zk)eFZ&8}|?AJD8@{AYZemkfb{Y;o30?U6E=E{l*KeF_BC1M_Elrr(FZdL9b3-pKHc ze;n}Gcx3UiCfxn~TKoMWaEWG6>#|URF*!c_QXvW1n=Cr{!ZAC`PG(iW_?XnAqW7U5@) zOrx7U9{;F`#at5>GooE&%U39O-k~jv!d2xvC;nx(WU88FoS5iX^d{pPx~lGJiAXf< zbcj@uJBm%8@7k_k_T7mG?7sT#(i2R|aYZ8mdSZ;SJ|>b}s_TyKdL{!&C!~D2q}kbS zJ8+2@vSd*6)>?w25kCQzW|q3fBT=e4Uz@FY>bxFDHfz;OH+Z+HA(CA#kq)NK=Hv~yhF$LXQ7R|VU z5n^Oy)MxU{-qFpQ_0g=Uwu8v3!We5BYLzH(+p!cEWH_il$Rwe&NYA%SKE0Qcx&btU z^xWLyP(6Bmb#?6#UP`tBUS6w~1H@1|RWXK^i3a8au9>-o!rZ4dRgGG|6Kam!O&XZ^ z(zZAE!K=8e^6+RH>P!g(xXWHS`|SLDL2Ikr7Itr{#$dDVvd~V`(vk0iSAT%POg=eu zmBXlD{^#1FtBH(hBk1A-sT)-ev>CJpKswlAr$12IH%?K;90Y*0ea+Y1S~Klyw>(q) zg|P;pY8@b^h|TbJT-AlTEMFtLB1X^XGi>h%HtTey-cjw+iGcg+uC*H}sHUr%{nN5? zlCinQn}~Tbg{h^9H-@*=$yLM05TEmNqsW&kN;jZXY_0O4OW%raw~p>fWpD0$9x$m* zi>#tQ+&KACECUdRM<~#P`1fPe({qJDY?63VPu$814?^O&biXFVeE=e{`PMs7{2&#! zYnr8gxy1(s)q*%$WdPZH-WVDwxqKNJS{pfM7o3!k&||bi={{~_!wWN~efmIeYiDf6 zhdju(1RJqEl0BPT1L}SEerY$raV>v+ndjg5eQ*; zFnr%Hr%pa@-6x}TDQl`kM#gaVy+o_-Jp2h6w%gk68M9dWph0|}oQrIdR=4}y$k|2E zYbG847ra&U&eIdEwl?@%+4~0!@Ty_8uf_7Ylj!>E6#A9%p{5^IwlwlD(3sYzY?zy_ z(<8m4CJVnz))_#ik?$bBJ66^o{v0a(Et8X3!Zb0AQ7IRnnhNQK3 zQIz2qF8+Dp(x11U+)cG9{G@S>yFj4kNmJl$7x=tkZBJIQu*{gq1bN&7|Fm?$c2MU1 zo{XC(WbdF~!w6xj{$*>cpya5)xnE-@rHqOlqrfFNprIG>B;u0$%?t0;e{C-;E|5?G z*?0fA^IAAHfB(GyMg~fbw2k@W_U%Oi#NpGW0lysc_z*&4dg7KwLI(HXYTs7*@XpLT zOE%?umj)|jTNDInY@d0!EBC?M#r0?}nwJgFBExWE$Z^%v+sXb~3BFb+vC%s3f`y82 zrWdpB%5WUZSvL?FO}r57T_ad$Ikf4Sc4b7Jhf z7a_aFx9%lh|AXv)zi){zAULr2t)@fU#yr*3OH9JcWhyJ?XmINWt#XswR({Y}e{X{x zLnI!g^gJ)AAE}gcvqqq<7T58j+n7gVb4!W)QF5QbC*R)peai|3>U!O8sfu#>WU)=g zKpfORXQybo5(BUP%`Dj)_*cCjfp(9AQEaB)Tgr^zl~d?AzrDB%O~ntJOxQ~RHijg` zCvS*i?i=>r=4Eidty$B`5)FPv`NLQUW_V!W3%~~>--mTIn`8@-){H;Pti*yWgjF~O zjz(+JcKb_@zLn~x4PeYas?$vrtYx;RUnrj}k@DTCNo(~s8ap)L)DrtDD)|F;lTTA? zvwY%kFdeC2xekUdes-;vndwk#*G~&vA99iM3_V!3Qs)<#62%IZL{v8Rm1t%f44yUd zAxe2uIOtwG>`VM?K?jH`E5RyD^bcqIXai#JQ^9~1Q3^{jP03x(jBPBtihP{PV$FwcTbLVMV@%w59lghF{Cl zZ1MB?`Bbaxl<)CTxkd_M*-qXCP7X3)5GIK5T>{@0jM4`N=Ez zqCae*kx*fQI6VHD{{U*uL58>OUYF%t6oG)C%%jLxA9S=&aZcWRc$1n z4|eCS`3CRUjQhfOOm08JLD$!{GEP;XyG>r3$#5*O^JKcRuex^rI$j1$T;|;N7@4Ee zifw>q?A9;Uy-ux}YilK7ajEdTZqT(?blBFqHbEIa5Q&(LVqe6&E?QJ!o{7jc4Dnf= zuX1J~N%iIRSicH?Z$Qv3I}kmifz)mm{Z{Zb|0 z@h#d1$HeBg^T*<`CgIIH;QjL@?eo6a0G1xm{>lj>ltfd>%SzGku zUG+YjvD;3B8nvFZH?(`7^p|*m{P#leqUMNKuCDFn%*PK|vp`L}JH8b!%X?H*HVNxl z+^YaN>`b=j;LzwlBMAPY`9OccbOB^8jDD(k?aIOTlIF10Ug1akLK)6->W_mr`X40} zgw$lBRmU){Asc$Z<} zPMP0@ok-pLpCj^H4?}Qa-N@`rUctoS*Ou0qsy+7k*X|xc-@5GG`IcX@Y5h0V`g=q} zqMJY5TA_J0%Ii+wQizwSYG;Uy7pkN^X(+Qzt(Y&lOsP2CoChz&V5_obV68e3x<5m_ z_@lbnT0^ChO)I~ru7gN2z`3_Qxiddk&{HIde!d=4 zfd4=N*{Sz%SrV>==nOpM%4mt!ysVNX3n&rOxqgFnj7GYqi{iOeG<*1E$?JBjIag=P zdh8hr-uv^pTt+yKRmK#kzP!Kc^WB2BU+G2WZTU@!w?RLZO6UZVj-1(i)D;j4z52az zv?Yman3ccoG??B&-BVA$I$OiDh7N1wxq7H@mg862c{XOtCPtoXfD;ZV-0g-6laU&8I_ri}p{U>^J((BPz#E7_D(96$# zxqXTX>uT0A2cA41^;H8c9p^NL_%D;$dsbR%M#9ET(yTt_^M<8(N3Im;pU3+?`lmhx z7*GCrZ1tQ%HU7n+^|R{T5PIYmsk=9L9TJvvuy9cXBX{(wy00&uEO$1uJ8F|2+AIp0 zWX<+2g`U9-Rq58PxE>W+`mibr?a*tDC6u!WMyk*sw-4Pxa&GhPPwQw8SgV z+Uy=9_JTTp0{mVuiXY*ppeT(h?BP*kJAahVFFy7j&plWnAXku=GyUpppJgfiw;{Up) zQoPdB-}P(MD?6%fOlm99<;Q0xL37yLm}&U++h0R!?r{6PBwXKv&tLZfMY_LlWCEwH z78En-eu>&t3{EsfrT@kofHQ<;4v)a2XnZc>H8yI`} z5xhL@{yRucRjoW_m~qbS6}^vrJ9cYh9$JuFUEG3T>tW+HQ@KyeUQ6%R2=4+m8hGs2 z1H�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�7 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⋙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�F*ApOew&+HDAYjqZ`Ucq&#~~sz5@s`ZkENl*-6QPMD#tcnVsWqFkML>ow&1) z2AmQt1R*M@gLJR~*SfTuX)Z$GllLz!$dL|wA62%LSJhus8EYmN#*;%qoR|?}f3oM0 zpG`Tz8Z=Ff=Oj2DbWV39`iodjbdWeez=C$*Bm>CLMG+a%7kQOgBpLEVxJk59rQDL> z@Sk+3*O{*cfmk*BVd)%2l`*{va2+FKKxfyYJ>|OOz5K;rj+T)I$?H^PmwrvT(`?X5 z&miw|hwmzSm2m7v^zkfH|Cd_e40KM?V_;y&FR~noekdX?tX5@_etbsWqJe4Z+~Y4T z9gOzvN1y(93f3lspkez>Lph|FWDwrW0kMY&UPLa4iqq~4g5W1?>6y)Ii;~h}yRnCW z>Hb?53q9bP^8sWq8M+F7Mnx4?-`1uC$GhAf@g!@+G-)_@9c;>yHW>*UD-6V*)pPK$ zX9%@4vjkG{hZ2@VQZ-l&h6;4h5)5`~cKWdBv;A3(j9}tKQ82j@<;il!CZXv@!drv| zkbeap9r&(%DYA3{hp;$1pN+xDYgAw5WSUkzXzZNXhjY>~pg6TwA$l)x5l9t&HUnN2 zSDXdrz-}XE;3Oz0|3>9Vo&Y@DPi>6D+-p%g{M*Z}rBg_n0cMp03yAy@|Bt6;AQ-Q+o8jC^Vz z%yebx^ti{{yaxiA+WdwqnmMLK8n{8QHLEK`j5%SmA%~20I#{8=bfvgimeYL&30HCo z`2>D+)*gIi$q6&uxsRPmHE0DvCI|@p9c9A^!^UZp5+`80#0g+8`Ee`!3Gfqf>I%FFd?NWoqNIL`oON< zS!&|(YA9i;jr;|*@{4jeZ32*?7n@?JX}VAw6|3hLWj&6;OcriwxYfX+j+18Zg99w& z6iRbm^PVI}V(VnhiD^s01X+^Ekl-O4-)a$J6V-?5%b6(6VC!;KBjd<>nm-)peDO;} z;c{ZxLCPk`+cP^J@w}@FcZim!*+5?jth~i{D25y(?;%`a&S&0978Vjqrnffd+aZpP zzASiD+8N4n`Kaw=h#rRBK^>iBq!3BJ-uju9`CZYU6tukMf@%NkiOFu0kcp}ydi)GQ zcc|*PlAIKmP(&0ZD_3WeZt1+LWOMc#MOPEDQTD4n;n6*1^8y z3o|w=qH+!P0FfXhB6%a0cp8E;%SO{7PFh;bdt}H1u`o>~SGCxsr$G(0J9M#Mqe2o# z;Hsvca4yGlw5t5qD#cCHzgqmvtU8tEbVTaC%dh_KGhoVF9f+xRh=`&UmEH?Gxr_~m z?bz#jA6dmz<3-IN?@m7w?(c5XJP3rv>P}S1CVZsVV$(|DO1?uFC?-O8z0KicNrrk4 zfIzw(4So?I%32L!;k1{k>^QGHUjoF^FJx8-X}YrgeYyYf_^qXf*FNL(X1i{AW70%~ zIP|&pIh|`?eS<7@pNIJHF!mSSx{CRZ&cCU`TJKY7_hoMQ^1hWkcggKD zU)U+Il;c3e!y%emc9je3>01leJ4Ma)o#hQ*jdS!p-$aBeS*Co9^y8`x7Z(%I6z$qF zVT8Yxp~_1&%HwH(FwTI*N?r1C#1`T&}?<5^62&${maZs>m@IkLO-WvQsJJN%}Y$nvU>#ZC1Ho+&4_ z2Bm=E!SC_-41ol>`mc}mVa}lbzPeG(Cf>{6y?e~J&+}nf4{I;YYYf7a?g3s`?`LYU{D07uf}%DlskJD zB}?Lvu$u0aKy^>LGC!=As_rVPttg{x+j_88ZMFF0>0w;UCv_7Uac(|j@O#Tc3^KBU z!_;630-jO{e~szV@$=t&fea3qx<9u34)8Gb>=MyPp*tDu1vH zI709$tcU3mJUqCaqKN$&W(7{@>0?xjoqw)-rI=&eFZYs%(8)6hwE8=igLcigLBShn zwX|Sn(Ij%VbrIBZ)i!^%;0mTnTr7O9RBW0hlzUXShDwW=tB}p7UGM+ajt}Qx05+&_ zYs9jQb_8-O1L_Lf@iJQyHaypoMK`#4adqUP*beZjYG;g0+P??4@bFgcpn&cbbt)Tj zc!w&LxjkvGc4NK2<2NQJ$T-tQ0vmd_PulwTBGWcU)WK~5DXB%F$9U4Yh^ZNk zp9)?Qp>)c|##%b(lbhk{p7qd%X=8K`g6EviKQeWW9%{jS-8Eg>`~IhoOdq}9P{`=d z>ZXrJT?LEge2lgSCE;(4?+mSc86C9>I64snNB1;xpG(|N-K%qqO#_mJL~(c9c<>MI zC`3!Xn#du{Mbpw@f#g%t`?tEqa~uGu356$*BW?Fpf&lKr;3s`@O4StgM~-Pb0-#s~ zfUZZpZsF}Vo2M~3x;D9Cw)!VKKRx{g_es=ok2GCzgCQ?+w8iudo{%Rf;8VAjQ1nT{ zBYUhi7&whY99O;p`V)n%QX+>(vN@Tm3KsObQ-=1IV9RwoZ@b3?#-D^ z9S_qXccMla&>`ae3v1Fzk^l?;5AWif0aAULcE+qw zSDMefntQ(iJ1MxitMl)lUQN?DN$<2aonuS09(v|}$81`wA^Pyx?EGFb1LH zvA%p~AWkps4ec{?rXd_2btt~${Y&M&Wg&nBjl%5-$?uJFf7qPfWXppZM_C6dZEQgj z^&d(??c4@&Szv}F>Evl`AZV;Jb|4#9?EkC>ZI)JF9Y)gp_zW%2AS3+-=WZ@7N!Wre zT2$6*aUZ-`^FUeTo;PNpd{WQ*t-Z+S1h{=RF7|P9wufk#PZ5gxyx@;eyKS8?1opr$ z6Lu+VvKM1x!?b+%4;dUnczN`<#qCDNn>F+eyX*cfj<7ACyj6Fb0HA@TL%W|V^xJVy z%mvv=<06>95cSTrb#m56h>d_pm{_C-k*F-NSJQsdH0sf$3=p@;Dd24`tO(_=*k{Wg z7RJD;UB>&T|JTLm-w!+F6gX1&Rpwa}%in7r>oMn-uW1W3re)|`BN$0rP2YNl>;Tn6 z14$M8vn3IZcV1B2@f%-g3SQF%3X6AcKc6TMZs6LWQ4P<-o3&Url4xz1r+8n@b}4FS z(&h(NswBRGrNSL}dP%4fQt%O456t6ln{21EtBhBYeKm;$9qdL~Z+{O0zcuq5i@UsR zk#1TkJ0+XEsYHs9%WDUQB!1^T``jumt3(&&A>%xt)cC!2cqjR2h{3V2KX#KDQ7>D= z`a!a=Ah1qg*e|c5Qpn_%Lt>x?QbzTrIICgTFO#_+zcjs=scQ;4#Z~XPPW>!02p8lf zxaHBvHO}>%eT15+Q(O6VbNI$K_mbKz5&5=rvk-BWqORsqgi7ki1kcwx@v+mASmy64 z-R@2&YkUTq>Pg6vO$JV9bpgmgd2a^eo2X6s_?vSLjUIBw3F-rNjmG}UV=b&owxJ3= zhGu?6`s;nJjKVJ;lKA|{Zcw?fc zQK-R!n=55KkEb0+o>k3P)I#o&QX39JGl;r0}1Jnm^{ z=R0*dF(qzSp0HBOcqZ^z{fLNt*+qv&YDmA@Z-SHBb#SNeF7@I{5?+s9)F0+<{>qSM zIzlkR%IS9~z~FrG>vKH&bjy-0@TGwMNldh{iE*Cvbki!khCQ$4MlMs6wAm42YVYYV z9#!ERH1i5Y<0>Js$a&Zyx(AVQ(OwjLIlk(qCc9)W5!OpYWU_R4v^$b#XZ1?JLooHQ z^nwtl%xKz9=3TR$}t# z_-uDj&|g`v*V^?jSHqHKJnZUkG*sDkaPQMmQJu;urv7*ZoZQL%)$B~JrG-m5ljJ!2yLAc+>|y}B0e};#3$tGBxdD_rR@IIVck+K0MwzR!`(M9Lyh1d^6 z1dyaxzRL3mylmc2$)j#4sxz27(oXC&-c)&Y)ut?a`#zLoYe`Hnn|V)i`V0cvnQH5> zf8VK@MG?4{DKC%HqLGK&NB5c&(BoS5^rBM8y@UkWwquhs zVCf<#+jdf`QySAYy;(CajdS+1Y|Cw0z_~kD>~2P`4P%I56fd){0Y(LXmF-I#Wx{fx^zYyEwy0vPM!m=h8D@lKkpYh1TL}Q`pnTPjmF(&;Bs&)krNV zyi021FXwAOur-#noUqYRB+2vvVvd_7no4=oUwv2^>y5Ry_Cok!cUIpxmhrh_XgjQmLo+h2~6viCAL}X( zPR4JUbu_#pHd&hwIdamwZx9`!n4Ml^v21P`D#1eaM`p5Zy|+YJ4=zJa)zMm;HDV|6 z^GKlz1?z`gsn#>@=iIUDd@2dBJVD+uO4H2oc8oI`C0?Q4wnKmr4!g zaH?MTi^2K0f$01%-{be{7bx`Z(#~z1kQ!wa*OHgb+e3b@5@r1V)vDCa*Ien=@_GJ; zs5(83L-Q29sBz{eKZ_(BmvFNgb6_@S;Nec^*7B91Sga>tOkmSZW?4R~m#H8JA4Fy5 zws(bU1vlqd~z#xKc^}J9$JN@$kzQ34&YgH9+Ycwg-HOu^gSNQGtS9l$U**!lvaPa$uAB1*t z*9Zx#A_sru}u#dp_UcFh>oW%mj}QL^PA zbM;~QdhLks7ygvfA{pSm`$48Rzil>Zyr+>^r1_T!ymJ>bEz(rl*}e(Q0AJ&eR1pjv zTJG?3yar6>aw!nhKE70hKbc*@7}KA>x0y#ns|jYAnxV$IYzIs8hQBQFR*y4W?I?bx z_?bI93|J1$fwxJ3h9^F5ZI^(mtEi3$zzsAlWcmHitdi-&JoDaKo4b(byJx;kbQE^J6zHy)_ug&V*lM)G z>Oc8F6y-Wts=p;Eh06b~BdC`zJY>v}hABcUK3VM1F$BESQiQZy>?Pc+ZuO2wTfF z^4r^I-kwzW=ItD3d5tTv__SMesNIc4fRC9(a(i*&+cZG|8T%rSqC`7u+LO>Zc-x8y zM&452;h854uL5b1*|jjtD2qr%V;mGWc%c>bl`^TH2Qoq9ixu?BvnWekK*m|o&x0k4 zOl;6KRZ+szqeMVnQKL-Gbv1?RQNXhoyGii@@YRb=x#ZR>_|@{YC7(3#*q^V{e!nvX zl9xGGzBJ<$Im_f7kIdW{- zh}QF-^6j>h4$a1e)Oj{*>!4CiKColP;dXUcA&SQ#bxzIEi)wP#ypdKXvk1AkwSP+c z-xjF|@_cD3)EOK+G~gY5eSrruiNrl_|wQXSB>ZU3sm>bXM6WSyj_uHg8yE|Phu zD=Gu$=dWz|zWh(($7LM)A3kbmB5oXDK!(+0J~gCRJ$)CmQ@`~$&-lcI8E-#~skAX6 z=~e;Bo^q!)KTn8iS70m_P*D14WG$o5D>0G;FBo5cy3OptQ+$YXFPd&06;{P2Uh?*p z7dY??Zt1vVK?lNZw55d$o`owO3cPH%lrZ7m*NQS`hj)u1Y&0QG2La<`Rm^lRR$7eo zj@^@-1{Q618nR;pz@~wbsC+kBv$P+`jhMWZTO|D%qHne1mDdS`oA^dbnD=$f6$^8` zT7f;EYE)i1>PR)Jy^L5%9u_Br&dM#6X1>Vj{`i_?wWuki-$ftbG-jHklFfA4;d=y4 z^Q@-i&l*%u5oLi4B$6)l^pnBMWHyx-J?wQHEMw`3w~8$$^*;FZV6L+!9vA57%C9&) zl>MXTgv_<7<4b2MtRXRMNTM~Rj8}lecDPi0z{h|m)*iTK?@*r(sU)>c+y?7Am{Q0M zP8i7B$rKCa*`NcW3sRZOv9Cql9%axA6a1FVrAXoX890>Sufe_*4qo{m&<+`6O19*KX7>7^u@0N?=mg~2d#F$aNaaZr7h|QGTB_E<4x-C-gn=1s>1@DMr6*;FO=pl5Yw^`)C8=$=9;4R zWbo>_V7$Q2SU^!W+wcUhHebZ!z}!2}l@7il3>E@Tc20$*Ow8*~wBvcvJ9k=H9wq@P zVtv(tk~<9l*Ni^p^Sv9)oZWB$9H6nZJtG?tG;y+G>lPr?1=OrSd!*Ma4Z2Y##F6O*5XWJ~sa3 zIsq~!{ABR|G^_v6{}y_Ks=P{LIm5hfg#A-Ivs2w8&1L`E$HIA(H%X65tN3SU75N{t zmDe+WVWA02Vo|%lzU?2QqA6Y`l<A*73Z?oYT+v}9!;HS z^nA2TJAQoYnGP{aqM872jGUx{ca5&Ls!H=8wV3I;Fp`9;ge`Kr0CA0=bh!s5uTJjD zbCKu>N9^lau7{BFm3736M+X$#FY7dhQT6~;_9^i|D+j&rDUEYaGU}ho<_^Fq!_r@+ zzBM!7$!fTg7h@%^f?0OkElnPHO0pn(iU(BX3TVC$aaC=q!mi-=%In8c&8B-Vnia8Q z=FbW4Z4VRF zi?ly*>3a;jrhUZWMUeIeKA64L2e)aFsXh(XoUkbR&4e|{9zt$ngol?1_vYe+oo4CU zFC4oTe0Mv`54Z7Iww~1>3}=KwMx1#@mayO6LQykxs7Mmsf{Hky~Q!*G0kSMuvtuTszjJ~qL%6^Dnp z=cbCBmaZc8fmq)XjUV@2+|X~a+PRh@#CPxh0yxFQ=xpxeZM6EpJ!JsM{rXEvGYZ47 zyEnSG3KTIQi;0arv+=4IIKC({{>_3fS^xHn{kN?bbln&w;O+nZ*I}8XXFeH9c*^I| z^d>%p5Cr#nhT0tfZ4N(w;EpFt<7H&2L9mYIjXCTL`g$))AHME8Vv!B9mX;L8;qqic z!|pnH+cMLa2z=e8qGWgPk>}0rKlskKC$Ab{;t85MF`bdvrp4B79)^yHrs4h1rJhH& z0oIa@73CvSH8%}=(~lJ|lf6H~bBnFp@jI#HxOSzD+ztc0K&ZX7mEv@@Lo|YKVMcms zz9cMberv{WsYL&reRckNqP+Pl-EH}Nj3IDs3OP;Om7SC6lEZ=Y z5Wyf2d@Z}<$W8o-?A#Jy4bzM_Jh zc4}p3NN)&xZb4YQAZY`!+dJxDaIM@bC|DKT+-}1%hyZr!XnikXg{xr41fk<%)2P)w z=__t12U9h%9Rz8Soo|J?tQl9q9J)5sPcdXm@)^J_Fg`2Z-$Z=e)4iZ{LAm0daqV0` zg^G5!PbRn9mf;ttDb*;37BQXaAdTJWlcR60=@RQgE}JCNo6d0L`h|07*f?sXen<$$ zw$JU4r>0(^z$a{1lyLifc;lm1pMwUXM~}{@tu33+#Pv^B!2W#DJ;h8b4* ze*zAf&mdh;nIY$DhI5Mx?xTq*A5Q2rwHQ(o8L$ssJOJ?v2@b49Ld ziBCQA|3^sa?~%UI{Ac0nv$&+7G_^RmX?*%<(nlwsQ2sc7Im=0(M&1TvOY^U^H|9NG!$!352VVfEk#|Uwu|nm%X`n6&Op%k=jU~r7X|T3+$Gfx;(l`Hiu_WXnQieq z5xZaJz5eGW?!Vo4sQUlR%zMsf-z}?1>Xk@l#G%?{OX2y(c@;yyW?M;cn$g=rdKC*R zBv8wk`=jj@=PQ0ypdE@KHj z>69Ro_D;^?{cFP2?Do3EH?+Hg28$E{gHh;09@v$zw{kU0ZFp<`eo^z-Gp9nMZ_)gu zCd^YW$BDG+^7!+rr{X6jFZjdBqHUgW(Y`vd`SuYt&>fKV+|Pg$HF1Z7F+1w2Q}mTm z|DN1+gi*|!P0}{j2ea$|q@J=#mZFpD_tYXs;l8;By=tqZ0$%?7H42HObr*|Ih6p7t zt3Q&d?MX~;%NHqY&Q%}o%Nz>kSpX9X!^SAa+}r51LuV#a^-`;BN;W_>N`lc-0J`Ilot#pn2^CxPb=<2uusV$0HP$Z&;8(9MJCt5MEmz|gCR&$%Rb;VC^ zcRN>ZQ4tt5#7GSHw(E$q%Eau7X?e;Nt!HegR_BeB@Gmj0CJTB#mYf_vglwD{iP{v8nWJ{GWL zzz*nQSpGG*$#vxw8xlfL-_r8yX$y{XhwmAK@0|~IppofMK)CUb9CqEQA*3mIz}21m zUoLJ_ywMQx$h!U|z!)Es*|~?$<>8%ozCN`yY`$8&)~nY$H$Zv%*MsqEQ$9DA`z^Uq zen)e&%CRb_Pr1t0JI;kIkM@C$)?B*h%?xZr%8 z@9v$LqJY|G8P{cj4%2pi{|fD6fHo~U^Zg`OoLY!t}>0hMCUf#zBvKCA8cA{-q3E2JZE;B3M0rNdg$j+{ILNa zIy<`#;C`JPWMsqR;E-?k{5ZVY?GI`Rmd1^NTNx|o#z?*s@vP1)nnjG%n z>zDV%5e0g9``uX?LQ}VLQUsE{gp*HecPEf_D@kJM5zrQtJR>^PTioRS!@)>Z&0{v; zCw9*w?N77s7(w!L(9>*I&5b}hB#(vHx4k9$D#Z^17%j`5q}gnM3q+X|N^*1Cczr7q zR?Y|A@~07#9&xTU*d;SE;#$$o$XbwLEVQHAT@!#6*A)6aKUL#WMF4oi-&`InC2jU- z1~#WZU7qOt`E4fLJ?l+D2GFp%D(5s}`iNG{6Y~^SA{j6c_=fMXgiQ%-YWt$kY!VuU z6jZjxVi!Aih(YgDAQTpC3vtmy86_Xq=Ysea=8;elpCFzfQc1`dE{wwpp zPGbKwq&vSna*`$__`3@3A3L`0JE6a-N6)Hx6!pj;)>`^rDKtf+)n&tbWK)zV;z`TD z(G)sseuX^0zn4(6d9+t(C+OTa{+2_p$sFM=ldFe!elI|Dn(aZPc>c8L`i1=qF_Q+$ z7ZuhXTGjuMH~(AB{rAlmuGh&u99`)OZ1IKm%6S81c=J$xy zL*a1On7r*6>l@*xkPOJ|?f9F@71 zF!e#CKT}1Bvq!1Rl!<9Ay)s{h_v47Op*cqd0Y)=58%8@y(+9}4?8wkp;>?^a_o~cF z#%Bc|Yebj`marU{JVxKIBFeGTaVS4NS!eSJBv z6;2oZx@`sYgw0I%*if&Xd;FP`YrT0%vW-UCA1`C7`kM(B7Y3Ni+9@(c9v-TpA zyCdtYBgMwE+uy-9J0^li&p)FHVZ>9$zcRX$*(NliUak%!-jd9xZe%<4QLR#^M3$=* z@7+!wNoZJHL~K{blDJFRRlJyz`3H6Rn|%q+pqK*Brl#T9_W%43MG<<(hw;SiYr!GR z8XIhv^mw$zC3zO6Yx7Rjw(FVowCUk<4SQ`*|2+{6r&nwy7Q)gTYDvcV9X0XDdIjTj z^Cpwb9lQSAg`;`holUw?%xmZ+5VF*;0*a?Y7#c)#XB z(LY<2e}3P;ucB;%EbvYRxW*+WG<_fQ=az(?C$AJHuy?ly#j_s9TR1e8I^fp6LAh5B)!WfPdZoX-I@Bvau3*09r-T@>vyRPZxiQV}B-~%}aZWZ^h4r zuq4&>PPY-uZj27^Qw{={62aOhXC0V&4iCJS6_Z9n^*;KZ3jb>uxzOa5(GyV5wR6_I z;c*yJf@6#*qGN_t+e`GFI^D+@b_T7-BH+&>bQ|kq!WPuFBY9{eb=P3+nC=%2@_!^g z`kI$Dq02ito_S0<6Th}gz;tU@e`J$TUNWesup0!g{bls=Qm{pmr#CSe$dNFQ+tT^VH0CRzwlsWz9@}DSu$QI zzhv+&Zlxi$6v`Zaq|5o>YuV3;L0kovJ@Zb|>zYbS?iUD;qBd3rh^x+o<(zBdbG~X@ zy2%Ygv+7ip#Me~*NhqG%8FvjAB@QnKi%iI}icl$$k?X%i`A9@k*W*cVY^Xuu+ zE<=No>E|rcWhs$lDr^RtJf(28!By1A0r^yUV*H4WQQHK!@ZEIoZ-M*2+UVbU_v?-#%Y_&25?xSAdx0nv8Yf#=PD2EW-R zunD+ZW~ezWZya%PS!4&%{+75)yM-rZ=>@x*GS~wSD+6anU|>+~YAmuPCyZx~`W_?x zs~+m^!H1`cwPb{ZQew3ldWQyZghKAk3-}XzS3Z4d>g|d-Jn~?{<{KTfKoXGs?T(`i zea&TI3iH4Z!K-tIt8{!H>FD_Wi!0j}U<(fDL!K1re8JV9EVH54&^LUiQ_s^(Vg#|SgRPx zrFkucT}%US^w{7hY<{bK#`QrOSa$i2AG}RVSy{PyF>Grl4;9>ryIqcI+Z1XB;Y{Jc zmR3bL)-wf?mWy+QECG&Ao+9Dbdw#zaNW6M40GBhj{=ljQxE%f^B+d#oruP7mU4uSV&c4$ZOdM=Mj zAz`KQq*V|cx?SM@vDJ95f*;=uCvPmTwvdN~-3_!jIthN{2Q#M)Ouz$UZUtILN07XFVx_z{Vwqy8+zc0rliG7v@o5&DmbaBsPm6*E!+6V z^3&}3v77@{riA1C5W|3tulDJ;FFSCKNCs5PCY1CtaC5!YIKbi?8XAf>t8PU>r!H&R zIt@-ua)0aBK$)ADz9+3wNqf?QE9gE6D*2*gEb zxQ64;BF9OiOEFm-T8VGxb+-d_0yVpR2dk@iJl{C6jW5#9OBb(pk<-8Tw>0D!@{;ytBq>t{fBVbFP#Xo~`RJ)}pwSRdhX1|}&c zpv#&Vm>E#0&3bV4;|YUJU9d*v1G~g~Al*e~%S2Cwh4nF7Q!YeD0>~$S3w=4Xoi9=6&d(3R8#z5y6M+-p} z7n-(?&rmFcUB4o@_`Ge{^Qice+D76u<6%@}F1GAQ`U*jN3nvGk$KstF+-@G$Zy|Ep zsz$m43am~8!^Izx?M;Pn)>%3XR23teChLySbhvh7^lfYFYgM-X?<7T~B{Lh}(PjXu zbJ~~o$3}fcs^HCeOSM1rc(&{`KQ$V3`}YT_DKmdmy#rS24k~x?0lrgygTetkG~OnX zl;5Q+U=H&LL4D_&F945sDz)`1Xtg;hL5iw{+Q1xk3~1I?c%%wFn#opAp#GB2Cp!h3 z4AsokEx(*#Oe!H+7gDTcr=d`we3tM&b4FQjh(}(@yi!%oM$h}hB#^>Q^c|IPO4@xd zY413Vs*&}qe6DYl@e2=iG%^oBp~s3VWEhij%yFA92?=NaIJCk)=SZ%tF4Cy z)a%J7obr!%IRJ?R0(aR?2ej97P}W0Rvyce{C;dtCD~_TBWvF*CmCQTWINk=msZL3@ zljxi2-g4Ui`z!zRbTd=@9x{JQ!oDu_x?(-W>36ZgN zg>8}>+7B-ENWS6>sLrMRl2~Ph&+HP+x?)`qT_U}hr`bksJF6PzXyDX1Y&k^|Bl+_y zqwC8KU!~Of#@fc)YEmU^l|l4e`t+A^#oHwf z3O1Mbn$)@w<~S1Ixd-pFX4pWt^KAsw)7V73qff=mEIiIItPR7N z)EZQ=nZL-LmUzBJs+Q!CR+YxK>}{%0fcc=F z2JV`i+5Rv<)$OwASkPzG9Wn5ftOom`P02Z;UZ3N~W{Y1R;=|v_PU-ObmLpSgcIe)^ zmi=#%1VeXBWbYRL{`In7K!6;4^iGT@hu}w#J9q^PbYKbvZx*>|EtK z&n6&&rJs1wcY|>}|Ci#!#v-v}JyzqC_yXT@ zI9Y$h)8ZKDE=us|y!!fj8`A=4#_1}s+0M!{s~iSY`=O^47G`!GGq(TzxrRo=FF;v& ziC@vt#SR*!gfMK|(c4RxjF$@p5IzCc3I> zT;%KCDnf6%$tV|}PBJ$y!`^EoAR(~c92^{M3;S@D-YM#{4S?|-bb5Mwhl5TF7|v`g zWflrg2(v)o-LIj!B4Ig9b2D=Xh%>ETd`iipKb1+V-!em%H|8?orxo7pW$J$Biu#rw z7(G_;EiWreQkWXH{1_1kJr6B*$jw6Ic$Z#It&fu5L^KtZ8 zp5@@!)tLieSyLmNa1iZ2FX0-nU_^XP8GkYh4mxd|5y&k^B9WUpS^8vX3fwv9E0pUH z%kWn*`Z1}zBywp3cK?U&$#;vVr?KQRu=KKXIVm>esnye9hw&FV6W#YTuhedy5HKme zEqkn?PH_5s65ermM_oJ2V)k@9Y=eKR`B|*#C)zpsEf-E*wQ|=CStR)z@rp5_t~a|8 zz@+*qtexqAXK6x-8{0p1@PEC2sZdJMc&GHqaObf-Af>P7jD`(cF3mJoaR(8qM}{!I zqmmf}Z%S`dKQ+%#Oh&31hAu)2yY#yc8U+vHi)%lyolvh8y$-HMLE zRXZa1nem~G&Q7AvCu27+vS+>^8MRq<1OBZ8x!m|W&EZmf%`%W@bY8K++N0{MTqAG1 zfvSs}GzlSgu>8ixLixCE&s1^qhsd^?cYhq$a_iP}D)mKOt3M&;lr?|j@KKca*zOGl z&qu|b)Kp4UX&sTL!I7S4Nlp`b)K=_BqN%UYtG*NpbRunk3c1aln+aiWAXXkpSw|Y3O#cU?eLq z-{cE};(Rw_VeMYiPx!vf!a5)t((nI0^0Q93igRJeaCUrUKb11=qDQ!gNocwV2U|-Ab!W>0R3pCwU=LVB7*y9MC}%xA zi-gw!sS+w=xtnpLH&eyMU&35w_F%vF9*7IJO7OS8LvZ;3V*e3qjqGsocvXZM+7@8F zmIpSG2uEF=g)!6-0Y-UwdDog}9|p}`qru$EXJ5Ww%87QgI8u;*l$_=MfaW&eu1F$Ri1;zT3 zmqnTvt|Vnng>`ezTk-TyLwH~cLBGpx9lmf1;Fx$&5Q>wwReHn6zBnN+d7IOLo#bV> z=X#_>4XItfLY>_dee6st)zuGc-gP_}4=314-dorGDEq!jvu}`S8 z>7vW^-Fj5}1dvuLZvmmDEGR20V^%z^Tf36YD(tURUs@`5UCK(Y@sX64mexEi)u__u zEznq9dV#rQ{ITq(q#WvW`HeD$hwp<$*u8hl%aI z+80xhzuDc79-jeQ4LdcDRU?ul+$?q&lJkvV%c_B#7xqK_cpgeMIPRg!tL3h95NHAH zd;g#r;GPbl#;h2S?>+AI0Mi#ke)`=#dejNKlKyhbmV^;}cuvt!*S5iOVj0xvTZ{q_ z;j`etV4H|D8N3l4Y`MOfatS)wIX?z69o6$qIeg~ZWWhWvKL1Cg`==o>NT%1wDD&^S z@`FbCdhsnumwzbc4}N=LOQsKj2UKOx4Pwj~EibLhxLAeIC2vRTt=qYjhD%N-e2?2; z5#0*goC6eJeyRD019v{D)6mVyr!FwT$G0=bAY+AQmHJqK!anH#NBAU8nn$W&NM>w6 zt(;(NCr1=*_w;@8S3rGgf)UB6Bh{#{c4RaO2fy*PdGuFTvQ_@*`vyPX`&`7jfqCz) z)Xa!Z@uirDFB3&H%;egPdJgre4bD`OF}_vER-UD{ue&jmE_Zk1$nI+`1s5VbQT)wZ z-RpEXwjuUV;OVD6Ag>fyqx`<*ZL9A54HVylmyBCq*y-yT{R*BzSLU^;_~U2U`P2;X z{wBRoGG$*_U<(20x@P%JN?JPZBqe37n_NF%v-W;JOHlO`wj_|cbCrJh%Wf+(e7<`x z4ds5a5S2FImGCOeN^pRd&GR*Xi(-Gy{jKQ!t*U`}VVn9fy?jxqu1!M+kBdgNZgkYE z(ZQK7(>xaJo#hC&?S*gIP?h_b#7zwdTUj;>OFR=xmKv3*id_+#9$!yF;R?-x>nKLY z;9X+BPqV5nMVfADMM4Vw1Ag1gMUo2+S9u>he;pfOah|zGoW(P};<52<{P5RWtgk%MOS`!f709M4{!xeiPKvkz0yDiIiCAF%b zIarj93x;GStNpKw7#HGPOunSruJk%^_?YA;PunG%Zop#v2%V#a0Xl8dh=3x%Rv;C= zcY=>n{iW&s%K>tYXT|-qj{WF39HvA;Zou(Kb<@K)xYddX2EB|G23xYIsKs-h{o0Vr zAg3*gMhXt>s%+*Cq%fKsk2BU>+Sej?+@gT*Z@RttcpcLTcCKa`Jd~_$B;LD2{Q8E% zpV11;841ySsx@5g14ibH!sd(pO|ZU+f-Q>sLc&LkDB*F*UmCeLKA=AnIzh_SiERvO z5^RN~-qjoQM~dlhZ@0bmQOoCKqB4$Fw~fCSf8)dLCw`WPjTnnS=q}>sD>tH-sB0#= zJs8k(3dSuXO6YKIc_&ey8^8il&Rc80LdYFNj4!re82cIX)r|#br?GoJBErHw6(^|= z7A-zc5>_1Vud+$+{)}U|SW|XJRU!i1FyDUk`Byu*4!f6N17j5=TjP8(vohY-L1Qgi zPS{Y)*Wz7Lh6AKy<2;v}w+RG9v%BL7#HLs2 z#30Pt>g1!gb?0|PM7ujF2v3B&C$~!fFAK0cGn6rTKD8%fzw=oO1++#*U)-+SdHJg7 z(cGYLob>mexs5|#i^)o26)~>*VTWyL#G$~TS6NLqkyX+LwQxi1M=w6tSu&C@b3I3@ z2N~0JuowSNl**qX_h`mR*T(XHc_b?9&c2M4>*248WYKwYkI-X%pyDL+qW+1w>cf;a zMhL4@Pwjw559L#v8)Z_mr7aJ(I5|`4Ppjn2`E3=(J>_+PDJP8`{V#4HI9poFb#C{C zw}gED%&wZo@Y=%R-nU_xG_T$YyYr$?c4VHucI2?OJZg|&lwXzc9Ve(*ZcODmhJ)*i z(CvWk)CsP}`La7^nfGFx2bd}zyfc7B5B+e;sVp+zksG0wSlcm+r$!~#37>8FKRa$kkaAmDSgFTqE2@10%@>AU8y1T72;M?u&;c5e|&y8rqjoc7_5yi>_1;w zL3?-jAC4s^MMc5A=BpfU4xAe{eC$zN?i(0*z&CKP!wLQ611+XiNM3($SMW>&HXgXM zS7zkd2|v1;-@5`|2Qz1KU#_vmor5|pXO=w~)76O$a7}No3+9<`4FsV&O{Kw|7{-BM z8*@l*mMf{tTWLD&Wgd|?Jw|S*F6<HwSemvf{UlU{% z8mpxlGzUL7yiT?+DOpqF6%;&PUkdB(RdVz`J6W6;Ke6ci+9`RRHQjt_L0 z+7SejMNfGN2?v}8bz+Cz3s=XtlVOk7e6%esmA3;|&xv7IJ+=;hNVrANp=~e-gSlod zJn`M?`Fiuw6zaTJr24#}xmt64VJBMV%3eJwaR2-J78xSqN7!jftM@MpaWdCk#A9eW zaGGc(PUrGy|JS5t+?+*woMtTUBH2gmkieoHb4u*!jwU$S)=0o!ICkWUUt0Y=(H41t zn_~AOcNC96Gpz~yyQD!WDCo(@5-s*jZy7}Bw7jFTpOf53t{)98oDG#TvnEjppdU7) zPAzK;!$9m(%HTsGt`jx=BXo$3HxuVJAx|6VP>>-m;Xu zy_TZNDooMryNY^71YM#W(~3@&>`_ILwsb(4Unf$FA%^(EV9{!z+)YJIQ~tHWkP-bA z&qte(S5yRLZJa5qazD7Jxp#BxqTf8xKsmlvtsV@~{%%e8^j!gCPo62A;kzcWl2u9_ zprl5$;DcMv;s$GxXW4&n)y8N%(2{m|T2-LqrgEaO>-*w;*ta|FqWT<<->^l?k9#n# zwxIfYT4Pfkssv-#g_hU|bv;M{QLB8Y2*rDIQR-QQD^728hR}L7Jnu@h;h(K`a$}(+ zne`sVE=oh|tqHJpZ?}mfL9hvtVxRV7(Xp^WL?4rlirJLr$?D;yqEpASn+c*R|hCz*|`^mC?nm~B=d7X}7y!zn^+`|B>V;Kn`Cy!To7ctVhmJ{hXOQipha-x+QxP^SD}$ zD@(MSuXJqgbK1ojZ(;_?pQiY?TM!#oitS@RBZM0t0n0CCV(LJm0RtR`%1}%x^#Y_L z*`gc|%fgw_XuzngtU^*n0dSg%d~_{Bd>NF}2I=*)sYle0FYfbeKGPtFjOvosu2r1C zFFrw}169YLn$KNt8!A(PqT}T zPV;;0?O$JPBtc|y_e~PPnC{gtX~AUOXN-D0C#B!5mf4zr#4raTOS08SY_fmF23pPk zjpdYgP3oX-OubP7#p*?d#H?H~2{e=SshKm1c9VxYo&OW@q|na10nE6?3} z$b8oN@$vDVl^Wp-eFp*uHy5;dhszw_moRa5Xushq{r?Di�!>wQG3m7C}%HrB_Ai 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

    3tcEEAb3hjke>=C{HJS4T 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

    YT?;~A=-Jx$q#fp)1tFKblT6;{T)1Tu6|otn{X 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

    Byc+&2Q-ZrDhPwc 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 z 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%0DI3rk)dSRU> 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

    f+)lbboWXx|%Z}!8ybs+3{G+4*y7d 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

    nI2jcc zApJ)A#iS}dVogQ;#dkBojXN&iZgc9d=nHN$p|<8?H9xqOG9AUy*ofIMZ5jV+3^BjHYe%M)%>4cEVbn~`p3fX+^#U1inINt; z&2ylJTlw%ldDzNEbhGW&MGJ0q4&GFnff`4{tbzF5zwTgV<`p}?%r|CTCq9S_KB$%n z7CJjK3E(!Fe{o~u8TmqD>VdGlG?aUTcIVLBX46xC(1g@Z^5h&Rx4Xhr1%x{JV3Hl@7lfFs^#(h(Q&#c zkC3d{EKSGerdj5tnBVG}_xM`(|Hao^$HlR1?ZP_(gb*M=0>OhzaCZU$g1c*QclQK> zTW}xT8Qe8^1`W=j0R|b|9p>xobKZS&?t8z>A5cy6Yo@!Zx>l|ANGh)&n7X4=ke3&0 z4>}SV^;+oI-NiG@w3eA$#h#;h3I6oLspM51YjWbyi#FeL%oqjiduC>)mw){Gn0V{X zlgkRL9!>2yW^ZUj? zk0LF#^(`hQrrK3TM(T0hek7n|H2KOWdREN@tz&_yz{zIw)|P+X)X?w?ATR}^a)Sy_ ztpW*>=Be`VNIt;dI=Mo>oghDvE_e;ny9R-UQ8mhAip5!+oJ2(26mDTEX(oBUq{9IG*U}y*g6j#p^o%E>Ti22)4 z&8O*KUK}?z6n=|w5x!s7U`Ka+t(}6-z9;=`wM1^=yv5O2Z@J0P_T-0cr`>Q4{W%|! z^vq4t13Ip@x>f}vvv=2dkjjGuEtD*6co8N{5lT&y!>{3}%~b1glAf+Dz*{ufMa)4m z1FXrPYT$E`SaLIF7v^2Cf`a!fykKPMIFFhx0Mr50z0$Yl2Qx3J7MUlNW^km1cuK^O z$Lem}H7}lK1Gcs-T1;VJ6mLPH+OzKf3l~Uv!6rc|HGI@`uN2LoQu0m8Dmdd}ouPk+ zM}PG7znh$DmwRS%crQ}^?JTSxEZq8QH_#Mr{Uk0-9KAC_)B5}Y_s9yHIaz0>1<@Ko zIy^K;{0HY8;Im<|FSy+bB>}vF;!epk=j;EZ6@K5#FSzk)H<7DgCWc(&B>Hek!rR#A zL4CEUFA5lMCyy9DS>+O8IX4WE(j<>quv&beKZisVnzLC-7kyxb`3T{8y7L;N@~=Z> zo;6M`?s5DP2_E(STJRWAcaF#9j!y(Y_6*8un|t+h zXDp;~<&u^fep|hHS8LKX%O*}f&nzV5=-Sl&ATRqev*w#q3GE>L(+KLKQdeG6Jd43v zJh-r-dJ-m%I@@k8k3qbfwMn+6Wrw%aPvM4KE zO2*v^M1Q5JlY|tnWj|vv`n&$C-#XE03V>ZOhRcl!apbtli`O>?Ynr6&J^l-(2 z9Xa4NWeTouZ4hx4xE9u|@J@`0;=Roe}_E>&^cy=jd(9I%?oS#mcfGj(13w6IB?-d>x9w4lMw zeJ-x2hNo;&lV6A5B0swCf_n2 zH2RzEn3Bu@YD)(HXuhwR%M(mfL6}hw#-5q9QbpI4w$D!*)l6awT3I@ptQ&OjBpZE! zp>7nNs&A==0DeMc6#%;)SD9qY{475HL{mpGWLs=Rc-tLzYEzboL!n%YQR5xi0l~_--$f%f92ZLTCt-4`g+0 z4@ywR?p`J>@#$6i6BDZygV(BW+Yp~)ZZ~sRgqe%anhrOd0&fWiSTTc>?@x$I{Cr`T zwoFehsr>$GJ-qCcFUk{6XkDsEd)}_LsG0K~XWi?OMCa8=CH!=vAfn}ktW_`OK2T?T zzJ_?n@=?gr0dq|gpjX-q(CmmfXgAjfJUlEG^mVwnq+gvk->&+WPVcw?oA~7~8X+GN zkxx}YyxABczz zwwCM~r^zR*w?Z&4x3A{vu5*M=&o@}+_k^pqP_CWX^*uXo`b^VO)AD_oKAM|a)et3Y zh1fr+j+riw$;-F*ZIz@M&p+sz%|jE%G^^j7t(RJ@$L+`vtIdE>_~*enn{+scI_*w>&;JliHb%Z@A-zy?=HcS>G{ojx`L*28E>9C zhqk^5XWN^9#{U47VcJLSVMP(d9X;jUf6hIzc=T#DEhc0{-26?1(~q~YffT~Z%ObC= zUx@GWytPgJb?}1aEwM(V(pH2=8pT;bjH@7T0OEU__!RUFsNfv-lXK{^OWb^S;^@)P zMhZ^IQPXVvHK6(Bmu=6iH?`%x1LYzePNylF+Cd)!&+ID|Z3%WFP}~pTr_MnFzOG)% z>Hg}OX!OjZ;g`5oL#D$M)icIQtR+;5C>gs8&j7bf# zXR^(JxJAr24 zL=2Dny8}NLy}3=5otQt9szjJ-@(|SDDfr!!ZcZI$Ql<&OmV@%M+wLk$0ng#Xoui8c3Kal{oJ73%TE9Oz4*Oj2Z%3|>IB z{e!;%qC7{ARmU4~|ILuW0=qToyw?jlmd83a2~^*H2m89`W>LNkZ&oW)gGbQdL{J0% zFT6qrOQ)~kg$YY-FX7>`1+`8A0)R+Y!#F|7z`#^`#w!Mp&7zjAed#1NP0?~RGGLYx z@!RHs%F)5$<(w-B8o+lraUdeH+sM>u#i9Lf%DTj%IXAf<@DATqtIlLTPr`O1F|mb~ z$!Pnt|46R407NBIU9BKEQu=<5N=JqZ+$(777Pmk&q$qjqdhdR|*|w+&eXae$-BrbI zF4Yq|V|5yl`^kdYD`NnXR?&U8`0`(vUrJz(|4$ zaY9gnP7%s{)O05u_h&iXr&7~|HTLYeYR_vk0iwN-Foqbtm*u1SGXap-(glQb*c)|wZJ{~T)V*(e2qG+~yO&&2pi9T~d8MLfTmFL2lvk<)U=^MZFM)i|tfZUWeTdcw(FU`! zWExdxbHmaAaa~gcpYI0R(3iO*tyI<7L0uZqkcYfs?B;!s@qWLp%CUID;qAVFAg@%# zO{$;nX;6IgVGRps&*Lc+zcfJl3#k!)n%v&JBU9Nf4ZOO^BuW37pucJ(J);u<&9P%{ z!pn#R$(IXflhtlEjij1dsK^!Fna1CuB`>1cU}2JP$-ljM>*QqhMEYG$=#P!;I#W?X zMSs4D0++YggRAd(Dy0k@vBg$yP8%X9B!-#elsc=K`4?zW3h*NM+8A#>G|iL0Sjh@5 z!~FT}4m$`h;9*)=A{S06;p!Ga2Blixt{rUy%l}NC&K@{Kwd}8ZcN1B0LODXr6fB2c z(ZN;6oNCRrcKeu|$pUK#a=qO3?f5NGfy->p$}3DP8MAEUvR&+fQ;ap9{?Ek2j7f2O zcv9?!5+ocbVL2KND?0PRbLOH976v=94Fr6KKP4kIpD>qGRIL}_Z!J1s9OIp1v8tG$ zzr}WPsyloiJUm|Uee;ylav2}Sz&Mb<%W_pa#EP5g{9(=+Ss&%H=It{Um!-t-#m;r? z6+N~;c@#v22E8T*-@iy10d1b=m&E{jR`}OXugWWFj1Q!q5o|b@cGhQ{1}TtbQm=OM z8GemN+--k-==Q(-1wbe2z4Qnqx%yS&Pgql+k8A_NDGmNZk<@~{eE{5y21Di>dYX<-sY@R`-OCs%+cOp`Bv_!qeeqGA z8#A_^@#wP#s69(QA3R^$mS6FUR0UUz^atlpt92Q*TGuhmLS@rIDQwWR4!dy^vKdVr z&3W%omX51xC`FHrA{L%z17}DNF+GV0N2=5~PJbmW-u$vikNZi3A4e|a?y?^p_k(`& z;x~~em7Ybeh_THb>j3fi`cnXd&+Z9WFOd7@XmWTutAuFXkGkLRp+rzumZDW`B#Ze$4M9Z=Zx8^UbW6@GCt?zNm`!R8F)wq4Fer3?bgWY7Zk9S=$Y z8G-A$HIb^i{H5e6UgA(HoK$vWh1bJ2$tV3CRX! z=92g1eAex3($bBbYeFru^5|sCL|_+g$-$zz6_1z{t7Tr`QqwWkh87%49@hTNkojEn z)LYPUroiayc_rQh)+~ZeYx7D=AJN(~=^&I5-hYGOc`2co6ve0^s5RES>;Vw2GURSQR)gIvqaRipWiSUZ~&MwzFnd4TLH$rM>zk7NSDEPPfndj+6tExRm zy=QsK>{fzgtR(7S{-n!scZS=L$wb14356xMHe;!JJ7#ks+ohMF;KvM*mmMHA(Na@3 zB7-NGb2Qd|hwXcih*uBb%EopDQUGhqUp5?R%dXb-^QHF-^BM9*w22d5ha8;89(`l{ znM|%N`Ua)bgg3h28Oy_;I>8)jo?g{*6=p@$)7?eI!rc8s#`BEHBRhesey-{OK-Hc} z27rZD#*pllp17)#?jhU8j%~RZY;vVCDOfZH?5sm=B+_a6Wo~?uqPky9%n$Ft>Pp81 zMhPA?*Q&==e1)kdM1)LTNeJKl)Y>`!;jUk=H%Q9utg^huoIa%3Mf!nS zxc@BZbgFF0PNi&VeEkO2TejYHT&-Oj=*H8W`^>FHv^`7PX} zxqJukd0O{jD#92;l<&XzpSkEWvwC>@8UYF)ff;vXA%O%gkdHPyqJ76888K7sAksZz ziM7HhL3s5<$_CpuDAVO@ym@qb9b=nAq2=A^fiuXVM>Lgf@DW)sRt&#%S(xN4++P$h>G9t2#?^R9~S$pnM;)`OGh5TITXT)GvvGT7yo8P(~dTyt;DFmS-W(khm z#Y7yGBd2Hk7SJWX0~ZNTiIB#PL}Bi?t*?$B_B{kr({e8{9oosJR)~l~9E=8uf@*Y)L{MAI;&S6G$Sop@t^MyjhTkX3M*n1UI%*@J#&4~e zST*m&A;0x*ciEtdpGfW*`b5P-Tj?RV@ttj+tW6z#$RbVcA_#qi{N#So48F$jZ>SK8 z)6?p;uA!5G&IdfFqopu&!+ZO<$mcvdg|V{;$Ik6}AyyJZV)Yrg1!D2xTixXAY9|?H zpE8_fx}nm;$Yxm&Ja9f}wqVlSf8amy?q7cu{w^q#0|kZpG@zh>pcc-2ekf?Foa&H; zBGN_je7TQA@j){ z5ak8)A6r@A+;zdMuAkaOIeyV=Wra2q)m@_9zfAOd}LW(P^FC@Bb3dWfdMB z9c|Hn`CENUantz?b7fG%_3%Y|yI`8Z@a@B?NOXyAU)jeBTCKzBP?}nja*V2a@l+qW zn)`t9c+=YPRMUGcYHp$R#S^2`cH1I;H0l+$q?6p|r@`hOB|~(UrWzKHOc|?M$!71e zcfWi-;j5;v1nSO>CO%NtsCus`+jjeOj6wqnp1IK;c)#=@(eeb@42^K6$bv7WlV3p> z`}Y7y5tR1t6&= z#*k7TZF(M~Pl2nLR64nH1Q@UKpH6f~ZchmwYfM5am5Yfg#Nz>f((k`SY6?apYA5U3 z{b{uvGkW%b^l$fG^rsS-s@+E>UEOT`GV0+mdYIUU(D(o*#NHm!{^21OBAq`qo9BBKBE`&TTv9g&Ym_ai8<%awlm)Ay*b9t|dYrHEq09Kc+Vk2_Yrg*U$b}+pRL2s3 z)iO|!+rg9MGKEW6+r-gTsEP4J%U*x&!jR0Q5LP)DvSB|KRye|oi5p=qD||6OHDvB( zBs$=kasTF@dGm`sN??|q{olt|!{1cKs+{Q#p%+0u@@N1(b8F5Lk?Kc(QJQzJp0_`} zeSX%p(j#QmKwBoTwbT6GrFnpv>t<|d-RKi&QJq5#AMaU2YNov*LF1=dV^&!(IL1)4 zdl@ZloH7uPml2CygD{BMXFk{T{xB>pS!(^Tzjx{8>Binw$B}Mswq8K12D3~*fLpxD zOJ{?;wO>C_ZT?s7Ba2VhT4PMm>!As-?!h-ew9c$ZO}}Y-z~g8u)Gur8jm~6!!Yph~ zmkIB$jCD!+@5%qq&Hk@O7LRse#k*oDK%Qb}M-t~8K(zI-&NRjYHxKw2R{{_hkbwFR zcodT6`(|yhqlf7`rFw0uSoO_gM_gzvn<;w7^GwxH&FIQm+X&Sb2Ek)kG1Kz#F>9Et ze2o)GeayIB)s;^`ARi951cVSa1=!g?prD|9u>c(B#zsb@pw!jwnz5&NZ7xw3PS1Ax zKo;n8yS0=D-XqyPRd(fAidAcY&Of8}9)xf!gC@?>e$_&IzU~9C z8`T1?Rna!I`h)r!TxGz_IXRgE&tI;&^7irIyP=^qYVJ1m-Wd$TG;TpG(|t2O)GPq* zU4}$pZaq-l~M$>2>~m zsoh(lb%n}+16s5jLAmf|<5=HX^m<=Y2(9k)Q^=UldG5Xhzx_n zQ<$$ZubS~V4zgXnjvpUBU`V+jfw z_u96ga7wu9sgPP^4jZ5E9#z1Qbxv?<{>rRNCTfmJ~=fSe9v<@NK9ZRHVP2%I`1uH<-)1+3cj zBKelb0(M(4cQh3IMuo>{g)q$#dqQaD%NMYG`@ADca@M7l3Rq;UOMsHnLchNB@*E4s}i&Kjf3 zzF0%rg?B&3on*1!bHV4SA_tsNp#YyKDrvk!{l44&RSHUC@*j{6F2}nAnzb>%JCds1 zY5n9R))~Zj9l5&_m6B1b}@nyl|hk-0Z5I%40^%Ml*6 z9xT1p<;u*}rEZH*S039PZe9K3MVOJOU5m3wy6*dz_Q>S-n9E1M+EHJms#3QNl*rTV zcD!m`FkHXQ%va7kT=;q52EMgkCP8v*Np(qKT4DB1kjwq!Qh#O7ThQEW)V7Vm2Wn}U z{yg*7UqZyXx0nbGjrttuOgCf%u>DJ@kCm2Dk2lGI897E4>rZw?hB_??C*QdMnG`!S z=_$1CufN~7w5y`LZ@Kyn-hxQNM>AQ1bZ`OIvy}Q*elBJK2FZUnxDlU&IB`zx5 zzUqmAC2lcA#80Nlnx0O~Xq(nz$w$Mo7=Hi|L$TC=3!NhqCQI{9T0A_d2x`DQI--t` z&{mU6xUo)*l-}9wQgK;rtIW@Xv4bKt8S>0aWXNYc5ONEUUC_*5yh3CF@m_g zooV+43cM}tv>(8WdLpN%POip*NntR)R!dtwpvVwaCsApi`(9UT(3S2hc*}YhA#qu7 zx?&zdt!OZiqFEEjalH zwoG9ZdP%(Eg_`a86YDP~(~s8HApHk`eP1lVOx<+W8I&kI%JqSF8nV^{2J zm12}~yH%6qU+Hg7u4FNea9$Nc3CT67k>`*HBKyBpPh1wgB`SPSw3~%BL5{(5T|G+f z49Ak^Bq04M?pI`Wz?H7@5-8H7mHjxX1YpD7Q#UVm4FY%9c7zXj%q>@xCSCfdKW5|z z4#!>&goM^TXbq&b66YNp*M0c7TAU(VN0n@=nMEXU3v~=W6ZStE5La4sydByl!Mvw- z_awR}r>1r@b<)v|bkqet{n(75Gfu5~q%=J6_6hLu7veAB@o+!GTaL(f(^7(H(LtynJq=!|5`)(st?Z zQ6+;(AXnFXB{)7B7~sRe&RbDH zw0JUZM@dW-8WfW_NhL~D?rqbkscpAfN7?zn$I~}Ys~z&4q!oGdrgs;ltHGQk17o@) zAwlOZ#&{|JH~-_x1f5^i8rpP!36qJufIx&{+oely}_b(#uVoApuC& zJa*imTs0Y6JR33P1Mf@Qw_dS@$x=Ma6OWJLO;3jH>X2xZI(f}cmI^3u0`!eH$0j-~ z089LN!yz%?x9*|^%#5ubZ}^A`y~g;3YQ>vg!($Vf*Gaz_Zi%^7ARArtnQw$yj&`3{ zu@%hfJ_A+2oQ3BI&rEfDyTK?mX=-v15%z02u9l8nGc-Q`!x*7zV{f$RXEQ>$+8UZS z7;ZiWPIFp^h5`^8t?|+AcM>wz>%DKYm${Agg3;g9wA`eb&w?xNW_*-j^%iD(?bq|x zMwxwy+}z?~99kim6b$w@l4}toC=rzDXr#0jI)Dn8MGcm$*;+27f&3CslHLv+sbpN} zs^ekHYGx;7&x%SFkJqAw(tbq&@|;P!m3;h>+$p$^$4z<;M8r>6*;$!3r+-aed1C{# z5U$$Ln$`Bf5M@B@1%)?)#u}rC1Hfwiz>w9n+7;xw&4sM@1$-mMl`bDrM?a2ICB&60e2NiG|GV0W;e6vlz)J>yZYm63_7W21Qji%;Gxs&^}&i99zHgz_IQ=G1jm-*c zw!Yv828In21FZQ|)zL*B?IX=vYRz>I-z9l+rsBPY`p9~=g(z$2EKv2KYQV))x-e`v z@ddjlBaPTg+iGdyzT0t$C#w47}jeO+hmj6P(nGrH%2zwCKhHb88QLID&kZm((Gg5hxM1Pu?Tc7hdg_b?r+5R!V>XxLdOD8qJnKXJqm~op|Cp~daq<-3D&!Os{ z6_JKquy-Ilp;afs*?5Qjm3Nf>2a6R#Dw=brez%i)0{$*!7&~v1k@$MYPE!8xYCc2uOInkQ0e;aVWW)Xyo= z?P@F0rT2BTi|n=`AZ%lCD&m{pDc}|w8u8B2oF39HLOn7R?MF*=x>1#CtO?10^PI?^ z_eqA^uBQYNox9DFSsuJeh|y~hp>TN9v#B$Xv7@QbVvISoHQ5ZR+v*+L^kO67<1HvM z6ol*|Kr0mhl^uw>ceNX35C^MY+`La=2?x_VE&G^!OYd1^(L%MzttOmWHGim(CFVMD zedrY6F1zpKX6OS>uc552rI7a)&<-VJLv&zfdP97_q7L?i> z`zHba_n&+=skk3pX&u}W&3PZCsuQlRjm;^UKcRfl5->)d7|W0*+sDdg-W4ziD6I+e z#8J6c6sWzC;b~UCe432Zx?4+=p$q2RXj&#%2FhW|@ZkDB5x~w~13-83@|L(Ns|@K(e&NrIoq;t76^8-i8EXp9*)laZ}MG>Jf z=!);{E4Y}Ey8?pI6c~4Qot}s-7dCQBIl@RQxBr@1Tn(5pcQoOu@Luo(5Skaus(5mG zRcfwXNy*6@g*Em(aoSq?xTopqPCa;X7>jiDAfNk0nYEey+c>*YjM@{vzP|W+@=LHz zUE7@zZT6mf{|vnA`wanLL06JP6|R ztW-mr;OvHY3$QH6v3_)}`38fZeZgO*%#_R=Y^IhR z;?||s2dZO7ToEJm9dQs@Gir9C&QP4KUS68fKnAy^ii5+D*RK!VGkSPZLymzI+>yh3 zp6go~tyS1*I@$f{ta)|YOZjN0X879-A3UWGgN&%%z=OHp{pgjRH0w-*(G5Xz{lJ6Y z4Y32EwAgzOF=cTLs;CB>!Cr%$Y<6q^sQ|y8uE!82STuRHMhZ=}3VMLWdETEfBP^mGz~`7QQKVyBF3{EV z*aSc02}VA9QUWS$v1U;_d4i97P>lrJ*cWEBDm;uJy6FRx!EN58wpA@Z15y(SFE~y} ztzp+t(QyN6I9N)Gr17lje$BoijF43HUqR@v+t0THGM?QKr5jaAs};nD6-0=F;V21z ztsY6v=GB8RMb^54Fog*$d9(fxkJ)4(< zg|D^{JESl3TKwQzsvnh?QrIwk-mX8vFg6Mu8a4){-ZCPk8x-XVq;&<7-8>~e>>b#r~Y0Gjq;snHH=()%r(u{XdgDMc|*(;(ic}x z^HOQ%An*tA1YO0ukYBo3@C;^hBJPk7ln{^LVfI)mLO35t00%#`m(Q|Rv!7DwSZ z_!eNz5%x(gxE4qA5F3lZzA zxgMJLy(=V}6`Eqo3`UBNF(3}v0O0CP96K8^n>s-LxEk;uYX_WDlP$u;8kwMl>=bD} zO1o0t6hAk(2?Jv4OUU@H+w{C!UsZ-R!dVV=BTkIg)mj76qktG!Y?`eu>1LS>yHAa%_j%T$cPrr5{2;^ zHeoA{?f7ObTOOMN{i17aMrn(nA4Z4IB`&T#WViBI??U7f8ZmI zHY(ZYK!Z0h??A*Rfd$D^?fJ*Mr3lq;o?A=HFNO`&&m( zXs-gBEVbW%e)YdvziuHf#?QdK%GGva@%7$L?=(5I))N7V|B9wX-huPA-1o{Sbh9hx3mDb>Gnh$;`^=`Jhism@1wwB#!+@vud zawP%Sh+dm2)L5{E2x?oQ@)A75l@sFS^a7U+F;>?&fKO{IPR7S)U4{s%LPGM967(KN zX|C(zNR69p9$l%{P=n6__oN2@8m76XzUBw;_hk%Dd*NBc;XYC>geKjH=H-NGSr34Z zF%F93PXM?*^W7Owy3#r;9_%--170UVfi&Ii?aqpGNe?mCt+_Th9nUyZJT8k^(brBZ839|z z?2CUddkvuh+>~nceo7E$Sope1McR9<9j_1cUT9v|*Lb{5+NZxihbE|J+dk!$5%cm^s;m_GzNPw=74@ z1I!rkn2KUV(b-q=evh!%(V3*(ChTmHAwK4`u3^svmTH22MuNG8|-` z1`jS9UK^D(*615sN4;J%@0AAD$(r8{9nQ~w9V>9 zxc$2BDV^^&&xap_27fxL=Fz@efxOFmVi*y^f z&!;24g|zJo$R@Mm8rmH`J}qEQWMJom&P&uw_#1gDr6c;7!ILWnO8=PS5}y&D2FJEhyh)sDN$l&Y99K>A&A~QPiud>V`nR@8lfs!v}W5Ka)v!kq}*JZdDLP0p= zzSEZ^#+rYDL}F~8Qu+Xqd3WF^1YOk3P&1YnqG`hHs1S>!JS;-G!B_787sT#g@026G zkH04WA6$U%n6X`-k-62R%3~L4;u;xp1wyG}$-v03Y+3^grA=J5+J(bx@q5s3{##c9bk2ZiW zRWDXfij86_%}!S~n=tA2cbI-$pmH#H+++@Kcb63IqK)Hb95{0$r~+~#1@VXueko+= z(XL(h(`fr7r;TJi(Xs~d)a-&iD9rRFo$S$FUOb#u?GZnpii4xgFI5{RH5?!MB)jhTdjtux_sShK<>gULY=w&rFd<{DF=Bl4q3MRGFY)^Q74jzat6Pw$};`e#sKXbUR1p=`Pvjf#xVCNb&oR3tvP}byv!9yW)q~kdo{~kQFeH ze18tJne)A)t}-AVm?)>G*g{#0RcE6CJ3NGvjGMT`TZN>sJ>Qk-3aS8HpT@)+@n$-k znk2V$F}#_Wy4##@kg*&+rKZsB_!!b`78U=MVf|l=#^*ymeJrnArz~Gc?8+mTI;I%eY3nQnr3P0Wg1cS!Cg>9`29AQt~SqUXS8Dp1@KtE5~58o~ZGtsXPeGB9@wM zAB(=S>uJD9V(a|=ZDGb&wPx;H^MI*tSf6FJ^ooLzr)a&zI~Vr7E%AdSc6GeJ z44yLNmNN%Op||W`etoT|ua}1R@#AsJtoo)azBOruB?4lpQ6zXRq4(K7R6omgBTwmF zd65$@BhBe=43#vX*||Ft4wpIRh?{ZYAO2S;0!Nxh2>1TEPxZsF?gm zFaK^Hgx@biIF~(yx-&81$p_6R5;DYBx;5Cj|9Pc4j&Sgfvgq%VwjE#jl2jOKI$@jI8-sI$D;(p7j_#iL-NI z=(PXKH!#tT{CdXFj1}^LHrUCeyMDoJ&Eza=W#?l{c}Wni>`^&ACs<=bD)8h@1hzXn zYh^p0iiFSjqGAmqp_5_J4tgUtbNFIVU)s*!r~e)c?pQxdXvo*eR?D-a1omB68AvH3W0pM7m# zwzO01VMVXQkH1qg&og{;1Xp`1c$<+X`~cO^r@v#gf#0~?X{!ga-j3_*IL#8BSb7ia6h*T;H-J4q=8K@eHsk9iqCeA|*08HFC}FOQvwHxiZJJmoh*XWpQl zvvKo^QEqyh8C*Hhc|MLZ`0)9mrUp?{qp|C%t$JKLZIz4JJ(GXG4*7c1XuK0;54V3f z$l*f3HA2p^?hnS`!fKo1hiUqlAydRLJ#N9LWZ)|;0o}Q-ny?c|rf+ZCZ@nj<2@RMo z`t$|on%=F^Y>@So=I#U)Sw1Km*;ZRk*=2UOh0+_>^KK|##hK;mHu`p}Fq?i2%kYz2 zpv1lo{FmLr@{>hjFQNjI455y{7G z4GJa71uq5!twhdTc5G#?SZuP$kf^k!3?I!Q{((mPA4By2I9#zr=BAJue4)w9t0)F4 zQ9xBH34RPA0N*T@;nbEaPaAV57Z5Ilk+*9ppi)+lQbb@z+DWahe0HLn%j0E4S8lc7yuoy6sD5SoTJ>Wop< z&rrES5zX?owJr3GjS5fq!P4_krAPb$;-38U6}8UUr>+L(!vHca`9VN%y>K z>ofn%<6qA76I;PQO!)f4X=p}?u)btFmDGN$@i6a(B=D$A(2K=idPGXnHXFZ+Q!|%) zpZ_hf~wDBm=cJq3h=kaxWcI7xf5-x(WZm&s;ygzK)P}mMd?m$ zEtGZ|Nly)4m9tbVg~!**GEAsS(H4@w%=4`CP4&h0dCvxdwVEc?PNWmX~X)a(x=E1aig3W@4T}ER_+}L?;g9mc`wO z)=Bo8fugOm7=44E!hX&Yh^2HDzCFxsD<7HJ#zsR{b#G{gi@5>c*>j|=Hd*|Ra@wJ` z7F<-J0i-c(SL#>Y@z}j~YO$ZSTKsNBE$IcI^ki+0-IGp?#hZmPNzCOb>Dj7sAVUtd z0qL_ks3qz0%fDs$uJm6n1mfD9*woqU=%YT3A6XHByr5fkx<$u`5K@$q9w+FPx8k$<$J5dW{PU) z{R<|RiEF7uLZ6VVb3LK|V~+fJ*cLM^yAu9r0i7ab7?FkfaiYcc*Do{L5>^?f77~!; z&&nwmz9dQ9=`@pZ6RfXFFL9fr*R*v`O zU}+bEuPe{Eq>fEkrxR&bs)n{3Xq$NxG-)5&JCc=IkM*?sV2U2_3sHUHinYz z&VfC%x^dD{Pnk;Q!7u0+uKCQDa=@ZR*g^W$_E0$4dr1Mw`j^!sQ*i7p(mp67v|SBX zPJMYvFFpk+9=c~IZS7uc+YKGf!LhiL*!uj;>*mbT;l)P>>7al~(>8YICpo6p*4*t> zhsr#>Gn#P0M`AqwEZ?6`Xp3vtSk%0X&E)_}uv1*J=ynTM8Xr{vQ4ZqF(Tx6aC=?5b zH&sMh7ojJ3tz$kysfoNsxPke!&zPxfQY}CCO0zfxw&Vr&cj_0 zF_r>i5nzAKzpT~%c}ZO0z`cDS%BFl&jZ6JWmx-%kRnnDqHVeqa_df5Z@7<23p2ci; zIJJ%@%XNLr+o&|&@m=o0;;fJFVk|tD^Ixm%AZJ%tLJ6L8nVXxttKG3!<#}kmhaQ!an+}vOe3~5b(=WAH?-&bv#;6UE+7_ z9W6mL!YI{`LBDB1M-FF%&waUIlUw}%`1F%yU zkWOI;Y3c6HQF?}w&H?G}&iS6b_jk_myw^GBALbe1a$>FLUTfXIV%OEzvTXKX7$CD` zCX3_Peip}vh$1S9W?CaGIPF-cD=N$Th8u%VgGbxTYpE*c!?Mof2Qi9r@U;C#V3Mm8 z#exudOJDo{1AHDnT@D>Q@HrU1wiWrPV1(=#!#IaGT~)JWfjw{idE1{0Fk-+XrMkOQ zVZ#tA8)iJGF=Ex$X}XgnBA*}&LPGxqGGV;>Y-;HpUldyX;t0jU- zWvHk3>#<+%cW}}Nq%T)I1 z#3`4-%H#{V2$;0=3%9xcu_>m_gms2aL{NNr8Y%?AZalhH4yw;OcLeO%#`@JSVBs>Y zwfO2)BwGhh-E~_%GQh6`*4*b?KHeL01okPyKger~qlIaS%$^0XJjpgq(`(v+j|r(A z#Y}9G8BJ!Eli^@JFO@$1Ebf%?{fpi4nN>|$)7KiZPdg}27TxhY_|18+u*7v0)Iz)5 z-Ggwu7c+wFv8Ih-k4n+T&JXz{4n&ar?(b|-Bc=O_CGzji_GSZSTw@<8N5)UKXT87n ze8k!I&5)dYppV2RFUl?SV%b&Io|IhDcxY$k{RSpYleFGdAU}Bgs}0jj4BD*p)X3=G zC)GDU8G+;;s*Wp7wHcBaPlebCkZqLI&I;B6w%pF9{5^dnVee3tBBAub#m$_b6E2Lp z)@RICDH8aOlar}8HuDJ-X?OndO#099{eXKwWYO{Dz|MC}(MTd=q3yuvM6{baPMG*m zXm1G;BY18~KEgKUCJmbJxBD0(t^O*jpUKpIGB{p8f81*)hOFt(%Au$C`bOTvGHqPi z!6$?Jw;c)1*K2~CUbXJmYeA9XB(QDXL^_Sa{uq~ABEQl-7!zk;{At3uTOD&8?GvY1 zltiC3T+~yX6@n%BeO3BUL3HZfy;Ntfu>mm+A?cF-#N6 z>>gg~1Gi<4P#+7B8Wf6>(8ZrLeY?)wD!jsth(zS+j>0wpj?ru1Ai;VlW-q zI%0q!H#WS`X-IA0O6a$uD*-9fRXjf?!nDdTEzZ zoa1M?*qY}qGZeZy->YREXDEIlcQ^a^AAp%Z*0VLG?HX8imUN%xHQG8Aa_!SsX;r|u zb!_|PAsKo`m2tl0StkxktxaiE(pN$6G1xA-pG)Qx+8*?Yu`fF+tb;pN`)Wg2GfMIs z6&s@ue3I;MzB!Wh0EVU(bsCzP>Wzc5Y%|LdAwvX^$Z7KdkC1gGsiT(1jc z_Gj0PkALF0|2c#Hhl>u*K@{Y<)SQ5R7T%X*OAgL=QqP~;ht!O+i@`V{)vs`159i$6 z3DE4jds&4nR!5;%aPwNp>HBQc<28dyshroa6`;twjRbqc^ivn&n_9?$Xc-1$1yyCv zZN~bRJ7v`#hSss&fu0_ToYPaSai*AWCnqNy8JU?OPMgW?GsS3hOX)Z^4U9w?>BC#^ zr`*biqR&UY=`50!Z=zrD3kyEK4@I8&f30xj*oE06w?$a7VnHAGXKxm2O!al(0TK`r z5rK#u^fUX$gxN##@ck*5W~mXk339*ehk3}mQBz|W;z@ODE7SZ$f#R#V2ISW7--U?? zgkhGeEA{TR7^tMgW|X29;>SH0qDj4mT94P;7hhA>n2b#n9V2<2jCNqOyFcF*oX`5=u< zax3&o#Eq{APPq4l!EW+pio@pnU2jCc>#-J?Q>RTQ11Yjz9W(}z8?RHHKA_Y6ErRvn zv^eu+g){%s^OyQ=CXTz)yg|XJEZ_8G=*ve&M$%d)UljNV(a<$=uHenV{)brr{L_&E zE=GY>H5*et0j@utiVlpu=1>AIuU_u?`j*g4UWs4BST?c);u}Qp>g^-ICmtS$1ah>$X$4$Y?mb zl8QGnmhO)?f29BOQd@oRR7xfjoBEFp;2(eT_vP-6g;k6f9d7HV2dQ-G?d zAQIEKdF}MnrKSc(gvhLGDcVFB?ARRvpat_VuSsQs$lriPQI)!mKKZjLXEO!ODQ|A? zN^z+Ga^_a-j5dQK#MlDoCGw z*p_1?HUC29cpQ#qQiWz%qk!3pJ_cRdDW<}gW_*s_Pa=@Ked2WYnfZnXnIDh#8!SDd zR7aixP$S=aoH-PHV#O8KQFkBJy_&S1_*tlxIHYkFlWL|(`3JoEe_EK zK#M@(`MlW4&WXs=*+;Vy10_q$nS+?AFW4-ZG6x$7)W|DY!;|;k3r?7SSPxStnFH%sS*wON1D)1L~>T}&db@*g{;m5(?B38Jv+^-0@2Oo>JU`m%FTdPVW zZC1^Xn&y6OY3+s({)e1iqPAuN`QB(Pf4WtpHBH_aSuri`X zeJ@iC39l7ZtHUFqRNP2Pe}g!G$s~dk_{}2gr7sJJ+)o;;m}2j1?^DC*(dj(DL5k(R z$=P|paS_0fNH>eKwD8`jy839HAyum{g?FPvaPcOhCV|W{j$)%?bHTmUi~g;AT&;cE zf>)g2a}O3-|Fe@Wov$Ih@ISb=gdgC!>1mnsp2g ztM@{yIVkT~y3EIf>r&->LPwa0FmTSPav`vrvzQrc9Yq+(Ek(AeuXvKLd_0BE%!{P&OBQ?}dB^A~Up>HL%L=SFd=@P9hS9mx^iSla>`4`LX8aThkiJ+anbf zzn~p8(*Dj~aSs-er(F8Q^s4!(LnKKg&`*`UjjqC^qlf1=XC567ArHG$W*s~mhkmE2 z!%|fI6tP7jDM7|o$L(c#N`8aWLwPePp-o5MylRdN6&Sq5=|Ab_(a9^yQ z3}Vw}S=!%ysR7cGLNLGyY-9^;lCljE#IF?sz)NH$gln=4)kvh z{i0fZZE5gC{%xlG`Sj@C>^nH@W=<#<`GS?TOS8&?)@1b1FtoU5NU4uo?frcFo3`2X z7vpE%La7<=9>ZK*T&PP_<6lJ5Mq2ChkdRK(OtEF8WsKS@lLWaL=;^)c>wG-KOJc0d zM`X7)rcxAlBez?cxV~=9vK*7WV2v zbo8&=8JXU>8j$eAFRx`^$d1cEv9~rmpFHj}2AgWreb0*33%>6*t`3dD>K7N`Q@`q6 zwJbDk4jRJUdCe?BxjlK;4-PnI3mU#o$V~2TA)n?gl_aY~M4cW4xtNFeJeJ0ud?&7^ORSsk(=?`;ZHXZN9EN|&_1&X zeGC`($#{a_=>0~U+2{Q8ecY!L_fI+_(4^aPH;BU_rd=?YBa*SlBCXpPh8)tYG}TXe zLh#bC&it*eNtc$mHdBzx9W2E+o&KU>34fB;;zUXR&8}jT&pR@xu}fK}IZbIomaj`r zmm$b4ALxRIC&PfA(ub6!+@t*8q1vx_QFm!c&d)lY6HHDC-u9!QSLamU)5Uz>_+nJG0HaksUE7 z!(6d}nBYq6{HaLYPf3Ad!~7RdlVo;b@yV>E=`~))+b2^hl9~PcO?W1ZatW$A=so+1 zsAd@cne;~9eiGBR$MS1Keqcq$4g=>YkS|#w{!Q;7Z-Kr4z1e1CBRyyqoh^k~Bimp9 zeKu+^;ZUq3;aO!-My4~y>CK89cTyX46(|i}r`z6bP<)ic%s#br`Nr(6%jmR*um#u4 z>vlSrj|c<8-H;qa64o|Q@Tr|>Vmp%YwS{-&z3IPl^W_ zq!7VTib(@RBanMBWb#fH`s~s9?JlJ4>CS*Qf>qsJFmGNHXt^_w?PJsO_&$ZG6+dH1 z71S&pjWsXa9syU0`McW%1HA#78~g!Go%hWZ!4L`h7G@bs{L1vAzD^jxkT`J5dKiww zRWwhNNI*W6PV*o5zAsqbw{!FlyTRw-kn@U4-|VjjPIBiQ&)_Bj(kt>KqDM(7U z$dQ<0TZrmt-X2op8yTb(-62eT*~G-;nJ!NhopQPTkN;(x#f)FAjetK|!d$7jUkG7R zGW`~a=%uLJ?vTIUB5?&%x%!K+MM7~lf`tqy|>AEA?R#N0C@Z7}J`_ja; z%ZJfN7Lcpje-?@V`F1DZM}y)N$h2YxTu zln{BuK&g$sl$o_o&F32QSn&jH=GkYo_~qaa@1`_v7!mIjLi{qoer7UiBnno+@z{lF z1)z$r&OZjaOvo-*28hlAxve&n)*-PVH$JoxtWH+|v;!9V1~3qG$ls`&B`L*+^1A63 z37a*wa8tM0I%rBf*n7tEjr14RUJM6l9?%)3GvN{`^Yl3$@x9%4;li^B>1W4eVnlNq zGffER;%{a4QPO{UDE^)=8;fNX&2>u=V;My!+tjDv*)BQf6qawxhfEaCjX65-eWA#U z+X-OnVW;|L|L&}?*Y6Xp5|fdxXU-Gk0jyx=Mdvp=vx^HXR|20KC|jU>sk1+_dEw@a z%BTm@m_BuWYf<295S3*&MvF<0Z{tG}zXEIf3VabGIKO)B5Fl0uCc ziE>sV9a^xH)93=>ghEbE=j_HjYU{q8$={HXw&1l2!qgnF=OPpp{5O@ye@u=={425_ zzk_>^^84z(r=~5=;Fs3RXTKz#y?jG;ZMt1Ng1duf;8)osBE`IF%JrmIfo%^vl0KFU z2|%Cw;1d{rxu`%JKLPXiL7<76JGBx)r|bU;HrEKBGvA*-h?A*pXK)88MmfQa7!Vf+ z1$iF?n^(K53o5@i-~@8}M;}ypXeV1WVn0K1K1d@xlz5ljpJS^RGTi;bGg)%LhI~OSin7_V+W6FZwp5V1)oc z1=yFY2en@Z6rY1?1?Y3H#C?;cipeU-^ltsQY$#B!qduMZM*iE7t2Ch#ZBCYwO{YOzFZi9sK*@rUNJQ3gXqrL)NkV&pEjfHqT`T zRTq7md#L+5HO=2rwm*%yVKX(Q?&%XM{p{IFEz#+Ge5Lg+vw^@}DoqX4Mvdcxd5f z=`)AxOt3|?)hzgS3{e@oU7z5CbQxbi<4&5!IHEQ%K3?~jwsl4%?E5Q|<%s((`a*{e z(L7$ftnX`-^zDDV$}~^po(xXbcX6oA8q_g4bQbXnWnh&*Y<1|V;DcvgmMx(l8jCPs zV6ee==WCmK5@tb!!(YC4a;IP*Q4i@LBPIs|0oC;?@7UxXQltjXh^9rp8zPTG&nWKU z6gkMF*gKAU0Sdnl6!O#cqh8^igtPT8ZPGEWqQ_ls=0*G^kg-d*eD^-kF?I=rNTq^DxUu=Eo_@^Q)vFKHs%1u$Qc{OBI+tq{d{`dE^gLc z+9D~~c&G5-3rN-Qd*~)CM@v`d{gd^z0r|rviU@!hM+py= zqN`3GF!a5qoRTDzH^*K7VsYG{J8G)Qu3d__7;(LNcyO8B|GOPU2CXHs+^neR-7#T6 z#JJnaYJNyL_ZhG2880NW>V{C^J%%l#@3)J<;SN}_!ht&2IEVl#8K(El)LzA z8FhM}xu3^3piCRP{5!x>bLCn<2qtkSGS)Yzc;{S^r)+}Rb1U+_&&=uvp_J4iULN@mG3>!}hhUiJLM zZ3geW=eMPdHLoN5`5s$$@T;9EC3j4@lixuv8O2cb5ut=k(lr0{YoqU z7^X$B;wKwQ6Ui%)H@O_d_ICCi9%`UjM}uegPA9*q5`T|vqfmp`rk$!R9saOfdAzSo zJ}-sW&w$at3*!>D?`_N8y+4NoN7lnqZ^6mDpSQf>>}+O>z@$vuuclj}1?0S)&yl7^ z0x1P9cf2jev|`>_Be%K}2U-ut#J()rZRF2~KUhY-eK^FuSv)r~Jt-f*ACdi&Nc?X# z_@Af0eR>AZ%HQx{yeosJElXpCFy{$=4{&yQA4%88p>Jqolhf$~7ZOk zuyb-wW#1}E{go|&l(rHQa z;iz^H0XM|#!`lyUk_L5PV>@)1o0TXzqFd5PBZh$YH4(fK{XET+iU-mSU8B!XAoFvx z=G@l!K$~{^_nR^!3k#{ea`JxtePv8899i?|H9NCIdo(dP|8JL!J_5N0;Nz-!+1Ny4 zO{^H>Hyqb0ln7uZ60t;M8P8{DRz6KSPb0lcm<$cwfzTk(hC}yuKEA)~yQGO&R#p8oeYY=KdQmd8 z<7SSWzj&jLm9|Kp5yt@rD)vJ$X9`k<`|kf{fcQO3`UeAGtNk4=M4Aa#c4beh2+eUg zsJkW{{^^X3MDm;@$S}!v)Af}MUI}rTZSJxzaL4we6VY%8oi(+WdNmDXI}^%mAG4%w z&i`h;3<+hueY?3mPnt`;)Z2oGYUFj_I&gEktP7DiZ!!|T^z%%1*>cVjei_}v7VmKW zkbI13xbdn{VF{Jo+BX8u&@xT5|5oo5XS(;}1DGYPV((RZXZdJ4it}%#_=_TF5qqoXC!oU5< zS>xWh_@OToFRigMvvm|bEzC3Qmi#BOK=6GVMcq=@)kR?k^gcWk7Npzj>y52A%vl?@ z2@<9X3T%f3E$uuQCIKtg_C54`ezTCC#S4GKu5#6_r_01-J3?B(1@~64Z##Jx?u`=0 zd!L=D^na{af8Mu8znyA&q zOZ1XXjS^<_yXiL9+da)hkmbfO&s5??yh&A$bNi;ycsiaH@xgEQx4i8u@t@R87moo? z9`~_5G|Vv6gz~Tx!cs@HBe7M~LZK`>Ynvj%l4$>x77?$UAz-^-eP4)dD&p2@+3SN> zeRZ~LDJFty;AxV!^Qm6ERVNvmz$>xzKEg%tFi^~0{O5H}S?v`!#Ujdr)L zw{nCO=;^XDGOE2fnu&yWi)z_9mZ&!}(mH){?8mDaTZ9HY||7(*?;ip z0M#(6*=uhkV<+$Au@UUasl?#g^gh8OCStyw_OwAPdM zL5kcHo1P(j2uuTnm32hl`beX$;lt~uk*h+vLF?Gc%sZRz zrBK%)`)~BGn3lAZ6ftYNB*I;_-8SDID1kUYPBNEN{&%MX7emgSI4>yPW>Y(AkO!s64o>n{HwlU$0~n>1aA|UcCeF(+$K1q_x;mtay#ps_8-4 z8Wt81<)O2yE{*lZr%mTKzS}A$#g9k)riv?tj=$dOd-TS9Mc1z@(K#Kc=P#F^-e&V{ zl0}9N(Vh7(+=;g$hw8DnV(WC4(-LIfdIJucl-pP4(v?p?-c*9Y^2oHMJIynw#s)yw zdwXA=EK=z2>@C_n6B2A}!NIA0!hbFVfonCZ%y*{A_Lgu9K{9vnPnU7sUFP3%x|kc? zFeA)E%@)^7!cb0YGUwl>{-d$K?`-6)Z}Jh@&6KBqx%a|7CP2xdZnJKdHeO}q36Gic z2$L<%)Y|d)TYqI|q=S!g8!}mix+M;ZjBTXFG$htGBRE9nA9!%#S8w)wdW8}^>Tn+P zXa4h_H~+s~e|AVt*=7)Bs9$>&F3assFPdwF62DH3_whi}x|(ZfgSpz0Ba#kq`ZPW^ zHMh5q0T{z)6%M8@?mGRtQ#^LtO}P$=fEE8lDj7PVlDT1#S4-80Q}hhA0+rGMOtYEx z8S98sdr*zmiK#Eu3=RvV`UN0^J6TJ^FCPFxFCj*GBfx{L7WPH%o4v2dv=~<-3W0l5 z7VX`Jo7xJj@`0ZtG1R-$HGbdkZeMQA>qO7rZ#v6`79(4;BJ6I&(6Zj=zyP0mi@qxl zkNo4;LW}Nwc~$~$HOvmJ`xvw&jiboP6&T@iCdFnLW#sRu!QWcg+abztO77lB$+qDy zo7yvzNVw)ny~!jE(r(^*)3(ZN>wfw#che$|1@xf!^XIP`aZ5F<1e6Ujd|fyAA&;odmm|idnofBdcHyc>!qZ`5b0;?!0i$|13V;|{ z;rVYVKL3ffd$OTRK=c6zJuVn!HhWEKdv+g2_O|0P5h;WmnqXzLo+r@yld{G|d@4TG zu^LRh^U@wo!hk7A)$VM}GN<4h6N4?S9r@)8wUbpMt(aswW9x+tZXlz%XH|`)i^v!= z$Rl-8w4FG^NaQoUn>xP)occwvOlgT}_%&UpVZ`bLv1hbj3 zGRZu<01OfAo_A_*sbk-mInXYI-yoGWKD<++2qnog5z;4=Uqm1h(pt;< z<^k#5OY55&s9g^PK^XM$En<~+p_Z5R$N6EI_^13~+0Re#QRIT9if0fpNxASVP_m}}e zp17WSD_3*I&(VJn`~MtrdW91lMxMowH!@FY!Ec~pWU(}Dp=PruV@?4hIy@O+)|fGQ z)3mp5D)v^J;bc7oF_KEL<=O?EzM;O&xgQq6h2EqwpE#09jBVH|1YQ>liU&CP=<&pg zBoC#LW|VQ$aKd9xPBa@gcIWq+X$ysp?;d#8hjKm0HtXJLi*ZqIt920krcmYepRK+e zkxF2D?O-^+!reEW9P^@b@`vfg+i3rw@$#rxb$7nb`OYX@R-A>SbAd%h6UKn>MlSs< z0nBwx60hB}v>cT$qelxq_h#?QrTI{mMcz!5nR5i8 z;Um&F58n*<)N%kDzPxGKDXlATrDyL1WSBQ5<&-|qjGU9_7pSKGP8D6=m+aPp#z%qn zcE41BuUF!djgEOM>FA7Rkpro9quF4gz<-{%$tnA_-af}!9G+MCbo-2E_tM07NV)9A zcH({oZA7$eo3Qizw_|*wPc{3}BgvH=T0#l!h2fVIoQKu!Eq{H@OFLkWTW{HzKnD?G z=#-yG<~yIG`@F&Q^-Bwpl)Xd51;nfL2U)!**gx%Lki+|Mjmn0r4G$|E$S>{Ng_@uZ*Zd)Maw4W6&&dVDq}CHRqpj3XDcg zS-vfNd(m|R7g1iW@H{#HM4zSrDVVkG-APGPHL4vKTdb+DO0KBTe$y@wz%Rbk6J5Gg_$cwaTrw?$pi@u$D<^g-+(ylcI>hWO%z) z0LAEtiIGo*#rcOCFl!`Dqqd=kM>3KjcR>J6RAfF6aCm@z)R+b+A^Cg#(g1@ZtA%a! zHs*^oS=X!dQrr-_VPdbZ$tO$UjvOWg+4#n=18q7Z96G<7I;z#{YovSIxL}hGv-S%f z>>41h%W$LiqoodGLE) z;&&C(|DOn+o`IT=^dGTnP7h$TwmR{rM@7xt$Y%(vZD8|QY-5j%j8Z6@8uQ zr-$c37F1ew$mxSm6e)M53?v(qScGvjwTwe=7*)YQ)U-_8w*2ub$E`oHgJz4uv2bv# z1_xO(Js-`#_E{FZrv8^6+JDUc|9Jf2fv*iEc(OwR`ZPKi6`uAAcm3xOyIb1_6OI@% zh95aF7*{Rl_@W6~YP8imUIDzJUL|?^=ol*-cS$`1NvoFjjy6YECE_V*eb+mH89ZZ+ z(ZHlSJ{CcvX+3@doJx~4<%jyGE%cjjep)l%T@9t!U;ZVkWRlA%xzi!x$;KQI1mC@P z)dld*RJU7N_U2-iMDu359AU{-MIxhDY}BQl?F2#9 zo+q3JVb-EpfUxFf!C8x(%~0cCjo{sei&0n#ka4$khQbu$Krc}C%Yc;RMkPBpx3YeS z2$#gYviwW};8O$8WEe_9xK?92ne=%cpjqT&bFc>O=i+Fh~q!&=IwLMx4Jw#NNG!;_> zQy`v)7w^qzrj$k(dQLa%-$C15V=s~jZI}`{W_gr3^qpeb-r;DMa(F02s?B!T9NRN- zz#)ya_s5jl@^2+BV^)kKZeCG1C^tPs=mKU2MARqaW`wJ)Ara$=HV!-zmmDLNFX>{B zHk`&0WQKeaG>N6#;C z#KBJoRYm?_HfkTTBqkaeZxOG?YS|Hi(XK-}iL$-^jF(C-Y>(cKp-O|o)f2072GPdd zbkxnQtRr+LU)Ni6rxFsJD!wgjND-RGlB14Q@1Zh7-g$or^)nfkGHFpVcl1fKPH^Dz zeQa6r#+AA9w#Fm|M>i+Ll#@e7Xp{e3hECqoTH5kkFa(dNCCMJEktv~nBQJN*P@qTi zpPSgz5OzZ@37;^jy5xMfJtLlQ9bWSsFGBo=KD+-Ca!M>FHgs)wiCh`J^`GCpGnd;Q zkXye*8gax!CT^M9S}t^y1PhCuxr6fxx71Ac%Oa0S%+vD<2Uo9lus(d= zYIJw0+u%MkD|VsGqou0qI|4BBL_Y)7Lp72u;DFcOb+fh+Dn!596iYYV0fSJ^Tx7S7 zRss?(oKv4@IJK_xXua!)r52G!3eZ?Crx*}r`$9jJV0OHwlS^>1Eb|=%__ieFd2-Az zzvrif1NJ8Mj+Y58x8k<7lfY3?Ag0Pbl-ncGs#fb{IDoySgUndnz#R~WB_7umTJ}}n7=Bg>Thc=Ci-j!!lci7HuoT? zaX3{-fj+lHM?u;$D}ukqENSlP#%SPsE<4w=)0qQf!;Z}_eL4(QdFUfO45M4BU=F8p z8!Z#y38f$-9$j12gg^W$_{*+dm~S60RbCtcm_$0^(_HW#x+BB) zI%FAh)qJaC>taoe>0~!e{Ck7F!>h6%!wm#VNvm|2D>-(Tq7#l%}tp z2W!}uD38Faw}FE%T3?`4v4(uSDIdqAOZ+aIFE&(g-O26#sqNG(-4PzuDb5)Cz5CHQ z@iSRcVG4~D77m)WB@z`$zT+P%V;03vj!t(67`cU>N~~YynovG#cH3-Zc^&cGDTsYB zxlcjY-rmG5^fYCfJoc9;^9<7q(Vm3s65e)qg`z<#kSM{sch8h-1XB!6d!sxtPP&P@ zy@M!LwjUqAhnLh2zVAB?%ljJ4+|en1aGnwXnyhf8I9Z82bTk`~Yoy(U)9V(940=!; zP44%3n4F*{?wf%5v~4(2hfnTf#L~Hw=R;lnI*ee9ba9mQQhAWXJE2vgP}pls3QF^Q zjG7!SBb$gRkf@Nhi26Vd$+Cg$@&k2l$BHP3=4gK) zM|!z&bw4)Ry|a-k6KfqSUyK-h?OO&I&aIF@V@%PI(mVR^lq zGvstvlV#wmB z1Y%wxb@eQnB&6@3@!!CUi3n!i1tWjIL%cVJO~#R;1j3>c)d-mr1|wjuUR=zV|AZ?#k?=Yxsm z2KcK;>O?ifnt2cjWyAvwX~Pk;wOHlk1F<46vjne$I=s(m=* zkIYW?r&?q$QTMAq*KA;#lmoEw^L01v_k1|=!v$1AH_(k4;SrlX4jdw^1@nc+Y{7jq z+qF{SpX6f6k25?imP}_QB|{y8=*+tnZK8%p*}wE*ObB`kVu7+GfgWCVi(QDwbG0Xf zs$=i$DN8lTW(2*`fD~-5S-4Sc7>Cr}42rD=_L_lGUOglSHu&IwV%YE3?ih$l@XO+- zX|e?x{MG0hsGnJ_)l&Q3$HY#%%94X^3+TC^*J|UMX<#)Ph3-%`y%3M*4XiTsI;qa= zgH^FjO=}0Yz12+C4P;~Os(#4ox)Kx2#`pH)!*7_5pw(m@lJN1inivLNP;Mu*xhN%a zA%ZpwLZA@SV(Wmz{B4kzB4TuGLj@7`-^$m2J@IWcGP1lZm(u(YjhM>vaAO?o6^4gCyZ$;?? zWLMRiIk%MQ8W9xP*gnWOfI$u^)K{c5lyvZB8r!Q>4W+B41%x^2^#pG2@XK?=Fog{7 z%m4ZW|L4_`&{Oe~DbgjSa#^6w#tG4_&aEt>D%h= zpr*>aJ6Rv7Vg{Dxa_y-MGcp|>(ueg(Hb3=HK+dpefgIi>aIUill4ZlVoVl||YGJKW*sX=byl3b?lFBB%~u9ULBxZ)|{annrl)9i8t> zHJytHnSgi}@~j=<6EX97#sFQBE=)fYH&zzMb|X`W!)?3Ty_D3>n9efh&U->(;)bB~ zEc}%dS@?CpcV6+z$&uVdscw5h5Egz`Ns8r*;BO^z?x(0=NsDeIuxRJZLr5ruOI*p+ z-8$Y4+B{mvWXTh(JfKZx?or&>7;7i*pW2h2Rh`>7>hiy8H2Cke?dXF%E&h(dxymx; zDa+$S-i{}mvm-9{h{2wruMg|R_txXS=gP%uMYHMAC&7kO+D4V0DYUe2FC?~)9(#RO zlU6oZu47v4^vv}1VZc`|G4r}VX;fKDP`x_Ol{y<-3e7n&Z6O8CU0q$Dh`)URuQv`2 z2etCO1 z{yO-*Z}kqw62rew z+~?i7#a-U!@2RH_CipuvjochB~_y&eavn70F(D5H2YznE%Je2C`NalV=^-~$Ui-?Y4IhwSUo5BNA1x%C)YNNGRAiv8D zgO&0*o`YUBkx!V`7Vm*y(w1;~ml}8<;xP5pR~uF(0e$wQ@7Z zYY+2t5>3<*a<6)P3jhN9r}k{PyeveUY0Hswo5{*;grKRiF<7xPhCr``tmcy=A3BHeSb*OwHG`1tdV2)E)+1p=EjL5u0V2aG{VL z1Xp=cH!-`3wJQfEAP~4uHU+>6&*8gDt%!mzPjc67^1Zbic*l@5fZerYnKhxRxw6@A z<72qYTQl7dnU!>iW|DMTk&n}?0W7f3^R6wpFat9Xm!-SP9x$ZDMcA>6Xc?V$MQ~{typB6YT$Yd057NE zmTp9FGL&^xOxfpp2M?)7X$2+Ro<}Yv0>&SeY?D2WVrOA1z|sJ&;AA=Nu?8}HJ^;?_ z$rISf+NKW405fb!nd)k}~ zpsT`G_&d$vDk2Q9ilsNuk<9T>SOtrn0UkA z3Lpe{a+@S-4s)&_7x>#v2tcB0C5Be34rzr#)$6ag`pp z%o+x*JP?4A$!iDe_l6)9^JI1OgWDf%6kCQ zPogAzJJM}r)?WF4B|^SF8qzoT=8qtVmQbcewn&%71{&ir(Y2!(-_zp3*q7$m+OP{& z@5|5B47dt-SQ}VR`sS9{41G9vSX+|tci*}UZ6qX1SVI%+{mh{&HZT`x_TIbG`kzZ^ zaW0^vMjnTI+JTGYEg2hC8Gm1+SJ%DFLK_|kPz%H->)uq+v5eG19&xt#F4lq)uGQDE z+Zv|TVhf_AMts$3^)p%5RS&+GC1KR5R!kW^%qtRo;F+smAsKI7kP_;3nKU)<55TLj z)7*Oien%!%x2X)Su(?)E} z*tk>GTrYhPDO`l*u~Um`u}GEfmOE}n`>s6MJyy2_9|ezX8%_fG zhvf}+Z1sZ&k&A^lL#kqGS}lFcxsPTy|3r8@NTfIWE{XL7$^Va?8u? zQ;|qoPT;gbkE0Odq5y%-q`y%vhs~xq?coH{meRXC%*SC_jIM3$)qQFoGeAm0n}m1; zr~oUmLXtGs9G+h}{k8zpr?@9h$gX2A_AJ{evb;dcz<`!#5Wx4fnEzt@yiFCv2R6?; z`pp+_TcI(D%^fu_FO0qn?Zj7kR|EY*qiF3c%M-|lWS(#WkYb398^D79eo$x(+Wid% zJUdhN@sZnh0hZ2bW#$gLk<^C=4>#S?=Rgl;9?(oPP#v!pg0fN}Yx1A8f+z6`W?(OA z8N-Mim{JGZfRt$$+7MhhLi9&wyfPo8YH&C(X=@L+RW(wujBPO#@te*~tMIsqC9HR+ zBc{{R;w2z_^e+`OmZuspW(71D1gaVvdB22YgxOu-2VTir5t&hv)T0Yzi?G_z<;7ZBJ(M<+Ozjf?95nGt$ z1(z#L7%!*TSXlvzq2_%+dX{EmCg9O_Y>Gce^S=!BA;ry5Z{81%PJ#A~u|fP6C2&Cky+Ia_jFua9E3^V;g`lb4FZYN4f# z9`yJ+-puJH+PZ6Ky4_?T^mEGxs@hu_0NJ$bVfH)qGb zx%BWJ$p2&Pt)tpn*R}6eTTp0`Vg(AcxI=NLrAR4W+>5)r7bwLwSkNNHU5lng8{9nv zcL)S0gnV=D{hodH+UGs*`1%hCjAmqv`OIhD&wXFl?-CTWc<$w#K%icv$_G{!=w4`+ zK)-Lu3F5e{fcVj0=-0ssYDz!5jALO@(u~nTI$~ei#$Gd%q7iPwsVk@cpEKF29kaGhwFWBP3Z*`kDlQ z+FA0nIHrSsIRUx)Y%{WISIl zGIRyTZD+jnWVcy))NEJ!yHx$K?oHJi^+*cfUARU((ckPL(n>BaiT~c8&wc{dHiCU19BOgTHPhEap7h3@ArK=@^$uA6|Fu1d2&Rj_NpFd9OvZLd-w-#Gkw5@_SU@ z%8)^+_C_d;bzNcY4iGr2pX^rKvS@wOlkR~y8R*T?ncseJka5dl6?RaH#F2kCJP#kS zw|u2_?tSAnx;WgOF#VXYe%V(Mp{_i?zt?vE0_3HlozXmJ$55ZfaTBnp@35h zh3ODC^kf#xt)KNbuUcIBqW|_PRSeeh}rb(-~Qf z-@!KmchEuYyLY6^4j3-ea}ZH(R@-q9m>N`LJaQ)~Y*%U(_cAu?Jq1iw0(ZNY_t48I zr%Z!YBX#_+@{~$seD2ymX0YO){kW46|ET_)8v&%x%`qk{il`U6;r z?sYlH#Vobp+^ez)9ZlhH_khM$$wL$NtR)EEqvTC@!wA5zWI+C;I~1!bC3BSE$5B1( zNta_`iL$(p=renuyr;)yjxHnAtkNj%y3H4epz`|Wp+ZI)L-n&b2Jl3FsH6_V5-9`Z zLV8Xqho^%^8W$ScZ7RxE^Z_L=^d?hwu9V(|S635JbqIri(PPNr(_*Ud$zfHo>&?|# zbBB4o0tQ_numc`kN1rsjzj(o+(S}2dTX%o<&$~nPHZn7NlntxRSP`hBi#s~F+!qcV z^2M8=b3JR&wilf&7Z)N#Gq6UAHqkvRpbMd{9Zt({%u$$?hoQ`tOBCa!-$#2gRVo(w z03qyNNF`E1Zf89bYrki5A)e1?c8|a5N-p-*eDEkyh6%i*Hcv>DBgCfl%13$?G zH2wQY-RoEkI?Tn};;fNPJSZ(bVI5{*-q8!v{PDCNXubtBl{y%?vnLI$<}#nwy6OXk z$0=>ob&fxho*h8A8{77p=l92Fcj4pHUCO$Hj~}_;eho{Fhq5NNS41V#YGoA&Q~4MA)b26qIRw$CX6%;{;Y!xPy#b($+{$R zFOFO(WbhRAr`l$*y->RDcrE`ZWgL7O#n_Lo=+VJy0o zQxUJcXhu~&hJ*yw7J^YhVr2jNy8rJNaCr(|UTJ%&7;EH8A3!+=@HlWtkp%fKbAcB{ zAR}X|)W!Yt25X)+!*TNq003a*q0|}~)pk%Ib zh}4IhmY1ps3O$w92L2Q5tC~W8HD`0rUJU@01zX1gK3-D?3!{F3PGYUEq+{WYcg&X;u!Q}h(H z(anH4fAPQ)X2=1q7yz1mR0X4ydko>vhmGYhvo>jCAp=J(M6>~_GEdlI4n)h>I)TQo zD50_^1)@x1@Qv!cuzdA8J1aGxR<2{eZ+i

  1. 9Pz=-~SDD^XjjU3$LzP!ksiTdXzU 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 z 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%0Af>Eo>~)gs(r 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𑕩$2;o;*74LSL<)-)>rY6wS@?jx8-qAz;@v+N;S5 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 z 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

    C(?%#&Mo_Z8K{U@@F#LPP}>0 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ⅇ3TzVB6i%AUN|AnE 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

    l21F4SJ3f_Nf1dT5XTX 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

    +ALTe<*v)sJ6OxZL~mv;uI(pZz&WgTHGnc-KA(L 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 U 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ᴯHNeG0!k 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

    !#tn5ts!cJmg^MF@UFaowV42WhA?+&46nrAJ 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 z zlw+rZ{819slM}-*i*V0#a)FvereYn21*3Aw`jT+Ys@0S-# z8yF00eW1sYO_ckq(Hec2gI?Yauk8IFvVWXl_+D9V=@o1U53>*GPN(%h+iP|MVTU-l*}d)3K9Lr_ z_FOur4fvU!Xe+7p+;MxhY(p&RoqaATdQmMXK+0sNj;6M3*!?XF$3uZA{>aB-El1*r zJb9MIS7$(|Y8ekC`f#%fG^DnELmKSzRcydEJiV+7I+;Us`L&mYjuSPaM}iwo;sGH8 zZ@!`Oa@s!aop#E@SO4^F7BeWzJGU1v2yOafx$5iN{VzQ8U{GiwL6s1YLEM@xjUHNs zv3mfg;fj)s?Y&i zR%EyAdy1`CzdWwPN6>|p3|jz=!RkGiTvcuO1`v~c1R$8 zzW)FGWz%QMqM_#)ywbQphX;~&9foSeL>x)dJf6r5$P`mz4EBw6()6?54!!2NYHg^C zMu6}6hXMvix4zc-#}8Tzth7OZYrfI5a;IX$o6A#-+Y_3t_uiS}wS4JqZMI-IdTeXC zvA;Xu(vc(?M{#taF!Ply09*i2PSUBD{_ad3bH5~1Il5FDnfGcR7dEzFBVcn44yX6)(rN1E5gIA{)Lq>ApR~sskw^_z0 z{DPEcsA_6KA#wYgk>2Vj_xIk47|HDqOjm>sjz3Dy-xmJdUnuxdkx>0a0%z=~)xzHw zB)0MtVfhI-*qNh;h0$b#`Sv2uM6!|Jq{W)56{iMK`EPwjyeWc}2eWfF^$qNZlWTv~&SjTOe%;0erD7(1p3oiMEB@ya{P`yvJ5TPPb!xFt z<5qTDJo9^xdxhN3+ds%#HXUU0y>lp>M#*|$JeA@ca6ls$Vg;`MpNHrrks!cF?5wR) zd@>Q`o#cUaD0L(1#IANbb6<0WS^*7~TJ?&zx=s)yA5aSAWNNo}%P$3w#Z4vjkXxKh zyh_CP!)Q|z6I7gR6{55>FAER)@83{6S&mt0Q+0lIA1~`sTaBzIl7(8$GP*xM5C|)?x=#a^oH;^!^L1!Co#71TlElNS+qcNQ<_D*!y1${vp9?-juYfsk+z2f>yhApg zzZoK@YWtPPkdHXtI6hf1N<`gGYo}Cn3&8N|T*E4!PBcAtrxzDsz|~RN=A3OChrWs^ig=qx|uz+thoW(1&RGtxZ!$>AydC?Ke{a z1z4LEVN~%i)YXnS;cT6SiHR>UQaG)zb0|MyIj8~YrG*J+A6Nqe3#v7H-$)`(^TJ;9_l$NZnV1kyUmGs>d&m-TigM|5;|FZ;lFUSv2^$EbfG2Rxa2_f60R2-HkFrDVJVW3(ptItE!j^(~`<)9(%BDjjjM#}4vk@VmRQh;IF!T4sjJP+{#9Iv`4s$%cYL z1!jgmH~ayM3>-{loPekSN~;A+(ajvf|PX!SvmdD#;yfc%}n5lcU-7gj%Zpn>fn#M)%wE zE;nuNS-#YyeUStkkjLMhQBtzqIO2p(3<4bO{-6vZ7nj`=i(IEiB7cOc956FEIls?% zxY~5T#`DY%w1nN_I3R*nV2l**I%-khaQMPrFcrO9-XrYYuKN~xx4a4vBVOY4&^7_5 z5@h66ZNfuQ_(L%H0gMX95(w*6l}N9yGQ%!84$QbCx;nuP`mT1(LYj`W0Zt}fiY9|NZYqnttw~HD5BIz%2&h+e%?QCFtX$qD7*! z(vo@N`ykPQi3^j;Lb)2zI_U33FW|SE(~|KTqUwXWX{nasFTY`2n@|f$!1-1ZuW^y8 zvsy!UQA)+hV1Xi~YH#W!hEJ+?SDIGH6!+sfU)Mwb`nlnH0ZMIcE!5J_G>%jvJJ=?O z)As9I|9)ZNFITw?oR`E`a;6U@&1!(OdruzcTy(8G%;+*;7!%Ye;FGg-^Z^pPvr4v5hipdPr`qKc`PCp{xcJ(a=}yR$Hq?5?Ac;E26o4S% zRr%HP^eU(NTmkB^wF)~;+gKO%@)~9~Yp%HUoWZeTkTJAvM4$j<0Z3kH${>1kNd78Y zttLPSnLosaRLCDCcGiQLbb%naMSV?Zci@z6Nrm0I>-VkpDTX$)kv>@#}&ir>9^?}fm%52y%@9ZarDV>-&_ zDsxY@Jmx$-zD*mr{tZms_3o?BnL)*GAq8UC95 zd&0iCD=p(?@qv<&S-vi||3zUkqQ|UInJn2X{B)81n%|~`qmu$FSXsIZ9h`bML;kWx zEmR@oev0uJM-`AF)?dtpK&&dQTVh{?)YZ`jIfC|bHq9l_xXADf4%mpn(z<`ck7{bS zi?yK#mE)Di3)Cetzs+R^JuHQQVp~MB8Tl*wH zHSX5_dpG`1$x3fP(q?QkWk5pu^1tvauqP0`#;1;B|hf{{U}BqK$uwdv8NajvIQ z$InV3v{Ib#W7;PVc00$GTlYROREHH?pJ)B*=-gkJ{{H=YpY#6)N)qDKM=bUu@;zfx zpJtWi=NP#g#=DFXv6hLwk!P}ij37cm@z&!7k9?Il%hI6Yxa30phrrA9)Jr&NeBAly zLo}k+T~t9$e3XbU&JS>YbK*t@c_tabZFaD)F9uXJ86ZomE{>MxxF*pJDv(iP$;?l7 zVe3pq32Bq)QrUZ0!>a(yd!wm6P#8deTFr>l2;sNM__FJycALyYc&0K{q`VAH?xz*`D~(9}o49$jJvzo+>u!4Hn@})`KQ2$?OOQ z+xqf%-i)snUsf=Ysd6!O5C9@}`HXIJDvC97uDYe z(^S}kej;YfO-$$?c$(F!`0!s=H^RX!hCB>w@fo!>lLd#e-Tkt}3At}*>mr}N$~lls zB3zMeRqVN_3-lo6FgCn+No9KoQkNWbz+AcZgJbG2R*7d-cAx&inJ*&EjPVMSkZ{*4 zO?>opp3`!BjqzT!&jq}>P1c~s6NkDFjn$4R`LhyWagdCIO+Kt}b}SD$g(o8VVa(V? z8Y!u^NtORq%I|WMOy`GaFV;O>pI_B@xYk~iUmfU0T=YMGxgFuv{~~@p(h12Hl?}dO z@-QkVX2H3?$A^;KH)BLP%Ir@(o+kfNYKI+`;eu=t6d)7*C9aN%+C z>bHw)^PZVI=f^Ks!jle!2+sseRQJbW);z=E3zOG__d8GzB~hNs;XyF`6P$N$@me^? zzuHqJK=rxMk9sFQ+m+S(&SwlInpGF3E-}l8?tx# z$<+kv7f)TVz2tn=WQ<<{$Ov|tHJR)_Tn4(%O~Bc@(OZTR4leWZRzf7*TOTO3oA%3b(CT=E$K%2M&8TQ(++pbJ7f2B*9#4}eKLl-6W(@u|NA)q z`>Q%!5P*M8qj(|K02sD*31{f68)Kwi6i+qzgrQzgQjTn_kX{L9Um9o0k~Gph(5PMuYk?Lr+2OcH|P1(8X|oTCVg~|WV~T4 zsOBa@>phO@qMgI@F+Zw<&x35y(Edh1_&~%aww4=%Q(w_sY%8E~JUxvyK&!fdNaBGw zdMGQNIR)T@X83Tn-P9g#18sv4&w{$C_b^q%hfZI<)RrY`l0v$_);$()2?HGoQ1k5; z=YJxu18KIsyByyfDIO^VW1fPRRlACwtxW~ku={=zwmsg}R^&a5c3m`CuHWW26nTC? zJ#oi~iQ=Zd_L-XVv5F^LPdjnvrJ_F2D!0+6Ym1=_fJ7oDZroDLd=z{587f`xc0hvf z9rq2MsTQ+z=sno{JSUST=gxP#o&~51JH|hxcfy2>)-QhDb#`TKXY3+v2+YIc77QM> zk_`se{U?_zL$mdgAB*b%oBOs?6GoCq*31XWg5uBU<-%RPC}9oxpOWx_3y~ISt=sKp zAgLys*bTZV&ek&5e2&G*Onr|uDF4}XHt^fjxA^+n%d6#y7;uwVBxmKOMTaSr+n&g7 z3SJmS+TbxdIW1SN+bzo9;5O3M(72wf)`j(;?v4{Ev7D)x@d*!4>l<&=Z9Xa~W;<-c z0CFlL+z|1GO1!%_7AxfA@lOME!z4iQcv!xr-*wG^;0BoEwX>ruz{gyfYW*{j;kqBLux-{AsfF zF)44`;!QSwf-&cleXx{k`pP`y!&G9$NHqsO46RQuKnqGDr!u{K$3Ig27>2& zTKCwCcC8BN)}J%8xj&oeJMO>EU6j8WqC7P#^Urhe>x-N3L`gRaM+e?xi`S9<_1ZI; zMn|_0b4=99{a3%pSP$8h=NY`)F1npj*vAr~fM~~l zoFNDJP8S%6@OeX`6~e3SX>T3)qO)J|OQ z!c=m&JbN(sYt&H@Q)MftN%eWGdaq*ROEHC7dUvFqID!YDv9@y9^ji49+x#4M9q5vr z4n`+kUJ&|W7JqiwB&nTz4mByjb(XaWqxN6EELtAm0xu=d5PCj!oj>)*UYal zw)UDAc^Htug6w4L<@0;x{;(J04Zlr|l)@G;L=OPfodl-HgY4UdTE6%4hUe zce+d*p2LhKfBDhPH3(o(22?OYH@fNfLw*IdTh4U(>T7K)d06<|Aglm%WqkeN$a!Bh zZ3$=&bF+@lJwiW{MQl#r0GsdmnS`Z_g`wsR0>ba=%DQ^M5NrO443K#vb2nci5nX4) z@HH`XM{3OnT5m7uH*PZ%-B>ZzVCTk2iKZDL&i@M~nz(b)U-q+1*xVQf&6TWha zgZJ5=%VIc^$3$Bzh#tXdD`S=tmZ(pW!9z9+9vRtlG`+Vf$BtQ&IIQa1d5zg~y*}@M zU!!7|7lt`)mTau1`vzRPI_UtNz#t-Rwy54iHb$}KJYL}+YPPHJMO@wpKE2h?Ryj54 zbL)2>VY9jyI2KXf>IuszJm-%Vb55z{*wz`7YG-dkeDjf0mgevXNA>EbX&Tgkh;Ppm zDNC)zhxbS{z3lRDmBEc;j|(db3g4nWvGng#wb$22BdZHGg1~)!> zP1CU~4bfkJv}0pwqci~lIUB`Y5;EL&{{eC?h`cf;T)+8)t)mC;5y;gRd|J& zowUgHJ_IRFM8JBQP+ecl>FSe~aGl7J6&53-U)f3uZ_SpWGzS4khq?Mmi%l<7Nkjtp ztt2=L#B^S27|hSPUS*P2B3#{koUQQ!OSnWsE#kx2B?As>BLuUoE z5Gj)alUwayc%OgygLu&F+zguVl<`S*;>&49iMET6-^2)dSO2%VZ;9u*`OQ%8$?5_C z09lyIW8z(yIXx@#;xnpuIL$Zt!wSwD>|(#6<_`Y}5}PN`02YIic|f$7&_lD>=aFWx zbgdhKjxRu0KNL{W<_%80)QcI~oWREM-#7ZBTK-wj=q>SUw!g*XXoic)E2QhE@tSCt z>8v+Z1alkX;SssgdQhx`l7%6d7&unzSQz>&U&(O=Jn8+rBqgVTxNmA&nlI(lfXe>h z3Qv6i9<1KJ@&=W1<qO#VK<_?78DNaQ`BzQ*k#&MX zdB5`Quih<0_2lQ5T-^e6SNLXpveF!%8T?>N=3C}_7t6Z?CUr{UjkQh3z=tKRS1 z8hI^baIw5=T(sw2%By2$*Re__Tt_<_Uhr72(ck9FTho0sQ@@Z=?`Vz->IZD_vZ|#1 zNQ3(Pk`mKb!gBcS%jz2F3})az-0fl17H-?lk;tLm4lg9Y!T>GZLE|)&r*;!SeA2cJ zRvmF7(Ec(>F0h=#GAydnN4+^uH|E;E_L#IxBQ#~eUGa!0kiD^Ld84V^t zt{^o@5_eF?1(#735~32x;-ao{t@HDT>#Nsemu!aQDqdeC_i4<{wmU7&A0~sdK7BCO zkS`|XsW{HcRkBqUXPon(nF~|0>94eVJF9QI*(Vq9fFpGs@ZkaNBPT$g+?KrD7)XxO3O?XDkRoI{Dqgit{6ImlIM^=uTEL>{McO+`pc zCf}&`uU$Fwq^BxU2Ox3d;O?CfcJHrJY=oQW0rqBPUSIM|NP)g#s${H8U6EvP9pOS-P6%I;W?%eJ+3Bo*%J3sZNpJuNeM57tVBKOKL}NX$w)-ZIO82#om2cIm)*gw zlW_~&gc@uhg4<8qL^p;PYf~}{@$R8b=+~DX;>e7{9BSlQ`4J)aXw6km_Rtqfnet5b z5Nl?7X&I&Qnov;|C!WQ?Xu{kkhH->_(@UNA%R^xuLmU^CbcGl+5n@xPWqnp*Hnl0ysUs-d(1~Vxv zbG682*l&Ne=gM5@uMSN(aupZwY%4sG#bd2m+Kb~7`=1WakMKe}x_+Sr>3v4JO7EWH zt9L-q2Uo+}d|B%%i+)4;Tv-113Dc%-H>A2RtWr)47|pg34EZy7Vg5GCz9U8A$G^6O*ce?xPW25W#Xb3B4zbn zLsJ2YyF8EVmclU{U^&PSPE@YNg+d|^XH!#UZ?`Rv*b1_T@YG-Gij|&zd6?BIyCU#Sfjt|fF0pCjpc6EoR!Hw8(=f|qTwD}_OkEZ zWd~lZmnWnBA;u09Dvmx5*mrR4XZHdzcx``Ql*9GW=f||OEv^^^d+!osE zOnomg`j|~KzEd>T0bmv=1wZxm6^fmFDVu|MgLM7d>Yld0LcfH61h^j#&rL5Ge0KYg4HNA@#?s-JYEWP_fdc=y6D zGiULC(O4Zy9*D3xI7>LwxHTnDFwe^>V+N{PY`un?Ldk`rowDf(`Pd{%UAJ=KI7*7- zmt$eR-PnsB zi@Otk{uGW$D2q6J!UXO~$Y-{MQ>zZlVJEZ*x9!TdIF6V}5#@rTp_^h>Ws@Hq)~;^$ zPhY5l7UG!HdO~g-fAe&BRRPDvZx|68?hJVYq_rR6I4}vTYuIvV4>~s$rN{8=JA=cg zk##?rI5d~nuGDmE2c3%Wdl{#38hv^9BrfrL>_oH%_5ADt#zS!?yvdg#K-^bt57v|K z#-AS7E7uwHD8nq&d3tshQBW^nYO}8RwL~|t@7%ru5Qtq2fG)ObcK)@W*S%JWM_x#M zO0XeyEav@7ymg8_mv2$x^hNDOya8_2w7)mUn0k*y{+V&Gb35bU+qt_xBMz)s!OS4i z-)^R_OD$cdyu%AF$+LI z^QljiOYMN=u%?1WhE_jN1KV#4am6l^s;*3tP1(BqaWdS)S*F4@+M~o1;%+=sRKA21 zUdS=vJInR+n-HhIc`RWMVsdgg^?lUU3?h8`OCFlVAHQ2%n4oS_Es;TFmQP?15jj)3 z+aWoD^aH|4btQeV^VU%@)2)%>Fw2mM(}u?J_ni!^2$k@?atgtUU87#h%U$^50To_w zfM6pY0o7M7c2?@Y?Z`XA&p2s1gI#b678L5OUQ=fg;p;nXZePtr3M~vO^%nvNAQ2kM|K|Z`_DeX?9j&|K&Y{wrhjv*n8JZt?G8k)g+%p? zJE0uA7wEEf;5BaEtZRW7xx^LED85)J{6TY7PG7ZIQ8{+Bmk!lP);M+^Cod@%mB{O4 zqVkrK zBK78}fNZ4Hvr55lc8l|XSuhkP4G_#;d`V$L!YBOCCkpty1GXG(rP?Ic?LeCg(|2SO zb6qTwi{l@Q!^8nzB_CV`l(vD9fc0OOGv)MNOo6dk?h5*!gWE>26TFq%&=qD~A1Dv- z)gg0z;K<9$g7-u@eH0Rs;(vF_NbxojX*8*aZX8|8e``FbAP@epo7*$vy4rgjH;eh~ z#Oib$mBj*z0|TQ4@k>~X01$G~2G(?R5?Fp-a|DiDBEgrlPz)*S5LN5%&$I{c|PdKHog`C19c*@*4_zZMo&u`H4|R$Y5-^sD_k^V_oQy1k>1McP+-ebEU?n0!FnU`+-f6&Maxm_BW3taa^5 zWWU|vEZN`R59AHos-5M}IyyS0*Ly)ipe+2PA|a_RxTxrCZ%kletx}(hVjl>ofU8SG ze(ktBcKGCFUdo$4_3Fhr($B8uo?L^3Qe*j2mUl>a@AaSETt)dy#O>p&M9Qu(w0Dn+ z!TqI6ns(_h|e;-brXTg;Pyuoud zR7LD5vZPerU@E`_1-Gy2K+>jtgJB2;(NOwUnEwP&8j=Zf(8B(Px5*_0y}cK}A`L(O zy~Ej?$GkmK%(WpB>0Dquy0!9@0!334k4B~%TV1O08~DI;RM~%&C?a};UsN@j68r>0 z>&RNvF0Q83#p-O`D^2YDE_zlidG1uZSqJlnk4{`-YQ#6SD>F^$spGsV6*Af91km-3 zvS>>|+4GInpT&k03x6FM!jBjS1y}9E=PCRD(^?!Z^ZTv~$K#?PpWEy4G?QTR+iPfw0}|EW!P#i7ALi*9q6 zPT0otnMuW4KMBB-)vhy<66SCG07gdCBd}{>njdB0VIb~xDlIG?$St;}^w>S^vt(v_ z#pDzw$O;u#gtrXEWys!TF@_|9=398Lh>*bJQYu`Rc~fTno_$4z*hJG&?p?QP%$y17 z>%!3QSy4uRAOpXOu-U|!E&GleXp*FUc zbkX+OQ&_LbZc$GW(9$s<)^I!O7%wRH9CT;_&$mSe7!yHA4c52~h2_Po`*?{c*rt7a zjj68OEp7z;EoPis_7ky72tEmhzmZzVngIn1?2hrp)5N#@J=@HN9phs*6@Z*ww7)V0 zoo zkn}f~Aa}VBsw99~uj${oRN=3HBREtz?7*5fygpiu)&wryeWv)@+A?8$w4&F435Qz5 z8T}S|l}HfTT7lsM#y^e6GT{U|>=v%FC2v7(WGS#dms4-GRUO%}P>TED#BI>N`v`wH zS>8=%V8JWHqhi4}=|_-B&jvp~6mc%?eFl4-PN+mIK_cGaPwek4B}bGaU|R2G3s`F* zo1e6{o{Ry-{S`LH0su8O9ek8x|gYm6R5j<_Yw1EDPCjAWt%pfJn zs|_UArT?GWi=QD?G^vI%UQ^8K-C4a?M&sE<$GIUT{qasI@cy^}D9{}HE!K3RrtMJ5W-aQYQx(Cjr~SD# zi{*W7zipR^ZZK4{w0Jv5pt!!&m~S+h#xR_Kr_jlgLeKP^oBoj8YYaB{K6pD>4T7C;NxI{#Gi3Mo3CR1 zwWg)oSx(8hwIDWLVz^QscP}yZ)-X>LLch>81kA(~9Y^#5(Sx@>kuLtw0GZur981b+ z*IU=CT0uV5r#PPM)!ScK`!l{u`5R7QtDOy4A0{0Jj1)_IW#hXZ=MeAwQJh|jvXi8T zuUGzSp!YwEA~4}|`tt!X@Z@_uYU?s^>49#CusR*M;{YD4$OUNP{^%DlD(J^q8+Dh( zbl<8Fh> zZgNY%U++tPg0RY8G}d#cqCZjv{4b+o5H~n@?TOAKSBPI3=GQDgiPZAIjhh^IM)(E> zrT+k=?b)0UUf&u6A2ip-f>Q2f^qi}_Cs|uvF!)b<*)bu>^>-nBDRqFIiNgmRkdWYT zmu=+?k{Fad5<1&SE5_F5(B{ocM(@gjudvH6gIJt>Wc2w-v_zR^Mouf2L<<^9!pyZH zQhyhh7$q|1P6;BjF!ROawc^S-pqdz@Bs>vi@n@NySCPige~y`ZJ#fR#9kh??Z^CFq zp3pY@BJ{2w%>m4;|3AXMI-u#bZ~r{UKt)7FL8Me*NGl*620a)ZBbDy1ks=}jN)1MX zbk`_p5s8t~j4=?{KpHj}4Zp9R<2mPf-uHQb{IT8B!ME=F{?zrkE~43VFdIgQ9M+&4 zchy`!9png_BMgzC6^FHseAhp4&7wjA4%q(tR?mK`K!Pz_s^tg(Ec^c^)?F2+$U6FG z{qEBSBI8)BHJ~uP}`t-PPu?2Csx;hjWKVKobN@?In9~_CzffnR1JVlS5ew(i6 z94{hY9@}uuBl~}3a;*4 z4{(K{;{cWBN_dNZWPH3P-p7}n8ko*4j0+4Wrw`oNFKvwKNe-h{PQRa0_uMD<`3&0s z+=?7$ZjalP#SrEr-(s@EgULvRgMqbiGZODg#6RMCSlw2||1=LzmSq!{?igy^*q(dZh*YA^wR%JYSFyp3J4*_IVzlBuvDT2AvXkiejq^c{GRiZK{*d zynilHUmY4X)yGCnMxFs7e-VsJF)|%g2CAHFMlw>oG1q|KZ83O^R9^(}dGXy#FMqGs zd>Ay_H9}n^xiK=9vx@Pcoz<5OFy_&D2YAjiIo?`8T~HQN<3@)M&X-hL$;roZ7hRt6 zy&#JqQqbn_m*XA;Ot1A(oVf-tF1cY0zbC;R<0gSd?-(FmmtT;>rM2Qvhij4q+%o-f z{AUo$8PY^Q6Ju%u;N9n7C<9S3kLY~1b~tNGdkT~RWw!g!<&1ZS8{$3=q;&s; z`ZMtzX0r>q8+5FCAKur2~%Yhb!GjPBbM8~SYS=Rkem82?EK1sla00I^c zAk?0@D-5`3_ryclj!VI32gm@eSM&|%{o|452hD2jxmnHRkbW|dC1m(yiV0)B8|!^6 zt7lXM@QW8M2`h?ARY%J41JD!j~-y4wJG4?hr)f_nns(-{l^OlTnxXgr)(>U232j2uV;H7Z_%}=oLQ)PVJF{XR( z%vm;?x|WaMO5-Q$T4uWg0;&s6#wNpx0Dh52TAcim4>rw7#&i1%hy4dr(O-*^iw^@X6a9|r`VrLjF4TAIF4byO4G71IG$<1hQ&!-i`fWIE!Ndo+Y!&)k122Y4uVP16EAISpWxxH#1eO$r%Cw?#e4SiGES*U2C(TT+1|RJ3dna^ximH7biNyN zHZ__6Ea!kORqlgsPtg6ks^_I-0B(!?V(B=R#VO$Nfv&kN{lJ`Y`%2$0;GgNsw zKCTeTDeR9@?jvIZniqfSX7^75v5350k$SRXw|cc8xnt>A-@-wdq)3AR(2xb7?;CZC zTwDY_ePw1*qxknqEmsrh$A>q~Pz}mR2Q9!-#RPHY9H_754~#Z*4{ze`&_qpX#|&Z= zY@WV~!Ay4U9C%ytUXt!tklmBFurPg}U?q{t1;)fonP*M6$sG#%9kHIu3)9BmTf03( z6&Jq9`;Er9%5}CobqWRQ!N2l!5sP>R-z6!@E!g{wLk?5>HJ`$Vl~#p+C;%`YqF4Y_ zh!F_j9}<8*ja}JsCywfnbq9mURP=1N0r=rlc(Ay$Ilvcv^$)T?t{qiIpmQ0>NF9>% zMgYXzzDFH-(ExTGK3wWNT+4QH@SaTcHK^!nl3joaAYF4;049;mT6Xx!EYWO?wUBL2 zNVcHi1CB)iUDsIU$mgu+Bb4~(-t~{S&1X?>LT|hV(O_?|Dm%M6WAnX~Q;o z<}-PF7J#WLj!>diz+k$)WTpTo@{Rj~ig@v4dY6H3K-w~;_$fjYs|kAr6q z#>X9+(|W^!^k)emWMN)5-m?kOSV!e$w|5&_Xy0Hyt-p%Lw+oN%oT{rj9(ebeb zQ+STV$PaDjp1H4Pv;6vi+&ap-kG>`5-FPn0k6C-P>M|DKqu*Xv9&);IDp|>mg8OZM z*U+KNK<$6R-2;@wfYCivz27oVd-SxmB+%{wbdPRq4A{GR?mh-f@;W>bq{ewu z>hfB)!a-Hm2RtMudkS*ENWTXt$8|{RDHt*e>-5UM1;|}7E^>emq1utAIOzdUy#XNn z@4ExrPXMO--|%cDZmEN#1^&PeZpx{b_6eBtfLMaQlHfQN2@nVFY);opB6+W~w*kEq z+BQASUaR5OQ-CC##Y#6h#QySjuFo}4o>c(Q5mV1Mk{562nJT261Z3F&VrO}Fdv%>W zQlM1?P;G9cO-Z+muotDZhCNG|6nbAJNqaM`2cM(B{Cx6KMrG%p?UXf~IR1W$?`cs7vOG3FAbb8ErPJd8 zasj~nYXAuU<^ z(}pR0?9yp7ke=L2aM}I+roZg`Vc%2FXA(@8Q_eGqop@yQjwxA0*W0TJmwH}O>EC%+ zOYf61X;7uWzv8u6GjuGA?JMcjr3VCBj9rdEKIKckqzOO2ni=#`^3)^wvSt)hXwuq% z*=cnY`VGpCb&Ydv9wo3=TcxW8t`2r<9@JHjbAkTp_HWGhnHwwT%|_}8DJom08}{tB z_YBUYb>qW^2EWN{@ma^8ECGb(B#Iu>{r!m@r|ZYcUxAK!1Bv`UU6aCNdhzLh_$D+o zwLC@RE9)CkzgFD0&iQ8nf}1F&lR;*h6mfdGhWgv@SOn@8PKKG8J`@9AUyX||6*%_Vs^@cB z$26;<-Nd$m}V2!Se0Jyzjf91vcmO6!52Bb5M5 zP$s|$=K*d2G!VdueFUZQbTsS{Id~oD7>@{wnXgZddeoN#@C2fGbMEoJ#s%NyjoCC2Q6%9tx*|u%Bmgo-MZH>sr~3=C z{1iXWv9)F0(JX1w-8lFZ2yH|m+CQfFJEG7lAoJj0D%Zd?-P%o3( z{g$MlEVPykDQJvpUi$T<|9<}#!b(A1H@}{rnVdJLA6(UtD$izqy*&Bs`m$NK`Dwoc zXlO8#K$srD@AKm`B$yQEHNxrpI|yu}(V-^h_8Zqv%j&5VxP5_PvbqOMtS zQe$&h<9lHrR|GIMD2DeO3A;LNz4k&rjR!tcLx1A@8>QgMmwcv3WWs-+%paq@)JNq~ ziaUnb5D+B~&oHmicrF!o!#M9p$5nT|eLONAV3uek8yRT>QYdBsfL&`i zzXw?wb2Nm{Nh$*LJfhD_mz5R*-2VVOnV#;)<}{1!lasc-nAa>Soo#N?!RqFNH-bTc z=1%=rvp8HWV@q_(cnQnKqnNX-c{^)sZX~r4Wu!UK{XMP@C@VW0Z)dFVW&omR_&R-( z((QW5UDA?e&6J2UZGGTt*27+GjXHqHi3K#k5^HR1=YNM+W**IaIr3b3|8Vj~K&O$M zsl^xOm%S7v8O7xqIzz)dlyfVQ!QK?#fTU(pAL^r~fsp9FcgsD;~c7{!Gm9kTh*K=+eQc_ZXvtRQ>$vzU65^ z@$gr?c#9QcVs&62VUH(?v`8FZDN&$zu1ZHgOn7xOe1P}x;}`5x9|xuv8e0y%hH`#~ zEl>vuqwBGM7>CVg*C|K;3Ne4JCsm$@b)dNB+YubOx!r&^bd|cKl5RXlu2kxG?;*p_ zaVu&f)jhXsB7dMvFALnJaF@7MUsF`XSDRl0ziFo9upro=k@?{5#GyK9eIWNx_SNkK@Y;mN93mtfK}QdgQqwZo4_M7(!f{@NRIr5|M90Li@Nt5_;t%E-R?^hcur zUAAgry`3H)v#|v*`1sH*06nv;M8M-=}pF{B;jTN{M}nMrw_r0j0m{+R8-6=+ z#=Ad5Rc6Ys>u|RE9b)=nIqr9YZUfmtcFyQRpz+L@r(H!$z;h1|J#XVlmIts!SAE5F zs^e{@6TjoteIaWvm#-V?eG725EI=|zEtbTs@~sn)Q|*?+=<5OSDFJBOH$GlJqh{X% zMhWk15W(cCLd;%<-;1vB1$m2z=86_c1tU!pPVBLpn}laSprKPnW5a_wI{CN+{Pyt? zz*z=(arSi?17*Gk`;#AM$0%D-G(g0p95X!ZH?bdMAFnm*%jNez1y{Y<}c73i3^z)k=y z^8)?bym5+!byGiZbpV=_4B(VjILZpxaU3l;_IysCawLi9X59^jT$G zUMVUoJ1pgSG1^w325?7^>z=qfwW5@nQjThcv`1&^Y8RGgxAaP5M~`i^fW`6cuz_2A ze{E%-k8VK>yxR0gRfNgJWUhLBV$iTt{i`R>@_6sYUJc+^p%gB-o=jK>MYaK@teoE-HH1OZnx`@8@~Av;uYMGt(;K&I!r zYReHCW4GM>3eib>DH!SV1Ubv#C_`;U%@w~N9duHkWjlGSSt+ARzzKv_UjGaLWNr&5 zbM^Gpsb2HFoy7Ij3MsJ4l;BqYI1)Oi;sq&IIsqi5n+4hqC@y10(JmS#8>xg1NMl5l|qoG@=;{aX)wL;$c z8%+Camj`NW%&%EH9U4N}XSj#}U4e0Fmc868vokGUP+zgy;z69I;M~W}-#+_4o!MK+ ze$`w_Oj;A4>3e-=*6#Lp$)Udv`Y_ia^zD^a9-9;IFP%D0=2N7N{`fIs;OH{q!}8Si z0PMRk%KrRXtkj=CjlT~4Yv8YOzO5n}a6x&sX{suQlTukk>p;ZeP$1bM;|CNKl2&V+ z{qcN|GBSVv0;8Qau_+}3bUtrx)~)X@qkxqANW7yB5N5U^*LOZu1HRpK(h=Z7;FDse zG*R*rKpPm`zm`R$=w58;sUkB~($N8zS?$=nA08WF4ZsQjTp@?vEH3~ih{7KX`BpOk zu4D5%3tj9{4-G)p_~}P!;wzc4d87o89x#}+KkcoS@*z#RHOP7A?N3=Qud|`+)Bq-^ z``A+{pHoH_g_y>h1c!PgsRg`^QHr?;qJ42M`%%!v4sQ9E(m{`Z<1FuR`)xh2UVqwf ze2uidHa0Z|aaV5Q=bTBL-A?!MdM#&WrseLg;;1sPJ4}Ti*xdAjSeU&IxD6y(R=AXF ze#eXEsM16-(!!9*MV&ow&!=6GOZfJXxmX~v2WZ*e7zxD1tdVYX^36s?G5N8Fx)N6g(oUd}a zq>csyYYJBIXOU*q_e1V37Lm&oVdFSG7n&j|eUN%QmzW`fW4L3-(;d@aX6ug$YIMDM zLt_Og5iO-(bbZh6UfHcd?D6dTT?u~1$O5Tb9m}vZxzWT+fA~^Bu)jK}HA8%}Tr^X6 zP`Vp1!ykz_2`7>t&{!%nNRc<6i5S^!i*8KJFN)oA`)I)RRYk|r?I@C~f92@ioumQ0 zyHP(?th=;%uRGW&-A9SL<%QTlP{LbjB`ga&L!I@^nZ+vi13 z8v3XW3y;TX-!IKOs4P~?W|gnocahP3j6&t3zJ#Zt)4{>wO*#(`iN-Ar^89sNeR!Ac zxWYQN@~8ndXx|^p(jkJlu5zoRXa3~*3U!1IcoIfsAC*M`@zqrFcex>eug%IHnMf7t zQt4;Ke;L9q4`W;qtfp&d``Fd26szG8_vGZ&kdpY-XOoih$(DNl#Z6zlzx$uF#tIcZ zLpVP~Hb_jtU}>{mlq+%MP!1Z`7xn7w8r12iU$+fNKy!;&d!TmLj>{fK&ye@)O^4%J)lsJuu@f8;rgdJzSBBjfUYTdrS1L?Ot3W+~`H;{kRuW?*p# z`DC zJ^{ld&j}gZdgE(7$fK>hh%TnhiI>bL zr!*^2Ah8!ho`d?rh*z%Y8!}71qj#wnJsDm6lv8=yDI2Ao(2K+|_-&r$cS5&?ROu(h ziwFDpmP26FtYi~Gh#ZvNZ;RH4I{t<>P^7s#w78@sT9nR;yH`J_0>N6=k&U_xhQ}}1 zR*3T&M=)&r{$9T{ZvbW#(jQWUt0Y7A+1nFzPThc>0!vzC97sQjl=*?@HkVQj4H&^i zXH9qz1uCj9q5gXU{d}&CzDE6#R)0L=-+nWq+(SPxKHgFoT5`(IQ#m*z`h90-gb0ZE zX(shfJc%Nv$>Hr}Rl@g+lU!`NZ3FpKpn)3+)|(!)1s`f=lmv^|D%V^D(t8F|sHt83 zWx?<3((;yl4lYj8U~R(=A#LKdH=a|QW{fD55V!|v_i zu6sFE)6^bFJ0My2zu&iUv<2%~6D*=i9ZPy-qsE<*3T;CjnQuj8t&&C;q`34Cghr2H`Wg-v_0p;@+NDpM6iQY*8Lj|9}n=u4NEn z(dOFtVzuklaAD?!FmzZk(XOe_(GUFP#&~}OMdjP4)+CQRYGclM{Sc?$DjuU1W0{c7 zVlOELB)_@Mwboxbzx=owzl+^#*xjkBspk?r`7$2-=v7%ks7yEdsSMN6AqUR4CcLQf z6<<#GmupULW0whtrA^v`r3Xe&QeO&sr*L+QwH1B~%|X?Fq)x5MyXZTUG?JvCRJOVxK~#)?Mw=3>YX^^3GoihqXbe?81JvcqRdhhiGBZ_fVeSeGn%cc#_e zMaR22<7Jk!NdJf9@6NoCoy)RmMB-x`e!1@VSG`$^MQ0*qv?GYHZ7gA#wC^ z>*0d=1A?C@Q^fZ6u}6F}re3pCCEOpdZ{o)bFu4D2W=@`EQ*#=Rqchjfndv)y)#M=0 zY?nXpeNm)&M)|l|=;IMOzp$#xeZDZT<@MOB2a_U>+b_nKlTZq9SP>#axr!R z;V~}Vo@BK8#fES*xO&(Zo42veIlHifX?a^yJ^f+HK{4X;P6SDM6{B8GJEb%KLHWN> zQU7)K{u~$?hXtp6xTxcDh>a@Jc@iaDbd%%|8uWye+ zngxu|h+pH5x=7J!$qm~^MU#+7aWs>(zczx6_(gKU=gG9>DZ8}M#3M@yG^_3WnAD25 zm7zyVz#X)4&uppUhU&N4>Ih6K8zG}#BS3#6l;YsAC6maI+1ghC4YO3jZ5`9msZV*M z(cLn!7+*4O_yQS9cUp#E(|_t%?tY$Z-u}Xs;A&3r(gNCf#<)A`dYPHQB@A?Q|01!H z|I^#I+1;hiNfaaWwJ%=Quxfn7yCYxNjo!fQU1_xRk}E9(PhxL2ni|r1+@idvKbh84 zikZB_46#r^B0!ZdFy@Cr3Brj>Na6jh(w_zjw?1!}y1`hS<-mD^6|*-?nQjxx$Ml`v z1)Y|peFnxC(i2XcGfn!!H1cIuL4${PY{WN2FRjrxo|r`ixpD?Z$n0h!1&<5VxN@op zy7wyZ>cQBHK$2pG7bLd^zQ5BZ_iWT|pkwUTODN`{*8U*g#)p@l!CBqc1^N{0eyg@R z#mtC<{_Qb;W1T&etmeT`?N?TF1P*|#gFX}eA$*LH?uI;cm*pn+ILAPU%PT@^Gc51hy8Slf=D^P?%pSk-{E~SQK zq^+(2e~Ua&1Qru=`2MCxVTIXnJcM)7b>F|?S!Ym2#AydQ_{#32Y|ODWu^N5bufibH z1@x@N$y06dxYsVu-=b9Z=P5iF4fPBF`8QN3j7y~~9K~h49Pdl6`TFs($jI*GZbYdb zAfxc1Un|{M`6evY5?$&4=^MF(JKuE^I_MqA)zIAHvtq(1bky|xb zS~D(2E-l$Z$4myc&oh`eS>HVyUG9SMCOk^S@JQ$m>Q$3HUc5xd4o%lnLhR$^xKCJrnC4UfO*$f zvMl~DvrAwLm!XXgz{}U7}!#Wd1}jiw<3`X%KnjXxy)fb)MDFO;v)7+q!!r z7cQT+8;wA33Rc2I;=k9@$iv;mEgOp#`)b_GQARaa$6h!ShV<$6)rYS!q*Alu6$_6{ z^`Lcmeq~0@>>F79jMN!)T#mtEUU@{(?Hz@tC{;xVmfc04|YX};Q$ zo@(U-6=wG`r@+#}bqE3yo;=?_$m7_CXYVjKZe7+(qW?lSsQ3oTQFbl6`avC!m$o%) zHBPYBGV$YtN_&EX|2@|tI3VVdrIea zQW_s<)VnG-0|MAP8!EwNj>;RVU$q;XtcP$D^_V^B%&0I#U@sB3iO~tE&EM;}3?YkdWx5fWQSI9q3 zbQ9Vh2hs?YkLX;;0Qf(PvvN>eN<49Gjiri*98$_jy_y_x6D}4OnnrbZa0yMh-1V#5 zBYZ^~IjG*%Rj$(vy>GJSa?7yH)5VgS?GV2VHo2t6^75-io|erVxN?pNNs)U9Hr^Th zRHQY`*=V3`2p0tB-{0yavp5fYlSv+cc97gA;{djtP3w=BSF)-CNjL}pFf!8K^TuoB0)TSw4Qlli$c^gFEXLye9elJ_x1?8aQWPj84dOQaf|Lu7+P(dRipoIGN2gJMnlP$yI)xE)EgU? znIp4S^5Lmg4?MYr)c1b}>M@d0jVbr(B0ELRuiFQLpaTgd^y}-G)JbNTS{8fH81d& zHYz}MW!{*4w?6h4Tqm-%MdH`&N}nSG7}xqvy6F}HriNFIlhhl^Crna$!~9W__1o_}TbhP8Xm!B|`I zTfWIs;p?ZK`pL2ylhgHS8F<(9VNZ&Cp+xDoZLXrB=P0ib98MwTDN$B zh#Cli$0hc3Lwv7qec8gxNM`5_F}c0wRJL%eivuw&>H(p7-Ky@fn0<{B)9AjqlvLUB z0$WY%{=NuQfvoN7e{m7<(`Sk9!-_BwGxR^{{Q zR~n6NY+5$AYbI&L{S?;H(+jn?w>{X)a_@1|5bAkUcx|N&FUz@!-x_*SrZQt+y|bOX z>~)yeY3V(;4Qx>}ON0ABQXty5U|{vMgJaZVjCv~{Oxb1FxCl&}!&!`b5edYMYHX?8Sv9DO~8kI+?|N){8Fe#XJ; zt+w-aXFXTenG6rAYGi>>{mo~yb}wh6Rg7D6_TmfT-fU!wu+ zkJ*WRG;7BrC!+G5-IaW|G+QBqPC{-vuT>ertiBjE@NhsYQHZDcA&FK!EzC$(nXwPY zH+y2hg|m9-m|HkmE53D7b4ZejYTfD>##?3Q4YxiJm)sRIoZKL}O)=&vYjrYq{+w}+ z91l?rS847YSL%FL5szL_iMXeFH#yQVP$>ZP-lP(i z(&?#QJ%1>3lA@c|_(UJ)7MI&=jbIzLL}Jo%cV|+y9G40X*;%F7-O^Nf#d;DE*W4ga z^M1jbfus6QO|33E|2^UV$7s*sUSk-SsCC5d`DbV%ACeA-dKJxF`4D=*+?s?p=_l6b zEe@FmA~T2Sx)gJYCwsafo_7kcplB2TQIH81VefpV#!mCP3&-jME|Es};7n9}gwD*e zH$ZrKcs~2`I;A7o;;;q8niF%m#Y%xhnQr=BIX~xVJ8;^1FCAr3*G<+QI2zkc7y_ct|W%^rI6jnjhf`#x3qHXxv>%@Q6=ttl-dwpp+*PT5&Yd#AdTe? z{nmi}rf>>N*UfBHUR67JJU*^xNDYE-t@2SAmgk&9aVd|%DEOfvWh=+;5j-(%(AURt zxza#{;mxAa(e&U1%C8%IlfC8Z2S;Apsd~CL&i3QljA61SLSz4+F8!EjA6?B|w4}YD zQ&i_&M>pi0*-gD?k8}iX+iDo+c#c90fE;iGm+JJC=Ak2aLwdSS@58ExKopy!Yf3wc zZUv4BGw#g?MUCN zpTHd6k7bLj=Qh1KBNc0Rfr-11T=L=sW3zF7S6pHvwUH&HpM^XYNaW6aFJ?b}qEjxu z|Lvt!LDJ5<2m7j?qfF9Iam+g^qaRc=d-2uH&w)$;mwL_b<|6N;QN(4Y^dlN{O$vk7 z=OfogqZ7rYWi+iarXGT^TtcH-In-8Yyj4Eo-J`k!9_c>E0Aj+wO_`VRuQv`y>g`l; z17n3}CB?ESt^^oPdx;AoncXj6ev_pu0YvzP{sO-O(#?7EGHgy$1WbT5xURu~j3W84 z1NzCAdfcEXM{zd6{tnh^izQl$nkb9heyaN;LwGZxCsQAsy5X7XA0w4=`y`rtlWhA0 z*~{)Hk3l92yQ(C!``p%CzL>2R`l~?u_n*r@do=&pZ}D^!nMIs3U2-PINOG@JlWUHs zuhRoyr@EHyPMXD~6D4S;5Q6%`kBj+6{Ok_IQ|UWHMR{*S+H?wD!OV|LGxWLO(u^5LU7Q$haYhQ9^oe)~=5mtSXkuZ0F-F0P_H z*pz1nvh92{^x|i{@83K%cagWasHZ8JvU6l9^7Eku{gnfNfaevV&Mu*UkywHMQjuj7~6 zhwj-9842=Q%E~yStgHK#2N%h}v{^5^lFhL}k1Qo{X6-2A+0z3U>xP6C=z{Jtdp zDtA-0v{7@;P>)$tDL{5Hr2+%E#sDo&>+~FyQby)sWiFrsD50mXKa3t@@5#7%U!TBF zJ}U}!CLF};yyjFJTPmUS<%C#7BWu`(46exE(qqNUW_RbvF2q$Ha-b>RyN^n$** zW2YxEdU)I`fNse7Je$O458+5$Iio_Ii{0>fA~uYvb9lQ0v1<47d8)L)gxr+)@%L!- zTfhRZu1j9EgE)M*cNF}1#Xi`IG6A8Pl!FqC%t1983!PymX)DUr+OtG~qd|ApoiOhHTxl#zo9BLnT-f8gur>u2cbBk2WAN_ivk3C-9Km}h;hyX0_w zR(F$ps^D3wkY@-G24-lDRH*G8E9ra73OEn%1om~0vt+aw0Y6&>3|DzC0L2m1s|YbU zD9hy;nI7Pui;-N3ufm@+a3-Tm&0g@e4VeKM2GzoF1uOH7O_^MoNB^7{e@}$JMvlLa zamU;sqic6qJ|3Wh7&Mhhgic{C`e8X4l56(y%kULd3BS-b&4*CEeVE5+zrvH z*rv{l=wj0Rk!=wbXICIK>Fsh>PT6<90qa)xPe>hAKS=khw6)z(RZlt+*c{T+jZ$K_ z3PrkOwRNflV9&sCDb-oB8*mVRps`MfzP^i2-b$cAUB;uP|VCO=37Z6Jv-J_o~ap9sU`Y6wK)7_Ad zgMKK!lF8uy8#E9JuJxf_Xd?C-ZrxQTY`5jjJ`rE8kv2P9R#<+sUrH~D=1|UZDD5(r zG9wvV_mHph1XUN4Tl<`yR*FFtZkFGj56kL@WJs-H;nqCo=OXR7P&6kz9^IfRY8@-_^`S8XRc2Q5Fs2bg~Z*K zAIJ^5=Ou#U-SET>PixSB0>hVfT%Jfk|D+$tPhqk?QH4Ym-@~vyvXj!W_WxTktKzZKn zfO*kBCHqOs#`Y6c$#{xk*iJIC!QhXF_{Xc45f2YfE&}LY{V#@QU+M&G%NjjM`FNNA z83T1_dPe`3^TJn+1o@UoWEFe}ws0lw?k#yIt9BGn@C=9Vh$p7lc^)9udGbY9AK4F@ z=doFK%T(vfM{yzRbTRSA6$6<#*RUQqGzBPo*L_OuZq~X2O|$DJk74bme`CKG2JDQ| zU>sgw^mG%aR9ZacN~4f6skUE~qHD-XYA+pRL90I+(?Nh{0v1cV2DrWus#y}>NuxWs zDPd5-3ZnE-$6%+e6Cx61<7b8^!d^lnl49KmquOkl0>V8)rI+s3zpL| zCcR-F(k>f(UjOY@#VhGl{jI`wRE0Sir@hcS2I}A#EZ@BM7uN2;@}yqb2)j`S=Y*PE zphZ4GKx8UIP+X5D89?W7CV0+wy^X2eNvE`W#zg-_uN5fgOIq29K5!=fE9X5n($jS1 zp(+_$2$fRI3l0;M z7pmmld|i}0sW-kmWoX~b>qFpFbzHJhnQ`$h0#{49(5$g61O3aNjP4i3sTViXQ^*v- z;iG&Qw0_m;n&Z>IIwF5Q>2Epzawa5)h((Q5@d-%+n458?FUwE<`c7GzCAOJ*jIn6L z>U4N!Kds-?nqYJX;%~I~u+8N`)K<{syR?LKeZ7(Wp=;jlA+%Q*r?RUy;v5dg*~sW znM4j{(XV@&#)a+J?!CuzHcdC)YbLkE=;JiR9VR2;c|0uL3&-4tvUSI^uXU~{L;Z`( zhN3}aCEeS8S5ax^#gAoOW!FS8i219(dL@C|^HL?;wjGtoK4-Qw&?BvK-6|SML&M%M za9KQZ>eiguKNifVqO>9r zTM`ShB+JDU{R;ZjNAn&h*b&Gp4!BhNV=aOLDc=dhtWntzo_CMYJ@F<)GsT;!X&~jA zavjo1!|oFHaAPP$MQQ{xxkI*60hnV59MqYQJSF)J4dLvW!P8R${y9e<!yuLfA_s%!d2EDC~c4lG}p)h8@xnNcnYX}9*ctsD2Nl2ULU!+9Mr;A~87QlXm$`CBW#`-*Z3dILr`$#&4x}HY~q-!0S0G-TyC?wxiEW zLaPlCnsfvh!3+VIIjSpaTsyw~#8G$%r?p0vcYN&E4Ge?M3||4mn|w7!rLx;BLzcgA zfYZ7HRi4;Cl)B3eUWme@l@6V`Esb{E?FZJBsabgObbv*)z#}fpX3ehH$|=!VA`|WJ^gX@KI)T~ zc7p_x^&pzjH!#rtKgGj-9}B4;zE=}B|TCA>X`A~;gz z?v}mcFbJ}@8+mVw)jYK|jNrS=p?JN{vX#?nQpS6ou3t!ud zI#K9XAQ=rlE5d`2`pzq~>16A7JjX7vX^eIfDm^U&g((@W?x)}^63jkwN+nZo1c>2{YP8%%4Vad1c3Jw?LUA*`R_GHag+N{+y#`$Ja zs>ZYzqtH!6!;DsNLjEGp(z3WByNWTXFVP_4W2ONlwbLOS)mXI?Bc!JjeZR>;KYORs z{D8DnczAB$;0(j*8WFVSc_^T|dquKw^?PHDs0XH1A~?QJNf5jn6jFaWw~UmG*#CIK zOztYW0g=pG`8oN0wVk9+L8qdEPs*(rQw z%qD58G%a_i@iw!Yk6N5_cJ7u$R8iC~Nn=ALd$#c%Cy)ZuF@D|nZ-#;*B_$s&EmHh5 zo*y#R_N)E7O7q({!4!c8+##tMagaK`@uPsB_0IK20ly5Q;5R)Icm3XY|65pWP_L|j zsBD-(BGfp5-r=R3&6(vjh)0p|kU3C+Q9wGBLUtafHPXt%g_Z*;l7aX=9yW<%uros; z?E9yuQztgX#Fn31GrSFHISQ|kL?{wtC?6yPwaP8vSz`{5gI(evR|ksr|0? zkQwvETxo{r{PcS#aZk8Cjlw#yG~TZbqvU;dIi?rQLfWMfZUod$9onkd+ngK` zHkP2{r#mMqhWrkj zg0ru0%J)HaF896Fs4FUpgw1SrN&tBd(@R(_4{!tRo`Ld#;b^uMM5QOm`ddcd09Th3 zkr<%9>n^l8wk~?2#~}mLi)|!IubwM?$mVd3URm1HruasX*z$HMZ~WcL<_?t zdKWRssL_p@C=mo<7@b6o-U$ZLjT*fZjNW4O{=M1z?0a|4x!=9>N32<7%3AMQPx+PS z+WkRx{ZPdy$J6yZz}A9{+$|JQ!q|rnUQ~>*+HF3p96qI&e+{2K8CED1&~8W3)lhJ^ zP(!&Mkix4MzD zT|<}w({E?}jqdC}$X!E80e_6yJTu)wPVvufMjwJe67qW>p)mUqw_(&d{c*QSoaSs| zo@u99A|V^&8-q0%hYQamLLF*WKgZANzR*dO-VrJV%B?`ti$5+M$htl#}c{*zs&NZLi5mMqkdyVri zjsgV!?Cv^r;Gt)fdJ^&_D(Ap%0V|!joA6*5(qn>X_Wrnz$5#1&Y4iZUTd1e22xpVZ`rlzL;B9+Y4jsLPZ z{%aBZ=$tk=6XZQ>@j~P_HdGaIR!HB!^hCR3q4A*g`a0Jk0Tv|mnegVOTPHaYeqoD5 z9<{ho-vyJjR`|}7exMOfw%i(viH{GME2b!wiAqQmSc(_u#a(eqsL^K&P$Y95anG3` zj7-dskB@I`C$B$lY7%p>vx5R6XT|p5EzqOF;q}Q`NSA)5-mk5+j?dRi(l5xa!*D7Y ztd+}@J&VyIb~D)kLY9_XAM{B{Rj4!Kq|Q}~hZ&{;QR@pKHP3?KE>*+EMnkjDQkc*z zEEH|Y@GMl%u3&$ysJ0oHCQMLRxYuhLz?3G zb@n3&0$=PoJUNZCm>RK0hP{`xGB4wexfGNi*_=wDF;&@4-wuuWw`EiA`GIz|5#P`+ zc!<4A3~e=R{pHLuM{dhz;o=fIV;0WoEzmIG3)h z2@mH`F}1}*I{RV{TZ~xcoxWrR`PT4)Jll`r5pC3_jBk7iwKl>o=-BqT`?29Ei`?&} z3+6s3*x5nl62T=UWnMZ_XKKDGv`F*tQ-CcC;@eke8 zbUx2Le$;Y?9~~2g8|`;@buPPb#odERCH#Us-_S{7ojvkMSu@0fXOqFeQ(}BL55?1% zW2mG|G(;vIYCSRBo4>r^F#S4W0iNC#IlK0?ei6G1Z_9#Gu(aqn!P{&%i>w+fb0Y=< zFK~wh>NKylJqRduSZzx;iD3^ddrtR{dj7__B-(%W1p%0wg^Z$q}WAH#*Vmx(qy1 zy^dP3(Cxy&iIhmPWN0Qs%S74N3_B<8%bu|UNSj*rjan+3GyTZT={}NDshB>^02J3R zVojAU-98n24ULNpVj&=}>N8(?6#BlHV`#`=({67b98r{4T*3CrLf_i@?iqIr+cP$P zP`W2h$$r(_J(F1>~*xgLh7gkomuN))yrH4tFmA9~uuO2^Aaybasi(k9q^}Xl3iCdAja$FQ%nO-(s z=F}bvNC(yNg$cR{zJy!a0C;e6lBF0~#7QhH9mjj_rx1+bf*#Ss64g-|Ko+B9Y6L_w z{PPTb48MiR|9JBAaHeJz-lsVf+Wy8zk1wC->PdIapf7o;B{a(DS~Rm_A9Z$dAdCo-vOYHc0DtrI3WV4sT3 zVBeNIDLB>3y|wdMyML>oWq@wmSMp0>e%_F8B(uftUMb10abPipZ%P`nux#|!YP4g! zHXyx#w(M7p*m3=vMk5V-zG&tRNEp=si%O84(Bu$+wuVg*cKV8_mCph(Tjj!`vvE}~ z?YDFvdF9MTHMkDTIi1NGYe7RO>rFT{=fCe@9T8eQY><-|M zZXs)*CmQ;QdE{a&O_1K75UfYh{EWtO(UsStp(7)u>>-s|72n3Ul^0=raYd98SI*nw z-^G@d0~HSaFQ!Wx*1h1_iWCHjc-Mrj;#AT2EPns;^0`uwS=F4apGYOUCkM3_3rg8R4jSO(iM5v*b86(eSe)_$YX;W!J2|9YE&c`GW^;yQ` zGjr2+rdReybY9FDF@L@_RD*>6cFw;k*6(?k>zA?M%`DWH^DDx})x`Vw1% z%(LE_UvZp(2(26u-8Oe9PBRp;QR}v*GgMypM^x8rN>se`d$%l6Pp>tPeElH~VxKg9 z6s2z->aqNx1u)YVF(=kZAx8wR&rSI#+p>%kDs%xYD+jNzO#PxpLMXeB(2v@~V-gZ~ zK+10do0XXBMDj>>m&A~1;cEcGL(n9+?A3hT=9YPmP;kfX;tI& z-1)CKCPScB&UhhSkIkI`Py(cV1~*NS>SDLZ0Y}{e4z`{TwH!-Eg}LyrHN5+mQ0l-+zm1 z_*Wx&;33TtiHRhCKgr`_zKR7CIJQhtHgSBQos}xAC@PZ4>pp~Rv`n=6?QLZp__#|~ zK=F+VvfVoSHk||*91N!31RZ2~-A+pbW|~Y2b}-B)seBZyc);K_g31fwe)xENB2EHGYokPi@}TK%=mP(6woa8i(OGk+VV7MFCTvb)fcGI zoORVV(SaMoeB`XC9h|k|=(xbC9@#VcXL+hmPO@7lk}p=<8rjvKajY@!Jo-#a!*Iu| zo@VYz6x)XvTJL#j`irgf#9Ld4TufknW09Zt+YBqt2TOTdPTl*mvX+ZKUx;TkGmc}3 zbV|ckRn@PeWO=;`8n%_M569}Q&+q2-bMe`LB`88*6lJfQ2wa;JHKM#Wfi^piTpjYI_%z@XMDumGTe> zK&$3o?Stjz`X1>B@GvD5P>;x?08Q;tP-+8@S5N#m0JkuhF)Mdxdr@fHt8_DiCIH}w zas>q8pqY2jlnA~)2H}4jDeAc$Y$aGBvb~r`xT?f z`Q4p6BZIR#-WYF3ouK&_Cv!pR@E0fZaAH0!F|kBcN3W~zdrJbzug`GoB9CG=)Sq%B z-%?cFM6OXi@9m@yB#fBtVYRMh)Z5dazBI)YK4aFmfjyA6OYbjRy&Hh7V2O>G#wVL( zYzu9Yk2XTttkToAPZi1dRYe&J?;u8R+<(b`t^AnDk#I?DiW=MRxyKaf8bdx%o5y03LQ43jQ(nbYG*95*2M%hgK!&I;KtBf~J7O`Q?=ZsB9->WL@nNDE0$%(z zlHJ8_K}i8MREuF?eLY#ki3A<;5r16|2BF1Y+z+>>)&>5~7J#!s78e)iS~JmUbJcjk zN| zJ9cdLgob*I?t8=F+c4&_k0i;UAvW99SPy?#jS^;!IocQ}gJ>TK`R{(3f2J5QH0Yo& z@zc@LOVX4~^2&@(G-j9xZTrgmUIt0S9Od((I<1ZXAn^yVA~~B|g*T-3`iBKVCtCaD zq)e~*TK?D{$9noKraMiK6;bM~?~n-@UsreI*R+`2HaA;jJ_P;_NxX^jrp?iRA@B6B z^X&4RTaHnbE_z99fs0>XpuxokGT8TR&t}}zz{7ABaW5%_2d(I;LzwQC#t>OdDQ=?2 zrqz*5u85ItB(e(^|2iQA^Soq-AL$0OLav{R58)TH&`psK4J|E#bR${HyOnCDVY~Ki zt`jbP%p7QbN>HT;?Xre;H9bM%bqEbR5qb`_oRZImA1@k9_BBaP1<=!~C+==`3=juJ6b*al zxmB>I=|OXuS*>k6J(H~%S@gO1tdN`B%!cIrw5Bof9xtnt=iU!X#P$mjvM9e@6*du9 zIixmG@^rqU-`H@jK2I(LX==(GZH`{j03!9x*ySN$~ zz9=;OexG_6P*o;WrZ#Z#2~NIo^;ynRj_#KUeicC?M(lgNrT&I8>#bScM!>kPp|NNz zVKM}&WlcUO3>i!ND+dzF91r32r_}}&vf+9-^H*D zzoL2x1P&5X-jH``STW17booy}TeSMU z!Jj0v{oQ&?l`IfDzWhY2Mm(~uo~cYBz+CSTbbP`UNZ3=^)q7lB~~ z*?Uu)AziU{h#F?$4~h{7xU9gGKD3_B7ungUFQ`qegb&W|)Tf6IL4&S^rKRLq_BC=g z`&Y|EzOUwjX*>j;4JBc=2`mo%L^spg@-Hr>vlmkYQbz7EI^N6_r3f+Q*GV$3U}aDH zyg%u6nnZo`x7F}7{HI5fPSje!@rX|3H#1UX)2BVXc@}AXV{(_B%Y~5Nm6t{Bhe ztYf2URGGAvt?vqCGi0C@GmH_6Wh*yxVLFoGR9$wLly5B?8k|Ou zrN7Z+H)+f2F8aqY9e;;1jdGuwOu0*X&_l2PFJ)%R`je5uAmI+vA|uKS@o5>v4poj= z*K@m$l!!k*Jr+F)vp0O!`wdz4XNygyy>nsfu;TAK-JdW1m5YLcLbY8XExd;0cdpbM zA^)h8v2XQB`y3m$eOx5@BkT|27m4^(T%Mdf69BxpvA3KRV?B5{t-fLv+KoV)P41T^ zhAy&5NzRs0hCBunG5hvLOwG18gq&r_{CRDOFjDYtRF^7(3e4}xsHhNGQ%Xom5<;?D zGqo9%(Vsjwe7%?lDA?+U??aS>M7<8yiw@o74Qg&@n_X<3QYyq#7D+!?-}zDRHyQPqtdTFWc0)v%3(YNybArIQBq^veaR&d&C#mYE;@ zuvMUD^RUntRFl_TF{8q`_NX1IiS#XE|mL)ML27#O$C_Ebh_eO#k zIu975n+GcQAlzE9oS*?AYnEOu6%HWum?vm9`!5&Umd|4;uyi66*K4BhAnZ_CbDw_% zbgunldHoNYKX#gH8U+IAg~mkR&8o`?SJ=TtMj|pzvQ;bPMLL}QnhR@UB^mCCDYM8t zj?byvc&slrlzK&EFsbntGZWUjJtRkD#0CuSxw2qC*S+c7%Zy%bOc7Km`!qt)Wf#6t zcX7kt52T9!{V*W(Hd4YZ@j9p2!aQy1|fV+9UAQ-Plg0r0cju5rP7TyRQj z0w}kspBwqyElHDUt4gL-Kv5Zu?Npuux~6&RzE`kdH1o|6YLVUBHPO_(_dAS99<-yD z(3rN2t=x;F55=pH@yhB7Ekym8o4Jvr=;9kOCC_5YJsJ{X2$$a?kj_IT)ivBg1jwRy zjGPJvqmi5{lPXKUh?+%f`b!ECPigM&{ur4i@NdGB0HaP$SlOoa9;c{_!j_$Wns#E2 zANH!oUzSUvT{CdEH@drDLqu;{x=LQrj$Iwxx~y*t3Xk?6{m9y!UYhAS-QG5oK3pl` z1IzQnXa?J&_VI#bfHlIEcM%j9%RBNTF0_YdvzM53nxf20?_zs+TeEMqqW~lG{}64? z64TqvS_2CIAYv*?;103zmg{fsO7HDQ>B3>*iDhEjD;W!-8=5elMN8h)$>EHROH+m2 zBDpp8hW;!UOvJa|54$b9X^Egddmk$AmWpguALqKiMPC!4F=WSOl=0tVSIoYju2#de z1alOfv$N~TzgBKD6S(74{W=q}AQ*SMSzmSfUC`4NGrPoo$C|7j=_f{RL;X>x;`Fiw z4eG5Ee|pdHjgiBFL?*^mfnI-PJ&C!S8QP?V;Ul;FL2xD?SOc^d-^Z6kJXZ{z6V{lT| z-u}-N`_0(@%_A_>VPwCxcW8iz;S6c@mkZxILk20$QWm zMUtz8A#x^u!*8xI428@6r2ts93ob?RJSAtz&$(fuKqj(YcF|w23=~(n{7$vc!Ytt9 zMH#u|qK zcMPG{QCA_M+B7_^ePW5{6sv%-@`cc5{{{u&t{=n03|L!PR*Bm(0;#&=Pmaeiy_-kg zk+-^Z{5fVV<3AZXnkj3>#(%Rsx{&25p4A?X+u3m(DYyk9Yqo&@beA|lTsqJSHeX)H zk%mAHrrq`$yQcQX*iUNmTFR_I_+8oU>LM0*-{)mkF1vmnf$s}Vd`iv=H05lYZ#!mi zYla6qSB>oMTHZ3t7H(i^tHZ{WoHx;oci;c8hOk!%`PXX@@8#YotiUT5=1JzeoKO!8?b6 z0uaZ(qC$8iqwe+XIEw$mEac5<`%=OVxp!8~7Pia1Tt01i&h38)v0-!Syz;2&10`-R zl)Izvr9{RYR&sC9yQ@7De@t}gk9Wc%#EsY?9{!Q<8EncmA*7C{1$q_Ycl!)7vbRnT zurWZ8vgSWQ>!FjQt{{rh<@~Pc?RL*=bFHdGhrJgFr~z#HXJmP;x*DVe0EZ{#`SHh? zJ4sx-+-f&shXV6nUxs0xGNA}D^8|+bf)q+;@=TBVSJ?+iNTrYe}w_KKXqQDa|oO7clv4ue}N5xmel0 z86MzVNr0Hcaw?MRq}G- zJ&9F&JP(6{G9KufN%XL;CMqAkPoHCRWQ1r8P>o7iJ=UM;NW~8{QdO;6uU4`dBkU%y zgT3&+vM}Z?V#3{9iYQ>RGG)Cl*x8HgT+^?xqPmibr8+i~qu~n?7GH9o~yWB&k}K>8^TC_9Zd;U7rt? z=pU)w&1F-Kd5Okp#dOYhLmfP(8cb3t6O0`vF2b~1UWkWVF{NQix2_6Fu;~X}&6wMk z#i=8T$uo-;%n0xrK^qM(4Bs!swRBiJry>~5-FoXeZNB_-<`hq#bR#y6kDu=Hm14qqpnKqKCDi)_ick0r@legro_BCiWQnARSR)3Ny{!3fyF)zS{ z;NbqVXIB62g?c!e3DjdI{Z5ElY1%pysfK z&nSqk(B%}wWTQcT)^hrKf!p=+U6+VZ>>)$cP5SuaHFC|JlVk6?GT!h|~F1{1P(pXBH~v&mt|XaFuw2E|I3 zt7}5eqU2aa;nTME0?9A}36>3VLebOw>QecY0ZN)PLK~iy*W6L+sv&=_>huR|_6aMb zW$OJf{@cg##ugWOu3pT)_WZsq8tZh6Zu*w?5@GzHp#_W6sG=YlS5xC$$p)8^nRV|Z zd?P=A!E=7e*J zP-?#!5@0R2|Ga$1$;Ef~ZvX##3CDD2X{F(<@}9TcY8q?Q$*D+8y4zb1+?BU4Jz>M- ztU8IQ^%Am?0&AGjH6nPLUPx&R9u&Jk_^I}#Z>9YUC(9URr1i~CHKhAK=oh;7zDEUM zps>K4o80B+pW`_f%(e=j-^dY)-0D`3_rtF0iaSdKx%2$b{r%|m@d{&f62~&&p0$+M z7qwX|V>+-g)I425ZtT`Hg}@Ua1U)aayT}eQ0cid4gJtBaxlXsMf^ty3>QmC#s zPry!p$IM>!qHefWY)-u^>yp(MubkD~6<%fBo})eT%GG=I(~KQoC?ScBx8J^gX4)XF zJ1XYBQ>kCa;T0>PCC9j+p1>leCTp1*3`dW=k&W$;{(MESV3LMNwR`<8nrX=AqX{-W z^AZBsdqDH3d^r`J`o_!`c&w-pd>MfL*VJHmD${2`4!6%sl3lDW1r|U1_1i%pEIH~fWD?>?i(hY3{zVNVxWfRfY zKhTR)WmK96?Huhy_ppa7wWZlfm)8bm2_87z$MSQugWjO~J%pforP^(GTZE%solLsI zZvFqx6g_7E1F03_E3q-v9?PWX%?Aj4zZ2XpZ`(yjba0B7p`m&1;g()IuuT;b%1S3| zd|=xqU0m-`%Q+H$<%rg%=c!yiQF?WpiS7f$^t?QZDcmZ6eo8y<^(cLLM!iM`#dzgE z*WCZIy?>jHEJ)gp^L^!80TD)k4nKSP5@AfJM!HdBp=Fmep0rFDFUYy66G$O1SQ34OP6Tqp;h58x@bIPw^L^! zN7-webM*)q=8<}yNsVF;E$CEmMIMVK<%K7ISS=18u^&sp?xI(V1V)NV^X9Nb)?Qn0 zUnl}rSh+8HXE3*T2smbV8?h`;U!i>~pe<*02k0iAi7*o@%cB}RPLq4#ZE$HUkyQh8 zb+M58*V006K{dNL4$F;L1IrwkWww8=53h~cLI5-nRhvUx!sW=Dm%aZZp{kxXRU;nA zJTC-=1JmK{(dD9H;F&{RX|?%ODmz>HX!-W@>91qt?)6`&U-k(P71qNgGKKXFR?WkT z+Mb&XEPlJ%h;0#Jd|Jb=W)j5iVFx8FHMgwLh=-b)$7-^ieYwS9CSs?me|_Ft*pN3z zO(cMtOeT9PK*zK*wdG0A{~2d4J3n*YyUZW7@uAG7-D*)e@OO=Y`{e#fJ2B19 zWzkbZ>R7o_iDd^w{=~rMl&Fo0p-1T5>LCs40W*M@#VD;Vi6Ak-i1{_CuIb#0|_Y$4PjlgTaFG5_79&9k_w=( zi~BIOwnJ)D&n)xx7)}a8hw^9NH+M#_ jzXL*&sTJD4wM^yI&{8DPZ5sJhqDr*ig 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 z z)@3Fq$ud$pJfD>=l1eHWpRez1AKGbe)pkHCHCJhleE-Tvz&>BwQ2nExqQB1&D*9kB zDci)6HKJ`4pSRI$R5#9KP&1%k$3;#eR~nTGH$3Kxnp9|en-#p%%$0D{%rS@r6qz2| zxP(}&w!Fp&KSMRij&^kLWczbeja#kj+tX^*s+iA!sv&Q|@+#Aom6e?2@i--NClv#2 zo2cZ8K!zYD+woOVR;%NX=K*ewpQ|*7pCQBcafihMoQ$N|g41B9*|a{^uj@_LyNxj> zle*K+B>Zz;3J zZ22gwV&3|n9Lye^5S}2F%6HXv(MSFLl9c^9)010nh{I?iNBxp<-u~u#xil^DK*s=# z%q-d@@JJhOvT7eFOIdy)3YCJELWEE*|$vEGXBF`dT1UvXH($MmT zZ)%sUE~FcWr)jX&vbn9ukPqvPX0cMUB^8`?ogMs4XHKW+W9VN#31}=+P2d}zW##T* zcg%FW-TBa8Z_hQ~ z+kb4UW_I!cz2!1lSXfY4(_QKLqc+E*i!KtsW-G&HhJ}IIR1Te9_VT2WMjtjho1;?8 zU=XuVEpnO>)84Exd6~JA@$i{E3is{+66MjhvKL%n)}j#akFkqOU(&2)u02ihNiSXh z5NXz%sB94sk~$C;X|eH{9&cr4Jwt6OlV`x_VMPctY?P6 z$3<>K^rce=ZojcxCv?n3Nhow?RSU8p2y4O{Dgp$-opoxCAnFA{M-{5U?m+R=yAaw{ zG4MUz`Wa^V`*yqa*1(}z);y)*oeRgeY~-#eid(#0A7kEYOG}b1FS*S4el7N+c3=AJ zNDL9&@;L%}2Wl-O`_b>4ci{jts9Z6Fzy5OySL@F3Mpb*Q$IHJolUCPy4$XY(I;OQr zOGbZekGKXB>^+GEbwn`sFJswPVNpYVJc$Kn6!-19Hg8_tT4-Phjl?XK#od<=tlXmT z%-7Y`#mKLqU5P{xL(m`aD zsl`YY|6ST=cOBSAA04q46I4osJ=ctvk%fi9`QHf+f_QHe>A)hPo!BRRRUBVaWXxcv ztyV+qurC=I1d}g(d2OX7-jxTodiN)Vme#tG+r?bxTTRN0Sw4!CYty#ARm$9TX-?< zN8ry4T$mdsdL6(MKw7*bZxe0SEwJ*%h=X6-?$sd;zu;f-t(avetn!LK{TE-H+CTt$ z`_ZxcZF0~L`+D;o9-*;vEn&(OVBSmV+dS>QOrhZ4M4EJYTkJePU5mFfFfGYvXzf^2 zkNtVuzciD5=tml|TNS=Rc1^u)!|W{4lw^M<=0$s6KiWiR^Ia+y8$J~Y%=sJ;073GbiH+)YeK-|Lar9N^Owh0hUfgm zjvgsa>+`>v?1^mAj<{o~`{(ZEn}g_k|KjCGQvyx7s~>2FmmPeg+_JJlD|Y+EviG*s zmu^!HLd9A+=v|lIn~csK@SebPZxan|gjvHwcz>_7!qdt^yH+c8t%`LsPqGC08;$ff zM?7{C8cpKog^Ak#T3F~q+xrwWm@_1VX%YtS>%VgF6z0Rb!c6C84Hdjj>{8V=h+|IBZXRHXMrmO>v}>)2r*_@}t@d!x=;j#evMD1+Zw#IP3~6m)L+_0TvSmH(;I zT$b~fT~1i}SQP6o@Q>shc2{@mh@cNWGRh9#iazZ>&?OJKJ78%GyV`Fwb-joxd6MWf zd^^wqLWHkou0XK{i*)wDN zXPr19QbHfmde1IgAQl9^-?@5nYG<-GZ$DFetb|*@uMw4SL%bii^y8Zbi?A9Vg9wv1imogA_sgd(gX7Px+sBlL}d_S4p0<8$!WaRNX zj6Ci4STX-Zo+N&Kv8buh>PmlRKAITpWDd*4GmuU#zId| z4i43aO^bdQxwtOZ=|AD(8gP;7uZP?BeE!yx*Oc(JSmy4yg89<|wW4Bj=VMwSBGJ#m zTf_kVy`5%B8(1;i*S3Vxdph)9v51sKZfUi8ik{>ygty^zX)SnF?};nyR9=bc@9iPd zDe}o!>T7IoVp|def*blU6DHYzC*9lcBDGly&$1@kisY1uouaOXQC}O2)aDb4C%Eq-TPUP>SoHa-hvL* z0a_sNL0i=o%n@)vvwHi0s1@?@X420!QFlLe(>|6}2rvgD20lyPbs&z3K29KCe5?!| zZ3W&eqzv;Hnbtcaf`2A;9Vf4B0+RbgZ$-rFT;f`d(O(I>AX*4N+-7JqJuzyTi9 z0=~{ERrqq3>3$P3RFdbMKzh+0U7(3T;ag1;3w}!Y4yTcWB+-;nB>Ygj;69GNb z?7fwMAoiZF9OR`WpAT=84p3hN+UmT`FkQkPX?EeLTwPdsCJx!aj)q@kQq=H{DQ`AW zL?+$ZO+V?^>H8-gt#>9lvA?YImwLP#J#IPUeu9Gh^TEfrZ7s^b-1(tr?SkW{09yOd z8A`^2$F4%J#h`y8lvKy)YhfF9T?^}-SK$@-mJx8QIR$Z1@$F{isjXjlg+i|HmhB;| zGg!gwwo7jm(bk2+t_u&`zIswvH?e+{tupm%Gg$SiVVXs6pj@-dxkVp~oc0nrU8r01 z_&)=`XB#F&4+Rj@7_g;go^NqV-VBBi&l4` z?3VrM?4$Gmr;>iS&w5ngF zyCcy&a87nf7qSo6Y)wS!K^DG?ur=6#YQ0y$)zaf8cZfNcV2l?{==-bbDZ!(x&>cka zO2C?0F#TleB0BH+(^EJ!#Rv0Sor5Vcoxz74P660;?DW^dO_z=++8Or zaksa;9wt^d7H79vS>`>}9acTJ^!A~eu&|r7nUCTcvi}O-{Ld~E16wx`Gn}Bs9J+PQ zV>949HyJ--{e1KMC3^Ba0B;nI!YW-?TUDX^a_0_GBh1u_y_q?w1FkEC77OE21nL`V_D@7n}vD@PBG0|1A# z3?v`gN7AN!>fN`6<5`iZOl0Iq;J8;fIk%xb*vlw;DFWVR_##PU4?G@6Y>ETz_jl91P44_^qJ!G5?3gaG%4^Pmh2C)ytJS4c<%GJ$s zlTKu1`s%XgCSvWP=&87UXQDu5f%I@_&`R2b{>^Xy0A#^??jm)X^`W2l60biK zqCv4pB8HaY8L#>(_kGJ*<7;QvF&kC}n38e?W8^XEmtFPqT-bwhM=O!TIeEmc`cm)h z@M==vWABKFnf3I#WU>gRkj9LXc+S7}YyZbX#N*_RJ@3xrE263OCd0Wfd{bLa%u4n= zD%GvY))c6S_TqK2s%#ufg3WuHvQ*-844sm3JQEWYX%VD4R!^cdyKTEXFFO4kyExNH zH_?Sm*=;3^>SJff{4`uja= zC+|iS?gGDp@TGbH{3jcQ3ZV~ToJaK4OZ3RHyQxG>-D5d^8~VwH^zvDo8ScS*0Ru|W z>536Q({kyZzW8VIX?oF8rQ2 zjw9X$Tuq@ApW52=3`t3eEK!TFI0%v_(4K(-06_hVw%1R}8@A6lbMwY`0{!2PyIO5W zJMuIZD<${}VX@c@Y1KS4gn5vv=9z>~RlSU7i3#L0mf+cN|JTJrNB77azQ@Vj-*M~9 z+<=b!zcs!tHEvVo=#|A4Lpl{ z@jSqbk#PuFP>gLX`Y2U!l6v&jkVIiq>wxY^MOJBn78ydkk{^^N816}NsB_r(t43FE z%x%-(S@7Aq@A;y$UI%Xyo*0wzY{6BuUhsvkhmahy1`)F^VTMWRC)X;YJj=C#t*-_O zZBN6~yyW#0?}eH#jcjIII+I7FoEc2=pSPbkkvUwS9Az2M7y>Uvns_Z1`P-*?LwRA7 z6*9oq`;oarD){e7(N3LJ8weC#a?jltJ&(U5IT$8n+NGIz0$r!>5##P;kw?C+mttuu z?}~2Y5B2Ki^7Nji+syF@EsBem2IBIrY?^zfqhE2x23vd$z@7&eFp<3edR^ zk)@8_nwt3EcbSXKolDsVUYMZbMO%7XSkSxLU-q)(+gjtI^s!N%PV|wo72xn-v_~KP z^3<3~=lR|6^6SxvICgS!^%+tyB-)rff78Ip!9zhCK9Yf(Y(4&L@*xj<^2l2h2N@Ya z)Rnzs%XGDG;w*4&C|j*Fw8!mRLe|hMWlc|yk7;7!9J0^CJ!_KER9KCUST$d$O&7VJ zrju?W7ZLH(t5y@a#XN?gg3ZC-c=nmejS{y}1&|>uuuf=^bhB@w2ySfOOuaDAhApg!_dwtwPlZtNUXR8*8_`p~_3cRMlo zVl1A20Z0b3vkOIf1hLg`KK~#f&%n(jmt%^Qc|vm?uoOl^`AZb>MDpEOn6OT7&MtSGXuO6?R>h-$W8zCbo%EGutroRSa`8#9*(rs02_6=hV<*ugf8S?#l}#k z&$LY5n5n+h{OSR@J&`UnE!1S%3IF!qDi$?km;sZ8c(^Bx+5}m1SbkuhGG>^-9!Vv! zU&Cb`Ty$w;Nh$03_JxnDf>LY!qzJ_(WWlJa6#hk);qnT(pwoibrAR3^HU1O^$z3nmz=*dOmA`*|@@%Wl;0Ztnht_ zl>KT?U5L4P#B^8F+~xyX8)BGoEHR+E-UWJk^qG+w4zVBv)N&pLor~|b*>$v=g8dcp z_;ZxLTQQ_f%5WW}@2GG5B-agVVyKs(O4@fDi%$7I`xTk9^WS}Q^-Txjk?Dn_>C0rc zC(5_K?e$*Z_y~9*roI4q+j%j~ff8)D@w3Fwh7#0q7{ZghC(v*@RYm;E4)C3h81CDW zSOl8vEbwG~S=M|BOr-QMPmdAW^Kg+eFEo0Z7ZNn{trOeXevQpzlMkNiklUjtM5BKlNq!E}Ac7JMmn`E=b(r@Gb?lOf}Sdd>=HcSe^(j@JWUq zXv95~9Ljx2*Sa+121pzLg7u-9U+yISz)blEPDc~u|K41Gtgr(8NO%CXHdn(*k&Li1 zwrvd^U{HXeA)#RGVnL4Fpq10*!EF72!_E2{N-9$5(NI;zoPbVciHK z|2>#|h2jRpeK+>m*2`(cS4!BUv%n<<3pQ#mJ)GdyJpF6^Qw>z;lpNCA7W5uwFh4)s z=MUK`X|z!#y{3tcJ>rG-*4J~LKYF+wWrKG)8M9-`^G)jXtfan&w7B7YV+}=l$2;lP zP>I;(M=P8}e=dojQYf&ItgUxf@*kbsqY(X#Kc<-P;35`W`=U}4?raGs8&Nrg`gLGH};d!ZWEp*!cuC1#CJw~=EoNsF`FgNr#u@Q+*ogy`PUra z8$%U$_S0^IjzW%i)sjR{gE9>sRy4r$ZO_`r@BI@OmGx8gym1gC$yoAZy!~h~|HCGDJ zVndE0Wc=gLQ&})_8@x|wLnMqBT?9ZBwEWD5^YZ%nxeila3XatsyEJ}=R87En6W`~QM?9!eN_2`L>e;`>V%HTjl4409wbH1JHC^gLm&ju{Urb3L>eV6mP(q-A8G}!6kl;r5N_PS1lSz^_;3*5Oa}Nw@n}*v zyeL+v{`k=!rJ6%3HL;~bNJylgEy}p+`O#%mLHcjQk?V(UBHq=hZVMIzWa$tK=O%7j zA-eMjMLG?2Pi&9fBx7_Rf`%=hCfaYzJLZ~XblKQdqk`@KI2fRl&YJ03-;hn+V7f*8 zX>c5DDd?X(FpOm?-thyiBCPH?F);%^y2!+V%ItQI7hal=t4eJ}5^MP|A17kr^<1wJ zhta|FNq9y1i@CWuZB_6?dAL_cY@_Oj&Ok}*EVT1_5yy?~@|V;TzZ9~KExIFL{NPKI zi!Nrq5TK_oY`*bsH)~$jsnnNvH&VXyq#_<@Oe6eGA}KU*ho&5P;X;PmzOtCy>-*z+0emEUlhF^o|!M(da)@l>^y7VW13WIo<3 z?uk4!S(X;@k+}l{T>ux`%9Tc>D2U|bWEEt1)C~HUx`XNiTl3eir3A6V_nQoFqhen8 zcq|MKt4J@_MpjyK8KD@GBG87VfY-Icc+}yNOhp_J%!N-_SMg!mZzw@5D#%tyCVDIy z1CaZo)$vs~Kjn`fMec140L}MS1uEYturrYAij84+i+|j|thNC1A%D>!*uadKBEie^ zqp$Q0}1dLo3ay8g1FQ@;B-{A8ImN9Ez@-`0efGs~>K zt@UoBsx=|@S>w!jMTR5WWR4!Zx|YqW1;~2mWQZ{-nGqNsP&sf@X5YrSK$l*Nnd;{C zlXF(^SeJuxEvLmKvGuPx(uMg&t)F%l74aM+;fB%iqvOqdDo@H1(MouJOW!`}8j@Dq z$V|$mBUigZc`q1z@3uDi?s%K355`yMmcM+z8<4Bx1uB%!F9&mn87A<6yt`W-{a@a< zBQqXe3Ez3Qs5(8&kIRlb@O{8Ipv&WOH9viGzg!2gMO;xeeD@|8`NFM|A#nhnoL+GJ z=4ex{v)AQ(`;$}LQL7Gw(X2ay}{ZZh<_}I5IUlv>O5(>oaK^U6L5%71C z-R{G*Nf32BB-gAQbPW#Eif5r`K3g>ftPtvVp6_x30IU@J))*>?We2H)x8xBh0PSbZ z#PfpuT(fzgM2dpZ?VGAJs#SQ6L`iv;A{2O|RzchxbbFL+%~s!YuaCu}1xwh#RRt2rRaufG(~* zR7{4@pt2^7l&G6eFvQL2fg5Y*pQ`EDK|g!32FMn@BLbO`H;yFTf=76m&My@Nh0qiP ztwm*e0cR3P-~YkNA)X;mTq@VD8VLQg7r4R1Qm95~H{2@GWEMgod%B}dSsh(>meBwp zKH*xuT)9mnrjM|AP)&n?41#Ojli;No^HT=>?!!y?^zd~ZNQxU=20Nv=G23W&ww%vR zgd|Gv2qH!9JB0uQc`ing0`1x@p%T%WWQ=6-^&XMjVGFA({ldxN%M zB+KXSibWDHf4y!9#4<65V1{4=JLH1xvQU<1dJ9;Ptr`mcmrJqe2@Q@Hc%i8_SHDG? z&>@Qed@LGJ=fy-yD}wuRQ3{n;6&c|>!{4OTxQmdjD+jnj=rJJN6^UM*mX`j5sO?A)nCcYfnXZYvhuyG7bFF+Uvk3^yp?i7 zAPW`)Z9oqvM8jiYeh8#K2|k$hB%P8{TG=4-GXWqympsz6lRU;Qb$at8G%74!u!pqb zv^;>sTT59O%Q9hz4A6SwUu&tVxh7fA5%1WmMoq_drvEgiylkS?77(!y zJk!g4^{hr$ZTn9P$rO~J2*k>ChoD{;bvAId}*_b=jETCB?k zu*;frlZ(ymI4E|_%*+POW{G)SNma!2z5DTzl?C{ZodoqXiXuy7KJVQ2Bf6{>X(pM~ zqPWG%kMjY>8~M#1?YpPq-`-~C37209HNTbq3^yPf8GFE-oDCikWa+~w z;I1`Y#V>n4%(Xn5Gt>1DVLa!997HNn5@mKj()><(7=Kk!^W{>HRnLxuLVrJytoyTi^a2)L>iu&+ZCE0Witu32s1d+1fyx*#7v8{^~iCTeQp{4ODvtKT;kb6kp zOpzmBx10TN*ilbK+_{%v!fB(rD8oc^ZSLlH=g=^J(B;T7Lookdh^E(hNznbdN^e#Q zl5oLVP`i^FCFX6FXV5-xW}%r!Lz^1N3u>I=6k0gJ$G>St%10~`CEkf7^74j;>&URy z`F?ChR^O-a@%L~i!9O4z7s~bb^RSd86_rAdoz?i)MI8I+S&q%P4f+(w0&V<0$3F#7 zT(;a=)HKc)C01XY4|5Vpv=q*52~?%!=9ES$H3~nuVaGE&M6uWbY8EQT_SuR4C6Pd^ zHJX2hytMDNy4pfPCKFB?NBTpz=4tPyO`MynqpY3A2ES5G9ce_N?yn z8gCnkmwz+W4f#>;nQty)_jE<~ncs$v`Fz;xH~U~m6m_`EArmgtf%T<>8EuI>)KZ&Un zfxfrI31#6ju_kFxaEqCOFGs6N6bd$nWfM?{+{x{_5AD!0I`F}~9yh-!|FPyIrmdCO zm6vzbzQ*Kj(!F!&yRj|*L$~HJ>Z&)E!*y$`0`k9(8_h7o?#+t7VgU%(feN7U9KdN& z=;u}uoK8ejzuh#r(b+ep?>6!XkfTb{Afm0~ybxDm1~FqA7Vd^iSaEJ$O11ln*cHI1 znos?sdgY%w>cf`)0_ICT!p0W3X5iL~T>bX#En{$o>)^J)o{x8X3Estq=azEnNPSZI z;7pTFi#XU_x4KbFZxD0M&^#i%5qVD)>$bNW6m_f0fK*D0Vd^(j_lTA3tfLJ_-KEbU z>$dBCMc6ODF+Y(U-hXUFaV2BS^M|Nl-$eLuT8`c4cK~I(E|CsbZW|V`k(%%B%6F4% z?my#(Y0r2(4%u5(dO*qi9;>qi_U@(d<3V3xf!nlNj~P=Z52EDrrO_o*6rJ0FMKBzg zZ(>RnqOJTNt;_$<2h6b5XT`%rnbh}16O#jPQ|3Q6StgEAF`<2al_Jk*O{-0ePJ&H< zANeVvQM+yS3qM<&+jwLuNPgBf5_K>Se94ic7LF84Q`O`sr6c{Bysc^5+bceSy;Z&m zk?gXjF8>#n=7+t~^!=jE@LZ*yVamJ0G|t@G!AZV?=~`Y1*|u*i<%ZKERGkWD;Nm9+ z7u{$}M+{3l#z}Ip;N89>(cy@An)_A=b^<$%2J^=DI5B~-`CjRJfNSUzS>z^LV1bfB zp=pZ6{@mEIv2lxh`rG5#9(&Z~fqZP{Kf^$)9+%?J07PNiiRvx(o|@wDLenXGfNGt zC|7IRc1kY!k=>+CvuOT({zHMaGt{>Ar?skjV6`$&paN9vATP`>D7jSnVt7LMJ(44# zI$)cCDQ&gwqawbzIg#OlWNXX5GhhBvGH%HhfK9H;Vdt?u>gza2rY^X`nrq6wN6Cd< zN!8!@Y#<;NUqbMw!b9-lN>9Q=K$&zu&S#~(Qil7BRN~u-pkx~+x!G;fDzrL7Gvct} z-<6s9y;Wrk3QZjBY?{htzEz3IvJ-bw#NKavMC2P?-`1j`pr-G2e_bqIv5sW&_UcQ0;h^$zue8|aYt1f+vBfcC>YT2D9#EBEZ_;Mtt@xCp zr;+@C2~F`}XCHcpshXK`TDI5ZRb#m(h=D;Gn2xppC7{YS&yEB450b_)H|TMaPiRHK)e%$b z#sZ|+S0A@A5c1B8@-f9?#;(0b$n+=~+B;!pN_o{CwK&w1|j{>>NsVf~Zs$H|Ppm zS)Ulcd%i_&otyJv3|q=m!wdOzLXgP&vkxZ)ABXg{+AHS1jOE4*&|wY?4AtT^5_30< z_y4M5)6G(_+jjyyvu8M@=P#E_x6A%vSyjlPS5>Db$QO*oalT!}wl|e&*c_XpnE(`t z2yL35SRiYO@Cot8vqT-GR7z2fNO zD*ZUTMyuUGgN*zR6J?z!>L_<B*{>ivE&vS8I zDAMDgZhU(vB#9oDt;KE7UobtS-Gw9e`VHizE4a}uKp^9b6$>%ueoE!uCSi?4EIM%M zlm5&r`>UvcIo_XI%Zj>FE2Hh9kU&%rWYFJN7Z_{k^Py#oblZP-zUury)ji9-P_le4 zL(|cR=cC4@-Wjt&&HJvlLPG4*sZ_5FY{r7jap$JbZ5*n-Y_$OKUmS1Hp^G;vBCSe5 zp+w&==0^*HzEgz1ea89#zaLe+F9rL}AfkO}3zG7d!yRd`brr_j@&ysGOSYBJ>jXC+ zKhTkuTaD<6wTCg}Q&|v7v%X1KhhcbXo=+2ho*Y?*Ys{; z#jfjw2vGjK1}-(15y|yc5{LRo+i&wz0P}*NRm$Hm2ITJ^JMj>^!x04=ROjh3WR@tg@bqHgwQz+ z=6<}k$ouo;%7t%d6S8v^r&uIb*Uy$1puIpPS9>NqR>e0xu`Q6`>c%CVXI~V7&y%@ngp)Ie|k6qUlx~OEE^MjQVmX zMk0L+!I7AXGp2g&pGAhaiucxC-RUp|5_yAsdH-%`l*Hm5;zMkkHa^JY7 z-PzJ1$l4nCXu_c7Bz;&|N&hj^E@Dp{=Q>WfH((N686cSRbbYN}X#(nSciY*3ifK@e zIrJEj`43(kQY{Be26Fvz{z+k`{cSvi40luUJSMShhcv*f)k@HRgny_u*q*LHShD-b z;Ycj$A1ue1)Kw_-RHMRo>4%{M$oEc*V5`48Kb>$!Gp%B{g~bYy%so-(G&VZy0nZPg zacP;d>79+`AB8PhJiK+?$$;uq>8>*kwGZt{i$VSlre<#P%duo35?C6Cf2e(do%vUtR_u2`o4_vuxvbu%B^%$bI%_;D2+v)I_HnKs*70i z<-)=Kfkw~q&MNKIWv^h|+Vz4U=KMyKn1*QkkwG@V@3@T%4?4P`{XwxqGZ|-Q&oG!QIQBvzI=Qv4Tx~wC!tiZZ`}NJop3$*jImGY& z{`_?AS_gX(03t1AfLkNf9M)9$RRE&Z!rizc%r+0N^~K%2qy3HKDLUW)X-}`+?|+T3 zSWO~Hy$*wma}`(ZiZcbN055799|_lW!(idLd9t;5wqV-0j^;nBvd zgP?^Y7tjx_)Mc-4Kb>FlH(S!AlR}H@)UlsBKg-_+-3B3P6DN@5E!Zx9nQ7It|A`X* zuMz9NKWSy!B_>Gou;ACPnjr6sA9*png-Pc^LP6qEX^V5NkVJ~|xlLy+ra{FV=ek?ipTQ z$h(Jjt(es`CYcu8-rT6H=sEKDJ;!2RLZ+SID{SqVSyCjPVf_96 zUzPPs>`5B=j9Fv}k$JN6tz>RGsjZAI0TAg(u;#kzzJ0Tyk`U4+l(!YZ!@A7Q)0k=f zIkYS!xnvy4gByFd-czLa2}yopH6z`RdgJQqDvb)xn--@FU|68;ABR&q=WGT({CQpq3zaZX``ndZMrpkU6#C1xfv5L!@ zOh=-s{pUQP&zWJErDv|0(-C!vYuS+{$6{$JV|4}I`&ANPFniDFkyJDWZ!h&Uw_IA|{CW!w51)Ki@t z*kkx-CR_rO1)TTvH|uoO1@aUbK!$9c@gOTFGdTD^8ZWE9T`~T1K3>Yu__cm&7<2SR zgxbV>Cc_hyqTh_JbHuu;j`$8%+boz~7GLyh@5v!pU#$fET&I60v^8gd!nx@ZU#Cp6 zs7B^NMZkaS@=gWv&`o=8?{7Lf02y#4v^`lpS!f$wv<*rU<{Z+kn3Z$~njoPiGUuc^ zMOdhKn)v~8Fs<|f67wOP`EgqxSDVD0_OS4E5VuL`VAKk|zdvN^cDGDpIbtVc4c%d$U73+OAkwQw6 zR5dF8hvV%~Oco$`m-IyXIdps`OaT^y2J?R-Z2cQb^z6_-?schfCtF^~)^s4}{vUAg zU6g!E63*nv?*5N2j)=VT=Q_fRCQ^PccH`JS?vQGj{}6GLZ_@R{v|kTJp7PcqlYTlv z=ptjZC4pqv@l7CmAyR39xGlvn93aWkb#T^Wn}`{+OCx~=(CywzXv;?rRC^E%1qy2U zIHPwvbyX-D>I$Bj_oqrp&W}cH@=KM$C044;q%72s?VO{oUD9Wv7Xb3221N;j#t`Uy zG*;Z&^XWZET1ryS%l6Pymo>h~w3@T#*WYX<5sv}e3$Yu1;34XgdRyM>E=6unP z*4?Ahgqn>E`t6$C2b@}#PulBGGx918%9AXFBGXVl7af^zO004RA0wGj%9X}}i8Hf| z3SyCidiW2E@z4t&?*0;Z`5n1;=rK;nc7&!A!u=98YJG|?1ui;=_Vk3^&?$#CE%5ht z!;F?1Icp$C7R;UjlbF6in;A)e`5P00v+EHI_W)2 zo@rgz8r*DYfxxY^n)D7wSdj1KaKsj}p8*dUXyR#kw6v&Qqd-td{^oWY=nIz}+FjVM zA}-Y)4v>--8-7Z9=4LUsD^IDZN?c!KLc6{EdVp0o6lf#!!hO~CT_kzr8=c0=1Z;$y8En&vF7z2F8mgrpI_O@ z+he2;a5j0ptD%(8Y!7kZMtEv0<2!^Lmw|V$78uQY7RyWAR=9BO0c>QG^=^)c6guAr zt(B6nE+AiYpzF<8HxlpkaluIli1ZPEk$?9hfl*cK`NNe;Juj+=At3T|XOjAQ%2UZ4 zKf>Mdh{G9QtS3L)-E(&+fK9-4nZCAxnBEuCzlh}K^{8qr3QRI!ee#d*0EHbv#pw^ zXEAJc;zN`hNjxLJZpFPE#zxH?YfOa{%#gpzQIlriib@x002>zDs!M!mXtrg*GU?(| zT=~s)be%U6%r4Hk_E%X()a>`T^Pji1Jv}CL38IzHtKzCZY8$Z*dW|lvnqPBG+jDVu zpvr2kR%QUr8Ii1L5=}aB>k%`plJQ;1B$cm8S2ckjkBr5QwAlA@*a~_(89I3XWYUTq zg>XB^F{%DTB~*zum?1+=lR0D>%0RZYUpjBR=*Ry^Y0qteMnR(so0$?GQ!n{+As{+z zVXAqcKBw>piI3dj)zPUuaB(Z_w^f(q8=m&v7NKw62^3wCvMMm6|!D(;y`^wF4#LNIUhn_p(0-#P7Np5^33 z_XZ;INbdXTzB&%IBerON)3tb)tiAQS97enev2n>rNHp7#(R9;#(=G;VqG-|tY7TeO z?;=`f8m@IMNGpWTt#dToh1{G(b+k->ikC!pw2d=2(GvAL>I$~u9XVN%`4m5ixR(rbmHEs`adPV`j6A)|E3FjNiQ(; ziroi{m+9e@^YEbaQ?0)F<&p<}K)!gG)#5uIOiGtP& zbdkg& z6JS4C`}}vEwbrh4>aF4fG88a1+|u2@t9^uP^xC_>UJ1!D>%1QlR71lUz0N@OuM|b^}u@=jA*ukexvn6)F z*b(=F(##uXj1j#!%32f9Uo&j6hmy>`i29sk8w`tw1fb0dNnjK0(D%KzU(XF0b#$TP zPQQFXU~m_Q9uMx~qpC40+T<_(u|wAT1HhUfa;w+u7n|XIn367bRh2MkYbj8hAf=-* z({62S_3On}RMhxxXTQ%~tFF6^j}8#fXTC;Vd+1=3h@fv+GIt?FQR*n9JN#~1nMrW| zZy1FSIhs<>=7Kf*Lonfp0sUXGCq?xGO4_)+^qrvJuKfMuWreGQx(yLg07d#&Q!4oN zZL~j-IZ9JauHKIrmfsnjdTwV>pOT?$N2;?SOYm}E(4Vb^qwiaDg`(OVIwsfF)_fIs z@fj}S)z54!hj3*-g+AH7ZPAS8{GAni=Jsd-WfM1Y$Z@YP=y51KP6XbI#7}Ko@0vUm zcpSFR$|j)IAs@zxgQ9#gA-y?5>K3}mmnx#Re_D=}fyIe3`<*jxE3CeZs?*HVsiwqe zQJqAaQ0b=re)UV)(on&gftId)n}H%1^4YQanY^!U9xfai5LSMBp5LvH&p{X+@fi_D z_=E&d%4AR$4DL0S4)-6!Gqvt7clej-BMp^6Ht~Zd=c@4)b0iQAw+{nO9mAFI!_UOY zgn#w`xM3Ex!Tx%Dv%i#g90!NpRTXj?q}$*+=a3lh=^?5zeHx|*^O3JrGn%b^aJ0|qVsqr?)r8`(w-EifsRvG&PUyOnp{QK%>8e|9dcGnTb@l`7#4D>C zuijjK4j8@sVBdwzzv^zrMHJ-|ILd#-3nGjiPd;8Lz^ok5hyQA1-b$X$KuBY3S593H=_yikC9-3G?G^L~~OSBMK(vklnhGV|d_vJuRom zX%4KOZSvI?<~3u@)!@nyztULWG-HqilQVD?AMuNA>(B+qK8UpzQ%_WTNwj`Wvi(ij z5f4Ur$C9ZYE%rEdUqbP$R4|gIsB<+#ePKGmrdpbl+0ko0TT(KW88F2Ovju>Bo*zQSt}JH8c*?&yLCt=*_g6` z7FN|9?(m8lt?em5H&p3%a*K<{-x+m>8WyobqS|F4L*$PT>9NHAlh_(xhFk|C)g@3m zJ2TVNIvVPv&8EuvbAON4$wNuA#H9Y+OjEy~o|}P&1T#5d0Nv)0-Rb4p(Xi24&G5oO z?~mxLX+88J?(EL!y58Rz&De}f6Y`mA>^WMx1dkFf;rcz@?jLWB(W}GPawg45vlT=& z_=ZmzqIGm?8(eArFQ|t9-XsUN2My3PjiRnsZC>^KU_$e?KBfD(HxKAoUxB#t1%@9S z$L~H6<{Py%!O(S*D7??F>G zBSsGHgWo3cw65~$FM~ZfzekLG{NN_QNA%$&+#BG=UT9+70-d`svg3D6J(_fFAV&IH zOAiAF&J*0jVFgix>6f9UsCeIVYA!EdRY1DjpFL<4X!c8@CUfT z>VGd}hCO(Mjys63!RPZPyQ@7pqrHD1ysNL5l`cwDK!=y2-y^2ujA;XRD|dj-(`LI{ zN4XsAklROcQQ#YPr*2?Gg_jux?#dC$bWl#OH2mRvu6zu_pABDbp{t^uO?SIM76O-0 zkbpCvss6fFiA*KOfEowWU+{n01b35KmK-_}TpZSBUMg!1mb|!)vtEt1`2m4-891er zppyJ3U1JzaMxV7hgAr#}N0xb2HR z|55)fZfEiUWcWKrg=15{72FWZ@AYTd&&I?9spK`<;04gdpD*0*A6vQ$pEai^+>c*x zJYGxOC6NiNO7{l6S}tKB0nd**37k2pchS*guK+0aClNf%$MlE+``+EZ;Dy&w$+%PS z)#sMvrPKXnwbbm8+gL9_|3^vzXM-GCO2wG=quyWjMtb_kH|>=%h2ZPEyE_rCz1J)* zmYMg0MtrG_JK8`%zd7KRcUqLJ{B(4=eAjXNkJhgcnPwUYROT_~!S-Y3)oSjkbE-)r zu>chle^(e0aU7SII`)za9b5Xd;z_zBXimgSscorI}`$;XAD3iDn+-f%W|`8v3* ztL4;XGoP&|p83R6i7F2G|D`prQ&TF&$H%pvjPLtYu6BXCf42(`NWzKhq=&4Zhy0R6 zzCAM#94hH)!G)e^Ynd&ZbJ&j!vkcC5FVUoda{6IZqVhavZ&EemiYZ39<+5x$EmO=w z=w9=34_7o-L2@5ar^wTcy$3E17-ML^8Dc zPh@<6)KmNi(3O6#(<&v2%cI-!$SUK(Mk_;3bOmu$ja}=BbJNf;i5mqhpTH65^)C9` zHu+C;kT5Ul!u~S;5;B3u$u&ai`uuvfJ-0dpa&>TZ+Px$x;P@qGwBoTT_gVGq=1<4# ztDut|C$LU+`fX0g^>D|<$@yNtJ--jVTHW-^9gg0(TlSK|^ZNn31dB(o9iM+zDr};R ztbv=ql*EGPc0rI?f$nBUji=X3NN#YH8po`F1lWz!u-o-B#_BXQa!`RmCqbPpOG%u# z&*fug%QdJYTK0Uw;ZNl4>yY5ngWg@&q?0FOhy0T;3)v&0sN`)=b;O8q0SZsSGy1e< z^@=~X$GNY@{<4>O)o2?jkpS6a!6A?(dZxfY05p(i#ZHYTKL!4mXTd)>{~X3IrcAA@ zq&vPa?Ho*II`;In?Trj)IT2%(M~rwZIeh+quA2W`K~dk|6RYsS(c#D=86;mxWe<@e z7t2JBkOGE$opJp~LHpPdOv7n`UL_@NoC}4VJn_VRfj%_F!GbEouIOOsu}*y>y0o29 zOIQQbo!E9Az7?1og&|Ki+~DnmX0b%{d0A}m$B+FpnMEoF1E~@tF@HF$RHuB@lVtW{?8+W8EzPePQUXy_xmfyG@~A^9e}>&| zh^ngj0o#5CnmPp;$cp30x<^uwH>NHi!X_2FpCSU~Jm0KT#dFXf__+@wD9K9#v|;nZ z&YJe!uLJgRhL@YL1iFEVcF`^aS*(?e@1oJ<$4oZ7nnnlS(?B}p&k_jLy9U{@WWG); zg>f`bHdX13RwM;L|1+nmP+;ZW4gVa*w;!QqfRXNn5Smn~YOBnqMaag^UaZK&Ut>SN zw?>#L3}p53okS^bAX>mlK5^%u&=UX(DMr+30oO&_3)3$`H52*=GFAk@=)6HEyyJe< zeL!qsSp#sxgjQcmaN0dI1h%hq%z=}3HwL<1_w6AOJz5@-{^&4eE@j{Xu19*#+Vmyf z(z#IClq#*Wvy(1`%@hAbHs6v3Ii?s7k)k#VakQVAfrfI+Lh`LK@ax>z#@!VU3Ha^U zYXX@DLs`|^SU#aK`i#!V05Q=7oY+vl%6ll58Q{vr z_>3&mS{^zzXkqMsi$hxQX-j9VC{s_YL@b<+R zA8`go6GphRu??7!E$$=LsP20Oc}`=4h@58QZnZH7`8E=Ravbpr3Z9X57@1(6DbU#{ z@!5jpNwHeqt?iJ5;3AV?wogqm^^-5eHW1GqbVt}Ek2tvt?$lzR6QD1ApdWsBxn35r z45?>AsHF91rdi_No?f#4nT_sNI(4@jM=KM{L#M^)+SQpJda493LZ)(>Jnw@OJPVJk zZAAcN2>Z~GbrKswrKNtAc^1g^V4zOM)$ZsOvn zkV9qZ2RS~nqZ5FfL`A!lN$1#n6<+|3`VPj$Oj*IdDwRZZ!*Vx|2l9!&-(kR!B5b6qB(k4}qDD}sa zp(3;i#4h=59i`blX&t3b#{4@&#f-cB0Zru7T7GUzgw!oh3%^!e#emJB93LwXH?V z$Hr`rTeH?_W5ROS%C1N&KS;@s=BKPRw?-ZeZVvm5p9&nq)_M;WQ={6~?;|`&G*R{X zJ$|7MbkCvnILsfpLGBiXU3AtR&#*f|zo3?Pj4pKK3PQP{_2cQ8jGpeIRez!fMTFd) z@l3L8PY&csQq@xo@4pYePe>n8o4sQl$0}LDq3OGMroohU5zFdo%k+n-!lN}|DrUs&*(Y!aXgIrqq&3I5}&W3&N=D?MbZX9f8jq}#bw zFFxRD>HSgAW*?rnzTvPtf#Ub@kXd|$NVm6KG6?UA@g2xCQg5`U+Vt_*9$-cl;v(J| zaJA9-ODbL-`1jf~iSL>5wkb~Ivg%oqXH27DWwHzn&2-Crx(y(6=)|e*GI{Kp*4B8U z8xGMyM}4O^ZB}bpi#6Tc?#)a8-kiT`v4TPH7Bb;N6y_b#zrO8wY*Cs1qTF^e7GH6L z`orGRW9nV#3Q5`48McI1Kd;#aZ&STC0`w`Y1O9s-TM3UY+tyRX4wfE>mpB-`h81VmSzRLb6h!>Ji3jz;g&&yHH{^jnCg zTFM6?kDY)aGktuiKmCJvuw?SuC)Ds_qv$MAvjG6n+ZQd|7m<|25*XU+pp5Y7-Hrcp zfxTmLkK-^l%pDB-VhAQwEAvm#G# zklEC6D@hdb?o(*>kgUrC+1Y7aD*(QvRO@i@!UvcRg}i7LzssqV*zlJ)H#&#j!ND2s z6ZdYR-*tEfN-3N+wtC`9NW>kT&(40K&O^2#@NKGUG7_Er^jFYnyfL*IA|&AD9hMA# zT<*VYN3Q(ea#oSgpMI{UU9zw9t=YZDot|;UgWf=asdnqvg3-ocLOP%TW>U&+gBoDk zr0CR8_Fd2_p{=;{KK5{R2SllKgI{mfX z4q&y|_X=X}%0+$J4NG>S81Fa3wwL6DIt>ac7*(dz+N{gMkYTW|qrK3ti6+JQQR(8i zp4`d|0C9k5Helv<40i#~5$&7y!yy(LnjoTqg0fHK&t0}!<+0=E`%)?IZ*W6(5dJcB zbWLC$g&WMCldT_;C)&YH}ylekD>&;@q&zYSHKo`H_0;qs*?dFk%Rav z($>2ZrfcY^>otv6Fqm-b~CIWDkE@V#ES4?1;rDqknABx z8<>SxBR~z$QKR*Q3BgdFq4KR^iUH>^+Yw!NBml-oea?QfOTf#+fdk*$$}aqK8X2Y6 zl5f%30Cf`DL(aj5^ymN>c(NcG)DE%8VcRtlkiO#a1Y$kTfnAZ;-Y*JC)%TZ}*Kj7knBubLQ+ju(}prqol;}gIpb- zBVN3Z7fVxIf3oZje`5@Hi{6H%qWTEuB=!38<7`_B-y1p4x8Y@B1E0Tpdn@_b|klAr{+=F{q-5lomMC zWA+^iAZwp4W8(t~jlzSujUWS8NN$B~rbV6u&ng6-Fwf50mydqh4x!-#Bp{PwO>he5 zon5KMr0ACsRQ77(%;Vl<=5s^P6PS@`CGpq6R6XQ4yD`^67rg8ZhAjEU zzE9=Jb#!Fr!_ge&+G}fB#V*|7mW(_jTH z-2VK*tDbbva%}al{lVvMoVJbe`)HRk>}dr6ceL4^PKpcodxvbVDr{o^ak(G_D8Q}m zvJ5Ui5Ikgx+>Apb_n?tcoy)6vxv6i{RXQf+xF0?PNAe=fX20acGc3`&Vp$**J8Ac9 zkY!_x$nLK*Jv(ciNuMy$%KQyB3?k0=AY`t@PI*$dHlZp5w9OCGsG0 zGb{RYTI5f5JB$0K3GA@#GAVvDc)DHG#6%{3&JjcNFhxXwLpl9}pdu{@Ux1$r0i+DX zb+xJ)b9l#U{;cA*sxL@5?MFIMh$pI$?=&sFS^CxEc~P+TnfPo!mm33Rtvz&!6V*jS zt*;)5rhR0p0J@d#2LNaVmiA>>us%6}6K7lmMR5t$Dv(D}j5jM2r-mAqDL38fNaSiF zPIZ-~EL;EYIP^*U>0y&0UPuVkuq~WTz3VW70~*Vy_c03LO@ z-CuNH%wkmk(0QnSXe@8FMdWXOFr`C2-l{{n5(7>)dz5fbh=(DiN*!O-t92>kJc{d? z{TjCIFu!hApCoi(<>0mE_w1*P#_BPsa`C*L>54rcb z-!13s6JN8o9>aSKI`lWf=&4=0LFNRX3K`x_t5+SDbTxL9+U8f&w{C7- z_4}LuIF{?L=@p1eSG1#8U1l!P3z?S0^bN~2!@Q#Z(Dk}sF_nGjS~x2p4}lLSOOP8R z3Rt!y!HNECsO~rLWI9ayv}bpTpL@ZP90g{8kL2-0<2X||Psvwh`E6b3>{TjHlQPEe zWM*Zy;6^fGgA~Q{0g>khYrSvlWgh$_UVXYeuFv}hB00B+3KQgr)&%L9?|M#M2Qxt7 zI3~XhIuGW2XnU2Qk%1A`Oygj5c5p*+e>-fn`f=HT$&R53JaMSWvtGQu{u`@EB~B10 zw%@4Kcu!}+L~*CJz$%dtOP(W=xkbw)lUZ%9=KHQa1307Y(Vf&JYpRLpJ!XwfHD^3~ zx}P^)OR)_8ZKf^*qwSUQI0Q0m(3N(_PIDAKUXp53Hgy3MOh>+?wddAruHD>^JekEw zj+mUbo5zW6`EAyA)7~1;sOJjoQL`q?3@zkp>2@C;wSNtkfX6GLx2{t11+h-0f*H z5cy+)ih&*Pqz(K~t|sMHY-nYdSUPtvAAuodKTktv_&axX3q(8~OTJsSu^OJ^m{eO^ zTPO>Z8F^QMJXw%N?g3&F9$$ezg{|s&CwF&>^f}P^qt8czU(aTUi^Fw&C&HAoS7<{3 zh!!Dzqh*f?M|;wLcn1}7_@J(?S~RJ0c7V}4m!Xtc^26*=6dJ&49DDXG)g!lu ztteq$eIsTaGF_l_3e&rn96LNQ$a(}@(Z~I_Emo>a?>F(G3KPm)B2W=&9;G-=bbf}# zwc3pu_re(T*fZzt4sS27VAM%DVrOUMXdZt)IFjZ^CxdpT&W6vO(2|{YD9TZ5$|_y`GA~W$ zVhPi0bJwsqr+caIN5_&4i$2^MJ27Ke!V4SGZG+xT%-wa&f3KQ!N>MKMlH!nP zck?VwxspDrRB@^sC8PAdff4&`uR4C2_AiYk`!D7ZM5;{m75+@24XFrA83#;IFe_!j zG8J}eFBK^PlkJfz+u*d_Of!c#sV(&10Kfuve@w%)#O0M9(G@{ZBuTzuWer7JD@g5Y z<^x$sFqCIok$-+948B-;1{E2;`Z1tQNK_#(#toUE;Xaj$2y@L9Q!En1h~73ex!}o+82-F?|TLfZIPN?S}}C7Qc|L zSU3xJXFk~Y#v$Bi^*3iXuLM5u5Cvke#t;}y_#s=oTv392YzA&n#iEJ)U=1?}CD{Cz zOtPe+=Y*cvSUh0l!Oxezlq&t+CTv$hPr7th+>4#+J=Z5Co)7!tB7CpADe!|&K6B1~ z`5j0yiy=nG`%!%MmFnSU$D*6S+Iwm2qo+Fo>GaM7ck~gBtDgsKRff&<%Ei=ziwOVRtHxN1(!^| z?Y|@9X3c=;BiPQpF(x?1_-tZ_dR9kj$Btk)=VH$J+kUq0NnpU;i2R;n0F8Rit65$@ zEy!r2Y4mAziWV0-Bn12j4ZGBe7Ign!Oi2d@bDcC?-r^0#H%&6o3A zd3#tZj-5ls+V18z`1Y$4@0gYok$LRBK`oU0p*<=-7>1eNCTPtRcqsKux=km8F27;s zL(0|nQ8XDUm`h`2uotT%EeuvC#@JU~?_@f1bwP$J1y`XMYmF32e*XM#(Z7{MP}P-o zBpD9Zd+G`_CJ6f2YSzrc5yla{j3yxzs37*o4Se{5ncQOezK z`t>%gK1P!5ja#otjOPa#9#RJ)+FdKwFc!2gezl%dZ$^xn@xyj0*S{q+p(uWy=W@<1 z%k=ve?&EA6^h=BlKV0OGoaE^dRjUV+AO*|YN&d``V7Ja3RK;jluid-N@oAdg%`C!g zqeGS$=}W&In`FV4Z5lY>yl!!*^-yCgdw_Tq-BaD#>~L6-9eTQP5T!wxM*TMJ=@3Eq z-svWm01$~nMGpXUFj!rE$9O{JjQByZtrVs z`(HgabL#mw(!+PX^*>}9pL>*m%L(|+4!HyQEpx2e84T4zz>cc|SQAx0i<$=gc0_S= zzeb<=)ZV^!ymA$SfhaibYWTP}7^v60Kc7>y6h!O-VZ^sT-|F4(q;^+4w}fo|D^G_M z#_#Nkhx*pwxlnMHOd@kpX=eT389-Hi}!><%z5vIQUwW?s$&UNJiF8ycTOHT36tw(ab& zb*D4kML_p_%*W>dw6_hE>$#U!=OMApgr0ae+2)b^bgdZmSmyt3_|Ko6)NJ>C@MeH8 z1IJ%7_KF&bf6tsg%I#erPz$>n4|@3)C;(B6bneI%*?fXpg{ED6GAz;iYWU=J+hk%> z+TmXA-Yv@Xe$u!7A!SZr+w^g1Gi&JuaK5hZZhP$`qBjpaP=94ageR6<@DK*r+}Idi zC43e}J5xTTW9ax3@O1X-;V9Va|NWV8z~YwixmdajQiYfJ6!~5djm;f;mx(I1 zRU$AlB*usOt`Dff&0lo%-+eB0;ICZgo=&qCTOOw#s1bUqFpnLfi?07L2O552PjDW7 z6CMtCS6%DTW6A0N=Q7?O*&`*(`4wm%lQ-^u67FNQS7Q-N`ck$yu`5%&%2D&TMs|JW z1c&ctx%GAv4OGevx*ZR=`|iHmMId-~Jv;lt33>jDcYpL&6~q;{pU!rAgj?Q>*E)kf z!9H19>4`SfVtq28w%C1K3clM-7S7Q8cXsxZWoPuZS@ zr$ywf(Q1Q^6@!K@jyhhj!%{Sd+PbGvAj2`E%8A)T-;Xwv8ZNx72EK4A17(Y??#Yvk z0iN&RDYMCtsR+rFY9K1TLn@J@>hJi1saExc3Exd^2s*PYpGN3!fU*1HfQAGw0=hP3 zS*UhidY|@~Szx)PAMObb*v~agLfHEPg(+l#cwivETOp6*Sahv$4w&`E+tYV*7x z!>X;giZ#GX4H|u8-2nYX^IJphMEhbVmF@a9HWuZVLYn~{mVcWAP^8wOrVBFz8A|+SqvJ(=*^a4%$3ne2NLuedXiX`7ALLnz!9jr>C6)wE;=zj( zF9IgAi=mli4e^Is$c)R`K0JD=Z>Ce(&|0IQvR4k%C)21~iaSX9eExKT*`y`o)@&eF zgd~q6XE2)K%RTHQ-#}7k9Ja3{F4#A>?okp;l_^n0Y=@2Y%yGh@aiIQEpk1R0B2Q zns4kx`^Qu6Wm+uTLzTG;`pZ}!wZblq@#H4iD<}VpO0J3Hx*l%UAlIOq>~loo<81zS zPG@dqo%>l5G5<4VYbQTX6*>Zn7Mqrj82O?gi~A#-QyFx8h!%CKgH-;WP=sjxn|e=Z z@x+Be=uqgrx1>U!RVd;n50O6J1tWe+l>Tve_0@P#M@J_HcA&1afkHgV4nVbW2MPl% zapf>mPSMdBlu9&t?jE9VVZVQQ>$U~odr-3GUO?N&!MUI-%b#LTV_gHiH}qomErd$) zVlOZd%8#LZP8*hEIs8y6(sln{Nf0PDy}BGWeYSwcyf zjt#?_=z?rM+(w^xQdMebUD2%B5Xnpe$9jlX-_NB9JqGHob0TCtNKVMCKG&1ya5C&4 zC1$sLD#&2aXP)eGNze0a$Zl%|;#eO+`pqS`Lf`hNDclW>-!ZrwQsvRbLwg19`D=cn z0LtKiS*?||iI~C=eyeJ`Z+oNM^*y8+CuTeNt!X-@%3cKPW!>32NtsM?kMd%HRarp9 ztkQ*rh$`a*x0*V`wmf*82}>SC+gGN!6pfC9l`Nk1C7Obh#)=~J`;rpZN}LmXSeW>) zpDcOS4~7O&F`frO{Y#UL}DLN;8RP>NxldACp+ibC5(sgsd z{i7V|a&QFi_3%_iTQ_oOLy8TZX#)Ev)c)P8`5R+6H|daGoQyn#_<7BVoo1^@enXZ; zGbz@^InBG43_jw^OwPb*U9PBn9-MALLny2BWcn!XDgp(kCyX5yg#SxY1A$4eSHekNH8tsb^TMsbfe*p zh6_GOD|x=7uALY^yvgB}-_3Rfkws$q>_W!wDcjh(Y5Hax zFZZ;6maj(3fxt4#T_Qzxr^4-eA2Y9+B*#w<{P{00>+gMjQrdNRB|Yiw2(Kj0?C|k| zD0%6A+;wzHR$Y(~B2_pqobhDK{kSpbq8mV`Kc`8N6Ymm@R&01AwjKCx=CQM!?Dvh) z-gK{B<9hcrWnL1>ZyR20kV`{sImqu@Lh|WX&(m*2Qcc64!aCZyx-s{44C0|7V)L@| z0|5njLe)k@v+C^#_r<=5aGeXsCtsAV+PHVEsN>O?J1dpOdi5cRNd2)++s4tjh4Pk5 zC#+HHMqs$-2l3_apr zfpjxPcdcFe{5QWqP$P+=1@;9DK5HLzhL_9yF~YyCBkqA3+92`Kx}bRcA3A&^kVhkl z)j*?ZUznulf_~OV@ev3SBv!tl&wVGGYdvT}f9=qSUOb}hteLAPz72%8w6{?s@bfZq z!=;{(2h$sLXLP`gIz&bMAE&4PzYqPTRt)DA%$>H}d~kv=&f%EUp@8|s&(uk}fiO{I zIxc!UPSV?o+85{E@(P>@5t62a5575tp3eEI>OsvnGz36S(6@dfF|rJv_NrPWtyJZW zPUv^d@W4+tE8J+?rdL6{(p9VP z^^i+SN|xE8NZ-~hxHor?71K1V%0_;QKDUx(TIqb>3SJ9ELIxVds8aYoFV5}mmUYwF z?;z)9Wtl3Ac{#>`Ka8;gYP@9x<+L^;c+nle^y|2;19_xw=lv*6163$ZJn{UPHSO<9 z^sq^x9mbKAnW0NSiGpHWMP_u+Xujq5aKH{l7M10pJqat-mWj4K^zfos#<>GsQX-s_&0YUO75?q5fZmoMFe2>p_k7B)4kv#+ z8s(}faQ7s-XWTb)>K?u9s6K>lr(uv1;`X!_NGSk`cE#%=(`8J4t2RbN-6Hxxc0fZ4 z-f7v;51F(^@o!BJWn|m{&(@b>Ab57_G@A+f6&XZ}xg%e>$=u(D-=7{=9?t43OmSIe zKCcorAj#F^o^xMKxyEakX4|=hY@*uY9x}Ih-R;yRuH8hYyXEA#uPju?lI@#())?6gejg)Iv2YcmHR5qgcaHrgSe@y(HXcuX zP9MD6?rk2sv$8zW_0-Q1PmXEZqGZcrk$n1ZSHnMCgMpPd!XiJw&O9a8iyfvFRQtYnfrC+L0ED?CyF!HTF zt^g8g*h4R}km&ht3;y;fp~S)#T>7zbFucpYPW)^7rgRnS@7n5lFJG}ly;9>-D$jSk z*0YA>eE}GeCW$V~)J%cf)*{S{>`y;i+sp=GX}YIRhp| zr!>m5B@sL}@bmi>co6K7`mwRO_?gpwBPinrY}>3J>O*^6W74SO1*wgwUuZXD^gLD) zTkZfFu2yrg52-xvVK^72(X6GT){9(^wB~i&i48o_44#kBa*BC( zen88-SQks}bPe&g_bDa&Y%aCN*lNJlB)G0SefCAiow?6-0%tycd(Q$VX%sVYc6h!7fymsVnabqr? zO&+-XGJ>*`Zggn+XgfCpwM-mpEG?koH}`4P{fc`6d|enMe0N217H;)+*Xzj5Eyp+i z8BvoD{8Gd}{M0*Y@i__5^V!n$ z?w1{bG4jQ5W{a*>1-_TtNGk{Th9#aL|2nl4MfNSxE`pBVMjF?2p@rgayYd>q0+arT z8mGkM`q6|MvMTV;YQ3TL2?GH_Oh_1VapBauNyzVwTnb%qfmNU)ZJWL2%*qlt^HZY=2un{HblMh~x) z%I3XTh|K_mk=Z^9OOzj_-q_K+B=DNb|42TF!J^rLo_F+^x@_QvWM!D$L0Q@^_Egn?l%{doFdEh?d=g}rsKE# zaTv&T+1#Wo_G_c$*9e0DVj3bM)2%HzjF-l7!fH zlXzm6q0z7i1SJ=DT-sHWW(Vn44CTXm0fsX1?=$wezEt{DDDlM9r5#@;HGq^yaH1k} z0Hh%-pBsk~IUBv=a$QiaEAfP9Q9pCJzZV4d%Oc;4 zHh8;2f|yQ%*>(#nSqNbGO{1WF6pzT&ZT*V|y?jUwdLY#`L#-b@v@@n`iO*!@E6eDF zO*R;K>bezN0=~lf7mQk;m7HvwHxYj^w=wYR^nvZw871Q-_|t-UCXteI*0+DwllKhN zUs@QQ#uBW?@B9ES$O|gDntJ|6kCGy8JX2=r3 z&itE8oSb@gk`5jovQVUaw+A|Lo}T98^vlyvD!4EG}~T z-4XG+5x)G%eaN~MNw(BXRR zHy==xi8x%XUz=Kcqz{vsV$WX~m3+jj<@D>o;4T3Wc%){@t2wzZ($##~>C=y0I3 ze(zAQu*E2MuMUCI#EaQ(IJ|xXV^G1!?$5-dMF)6f0JI+N=@AThS++Xl{=)>1UZ}Ue zSt=&~=zX^-;a8e~@oe9Cc5$r|4-B~++V@l8YMMLNKa9rvp~1aNqG|+cN)-ld67xPn zgwbNfJ`zVi*biLr&!KXLT5Z|^9If$v;h-M$)-%cKU6bk9?4aFv!i5)yfIF{Ndw75y zK{9WO3wJfBu>9>z2)f*zcJy3#>=q5B6upI`x62s37w_{>dswo zFwgscZdUJ!vuHO;7#>q|ALmQA{DTk0E=&njI{#CP^z_`0Wg1|#DlP?vB9H<;{?IBO zlf^#N$uh2gb2Rw_1`BD72uOnR;TVM~i~FMi)dF8(MLLz5dcaa5Ec&-z%mgHtahJ2& z} z@~b^kqel1J&gkWhbS2Z2Ubc$JSbxCoQ5IE|3?IH)kArRxlzZPT28-$du0C3_k=VZ4 zI)=Oi4z9TPhcBl>pT-H2Nf&=H)RAh9hK2NOVaOjWe7}B=*FQv+u~w!XD^4}x)r?{2 zhd%W&$i6&kN=15+_5sr^j@Ulaw{2CypfF(lpGOD{&D{&^++ zAKOEW@?Jj2?j`Sl^ULdVo}qj~1B}@Z%|sWvlyNky!}pQ<;7S{os&|yc@GxfgN^@0!~{FcDV-3f&0R0>Znj-V0LRJRD&!EoB}DetTfuF84I4DK%Nu@X zNnqo$q3%gpq{@7S^8~`kxrncwgZRh~xF0s%L9nN97-aWIIm!gYYR=*I><9`p1KXE7 zG;0ScZj6^RAE1+tP|Bh&U0PJbo=uyT1C>SPo3hH)NGG7tkl^x18l)w5nWaLYf5PF* zR<^z_;H z$sM2X(D~==ic1lz`>n1in9ybwH+yq>YHAd0Ytuz?Ms=EPZ`0E?#{yodhuF417p=Sa zTigVmj6&khvcjixu7_7fIeOTdWWuxIPE?BNJB~%#k;eKNs-g}T9-12J7eo00tzM%l zQlW97U2{H7MPWIngXpZ^Vz=UR+C_7*T6&7q*FMfOfZBk$qm_y_Jx~T8U@p{!!iN?c zB_3;nB1RlTHQ9mPIWAsFr#i%6>uk1!Wo@lzJs&Dx1Tryz9@o<&R0W;nBCd+)CXW=j z$u(~e7REu_Wp?)_48gf%zumS+FmjMv z)Abqj)SEUQZi;Z!xiF0{V0~+8CCr9I+_DnP{LtyJF)dAPvgQY&pBdc*1y~*;&Fzd% zI$FAYo4lKxBj3(}u^O0(Odxn#C0pXLdujO#_52^aMTkNp!FbVWn<=4IP$Sdylax0$ zFe5<4OAOv3N)j!GXpW~pVjx&z0kw+o7h-agQoYCQQiBV8;y}F%Evbp1m9Ath8yfPJ zEyFuviB7qbN@B-_Wb4g{Z`m0s&ZIvVmjHPT{tgjfMlExt(`g>D zYV9o^9}AVA=)jwC8>fx3BCU_mzNVj0fquT;F^Lq$8oTq^P}nvDySmgq5n>$VXU$BY z43p#O zL{w`@vQshl6S4#wC2S(Zv-Bb!ODU(p)vNS`zU*~8$&y9$u?O_Efgd*{i&N|{y*l4^ znsTSK6glpouFX%8RhBT#kwyO_9q^}Lm zKv=#yg)aM%IO2IoKCR6=d7!BoSa9jG^OEYS>3{N5gA{{WFI@0grc_DsEE@YgW>*~+ zhN3Gj_0U6qY_JLV^L$O^!advH_1slrd+2Wka4Il~dYmXob(|BlB>?<* zg(`|XKCYiiYTFdw|C$Ppq5m&Q7XJ&)9#tRlkFRCA)LLyPTmU=X+?i`wqsRspu7Vnb zSjqI}?c~5W4A^HJGD#{T{AkD7<&H~VC!YUitTq)MbKI{#;3~g z<;!2A#B_p(ZAnA~)U)$Lg?gB22dez)RF1}k#=&*o{jT2(Z34+LK<_;ve9*s&FqxEs zs{B%VlOIHWShvxHj)267{3?}_jEcR9I70LSjV+$&vpUr($6+rTwUkVe#EqRElpGZ2 z+%Xg=P~TDwTcqw0hfQTntOGZ95C8fE|eQzE*82Kbzg z(=p!jhzweMM`+Wh))3p2=ikMl*P(~Urq|4@ElfB$75W0M4&(7=Xel0m`0r}6P}^zv z;t)qyUeI7|H0K7sEz0!G+w!@&Z6&{bFO$-HZZ3WUsei50E|=j%wAo!Ii~3)Ton=s5 z@wVkd2yVe065KUF;~~L=OK^90ZQPv%cL?q@?ruQ>1c%1mokkj&zIW=qd2{cZsrT(v zSAXfQbIyP7wb%YFih?OlmG`@)R0whWrd3>KL%~5SEf`R;(6$*-2CtCB1txqu4{Rv> zp80B9^O=ZN?Jno=w$o~^&`+hNBN@&iAC>q84#tqUAC6p3qL+SW{T_KyHkSC{k13g2 z-W~SX+jPy09q50yMg$+Dtii5)uWTm%D`v&LiiJzm%_myG#9lr7WT~_3w0$#$Jam^` z_-hKJ>ZjXeb$gsNca?L28lltz=RYTlG0}6%Ueo_}=Kkm5``=y+7!|*3vgF!Oqr=Bm zDZ5hPM|QHY#)X;V0rnB}0fcCkG*3zlc>IIP!?nbcsrqoVmqW zaAhz{{EI6S!Z({DNhUa!Oa$qYZR@DeGyBgNv#wkdj^DFB14fNpRPDcnN(* z2m8!;eb<0PM114PGl&>J@K0+dN#h>kxdus1Y*fnt4F7G(6&4SRvJ8f8y5J~@97cNh z8EH+_1!UCo*|R!*izk3Bi|PVrg5Hk8{F;^Q`IcM^onS5363LqvTu0*X-*b#O0Q7x( zNkeSbhZ8Z^BQOvn+x$$*)>)D(P&uP3s{rvLiAV2ugUueMi9X66zAP+u`gX#a^8A*= z#^8*)ZiN$xF3Z*+V6u>CMLG66u4SprC!)N^PpGgs`sK%AXJIoG+A)xo7jBYvBWoUP z?UhDRp)Nh0czFE zVSw2&Dy3mXouQfVaCn%DF$P)ksIv5u2$C#=Nl}R3rY0`9e79I-KouWReYpGMOC(Nz zJ0*6qek1$`iNspvgTp}9&9JiwOKz^Z%^%8nX?2!Mb@^s8B{RB_^d%qYNhoPc<^FG< z%71@Hkx8ClwcpHhK8oo4@_yhZ}ptVv`nHb`^Xi|Sd{{r75E*FQ>|=q zC?H#1A{H97UNO09{4#Yl8SOVQ&sXz`y33imZdn@o%P%BhCv7B)Tn&ySb=9qh4O0+i6oY%6 zad=9B0fH}6EK9hSMFCSKt1w0SqW4bp*R#|kbO7RaI(!^UWM`nkRn{Cz{jn3{VVcqh z-p_G2e7W1v0|j}@@A9RDB0Ojgb5*+q{vQMfFwC$QxO6U3^E@mW_A&ct`kzRLGt%p3 zL$f(AbF7=YK3M4|j8bG5( zYo1}LEMXy0oRgzX6t-ja$q5O`$|4p7QC0*lPT$T`B|H1KL7}7}XPijY3Q)#Hl-wC@&dP>UhK(YOF=j|#mNag#jm7NLh%SOD#ZPVn_ zEH{VyV+f?%4Jfv-3Bx&P2*;pip6^_mEc>e!{`GMuckhF-i*}?$OP>iTyWjX968b4X z9oSjE`~_9*uj^02;tS9S&H$5>gS)_Li~Dai6Jk}>N7}MNiI?dP*Xg-_h_Dvk{|odl z8#?0K3;RNblWo?lH<2GOiMr(TJj6lI$iF<~eiZkAT*+f~ziKgQHeUa8qLb+hL6VSN z%-;hHLMeb)F=WI^XG#Y>#YDh^1A->^QPB45yuoWUh;&L9X4_w;L`V3D=lWzhQ?Q!v z;rBZ-y6$`PNul;1VTI65^K8&v`?@Wv;Mv+}#yM{Xp?Nk&==zcyRk~|6{_uso-(!0G z@2*e`h$7X{B2?@>YU}xMq*UDL$zq<%$qeB-(m8kaetJB=Z}68|WCwNtWy?jI4X`rnJeF1 z<#&Vc9yQR5loQBlt;f*txVK0><>bWKV}0oIt)Ke||GYl1bNl(`ez8_qu$-a>Y_D^c z(%!yUl`@`v%G-yWZ2Lb6LELS1nE; zqUf8C)OBUyb~}BrwPTsUOUxHeYVriOr>J+xph#|9T@+fvw+0MS7>ic3782Q-o4J@G zCa|EK_g5sqAC_FO{n(dd0b9(_#6heLI+n@E9y6tH??PSolU1W&(*lO))d#O8P(vQ1 z_D$TySzplfCC|4Z0;0C($L_s$j{1g>gw`CX5UowRbvdZKz>2~)C<{WGMS);>CM#v* zW=U*K6{KOO9Zki~K$$Zo!LjwbWfqo7NWMrl%FTV0AGy0ViVA<(kJc7RXl^#R6yEWh zAqBmTjG>`Bwlx*>-ibQTb|7(mE`KCU&|{uoHyf^{_N_tJy#$1}G+t1dOpDN%BY#Aa zL+i;DP#$d1<{G(5aCSJSu9QC_o87_ByR~B@+oIDbrd&2V!o4+;XhHu=ojKAI!CpMk ztFup2Xwaz@pD>vto-#SEzUq{<_7o68f0{Fy)5C76pnvbztrj+fGPxIbxXxA{`Dq;Ip|LS` z$}Vi%>AofB{_YDMMnNQ?FdzGVV_yHQn{SDkA#$G@Z?PL0_rc^4iC)cJ#OJSt`lKM6$4)w zqWo-{6#`#CKFJHPd>B`lfh>XF4Wli3M1bS>iCB7x=07&=6IG__eo?{rlgiiOD^KH? zIbk7e$yy&*;oH60HQ^+9g7pO%ph0&gJ}t+V62J^^ZG4;yDA2FAj=VP$Hku17T_^Rv zDs-@`AZ&8C;c3yS7C3w4T;x1XF5mX!u37%!?=zgOW}~Ty=^?X7LwGB`BFe*$n69a| zOwE44yJO3QQigT-u4mxV`NJci;n#Ja`D=LdT*zE^Yb}B(3z_uY8uq~FoH4UO#aj>m ztw_e!n8?SB7G;L37~B#;icew&EnRD_n>?%}Ll51@Hlq z6uiJ3-`v@>;AXSbwoA8Yk9-d7Agv9!X*)+*hAaWs=dA3SuW?rR5R%xTYw1XOcX<_r zY}QD^dliJ<^-Pc7hT|7<-W|B&l^7{Ls=D@3PydGlM228*`L%in?2{%;;6`%MHX!gM6=UM@Z0=_Y+-6z3y(kE6G*3gBAF6lqLf z`QJzPZOchywcnQC`5uG;7Amxb3aEx~m|1ypBHU4O&ND7jZ}|Cm(Zco{Kg-MLre?4S z0(s2pPZo~jp6hCAbiNj<-V}X>ZIY#qU4?fv<(^w*5{4lfNw0L%4)`v`P;84q?<#Z1 zUK4UE35PS-O;tX>?=}*mXE?CRu>p74j!Z20 zuyacAw)v{!4v_+!(@cLJ`*-Z66KWa1oMQZ01keykf5BlhLl(ZfFRaPh)qerbTp3N= zUj}Qrt<0AAYKmQc2Y!J7?-n*8tH58ElgK(Vazmm5T<<3Jy{5Io6NhqZ>EfjPxv*JQ zqWc`0B8-Im+WIi*(XoZxg34}u(k z=5kprItM2eYPr2@`Lw*Ycw_lW(Jl24s9QFd)Np=OBPfIdZGg+T3j~5{dDFd$I!)5+55pA5C?eQRD?1h!H)B?`CEEBMLV`!B)^gBzt)4~ED`KGCmzdIB%5^r$3 zd_uWZyY{`p>*$Uh)^?T13lUu3q*`W5P}V}#J4zI_+!2?BON=T+&hl7|z#>hZiXp+< zJjIyeKHCwj>wtNybQvDb?{?r;UhF+`EEC_(&6|58%8J)V-S^u{kd`Oz)Ld7IPD-5M z*0pYv3(CozfwbY*0e%lM%=25Ruod@=dBzS4n83xQJbpXGC**&tHF+-=d~!z}JgIQn zHh&|`T*`Cw%Wm39<$MYPvlIVs4|^|Fx}5h4f5yT;Tk`)n!C~z=0Cnyku23e05L^Ul z36&llw;?L!II5A3xi@&S)#BPh$rI9lO;;-CtbY?;$R?9WZJJVNWXaHLmXYnVXz$)j zd~4FOKtgiEQwlRKJL-@D{3xsU`PFCltg6^zHFz%#V5K~oa)+KTbv`xau?x2F(QP|O^Vf#qWYOjVRG zDzfCV?%5($|2wCC80MPNf5fyxU^FvF6-`^uMH%ZHD5JM@DC54nrPbnQkv*wP9-2(b z%;7QzC1*pWsp)8+hal1p>81Nhb`GRvP9GZ}TJVRn0~CH=&{F3MiL!6A3q)3e5Yjdm z41d;36wOtLCp4y}4;^JmDYO!XwUNJ+V`Baqks%wwzc zW$E`*9dhne(C8R5x#CGB+h_Ag-EKcUwwXih#wrHO-`RrQ`-NuWi5QxBwHzkDc)yGu zq<*{PMp%E3pNx=d<4r8Hqh6rIT;IrpZ(&g-w&)T(Vo+r)b1a!3X1K-EN2 zjS4=(R?~mj);2fqhi!h#he88tqKvl#W2Kp41S%#r5hasafRw~u88>4X#(yh4{OgC8 z2R$sk`qw`bA3`0rqcFj3ebw{TcibOdlWxdXV9Cm85&JD(8Zw4_s$!ct>LO0Nyqre4 z5w&rK-|*WHAL649U8Y6g{1v~zy+|JkvaH|M7L2WYIpR||cLrcbKr|h!MC8J@xKCtOVU)JwiyiG5<>$zKfXA-Ilt}yrbJZ~>D{HnQ zcPtrdt-sWz(~yEf5|FqUEsTS{uuLd_TGDUs?q+XP($R*;?+L zqk9^fYWgf6w^UkVU)VKVBra?gsyT%{q@jgG8!)EUeR{gdK!%IBf~Aw@UsD>yl7LY` zi!NHrK}#KelAkW&rIBI;0~r!tj-`^F49R5<45Fxv(H!OqkRTjs{Um!0H7_wc<{*Ns zTNQC)e9&c36m8q(7TW}?^v6S5weM?L%2wllJlUqQ^x2Mg-PBg}{j^Z&4TghgQtIpL zWreg@io*DqylgH_)$UUceaz|V+G_h_-?lJ}YqJoiAzx>8OEw;`(#*^_*P71`3d{9f zbNBG_j)FRKe;)1P7Vr~GvAUG%VQz!@(;^fB__*qm9#=A-FHLXGPfmIc4ocApGhuFQ zNf_4!nf5$#{o;ay7xM>u%EQJ>7doMQ7@i`;MXB0xtuz|IsJU+6eNRnnQj*&&83^6awgp77BJUTt{)@8xRcLj`Q!sG64;d7UWo(lW&`wwh$nb8ab|2E*2}5GI?WK^lGQw5m{{g$U}{O=ZWg3Y{NqGw2!y8kZMN2bFt$sg9FL zk{a9LSR;pNMn@6piJV8T@3!Z>UMl^u{|i z{!Tex7K?c#>P;){Gkz|>C~zyL063p#hkW~?H+5Xg#cb^WUR(&fYnjxC2KgN{ASBYl z0)wFp$f3GCon5xGh)YbfkYOUYMV4$j$MD ziTZ?v`^?4b1NG_W4k;glcuL{-5JNGr|Dpp0lDRDt`^ng8Mjc;wb84zrub(?ziHLHV zY|%~&Zk(cgi7FQhoxoz6A{ovwSXLgUce>kjRSz8=^{vjD4aBVSgmnKJ-nmHoOM4zG zSV-M`SrmLY-%*3N8k@7_>%$o3vft1Pw}nuYNjdg8z)C#6o~kUs z)mAp&XLGl|F2H0Ic`bbNcIddRWK3m@2~0oI)*>}uKefVc%cFeIODSGadiKLiY#=WDFh%u_cda*oNM4ggW=II7DSJU*iLO|)a z>KSZi_eO7Drs0>Ehm*}FD93Z)_x+BF=Zk<(f_7#3mrcH-ZbC*z-ip$f(IDwUy3|1xl>Rps{jg4Li6x0i-GeE@awS{-mzD|3k%H8e z^}LpNCFRZTsi9pk76yjQ=8kmjc#(p24<{^r_oy-`XKQ1%{g{`2#iyrAGg*@iArm>f3x9BX(C)>v04fwAI-uysAUTj`-(Jvd03T&55710nU1D zulSxUkK#-|pjEzg6-UlH%)wfQ| z;=U8r_%jJ$t07y0v6GoZQQ+1{9$szH53Wi_uRuQ5+MQi|Sd^$spO)tynNF9N0Rdj) znVGVtzBB53!%fcdiMIqzb(jBqYfG|6(QT{XZ;`EdLkaS508tDE89Am9=SSSh+QmIK zhlrqVCZ>1aQ7b>dLL-+mE);*^@P9An`U&G zp;}grg*n9UfTzjkV(aqzKT6gAlnE|B4(8komrDdH1BgQre`2>9Zox4H#}HhoevE== zwGZs$%G6%j$_`GzBNKO;zGJy0wij1b_zGxU3IZ27D>@;WC^H^#CP?=nuqs^lUF6~Q z5fSWfhHhq|xBrk4oII2Uq<^4LBq2jsO}_Z!;9%c>ZhI!}L_wXkf>8-&zzI3+SIi+! zG-3!yoOvrytrBTaE{=#85=iTU)6i7!n2{iZLVsZQo}ewoE#la|S72wHpu{AQF*FN) z-3u)aLAYc!-qApZPKb&_Qa>K}4o6*cQMon%qyW6r3&(swR%k>LBRTj%d51wpxW-5; z7~Nr#(YsaRTev;IjSZjZv|0T=AN!g_Ufd8bN&Z@#ZZ2h_(^(6(VJWDdq4XtBJN2!@ zFkM!q9VOmoALZ4&7_j}iZz>OO{OiZg+zd6laatpP-DzGT6nfn39_J@J)`Ta;vz5dq z5UZ{yQJDBEZ$iX3qhSL8A7g)AK08@N85FTS+ZDwoR}MI%j9I~&ywNDe2*1c=GEW*j z#b~kmh(3cjLP*rUH;`*yqAz4ykq22X?yPB8;E>uGd*?o3qlDQO>NWo^Yt~*^?ML>^ zB#+a!+mh<%*WR~~f%c^K4QI?>;G20JU`=9)&#kSZ_F-0?FmaZOqooCKI@W0!Qs{8p z)Bt1+&uQ^pPUH=*r$6O!7sHwymRU~BxsV#qAzR2VN*tllCBBfXjJl-8!zGMH>gS^-~W94(~Ic@pGpj!H=i#5;Z4fW=|ksf{L&G(1=Cow@3*cixU*#+q+C{gFZxCx0u?7niWx zbO4`EGH|_=)>DY#q^H5*iJRH>GxZ1CYLPWyx|6A@1!wl98r3Iq(DDGQ(|KsnZ$R7= zjG>v@o=mr3IQS$}%h-)>&{TAF><3JaRC$_`&r%A=#5A+)PnLB1?Mm~I< zIAc8ak9YIN_NyhMTm;_P2-aNWTPFN z-f1+2cnY|_X!>?>>d1wuriuHS9MAwpooJof|C^ckCOR1*ZGUC$E7ZyBZky-YOJ}QP zDuv_R9TI`XC1J$P_Po46_PPg&vv_8I8dvN=ql89mzmBrMuGsCv?=xh&29lB2M>4zjYM^yG93xTCtcpoJrzh&K{F9Hc(adH{cXn<@NTRXbGu)?}=kZmj4anP{JPv-` zg$f%>R|9{+LLEkMMo5Ec56JAA25Wx%P22v^)jOdD3s+O*A;~bZSB=-r*BK}J!DsII zn&HR<%j1eJ=w;%vVwdBafr6252KNmne17N9f{V$Nm*jfPv2H!2my1+?GP`M&ujXM5P$GIg-~qGZpAqXhB5k^lAD0CDT@ z=8=n{;9358c01GtONe)F@pr@l(qzvzDrD1wZiq}2!Z()z7FqYaPT780DVZ1Ey>Hfk zp!_BfT)XDg?3H*$PfhLe{!Y;?e#0*k5@TJwdFi7@S=` z3)aV7^tNBxt1_WKC%vEO5thd+Zv1#DY`x}%-#0bd*}UGz`%x&sclc}7j^@g%2yLf{ z?5}m3a>buNf4EHRd7`+pqQ4fhGV8MFSgYlE1#BqOdr(pMUx+MsrM~QnUb%4GZCQ}N zZo$w97odkj_RfRas&Hrc&+q96XO~cj<|i3utj?jofIu%zuQ759mSiB5cdv8p%MPMQ8gGVwR`X2fo4EdJJ6nO58g_s9m(1=vEb>>V$9cctdFT24DU^L>l6Kv9 zSoz8}*bZ3pbozQm*}vA6u~_e@6jJjt=6_rXooBA`IvQ?#eSRe{&*^+SuqiXJ?Kme8 z?kQ@X`V*gXO|7c!+&OF36DQ85s>2QK|5=ITYcR2ls;URz`38~G&!nHl*N*2tVtmOiLKP$fhJGLi%;kWpdKN9PJ<{3Y2o zZs7sdX;_NiPw_y9N_e>({O($=OrrFV1&u2o*>3yh@@AN6aAw94=t9V*^`H-4*)639 z?pob;URDVnbJ-QhWD*hWa>Ji}J8ZIaCLT;;h1)%*Q!$EVHRv8O!ZdTtHCpiS&@sGm zp-;+Tt7~X5jiiN_uG$%tDEiZWu=kfe4P9RdSLNVt+br$*tiz!idnmRPxOl&BP9;~pX}MU>aiiB%tQ@YH1!95wRZv1t5QWUHSEe$z~QMcOvg zBy>LwN;ulxX2G10QkoD6o<Ej7bM3-dGI4 zqec7{+8>q0@D}{`uL{e5mO%ggg-}#sf)nCBGqXR}#}%bOSJ|hk`PoX8Dnxh~-5@pV z6!y;zCjQO-=QK@7^*zW^E{dKS9v&XXP#sLbQ8xekPLyHLt4k?hR?pr?h$Qv7@mBNLG2BYun2U%H5zsI#6A0*tOI!LHpfIi z%VY~;{$<$xqptH4Nq^S$cD581O!nY^Q}E7CNqe-~x`C8(K`-&knCv-GatUFY6jU>s zHkdkvWh(-=^G&s3-5)A_jGsMEPeM8w>6-zB=n{#c>v7$m!i~pe0bXac0lN~LIhjTa z5^%LMUtdpbp&gV95`kaf%vf|8ayk+yHaR#@8>5-*e&4KKD%`BS^i(d{dZ%FK3_H@vA(&p2g?+%6@A2gN zxH^e$npc)sbDbhvKPZug+M!zg+f3%9WLD{Toi!zI{vWbP&>w60uucsonO7N?ygOyv zBqRC#)5kTDfg8?ZD&^J~WQR}reIn(#sEQFLInskgP+2;76ep3eZB9>n$IoHH>3=>8 zkiZ3fpn!=-OrOL_Zm?KJRL6T-ILy zO1w4CZ~JR1*5$G-ZfG~$Qw7L^Lg2bw)~uvfSj8qpzKjK+ zTnoM_R*~UI8LDrs)SVynBVD#%s+=`jghhmdd3OD%4FbwRTJGg;EqYA-PC-_r&~30F z(3zMpR!%Kkk3#8m!jtOb3i08~^gU4w-4+Ln-{hgm2a)^A6sCMiRrh0muWP+U0*H&& zV#7IsdU|D3hLY9oUC_#IWt|zlD$4!SA_yJ$<;IKJ$?SN~c$p57U|NA`fKZovsNVdK7V|Hh6>0Xar%5(oL96K7stNMC)7{sZP ze>!s1STUhUzLmxIyIpH@eO-RWFuE(dEGVRqQt|KH@7Tq4{&cX(v)WvG%UZ$GaPnx} zgd#V*I&?C8qv2j=MSdN9Pie}fZ1#0ff|zFkz}g4;ou8dMZS*xVEyjfV!w}W@V?)#6 zh2O`+nBgszRrbPsYq0L@>X0tyiUFOuY*G{(pN**bCkOBxn@ih~&juRRYzxKGG9>hTC=3{$n;4k{Ru&oA1eGdAXy;)LZVx(<@8I zIxpq8)=dMGW&i-d=S|b!<_QxGIPmFhjwN}T)fdK%FtNgbp)gAq!zfEKc9l7WKf26I zuP~x+{<8$ENSX{mEGQ^&ZmqBHR|0rh)btDw&yg`QWC{hoO7b~%cc_omN*f0&#=+_6 zfOiwQCu@J(>(e&09kG>^z%`mE1Nc)`+#nVWW)8jheiGrUZS@m1y6?iq(kr;RU_@Dq zoQ#Cw*l*i>Z%4=KCx5%SjIsA~q3%v}vb?3gKk*0PXsv~&sLACZX=-Y3MPFZYo%Kzl z8#KfL#hwTx(*EA@Y(_^%JCmSfQS{9{nUR;QPm}bImvD|(-a41@gvSg08Yn}irxy8X zDkZ)ocp0AY6+SygZ-(1^14YkO;q2*2otN7scpF7e7j*Ywt1gi<~8}O_37i5#)6IXr+-~L`Vg@lO!?(zKq$A4GHsB$ zT8SgrQfC=SJB@!S;&TuqA1X(|1rj{%`v~#CUaP6P5W^$7T#C*;NieU8_AESo8y^*w z1&+M5xOU$pnQ}ZG%EFbi}C9;=p2$yS_7~R@UQRGnO}nb;R#Lp?V?MeKC%D6MjH|X3 z?~+;aK#F|xV5)JZ}^3bA( zOsf)4%e;#3$D?ctOF=Z~2%SZaQ%!+$UZ_SS7MuAA-nsC&uy{<_MJb-DyF>?WiX~?P zHpE{Wjosq*S#||SK_U8nvlXS?{-yIv!OvQC0_KN@#j0hu?4-Y(`A&~hS;4`n0MkBke}w)b!4hg zuA0fD#NYW1r&cj}eGIV${!2O#z{WMXb)!M8f#w6B(*=p%qWMztLN zLiYmLA#`j*R$S=~+c2bj_X3`Y?8BGd%Y||t01SP1{XVvBcnV}|Vzn(Ezkd%I@T0J` zL#qBpv&F&5dvsqv{~*i+5!tQ}1QO2KazY2x7(5uyi49FKHIJUbGUxv4$4%R}ct{TVJnUEL623BByYEs$CqB^9@+YTXJ15XuI44$3a&G zJ%sJvL#l#<;p6-tSG0)68N0P`;xXNU(a%Y~v7q5{o!c6Q(ehOXtX&23uHe&b;nKMk zF0<4UPoa;GLH)_s5g;Cu72&nbO|cT+vbiHr=kdH?WnzAE4!hSWtPLHzT@I)ZM zp?2A;?O1?^}ndMv>eHU12#O<(ZQxi!(G^cQ==dcw# za_}289M4+-2OjuyN)E6Bb!HQJoL-fUa8n2hQ;2relEWCw?h%Y8Zbs3|yeLhb5Z?{I zE=MZfNPk_iSd-8t8k9*-O?n{qx&JAr2H8TTHbi(CYD0=uDA-4JakKl)k<4(7na6|d z>}46AAEoGHru%is@YTRW*;K;`^d#7Lq#kpo;e3fS7BTDH%eK|#eZm|&7G?`CRot+o zKn(x#F49by+KTJUVG@y!quowHjDh#49Mvu(H-?j_O7ldrh3(W`$EyEpkh@p^6%325 z=r=6c={ssPg3?YpMzck^{xx%C;@YUImwLJO-0jKa-ZMUDq$RP9V&R(Rm54BIjC_HJ z^S^J}-oLvv`iPKhot@dNQ?Bf~0NWvt$+xV-Q({YnO{sgvXup@ez4L!)ulJZ5HRo1h zTDU=z;W7NHxiKb#v?mO*%);7x4n3n zIqs*+Jb1W}Zi^CEn@*#+v^sV<{ws3NL@^5hO@d`NaLk*Lh$ z<2_pSS@IKq#>AC*E5o*k|E{s=OqqBhs5W~)(S($u*Ywa2go0~97qF`ez$mNF{o6}s zGglD^Q@l{Ra+zhDVKI@GRy=OHeSR2-pv}egeW+(tojrGG#zE;s&e(3=2htC)m6?Cl z8}dEUc*=Z#AcvtG3v?nB!><~BgevIZwh=k)aF-S0b(S`3Pk7^Xa2VrCN+U{a9qESR zA2Y!wc!f+`%?d_Wk?_J=!*REZ^!SmoaPfhfvm=wRJ0psi3SRkE6I((l1~3H5k)|G1 zLJmE={TYXw^8Vdl(nW$6YAO$6G&2OBBsvrO~lRACBOc zlOyl^s`zK~fZY?bzU-b6l;=}9#luAhEl=JiW7pvs(Kpv}8-;a4-lM6$xoe25JJ!8jf<2ih`$#67zmG(^7*6nJ?)DpF1HO#$tgg+*mC2<;j`P+6 z+=PvmWM4kF*!;lt;-A6={K80{ZW?OI31A7uJ(K!9?@88stZ!A$<*K8I?B1^Fz9Ps& zo3WzE&uyj?MMFP35UpsYN+pC^kiSkkWhRJie&?~ATJs0Bf2PFq3zRmG-S8uDE4vut zwvC{ObYe%JM1B91_Ci~UVGS-O46JLC*K~}sFWEvwfUpXXxCY+2CkH*!DQf<{Y}}0v z)tyu*q2G9N6D$&wsr%6YZ--uy1{|CckgX82^ush#bQfd|bToMD2mo^Z_ESB)OHha) zUMdkr>FOY#&rt(I>!wrOEmj1ugwL-*_ostRS02bfuF@)j7-3?TLQermq4v7NWA=7t z7mi)&-;g?ZcJt}!A!d}!v6$neOjfA@xAtNYs-D^^MERJ5^P!z# zq!&Bt3C*G<8sj+}K08FoZ2*N;jg+#@%7>!C0Obq7UQ$H_?qm{e!~P%dV3Ode?ZRb| zXgE#dF{Wls3)ROSM_ryxGPdiTcG9)B^QOg*-=%tZ-3QnjySF<<8X9#ta{&!9i*n)7 zZcR)_^vi?r-o914acIdpOvP=AHix&?WW>HD$`&@pa^M(72Y%dG7cX0`czGVSI5Q)~ z=(*oOLE-QAwyrFqjNgPvYuFW*vm$QR!*NQ&U%liO7vm1sE^xM|t5H|De%OKOjjL3f zvYp>8>H4|+$Q*#{vvZFRZ`Q)>NSsV99Lc1|owDz~(V-2N7p)-Yikfxro2Y%a)O5Nq z+|Jk>7ksQZmo#%CIj9k6jb)bt%Jj0=`+yrOheGuR&!P2ZpkZ5-ZF6UJ)mPK&IAwcX zv`A*t0Jt4a!KtAGVBNz73s3v`U3{IqT*}H6fOlc{8@dDs0i@tUCG=mO&jBxr{#Rc2 zv-BdU!@UqlH8px|Q!TN#?e8US+>4!1E6=n%qU`MOpFclNHnK+SyBGgi9oskBmA~^; zVkk?rlo9RlIu@2Pyn#UPHd=bPxP?9)+zY?`u+v4VzYGi zh)1#QyaU=LrFN7!ISKeetJyq}BMcvpLv~(Y^=MErCw!cUQbRQ9G&kd1gf7?)jeE@o zdkD;z==a)q58;5n{FKg=or9j%>QN|5A54EdKCx5ove(?T^EDZB(Wmr)k&~&D$oY$3 z&W#de+P|<{OvXfa9n{CY0&CU-Gz<)!o)+U4jn&=Tw+I!wU`EoVeWI<)#Pr8E5-BIX z>@QW_`z_CX?zyiwXj^wE!=kYH30?1w6j6I8Ij%2c&SLdY%D(fis|9k_=zBfi9@oMF z;m-AWVaj^<>i2N>D{pXQ*3Uf4&5|;gm@>FO;2BLbqn_Q*od5!v8{lMEfjD%()YYGz zdaMWUIwhSc}yJM#UTSHeBMql_XaPu1`GcpkAC@bbDimBN*Sj)($`8(Do(A9qf*$WO+`m z+>L&>KVR#0 zBi<2y&Ze84(CbbbG)5x>eeb?l;N44`$vX9V*9%Eyb=5b%HD-!b$E)BfJI&7Sv-{T} z|L42V)uN$5rNYPbF~V#&(W`W=dl&z$_>kh;Lq)%FCvaaC^0E_xjnMPt^W}wW+}oy5 z$Sr7C?U`3-?U*KU1Xe*gg|0q#;3f0=oKR2pJTQ8kT!6My0f=5hB>jRO?tQA57adF6 zs5ut!UC(niJn@T=yMeSwVps^*0*|jlnBjxhAzE(O_69C&dRR{hJi#xEw0LmO$^1j` zUJ8EfGG^}F_|VUHmv#8{^t=mERMQDOBnlm~*ApDQrooG84oz71yYn21_?P98|2#A! zV4}#UbUtDbgH-HRk{1FKf>QM+UlR&UdL>F?OU=VUA^18`h~u0RC@0XXB*dTj=S!`o zsie@u#>N{ZrLM2mz<&FUyeJh|!%pI>i+OD(j^9jUWo`hG*9P!5_G{@t%l(Vzotc?U;w4x)7Q_Q2ETwZQ$2eYQy^qM~4 z!t`0^_tpf1>u>NiRX2`HjfwXdM!p08>NiMCKKE(P#W>f3% ze}1{2MY&Wf>u9hQIl#eWdqZpjWhJdPxN0jq199ueAm+UB2jgfh_CM@wY)#dA?R0}b zp0Cdwi$Y=)Tzs5I+Ww$;A}h!Ph->k3s#;~U3XH4!K1I>8=eIRzc5j4ikBGzV!n~-q z=6i@91BqghG^By1F-jw-0+7YTCa~5=H`HM{r;6NrdBf13}b-NSQcVz zv*;y@iP~e>_(n*t+b?l)qRAhFlliR#+&1^FUMnU-BCdzzLzQ5g(j4X@OziKeYIYb2 zBKx*)3P5G}`o2x2GD?<%l?lGEUKfpFY%Vk9ss%@$0`Jh!j;(iRNyc(+cC48pWBeFj z8C%tdnT_edFwV}-p%)NyJ#RQCcxx`y>(x1w#MJgU<<$%t3r~`56X(T@C5gs^D|tw@ zK8EJgl9G^o`Dq5jSUhy7m`Hd`vFvXMt8gpi z^)R;Cs8c)nt-$g8Kwmb1d6}uQo04*(cQRKM7cO>STjd1VsJA@OdZ_@QbMTl4ng1@~ zGP~+o`rF{XD|q^BMbWc49CCUpr%k2);%UU_0k!}`M1JbnoZJ1%R@nDW-#WPOK7XA@w0T(i49bg`e{^giXa6im@3;01SM1+hOPiWzKwWs71>&cJp^C)|E>tb%#D`KH`<^Q^$f9gxhoixR zQ78RBU_fe>YC&2Jzyn9j0hcd-X5eHz#<#m@6KdI*YWW?u4qx;W2ispOY<5b+t{-;% zhMMIqbVmFV+0`fapX&bF{J?IjrGC^D{c? z0;QVCn=4Uz1uu2kn9omt5Z-i_`a1AY56#v-ZFX+7xUI_ywcR5mJ-<7IA`V>5mZ!vx z^*FdJ>IB?XFgc!vRa2@zoSpi}056J5Af}Y@uB72IU|iVHrc=u@9)WzYr2l$XQq4#& zj`B-&xXYS^fTgXYuL8Us2k}_r(p#LJp^eS=-Uc%NM>+oYA=STsGSE*?952q~W?3}- zW==aBi(bjHCFtzC_AoIqg)svNeHW+j>olXf5{uTz1}y2YRx@d9q(~ND^V0+p;+Dcn zFnmB@APw^Z6DxHFx>A6yCn zg6Yd1xjshqWELR*b7&wWqXiBj;b#%Ch^T)ur9OFSMU%64 zvk*#tf-N!*8J^Lq$%GxZGL{X*ei=1~tt6*8I~~X1dpkaPMgHLV^W#aX=lNeg4|dj z%b@KVO;~;zGUe~W8v%_SA|3^0GWmKdzVHT3F6*+rvD@!7IXk7b0s^R@ zl3O+E+Cmrf{$MSO*U~WoPHiLH0@->u*pke*ss(MW$Au6B$ywOW0)BK`ZS5aDKN-&w zx+L?HqC**a`PppswuUI!V$4LXu8<%MZ@#M-QZlH5N(Zxv$ODFSa(u(!jy7bKSRQC$ zsN>c@^1OW9{hw`4skp!KwcyFk=Z~P7hi)rrccU$z&%N@v=yJquE}vGuMdMkJgzn(9 zR6P)jk|hvjQH<~J86nwslmcSMY!(O}G`g<-VIxqXA)X!4YZyql+{wJ|Mn0vQXV$3U zYWdhCRl5_4z+)GVt&oz*ekqY=;gZR1Yiu0K&I&jFCo(9Ic|R%OYGviybbQcA>k6I$ zfhc3Kt|y|od~xlEbl+krKoos{tX`>}(3rSYh>pkn1AeF9gCKL&H;X!KmLAPKr^wB~ zx1;%Aq{Txu!7Fz14(H|ni?Fwhin4vwzEuRIL0U>dLPpYM69a0Wlx?g@h3QaB3 zjH7r%u`#PE$lEUpp!1v5<9L#9y2g@9%cQ@&H6KXrZuA6085jIevR&O)m6Ru*P}AQo z4G5S_SqA_s9k*FNSxO8YIZtn#1paXxFL@c~!=3eSbM0FNM_gqn$w35rhMj5g)UkVn z*7C!1T(lwX+7rZs4<$LhrX82veQ&8j-5$p$Co{hHF=%$2+Cuz& z2DX-HWy~-`r{1KjzaqHcW{)~;2Ip}0t2q+>7?HxqNx3H~iu`+;4RfF2%#MQRxDe&2 z7T=e2A-RrQ`Nq@J1$Qh ze@mGx_J$@4KZ~_<>b|v znKX4i_Q|IFe8#|PT)rSP{?;Xwmw0^C^$}?Oh3?tJ8v1Rm+L>AI}LTH$tJt-#FUn8j&M1I>DbkQ;9awKu3@ENSh71V zCg!^zmqU>|#_BROPPtyw((Z5(gnED`x=>q@?}%DeJE+J_?~)Uk<xU zNV$W?+XCCruZuh(^P{_$@IN`^bFA|c6)~}KG8u-~&gKd56|j@lESO`=kAD93MdMB} z1On0!!t7GiTm07aS59~?uKR{{r>5gF(!u=Bk}&*zgU(wl7x!L#4Gi$LFd_3FXf>ih4%$U2TQAbQ^uNHfJtBi}_Sd$HMbmX$zxJXS(1sl}Wq>u+Vo-cZvH94SYp zyK$|+d})e2><;R=4cv=&Q|)jyZsEH+b@NX7kxWF&4jt3D`O9q~aCHm#rJTj>rxk)^ zatB9pL0m-Z`_$<50MXS1RF)RMZ2k1RXDz?%k@76Bwglmceo~D+Z=Sdsz7usVHul{) zl?NYAe>rO<HzKdrti43Q>w=sbkT z&aGwznD{K?>bHzv^pHsrz1(M?Czg}*8rXJ2H4h0A$kNZ)?|YJalkHgsAbelCAN1*N zO#)$D{V^fEgk%}qyD3?x`i2II!)AXtN)d9#toiKL<#(Z8UXNBE1PaKOx}lmj&M_x} zQWQI#>h4b$o|J8PT!kUoIatDkfkdk((*dAAOksEb5qu6oR}l?2{S^xeM8F3n$dMiA z3XSi;#E3%Cuh*nGEx}zVn`TdTAWjQU}y$4$$@g#GjA4)nCO|3)8~r`Z)bmx>B?G6o&E-@`lH!JCuo zbp<(EJXBFjJByoL_P9bHO7AM*xAodTra+n%#@=|0bfXpwOJq)m4lSeQuS-He&WuU% z=~4$Vjs|mZSY2-PVH@fP(uT&-etV{M^StdiUXe`NYEvXJEKJ}uZc(Ac!?m;R;<5?} zv5{k0T$=N_3SgVK%#Lv7p-^;4`J@r1If+1D3<#v^U={dsg{2PC>lFuI2Z3@P40x4p zo*%~ft)?8d9GuTc!d4zKQD0Oez7CbL{WQO*7`U2TXa0|MxBXtG#@!B40mHSU95PS- zlWX31LHL=ZF1Z48!FQL|7txCDE3AWnAihRlT#RhgOMKoNN~kWIOL-#3J=)e_&!2cD zi;GLImUQ_Y_CtYq^z(SEc#}@cHSV|bwTt5Uw><>8A0l}JvN^|}#DUerHgYfmyRWH_ zx+L){pd)ls9l^u@9-cIA`nea-txaqab=*pR-189%i)*e|#YO$|NKd&Q_T zOh0!WD{r^2?sjXDje83SUY)z)5u!0^;D~*==4Ch2aJCwsi~UmJ-@77JFD1BFtuKyV zgSbb*3Kx6rmtFe7hNliDB{Fhg_wk9Gp0g(PdfZ74C63t{}dI;9r1!RJwu2$?CwH=sM(8aDHr6|5#sb8jmsX>OkN|*}Xq2=(oa^^{b z_uh}ORzkq#ij`Rq2Y9dMwNi^inGn{2ibI;@0iFi#om97zOE}v;RtC!sV|l}Z@V#dp zI3#8q?=Z0$;OTmDG9BVM2t1u0NYem0-(p;w@2>oLZ(ZB&ImaDrUEy-m;AQVSb#<9! zu~{$72{F6ke6;^z1N?-|3p@yv=+piYGFgdOC4~X&7(c~P^2f)qy;AYynsKRV4s%~B zHOxWVZlzWtZwMQ~u~aj@NbmN&XRot#Zun3t2#bfOkhQ2VjB_;)CG5Ns7Kx{0$ogLU~ zJ##mXBsDO$sazTtVgG!Rq;6prxmS=+3E3g6qk=mN`&q;|bpA*zCCgk*!oluzz}8CZ z7A4S1Umi5cT_T?Smo)5uKZ3vE{m0KN8o$x!ou&M=|K{U%3!SLt#BVX8K=al^oJq@B z%5<5#P>t!e=ug<7J|A-)(bxCSTA%i0Qlt(!buj2TjY(|{WtbXgr`2(B4h|0~nUg%K zy9an;k9}WyvG<$aI&v$vqcbqxo%{3Wj{AV0Untd9m3>2(hK7cn@Zt5Q%K4eX7tdXw zDXy0z*xoDCzCK3-s|4pNDxR<+7KToKRnqwBcF$=#U+ioOf z+0`oWGHx=pCwDBPlx8j$OdtP|O1Zroo4OamDM%<8|J9`A{{PWK~yub@qRTmOJy zR^y$8<3mZ()6-Y9`1x;~oa{K(T+ln+h9-h&7Rk>2m5VlauJd8#rFhW({4Id)y0al6 z79EoqXw%30n|w4dE=$Ghu}66A%&!@MXpnoTp|&ZF*P{u^3Ahy3o^ru}gI^5>VvKNC4I;kYx23Z~^s*Oer z%!Aweq_{;b?)O9_D-HKtC?;oLc3~f2mzLPcDPJ?iL_M1XDb%-(n9n_>r67J>J|NYs zuW{4y&lakunQmP)AlqQ{-RA(&f5~(lt}oXg?A{@0f-T3s8%qXQYD=#SMn2YXfb89ird3ns`%+9w~TQ;%%A%i&qa=1g4 z!o3H4K~h@Os?=s#uk|ze3Pu$!yq=LU6dV~h{^l%8Q-dtqyFp{w8MJ%u9PLk8JxHv* zp}!g2!W{|C{Zm*dAEsSoFuwWXqvx~=q4>g)O#c4m4+f<`aN9~u;aOt+4|P*&H6)M0 zJI;FNnmfdCm)zSKw7@-5)kd`hHwDY)sd>Xj%F9@LW5FWmt`6(n%lk_vYn8KG&q#U2 zJYBV$+a&DE=H3+UJK}+AuY2?=GZ(C6;t8U-#!A-LG9msV5~@M#}jQ|U_5~S*-xfJujau}11d(A>|to?ww%iJRnuj22L z_GTr6T3*of>*bJ_cjO9owJMiBJScMibyj8lw${UEnW-Zp&mzpArzWf=ju%vCq-Bym zYgT{{iVRLXDx+Dgoe5iBR;#ZUm{y=!ghjH+?|~Z zQao>mzb0)CeQPnAkk=z!~SP~VH zOFxOhe2Ocz(XNwJ>s~UoTnWF0LjG8=!^l!qV^LNLmD+>oe*mT}DE|`4W6@?33UO^9qlt zV6YWj2EWqvNXXet)@8x%B+HJ}f2=G$Rp5h0xQln)LgWQTjRUY&nATf_8`_9yKmNEP=9i=A7sVseA$ys58lXWB z8+W&T8Fad!Qo@RK_5LyR%|K%qIC;^!1sy?O?s?p=6L5&Og5w!+>&;DW91_p95@hH1 zdEz4RQH}(M2SI9cuGqV3M|ai=kCM|aqKj_vxN*kNcDX0>=Z^&73fyfz*q`uwG&%_J z9h*%b_O6~s$}fHJt640Pd(`WckoQQ`V@_Bq%6sG2Qjaakn$+`$3m6@*h0z22m<0L` zZ`&ooi2RAy+(W4Y*JS?lo@e_(u}Dx$xL;07DeHjeS%Ul-GrV-~iP3_dVrL(EmN-WY z(K~+^-OOwg7gNcHK(p?1X1T(9PVAF`kVj>u*C!Ke@L~f;`^L9OXePyo`1umXBjBKG zMp7ah*>N?}dZh2nmYS^F*>`B#+2_%A!hUs7w?I}^UA-l}WrK^AmPR9lbx^^Jt`mJ8z!`0XS+vy`;mR@r;nCJXL^`7|0vE0wA8>C9L*2wMm=G*cvMI{UkRb+~J^KZ? z;s$4C4%1CjL7DtMri6P{iQYF~0#mL|Y!v1?_O_EggM6Rm9J)W(E|)YdrPig{nvwDl zkp4YxXwU%;-6xm6TBpJpf7OBY4fk?nYG+@(oGIRaEL&P-n?%dbkxgUx*|+5;$z8C4 zWlbB@qh~kMfJRrnUREUv9O|8o&r3L}l$K`N%#q{HNDvsxV-npl;sz7bUaxxVY<+K(12>?Tp^E%8aH~tb`#BGTbAxs^{fpoC zouT>}WikIEBu95?*Lxtpo-R^Gd+IZ~?;{2`hY6;M$L;b<%Mj1fO-UkBH6@&4+rRg4 zrKAQFGJ4b&-jAQFr7>2wlaceIYZvMKEnc=RJnGV&{G`yARBT%ErH;mW>AdT+=XwiS z<&qC*era{Y`^xvxZWjMglY8;p*Yf88)0D|T%%rN>?HcO>I!w&?ZKrNxYC84uw_e@` z8Wrvsb7viJUyr@6Y*>(}cDw>J<%AGhl~>W(o>jDr!WEj|$_$AY+~BMp5s zqpn*%-Clvej?Oz`G}qz#>#Ul3m{vSqrljB45ir?T*VjZ-rGkCL{=i~QN(5|Zl!f^{ z75z;UVO&c@OyTRMji09ak+qs~Z^m!UlapvJJ!nYqXrn>sExW(`AuroBHwS!N5yQnW z&9!)GHqsiw>G$MLI1m598B=;+-xI5s40rtmoF^5^?t4{#bW3XSkWoK>FvB*ZkOZY_ zl4mw#yw<;|z>0qTCL1ydfH@wzH4yBEilaYIfIZ|p?3!t25S~BdaqK->yEl<~iIi^A zKiE#!JSX2yFD|I<{aB)*HXhLYgHkPd&ss;{+up>%YObYLQ~zW>iKe#q&h(lnOT3gj zUR=p;T~#%*sP_7E&2TO=LWN~&HqXw%!p-r|4p|UeE_pm?VIN&NGxE`|%HZqaydE-L zQ|W^rmLRAV9%8uv+%lt;$Yx06!NyOi00&vBelN~ioc62bCK8sGal?)3GPtvsPW6Zk z*m8w^@LKJ8!XtQ3fG1aHHnv4jD`E5cm70*gcHsSkX`6>Ukpo6@7EDWiw9&kKO}R(s zE413v?kh=_RV-_zGnV+u_mL`Y6bFwfRV>)G8~w5&tN1I*8!rE+eP@ z=!9uR<`^J}a|`5!{0W*zssctUk6`=RzPKyG+)gFAIw?^-@+`VQDz~TqIzs;!PvU=Y z;HW;)9R-MW+LtoK@fPJjI-GwUjxr{AJatcxOp!6f_;KH_+vC4(#~UgE?#nr6nI~_a zslcuH#;SUOdjKMlSVTmm-SjChOt@Y7(Xjqw@#PXR%PJ<#vDd2a@_X-I0icboo@0_# z4K_or3|1Puu7=wxsMmDb?o-vnbi}3VDZiwiZ!gaa9s&H#_T6@vpX7H$3{P~JdBu$; z5y6GxK7qEvE|29_iZmgsTY$~hGRM#8Gh7J_zVs*3rvqV%pZf73Tp6zMydb4Tgmk5V zT$k;I<45<`?odHJZO=(9>kO0eMlvle)>?n(*B{hORkIhrGq;9L$O-^---e`u*78Zz z)McBLWOuF03#wVmyJG%CQL(u+O2#M7_0Twx++1wrXDa@TgseEvD&Ytx%DXPd)MYKd z$pwW(%O(p^>w@M8At^@CO}s$=Ks!(f$blsB26vnxP>jw_g;G_`Kc^cTBAH>$qK8EP z=}VHOb_`@u0vs;-qt9GRVr{LwBJyYXZ^{5*NhFll3ti?7TgLfjuH=0agPq~tACo`mnoaine>}fOd%Z_ z-uEZ2)L`h~57AEw} ztwhC?+E0!vBqNr`R^aR3^dGC&ugpkI*LNvqOQs!XWr?}@;!gA#+OXyye5=i&&q{cQ zf_mty0xZ@EE-sz6+^m^i>HP$*D)k@rsRk4k^BJ-IVK+0|1bsk@02Q?70{ z!)!htC}I{lPOE>>c?5a6sy4QXNC-eA>^$yDg|pi2f^qI{=H=V7b}cYy%N{S^J`O}D z`)%n11(gqZG(C`n_LJRG?tB5>FY0RSV)d5{TGSi46)hJ4E&|VPM4hEaj|R)Gx!+`6 zE39On!5C-+EpGK_&zogbD86^n7Si{0sr#`<<^aiyIXG(pGe`M#L@_ixW{0wQ7ysOg zPwBjQh2DfYvypP^xmc_4bETTah zaddhLZzNVL21#W-@UAtq)@qKZ-2qIM$kiBD72Wu_|#Zhh*Zd=l$9aysBTe|Lsy~*V1>-CmTt+)Mr;Fxcj7J!YliO z{M^80MS$OI^i<9suh1NHe;4Eq0@d*D|BSBW-S^ZBqUy^Tj8l*-h8N+wBOggB-g7wF zpWN{TOA2?f|9!$+b8|^JO$8H{->KqtSWg*uCz;pCbbRN~=LuKLJug+g3HufrKZ&(o zzMQy_1%ZOD(I}=-g!7rG5GT{8^#t7_mg@zw(}@{B?TH;SnS+ztaNe%JXE`MXApkTK z7Vymrv{2;Cw);d8JYA$Qlw)|N+!HX}IJ0d?v@YeXvskqF$asDBIP7N^(1yI;uhr#X zF?Ry8DPG<>a?(GN|V7@M*o^Hstk#@iSoP6q7`2t}`_%k}F?oJYr zLMu#Kt9rQ(1Rdz~ma5+y>Wc&dT*Y4a)D;xTB@Md(GClDe!}{S+2M}TY%yf5dw-7)< z{)-mM1vX5lNf=#9$~tK|_h8~F;RUiF=WLsXfYfhqj_JQY9{}ihy34{D0+C?K|h(Y48Gq&-blN%~wPUj;r{Lpf_LgG1r0< zr9_3Su5FmZ8RsMkqrVo1dvPU|Y*iecD|6H_=u5c!(E(|F!w*n`3g`8eO{uB%`|ob? z`;I5PtdjW@fBDdcmKV)`Vv{H^w6H=J&uIzofR5C}h+4<1xkSgyxDtMOQ$?evF21J* zkd9AItd$-6j!B~%n1B72m&AO&`>I#5`o>J;8~!N zVRi%?GclPk!y3Py&1!ElXMfrc-fUmp@cdhrFP!WM=zEH$ZYxw(6;?N!35gosGr84& zAfU{$%kt`5ustU+zX!ckf^m0{_=8d7)^_*<_>HZqMIyi;CWq`S%>7vk`#sof?I0sV zE?%Ymg&`@tPbGgGIkHz28QxdCf4d4*h6H;lLRin_tP5GH`T5Ai~_8 zLt76^yv3CGu}09_m3M<)5&dvw=ypKYyw7$IbTO}_j_tF8pT=HBL|?|1x%WXl3yff` zONj>>m3!Tn#)_9DB3_x|xEe*Z9nZ5IwHz*cUL7vmM8D>Iuo%I4kfOz?G7+-7@Bhv8 zv6g?WafFHWby(B#ds2mqs{|zE@ETOnR7b@-#DP0b?&?1OiNya$=)fG}J1{E%E9D0g zg5EA#NuZzkVeHZF_Q|VGcW&FAi~)Nc?;ogqdd~K^CW{0GaYK0XBv!hw*G)u63ozKn&Wdh$>dSK*Vta zZ;*S=bQP&6et6FNY}kz2V=a4_K?<i{U{0AvLmHZNxoQA7H z^H+{oNb9!tJ?r{XO_=4?MviMoL!v zkiR={6Av-z=pP<%iY7JihTC}ni@@^P~U#csQ56bYrLMw2n zscS^7XtW)@g}1?4Z!Y7?Ktk@#z5`wk2#f~q6v&iUnv#G1^#O_3!*%9{^A77thhQ5o z&2YW`EB&#BNkxi%AT#Dfc9^xi`A8OH)zFR^Kpht=D{IHj6~D=dF7&*uf4ZDISzqG;K$4)eR-NgFauN0 zxqb_?!*V_spOJ8dV34!0XH&^YRNKS70gY_EU{|7?mbH0({IQEo^dx~}^6CW)`@`mf zBXwm4(p5WQLye%^SZJL-@E=I2f~#8w?y}7Wtib5s6f?`B_vT2>3ydN7@4_L&K6=L@ zt_%XsemO!mjW;NY_0DmLb#m9?R-0oy7v~zeK3As1z3O`k!4~L6O`z88VR3yOf>WBW ziW(uYm{WkmtW>FaNp{!j;G#oP&Tq^Ud=piuTf$+5;AAX3a?v^Y?8^XTiMFjr5MlPE zE5<0p0mawtP?nfpxd+uig?v5t6usXof%_}maE+I2y^gCWSa{N8^n|CmdN+v;m(m9N zTkjQo5&ISs!nCV9Ts0#z_pr&H+|FZ!P2(KJaV0$*alUy=myg9e7!yC z$zY-VN(d{w;bIt+!~w5;5fsb;u#&*~vuisFZv*&dX3j3+j9RU6y>;><_uX6kHE`tk z4#<^Fj2ENt(&*;(UyTLqj}HM7pET<+Se!HUGNelflV^%vUxiy=CCH^k={iWps#@a6 zO%+Lr)wX*p%OR&DIA`ZY|5gk^JxZlccg2);elrTFQ6@D#>LsdVXIl691g;xw7V3vG zbH&Bry4i~_7K&^_6)(vYk>^8-hZ6iyaWjGKiI#*8#_7Q}J*?%Y69AXAY(L+w(Om71jM}d2oVS8$| zM1x?67PyOsX4mIyJy(V$A5Vagg@N!`KIINhf!qR7z*74v+UMO!LBWCSOIcajziHL% z`*4A$;0KUKn?eNjxDRYyC<|PI)73z!(we}{^P6&%_5b5mvrcm@0g;4WPL4Gyp zllkvrW>@u@BbM1=K;F$>niPoQJH_)Byc8AEe`p587y)yygzKlAg{ecsuH=R2!iNp% zt6}G!p*$L`)bKtr*3?4va_+$<&T;Ft`0=(-#i+~H_;@n&^Vu@;&^i}XMA|NrpH-haUX9u2>x}jo+SRE3U&OG zZ}^*maV_dq(KKlvSsvjR#`kidB7S~XJ12F^`;{A=w{jVA+^g`7wFS%DsmgI&!X2b( z{lK)aTxC8w(Y@~jA8Y&O2bVxfwNFLodtzHmmTi=JvA53LZ=U<=hdMduenJg!x~h}$ z6nIvB-`Nl4>;pR-0mGzeMA&~EyFgms!cDwi4BwDLKh@~AVFFgW(SdGYD>`?CDd zDmwk%xZ5HmFXRGW0iO}b$6!6==~fI67xIkN0rf>{mtKMrdBe*{8gojP+Q{iMOEV*2 z;&9>JBA%sH@#zyy$raj8>0#=}-#dbfrkWp`D%ym5pgLWjN8(vu@085`)Pi)+i2RH6 zsC*hBuS~BiWh-xLunX2|YjT*skrR6XS|kcu_%RdxaB-YD4*rchNtPwCBQJ;U?L(S~ z#sJ_-P@6aUk~V#vh2rPmK5f5Kg1=R!HgA9T(Mc4GzlnQ)&%WuIiq02(n%&H+b&jnP zlgZnZ*t5nznL(7b)}_y0SWbL6Py9>5+6yIN8l_Fonu69-#yhZ0?-orwiizFLO;TSE zRKD8@mYeuM+l>nMJwya~zp}(B|55#JC-ydtTRhVVJDl8YvglHCUA>in4*pU=60O-`x0wq2c4{G z(I@#T)xseXDetzm@c4_ZmEK*WY4mV_C?ztevwDDlIVK(m>{tu`MW49JJldzq5^xn! zr~Qmo&K#O`1EwJ;xV^w*cw^-jmm0HQeYn!8=xZsVOHlz0g0*196eHS;77@9Jdrj#z z1V|dATYBDcBLy{Y?M@wbG3G^Boub?`zvhYi0*W}aRCD6yx9wAV2rF@PEm_dER@eM- z$Vo`LgZy*ZqYALlX~UuWd&H(!1#faSD<(+DRB6@@$f6yKAjPBS^*J(6KM&gNba{=t zWK+gTKE6B%Gd7%m@mz4wm=39F^d#qlM0-d9O*&7wgT(XPbPH7=YjQ>-UzR2!5qhNI zYbuccgBULLge?lqI)RPZuJJ;A*dSV#7)5@-ES6;}F0_M8{Vm;UAmFzBzg~%Y&yp{; z84e%1eS(&l@TMF>s|cX_{>|c_9jgx3z;kn7?s}HyC6V!bg4z+S0w1@Vn%Ww#rkzSlHU4mg}|Si14>@ zieJeX8X{^vt>-;d-iq42p50249;pe4#=Z$GxoJNXVv#5d-(ZYD<#PH%$ivHN4P=eH z`&y&Ab&L7tqw?7?X7osf`ri+)W)-e}a(~eb4yaJO=jrW-{px0wFqa}=K|}ZyY92!! zd1p8wG4e-zCyn~k>c_qGZew@oJT=Y3qbmPy*R0l$C~Hxdyz=5LhR5!^>5I})*7nf2 zzI64Uxcg_ZHc32YRTSL7@-WRrAZNJhm9s!27!=O01b+p_dEY z?gjS7xtR)fCRByZi?Y-?qHiF)Kh=mKGCvXu%5xU-E3 zoi2=!IWr$pfgqrJP!su0&hgnP3v84>N2AFyucEPU=IzvBNF_q1S%NRrwO!Oc?SewE zCegN`c9)EFqGm6|cowFk^^b)*`y*X6Y(+?S?dlxS_`1_Vc;6*@Hn3aNR*_%n+k6yv zmTMY{Kap%n;UNuVuX|^2m*zy?rV7E;tc!E`S_2#6pp*A4rA;qe9A5E5!zi@A{N$W> z#s-OJ!u^*w-$J`9vE^3jr7U{gax>S3AHoOLX7@wL)%s+!9V`a>{Bj>+^RrK9c-Q{U zp55iOsYHlDz$lCkLF&rbSJaa?5_<|uf_kQ~gYt%O=M8VQScJ<9X_1C=f2bs5W}TWn+Q!(Z5I|7uO+a93OPR= zPcHXMRdXe-Vz~LT>9=QLr_n?P_3EQZE z_U*Zvb)fdn8f)aR099<)bVx}^gO_RppB(lTf=2#Ai0smY75VC2(;{>oym3!HEAO&b zZh(GRACqW%9PW`K78VsU`%K~UACWBX3oS60l{>s-*pPM^57RnISxUVR4mK{$#^`H& zDBqSHrZfh;e|eK|bH6hA=~5=o-=MqyO-B7Mf=~<8RoqPc767##V6=TaCKIjsrRXs| z%%armDrxRPc1K#JCFIxbxfraqWu@sYo-1Gi%k=3FC(}1PYK=xrOiZEn4ZoL3pDu5# z_z%+Sg#>VMuN`^|4hbk*88WdG%^ECM95BWO^QEO+EYco~jXkUZ(0vD*0)3d{cM9D= zDBi+cg!yFw{f%Xp%#Uq}XW`Sn^xM4S!EXBs+B(@M>yAcOKZ@0e4EmR;540wrv{IR9!=LM~Y|FfN^s>eAiy_!Qs37dotxSOfVX*wPknrwAy>WKUJ~ZAb9+%D`ZID zTmvGM8TG7ku&7sqlNcx|4y$~7`UjZEWbpbI1tMHZfJX4cn)YcKp#eF0XHmnU#MHYY zw}52SmDg(e_)~Ha57pGO(3_~=I^3^g7RI5<1*YF<8qe)oZ-`g2^VVzyu~TFjHr72d zOD2kYSXXKDhU{6GDObP=>YH*y^Oxsc+=5k@hA}%$H7=1j=-0o`HD9uF9jEL3)(V#T zS(8!G{EJ5>&`cn$?lSZAHsK3lXR%j*dH{A+*#7gEc`fWgND;S9{Rz2uR|Vt6n)<@5 z{!7>$XVYXFm2r&6ykGg!5;t{z_H(7t$-DV?j znV`U#s}O<#Jj%LOxE!pMPZWHlKHz&71AP_*E{DK{PhF0Wp=IAE?moW<5ms$487!Q=jLRK zbue<=9Dr6k;D>{^Z%;+o+Sy5J?3hMK+`ewP`DlX+)yZa~&V943DTwP5GPHgF z8jIu^3yqQEqtae<_WEb8B=eF0Zh|@X#{Y#sVg4WBCI9zE_}?R;|L?^yMkD!M>F|S; z@OL#2d!Pm%Z@n=x<-U6s$HTR8cUZW6oFIZ#4f-kH^oK#0z};WJ%qY$ONraB}_17B5 zs}(QA@NlrQYTk6DGwAi?&PzDSUJ)g}kaIU)jfi*~6;!11(pctaXht8%)(N3DWJqU_ zYW^$e-fcRaUdLj6U#A!*4zF7Mf0pcmpT+Y6FkPLFUO#hpF==Bb0D5!Y{pUXDdYVl^ zT%t1{(G(mMbkEjz>N!{HV33nTJs3;5)Bi&9-RLx>pD7UC;QF{n^MZltf#ddAeqZ&P zzr1A6w+f!Ckvk(V$TlVBSetJTRIItiA2;%SCiiYwkKyKuA6_P;spo4S?#yM;FfPLv5*`bT zWI1?VH_|2$IvX=SOwUe<{AIc1$d_TsKHva5R_YwyDkL_tg zDX)&~`Xu`#y#wZ76eUqFpMLG36&-d5rvaqXVx3Dfk2Ia?V4CwhQ()q?AXsH!i$h zRoGX@zJsNqZagdeA}@VMXWU4LQkAU<6kE0qj!-`n3G1^hO` zSlTWo!jVb9`0FUGV)hG}gZf%L5?B_|Hg@+CB<>jrg}ZIdwfY5Q$9=CtmQU@BzH4yi zO3_x*s?!Ug97#x)-X*Fs8Q1B{_6HlM`CQL!#)^IHYhVBB1z&cB$ps3eEbb<3 zHClQl3$pVECQ%K1u-bCFYwG;fB08Fg*zWzTAO<)}VG48~e?5ljM@Z{|t9A*dshV0V zG`pb;ITPvzDOOoZ?GwFmm!dMFfT&5HQfwsUZa;$g`lO|h#KZHlX}JMb0R3X2awpGga5v|g&PD)y<4PYfrJQw3h8 zggX}5TTHp{*3ZCUyCON@eUTx}Nw*O=T>Zgsgntca&zs$j*GFTc&Uf_C>TvVH+UazU`g3J*py1_=1&(5@*wO3@6MX7OYl8+PDat!D12Wgc}P zzP9F-#YYej#(yy`EI{_N7dX5Qy zyAs;Ubh72S`kj|hjPVDxE-|~-E>C5CI69>Dd|Fj*#Q(4UR+9P)!OyYvLHgf~KZX4= zCR7Z9de|EM7SGXz-x%L%5nghYs+K4;ATj>MRwHWv_On2WOBuV{QyxO7*;63^>?LxM zcjMy_AL{jq_2lH&##w+3%&y@G(i7CFQ~ zOr>0)G5Jz%bQuMm^UO?S+6+(2TXU}kAZG-EVmNZsmae5&#WFUG)~OGp!r$2 zNoMiqV~o8~t5rEtfB5gMA!3?n_B4*!!zlTGb1PEAYK8A=YzmyiKAqaYW`@DRZnG4Xy9Yt% zeOs{YvcpQpGks+QdcOCxT7l24DKYMxmb9#j4Kvh4gwEA{+0@xsxVSz4Bs6Je7JWqN zmLmVi`|kt4cganss~X#{nrc@Ula^bf$pzxsj+abYWoM!96!)7RfU4x#s(3+~O(uvx zX_3$h-lm@YH+pNAp@{)$`+YfktcM~FUdkw$(ya%pB`WI`xZg9oLzMbOSiwwOefH(o zcGUBWB9Pf`ku~AiP{=ORtfNB}Z!$cm`*{HI>4#Rc%HU^^vs2Wn<=@^~;{j&bkoyO# zq(PsTIrfUFQazgkHS};`z}gY7zXvK4*Hcd?<>g+UfT|*o1?A0P%odcl;A2CxDBA6( z3B5?sJ)eRdcA}ZDXJQf3fr?P-t;Z)1zS=gXIZOJ{uF;dCPX+vbPuuwWV$p72_3i)I z6_?64aB!cQBN}`JLYmSdc3c{CXN14F=5k?Yjf?|lzXhOomu*0PEzBpmTe>rS{J}$6 z;K@L;$N56}*dI)^?U$CWPkW@4p8vRx`UwZB%c#MhgdQ9}omJ>p%lb)<7Wd+dZ%rJV z4LaUeuzaWrx)|KxWy5!$^9_bv{YK)W@mD6RnahDwsO4a+yvB!{7uOy(R5~n#4v7_P zq$F2G5Y&jw?#tJ+437~b9PQV&#Gc~`6jU9PUrFG2Nk&`-vh{3?9W|9@HnYq`-h1=lULL|B4C_A;hB#e-MQ(qCt;$nyccE2 zDOs-H6&F`DBZKMr2%fe`N9|K9;GAZa8?FM}vZJg_$))D)IW(sA?8Tc#4%)3N+L0!X z=lJjVm1NniO`vfQiQhTIk!C&BlMlR!>%;GQNaH+OjvohOQ-GPAay-_t$Py`i@Ln#& zRhhckJr~z~l7ug6JLR+lAH0P_{JcB4exCe1SrF6f%e}dK=;G15eU8UMc2Yk@*wY-8 zW2UX`S~@Nr&QEz2iQ2BT6t~Xt7v(sa=HnfpuKN%8O{zWU9obU{tV_I*HP!+$<5f^U z_`}h8xdEhyBj@9B?d2c6=EYBP_)UWk41{CQ`#=ie5{UJW2TeYY5BYOI@Q>L~P%Ruh ziNfzgj*{*4mTB$4X4Uf#70Z_c2Dnt;U-ZR)^RhYr>yz|T#(Q@WF&t8{q^;9A!0xty_T$>Df_94cY%^l4lW0)n$|%DDK_~`?eS~UB#hC z>gv#T9*8lmq_U~LWT|4CDfs1F|&xo-ohg@NHL&kg109k2B*{aQEg5383pU zfGR)JZ=3k_rQYd)PT)ilFZSx33K%CgK5rvW7Uj79Q+@2L#1aAk^(=$WY`{Za4jfCx zg3)U(>g$vpAv@dyu-=pKt?2vgM7S+ZbOkWa*vsH}nOi+9dFwD26Vv?}z>fuK%#)^y z>?MOyC&$jFmuX9&Zkx)zBXusS!^H+N`9pZsa|O(HGN_k6WRrJG4wDNfT3V#8!NcSso@ee+`>K@4;ZwSK zZl6-&E9BQN*k=-?d}%I%lyd?VFKXR7fzgux!`E9z#nnb>+6nFwECfp+xD(tVxI;p4 zhv4oG!9BsXaCdii4=#ll?rw#A=k1y9nO^TV%^yxtt5(&bj_k9adtVpn&|AA__Xm9i zZ^v&8xghg6OpI{uo$%UK{oDb4A#~5jD-3*DyZ1vZ+%zI$O?N2b)Tg=~Llo7Y>psYM z;=#u^HZ;7+krot$u>v@4Zwr6N=M39`$ivt(KgfQOWZ}u!DMF4YqpJ04(X{f+UNIa0 z&^e#81FQ${5-5Y*EyA=aBr3q#gQ&RQzB|8s6ANczh zi#T-PEfEq9btWQB{8l>Gp@ZjlD_f4E>->LLY5#77_fdq?W2`*mVC9Y;`Cx9B{dpaW zCGt0E;rVnzG^$OdI+}jk zR6BA?zefuaJk5~Et81ne#R0+M*-3XrbVzE+KMn&P{vw}!$w)u8$nEWS99lb_$~(4m z4pv5d<68AK*STgjk(C?<7q-96*nXwf6n%-X!Ic?U@2@ptU}ZVPmOo8dkq1il4m4)z zv-JDyhSSR&Afx`FRfgSt01t5HD35fYqN=bj&0Xot@^(kuekZ!Ew$tt|cjvVdF*!}^ zguMxR20t_kp|NtCc;V#J%o#)ekdN%QP$fq2N@ei#SIZ=LbmuCRJH^(k-29rB+wJj1 zhxj|H5K>h++|X&Y*a!5Egr_0fi$sO8Sx`-mk5}!4;V~t>r&*~gM(L|LQwJgk1}ef! zm%Xi)UM?>4L>B`nUh>AHxTC2m54V0n8bClAw$;0JLl3>$IFXA=VzG`pF=|c~V`io* zSk{hyVqgFvoVqqDs^$k(W<1PDoGGf871H8}7Q7AJ`hWD>d!k@Qj4a52e0vne?(%JW zX=$rAe%}EJHo6E!DV=@pK%Q`o8BLyBjV?wg!gkj?1qpE%K!wz|rOm-ki>v6vUEBHJ z!|lKg#f3l6Y+WBYq@neFH3&ETj(--{Sfe=cYJ*I4OGNmadJ~$j(Cz z>UgxHYvK58*{`t%{XNBbFjf^Fb<>ehu8tdGoE~j*m#`=4_5@DST#K6}2 zaBk&HQ0UR;$3VC5AjhuvDb)-ix%hfZX(I*F2WZ*l=MuW@2c}kma_n>~Bf1~(4QLIhH!cRrV70P8PmqBG`6q2jaZMHh zIFC8CY9L9yZt+M}fJAQL_21L!B!xvaF452gJv(bv|q~Bl3NGL%q~G);G+Oj zj=&j9onuSzj2}ENw8GEe?#md;c8JuBtr}d=O{_wt+vSPv=tu68=q056!q%O=I%sK? z(_?*z$C4se#__Oj)}w{6`r+-dw-SK7+x^a@2_Eshv|Wx;>#4xvG$WZQM$Ax__zWnJ8ER~j$S|Q9K zaUI6wmCk?(Lfgrt1b#%@T2r!2&GU2E8T;oO)!H;h?NFC8+w(m zb`4KpE;rd=uD;5TBVSM`Z6lzs;YGIlYo*1Py7(`vsU;DmJ1Fd8t7Q?a$59rlyN9~X zC}2Zx**vuwBbLJR(2)OUA@Tpy5dQTs)Tj_9!2w<6_fM?yp(WU9Ea!zEmi!qLMJAsS zl*&bT-a(Y;-Wszhv>8^zX>ceq(I;58eOLZ9yyP^^moHy8Qk(MGXo^@YM~0v0-S~xQ zagXwPof3m1ZF<>_;#q`sh&KXLy4YwgJ)weH|{NCcHSM%V;zl<}`W!q;E&R{5Y zWn1e!*a|JkbWs~4X49lNrj_AK>u{bvlUxzI61zsN8L{jaZMr)qCT?k3Y!k{~V~a3f zqx5oLEqA+rm#&26CS$n%y#MQHV~3+y`GsZFH*bkbL5G_MPFC36KYO{3FLMaSQ9Q0* zz2;mG=cRH?&!oyNfN0L5zIpMdL3c(+Uz2zsrFV^(S4U2NT#^%evsm@ENq&4gnj!7e zmB(sL!qQSt>N`15M$ppH0_>hRU6QN7raG}&-&r_iY8h&!6EH<8jW4^m{h};I_)KL3 zi`SS5Rf{)f}lrOq8g=$IXdoX{a3&Q_gckP3uK$;LG$eV9t`MSQ4Flir+PCq zNlMCj)7jHBud$lZ>4d7*-P0zcFutuKU zQ;uv_wz(>{_!@cR%$L@8G`voyD8GNVgAH#g$icrInC3yiU|72F_H5;J(faGcZF#$M zy|^Q91EUDNyPZ<<$8To(!dkO2b{~(Ny&JD^fF((;WRe-=W!FZZ@)?iyG^%dsDXXH0 z$pi%xY{rOj3?T;CH74zPdGN+-we`65=mq9TQy4|(I9#Ct1#^jto9~3yqZY>wz1#?i zpI`vtNQLXE$HZmYeyS5BO?N?4D<;TSvdoWLA_|5P5m`@_f{5g!GzPBvukg~yUX&*y z*_vTj`C}S|GtsG~){1>da9_l@G{8o&I;2ZKLR@b%i)poKEW`keg6z zitCx+#vSU<$28A!`mgV?n5z^qXosWex0joavZ+PS9LZvVrQ3(5<+zN;-KtgLq=sx$ z&zf&;LmdG!+J9NEtrQ>co`JLbLp1C4fb!vk!Pbq1;v=M?lHc94Ch6w116F1GWao(m z7*`dV2@qHUnfX2_Z?4W95JC@2iYad< zy6O@_2LLYQZc)*o@^G?Ri_OOpa*NWveTbP+JvTC)4@Uj2KfrwF21&}NpN|XrVH@mn zHxRYk1k5SIt(re6J*l^r&H1aQR99>bPq^1Yr~ICm-5VPv?Hw2v)GOBnX+~5l_fYLB zzb7cKFHVkD2`CessnR(d{dynJ?M0|1o8fqR^iuBf>4^=C%<$a>92zD%@5|&w$H%AB ztEkqy`7C8Mh#Sq&YTdv!xnUWjMN~0**hRj&+zoxP@jFn5*RTcwo{>^mGI;N)Pgc*5 znz<=6SJ(aU7Xm^z$_A@LLo)njxu_8ra| zFcjcE?eiXO$ART)1#d70QmLrtGktNkbCnI=y6MT>G`ANpw0CZwF2)5`?YKgUDX#x$ zJlNNRUwkecGlLDK1qcQ%>pRu#=DiPtO6`0`ND3ndF<#Bf+fV%7!+QV6L_|Q&if+2# z**$6w8oO3`ms1rnbvdNd>i~June4-REN7XecY9QmT|mFXdHw{6$i#KB{u>qbK*m+L z^Fb3g#UXGbZ_&e4I+svBi*?#sdNjf7n-MK;M5^U%HOmNrC9j+mJV`91wfAyq4kevo z<+p!f7<+w6`nrI*i?H#zDe&Zv^Ks|-7omeD%P8J>Cm!@3L0e=4SwR2>XSxc+*F7d? zuE@OcYv#Gy7G2&?M8)2Dd;i&WFc=MV_Y@ znF3!<7d@toj+6LUX{@+fNlP40Z&4T5c&znq@0U9iHh5}|KFy1?S~p$yJ$wbXnNKkj z5}`r^0f3p&L`!WPhx5gB>ymm5cWzlWFX)A4FFiP#{Oz+6>_Q8%MBG zok}3YcVrH()~h`$C*!g^o)hc<_+gLlRLp!}~>dv>vMgT60Mc~@vTU~X;R6o-NG^EKdcAE;*KjXnRRw?dx=wEa#v~;R8OCqbwg7hn4ZYi6 z%9jNJE!-qwVhyC7WkVN1sn4BcLLTGgGgR~iQj!oZX|a# z9FXYdyRoTPW=b}?J{&J1wfZPo%Bw|KIa|l+wQP5A1%Chzwh3u#joMYf^t=*E2_EC; z=m!udNj{yxKsO&B>gYmc?ZXicV=@@mUJphXebt?wl{S_kS^~=>n7K^at32 zmd)~;Uo8;%&`?Vmv#bIPM;i3m$i?H(XHG->09?vS`Er&W5Vy-Q6lou$n%rt}nR5_S zH>g6dg8zs8{E3c*$<-zAXHD4(3;E#_RD8mbBe-W6356Duqo%~a$E}GmoLXyRZ%E-Q zd6zp@o>`6hE}Jt6C}7U_^{(Mxdq8y9k5c%c07I>NWhw>=h0Krs=~XN^HlR}LB>Hnk zfvKVtJ2GmfQM2xbu4j$Y3e0>DT-aZNPISv~;uxRq4?^Jr?fW#2+C`;Lq)8>X-5Y%_ zdxk@@T{pLr@Bi4bO_AU}u#3h6*y0z=%+ynw^c9q%^*In5PkK;M2p z^t2Hn23`o8o-wn+(UIKDOOV<43WR@#KdrjEB2KQ89#E(mecYJAsW}r2I@KJcaav#& zNlU+uVD>j@HTC>hQ~{qynnP@y&WN-`oW;Dk&FRc~j$(2l%-Va)kB~q=Z_on1$(b6%r0~h8}eVwfYjX3c5anV)YEKG!`%K^;T1Z zr-go!I(w=}o-}nZ3VrGsmaL}k4NUN?p?)TMxCAo_f$DhkW@NKbYZmx!FkhPf%C7h< z`$b1t3a5h5ZWacH;vpZ#m7Tl1HuKy^R(5pInE4$|4aXP0D@Phgzhd!Hwe zYKpC2Bw&{k?eV|+@#IF7rZY^hm(FeYhzDicIh6M6 zytV3Vid^&m#@SRa^TfwI@?`ruRG4lw^x5dQbn~Q2jbZvneDAjYjnG`js|>JGW$A7E zrxESq<8b^eeLu#gAe=!WA;Bw>{qwQACSlg)&WrUY@4?qKXzBT?n(xN_>qzD+j@^T_ zT4ZkA$D?xBbxgeHt`-&(WRxtoBWdKO<)=p9SF-L`$m??q%tAI+U!xDCG#i{K?yIxl z{lx(?u9a=Ce7qS+X%;N%O-(s(9&i>Bc%$)h>8$cS2;C@9;`iNJCjs4rzahF&VloX% zgfUx8j1ndaP3Q9j$pW(#pOzGSKfBc@Of8lf<{uX#gZP%>_GjQ6?LdRfMmK(pN%fq- z7;^PpK4jvho7cMKOG#|pOucm^0)+vWt11}L7*Vh!78#sNzrZxGKp0I1KKeOyWolJw zJw=Y2$ClIA*IP*DiPqm6ImF@MV=+zf>sjQdknbCM+aU0@3)u_z;^)4QkP|PBXuVIw zrjr(`fCv2%$W6U67@+FWjGH0UtpaKMRSDiqLlF;W}X9`Pm<_XSGesXZlBz)LrfXe|Pn`4B=)%GmM9+=)%WrW7u}mpndoxQi+Uch zb6OTMIqYvr=Xg32GNQ%WzkODi|R}DIb+t2$KMZ zoxW35kINURVCrSznLx)U^)`7VGyQ6shyIfcAGQOGzAfIQ-94lu>CFqB zhXLdK@a8{o^Xh=h@hM?-AW( zk1NM?C2FozTK6x`ib$Q2;_P2*av#ZkX(8L2!K9-UU!uV|kbYy>tMwlw99)(eq1x%) zw=)loVI9Ivxa!CP^9_Vj7=HOjT;l@m_?=Xw6BDLAeR0X+eJiC;@1U)9eWt@14E&z0PVV- zFNBJ}XjZ>cIb?l(elk+4JQ{3zo##zPIM$Oi87+H@82bMQGEo>FE!y%ZN;AkhDZ%4^;TyH!5PTZBAu$BWm zx9uAjIzgT^iumqe!Q;n``PN%&feQ^SsjTs7WxG+$_42~YMWmn8iu5cn6&W)Z+9B!e zjod{@8pn?HZ!YWrlK8Z6tMD13xbKui7w7G~|GNbbdOfGU#vhj!(^aum^fH4V%e3Ed zqJ*PUbm}@&H$h+5l;cXX?d;?hQE7^vq@TA|Bh3~}gJN zGnl(Nwbo-#U(KE6153jm8cGh+IXvo`|4PUl4r?ppTB$DzK!&-!Jj8UUanVN2JZXzg zkbuBT|F>J%W!`;5#|uC2kO==EwVscy9pJ=h>v4}tf^KwA;a2Mq`1F}mQ=TH`4TI{Q znX8PMD(&QN`h}1b(xzTkgjKSj8(0M`cpao6o6pBD@%16_;pk}{Xv^iB*1)VmsP9~-VoIXtH)Lh4V7m*Q3yev^)XoL+A&6(47; zz(o-PVNNB?{!TXYF+UYc;FcTC0LP9kjxf+WXCIG7)_kx(mgdU$Igy_9;0w|Pekt^V z6SDTFt?Q=>R{3l^W8GoP-55TmfGWj2d4FgP0A_%&$sS;AufcuH!&U%utWl^adYTU0#W$F}bz3fOb7kkg4~95kHfBn=hN_FwW5 zkDKExK}yd51qJcIH3}tCRcX_0u3_tbHkB@c)xBmef)U! zvi-40($HthxILx~KfPVAn5Nrkiso6r^G(8!Z)KJ};2`p>jSG^8vV7Xc@*{i8C!gx< znLbmFrq=@X1-R7-&xz*P)jO^W!Z1cV|K*BV08 zVypPC;~BZI@F}jP98yWLT{DD$W{oB_@+dt2o$(h!Q}Q^V*ACnKi3UG{Et2cVLX&_o zdMu4&_dnQ*5>guD{j7d11yHDiPKWv~ciJZCo=27uc=Zs18!rB2lcMUDB(*E0 z=$P&FwsvR0N;{GFF;*#OnCR$DleShXCJ@%o!#KWDW0K%>z4|AoPc_;<6pYl`-Z0F3 zV2<0T0+`NxA$)c_2lNv>q9n_J*Q71b+wiyqDuI*WoZ(Bu@cy<-CfOJVV8s{ti{Y?}91j;|uRS2TyqnOuam%vnw1 z6m8CVe0%Y=nhB?JN(J1oan0(Diy~zNI(J=I`5}Q*g%7-y2ubr`i)ta0_>Ew0_A&|rf&++|fw-$=kDqR&V4YpfjBAaZrF*Oc8 z@h)bWNRgaeV&*+o9O1$5s>$|oZX2|%+x8X|90YPatv9I*T9$^9FyaZ-ZL2tUPZldV zbX&7KjxlZbbJyI$I)a@Wr*BiffeVZ$`9pRw$XMyc~~e}|>0Z=4{f0&A$%0Q%RdZ7WXT06c+C!Hl5bN>50u$p+K=X5;QXw1wN- zT7R|3>Urt7&V4zkTKkX$)nq5U`L19q*dL zm}nIkua@YeGyXTL-X`CyX1>pPamBc*tw&kLRX2i)9(kRTF*Z_gNAyH@_D0;mm~yU^ z-3!1{71RgFH?`82lc3Qw9Umgm*O{@^LLAmt;)$upxIeRUQ;xlbeyLPMtA)IehpC?y z{PAH3bu3-jJ;%8%KZR%|ni;Y+tgXFmB|@uS`|yBNR;EuJNe^LO=Icde!1>yEFJE?^ z-%Q9EGdfPli73OZ5l%5FFU@KqDYit*4gUilp2<3laxy}+(aDG)vgB?Ck?)+7Cf`=P(zSXl%FaQzo`FB9xK^7A@j>)0f}`+%9v%O++f3n{_Hx>)V}aBia$NB{ z)}j}vpO7rkZ~GqkKVsenzKq53+Quv}W7^+7BB7|6-TC29TV8O_-sBqM9?^4YDOuO+ zv;X;RkT3D=K5g2%&-AEmr-{|)Tlm{87wSqSD>0luw!S@(extA3p>*v6G9V zVBtcASLK9uqyF(Zz~bQm+mU%%I+DbCE*iJ(~z^AjY3;=B>zC{>kO$Wurf7GGDvT zfg?~+uS0T)@8Z)&uw{(2=(>0s?S%{*!&(%5-heLu$_u1OI^MH3z=Xr#eQ-XIV5P4k z`p|Pr!$CwR2Yxq*jDr7Zkt;6;aXRXkzWv2$zmdu{sz|i~A=4#4Zp3I+{Qesi$tuLi zjMz$g*3aAHZ63wvAwjTz3d5aprBphzSO|CVP7;RWd4sP2e>fA-yFomGf`)n=&}ldF zwJKuix*0_k>d~}<%Lt}Z1?bso#*-9d3e)rU6!Y*koaFHRFBkOHvzaG(5)`+Kte3eJ zp&R8)_YgGrMAZ3jN@?%3nRRRy1Ub%);WI^iV4i#J7vr;CGzzP-ZUC%c`3cWaFXt)1A!Mf$2PEl3c!rvnfLdA$V zNac$>`vTv8RoHiAAyzZE<-Qc=r#qup3=nP&3Xp_rS{;Yc(up%V)taeknFK}C<&D|L z@z5)HrVYZxP{vo7^y^M~LD>w5pL#*bU#_fR2jhuyytZ&cVoCKR?6+$eI?);|4^#Ri z@~Pne*eAL6d;7%Yy19-n70?O^!|M5zy%}|@nS^Ux_Aa;@bb8~cPzX(@CWzs^80UT~ z;K<7FP!kd^F#xo zQ}sE50~7X2Cv}md01m-NY*$Flw-z75i%7=EnGx7Tu=-d#D2Z8MlXj0&8GAC?GP8Ej z-|RC=5>vYCllHZEc>#Dq%n+L=+Ej|N+-D0QPD*}Cljb`G09;E>yzCX;Yw4Wl*a)Lf zVp3WmZp)3BOU{kmcgDOKg}Jk@lG!H|p_nkRIpqz|di)MV{7Vc?_7DE?Zh{t}{0JvE zAz?nptgix6%PkdTPBlwTl4*h#8NGwuRG$RXtKJA%dh!pXQ{F|&vrRsSXX>tNPy?lG z^Z?>G)q#ti0U2gA-Xf$tMpQ4ry=t%;Sp4w+Vzdb%jM=)W9+Ym0>fLPrD(1U>Rdjvx zEe`Ux?o=;zzL6$bGET4W3Jrcp*M0FjfQg$V<9-Q0Z!B}IW7bIyj?)+F!~}#l{zvC) zixo2$i^cLhGXFXg{_j&Ff6sRdXHYP&FcnJik91X{L-EG%HN$UmCS+}kjeGb+-l9+? z$$;vV*q4qbMT=E}44X#~5fIYP17LhiHH;Warbkg<^()>qqp{#ejIzw~S#wxm5q{VT zcvA+%Rldt|YzD9KS{pQf`Rx(vb*LA275sDU zF1OV+I;=Q2@~6{4ARw!;Z`M~qRZASJkz9eVA=k9P>1y(#q<1?qBje`mY$O?+&1rq2 zA3}*B(TpuKz=Hc7U$&VHt#=1yti+KA8tJiQ37~fOTu%$^6ahT6Jf2`>o>PLSuK5kq zxY=8ir2c#&ax4Gr#F}>siP^+A-U+*BnbxDZv(8IDaM zOt~K!LD3RzY)USQv0^#}rd~geUeRmQ{mhN!tXQAj93}Ts04|aav2CCz#6Sz|c6*btUD0lQPVLmS18bxu|My;Bb@aCc+E30mr{ z;Bi=nnp#Lu#a*5`$ycQ|1x(Erd6&)1`_aH#S;^Hm34i_q-8ZuWv5uS|!xPJ17%_RW zP{eh3#>WuDH%KTmHfB>>WV@JIR1IJ4yW|-^*u`#iSa`gPU0+{1F;7E1sH1SY=&ABp z^v0$h94-l?`RTwTC6*lN_~~oUa172-i`>g$yYqeKkA-|sN8oZED~oALT5!cKB_@(Y6O>vRxB9(MgRp(dIca-_1}QwUg6@SHz@T%NIAD6BQg3 zml#*@4el3;A?5-v8hvl~9>d4ZPkV#DQ72Wp{S$4R(nCHTZ6J`C{JaKKqQLt6Zszpm zSDcmJI+z2a&Kkz>{5QL2`!ba-+dKc!#~mK+$D>t+awgx;Kx3e0Z z9^N_9cW>Uhx$mXeDbT3@$?!F3??G}v)km3~r@N(blXEra0^>H1I&#TG+SYREUgwU) zEz{r~itNXgipGP7_bn$FEgP1e?qG?sPX0%{wkK@fYtJ_slkJ7D7ptv7ClpU@aP@I( zoXk$1^OOSAmKoMXS+l)RPozat?lEdb^OLUH@?1I>~h4?Q1DBgM;#24!KN7@%3x3g$W)pRaPcx?hf)zkObgvw%+2@Be9}248mb zT7jFBJ{^?vz-4Jxiq1ZycD;7tbbivMD^7m$&I&B~EetG>Pg8VWA#9y~z3N%AX@fBE*>- zS6XYR4XrurmH36!1Il_1m_R&H&sDBG?+4WM{1#$lZ{J#U+HG|qHd*(vT^N+iNOm)& z?Kg~lQ-)eL#`_*}W!>WW?K~L3;!e)W z(JkBz$Dd(P_C5B+5P;aooi~2Smr)%^Nq=ud1G4J*CxWTGBSh2xppUVB((@qXK*#(` zs(Q@83<&`k`t&#)?(^QCm|~^)+_hAH4HLu1EAzX17zPqz?*!Xb+MHfC%MvJa6GpBvRJ1yq z>M$%Qe@p?34s+5JM9NZtj^Dz^JAN~K9{qS@-|wIRr|367ucLWscEU7KSrwE|IJ=*a z23Z$Z@>N>DTjuyOi5UK=^-4?K(ToL3LhdPuO+iscVMm{1s)DX&lT4<`&jV8!_`{FW zW|FRbn{Fl509G3i!zL|MF!Gknp-zxhRrp;nvzR6*=#z@aIVZRMc2lnRG&BifX0AAQ zkF4VF7Jq|?E6b^$Ei6Q5MW0|@9rzm5?i&&HS?kKP+IHu;XS;q;^;pN#)m-spo;XqB z3vb=7)L$fdH?)UH%C6wI(VJYo?}rec3_I@=#DyNlt5_9{dIvqK{j#kWyWU2l*>+h; z)nr$5OPX$PMS9#F7q9i6(s7o$$x>Z`j>>Fx$bX1Q7)wxT9G9HFR?;<{CaG7?hbLgC z9Fh6M$Gf&o^luF?q85`h2X%x&JDrJ&7zthx+aYNR4rjzg2rZ&O!Lqc@DmG~9 zL?hHJQky~kZ-M`PHI%;HW4O-}>uF8aO}u&JvA#xhnj-ue#VXhm=70PI|MjHbnIE0` z#kNB+4R5p8$K)}|dQD265Bul{7IPnv>5En-@bUnRc1VCe&M%L4(kAbz?H?WV89=uo zi$jhiJMo}M7cVI($w`MsoRd*qR~O@$o}ONlC51!HvA?FoP%RR{xw=h#!M%cs3oe4P zvOML!Y-wbXp)|JXVM_`pB91V?LQNqS4%%XE4tL0 zv7u5?hf^WGuihppk7;GX-2bxNDB23(HhEV&8px2RbA}`Fj#i!BtCTK5#_f7L2ev2% zcQK22pbb_HRC(b(h(@;Yy5QZwJNOnM<5ZP8XTEGR6s{S&oMF#tjsmO(W$S<=JInRe zdUHegv*I_@sb%nSsyWXYB;LwPih7V4`RcEd4w>+=8tm?w%fkyNdl&Q_MTN6GGYJ1SP$T3J*IG6vHHQ&Oc7> zBA5?=9Wh!*>~w=6?#x8*z3U%xn2}}< z4nJtN-DQ8JCa|YX#Cz9M_G^SCsvQEz7_QL74>v4|9Ln3XVyqvo;lS>fL&cAbjEsLS zbB|6Rij<2`lxYsxDl0yM(EjT?|7XMR;X<$C!R78$I*|0Io~y{8I~AkQi}9UYW*ae; z**>ejK#zx^zH40`p90swMuL~7!uK&eR0>%`4`+A3_92Af_cpK9mXHVvv2PL(D0?`3 z$@Vy&#rC-61lb(jEMa7wx1~u~Fndn-@BN?bvp&=rOg9n~ABua{t{<1r+A7!dZshOH z8w4wZ@F%V)~@Vw5+xQO~~L z%hfyC7zyNwp7Ly-=$iQ%aWCOcV~$?@cqwLHUlv|Bla~2gS_<@5>*~F^H#r1j@`KxT zJL}tuFn1|DS0i}-a6k1YQ#ytAg+>-jF>S@M*x;a~^TLM(*60wj;lfIz5a4K6BpMVw z{|c0f$w=(HKIGjsrQ-$Bu*!>iw-xcQf*Pep+h8!*9*5$Ya?WDps1rB_H`)eLc_z z`ydYanSB}GJ|)Mvr#`Ba^gXlU=g2>KUS4@zzCq8y1DDbywei+#4zv~)YvW)f6OJ7JW@&XaT&FPFuR7S~Jq&M0`zIa( zZ3e}Qyj1^{YP<6hIM_S!Y_<~gyD@IDl{E-J)Ky1v9U$mlom-N;H61-iH7$m>Wv8nD$`%nGu@2 zB?R?gJCsT9WhEs@08rA_4f60>I6 z<1`%{cYUmDz*~;Ru3WT$!-EgvVS00tl$@@I^^X3FKu|UZv69*i(WxFYQ)T^nz6aIc zG>w{+7H+)s{N4xJPxz z$Hc{OR1$OUogj2qnSjDOQR5M#{LKaw@X!pm*9{qIuXR^qhtO9(E~nPR{X-nlt>Cen?BAGRYW-ZIlfA)80I130PLd(r zYs#v)j*;jpa$;h3J%UZZO=*4y;7QfJOz~#;c$Ua9PwIY6=R~BK_ZUwo;XS>$V6`qQ zN16|!EX5nm8CLwhIPe(m=Il`csRoseOSEc)+>Tc2j*gp_io7r+jukK`9zPA3S<$>Q zhxW&sr={IHLOP8iy_rjF*H>5b+jA-Ke7|Wn&OMskT4}VpKnY#Wmde?3h$8zqf^c%o zFbPj*vU{Tzp0Lw3vOGzrlC@NW&NEsaOXBYNyQ%#M zZ~yx~vO+tYgQY=9DvTc+M7Jg|=cP+FX4s8GiG@tgoya^l>VO}=AM^QnBwXg{Mm~Dt zO5$m2IUI4?PRiQjF8NX}#q@_?z&jbHYPTA^x#xNh9aQop2cBhZ_MEWJinS$y8uH*$ z6ME6CwI?R5z_>FUp!)OPe|5idCf*LwFs9n6c*fpAxX}+`}>o^~G|?nY`Me?zQjpWBsjB_4Zo2 zp)Nz#PG7%Ixo-ZtHm4rbR=pH0)>OK;^Sw?v^?&@Uy6#}hs73JauVOu43gn^hZ?e5B zWRQE78S;+%!hD@)vK?=h!i8FI@*j=|G8;8--8Xnpsb^YE^7@@ZM3$mE8=U2S!Q1#c z4nHYDs1KVdd<%^1!LiT$V=$wmKNb@+S@%rcyx;LhC_Y3EcOUQ$C|3i#WXV7u0nAO> zcQIiwd>0V&OxJS1b{uui$02ERst77c!#?pO?{Co&akYz_cSQI~FR0MA%{*|v?VKY* z^rh`2Q#}pWpn?6i8yIeDQuCVoAu6fLH*i6>qqC6R_EiSz+J-**3qCf=@A4~StlYJI zeHm0ic@AQF%Oi6>Au)8mj151j`+w~x_Z5VHBKhe@<=tLPx$MaQ*E2PLRnI(MuP1fk zPJN$kF%E>FLa*yEt~%|N%-g+ZrLPyS7rsP`qdV`)h17H1-7W|^vvOb0Bf8pOU+)R7 zlYDPV`SD9Q^z8P*ZflsG`mTc_NZ^x>d+Gf#SA>JWf(^CT)6+wR za~j3>-1!bsRLZjto*xsf;&O@FELr!dD}HQJDL;Ov%^7pC=uQD!3K42N6K z@H7ZMt3#{JYFIT`9%er3*0+#{@#P%;wsJ_?R?t)#goKoe@SpbSIV>`FpoQyCZ3FiS zH5<IVa)ppBlTX%4K)R`?>Blf3;p!9$$fFDWpG6Je%f0pDThYCK&I@0`C8O z>Hln{RG%fW1xkC5-IDj@{b7&T7;v*Pf6XsUCI+Qn@jIs_Qs=j|r|;d!i+&KYodh}Q z;#{R@)+H}8wTTF!ipF2^Fp7;0=HLgj3; zb|As~-m^NRP2b7A3`2=%J&hHLhz{O&%YWmp;G z=eDao&zW#nkXKb`trn(xSgeCgl{}-j%(-hLC~wvWV#ofaq;WM*x~;3WZmP6p+HJAsvK1A z533{V`pO43-^vH9`8Y@WLU+Yv9E$3-9S=6hGT%(H%Z``S(QuuTQQF>v@ob`i{Js%b zF)!auFH=zg)JXLuU-74|;>6qeIM;ac|BtZu4r_AT_J!B7BTEnw5NS$_NK>km5JeD> zCcXFG1*8QCN|6piDAE#ouc6nV)KH~Hy428-l0XO{H|y-PzkAoYcR$}>VJ1AhNf>j! zWBke(St#NLy#%*4w03m=ta$C{+p)!I^B4ID^uWe@I1O7;9z0`ySq4P6zwCz?eHj;w zLGcr$@ui>>8D;M+CjX1=!iwv;NZrw-1<#S+p6i`!!Xl%xA){ZlU_rehc|}<`WB$TD zr`+wf4*@j3X)lBWrn&Sm6xcYl`@CREYHX)vU%-5^-I*$(nHUS^4l0!?Lh8B@z51l9 z?2ehd+BEkD;X8O?DNrqD$1^W3XP~x<^-8sbSjNmz?w){^ZQcGVR_q4JHzo|xY=-#d zt_mF0=eu8GL1^5WbK=78%V9AESC9bIj@2ucDPy&wV>lVXuowF0_V|yhMLS8{qY5o! z0lMoNVR8b3Qtch(Ny?w>J&NX_d-{&_svQ~%6`J?Nv)*Z^$tM{+OQZHSGc$7vG84g{ z7jh_cL8>KW^QIXnr=rYbwWei=2||Jf)Kd<*U}G_(#MPK{lfd%I%JlR5F}PCU*J@ke zZaXzSY@ddrdr#L~bYzT;D7N1R1gHR}TBN6`a{G386NZ^g!QRuUUbrH-^u6|-T18`e z72IA2;rDM!7xa~Z0arPwxbqq2z8zp?HZLp7uBF_>#tygy)LprAE!iiGMtc#udX8-U zzHhMH7(eIzW-hDY85#fEwQD@P^*z(~s6y-=&kvx5eBy!(U_Ub$sFr#AL$Q#{wM5m| zl2D@a>qMG2+)N{^3JTk~yT~tfOkgQbQctvE_`H;)ru*r7L(8L^3NTsk_XY7EE<&_8 z(%Xh{SLdELfV2WPn3|`^BNgY z1cz@S#}6i{_|tdqchhw>JU4jZ*F^=pbE#E2@a~1do$s2e2wx9r5bzpu{jJVgNd3)~ z;W=?Rz5HF9T!_ei*u%}qM>Vp%A0QAl<=7T_<&AI1wzl$BkrTNwVcIZVV`>A=5y`df z0Tq!J2%f4z;h#y|OYRHR<*d$+2bfT(LY{>RD;Lou{g&nM@qnz_iSoTyzXxe(JtB+J zPQ;$MA6$n1j(|HMlQK7;5ALlV-kW<=7x{edL$CEwaa6F9RB$m3E?mHdM`{dvFVV4v7?cJQ2NYzzR5PpMC^bRFM z^>5*0HqnRLnl9azH<9)8KOpK1+mdQr@H}K=i;B6-SqqyDZQ! zfO^FDGMye{&QY~WZ`&e0>9~?uPUDNxjNx@vzMKu%P~0(b?Y>5F6aNJE{$WFk*7^Jz zx&Qw`CdBRNIE|UL_xLETeo316Qz426^CijFvMJNoOu6KGj$j-XM8E_hdYoqDoy1uEpTn6{t7e_{HiTodiu5J0Z7D!}I;ZxzD+Je3z!7 zV_?Mtw>Hzp){U)Ii+RukBzws&%5&eW33;2@wz0)Q~(CIg?|9B=?%3KB{05}!2?eH zKTeIX5()UD^UsFc%>tm;7ss~BguuByjR~2Z_0hP4bSIr@q(p1~eIE^=pl!`&vSuVi zv%(&UtZh?N-fk8GbzP|MdakjRRf`gK{getKk$DzHq~|{`SfA7p+*k54U1%hHs=B^b z7c*MZ3%)R=h+1F+MDT|nq!$j&T+SDaUt|a$zi#z}sAbDEdj5t#K~{p*I=@elU_sIx z!-Vif#X`EuKI?5`r=FRts5%K%bd>3!qJ;O24&XuH2B`$>hOpfWdVT7nG&n$X?~$f7 z&>2-QmVCS_oEl@|do`aM5 z3BgboA=Emz09)IXSQpo{sDB$N*YRivd!^p+X*{z=h2cGy*5=@T2Ag(AZ}u-;h`ad8 zwho?wu!lRs3|^UUD%j;dt%(Cz=#cydl-QPciOR-2)3WvcQb$w|m0F*`v$7m&*2c1V zd&zz~w~-7FVxHGPa(W^wBQo5{C7~8v<&2=(Jv^)#3kmcuKk`!vBkOau-QhpGG>XO8 z*OTaV*EedXI@|FRcb4a}-Xj`#kAHl2Ax^0GEVBhZcF35r15G?^=7Y5ztOvF<^K5P^ z?(e$|v}du@G?NI4NzIMw9zLTzvrKcV9FwFws!j~tam;gF>-b~Lw@R9C9d6T>_2H<( zRG7cOzUm7JT@BJ&KAleC^KkD29`R@{vWG&qd~rU&g2`QPHxUrmMj~(^-cCu4!YKGt zh7QZwYFiy9E1Iu5BT59GQa;(~+}mUJ`A7`m*b&P`<!;H0xfj=;Y5|0&7dQuVUTme%kzL)7kBsN8WZq9v%3#x zRa0kWQS}ZbJE3~1pMsC_w5+T+(>=GiQ6JKE#E65YsD>@Nh#>NXH83zw%xi0%-do9x@TMYk?2<|)$?GMrT7o%a$ z9vvIj*-_V|ST?BqsdZvcvvH1cKIq&|@QQ!EWgkvleH)Y%Q@F-6K!0NhPYrp#O4)9$Xc|L*M9T(g6^8pP?WMC&kwU^hEa5wdv`il^-z7pMk8Qdv|vZ_j!>l zsJQkl4vP=oK01Fmc&Zy1wE6h>q@D&=TXvS8GNo8F%)LKHa%vkNUf?|e0elzjTsR!A z$)WCb&!B;L!s#%WapC>zA>Ql&x9_O9&^sb>lY$SI@yFR?B0(2@NYMBllx4sF2s+{k z;R;GkB#jAtplBjOud+C&#o(kD{d8iCrshgR+^))0rPPOfy4uD@@t!|3x>S!YKzru<)CzeadjG+S;q`;>8S3Yi}yOr@J!UJRvvN=G`LDzvTGI@a>N?rT>a~<{e zZA1R_JM1zplMdMzKS>DC4+y&Ju?ckyu?>wT>p*XRuS!BW-0+Ya{`O^2)Od-~D4v}E z@Kp7_=7JZY7bAI8K*@DFR1B^kE&)MMoHKO zv|3I)X$TBDGPFEugD@@jfQ5E2TlpRLsNs!m_ORn}0A`B_k*W1W@1Pv4WJ-2h$#vj8 z*52qvE%E@=8BF&KS|&*X-fE_a!Q{IBiN{$sxRVP89&<|XH2Kc?)wA%=KOnIrlB3c zl9UUHsG#R{*)T%$Qdg3kT9C}zXaJ}(4IWrOS-ZU0f5F-hEZZylz5nB^eGB*D;!?2` z(~tA3J-_(Lw9r%fUT7g90pGrf4ff$T(LqNA#$7Pzq0i^(rzCXuYKH*Zc!{o2*x*xE zI6mIdMzi8&K^r*E87}UoJ=g*~8w0>QE~k>HC@|1&|1k9Cr2;1Z^0nH1zj3==hh?$b zjbU~0gV7KEcLU2RRgFwQm-8gAIpfxpmNyr!AMqaHCp-di*m9nvpL;#j2KrThErK(zttX{(Cq6@y9RLyBcK?KZ%X+ zY5>SY1ZeYLuYr8^znslfk@()%HXXuAeMp)n>dPtkkFB}dP9lh4c3E{ric-Ms@_eFm zICv0iC|Z+gid09Qt?PXvoD8SQjGqxn`v=!?!$^G6G+Oun$@_o2l|@y?MY+AfMZPPn z5fHhJ&-%mXB$AZLtvDAtavbZqXLY4#XjS8^QMo9|h4P2d46+OFK87G@_2<*#=j&*3mlq9wxoX zP~=5V>TJNd@G%kIMCRT(rN-7?^5K6|DjC7wbX0UqU1*E^3?fjjpT~GpO|M_#O0p-k zYLFcQ^#Mn5spfVHyLK6vPmkPxo!%j7TwQ;6Cp|Vc z`O&4He|AsQlBr{kbvtb&o$9oErai)y1W}OAzM0hBZhdexc9#5-%)(q=Aohj<-WqlW+sJ2 zewtds{KkZP zWqLefOqAMMr(l`Xpp&uL?hg}lF2>fomAxN4(ogMx4i~*U9Dt3)%n6s?*Wj}N3(5I6 z?+s06Wo$B|w`k2BXC^?W)`T|kJsCL)2YcDJIw6O*izo*KtZR+_s~EkT=Yd-Evyy`% zPR3(pO1Sn1@ENrmP=eoexY<^O0Dv&rkKMY2ggS6<9w_rR3I1O~1WHTtOuwmDmienUrrai7T!4X=l zVEksso_+pjYd`CQM_6oNbLVZ^aI=YD$7jPmpBn@jDC@MJZbhG*PNx*}X-hppnw6nH zblYI1n~jGO_}PVm-W~{Qd>E=Ns-}AUWc~1M92#S{HDfkZQ0v7jXjViH>C-g zSsI%m&h#XAsO>FBTn1q_UJ;avUIVs)f7rb*SxILD%L_%P+$%{DVIMHP(?k~<$F0gl zL0ElWPk&>w`6$* z?qbJ_xUCMgE5iKM6_(}yk3!&|o9LgbPJ%*Dx~^@at<(aQ9y z-1K^t>HK2$A`c_L74$Q{AFro4O(oi&&QsB9tW^W_rTucICo^b_m+o`9nT!=z&CTDFXHFrmHdWSN&ikpN{VBho;(3Ld*~)_ z`3(4}!Lu3kd#oQeN^u9t%BE~+loL=d5Fa1!;N-&PQ>=!iP0q1 zAJOE)rPk?itwOzrp3%f8yrGtA{~LqH4!q+Y;bxJcH2woYn>iC!Dm|T-A+=jebpS)` zI$}mfgli5cc_v_godjMbngP<=c=H1UD(pQ1oamM*IQtquF-9L;g93@mX{a&cB>uDmm zYd;Ec9iF+%y-cI)L+jCp;2vOQrOKf2HW|jjm6JKGT+u1-o+xI1@9Td4FqlbL)JCpB z;sUuMW`DTo#_tMkpIjV%Gf9K5pR zwXzav&5B?dP|8aFdZNl+oD7T+4eSQnaMRxoZ(aXvp zo01Gg48~Ac_SRcYK{nQm*=yKyS`qKx8khN^~hxJj5 z2y>B5#)XMNWpbGkB4hyYLWR||YA~pY%=B0st{LYrmteLUa#k>92to??r!GvCQUO%QB=_na)L7 zpEy%HWV%duE}UyKUyd;(Hbmn7F5Uv))Q#k#2nkKC7k%3YLIi>!doHR~tyTO7!7CT# zyc;Xs{_BS&koJ2%!|uGK@oc-o2A!(y?GHiyU)k&Oze?5tY06lM#^SJ<(=HwjKy}8i zzB{ghS8g6i1kt};oXZ1x9R~YKNpU*|f$Dgz?BMO%eLuxaZ*ISEc9vrT6NDu%R+tvt zGttY-k6m0`G<3Y0hH=f0bPsWoHcDROFgi8wD+6(YL5Ex=Y888GFC|{yiI8m;xY^LI zZxBExPzi7r6D8J{Ri=SmSC!(x((hitX~AdxU*$yCgE-b!f_0vYUlnT9PjRbEKl*0) z`W-yC{NZX_kQy(V*P|q7fb}Fv-Gm@m@-4{S{ng;$U|liyb$WHvwzm7^;uk=ZO2>;3 zcdWT+kG%EIP%yu@I4JZm_D$sF?4Fo?(I)F&<3bVeGWV_8EoBa#SVf9a!&C={i-s?Z z?6)QG0pmw^Yu>QYvMMUFo#EO4{N_sZ;LFYQKr}W})&3giBOmqpB2`8~+9md$#ZM*b z=+;do5&Jve-VxfjuqC3*_5`?@iPLc#D7&n~PvdmmE91O0$TMdDz2ZUos&}}lPs{9O z5rf_=Uvad-P+INKA)Ur_?s={D?NP6iclmE+6p;1K9WK9{499LB*J%JQD`hnb$~KNq z9v}aGb4K9{8c1%C!$gSR!ZeQ8AGn^RhWF7+`M`A1q?|=94dI+fN%yr}xe^y~O zqV2n*`sQqvdv#5yq^<6EiC=GTRrY>30R|WlXy>eb`ckCoN37lisAw>RKML zTTF`%*NF{+_gIsn>Po3LppH5jSChfkJNTA~yk*7l0>i5T6MJNQ*Rj3?$UIhH$Qv*t zWOifsDE;NgxK$!gnSTNy_~!u-oIM;r6-W?gV5kqQH~w*YA<|KXwU*vLbqA)cZ*#*= zL+gDE7lo`gl(uNog=m5l&rivX5{0Jk5#HugbB1ck`f4tU+@uHu$%Oaj+IE1tMP_=- z*^bE7W7@WB&lQA6lOVm@L-)xSFhH9u z^^vbD?bO!)wIS}n8OSL3Xn|KEM9NT|yCBUDsN}hpbsyGU*X%g`Jeg})w_xKHTz=m^2C0Yr}(-MgJ^Gj^65M)ha5VEojRUF$jE@AFzT zB*fG>grWUU6ROj@bJNC6D%anZ_|nBmgIacL1DIgxqS)})Y~IM|5!Ry*#o zco7#17sgEGz&Ql@w|%Lfav3(lQ%Q@nh>j62Y?@b(j6bC19W_kV)9QBBy~JL$_;^NN zy_A^Z%~GJNGa(>vHXIZ#OsaBQay(XTR4CfUzo;q;a$nHgvy%yL^}Q-F4quWurNZRh zX54n-zyg;hmClD(MblMS%E!5H?KtI!H*XDW&q(@%v|V&GaNx)4OxtPFcGzOg!U9Xv zB2wg$6?8TASQgzK^w4Z=iMBN62xoZR#dhwg%q6i<*qf%rcZ8C*rk0T~@2Mva{-fh{ z6I-fsL8pn{=ovi|<)_x%-fXtZ91Vd~cFgL8elhL8H}&twkBh)(uY^3m{)PomNT2)* zv(!5CUFA4;BZ-qNehHNLC>6PlUO5fI+Xb=y^xSSgJ49DqJ)Ntid`h3#c$KB}^rsz$ z;Ztk&Vh!l>Oyd^>w*!i9JH`8xVwZ03vH|ru{(Z53Joc8{O_mCtCHucpKIh8HC+1P< zc>1Aa`;$E)ivu}$*STKV(3LPn0rYqa%wGqCfp@v5R#5D29XGYglEV5KIE>``Eez^> zL*yODExSqp;w63)Dbe0$a`dW&1zd)%^-4}ThJV^z-WV?RxzWrX&DkjHlT%*0KsPe7 z5t97b*K;vxhm9r+#^YK4*rR~9xkh6OTt$tBm^4>e!{niK)M(xANMKbgmhM&200{-n z{%bm!Uz_RZml=@)NSx8)PjACJLj#t{S{2(IYnjaV2;s&__syX$!L@G<2=Q38{cqn| z^7lrsM|0OE?q7~jId}$XjgKV!0d17qZZ|LZ8sC>*2R73(aWHS`l-Fa^)bv$OO(4x5j@VMM7gFPiG$37smhKNmIYXR+CLJJ{IN4y$0>@~GEs&>hts zqe_A!2tATC>lNxC`f#%^^Nto5Su{q+l#LhZ)?XY~tAEtn+vhQ9q`gHSDWB-cmDn3lthxZxLmz#!e0}!- z`+dnlYh$8Ep*gydzqzGpK#A6WiVW~;>W^UpAdpIVD3hb+Bmb;Adj#EE*V4#b4SxyN1(B>f?U|&mT?xzi(Wbr!{==eU=h`7>5ba-_5nX9*VDUa4?tE z|NU{<2e*)eiX?6O6!<(!{Cb`K)BE5U7WFUERME!91{zc{k=_pZ*98U6-)venzxZps zR;*8P;97GiH8uT1_gu7HyG;AOx7}Ma4RqFANoicNWdiy77tbQfX>R8@C$tJX{>kT6 zWzAo_lY`%;r<6Ywe-9pL+Zooa4@i8!L#?&wQS*{|U}KS7>+v}MzWv|t{QwqxOa9YB zQ8%I*{)qO2w?Y4DIa(NUF+X))t1r+sYDtM}E~n{h&%g{ofb4L39WJn;fShA%9Yift zf8z9*#!wNjQNnE94Nt@i+Yie4tdI6$HDsO$7Jp=}f}RZh@=!a(HK2kj;rHP<_DEOO3`R}1=Pdp#BP3a-gpE=O}2{ki&X{3is021#-} zEd}lWIJl>M!DS;bH;Q%A{g@tBsI2R3_!cep>XRwU_YO>Vd_h@Lc8$-yfY_@EYe|({ z6~BZvo;>vgxrzPZd-~hg#@&MK$~c4s41zZJ6~2Q+^iO6$Z16D2Q0Tu|_kb5F{;XWP zNWV@WhyVI=I{7Z_R}*BI-Iv#@kP;NT6&Ygf7gNuNuSRo|&J>tFW%Q&6K3+$Xhg3!X zGZ6lJ^;NEQBFC{uvXsmTUKz+zWKQ5!ETu1==+L(1zn7wAkvI0TnkW3~Fd{(CutE?GRTVVt5_WTv6;&`tRW!6w2mgL} zv%Le1WzbCPURs+mC&OItAkGjcB3eY?H(?D0_z>VxC=X=>r0-_%eI2q;<4c>x1ed-c zV1I0M<)Z4aCD|c@YdO$1uZPV=Z=};I%JW)ltwi3RI;ig)u#$%}BL>>*T3eMB6h^x* zJ0>nf!N}hI4qCw#_WnOd;Mh-aP>=xeMY)8^VjQhE@-GV_W`lg5w7b&&i0SUOCzwbU5XNKY=PF@RAC! zRyo#Y&(i$-0@$;@BGfw!(Oy7{+J$>nlja&Bz0vNnZ}`%#l_h}!COKJukyHL${e+cL z_LAatbH-3qYB)uVRmYn}{WD-52@AbanZ}1@42N4>>f#z-<)00orwAbQIxwm9 zsg~}T$DW1~uEXHP;3qoW=9)5xSL8L{Kwc~i7ZMDPn+K0FAN5*3t_u6>YmwLS3Q~vh z20IN~@}Qw&ja1@foovs-*gHz|YLd;;S$*=7xwWGYSrpg$d5MU1_QMc6=y%B=N0q?I zAV|`+aZ50LBl^$384Eu;-NAK-`un$q5btj`c7-I)C_52a@-=$8ea-l8cu4s zTrdpN6M0)Tl;kd~t^^2_$sa$woY6F)v=E@vl!NZIC5tQ;#b%TckLg#ry)pqmi`MyR zH$Lb8E_eB&3(r62p5o^@n5$EtCJfd|j_9ySNDK!eW8ji#z?lsY?SM(dUKG{i%Zblo z%U#^{@I&KEWI5n?YGLwfxcXb+z1dOWO2q-xvhW5!?fB9Ly z8UV!)z1Tp$!fRX2Gf%sYRI}aH(|CR;SsWAZ(ZT?9eGU1^mE{yw8z7zUcj_B z8`yjX{A&|+wTwnvloac!0Gdq+(ufZ@Uj)KW*n{+TlxUxkz#g!j-vZ5L1eK>kP;~eE z=REIkkf{`pS@5qBMg7qiXSG@W-iErPj119Tit`;{+qs5O{-sh(Hw*8@Tmzg7-z*&T znOXD9xmoHqNRKM>%-tjTN^5oaeRgMtvQj3Rs}1$5qqb_@KE(t63ww@8G0InEm_g=8 zE;AR5&89<6$eAQ&YAv=D=zlgQHHBJ zNd2I=TAT>GtoALusC$GsB6(uxQ=6GjwlqOz43oMRSB0?S7Cb3*x>grZzt6GZaqFn6u=Pe^%Ge^E^o=h#upy0|PX&kHPu~PjuXtLON3ou4!p#5N zZU1p)D<946bBuWHQu;1=?fsL|DRwV#AdiClV-IJlP#X2hgiRdhl%t%uxMVwdZ*QGg zS7;)n?oO7N0vziN4Hahu)z_3i5lWTnvKwDJ7w0K?{J5L@BY}L1b~MW>3GgRJ2nagV z)p4d&sBLo*sKLQqsTH3~X;nw)23}oKvr7Ni$nfMJ;+qDsTe9eB+MWNV8SAQ-cRxzG za%de#&?m0iz9{r;V2q33S})TAAFV}tBRY1;mcOk%aebqd9;iRsZeal@F;(w0)Ny!x?Q0E_LvhP1uANY6f7xzaAzXE=W!r+2|kL7iOHi3|1_dV9;(wPdCrAW-8VO;C*im2trIp_<=tfm z=1a2h>w+DVMTwm0D)Au}IlVp4iF-xxYwo7)E3dpPO#qJ7CEp5qyNl7!+6(o^Y%)uO zsOgiJj6@X)cb=De*Xw)im+~n@o3Nl6R82KV`j1TzFOF^()Yi!0*wXPW?#Vv`rvEeYu;Z3kFg5WFN9`C%@lDv8+)!qQIS1aoD!;le zf1j9IbA7M3uocaoZy(il%$*S9gS#0BTL_&Nhde zSEWS*pRc)P(s4odSGe}m5{Jt3tCID>{dVmz`llOR6q1=A{6AG6wci4iHN5}+O?>a& z%QI4tS62Gx>p+O6DCVqKb6Pfz@BQJaZff09l{kGJGMXTBD5$1Zug^vKnzUpVD5W(^ z28~ZL2BT*${i)FoIbRwduO6q2cFQEKeW{I?PkTJt$!if8dD}7uqhv6sY#*J!!adS@ zC?q^IHX(Ov`^q}=ly<_GF6wrIO0m7>=h{s5@Adwv-Pd&=NbE^QIWs&h$+B%$=ppwB zh<7J#X2C!~=}C zO!g*LrChK8EwvM{S=A%=9c&Mi0CPLPiOp>muf8=NUpn>-sY-^=3q5(Au~kbjC+Gpe z(0X8WTDey9sU{Dg?(Xr1PmY#Mg9J^NcTr6<$ zYYTif5()9X_KwN+AE+(Moq}89z@ONym6J-`9rh zGnS2}1YU0T+5EYlBeH?cio+3hGU6_cQKKpG=^F+DL6y=6X`|^^AsbSAi%R!zaqTRf z>$ieVd*+^>0q;^iRDNYG~MuTeJ{kYO~$L2D&<+30H9A{jlur16_ z$w$I%d(?T9W>!g=JdDY|EWhCO>d0gRp>1+Dov?oq1>Iavd?#m-%;~-z;~*}?6dSU) z5>ByGeP|q~F}C)5D5`WnfZyN(Um_`pBNiJ|$&``wO{}OeqbH!!q~OVA2kzl`k8+Pn zxuUJz-WYr={Z=GTTad)3odh6YIj|vaWM|yx=gw0OZ1nVoH@xtl+wwoIe(x9G)giZ^ zOPlR2niw2Z^WiKTKz7NZZYMCI-ZpdQOLh;(&gf?A<{1|;xW4`(*smMC+Mt-BD`Kz~ zJzI_*kfrh;SeV)md)YM^@kCHeU!tjaq1;E((%pI*WCPR|YWe=b{hRl4GyoH2Lr&y} zjx0@#jqCFTv&(m~MU8kRQ?XN@U-&H~y^(HanYnM#G<^@h>Y0T*J294lT&=gF2Nz-)pGc|Yssv}9IRlZIv~mk&r5BIadp~PW-J6}yWfoP7C2f_MAFi=5 zE!gkumslx8b00VmDlZvaX)Qz`S;hy)nEMl?b)e|Au=CEGTL?2zz*FY3nwT^J;(SKw ze8zjk+}$3%SRC&@+^za~xT7M^X}*(jk=$_MhdaZ;1Cpf_(GlEEBoj$V$#F<4xud6g zvrm$dnF_t8ZR?Sp=p%S+f7xtJv)HCPUMC~F;fD7hzuiK!g{?wncr2ydnYYs&;{dex1QirxD~?ENfbty!*WEyYDA$*Uv8jHx@L$ajW zcFg)FC3h{^uM^@leh`_QOeYBf*|~ewtY||i^8q&-OpC3?X74CF9zB{VhQ5dPPfgMB z3p_;{%70b*=#aPor~8j_^ItEt-F)%Q81O(K%O1hDPr*eADCNxu47pxUMqL!YRkS$v zl;~RzGI6+1+eN9ei<>&IK zZCv*GdbZ8?^zQC`D1_z>1e|9p4S~stZ0T8LI&=1o4qkj5#=nraq1lwlI8HL%J)FHE ziy9wYh~|;zS#J)Sz0pbNIT~jtj*^NDCZO2^D3fI4&^N)lTpGzqJ_9@{Lp%zJ+`xN+sd0gjM^1V;XLO)qpn%S?> zu6t*G$}!Bb{_QV;)VJsV&#%dxdlr_3gpIE*y<@npVHV9*>+4}7ayMB+?E@h%A+C@- zH%=TewN>-7q+I8%EY(fzs#<*yr3hn<#SbmoWl8d_Zr(3{xuHakxNHu_y`c6vuaatW z2clzdM9Kor#v29GRmcjBlA+8ygMPUvhT#-r*RQeEx_Wx3+fOLz)mZtb<@Zau*vdsh zcYW+#VmD8Q0&2)of=IRA^kA%+__S{Ks-p=j8ylsh>)6ZnzLpvRs%UNy87Kqek9hZN z_hyEX$8$$p0M0m5W|V4~#?E{80R?10!SPSczMMM~xD8&8bQO55O!<6+#m>!}iCC{w zAMZ)Fyo%O5s_B`9+F+Ewb$${m^2x!&G3&iryHGMyXeQ+U>FfKl$GaklVRPc$pSc3J z7N78CTvKy8)0I*V&|BK|SueaL2X*NO9<0SYIwDh$UVoZCAek^BFap6EWs9}1KEZ2^ z{Y`%wFxyJkETIHw%ayi zhe4(C(D=>b7IyJDjBG{&Ev|C34)t_N>B_)-4I}+KZwtYx!|wEW1L+wd?WhggKv<&q~lOO+@sGK<=x-VOg@hQ!0Qdr)xpH|h~(9C1) zwpw1Z5u&}(^I)nhw}d<4vk;k3Oc$4*`8_#16No3_L2X?Bh?ZY*4@yq$hj*sGlEy7V zI>RGLSB9Sp9VpWh7fTuPNjRh9^H)V{!zZ4>j`a^!*?s*)d$c%16-uA<0vB4V`v*Hi zkK{BV6jMsP{)Xp~5fqHQwcm&AS-T$@NHDQ^^<7FOnkVy$s%ouwp^F0p zheCMbWoIGg;O2X&zmjW(A37pO-rw(TZ^*DRrvCh4e9w{0yjM*$hQB^hb=Tpllk*S&!?}{jDI;o~`Nyhfj1v5jr4YZ= zbJRrHsqgf1zym2G8u;nj8ve<6GWUXZKW%8j7G7Q`D@TwkaLMZ27_@j}ELVQgt&+*; z>#MKoIFUacPS?7{*aQK`K(51Cd4I>0BbB3k{|R4-SD<)n304g?=1JBBuUE3O66Xx6 z_Lw>`ZfN4Pv&e{wXAImn*lrqYZM3i&K1~`}JQ#jx5x~FuWy$fzT(zZ+JU?zy!6+d zq7&*WkHhs&6=EQ)+1W5fX)yCAP=%nLMj7;M2jv^;hlawuI8^lV0>SYbW0f)8D z?`A|pOZ-Njzo~{XtNSnQplXDIB6gIJKMc@N(+A(epo(@8JxY3QpIvC$lzVV2U{UM>Za+xTZemCUntJt}6OM`30qc6}QX zM-e0b8=e>@>~2#TOvy7H+46ieWz-+oqA?1`66g_o*4H6j;0S#}*s0Y)r8zP4kD9-} z&kVJWRu1TBjK7Qx3$9~)nkyQenR+gSajQMx2FL-pwc?Ggw7%XJALLjig zt;B(+9q;h;$p-f=%LCFru;u7EdsI()?GB_20kqkxi1^^rpmO%25Xt{!bY~=V^E=MEv(5 z=qv=ld9*?KLnkj|ehXXB&j_Mdtvp)n++*5ayNwXC)L1jEPI#q;um3Lzd5QDwqe7SO zj(>|%zN>bH(J6}ID$Df-bEozlK^(AoPTf0X3$K@c&i#}g*#Qa*KA6gL{TFG&;u!MO zm-0b=vHGPg1Nn!`YhR$Yc6G~Jof~C2?}S*`Xej|m?POKdjm0johW|6yzl02JhkJaU{sa3^9 zXQ-GNbL66z!C4lRY=s6H)Aa%D66K+AX~=`!u9awR;dq^Jz|=DQiBwR1>~(1U_a+9+ zRGFK-)v8q%sjI%>na3`5$a{L#>B4iL^F1D*uj6(0#fRV4YRd|ZO`N}oc2P}N2lw;# z?vbgcXGe(i`*psE^uOwSkH+uuKRG6ME*`TE%%XfF((E^(yP>d=OPz6iYW$D8$sZrD z{XY6LfbGW>iUx71vDcpi8PmROl%w;)f@iub9<><$4wg^Osy=#0si4UJz@6>44;^^K zLSDjI(J@^iS;&O%>p4z4P`Q*PC0ai4*`7(HFS-rka)7AIb*Rmw zwjIhxwOiM+@CM#R;^Q;|Q=Uc)?#7`rw-^ZzM>>Aj+@FpKl(9w9gjuL5O57dy#;nji zk+!gKNPh_`vh{EOl1B&mT*1sV6-5s*eX_Axge@HjYS-38=iZ$Zg#fMPHeWbDx1c;J zh~p?)Q8Rw9Y@=iao=y;XWpwK~jG?Co+STF?+pqurv-Sp!1Lr@#@&CAL>+9Flh%kmd zL8CLSSI?GYN1Z$2vWk+73y z+_u?B$|V((Q#jPgWwt;4X=R zF}tCOc=Lp{*Hls$vg6Z5!Nae`_~+(|RzAwqo;UMlx2e&PNe~s=8tYlDIFnVJ9JIhX zaLFWN33k$x6nlB#SwU)T1O!WGy+F{)H@LPIL_|0*EGIVA=^D>aJRMbu+o!0^ufIJy z4A{A!6Gp2l=I)(kB))%)Y5gWIWY}NoUayJ3jj^M8ANHJt2nDe>y?qiG>Uf{Dcd4s|H@QAL03aVdC8v9i8A_6o$%ejBgLc+ zFpF`vU_}-g-DC6FNZmH4S$}bTYWe0u%CC?GzVwT)Hx)wT9VVUTJjH`id5f_xfVEfK zC;u8SB-xvgCAVc!0k7Sj=<(gO=&(mT`Fu6d!TcJO_$>%qFVSZs;ADP1#cJS4wXC7z zUBxY!uf2Oh%v*ox{|JD@9~oP7925jg{(I<|JQ~_@a9^lBBYP;*ngVeB=g8rwyD#4c zBK*_@j5*JST_>ZC7b{zRh+&gQqHT~7I=JHvvQawLgC9#RPik6&hwgF zoaq=M^$tw%i-@7k{z@K)`olp>cjYVVs9;HGgc&EbM5SY5&Fx5swhK;Gsa3q zxzcIO*KMbi!!HR^OnO>E_t;krtqdjBDjwfkDG>Ad+;N{#40>+i*kjy=0y@o}Wtmdh zs6dUW&0=^=;pQx4$Aea%j@?F+M^w3iZY8EeT&a4TYrpoi7C* zvQ_|ymW4u(E#*2h5Li!gA1Ihu{0*f-x%;b)X*2ylUn(8T8MY}|J+J?hc0%r;Z)px| zZD?d|qRxF^WC`ryk?zwBbsOt4Qrd&_lU;kEB;05Bx6vgIDb?1 zI8l6HC4eZpUgtF;o#j?2qGa`~3+!PiKu*fE5>?F93uBg^nKoe8RN_B!4-FnyY0#ek zh}ls}n6(qejpidTTS2GtpT&eB6yaPG0ko?oWM%Jlt~bL7Sf+Hc{0etmL1+ZqELaGO zZ^81G+NJSb8flJ(mf`fZM*#)qIzibtMa+u(LFM!c%+e! z7zlwU(@zQ8(7zvv43$g}Ol6Lnt?^v(#;VPu*OS*8Bkx2|gK5CcaDA@&g5O6Bki8_1 zsu8X#l?CoFW}T$2I%SydWHYEZY4ej1TF2=9Ts2!GLtjaWh-h-5^IS^2v6?S{gFX4) zcR1RsS zFlpu%rb_;a*nn93BN%`DUQXP>BJ5aP>iy65xq?$5=W;WL(T^AI7MSI&yAy4>s6*LB zp33hy=6tQ_hS<)i@nEKi)0w;M^YACm@6_+6E%1GDW->jqL=CuM;^C1*2EksY^-Z$A z<=_c9uOYt)Y?ugx-%|V_1ElXf%k|BilGpuMI!*5tRCu_VB7brDZbs=;^e@5FzhhxPV$5Fde^<{TL&aj9hiB=+UCZw>>=syAIwXXb&#PvVI>@6h zx8{{&G(H4@1y#ov_q}Ps>LL+xd+OVSfw*2t4YoI_1N%mhGR=W+;yP($H=T zYeK|d3%ib-2TJPQJU$Re@2x`TAzgjyh&$e?vrqTm6*$a2$H{bB(#AW{xdiD8IE_)+ z`UlEqloi|~c7G!OF_5dOE|)(T;ONf=RJ=)21DRs_o@r-pvyx z<&Dduc-Bg$(K!O(SRi7iVuB)@HZ0`@T}A6etBsv7*6gai_SudvTXSajW1C!6g)T3+}}mEI7q2 zKyi25lePB#zP{`1v-i2qUrlHlo~wB>=a^&M_wSbJ6%EzS91GL!{^^9VOS0$|l-2hY zvdDu zaKPAE?eh`2X)73_pT~P!X}6z@PiTn{JBU4-@NIf(H(@yoCiW^VQ*Pe(Sy!*=rBy3nv0k+G`)j6C)g=G;&xw3Mvq*Uj*4tB4wFgC_$cZ8nlnC* z-MhJ>2z~cGAO7gbR2l5*`vkQ7k&)xmrfx7Q_-e749khvfEAG2{={}5#i9{QRvTnK$ zmv$F{6LZ3J5hPKEzNOX+s3)asN$C2)1~Xj@QFaVNy|Ll5I0&uMA3x4ImS^NrYY#nL zx5(;OB{R|n6tLLvER& zJ(80XQTH}B)l8g0&kn)b%^A))Xqqvm?Bk{Gg5x)kNHN(N@M(y+XDf`dU1(;CRe8ds z>Ikp<{pxN1!jHNCoo&R1c&W}Zjmx_fIFT1{>s^@(s~WM z=4ZR*Ws$t=LZPeh{)>Q9Ds^=W-=b^6?4tr&nuLig98ERv8UGeV{YM*`ba;7cG!J&% zn{qf#e={z>C!W)*8Z%-zwfD*+HviY*H!l7V#<%ZCeM%pfMzh-V=7b6L#Gs4p;wIp* zr$^QWleg5UVq)9f2~&mEe+iHtp z;1^w$dOrpc2${I%JpW?6Z;Tf|TP3AA^Ra$hx6+j3$0ne;;1M*&+d=PIZg(z=7bX>B zz+C0(Fi`*1nL37Im%FbGQIwlR7gzO(xxvYk4tBNB`nPh8VP}p&_DDsr=h=^1IVsgT zgF{cCShp=I4g}^3O>Fkkna`i#844wvyc(>N76aT~lfa2E8gW17x*l#1$5lL$IXT_# z8^;}5#3LBL=CTS72k)v#Q=69SwY2h_!}>rC+}if6m`t zE9RZ|&RfkxX{Nh;wE-11%4v>PfUcTwD^4(K+wKbmK0B@C>Rhuda$`VkQL~FfXSp3X zAQG6oaEF;zED->=N#Uc(t5+im^AZqFat3qPb5Bu!y=*E?NOaC3YFGxij$A6 zyXI+OXa<%&qwS6i1lFyP>Wv2am$vmfUbTQYnd-mE&@;t=C?7JFO2^hM0+w-djW_3i zhESAZm75;`<_mC6Kc;>N&K~UUODO|m-x)$ckZrDa-sjXPf(A`(4x(2O!*b6bG$h!R zaYoD`!B&^?y%-V-7tT(>CIWK<2JJskfu9*GF~2ZB{_y{mI(f66muV#eXug`4s-w3` zij~tgHV-~bb4*39M4uFfKgdv`35sH#?7yo83X=iNb387Xf{7^8Zmb9YWGG@ zu6qmqdBcY4q6joG%0Ya?%ey4Zq%hsx*;$MpM%Y2}5r|Zon3C+rElh?`uNx-@Z!kP; z-fl1itCt4;t8AG}6NLu!^uHXY8SYrHqwU``mqsU=S22ob#NhLt5M(jq>dBO_>cDGYmA)fC-!5Bf}`8m8M%E_`<&NkZ~rOOu9LIjznm; z*Wl_nt*NOgYFgY^G@7QlUnEbMx8`Qcg-T~rj=T7o=}73{cD_V~@Q<~bvWB@hB9Gw$ znuxXB;q@bNajHlhqszfrA*(e3w<*Dl@Ex^C$-pdCJj;_mLsCPy-qFp-pno zjur70LNLQh?Sw*?>;p_i_aG4@{zTe!B&AGQ!PZYX~$$$-v^z5bV#l6{*rUU^p-wa$ba?8PIV!PJLX*M+T+_z7;b~}chG-X@vG;o z`8r#kaZ{d#tpMsAb-!pGRM66agJ)aW4?)o~sfJ|xaG#q1yMKBsYRSbivDiwrjc%kv z(ElQ#VmA2d)I9LPzdfBD$*p@)W7pggQPSh zTsv$qC#`2e6K}U1!*zuCqYP)zOtuq7AMA8ixN}&r{0j3QCBp9p6rTQO!r|lZp}8ma zB3^7W^|W)zdg_;K9>SJ%rwWvpIiRawY>==T)?;=Q?uX^D!E5Dq_^K)isZ43M6+vra z6Q`014w^Phg|4Co_lVt3beJx@Hu4-d3+hnu42P7VFo#pB(T1#^g&S?v^Xs|xhf}*X zad_+E)qNzYbVe4@UH(3P(W^BmtAv?ys)!W}FI#v0p!jH+>gH5_B?yW{GNzc=JGuVc zbR#8Rfh$UZDN$=eb2_?fLrTx9qFU5YKG7j;Es-+!G~oPlxbjlwxu(@?>9FJ^Z*Gd`uOR_nOHqOO{hy zsyW=SCm|dOx#I<;LGD}RtdMsZ&71P&{|yG~n%y&%tRuUzk`;3R>_ahhwJA9=VYujx z#Zm$>x=-aF(r2@-B$qrAjkuaLZKR_-xt2WMcZ}3~fZ%&Sb-_UMk&uglqzJO!t^-=@ zJxO&WNwu&aQ@G1q-sYQ<%gNqpl4P5zXRpVhda$;_X|Ga9X7k-U-|Szietb%~$EPKq zgjzoC0E#wH`%u8lfp%ht#9c0lWTXeyadd9O%e(A8>I{@@3t*=2# zK4$`9Re0*jw|+g>Jte!RY4`1L45@tXR(Q~|b$WETl`%}8|6hxgUGUsO+Lu{e7OTk zP!!;?$3-h{4En%7Esla0)nAL`^Jhf{$alGI07AXj-TUvrPB zIYW45PLXIU9>(m_;KdkTK<5CCooP0fEyE$?>miVe_slM){4icBn}{IlJK=*XW^L>D z9QcqwH`v?GD>7Rm2?$6=x*niWU^g{cOR?mU3a-8e zV=;7NaBynpKFvvR%*ZC0xUUQS2x0-)BvHUi|KqQoc)smU=of4iDzE1_t43_-2C+&<6)?aJ;_(BQ4pgK&F|WLyaGDdk|vvKu1AST!eYgW-xS z1TR8^sI+xeo;8%Yr4$))NcUwsM*ya!<^ZwLn~Z9 zR=+>tJ1)n}Z$AGO`Y@HZ+het%*QS8#RhNw}-X%QMyy{SVO2|a%{7J z%gVj>00?cz@YF9w7<^X6gGFRLh5h#A1Mfsl^87VXapTL&=USHKv9UxD8)0s!JI` zK1mz}3AeX$A{a>+A}k+p3J9Fae=ceErcC`(f2h4D0(Bw=b$!=_4?!#H|56suk)-@8 zVR~-J`bqRPieQL3{F?j6?X~hzw~)b<`Da*es5{!LcvS3wIOm^6+NOB|gfv5V*RhYE z(6&aTJg@R~%8|PDjp&L zIXQ`6iT-wiu6rb|6<^i$!RQNug9tmm6BPH8XHF{@UsXvDIwfW{scvn=3V^Bq{-v(2 zrc0A$^I88A0+%7l(;y3~-dKs(uka%AevJ6vnJpU~(JfaS#}ZbRv~n#gEt}jsc@vm& z(_`t!?={Kestj?uSKLKd&sTci>;NQjYy5~RKD@H5AR-e_yn_sp#;Y~5_}RJm;pP1d zL|E9jo9TxeKlyRAcoUDKYijO;RvnvLVk&ugVSlPG(~pYk($ZrBJjJ*n29AtNwZMe5 z76ZQ;Y5&>&wnt3JYs%|suLhq7wb38^*6s=H-pgJ%WZo{L(|9;J@$Q*PQE@8z%G}6J z!M>(MBDQ^7Cb?j8`jk^-RD&ywo4q{v;KX#0k>{bfmWG@5Ih(+>2BG)9EQ&BCkl7`N zVROPZEhKXzc;;iyhIP>|U8U5R_T?qSOjLyY07c>Fip!P#pwLGUx(Ak+XSM)O5c>i0 zZ3{aXk}TMjf!HhzE4w@fobF^pWqysy8~UuGn_?{v3{)DsH~jztTXNiCovyNS5c{() zcl_JD;6fp7#%Jz^#*k;YieQJNQ(yhIG^Q-eYI$R@i2C1l45QrR#~W?K&Y2k4A9*HF z*s!xP@5-?4WKY?1j($Ma^Ig>Bni+7C)Deztu+>8^TnU;(%EPXqdLE+ldtm{?9it;x zIh~k~y@y_q2{T%_DOpajQq|~dO+wqvycTI7Dbm$@*2Ya;h(+e~hm>p3k2YO%w8|&W zJr3T>OD{+ncyLRBetG-2a(;q?$Pz<*RN3ehnQR))zkZa*1tLl|ZR6*}3(g4{aDW(D z!22NKMyy!MFXfwj3_fHtK{m1gsDb4SFMjkqKV@Gwt>*3aGQ)S-cV*5-eQ=Ak$O?P2 z?iU`B{zmWQsv;}e=z!MHl5xoS=@hXPMUK~||zgR8@sLVt~OGdCi5scg?-bV z`IXDfaaIeyYXcBF)iLvO+My1WRjoh4*oNfAD13Ojt0^qnd~Law~$M?!8HquEWtSWa_K zZZYhw&n!DKv_%z}ki4PEatUPBROI}Gaf-+ln%o(j;~D3CjY030YK2@sAw3d-Dx^a% zZR58&98p^GFC%+hsrg|;Abu=e>M$To2Nk;I`P?ISg-4da&!X+Q$$~_^968Oh>a*!N zCh-ISdzH!3VmClFI?c9m4W$Oe40KnAGOAzrDMf}j;i~f7ig}Szm#8r+6oW$8>A1Nh z68ZbQZz^4oyJ#5C-{((k|)9xUZ9bE$XeJ}3o1*SPmjVi4%BCzVRwQmoqWM{EI>%gwgiuj;>g{6-wl4_2iAW%sD4-Wo~c zJBEU+seZHM7Xg6t+z{6<@qLkWXgrR&B~ttLNcqE=xW2^HO=va07p3=w_*$mdljD!) zOq*-}LU&3~dC>Ndgj`?a4L>^HxiE-k^T~b+rXhNG$|ns6OJ~!cL~1tc$#=G=kHi)x zkNA-C$#Un3?Jk;oKd-W0!Cp>s#?Abok7?}I6Dv+S{KQMWIC%iFiM;Am6!o|(?h&TUe)*c{H7)Ctumi~=o@R2IfN1|+-! zuOKYY9F8r+U){6l{w|MPzZmq>Ht9kHuN0A!!lDNO5kd_*TaP#}HCfO5Rh7dp#MZCY zq4FJx4opm=_c4Bj7)l2lat^AisZ|0j^RcM0ZdaXDgIdcNKzgi&szbx+0mUWZL<=#eYmdOEGLGa;b z)mM0c72Ow%Vk{5OqH7I-@gOReA_g9F4#F*aoK9oB)5=o z!+kKljhsC1p z58_+Sl#=D%B&xR7_^j1*0x#8&G{M?#X=&i??s}c4wOcjvDvIR4oNp25l-3QU?PetVnU`QS4KG%Mb~GZp`~bNaWPnrg;BNGH7D zSgT_fm(8Ir{G6h0>BERuv_trXe2KhL{)oeK>|Qx;rl{dB7ET!LE57xzRwJ$e;FLoO zfgw>d70obNyO5(jbB%F#-+hs;K?|7;j1hNcaB8j4jEyHFbU@&2m{j_bp5#X?SJ?DKB1ITC+lHSEZXhV;mL97@%dH7MD~>>u5}fb&a2;X*VK1rg8vL4~vQ6)xNeLhe8iq-4DPoO!paOpVxuKT3Dr7A0n)`le75| zK#3v8a&X9xochlQ^0&4M~3wDS2}=S!()E&cAyN4G%jvHT&^amjUS{{_@DcYbrY zbhdKeX`1VB2gq(|vX4sOgFEkJ)Pu`W7aT&y?buTMn%)j6`!V#?<6j2{T6Zwz$sDFWl)s=c$<%iPnc^D@?e zJw?OlEng!>;fp*Me5ns@sVc*aQNEkJJxx61>T zhzhM}&;8%t@ss8vU&~0ITHyuPe~8(d1!j&LK1cYRV!+DmnS&a)Rxd9?23LTNjd)t~ z-Q?N*C4_22u1gKxmPX|An^aN3YAue+L5*mDAi56K1S2@Ofsov}K3j6-PjiJsFpR?s zyUl=?4OoCq*G5(t!WHz^w{HSPp#Vgje;<0OYlCsX7(;FnWGLF;n4R-+2|*x`FEtLh zi5`p`?EKG`R%55-wW%kn?&Jg=fAthGTppRp(*zB-6@+hgM00?Ef~7XZ0McS+I2}ta zrwfm2uC@NHONLv8qmR#sKha~Q6I}=HCJ)oXhpkghV!QE9o~I`#WF`-%n!5z5{rrdU zOqFXAA33kMLi!rikun|NY+H9C1Kq%6l_(QWaK>LmHSuNYH09oGC8_1|9lZL)OZ%^2m8t2EnwRqjWEtNPl!Z7=zW5Qryv0W1rag#*9l9&UV zmp`N@!5&ViV(4T!ypJSJ`A0V6!p+RuNi`4BQhl{@jIOKwcGU&pv$ptm0nWjZ zmF3)7>O;DzQZRSW>l+uytva-sqUTyYvxf4;=TQfQ@FXSiYd;<_GAUlCH~Z+Z1FziQ zOl5~hZ$z<1n3m4ktag+=TR!iXcDQ}jf;Th9r%ds4t?t?B>}}46=}m6=i_3NCU3e;V zS7*7J8ens+Jzs7j%q5aAz=|{SFFX3aeN+-M>tML2uJ9OT6G>B21oxIa?w5U(>{odb z5->jj1Y98IuX%bny3}R-#G?hs%3y~J6Ob*JI|IDZR#BZdhfJ~&Jg3{8x$ag`sBiZc z98rX2f;=ugOw`~Yv2Yt;dN0=3yjkVZ6iQ|+OOsj-C5GFhP z{9tUklalzX*CkjA)#|F#CdPbRIfx=&jWR&#{O>hlL3h8z7kWrW(lNG(Dfj#2zA^V5 zC;orG5Ij0F*k|;G^2|0Csl;Z=QXIH7IKB(GOJSLX6{%T`+Rne+H)iaX-W7q`af?Yz zb`G6*n%h-{y>~FOQ0+00=lpXe1xICkAB_lMhzL>R1K`w(8;g>$xG;BB)>wSsI|}#Y zBz_dLqdG%fqXr(HdOBzh9OhJ)`c&F_$sQ(_AQza*m9>AaR;qn&%- z*rw(J9y*?IU7gKg{a#lKl0pb!gl&mHQ^&Urba>so_@2*OY+0V1Qf_Yr-c9P`RT6Sn zHrH=A(5bho2_Jj-i&Xi^YLRnqolD2>FxJM~jZ9-ZLb7T`${;(tTcl0)hJYm0y@u4h z`bi_3j5)Dj&A;Y9$M(Vb*r0a?eVd90S!EGZN{*+pKiN8Ge)&;3lKUs`Rc2a*^Rv*% zgFlnUi32G~Jmmty(DQkoofEAq$UdNh7jVz)YNn%x)k`VSs4qRwLzt=%L8Mx**7IRy$(E(Zt-(|v@B@VIwD)ZB zBFf&wUR{3qoTfYJC1`IF%-~xbJcvuWG@((~1$^;aV2h z8FD7AzrgWI-kq$QvA|w0y}B%4AC+s=7Rb?!oW8DVc^Wd>KB@Vg3o|i%g;ZxqkLSMA zzK<5=l3%!bhY5Xm_IKeZ%@5t0g zGZ4i)5+P3mG7!z5@^NHsW3xsCOooiL^m0tg39T)^8?3E~^oDV7Hm=4M$8DGo;%JFX zwvqKG|m+N#(E4IM60l*H5!B8@>=+ z{Y!Gl>jy+TuvOP1o~5?(_P+81dtR zS|w;l29A`T!j9F7sZadGSZtEk=nUCIoYud3!n8#9IvlSKeNO!U@hN}eG0d9#{NGdf zXOg>J!&fOSEMNrB&C3_kfn7(ay4|a??YypBQytOWKqSdzMMl~EB)X=r+pge}I{mJl_0RQ@$ty`5kv)-teWS2huZ_^f^DF zc<*vXuBt$At$;QE3<=76X zdcv2VTxwE;BORlR!%(oNbmr`{8oyaX#If%Q&mxMT<7;U+cmH0glXH^n%O79Wr@1QL zqfk1!=lhr4^eGe*pZo_GbIb0zg_e$#1bNOG0RO^Iw&>4;XcjHJy_2$P4gGl?Ve?t+ zFf);E)=$rQA<$!P83HEB{hT8<8;2>++W&i^%c|GkHl*}@^w(S7(a^?aq~i#ky< zyEc*6(S0W+G41dl@nV@nWlS3H602nJ@G_lxaipU9pH+T>TRp_-I>-ku;1g|KT}u5o zTt;8GCN1s}Of<#-eQfOpB;`Z=MtiH0-XWkl@x#^@uu7GD0S z<~jOy_sV1>d%lZT&ixp#ePc)hA)d-yh61NsL%Bgaf9}_>PDb;JH_6FM3%{r(YBFyu z`t{OM$ptTyquIQwoJ&D}WD&(z!ysxbk5?1WdANq`oSW18C?0wb-2f@?ev-w&VY;N( zB1-~b^Z^zl^ZM<0va9}{H=gQwCzQ5j3x93-?N>QXY*0C77JR*~Jg5R|-b_qu>kydc z7Etb1XfRKYl^cmhSLKJ>gfEE1VDQ&adhWT@?SCU-J(#Uh>5Uw%oq^>No)TF@yzGV{vSp|D4l#zQsr)tgiy86sG-cu z>4=N?zNM&&3h)pxxqwjv@R()X77Y%6W7J?hZwmpaFLmd(S~ZYM%A~}Z=?j&Hf_55& zkStK;A4?N>vL_5F)q8TNs3Oi4KO&x~@F;xDP?3b*^{Px~yj!a-FJi^;C8&PazmCK^ z2$6^;*Z7qAG^UIxMe!@0AC_zUuo8HNrzK(JJY@X)JD>5thMb9dpP|q&Lk1}pJLTPm zY1>d2;&LBIw*zyI?hT>LbI5qV1VbJ%NJj};YlKhmFHV-n%NG6mOl#zi*kEy_}Z>}2V`0ZD^1XJ9$#s*%8yf*wT^We7^ z{QIFN$vUQLkFelMMxL4`b6p0XCZT4yf5ynRWWl&fO7z0lYxP)3HuA_63eel+WFFfz z>J0Lf)Z+-_dZkurexO=`|0_vP7r$aXhyqkFU_+rtcfUxU16{a<_VbEQ4&0j^1;s_{ zmSSQde5(oa67V)<--u$T@EOs{}+ z9p3#X8Wmm3-xs0PHS+iKjm-4x_=b#4=O1rdo)qPdEmmb9Owj^AfEc7>pW?IfP~hlG z_qQ*z@<-JwJ>Uu8v~4Qv0F)W&IY|mP{b%c)QTzVSzubq`m7jd+V(V|Bb9ROW>1IaK zhbh5DMW-C`cXu{sPEufusC(G?Xa$h!o*=qI8AwCg1`(1j@ zmk8m)+U*(Dv7y?pHXy0#3UA(7oO>~Z+$P4_%tV7a(GB?WtvC#Oik|4@v4;ws^~SUQ zs+K9-`(9SCbYAcZ(+-)<1iRW>6y{410~tOCNe|UzOBmQbau&umxMJWEEXkJBkR0)l zxv0k3%{7zqv--V(-A#JqCm6sYv9>`{n5~Z+s&xSmb1{Jgi1N_9DXRAtRUgQwilgJH z19kz~-`6_udH-npxw-@M(b6!y3T-~ETf=D~hvMs9%1%4-!;q&2^Cd1Ho^c~JjDjm& zM-JS?`;<;by#-+!!ozOJpSY*9rNcdd?0ca>`@$SR+q>m0RlPhj!gJBsysq4hKC>Hj zBR8Bb2xy;?Fm8Y8>3&St5I?><{W7UkzF8kY{J7qd%JEt&38XpuYaVlxEnD_9UNN%0 zBXgS<6x`qUNW0{oTbbd`r!nr@v+%CyE7t5yr1TtjJ?*r)=+`~2a*0O9)KNR~D|_yS z02lT>>{a+vt2~+WM)I8E`Bi|q6=^Q4K5MooNki=1ItDVKoH?@Rx#LgY^Km)p81N-> zAvKr#nOn|hOpDnq_-K@Sns>qZv9}q=(A_@H`;c)rcGrQAOWvp@;#8;zGEYRZ0eHCZ zU3We%=}D5mDn?KFy9VixKa}c;EId>9X7lOIJno zzOSAh%~}ak)7N=%Ws7o%Edu7g$0!&sUSmT=wj$o<=ks44&Hu+Y_@6)6YbKQz7F46J z8`+dD&g%QfP2u1MPH7ITm_YtS0x+?L;BEb@m@@PT-=vNv9B;dN8nCFyQyd_x?v*lDU1cmR=`yR)I23k z6%CF&Bsku^=#(lu|I@1eV1IDL(*#|E{ZI|fIWN3hjXdty@bB%P_h8-!5`f&kdm%%p z>7@lp*t!?<_mJ_k>2t`^;1otRKTgrthT<)4SrdV?l-OtxjWTjkKQmvBby{3qQe7bd zADYchC0e`}?R440SJ%)$7k%s#mfRU_bFcM-iLr3VA4J{$iL-2>+5_;@OV%C6+)z#| z6N7;^ScID2stq#=SQzVSlPV{9I|EGU^e6|Qu+U{I6ZH*fAZpym6 zRy)+nXyk_^&GosthT6Jke*>uh?9(aJWT8c4)57zfKuSlmAuRq8Z|~IUZO0EPx>27U zYBm!1rWNbj>s{#+u8z#a-napts}HWM_gy&ERiQvsv(VXlUG$goyly|kpWW$x+1W=w zZC4fF3SXb1jvp77zWUQ-a`%yza$Jo;J;%oU-^UTx;@7su?~+;7FwbW?^x;zL@%?ch zojI^DzOlt$!;I1kVpXiqw4qiMFZvfm%K|-2e|vg_Y$wdHkQ3ddP02VL*7uzN5Om>o6ew( znHEO)CN?Z-7TfWM%fXL>hM8pzyIAwDA?d}w3DM?KH-`RYiHT}8TpPq@Io>iZy}B!W z()`NHrZywKu8yh5qLu89R93)JD79D&I-F=UqA!E zmN#4aCky4Wlt|~DIs>8P0ah_Xtl<(xLzpI==kz`g#^YESEvuF1Q*XIQB0|5KYgKAT zL^bRj)%@6Po`721Xs%7W>KUDz=wQqOt!O)Ti3^}T&=;z}kJ`TrY*ILM1Ek@?rG~ue zW8_m1)C)sCY=EUa=h$3pbQ_0q4}^N5gOo{g{0vhnt4ldAQ)Z*Io)_L2n}~cjZ_G`^ z;OAphL+@_$U9}7t4Hg#9+nGxO!208k1;|;?`}zHIs^$YgL;iZLUVQ)ymI!=?7n)Rl z^T&jjjN{OegPulMWmGoqVpvy<9L{8KWNK#CW$L3#f)JeE%7YoR#!-*5EQS2UE{Uzb zuEHe~zNhHNf0N4*yGbCT96--OH)j378Xl9*bJl3N96)S9i(lFjpKIkP|4q}~ zp128S8*13*t7PafivNE1y#Y;6mskG>9>Sepg#E7Nq@cPYsP!&U6sk*zE9>k`RI2kF z$g*&@<>be$*y0(f-g~i(- zkmCmp4;q!ej`_JUk@t`_!lW=2_(q&`#&!B}dZG@-$B73g$Epr^R7*gxq-BqHMqfer z>Bbnxk;WuQ8IQ%0H^nj;59H(Li;tL47g-z){8y1(#I|WQz%7MVXf&-O0$Ndl%$t+6 zj?(8u4|woC7sY3dHK%I%wM0La;yvh67|e{yhlTWR-QV+I4GGT zj(tSoH>DK;9{wF$auS@xuv)JGbUbJqRJ7Zo%CF{QVG?RTB z7z+4qDhh3sLa4NJU(2gZvU|QxDk^yzLJh5de?hCckMc@h3y{HJ zUVQja{IdicxE-&A8fuC*oOM_=53QlKj!~)yfHAd`(hMYWcSey~@@`P26ee6!UjLi| zC>_nH(s6RU*&wP0!OnmAtzFN48DIwB^mVFIsxa%5yMKGI2C8jPRBsjJUjwVkLxA;>uAyb&b0sS21Q+TM3Jt>Rt_Th0^T_5t%HqnN+=t3)XsXr` z&?JjOWEDrN2T3X+KyGAzfU5s!n zHlR0&dNPVv)w|_yvrF+6(*O8O%8>5nSc2LKV^^RYNO*iJqAO zndMG_!|KNs-50ASV^xEXhOU1dE-qO`%CgZ)$wPG2@Q%4Y3=|D z13wEJ0TXJ`WU?Dv_Tp5#53|a>u;(t%CC~emyFHS7;Z&*FyIrdU_=wjYiw21`1T)x| zvoSaPY`Yp4G8PpBHJXR%`&Xtkm+X?y+eO-bL{A>zyZmI8Je*<}po~6^adlzK$$eY> z;2TN`)d)A?{UF5Cd6>kG5db^kXK7z}nG9K);4^BM)%KBTY?0F>5bX)7%PmePyK$+? zJAXF;y>a>$v-kQsW-~EXd!}t}`Z(+4rnMB(&C*{FBkW~qW!h{ysGi`nBEgP9|F?0% z9m}=?7OKgj{!4BgTFzS$ms*w3w<$^Vrg?B68d=+(Q?~{XM=4ol4fXRBF>C5d;hOML z$Vek3JV0WJM?-$t^YHs+C2aJDQ&}!7DoeNO47aY>wBw%ux=Jh&3hFRtp9P6=DEVGQ66$PSD>`QQY89Hmm&pNT5 zlc$OFLJT&7Q3qF4fuV`MZx=UqQVXr@T1a|d>$&< z;QO?7&){4q{9vvk*RvUucmBl`k$<@lKc15ZfuN$?O6=V>>Zz8~r&mMZi*xWrs#9oz zF;cy* zN%s>9^+Glr&&=fz9nzVwPohveTk6~^4eGkF`XP@;09iLF8A8#JN2VWY9WYqG-sAT` zk#Wy1n)(IhW-{EB`I7Sks!&ZE3}oih>Hv%#XuQhxt190!qd~fn$}f^Zz*9vc9UJ)v zxunz~|FKU_ONh^6MZj$tv7!mGn7!#?R{%?%QCXH$>(mv6BMo{??Y?{4UHttNOpZR5L7Mm*Kcng_VMqy?X2b={uKZmCggYFsjgRn!!Eo}QAM>}YZ5FA%L+ zh(Z&;ekCu?DCYSD=ct7eddhuvg&**PxT@iCwa7JjFpQph3%JWp_T4fYDS&J&wLl-& zmpX-a*YMBgcm2cs*q-=hT!5OzOr3aB^;tzGokiP}AaR`%gVJhp2EL~j>v?gQGQBje z{4)_K-o{eArF{dd^w)X~(!<@WD;-gdaUilpJvNB)i*a*M=^h?_zQTL#)Fn#`kU)~@ zfz1E8)BN+fYucWlkcdhUH?6rzN80#SUW9S_w@PV{A zsE?%+sj*J3fV~oQ_zcI4EftHE!mYW#8zMZ-#bqQWecgS+#336#x8m>`RT~!|Jp(agKvb{)<{Su; ztGn+*iRhD3P{_MYHSt3RLVG{(VcN)_1jaJCag8mz78}uHQzos(`d?ipkkqtEeZJh? z&ZQCdEsq-b{4t$N%>&J<6Ju31!hx|Jv~^G@avp!f~wV2X}8u@utqe+dP-dS@*$W z_Ktcys!Jk4D|WpWx`C3UXg{diJ07-=#M5->EI-$0I&>{Zt1jV_(F6Q&Fn39PsiEJT ze)SW;Z30b4WEdR=C%pTUGpt81md@60xBk!jV8{FdU-RRZT@J!$Ro9KvnF3yp#J-yo zj$rn(Syf)ScybKA-U+UZ7t!oZIx*ZW*-WWwP84~z^SVEE)vX)vf_)7dbD|4a_wGL) z8@vdC=50ojUT4)pC2Zndxa?V&x4FC8l@7~;Pz*?uII8o3B&5}AENr?&u4L`X>8yR{ z`9oXWoq~uNj-YG$^!?m^AI-JyT|;8owvisU+*1p;5V)NONgCU>OkzuW2uClMah-S% z{_xC$B8Xl5s@!3RJ98EBNLMt;LvUK7#gw%r5#W6b41MLWl(q()v_@&AOHKMeHWBy- zCtEd|@)vFfd|X^R^j^<55r`GpWIMAuACs`O*uIG!K3y>E-@POjKoW)@qg-(Ucfhf6 zS@O1quZu9un8NP5{dM6K9bn)vrAg?nSUbXG63FX#b8)u{A3!Lno>YBGT{p==zSY1~ zN?;nQ{QF_*vR6$+JkoB0$PKj5`o%imw6b5;o(DwudBT4C1||g5sBbTD zWyc7EAeTqIYYs7hYPWLe_kNcweb(UR<(i{nP0KY%BKjBCuC;=h-DB1kQ%wQc`~R}V zXuNqHW?5B`Cj8HS;lgFRZVSQL8Oc>Ec5&=X|0a{*owI+4nCLmz^2GYdm;QT}Fa_pi zG)Rc2ATZS{cptm#qET1qzXUB)(Po0P72ZErR>QDl^>mI7m|~0vuw`>rOfo`3UiZ1_ zvuaNbxEJE77fTS$r*N!*z@YcgCpdM@QgH^*fRmpKS|r_YZp{+7{BLm)hzs%uEU8b-MBbzpo63UdCc|bu z%Z^iOJ|H3wuw2Adpk5%`aZO^2*3pjMUcR1z^QAnRM$#;8&Ng98a25~h&bj{zF|Z*s z@p`|X83tfHLYJ_aS@iawC8-TBf+==2V=Xu12Ko(w0i4+}i!q^BhVK2YbaNLl-$+dY zFf$it^mNa{*Za^KpzmF99FynA^(=Gw_I*2u%Blt%=!Ez4>N5_eDfC(EfK!BruG974 zEZz0hA;Cv&gE{ASgUj79>Rp;edr`OEE18#AJ)efL&Q#_eAkHaLB#P0y)iL4Yd2T$uP938 zw~IeiRzvYk7$Dn(@RLbbe(x6PgXB1QB{##k3yN6i0tZbC{e-DfQsM@ml`xXnX0_Ja zv!w;%XC@^-IrXuG%UsAee}XifHy}l+TN|p7p6@1)FRXca#Ovjtum}H@I+lVI(fN@O@U$G>*-54 z9yIPAQw%-zVwjU}dUR)mmib{Gcbs(!+yNsn2&_K zvDr2fG74m#kxogsc~d6vB! zg0|h#*eH`J$h2qHYP`C&C3Eg_pM6_79RN+58-P8Q3S(&6EJaSO+y zF^TrRy*_ROc_0rdd0ZpG79G3>FUO?8dFPyK=ZOV@Zf?1SDzTce+r%U4X>y7B3hZEN zs~T<%(Q_5uvu)WA--;fxOC%R$0=rfiP$K!*_E=g=;3~^y^n5`SklVsPG1DlYbCsij zPSN#1QMZQA<^4mKt=idqe~fYUd(&h35)!_(&v(yzJ?B05zWRbtkz z6)FQB*Z+I;_~tN7lVAF{S2d_1ZoexwpL{owZaL}pX$fyM8#=`TXb&ulQ+ly{so<~L zUzKXnTU$I=R8R^LOIsp5ugaX+pL9%Rxf^<{s979DC+E({9kpV70^jR7Q+Fp{pufYU z(?={}l}mXa`H}8j>~(2U(ywkSHMYIq8>O^dxr%#Ycv`H-u=g*8*?*g#M{UEjzGU^S z>oXWIAnX=op5N;CB7Hde%QHNa_L;MHmL~othL`i3QmN-NzzxKC`ri1+XE&)o5A2Oh zp-`Qz0>0HRpv_vOVUeDKAU57{y#M&#Rw`E&U{5yqkLro~xJv7n^L^V{e95atSb7av zUy(v%LFpfEfN_HTOF2WJU;xxcYIqIWXMt9#2=r|F7xyX_36=~{p(nb7ir`yA3UAs zJw&#{xm5uMW&I0p>3gzX;`vG?e(LucKeYXxNKNo!4bPPWYPvK&OgZ7Qrw?<5^!Z z>CA@58i{4uxxke$#CPjei$Ebm7Q_9GoIDPQBeZYcK$|Y#KYvYb;vn;Ng&kRnI}TZU zJZrYVN-8GM3`rK7!S?U;_Yx4^rv-yIJM45|+ZhqQXwA=d1e3>Qa_?OJ>Z+KkK~~op zSwL^27U8n%*~}s$dm`#~V`UROPNqZCXWAsv`xBrK)99v*6LnvQTFMr6pFd;X+%lIr zTKa_Ogd0^R?A6%uI3NaOTRGJdEmR7M$vB2tj49ZuEsJ6IdsFs+DK=65?yDYBO+yUU z6!b8yi;#}Y9(cqceh3&P_BY-)#16X40S%yHla#T8et5H4n}YdeSV#Py@^;(3{TVBg zu5!|y#!llt6|6>ULha?JM~6+>YS$1e(ucDj8KH;1>8Zu?qbD{ktUR9gqEc?jPl;NxaIgAl6q^7Qp6O#46G;^4s5%FG z3I#L^aL(N>|5*Syx?OJwX)=BG>Xqf<;lpXxaIUDmV}ob|&4zaKz@BNL&o0vEtdw7| ziI|I6ndW&~yrNvAwez2VL~poJ-{Q;+*;h!ubaupZ6>d)d&h$Nx(ZskqvMQYb>E1_o zzb{VwgANjwgSbOa0qS`=6f9 z%ka8!12_%ck;ndhH+{{8|1;Ix%W7~LKE(DLsrdk-c7nCAmcn&RiE zS<4J#^o74+MDplNNe4_45DFGXuTr zGSt>5wX;^gRNXf+_wV=0k>dYU_P0Qf*1^yHiq)A=yPrUo+_l2%Ls^-69T(0#A0!U+ zE%9f{)^wn#SzjKy_n99O%zMljQpp5I64ys-Cbc*B6ZJH!mMZSMM>&-B0Ii zoGprS*VnX8tje2pWWkg!si@zH>H}zE+l=Vg^_1u3E@b8t-2WSn?rObFfW{s(?-Rsr z{$WD|fYL%|4n&HTBoa19xX_Ny@)$wA7WsZP`}_ALtq&4zxC(0tra#Y{g;d;1=(u}u z;g{^Ua~IF~U4gW9ro9l2VUm(}`owkRPxl;Fk1Hi5Cdx%_pgMNFvDg*sUz<-JRXQ6Z z%*I7b`p3JoZdfbqo(Z|RP9ghkyxmpXC(nKaWxs;g7z-HtAn#NyuXlz1ngrQ>F1m1K zShsxO`N5TdOx9*ZHy@wI^kqE>%*F17548OX5AFL#%PzH~YGDNQ%wp3ij(SNC6S8>4 zE3UUC9rRsls$){>v5>f|a^vEKk5qT_SG7Ek>92Sv*L}M(e2n+ATT+a!hqkmA3(mYT z92sGH{jl9OSSj+(ih2I^Lfw{o^as};B-Xd{-c{WbFY=pLNYC+O;Vwp&WJL{?IuF{n zspu9IZ#Qo^x{rBOA8?Ep+_Tdmm4EyZt?erM(Eh>EUA?@x#H`%PIB_TA>C3CHVRA(x zxdG_!=>|>7tG$X@A~xz~Qplgh=?D6XJ&%t?jONFOT@48dw9LJq2Tku57s%cm|2XNO z6F|$$6&Kqc=@Z(Z);I!#I17%q%}+#ELOj76GffjgBMP?q(FqSV?OfjB#T?EFt%1HE z27GnO7-F{cn%mupsgcCZH4g^ET0~-B&~@~LQW(?*2tMe_@hsY4&6%Akj-CVlaMuhrU#g3F%5O? z5H1n;jq;v^`nqO`14TWjO17v}r)fp-$Mh%isS~?yvpMK(VS8sGAEdD^Sp$_?adn9O zPVfXdFXdF8qzvxw+f$@zM~F#Cr{p*%I*BI2DY!s28TaXV zbt3#$((29IN##7-Aoj{fj@1+1bs9-YC5~WYJS7${@&a&C-#B`dmZmkFa%X~J!)IAv zUnqFa;4P#go44G0yY}gMPx*OSm^ih%&d)D%3G+NyE8@(wPbwH! z1ASS{hJ0|}w8KS0KCCzX>I$}thYStTqp6dwaz$xuk(NLERmoQ>NHt>aZiY!GYVVuZ`1S9?Ol}PEH#_$f$7q*OP-{ml}VR{UO67F?Qyv z!pAAFWM_NxPvY)UqYgj&TFw=3u_di`b#yn}M)&pW@cRa7Z5qTm?;K$#-GcfZgwxE@ z%p)zXRDS!hk^9Wx(@%vE>H`a-gm+ebYH@1GI5 zig2YeML12f3h)yL0)KqH%v%d{oU3#mGk${^a~dmC?7TbhJM8_OyE-x(CO{jkE;za+ zl)c^dYG;%YCm@;q{pSDQ$8R7Zvox9K-_l}P3a-r!Xkv|nyi);{srSkto(E*UTp*`Zzt395&oyOiC{(5D~rO1kx4qQGLkWvgSVAo18TQ1 zR_KFkRW2#jL>}ve?kX!Pg?7U5=!+Qt-`win_~*JA+|efsh4bMKeHs7nk^P@DrwnO` zX3HGao$RdvWK#wv?4k$xMJ|=LJ4?at`PEKA!RSwT0;cfM+)~b|+(Zx+!F?JsH}}iJ zTTm`wAtaffWh5+0mGd2{oS46qrdn#V`AQMKDsR4hIgBydB_a$V&-eKWf zTc<95ElnJc%AYBU670_y*+J?2Ek1P}?CJb|U$*pVBI4Z_ zKmtRnmaMvOYng*$Zud`1HglL#fg6K|TQKKju%pz08Bz%jgukwl=C5*t9B*E(;RGt} z*|L+G8bH&s1n>H`S6aJsyHT)8L^Yk-Zgq3D^jCH{>IcF4;c`lyjB3_rq)!biG z^|?+#YU&U?xlo>ECjR<*->rtmZye|QD0A^Q7z9%Jmr%h+3E0!aGl&`Mp1aomAJsW1 zDCY%&jn;w2<@JNG2VNnV2#%=7$Q!nxME(^-?Q6HbCW?!TOPqq$>@m*Bh?&pgY@;*>tm$O!~qoVzvu-2P(%617A%Gl-kssK z z5B+)BZ+r^S3K9Eql50p`ER@p4--PF(;^d8Su~0lI4$xHMH;8Wk8e3}Mt9+^;uJ}DB z-H>H#?UIsd8;f9V$M7)oU8*PPn+JJrloM6@i7x6T`LR3PE>S9=2V=pCrg8<%(~ zYAa0l#nGxRE9q>QslPJO8-Hs*o#RWAAVkSwT0h)9GX*RPwl&E-56 zPg5G{frgd(M;9+_2oXaE^uB>@3W>Fi0ox_%o}lcuN4Pt@C+RZZGAj%r=Vju3beqH6 zs+KHysAzO1y1(~o)B7V%$gqbCRflljGh~8pcl6XiS->e7mKIDP!`2Wd@+Uze0VT@7-AaEg9A}`6L?YnpA&0QG?(= zfixio@Qc&6;vV!^m)CYdS!7tMq%+rmbbr88SuHXHV$ z?ZG@j!;MdpR`b*K3V!A!91X6Wu75%7KjTU8J_r)A7P#SpMBFG>YeR@pR=1SrPH%?j z@s2T95K!w<-bOkZY>KFL5g54hVdyCPfO&h^vY8@Y)YmS?!s;FVS=VIVJC@)qcPl;p zpN1(0R#p?QP8wJ9>+Nob5fJKDBk25=7SAuW8)UA5$mcruZ`$0=kahfO7&H31PV2Vs z-G+<$T}Hm*k~?`ifX&RNk`Z5VnZOj^v&p$21WXij`&qt~+j0IB=b^^P@tMtGnrTPJ z>ZILBG=(oX{nfF!Qfb0mNG&nOXHiw|5;dp1GSFg@Joq5cDxQqAAdg&Xef7n{XpCd zIQBl<;cIH)SgO0F2y1H_hJI*sti_xj#Y#82JM;uR@q;NOjM^mNjL}6={SLLl*jLWX zXHmno#x?6VOij(xEN@R&6X&(q)73cEJ86pZ$%ED5AVgNy@W_a^aohOu3%hexhq5w- zKUdx>fc0v$(a$9hZm-N-E$Odih3sGlYU zmCNxI_)}HXJ*v1h#ewg1cfk;-)DX8P+Ruzh-q~fm!}&?gh{|vf3C*6Dc{sWc*xQ>- z=i!v8xB+jMtS*;+O1cSS#Qs{lx#|l) z+M%XEjk%4E>Vq4ZqWmYW^F-Mq+dvn*3D{G<_FYP0#K`FLXqx-##RUIs zZa3caZGqbznhbI8L36$uwH@vd@u2D_b*wFCP-chpR-yu@>+39RJ9|D0e zSUXu<(hh7$)mv_6X2lLV2<}Ne5f(WAI11+9B%K8b@ zhyDahhKWY+Hc3g5!*YQKz=t#g*S^FTTvLSClO1)2S2WKI5@QEZw{HEw9V*rvMzI-0 zaFuSqx#s0%`sW;6iB`kw1)0Y?HtZ<$N)fl&E1(FzCLg7VyvnWGy!ipA`U0WYYTTTE zjx0YZ;hN--m#0)m3fy#Yd|{a(Wn!{jlTbhIMej5fmSt9(D+h0pkTmRhA637+J@c0R zd|xH>?Ct6Z8g+1T;4nRT!~(y{8C?A;u?a8%x}n=n@h2&55N7JZ4#O+^Q}Z?n=Y-&2 z<#4`qkB{0b_>(e;_zv^uvPLr0>fud|Fo7JvjU{gALy4#L*pPuixjmkC*cI=>dF&k! zz)!Bys%RZXpBYC7}p9}a@b99rf*8=1ixow{a( zHSI#=g_zW}XQih;uTReJ)s;ECN@`}kT!D&X=HiVdUtV2l@)=xvCVzT=Er-WQLM3s1 z3rabn@-J*L_jH=SEXiWoTDISaKjLrWX*El<>8$RwHF!<4fHIli=FDk zX?kJRm?Xa0*{_wE_*(gFXkNKgGS9hs= zvm`r;F%kYGefsUa%B_7MEgl5+@SZK@3++P60&i>1d%W>dIz@c`> zF2cfoLxi-&;vd-mgykLawKu4P-(uvLCC(}C6ASnL%k};zbQdk7$oeWt#Ss?yZk}RP zk9Wl-Q+iy$!D1w*1)~E7Ixf;y{a@l&q%Wn-7WwiL{J8Hbhd1ZYYOQ^(^**ro^#{7T-dAT| zLIHWo=?aQY+gtKb4$j0dWKeo%*2$s9RdC;r`t)KD0agQfl6Ists1};ArlO8)GS17Kv&~Rd-4!aWIHRRc1 zMxI9%!GbORLE*S@aO7(wy;}15La@-6pgxN2U-TgixV}iI3={0UqJq(^@|B-WMR{8J zY^EVx0{!Fwe4c2%EZEiI)yiAf(Y4DiedL!9_`;8zPSDtqtwkB~>Dpl2W{lo^kW)xA z>W#aWm1Ynb!?-QDN7{%3$H(2UzB{%QR7>etu~baNMj~2aPg{aUhCQ9wn9i-9VRw!8 zLCmBu8~d{q@>d97s{cDw>^eGol(d3a-k{5UH&o5SxrC~*0FriEE%Q3w4Uj~ez8<3n z#Lh?|k;halfwS9us@lZox9RcsVfsgKV&9qC#_p~Lba~J0uUql$(f8etl@`}6ZW9W& zxsSGA90&M;gZ7~OnJS&4=fX=)UMogC)fL0}Ol6qu;d?d>87i9wb5|Gf=v$@uw%byJRWon*d!JTqsy~<0onm%@{ z#lp7XY_4V1nhszl=Go7a@|>i`i<-b@Sd5m0vxp3lxA<9$K$Mq7<4LR5oMbmXndG~p zZCh%XeiB!hyIk5KL2qwRqssu6Pe_lmt{C7%*yNet-Vzd0hskzr84nb<36z}ha4S4& zkoN0dyHM!h(MD}$6&@3BTdd=6wZrJJQ4n~$x|pesRk43m3^yWTH3X_=5yRrIQWp8T2x`A@V9kcQaqRl0+XBp5TI zlLE}Btcs=}J558!C<2kmku&)@t2?dbda8aZl;#i=c?+`?HfwVPIn?crZr`OFGs7_176&k8|_C1Q66*K6v! zO>5F`w|AHSWi#|{o92Vswpx+ocn@!R2xY7NvQDymyL`L0u_D z1)yQiQ|ax>uGH^zvcxqGSMGZ|7*Qb#|6WfYn%jZRW@2*jHMsaxipw0ZS8ZYN%8I8e z8p<8nUUtVMMVEg>;``Sm<$s&(aWA&B#wSUIR%h=#DC;4O|BGquA3=Q4fYAyTq)oOb4!zCHo)wBz_G$i7ViQD@gP-6GHL zI1O*rQpl4N*m|lfPo-L4(rPhyw_{z5g2~%<)b8f8Q$5WSDcfv{Qd8Ht3ggDnawhlf z+%sQP4M+ch)SlUF#%X)n6(Ta5t}uhS?M`uy0p%)L``^a_F`w(|afXY>(M#bUR&F^c zH{9rByThT1>3Gs~#kAUPhQx6!h0xljAZ8TB8AUo^JF3;2XL#=Q>v##3v$-=1CZ9%~ zoE$>0)CL@E^0}!jha%fanVRAL`n+uDM^d*1P#ht8Cz6TR3e*6@ z*>qAMEgaO78A(5pGWWgOo%hdsT&q4T7BATI-IfOQeNs(j#7|=w{T~tzsB>5GD{3uM zs=K^}0iR*|i$XKE^OshN1v1K2aK4T9?SI|-KrbVm&G64p{(n5SKO$tw0A2l7_W03r z0L4UAph(s&zKQCa+1#9)WMjQxCB`S9pZ!zIOU1-2Tl~@zJCK#9J-D^&JQ6~ky}#ls z7-+tE@N=Lqg~+g0dp45bD=#OP1fC|3nRgQ6hxO#7mA4iY0IadCF_IPkwK@mw_gKm1 zndfUU-REde1Q9@WYs`Bm9t3&&lqpaVcc-rR&qZ*{RIMDG%>;h~^4dpdY0g5J>?G0z zH1OL5TddDv*xX-Gflu2T69pWU%GTbj#b%B;9Lh8gC)1phK`Qs16*+10t@HMtvLi)0 zKC$3lQ^tJgf zsQD)Ck!-xYX9GGT6A>_;=XM3fW@bLz?jL;bs1~RQ8rHDY*guo_i}=uFWt8_=tlu|| zFG1{hOfafcML^gpY=rFEwrvkQz`tB>}+l(Z~6G2n(v@Z)ivBDCT7Ds)V_n)GF+f{0Z*<_k|+!ap}j zG(lL3UbXn6Gng_2ktE}1LAwTn$4vp7_-wAg0gdRAI+#5%omSN(1-j#KN1P3wWXEG3 z)^x0CBZ?rl5h|5~tY&2pO`h#Jjdt~ux;KlsI|fbA^Fw$`P&fD`6n$zc)n|YweK%7%m_#U zPyzE*$0kWQj)$8RXvv1L1m=!yDpxWD;}Awoxk!XpHH;2qq-Kd^9Ft*pC=-pqTbwz} zLB>PD3PDx@*GVWYUkN+Jh(a7tFbp%8D$YG_Vu)+49kHQB-E`7 z@LkZ>h$hE&eGOvFRZo2u@5q#Ar;ig>f7s$I#0(Lg3KDTCwBshigP!Q7PX;oKBAt(0 ztjqeWBU7H-k{ZuxS37PjXt8Z$S+x=HHEw?iy-zz?U84KZ$&ZEz=lxPSqcEY^_q|bj z3e?_e%ARk5sqvz>TGm<3DS2^L^y3d{Wjho7%Goy6OJcy()2$XMc(1!T!Iv(Bs8wyz~I=a6%P^MikIhzf= zC*w3WuBKEwq@*IIxvBv{Xm53fCcM7p?gbR`ikrnnQ{F@OhEbV*l-cBGRG`ZEa1h(Q z!O~icYVx|iO_4DRErcT48gR^6OB0uL6;$6GWsh4hEQe+lTA+OAcXu3sMowvSM?w@m zCYwVDE|Ecv_$Rm|=g{&NrQFN8U-Eh(b%#xAiQ7&)$YvML`yt-cey(&Pj7+x|`FTTFf-%tv~En+#+o8)vHuPQCyXRasct!=Gj4JLa=J<2-H!QjAlp+W2t4Q;Y*C< z+7cF7Lb=(Uty%#9QA2Y#KCke&(Rvd~)PMJ6t@t3X1&9=v3JJf&R1o{&@;4NPkF^gH!Z=Gm13&ieZWLF)nTHk{h>T`I zphQM>hHN5(s2nC=5nw`s(#!f^k6M;b*wgNk%hI9FU7@rsn1j<)pzCu7z?;Xm` z+ql{dfRoLJi`BnJaittztAsmLABxbcbDfw+apFFPbK&xGP#rIYul9{Few+XHf$0Wi zp5XlyWtD^4XuRzh8W$p5{=Q7t&+t9nbN$6v_lj+iOW9!KUvH&1u5;m+m3?m9>w&@HV2p z<1`KuLk09k^8;PUfPFc=+Bn)JNVl>zVP}`39N~jUL-aAv@w3XiiO=3Ath%8^=dxo7 zz+pmZf8_{ML>d)5O?{3*{AS zsmzzi#t&om(4~p{zs&>SF#MK`=_$$-V7|Per9(+qsH54nv47cc7*xHDXsWn_hPEMWxJVRmclurcxHzCHwLZR^J4Cd`?yMH8Q9^}y4VG5+T_T~DxH-W8{k ztOL&njX=7^U2&2UrNG8(5Ya?l2{doc$UDA6QYI$+^jF9(BN!b#(i!&;Ozr zT&O<}#d0^<^Jyt$H)mMo_%^AX3YzRJM2*g-Yo!=WOrs+}P*c;N%~!cgn@s{Ee1P3< zv<5)g*1|dYvdebY47=b6{@Gu@I)!U1o!5=#(xq}dc~eHgX2#pd(dV9rd+^YGpAh(B zV?uufC~9}}h{!9&zDVBFB=;gH6M3c%#R%KxNL%F3mbQT7d}1?m7NNP*GXGK{oDUOu z;8RPAkeF{-?8KfBVe_cyX*B*wAyDtzc17yzvjygW?`p(>}jOa75>6I6D z^~(%k2#a{&c0(PXQ6OvOnb|VG8RV2i%*WpHBx~-Mm#8KM8#U@(ka?IsUG_9-S}-=g z!18OQf+wjY;mbD9bb*>Kamw>}lIpB`M9i+1%h#Z>bVSUd+UJDJvT{2zKP|anHLFKx z%}BD%q6)NuD>1|nAmSRMH7>eiu_ZNhE6Xu+%B0UI!!ni8u^|p%t!dm9r<#^u&5m{rVIp13(&3B_F3ua@WoXdS61$J8L?bXaZ<+ zTVXjaMt3)RR7c$;V@&9A26F&?4rBQ^>3y%MxxAY0f!X(?$xAWIK|Std~}k?~W>M!AexjC3;)E8+;YGg!}XyiN`%hJxYmv;NNX16y|$e zXGy@IrErBKtp6ql``0=3-_O2+P_ryL6H-F(U@ldJi( zx@|9Z0mRBPC`bc9tl0AcTz%=U3)jn>7>U8brUNC_iywRRb$xwaT})Bj(iI#AbCw2| z(1FE~s3q*l>-cF;fP6G1ZPl@Uz4x&!bfd~NXR)bndYKU#j%x$-4W3O;0*2q`x5@<$ z4hWRgM_`>a9s}0p!6(a*C#(QUWjhQDJR5C(dbh?0|Fgm8>N8wEfb9sxlGc<~Gjq~p zKF)kQ7d5~8)o$B)2e0pT^D>y5R@2KmRk7FGB%+`aQgG&=Ni4g8W&yW72(ZrR0rM`; z1EGoAHI?E87&T?L8JBo4VdLc}bAKgIOOa$K=>0k@$cx7;MD;?wzc~%Cq+7+V8tV{&LbZMLxaOk8}3$nZt)lB+%&Pov;TxWsO7$y}Wf|a`y z6dy~2KVo-xGQPlmvTeRn(ES1^Rg9^O`W@X$v$)D{oRCK6Pj9v6&Qg$`J!cjGk=W^-V=u0a!t5i@W*N z%rw>Xk2+7Rt>*gZkks#sqw*j8ry=}@a{+$Q30wG*@`?(V#BdP0pRj5rIHGuK-8jZE zpsgvEmE%i8!(%G52PG}S;9mA@erIQN!5;WV7$DA97HVX0K0lNij-&V@S+HXRHjf$N(E&6hBs)^S) zq72;tGo9X-0lk#tzc_6|8!Y8cZO&MqTW6oVj8LM}@Y?)Q@r75WtSgIdDf?hhinJ}6 z{h(6K>C0X~sC|Z)31xfNE#1+(9`BI|5ZY>M>q;e7@4M=-=)agc9JwHPHynI+8bwU` zc6?v}{lc6_eRlu=lpS`GpX{6}${Oi*LRTI@|eqRLnzLFh-g=`n#lZLAk|4 zk-Ic=?s19-EuP70(=+B?x_ypH!}iI}(rL5KOHrg^J?)9(@FqW`VP;>>{S-w8s`Xug zJE30gZ2xAh`dDYBI)BfnOo&ao2wG7fd>qzf6C@yE@MlVt&4T+%`c;2qu;169QwG2bau@|5cKjHBzF-k>sr?>sT8bTxW;4>w1ilO1?jZpQj(j0IKg(=QjSn%yJB z)w18rCO4fOU^NcV;gkqT9>==Nm%cXc5sxI%n+^5TwFQEM-Jma=a`^??!6nSqkR|hVBaWiw@@IMGx=avtt(e z5a6$z6m!>p90C-Tk|jsD;A;k-z6BvG2G5@vf=5=Y{C@&K)S0GYhNclqv0n?LtZMjW zC0UStyWvTst0;h6by*u}@y-PFk@K!^1LQJ}bU!dp139n#>=#_NCrE?=1C`lSlVH=u z)DhN7BF*g(cAI3_$Dj^!9?x=RJ7S-Z?Ey|>yFiBnwT3|*z$o$M65g^Om+i<7eG8Yy z>wLSay;>s@mn*HnsGHZdY7zX=cD!hk@N%~f>CMrRgkQ@K!ekZjUu zD;Tx18!WQY73A62Q?hh+E#{Tga)a9zIa7q3rgwkaMBDVvv%cr!$Lo0QI@5}*(-YFA zfq8^SlAs}KI_`A85wCDLO)zCEy#~!aF1*2MrDxgaWIS+VbW1^Xd#$T5O$2B^;@jMN z?aJ>K`!wM>BlV|FK1V`V;fH-K{VbRD+_-Q5hqdjWrvj2a)?*Cuvvd4WyvSs=HhVtj z+G-&qZ${goicT|EKRc81yW*_a0_Ycg@1E9%h9ZQb?9>tVOE@U_=;M2VfhyBSflHtX zBYW2uHpI{3qgur;-QKxJnU@4J0_0m&R;+108f3#>5zxIn)7_EMKB4a~+t#+i2yOYq zsJk+^Sd~zkWxADU*WHF+3U4d>IoNkF$`(8l1Te^#P)qY)mcBD%?~tc;#nJ#9e22qd zCp4#AX=c};UI|#aCOC#TPBISOzKQtCU&9rZZ{p{SwF7l z?U804X+}(pOJap*sN-#>zo<+IR(TY~ZB2#TWaZd>;)ad4(L&dSyd3SGJ2r<_!q4qb zQ{UUMiGPAoznmWQ@!L_Spl1+8vGE-5`93fw+WFU`O!kJWJTiK}>Rqt*2d^7#1LqXf zc1d%J2ly!!;cq=az2R`EG3yV!eCtt%{@``)v)<}6J-PNqm|wE&J+6?K<3*WqDHT4L z>zv?LBbcXqxe%*YqA8MFGnNkD6%S|^@yNEDifU6KHVWV5j9}V>E3Cg|aev?OH&|*Z zrvIO~J9}kl?w?mr{f^qnd&Re|YiVpe+ON%NN`qbN9clc7sB^i!LWIF|<$Auo8Br`2 zG@>?NS*N{-h(T14ZF9+azOAcVjW5-SRZ|0}9!nCB~@Ur>4Wy&A`e6o|n}@?t{Rf;20H zfQpjQ`^1<}wFd`&_WjjWR)FEPKghM;^UG(#>@XU&FnOvEb@3A#ZD7yIY}yH|Z%&8= z1t;B5(>nBWg?;K>oMmx{a;^?%8c6+dAuDY8w zku4fr(q|Vwi3Be7T^-22<96UuVk*7-s0ew8a~d>cwco$t2sg5IJxM1&EPv( zR|{~t2-mZ=)6mHXf7<^MgFKi)vkVbZLc>`Q&M z)awAL2ov+(3XqAEt}Km5C#Vj3`p7r_Tzc0O(e4s8BWnM7MtRA5Qm#L+N~RFO$T&a_ zN#DS)~Jt1niF_y&JINujYzJ%qXR6|py2FOhQf4=`E< zR~DX(rDQBcfRqT5VTIvaG7M&xb47p$(_Fr*`n`3~_3?tw^{b68vw zKv?~Xiaa`*z7BAMVI4=lag|D;l-V;*IyHu|5l(RKy2lG#%uD>Xrd&PTEx?j%XLvY1 z`^V;5IuKSWz~{1JBa;229?b)}igZ1l#yG!_jTMq&V`EbTvzo%}$jamsTZ1XRhyR+B z%Ko{$m->Nih>Fs$Dt8`1V|8W9AQU@4Z+`|abvQW;13fV;#pHx`UxL?lS#N;68(&9u zEnjbM2~LxvgJ8Ofc;XH`5Iw~f(UW|FI2vpqMkadJrE1c@gXIxr@5^22NJ{{ZmtE>tFJ#Z3sRqHnzyb}pb<|g zlE9&sNNPHDNO3>BtJWN`1o@8Fpa4Y@>=6qb-`D%>JKyb9obdoY^qJI_owAlvk;}O_ zmZzSW0&$%ysfVK`8i>p~o1`Eh4fA(iKYbccMm=jc*U|id8pR&gHrq)l zE+yq>d0-DTNy-8(E2MQ(c=P3_AFK>*FAO zkeY@4(-08$CTyaGfiSCe4N`Q;nESp?;yoTd>^~AnoHMR_iHH^v>W>rGPGx z>F4$dK;;nZDLFk`elfGk`*ZN+ zx&=Lzr*CoDy=>cRhna_=obt>l6jtz~PB_N99ok@zJ%i`EV!8u2K+H89b0(Fhb zU9?6RoFOm7^-6R{;-7mhu&M~(46}K_6t_dN*c9}o+ZMSA2gHLWQ~nUVe4@XQ)~*vS zkcT{b9b2e^^;WZm{9+yN#yFi&5VMt)6)hsdp4K)a>l%f*{r}?2H|my7cjMQFSMy2W zzpbpNUOqq3m)lM!&VFqs%-EZIz?Bqc+qBrT2Ff!!&QS+&KK;%J2#Pc9J4mb{dTn;q7?7`T>D8ogtT5Od-_#6&}Fs*_Pe{%$tkgY3)(^iY%) zf`yk>Lu1tIgIy-M(^4_3A}GkN_NAh1+W3U>{wtd`2F%X%b@aV^SG=IDCy@brD?@M$ z{+ZBsfOl!;;iQPwf1lV50Urhd^1yNoifn#1XKbPq5^`bOd+*K-kCXE9;H7U1Vf;e0 znyj#smbA4>9PuFdz)a4EbX;ff!3>a?0qcJOT4O~ zDtBD8q9r!=;humZZ1jt=QVl?G46Kg<9XfUPm%GTQJvfh|R5xTH!nxQS@AR8kNH$jP zlw_?;*9=SUD9SWPdbJha0d`T00~Y8)p>ec{qo}q~HmNAn&0Wxo0NKeKs4S`dL95>O zXd(wCB0UYnbi2YCw@D}t`>6<+&l90GA6hjD`3!@wu;*fFHtQHd25XcFltD7yS0Zhp zM;YQD)$)`NzzsaOG8W_@>T}n)3fcR-s(?lXkS0Q=6iVP<#38@!O#gMbFxnLnst_7Z z0bKgz#DxSu~?Kp`m%z5)J8GWOphxY&L=02CH7G#VXc!w1w8xAdtb)c-%i&N`s! z^>6>@9J@tIK|rZVON+z|LUMG60;5B^hl+FwBP6GEPr5;naHKFghLX}SU^vF$cXOWd zd!Fa_Jb(FN8)NXfz2p79uGdvoE$8DBzOp`9%?g-SF7WHX32^ia=?)wLM!8z6cW1u> z@89(S^MUGh{bo@|gwh6B(X3}TitLTVq)wsWmHup zib!|p;Wc1RCjUY-^BuIWH9=tqc^7=}xCtRjLT^Ye`1A_vooeV6W;_&-pX>-yseh|O%PLAlD+M_~i>Q4vk=@aw~3 z-ETk4H>FE#>iOr2G*y+go$Iu;@s+&T#SEHF3w-BxecNl6lPJ`*6%!?zFzl-X>?(!s?+rL|#L5U#m|`JDAi{n6s13f$bv~ zY*}{=SMaP%4Ecw(YgJx(ATPD2B#;X+%3N7gf1jg^4%R<5v-T}md7#Ho@MRVI!08s@ za0Pn+D<#+_``p4doYh{?cJN8w^Tgwo>Y_%*OTuSdeT6Udcly-$1>#%1@c2)(C8pM; zKx8AzAc`FlPAFNneKGz%)fcLl1{S&lzf;3mjyFUiC81Lg+z6^4XlVo;=}8z}D;Gvv zsNRBOs}u^XjK_Do1bac3Fq&*$X^x<8sK$!(o0Nz!fCha+MMPukoRuEB zlWR_XP85AxXnUF~G#@ME8I9M#!Gfv^MzguKx2b1caIm^pYx_zEcd4)Zpn;&eIqWeP zuAg&Ld{fbky5&`Mu@P=eR3A5?x3eQ{f9=>2$f(g{A=ug3)LMAG6L3i?zR$FDfT z`=^-%PIepa%5G{w8!b4S^ZG|x9m0A+g|b$YL`h#QL*Nc%*0g^7p0#)$_cfEL@oepR zj}R_Jx+mrG^vB)p?L)i&;i#?M3@ms6*R+pJgmGEbUa*Cybw zYdsO-ZSu{QBLrOH4gb(hXnoDbIOKTE#mOzD$sh7hW8J%dnU9phC@+N!{C|CQ4TtEX zl;c##4l@dwrn)9I7mspZ;S>qvfLc>Sowh!#w*HY&-KSeTR(BV)ZDlc-&G2+d2l^Lq zhh9z!n0r4v;CG=+3^^30U^EUjaPsA+vq|IMx6VM`O+94dC=RueiBD^e=F0%eSnS4r z=hKA>ePA3XG2Ff~9M0Du@o@U{2xwiB8#W|HMk_z>CPej-;mANy_W z%X8gvBqbaW*pJBH#6zmaEHk}{jctS=#U>lqq; z$16g%b9_gXUVoUhif(#F_8l;P3|7dEHe}_@#Kldr|52L0e{GHoaunTHc?@dXK>pAy z&mK;xg4kEl{2C6H&mV1#RmnBWuSR11o&7gX$6iBvD(Ya8`Ez|K;6Ij;GE!1fDkz;; zf97}G4kkccqBw#|NQ7sz>fM(PoW20Lv@$}gvN3>z9<#hf{>xM(ar3&$(fSW2R;~7F za4v8u3Pi43(u>F&KM-ptxpE?upz*mEF5cqD^!7;aq-06(XR?WG$`n0PYc7km%($qh z>G9J4OKW~!x$0#?IK{K;d4oc3G9lWfyv*&Fl9*VIzAc7%HYI)Fd629u93!EXiO9ku z-p?YJgc5awWd%dCvC!Dnw62obk7L)#v;b+l8ny@~l)|2iUBneq@&A4{=PZk$z zrWqAsQe<)lL+L6sv&QktS@&)@y>ZeVRbIZGhp{X>5Pct6`ysT`3BKYf^}?vQ-r?ps zTP3HpPP-AlCo+=*70O>y`j%s*OTA@~p74-{9#tW+PCVCO1;!?{_*8nLxU+`v*ZV$c zyzhIAHEbuEwhwJT^|dFy4;iq6#!1Cl;-1qj%?T?HdP4PRL}~bFN(#PkMRwF|K1u_R z+#n9@BlRNs-J#3b$Aw^&3v`J|1(VHg*OcFG-A5TXyS-va^Y%NxzLv z`xDMgyZ=YQdnqP4I3gn^_Ke^e^`0vJhVP$0IafL7E4M3sxY+es^JiA7c&}0ZqX%O2 zcs=nbEfCwXX7yu!O;GGSE;%%(${w>*x}~({3(3{gUl~jQ1MwSpzTkn85YAj zO#)%w1vZd1YCaI|2KG(+guUs}RBGu5dKK1zR|fJcXEFFxT2-K_a4hoK>5aCL6LOT1 z_S%`$ge1CGA$?GlQ6-=PrW9F?x-~hm&~%>TTsG!3GW?(!r$-U9*|F3fV`hp;$89zK z(rQ+Agnw+b^hgL%OA>jk;#7x{rE;1tE_NKWoTi@qXjQhyTxmb(xXzx&`UYcQApdHe zbNSo+VAt3=`i90zxLsKAu!P5KZ!iuo*WGoLh{aZT z81y*SO@ArW9n7a_W4~MLY|56qlPr9d}cLe%>Uz4!FA=F)DNY2x5%{9{PDKF^}mt`j&w9u zknU?ygCoQDiAfBPtmR3%&k>3M}SAp!u z_^12sNt@pJLin`U(bkUuci^D5N|0Knh}?7-MEmX2M3gKC55NoD3gF1Z#N{>LEPV{X zaZD6ee}#nlzym8p3Vs&bsKIX-4Yx@OCMGDSr%i^kS3lfQ2xmWjvO7Ee3`FvkJ8h&F zZ{cu^*5l?Bs_ZPuYjzEW20wIG`F7(SzpP%9tNj1sP=V`?7xe{$d&6EK?rY zKZVQM1}*O zmnA6FR5lDme7|?bFa2p9xzN%g+we&H0kM)^LQGcR*V^ZLm9yD--reOjWKZT;aBP8+ zw;^P1o9|61`k&R9&$JZq+WHEh(tm;jDj#uS=L~Y&lFY0JMH}Uh`8xyU^A9VQ6T@aP z|5gCoEAa}{{t0Lve1Gv8CIn_ruI`RocXvM#P@;)~xN!00_V9*BfJ}}vKl_j8{5>B1 z%N_oFik~ss`qz(!@68QEEL+6u;;#yN`iV2s)5|2xurN9J>CVR-QdY^ZslKk^haPOJ zjOFxz&h5w~C><_3kxRVOu7f)vF|R2?rmJr^%=)5`WB7`v)?V1{TBfX|%YAwpY^BNZ z50p2<#iTE43&iET<+3Y~^(qW$#H$y?-l(}=N)w@nO@juDxHS=0((thzJe0>$& z;&3?JUYPP^;QRNFO}Y5H$PyMeTgM*LF&Y{10d<|;nS&=(-KsZYxJ)}ovN6U!dCxoh zGl>mhx6lR*nyjobDQ)ZKHaY78=14>@ApAL$c%Ov1xD%OY;KKxm>V>2VQhl`BOLB$Ysuu1=ILCTX z^Ou}jafw7H{7%j1{Jr#`kRqsdy9a)EswQ}8cJ-dzG+Z;lnfTlyL+X| z_h=3IrB)DwH`z8tS~ykvbDL1R*mLODHbs*!4F&Sk&fh;5UO9-7>|HSQKPMKa-I}ct zH{;kg`ehbTb`v&fZdA-YwYvYFw}Ka4W+o4>bV5%wsgzT^sJct=(8|9;U!A>fzW!m3 z6!6%~ty*?x{T+Mhp5_QU(lW7(;39%`rZ_{r2Zg91)|uaQHNCI8-^p_jKvLp;@xmd9 zX3-M6)Xr*`GtK_nFwFU}WhXsX>H}Mevhqy|0*(-y>azXx2@FYfLsG1^zru3xz84`{ zJhtMT1o2OSKr;j5 zLHX7?%3d**VdY0!H&=KH;s`%Sj272mv+tQs=r} zKRQzi=sqO$tk_AxcK}ESg%VhmX&)QC#~1PK7`8zJ{?!7dM}01#77kwE0;&jkS}L z+KjTUF={A;-5+>En0R@IP4|O*E{WQ?DqjJ)6u>0iFb1!c<|Xbz$(s`+`NPksfdt>n z%}uL*0hgR4sQ;;%q%i5zG-&4LVr`EeSW)ksXJc&c_$-B5L373IDg$M>$Bp`M zjaTD6seYKZXt$+5&hVA7B2aypzQD|;U8U8GTK!|){;;YSCA9s0^H@r-Vm_YEjJR7$0M4FEiI3qe5I`%9J=z<@aOQ0^*n-w9Hrg zkh*kE`==NJOW%Q4Kd!Ru*TKVSFXZBaB6E_`EMi;fblm=OJ1rmZ@OKvXy&;$wdAFW( zePpv73#^$8j7^Y-Lc|Ei2rIA^yf4lRA5)XCEx}$(dU$|eH`Nc;fC>A_OUEN+%-(Y| z@;JV}-q&}-N6_K!%D^v&^vGBLkW_!}yi1bk-OutF+}#n=is=4`?a?x z(m6xMDw&CI^b0NchQtMQvy6--@j^MbZ67+W?C|P`MF#uug#Vb6B+ARak&^rpi0M_;Tma3(W_xr3maxf@pCg2fd^2%;F07;xsX_1-O-sWN zkjRMf2c_FUonKbfAe;a?QDVxtg&;u47+KH*`ux2wK>JgE`>8lm0P|3_I$fy|<*UjL zo*g);wdIU>+T9*yy+AI}&u_dXO-BvRud*a*Kq)(^y@vwt(vGKctKvP-y@Eqw&*<`6ohccdprEIyKa)|ibZWfM~SqQJt%z78~<>?x%>0PJI;!NI<`f`Ow` zb0>^l9{AzPK6Q=lag$q+iRaEaP1!bgNe9Gl!%2yfq`*=B`0H}C z9$aSB)Gj@|Son3(>I>DGQ&KmVIM<~TANrl2VEMUJ7xOQ@q2Feje_XyY3Ft1Y%BU63 zp`b9SrZ$<$^P)|t;X{}7F8|3K2X^vDDndkwTKy3oF!2Ks|F^rKDlZcBcKVZ{UWufi zq+ZPr$fX@$sjgim2Ie?lZ*K+5rbl>eZpD;fay}O?Ze194xnHZG-rH3gmZ+496wJ&& z0Ah>TaWAm9KPUHek7))M(K*^!A;Bkoyf=-KZ$rvZYVSUmp&ePGrY4>kr~6MV)Zl;k zk0q0tjI zR8GIXD)F61U*i;4QPDV2idu>0&xKLUoi0mBItD?u0Q|uhieo9SBQsvZ(@2?nlXNC0We5-|J5u1lHG!`$22#a*kiR-e|K0h_FvJs!E%+Vk0wq?95m*ZBy0)MXk46hiD;ak)KJvo@;8)L4SpqWH?&JS>`?%H}{}VXs1ed)3h-TVx{3&T6B4P zbe!F(+xlRFfh&`<($yrnhimwGud7snPx{H;K!V+jx=x}O}^0mfa#;$5vD!1@|aW0i4O z@D#MzxA&3K$k7)!Hd30B(pKCH3v_N>BOcJJLxWfD`LA=p0B3KJwoWr(d?f2~0qZ8v zEZ*wyT_c{S>U;ESgFY<4Kxht`FS%2pnNq){m zik2hUguJRXT^N8O%`26Q^3A|T*~)q9G_&W*;>`uW~Z-9k!Dd^iHm$EJE>$duHihtEl5 zV&5#4uQ^_0dd*su?EIgA+$$;8g8$y)7L56q4b)ebH-Exi>y5}#tp7TVA;cwiEl-&o zP5YC=N*v0bo~@H+PWK(RDJ~0ds0<2P)}O7pD9v zfYQ72@3*zrvNsW8C@W6x`!f#xEx1}I-`i=l*4D7i;FPCdtu zt(RCqK|P(S$*6`>5wW*YsCj>!*f>3@gN`ME=KUrc+5tQ~R(IX-xAPY0m$0@D%@m`8tYHnbG*`6V^+8 z|3Di4>)iyErQAr$YZ$Lc;M}09}q*POLXlm*)d{^k+I@l6jIQXfDkNT5Jceh9ZGJEk6%fq8fLJO7X z#OSeoXDuob6wi^l|M>pr^W?2anSXww-@g9U>mn~C+Kn;!npK^tN=fN>Lm&#DKT-_T;b+z5tGN1y-f}^AM3Z2kq}39c=^9S6wA8DoZM3` zdpAuxRvvX|Ab-TOPct40f%+Z9rQgU_STT=Zknx))inW-h^M|WCzDV!%m>vCx?ck#i}#zE&b8Xx^tG2((ro0SExC(N8CgqY<_d1n&ZU^_x_^0;Vm<> zHnhK!xw+Zh8LqzUK}DkJ*|<$dnf9u#l3(w8qGt=zvp#5+B6#R^wESrGi)@>9IZVyO zWw{O2;%~o2^`Xl3o{4A!6w_v|&FuPWqPWP&J)NL}Z{JidYdst>wP#q}ESPHacaY?@ zM%9=!$ij(K>SGf5S&MN7-DcL^oxXby`W7>64g4MIQ^{VpZ5J%&#!Q-5I@GoJ7IwP3 zHkLLlp3rDdqe}U;+R#tG@y0k|T`&JaH@{FRaWvH_bqrDH5NhuRP}C>6)WT&%tkneBTz9qX-~M1%%&2xa%Bl2=f!~0`)SiY#1PAQ^3V(wU zm|Lw{UyjMf0hx95Z4f+S$6y>r^Q07&b*NjgoPDPkpff&Yn>NNXNouMG7d3ztUW`^? z9U-uWDjVTU$XWIcjb>}6TCfIi-TZGknt6&1)ZL^|1slq8hLZQ=dCBI`aZYRO%QnAM zGV3{a(@Y7GzB%{VY)4S|v!8Z^-rC&uOi8Gg86V@Vl6R9gJ@!qR`k+J{)B*NnRh;Pz z;s6x>+@K?{QnGm|4k3m&%kWlOv^A1sHzR97X}d|qR;2~xE`=D!@|*BE@?Aj4n7CFt zoDqd5^zJ*E)13PfUi|GP*C&hC#*kFK-U-$8&I4z}V;Gk$Or9~d>MbQdZ=7=cVY5~2 zBmbzj;?I1A1)^L=e`=N3YmPnPafk1$lr+#>0=ou8;u8M?sZZ!nOCPnxRtZ<)X)|@| zr404k=Vb)pBuo)in4#b=$<2eYP?K{^y`}TQDyytsS!N00F1h1Y|3}T`KPJr2=r`I* zO=>$B`wfSLrQ&@n={B9wgO{&MXpN-f7HU(bI-Pqxc1!i^yIu{ic-9+O|ZG7^@Gu=E5 z1YH!so2D;{i(kI#@3|e=2&Lavyjbf~)#@`MDOjC1g6<=V)Xo!!4=(x9+UtRa{a;-w z;Z-~4!o709(H7|#@v02_iQ0Iwd#kwC9-%1S*J$DDTrDAbMTF|gS%n$v4`&Y?cD+dI za_-5EKLLuVP_w{%IfEP@WOM#p2I#lFOh0~*$KjK@)iA35xBqRgaf}a$eb~sn# z(#$M)0jHjGhnMp0$S9H|c1-Nw{0XrA9P@$Ntcj#wbvjnx1DbDNmt^rqDRnK4pxs1r zI~0=!YiX1j-G{I#GBl;;y`>besE>O?iHW@d)G)>w;}j_s8Y+MScTPJ0)W%EUzcDY) ziSGWkj{bfBwQee#u*9t*wz5o{Bk)pT7ur3_nY6Q?H1is>Hac%l8_AU2U+LA9xkFb} zHk8W2N6Rv34t4pl8;weDln8iV>$%W;UPF%xEnP6AFO`1O8B^B5kWJJSk+ZvOb;jaQ z^EYb!e~h>P>EB&t4@V|4E_DnrOARBUlW0=h0f^x`ROxs<29hV%NudrddTDA z!!G&!q{Di6Qsr$i&oE9-v`UQ9P+MT!a}a#J055!9aGah#I8J;vfRRrgvCep?t)sJS z?pdNVM&0axjJuW-&>TXu3XffUrJtrGJ^r(v-MU2XaAQliexa$UspQK{lV9Pc&*s%3 z0{}TpasxG}X(sn&;Ns&j*iYLgX}EjLVlwB`ZKiB`Cmq+n>@U)>R;LNGi9)jLD=WJ( zsCm#lrIZ^%)HgILQ~x?>e*8*mv32w+VVb~AF`!7(_(Q1Y;ytsPP*uoqXGFk;C%+(=6jnoS6eQ{u`ZvLbg{*cwXDK3-~Gz9^rChf{F782f5&LC4Ldv83HO}x_e#W-h9_ml55ry8H> zdWRb^diVd;Z@9Q3`j3;qEB1M)bT?BM)6QHFb62WMx$>$%vs`WNeJv^OHbyn3D|2C* zn#nmuSGC{~dL<6w_aljkmHmF!7O!1&_!~;1soN(6W+2ye(7M(Q*8(ulp1fT4%x6^O zZ74}~(>8^N=c>nq(`Ek{6ygsf3Za3`dhti^ta5C%N%?H@H(#kZJ$nJ(6?^Ss@x81) z^#W<3FYR0=0m%moqwA&v5MBB=6?-hv^bz4}>V&Y)@a)jeuX*Y5y`y_|qe&JE`L^Mn z$yR;omWRVdtn#QP6qOMTt+yTMMmt?Fac%3sJV6V zWrTnTQ!>ChS#y)^;prhQBYfKwk&+;`HH;FVT&C~if{ z1Db8c2jttKxqX8}>yVVlDzM7Rg=5X3^0mTK9=P0yzyT4hl#2%BK4$s zGT9tk$z6rw?w_m{=xqp#e&f8-aU_Ix>Qlj1aw-WDff;Zk*cXVyjgmc!7SZv_`$**a zjg-z*JLs*P$V$awgmbcQ-V3_pz3f!HTbWJYqKl0H<=hDaOUtEr{4mu5^u>&;jfEC| z93bfqf+`CqVT*E^>la9w>@I36i3_TxE%w{b&dl*aabk%gn@sbqRWc11wDxM?q^(ic67FWU2mxo1Rp>T7C6=I>Y>9NhV{^j1&$V=_#}nB&dk zv~C!Y++n<@(80At2jyvZE&mNL_3GTmwe@)`%>}=s>qjm#iqU>hhW}}1`uE4Aba>Gd ziMiO_%v*DG>B{)xs5Wwfw$Zs{is%0F!uz>$o*Fr zZ{JQl<4)0lBZG+vz8s!AeqianztKOm;)<0pmNIxTG06h@PkV{B4{?P$=%3W^CtcN< zFH}7s2@Tu5vYZ)f(y?a%-?lop(bgNv$&#*Au}nWL@%-U~@1W9_>M6kHP-~AQi;n>n zz!%#r&uWgd^{1fDxb*s)UkRF*EC%QkHV0Q(-c&vZ?Ys`|48Um3UVRfs3)0OO_OY zYp{1L}4&f_x5Pe=hny9fR#Y{c3{Z*^J9wef`aO(4$?s1CHAI zU!bj?`+a=d-O+^9h(EMgj8H98x}0>!g9Xf1c(#FXT*GK0fK}4+l|fde9+E!%vcrve z%IZrHmt!d&oiwM=ynDaq1JoYnW`0uAeP}eu9RsF-_;HhD40+WKmF3GyiY~Hb5Kaer1>&@E`ZCWe=;gJzYBuXcN(CA zHduQ>HiPYMC+=HnZEC=aJa4UZ>86I3z7%yZT^}^pq}kd25;mfcF*rXLd=EFFWnZ9B zG=z3M(;ax^P^S&2n4MK@cQVw*)$tG8wW(S67CPs1IzA{VAYuF2M6@&JAkUa=cRp=) z?eL-tg4}c~F>)e@9zxWB4-Eq(% zFr9_(DDkakW*@u_sX8BF47q#AruxmjzLTY~on7}C;4^BMRvGv_8th7INgzHAu_TlR&mw~12(WR9KY^@4&j${AP?7bSIv3~@qFM5J3G1~x5( z^0aN&x%KaVis({Qk<{Corifv$rO^hwdww5>$o`kDZ|ZtOq^OT&+Skfce4+C2giB=d zHUVj<4t{ej2K@@!1ZaZd4t{YT2`4Wv-Js`kW8udw_8IdxaVi_|tJppqMw{S_x!v!- zWL_B92qUw~tcikhUA0-y=0{L0j8~qhSk6p1nP?XuPa_1lEzPfvi|p8UDi&XazmEdb z>@eJx4qbAUUtDQ>+-M=J8s^)tGj9geZS~DKL~ID%XsJVyas!H$cZ~zE#cAwBR`SP` ziuxb|X12wazCGkDR9;cDnYP(F{c5o8EmJtRk7J<(%C+YuSpv;_PGi{f!V_lp)q|{u z`?~esS|yk1ODN~04*x3mYU86KRvx*H9coABT=-Y^WF1<< z73zscBnz8?7p09w18V>D`8#N+G8WSDIPqErsgNV|(0m zPsaflGJ`*&$t;T1DrE_zSm04m->pGhFMqXo*yPD6AyQ?udpfYxDxH@P3$|xzto@4V zXA2}qrdeY)Xw#($Lp`R5^AVG-F1aYg)8=yWnKoNa` z&}G#Y_R5*M9=fJZDLqQ4baO27o6Nu|RwmVWd<}zyt87dpX8>==gegmA$}hH!CK^Q? zd*NVVJ95F=#~{l)5=E`1opgkrYTk*?QFT@c76^9xnaR91O{9cFWJ6TT@O>93_5)Jc zx9_!LN?@t)_vul0jpNtIE|o*~)Lg(Idx8<4vE5HG|NeC$!?m7kf}AX| z_MriIRnm?ZnQ^l}!x%O|BdQh{O<&%@2patcnUe#gpy{=(X7b2KZ~=W|xGT zeT>oEYWR00Dxh~$c|44a zyI|J)wGs4x^qzdnYGw|9GD#3y2XDu0RdUuVczMXoD?$rXchUIDw~{UMd2yw9s=)jw zAh)MBFZIX8_ucDfqKWwY)DPvQIec0%Xuf2_X9^#mIccSx5`*_i(ki4}U?uHc>2mZR zU1TlZaqbP%ToC-2V}rJtt{{feq*vj#=Xjk)dOD1R@nV&2$7 z@lp9}cdu`oyIHo<)+b3V6Wg_BQKL_(8L*0M`Z;};o>J<$xw#dtKE2MNuLLCh3ck#v zM-(eVbju7u)`x*#U4`xgp4snwn$LYD2e*yGbjxIfUZmOKd!{mCSJ!b(RebwN4lpt( zfnBUhJzLxl8eGn6prGXedR%|Ewe}zS${iK0bMmCsXCDh5)ywL57&KH@mCXrS8SE7s zv>|)_45;_~BT-kr1uKmSK9PQ^E1f6MnNh=Siopy6Nn;=n1I(Tv z`u?gkkNEQZsX3g&RLU&jTL$J$$h~g(nYc41kMw}Yv~@2ybEpq@r1nGT-Pm&)a0sOV z(r>uw+WPu3$(wFRQ8H$J;%DC&!tWzm+w$($Xv?K|{kkH?M{+mNne&7For`#CEG#%9 z3a17`2L6Cz{`x2h+gsqf{*<0Q10x|=XkMz9YFn+pu9q72+kOk&&Q}U+OA6VEnZq{O zI^JbRr&?nA7iw57lK2wG_~*O3ojl-`?`>EX8)}(t-hU{vgG&)#s!V?1RKDKdUDYIN z#$TY`?$X?!_hPdkTyJ!8*o-Zqt5Y{R5i){8j=6sZhu$LlrJyvxz;-<*&v!lt+j48DBv5wgS#1mNf3!Bl zMVF!Ms;(7G!aBYva?4f;fk4Jx7Ll|>Y>@-<5IVk8ff90}riMd|#;8{BkdwiWjIbUF zGI4=onkPUTyqj>7ggGk$1Z%f0fpVDZNfL&0^5|e4k)a!+m{ME&!&nYbum~q3%xxCyJ=fJdr7)G2hy)H{!`;NeRir(SA0yP$BTwF zBPl)2_={4s2QxBdXUut<$|)Pp*`zHm>9urASlTMTSNw<@aDSd*xM!C=#T8ReqR_PI zkboue zt#(e4C0i+TAcPlPGJI$lESDMHHuoluT9I*lzIY_!sCBQ^_eSSMPEgQlsHu6@;m`Z) zFT(5_pN)awa6LDX+sV0sUNlA;Zno0En`~rkY%HRNBx!IZr!JYhs{r26AQs0A$Z@>b z2ntou642S4X&y!B7w#>_j)HbDbo1D>1T>u@nhHNo8)>etYF}}8;Qu8+EZn1A+o;aG z>rW=3E1S_`V6)atb@j|R^^5t~B~e0#D3l#Bqdzl`_|y`RYEfclYnylu)9A>Do3H^m zs;@g26+#hcEIFR!(V|AVtampx{r1N*agjC7p3b3>g=@E1)>`9ioX0dJn>(s^unM02 zEq6I@`O#MugCx7D$mWW@D*Kn2u}V3jYrS3r8@%DV_$oJX$J`*vEoT?Rtk~GDbR4A! z(pF9yw4apc!b8eJ*v{>n-?6tV3Vbs(W0$1@CXutH8h>~M7^JtOoTo~Fmbax;KaqrE ztd(~b6)^4Eyc!*UFFO1s{^*5Hqo)YouHnP>-WeufpP8_UhBG&z7z&m|8-@Bjm&0U; zzP>K;2bj0U%aQ~AT$pCF;&i(ym797SmdxpP)48mx?PU}&6&ec5)wKvKYfMcqGZwq? ze|y0pbKhOb*G(kG{rX&ey=0CzzJCjE*H`j-;ncEIy38U{{&X!rJ>;V?`vkMT_Ja=rgP0G z7O+|r4+oK@)zGF=Vmu*2`U6>_?zUYw)0z>wdu@fcdAn96cxzTLovE@HbJXarVo!S& z4F1d}*l|YcJJ3mZw0d!D`{-`-knnZL0n;lHY1`YK6!P9Y+iDv+AS0*XQr7}Zxw47 z8J7y(zJU1f`gRm1$1JN&8!P-LNuHLUO@tRQOg8_{RJ!wM)qep|wsk!x-(bP__@)*( zq`%7V-tL&o3mW&l~}~&~5M?vV_c( zNSGCLIlj08#R!Kk--`Stgm&yD(Z#PG=a!-_m)kv*RaiTre?kfKz66qdzdr!=Ida#1 zm0Oeec5n<13IfL%&@tzv4ke1ML6np6&LfS4yyQ@v9aQf)`F174c8V)hFTR6Jkn_rp zEmN#raNgiX>{&hAA(+f|=%v;PM;PgPy{?QAic(gsGQP*Rq`5h^O22ShQ@}s2^m+mZ zrJ2eVYZ7Ok;`7eQIq!CnA0vDw*K}I8b!Czt!#lLTIR}Ql&zt*D6jfSS-<6f5p>tzM zo^JIT&eHjRb%tlIk@?&b8(z321!4BvCviS7!QxxTuX67wrL#31ulZkH3LbVkak?G< z9U)hA`9Fcw>}6MepSHaI51A|9@dlHzb*GkrQKjQ9?Z+kLs(@DxFNKLwp@YZk#m;JO z<}SOy*uVk!jjDq^|j~#SD?mQDSm)!%GN;}XCDExiJJuE!`e>?y~uRW7+Teui^1B-uR`;r?sBdl$?NN-5bKM1(t5Ef?LHoFd_AVG?S)FZT%1ak?k-Phny-7-Im z8AYG_qLN*#-$xHcBsIKwpXu{=QRONJ$e&97V81u*0eo-DH4X>%c&ga)lJgTYVeI?a zIyb6ASZrSd4@wr(xtxJD(7BM|@%c`5(!xLcv{l8~o;_f0kEv;hc+M0<&?7Y;odN~= zI78<5MVrvIK?mmx425evrWhdScewSrZ{4%DDr3D-`D~+XTP(=%@|wbCU>wRqtnl?7 zBJ15fQF%yE2Cb118YiML(!Lf`%*jQYAm{8(*iVT`H4ywTH#avl1JKqyFknQ9I}YS# z1bIR<*J(j^5CB?$c1h4bN)5k{ij!+8Bj15*Jm6gsHML7JNWUJ(pg|Nx{5GE&LYJNbBDTM=UIKy+g}!#;59NgNu$vV+dFxyoPmKgX*8Y%NgFCmDHLW?GQ53Au! zw^Q~mHH~dQ(2Ef`%5bg9&M2*Lm-P|Uap&>ItN*%b;Of6=%AgU@AkyEtOEa*NlI59Z zsDQOys&=7F_@zt6%$BJI{Vx8_GHpey(tw?Atn^jYO4N;pGDUtYc!HC9rZROOe(0PTLpR^xDaY7V(zHREMw z;3U)V`8stsU?mXtRxC63mLT(?&M$KGH|@;WP7+W zGQhdgp&WNEnZ%#s_EezCVkBz4u9WzEuI9X)aeb!JC))02#`xqUi!}{a3F8RUiVG{( z_c}nlx@#EOeBJgA0XYT}nSz})!(56^CO-T9gW2(LmM6gqX9wt;RYrI1xne;wLg{7y zOcEw`3z#UyoaTLV76?*{h_WG4ONUd;IZ$O9okN`X8b=vUv zOwfJ0bS;*i~$ozZ}2cMq0&%^J!N*4pj-F!YP3H3(OB(cM3+v+1bqzE34_wc}M+SK**O z-01;NJ(rfgSFe)#JE$iL!_(9It@Y6E0PK_>{g0rOX&-eDOiEs&^?P5FhV{mMA#5^m zfAe}k|7}G?xy=8)BL4S)^-#OtJCcvmu~_Wjr~iMz`hv;v7cL8yR0)*fR1+r3*{X7Q zVYqU|oi;?47PAupa;+B&mAGr;e=XP8yFj7MA0Ulz;Au-g06`58wqJod)R*=m@3NO) zfD}LeZFmmHz&lU&@X4|_n2gW@$#kjVRuEE9q25k9+2phDpKw2uC7K#%8$9tKWnG^{ z5As@8%uO-HDxx8fR?O zd@rN}+VrH8^6^4y&`a<4Z)rcIZk6rjT6=*Y)p`XPX`~i!dQ+m#S7D2p@H-n)tM0I) z-Gv+U|KSK(J8^{k8ED!ySbxeTlV=obTi-S9;ha5onX&0_M~D~5NC!z=^f!mMl5D_78sgbQ^`-0RQcNCCr$wP zwNvGFwew4&Nmh8!nFbLKZ$j9+{n&_>y7I?rWoJ|SQf&>GlT#O)#}-(hg|n^7ID3Kl z({^v~ZFY7R%p$_7Od{OMnXCH#|6*l4naW_n`UCTKN+`DX0yCbDKj%GvN3Pi0yMdEN zj=qF5n(J*BBa0rDOsJTCu5Q!q-eIl>DND1ktS8ZRGjE+({7n|$m#v&r8*_h$N~oMP zg8SLEN`_kVhOy6`d-7jX=J!%evwz+ju0tIq1B!$O*dp(LJ@?=5+a zEcBpkN11BQDXUwDhO?tacYsJMmnqs&kJrtk8|)A4BO*nXTMtv43hPtuq}8R&LA0B9 z0e)8T*Ve51o_FK7U-&Z29AP30Dt4DbMUp1h@M$LMV0SSLI7_hEG5{~oKEXKF&2_x@ ztkY+o7X;qd&Pzg)l@4B8EYeh3;Q{yV4Xz0Lfef^a6+A$QHVsT4CVtyRyHueJL~x@` zaxyR}Dned6k8-izb(mqM%j&(;JYCkC-n*60HmeH2Li}J!r7~uEe`)-~=170Y3rI8} zgR})oQtGPx>xi503ZRn;nwlLUESCL~1)H_yRyi6GAt!|wHI&e z?k@sCn<{%&gEbn!!zN71cN%LYjGIO3rkK;gmeu>7{x(QCP5o5upEdP-&*|d#CWEt0 zhCUd;gC8BWk7#VGP0yKz9-6owf_&Hpf6ttDq>1kf%`QNu9=-Q5bNAx&n7~I=L;XklG0vCToy%T^_*lh{`UTO- za^L!=&-Y&D#wQMF!%Jdt70LRm_$NvCR>bZQ`QlSt`v#{xqoPLOag5&DoZ!yKYr^8M zo2(mhUb65ZE3sEYhUHt3$6ri&0pm5#31o3od@r@yh1qKuk;@)|F{a#4rYcsS?E;QVB;%UlJA zl8ld*+x&$QPJaj55f2;Vl5AhN#-HZDnNe}&+c*yf%v!t+s2E|K> zb20nK$0K0f>+g)#5w=*hOWe~Kp2{!3#q&Tb*WOAzlE4p|D?+y?D@pY}CH(R3rrS9n z&b+t%5Mh0T9S0lPn*$wc$TN*$DZmmF&>E!x2FIC0L>W6uZW5+G;J>mNs1vsiS|*BL zT-;5oY)xpP!GJi6JX$%Sh-nN7_a2lIkjkBi-UAw;_zV+pnw(4mMvsXm5Kj@>>)De3 z&OI5QGjK>|^*;hfPg~EDo24}p?TjF}J~tY~r$<~-X-6u1ak8`cV8lcj?bwwJn|Ufy zs;n3q%cv-WmhD2z@#Zp@aJH^*TI+n39@AGCGW0~(hb=fQW;(v2nN%YF)%)1EJz*PL zO3rM!_}-Z~9>l}oo?S*v`SiKJJ38P(>cZ-@LXx}0Zzaw990iNDkB*+sNJ ztgUrh|6X+{tEG5L3$$2(V8uNZ+})+PI{|`(8pVnRDH`0RxI?khU@2a_Nbo=*cnG|+ z`<&~)d)9UKdB4CjClhAEeDcT`t^S5i{4(jAA{k&ZV>TLVixa)QvjBsli5|H%aw{*iE(A?*iQ!CF;^SS?vnVCD?YGkxv7sP}D1AZ`QN5aj9 z3-$Tq}WIfcp9;fmyoUe8iq8kQ@ zXy3ZCx4Xs%cq2sK$)jjgjkn!9jv1nFxaIETvi?iu6c|D@rY1s*k7N^ti2boQ$sY`_ zxcJD3)*qeQyd+iS=(uASLIhePxRkl=&wW$AsX?36tbCuwHlQ`W;kZ?s$L^8_2e4#G z0&9vohvOX$jb=cdUQJoc4WKS_AYwkfP5~mYAxCdM9#< zlc@I0aX$0EJdfV}pNSLS$6uG9-hrgioF^suU6*38xTSmwAHw42{-wV@6eL_mtG=t5 zbzni3aa*BbA>k*dFnpbMH#)jER{AO9-Ym$bw%4&|WDGd3OI^u{OHrf336U_G-;m3F zR4K~^Hp-1E({F7QBM88Uk4mxe~9b0-jxIZ(nz1I!6F+-a)c3) zYZLOLjTfZ7cV5k5xA@YvkQbqbdt7lt3Yx6-at0_Txp;>wG1@A)f=3OM>%N=*)mV5^j@_mS=)P zEk^Uc$Jn9(3xoGl-HVy}926dE5!=&U;0l-I79Gb34;g6SE1X7Sowtl)CB~!pdmp>j zn%S*V=XPhE)xXcUsa_xPAyu|7=kdxe|1Gb!Jsnu)Bg%N)rmJKEZExEjPUNNgAj>E9sFxj+veOs%ZE#wLMJZx!*Lzm5C2bK?eWLR z_1Bl0w2X|z577Up)Zn=+xm<;;rMmlNU#)lDescxq1%u`{jBDXM>j(5E!<$yO|H87m zo5k>?3^=3bQgi?>Qd51_i~zWMUIySa1voo^NQ7rc%wN*7qLq|bqwKQxmF2kROsk1N zJY3$5)=*8lvhMc(awB~!78Y9N=HX3G-^(Xnfiz0bqBS$RGr5R8>8U2G7n>7sX>KmG zb5$c@-KBd}qDQ$8l!S!6uCnVtyZEg<`@Pt<2z^~ep+;Sg3sTXQJ{^qiBU&+>n7BHV zmA~^W7Bn_P;{zGpue}foL?%q@?%|@f&*pqJ)K`mn`utH6KHDb|VZNoVqx>*i=hKT9 zs*+-oL(CG_rDJ60ChpAb+J2S(z2WaqIO_LKsoIrBu*5cS85tQBVKU!&Zhxyi<^4+)BNlFkVt|`?MW;H~Ai_JBD~fNo3d9XAiC+dim8b5h zUNNA)4Krrt2xTP!YV7%^UI?@`H=^C2{n2Osm*&qa8j9m*KrAWJj9cn7yY~^%ZvOmJ ziC8O{!|9*al$%d1*mS%DD(!|Mx=O0nrzre8``*ZVNLef3R|%Gc$1lDD@vSz`HY}EO zoGnFRK9-+>BFkGQOu+W^hVs0;0=r zWix>I5vEoQ(*C%STXu3)`fc;f!O9h=PZxt!z;_oi71qtz-!ke3?XHy(DH5Dmn_c!1 zb@RDZ`CK-}+Ark4(!5K3FUXKiJ z+*a*!D(A4o6YfZuH381p9(fBWZ`EH|B(wu*cwi2EDh;TBRH)}eUsZkHfB|H|!FShK z1D)3;UZ~7T4Nq`CjGULkvbvb{3sa~Fxu~Msi0*z;zYu*gLFZ_>R=~K}cT+jAv)hsw zgs(-9wInCBHh=g`wNc&t1L7drL;dsm1fH4O7(k=QbU9q9QBT z7<~jICmm`Bs1&+R!9lNE0zTRDgzT69?0B$8G;$M3+~hHR-U2pD94YpL(QJ}gk?(P$ zMtLkcG8h)x3(p4p^YZSB6ngfXKH_rA{S{lanuF;d-QOp^e&6CI<3**|O#+qD!^Yz2 zip=$xEwmlQ$p*XW{QY2y-c7kf>xyD;0~kj?ReTo#Y>$)2W7Z1H>U3R7-Agm6q__0X zUX_>LoF7pinJ|tuGdzlGI6Wfa)0Rnv9^UR-`I;33<8S;fEIoY4C6-UPis_jFT+>eMv>r5so$-s2=rDfLV5@H0}s; z8+vn8co$*AJ%R&;r{J0uWk=x&SkE886&XNm2|6bQOrTB`6K)WcwS6{~u$~j7Xh~xO z5Gy{175q@sw66mUy|wqwK6pF*`Bo`?;#mfbAJJ&Xt*x~oIoa3DM&To4K1~GXy=z#| z1{|1(34uq5;mM_ZyaESt=!!wJZqHXnnG!4&?g~(|YRRRUk-5-lH7{GG(8?&3L+BXS zGr_~|$mrk|irM8b`dM)fa+~*^*W%zy`|6dVxxOibyC@VTO zglrfvbm&I_V>rO73NcZ4Q`0}#<{a?xbsr7|14-!sIGlc^3u|x)WN%jB*6pp5V@-KV zt)?8G2KaTK!757t+zB1jTS^l&@%6_UK2(1n<))hcH+uYJH5>)Zga9mT9Dls4FlW4v zn=c*TFaa_c@RlT=_FRBpQnb+2x;x0_&|Z%^?2F)8Lh;X;(gwL+%0n|siz8iy*3Y^$ z4wTj(w)+4|iBj*3jOeIqLI&CvNQocSc-kFjVr&(t+NK#cGO!LAZFXCfU#ZffhBGNHYd} zbeoqe_TcV}QvLmai>lH8%~P$6q3X!)M(fJ#Z4P zx*2DzDnCV`L9L=q45WgF6@{+$tvLwZ5vDB#X6W-%&!wrXxQO-F7A*i(ge5|1`^=9c zr3DThs&M)-v$B5!A>*pM5Ol$END*l`Tnyd5*ht^s&9>i?j+aB3WJJ=JHD6=oGgART8znweqg}X&Yx}XYGL;eb+-Y>n27em}3cU{!$;v=gfJO*>wWH z%2CkcQt_pZ>LSm((??_J@-1R+&K^0~(P~eNQ>uA)Xh$W~s0JqhhJ%g~HzDVl-B>wj zy2QPwnD;8TWoqr${JCO)aBf8A{=!AC|xm3@ry+dE4>;TxG=2D3-O3z$-D#NVh738e-5;86A`)GlhiWr$TkT4t7VoFoaPH##3fO=b1 z6MwLWjWh`uc+0d+`2RKXc1J!rW%x)1(NmNXZfqXCD3}yJV7ME7?cs04FAep;H9dyC z9ZqV9^`J~44(IFvjl0jW|3wg{W+?3v=fmwX*Nb52vN4f5KK)ix%rJHxrY69t&7GDS z9dUoW>h`#ON}c7rOHIp!mb-+CmbT2i%9a@F(@*vhHL;tt2}YQaL}~5Vzd^|h!J%Wh zZszkHDbzTe%Ieo(hAhs(*249e5uwNvK{^`aL|c;-;|5o`gac;*l`gk&0r&Uzt3)~p zZ&>ZjTwkjko+abbtW0}8S&*p5nXAAU>$Ye!_u|WcK;nb(M`_0m4z8MUQqwkCrS>Xo zIz?~t?JeCU{Z-7s4*fu$#l9t^#vlnDXd04lkaR%{gty!oEFn{DyEldUd_NL$cax6M za$n&48LuEyKsAE(<6h=1KOMtu&@x%$V%ruF%6fMIC@yM)x?~DHAR9N7XNDq=U8(Fz zHgJ2Nk);RVL2(+NxXG!Is{eNvz?KM*SG*UtN)d8(2yt){R>1?#p>#ZT^d$kDXk?`G zmNFejT{4@!UH+0U*GIFVkdo=Wa=I#zI>+bbwSs-v%5*p3Q^{tCu_7$N2CbIRQ@eid z@gQj>8Sb(Q$_X&hu2CbXYQQ-v$i7|>#hv%0xc1u=_a|2K?AajpFXjVTlRonbza+s` zZ&aVJyZ^aV~D?^I)x1(Y)y6I!c(ta|@yJve_@ zG=SN?ZDu@obHS&*tx2)VW?DIYigV$Aq2BxX8PZPtN1Sgd0P{U7Ic+p(YZ238^pa4+ zF<%a2Slmm}>7RUI{3OxD>!SpAk6sg>ZEDeNldl5ykKEj}$Cw1sluXHok9@vhO9oW& znqg5JKpZ`+Z3Dmq0O}*^tQCQdeGiT_PKP4KwCx$k!J#~~oSfWOR~ywx*NPuuY`E=~ zNY7_wLoNSB(UhIt^cn}~0EZ)^Z=6AB#Jh4{Um6Pd$e4eeJm>B!*+F>g(myF| z>D*KTp9HWB`HG|kME4YA5Kt5HdgacXYSO+iR`JS}0;Pyqv1-H*_AH}et0Yrt#Es;0 zm*>NZo4Nw0%I64Rix2$MQaB^RI61DOKXgSQ;L zL1S03q|N;ZR-Q@(j}cuS)Q*>-Z+q;}b`&06Cn(tL;4Hg2%N$56oG7I$o8J!jw#}NgAbOjno(y<|bu9GUd^m z6H22McKb@g4aohkejRw;W^dq3HnoPg4*8x3fE+a|(M`jXk<8Zwtk|NKz(T3jA}m@*j>*3PbJqOy&wKW9t<*4pJV2&4q;1?%|-G*4Qn z2grx=d9-xb*hVT~T0D#VW+I@0*cu3D1Mmgfy<{rd3!T6+TLzH(4jV%)P^%YG0GITB z;3PBlFfewmNg*00MXzOmO7eNYhqKfyY z?dZ!`&Y)+E!-4jrqCUSsZ48qi1IaLY84*$Tnvxnx$M@-GhFU(aiTrQHhU!&bLDl&n z+jFqp@+03BEF&g&0Mb&K_;b0+^qS^=K&)_T*c~T%1@qQfL-hjk1D`bC5C=6OB{1?Q z4@AUKvb$Gluf9NeIwq19j*8y<{Km5-l9AU4f6MLa4o^ev#Y>LMt{vZF-Tp5Y$A1-6 z|5Yv4>-LWKCzi3!@peDQrwmT+@JY&KWm7(hwuX;nPh~$Uv9c=``!P&>4<$?D*@@MF zg-wRDxb7-VlTTA*|#MDGe;b4$O3wU%d?$hcZBEf8izE=nM+jJj8BkMYOt zR^dJG7MfrlrDbL8$LYx;czjTfA;=c3nry@fc?AF zVmrl!upxz?302)auImo&`r00-18hL64b7de+^p2pYBs|wrUfjlK3vcLL;w2k(?26v zPRrDeY#)#49OT8Y)$GNFDOV1JS@a~avvh;QNoWqDf}>7D^iiZWRc{9>9e718&{Ipq zC7Mn_mn$@aLM)@+b5%b?&U(#v&^>&4*&l!M-AE|2=4?@pdJDDCCE+5OyXf5LdcE#T z&j=KegZ_9m^bZu0>nWD&(eLHwaaF))gLsXH!e%~|BI|hlkIVkq{8@tG@Q&Q#{4|?A zv7#DkC@J+UQ*eRO<3d-zzEF6Hms)LA9B+RaMXqAAXGN`fak9s>@k?|HJ5bWV5Yi=r zHe3mE$v~q|#R{^>6fS<)DT;|}0oErf=cA)qP>3V*Qhz}g2`Z_|_BsN|?Ul|0hk#(7 zEGL@oDO@nOv8d6>6zAQ~*C*cVB#|kz=8!qU+I=3Ibgbwt1m-Le@Q_Pk_l&KI$yR|e z)41l#Du#lo#UTAPp{6?Fni!AWH5!h98B;KrZ{mC84}s&dG9OVlZ3Xb~OJNdR+C`HvadLiKb^H13sqyZ74T6x z)9|CJgph}lUi|vpH(s|$&f@5@^?aq`aY3s@Y^C7a`7= zmR7Lv*_H)fZe$51D*$6^s>|V>mY0rS`1?4)zu>qtl=D))+-={^i`;3(kzYUJGoa+$ z&DmnHXK}}nsf4#mmhtQqMeTyZSJ2e{OY2T-pvhJdV{T(&_xU()KEp~YT`5~K465@- z|4cZDpEI*m8lhFZ(Zc-e>eG$7gwTD&sb3@wnVx{b{Cw!5^~$6gjdT`Xu{`@FN^?9@joe|J42fq>w5^El!p@WoV1J<_B4)IuC+#3Qda9n_kVtw=2?x=9%lGvS4c=v3hR}js!@X zk;?eyB4@j$ggLdX%{P0VW%b!?Kw3YPry)X#c7$!%!aF&vIyidqzCgi*dk5UH!`vnVX`J(|vcm;FL4@ZcN2AzKXnQ6l^h|Y#Z zhuJa@GwiI9?`iKv9b7DItp5XGdaG#RRLEf2vzo@o(WT&uKWiNUfACtid5=)~8gsA~ zQ3FG`AibszZ4ECj8H&ZUG?Ub`2;+TyH6ko=Bkb2M`Q85}R`mJ8T;7tDMKMUc;?d}y zF0?=EPB@3F3nnT!4#_wZibtb7u>-<|qbU){=HWGHq+j|UJ@iv>4h{(EuLgo)G=a|$ zkEV4h#tU~^j^Mkp4}dBl*yrRBc76uX71i`gALtO&G}u7LH)9xZDf&u?nYBgnHS}q_pj~vx-3xKz+S@1ckz%ig0;F2z0Nlo2x^A=r560PL@H4 zWAhst8XiLfTYh1Cvr&f42g`ZXDmzfaj6r}rAg-4FD{NRUaC)oQ3z1qWA|;g{?ETVy z4=9u)1<6)Gqjp1Ts%9w+1z?5J2uuG-lD@kDgx|L=_rQF-w!T2X(qw*@uKUn>c*Upv zyqFu_cHvvPohyUj+D5-ciF1A$_-t1N1;Yi78T6&~ifx&yn)9wBn1qCHun(`SHv-qZ z(-%lK2XLFi2hf0=8rQ?UdwT|tSEX+U%D=zYDSpZ*_2{KoNF-6&XXPQ>ev4EYPd*aZB6y zK9j(L7E-&H!M5Rx*oyVtTQU+88Bts*RWAokanPNobo;lBMPMbPFXCSTYsF=p`PWs2 zgWk`t_cwmM$Vhg4nsVa(Ts?eKR^uW~2ElY3H0*2(m~3Gq*P$-T^OA~VGyik2`KvGX zCLa>OAIrzvyqN-NWCcmKHI3d`WyMy)93kH=n$FQ ziK>I9Lv@^@GRAgNsn2-j{Q~HCqmQ4CwD#_qP>Dh7uH%PYy|gyFJ4&7OHrEHw#1Mgp zWo?N%>7IbT|6#KXR4r&V>lb+qED|ELDAHDrIx1vm=ejxChcAW5iKIyo$~ zGn1vHy=Ha>_u#mSM}-*rYdskD0${wb<9mQ_xYd*&`F>GV9lVWTb;RE7MbL4E6j@q8 zMDLjG!$+Vh;%$8%X98P#6GKiyCGDnE80<_6t4i%tb!!N0fy{pazTb;>!Yhcr#A6bk zY~SuF*ZsP|7UYaNQ%TYSl2+RCf>tK(gs=6jtRYpoqeyDnqas}PSFk|b=#cora zspnSNZv69xD|~y1`0_HQ$6T}ed`|pS;}i0=MQ%yvv4dmPPn@KAKu_3=<@yq3#7M6VhhN_n}LME zcvg|1spFt$WBaA>Z?hS{X7KURQ7F%{w;0~(@GPU_1tkmBG&*f{}+3c)ks=jbLZgX_3ltI(y=Y4$m&GM2)9L}reT@5cM zAq-uFsDSk}A38JU5KDEBw$QMy7k&H;oWHgAs#k*XU9Y!EuRBT1*%71`ZY7(Mg$@Q4 zZyb$JW>(NEw-oNBHw1bP`;D0o3;tBK64FT;>DwtEYgN)!FmPIbEn;@)bUohE+nd~W zH+Xh$tUgROhoaJj`^;YNj;8M6YV*VBp19l?btL*qJbw;?n zHC|CcSw21Dx=&K?=YHDGE$d-1>uo}IN7o*S(B*}B_`IXg`12wE^;gUjse$>%zPp*> z%W$V8j~)Qq{`br-_;IK4rppw!K~dT`2_w{t=vr{A+FkT^2Dg5 zs>Rcp`Xsn>4$k&b&fGsNXhKK3T)*^-ah3;VWJI>FeS0?FYJ!S-2NCY8rtfvt83y>Q z*HF*iewP+j8HV}ZRyC^$k0Gizb2DD~*!W`s;2j{Z5}vU@iH?{O4%O_OK&LEO<{f#R zmDDyO{(bD&n&{u z(^2im>_&8*6D0$AG3hM==2r>oexla=8P>QbPU7ml;Q;oo%**J#p-_SH4>g<40${bi zhJXU2M^RlSKC$coW<7)h$AbM#RnRYoV05Sf4pbs;y~MJHL;GYBa*0ymWvE; zh{D0tF~Wt*7N}MIF6=nNrBYYU7XwZh6MV$4y|v_qR?Ym#Rh2_1)hr zcoqcD!Yc%w2X7_RA?EOuWp~ZDbk?+{RZY)%-@w^g(>xxat4{CLF%+70!1)$b8|JFG zQZ3gsjuGz(Rt70@z)SCcHPgtcvd%N(BIDUynx=D%U@V{t@AUG`OlQ{?!s6`#Q;H+p zfJ7%e?yY^l!~OD?DnBGBddPNhv>R*dbz#b5ky@e=Cp&eoI2$<6TXU#16JNAvqnO{0 zg7~WE9YWY1MZX=%!}YVLO{%ldb9uq6@}J7g&aWIGK2v!FEI)ZNYKa=t>T{aHFmo$K zE~hM-mXNW$8$F`HjA@d%^j3fID#A-4;)k9Uc#$Swmz^`rowtAc@xQ$3|J8$imBZ(8 zlq^9yZ+!nj%Kx*2{}g^1vF;VXUBS540H>HUP-v9N*44{KJ<6Ng`7SRi78}Hvz0J6J z2SsCItXVMku|0Fneh^eZGqzUa<|;`hDaCMiyyrm7uvdG&u6t@KdEei|pUa{2&9t+l zxLU2@<`Nd_lmyiS2``_(U@!xd+OGkd{R<(RW)p5E!?b-h?Yq~7XZBsZo&W=tzU~L> zGJUF}i`FJW`=!}sbjmmaYCdc=k%#f;jG9#qV=2(TTqa@pG_Z4LBn61Di#aWaFvNu# z8P&+hN*IJ48cNQ$k*fo6-;B9>*E0R8lFNq_Niswlo@mHZmxtVQyhUMMCCGH00RSy1 z7YrCa-LUo~3KIwke*X$%&+=M=2&^_bVaA#)T^Bpp>RNtfiaSE=*P-LE@YOz}e64!p zhv%QG!1Xzfo)NdrD_4ZO0-w9i$21k#)h98xnnoiR2>T@*{-d+Wwd2+-iB9HZ*3`e_ zHSoIIi=~gsm*ji|*`546k6B~Mm086^#FEg|JUU|Fl!0(e$S^bI8rSJSC^N+5yTvy| zaHSjQDOdG0j1Q%j4WWKvx(yw-CQMb>=!^|!cW}~J055ba{j}w_|M1t zyZy8OiP^pGW3@|xZ+4qvS34L#afklGQWMknT6BxrwC+a)7`XIOHZFZfRm-PM^HP1% zjQWuwKSSCbMxj*D(8+pF9g zeSs=iqlv5VG9kUxA(WKAEXz_ZLCacL+dm)2^i;D{26<(VVzFdp_SQeX2I!Ty>T9?k zk*YCop#UX=fk1Mt{prOfDNd18pO{HJ7wJTB;!wtmgP&R79d6D?Lh=juRq`~gb6z|tvRkyE+i8v@_=*!u@OaLx&9E`HMf>{$b zls*lWx)%Xz7r&G#%9tEFT#=Mg8yo5|)(SV*0;bT*Uc^PI`;%o91J}(;JCE+hWp9~y zH2N@|YN~AE7x_PB8$_0n$Ni8P$V1_;_)L_0@7ip{Kd=1mulFe_7p zb)&m&ftgXzF+Pz6C$43D5~^JLwRVuWMiXunuNc3g0yEJXSIu-X6#eL~ z+UL5*2vK&$K*aa7r}$7jYF3~em<9LSEZg{i7@0&qFlB$xomC5GKbHcCTM46MxU5Z6 z=fpt!9zt&Y?(G@WSuidcu%)!`N7o@s#e!bKN2F;w8g^WRW@!t0LaZfdp`ThgT3voP zhZr)A`1h^vPrtMo=?SzUQLw2c+wjP*N^tq~>toX(Su{yUZxQv=SlBQJoQM&qcQPQhN^{rV|f9tOzMUIa3Zz7Ysu;-=|j!ZH^X*Ni5k{fKQ4C2m66d{l+gh2fes@7O{Aosz2wBidMm}y5^6)Bq75%A03adT zPGHAoN0QCwk0LTP;>=7 z@S}Zl)?sL=KqVmU6TwY5SPE9DRpk8Ca;74{UcuAzgl;6HF)N-#??qbu$|d|F=-b*s zS`<15b)sCLZ+d@g*gFT*u)TpF837Cg(!OgR^dc^ue4kwIwEI5so2&b|R-lm<{0$oh zdPq%uU?Nb?Ou~vA->MnA`VZMYFL(o;G$r!3jZ#NlVLg-*uSO3xc%tCJNXNn=Fh@#J?==%?J)9OVET)ajYtIFkT*wRfKd zRbmIY{_hXy&Kk_#nxFTDZap(ezm`ky1JaJkX!Y>zCW=jjuLR7#uW#|Bo1iTaRbyb29j5HlH4A_hJwiNKZIn6;)k@~+5iO6+KQR%Q%|m0()i^h zNCkjwWjM0Ng1RnD8S)C$o=3T}Yq={OBiL=zIF7(O$JtMfqMGTy+b*aT3;a;K`LA~t zuNUImfienbG0%O< z)y<_~jkbof1}C#sd7cB+%So-%kIuA#EkWt~^0X!OI#Ho^gNL&GG2YSNN^YVQbzKW)^K-3T$20u#qklGk)p|e!nJT_Q z0~MdA?{Z;y7%#n>RXjYvvP@i|zygAcTB)tY3c7R>F`iCM!s0WQj^vS>++SLH%Uz-W z_*7S3?!LiTs>dNI?!{Q|-ej92bb_xn92r8xWZ)=($(^CDX}F)1P^&>>z)S#u6}|4w=_UI21szVs=?4mhFSmqdY{`K<1|_OZIn5%w zC{E)7<_U*%!9NK0dUKYsR?DkkYPC8bo8MO1LA5|r8d0Ke5bNd3R_Ek5G0h_PEcpf^ zN2&4V87y!M#GW_4ZCz&8cEFF6%tB|&pKtpt;|cIVxSkZW&HwE2-RzV5R22rc7jc9f zV$j1{+xlNF!7mboH@vPHK^+34Y2Ch@^+FU_;v{%OvhLT1sI;_k znz;KHn||J%7uvbQXMy^vcItYb$usg66|mr5Rs9xqn?AH+aw8=;ZZI?8xW9rUz!@sK zBS8O6mlL-8Q^c3t)UpkHoE?!JA%ob$mWS6fs8F-S&pIiAKRMlqe?YAq#SmrW5v&^; zm0f4pKn^J4+<&ZmMHX79l02Tl1A$NO3lqJxn2dvn*7BdhZ!2)oNpVT<4OdKGX;|0M zaM9P2m`MXUNFr*D9jNbfi{Tae|09S6^p4j&Bo~p<0zQg!mSlE|B*%u3W9~?z3h=?h zb1Lm;uk|#exINcG~0YF3)-3xbVjJtNg1tzd<<;+bA5epQRpso=gX@KX{; zX+?-i2fEj*J!X_!VIjAa`RzAV2C}@=5!k&fO+9Yfe|E?Ja4f}-)r~O3`MjN$-rrIE zX0zf#7O8wPeqva+np)}0S1W$D`lEsOxF1Zd+?K1F8XVu;os9~xE%mKxX{Kg?kOw|u z-2iFacTBD-XNMd&IX`V|r7nHfhbH07-2Rf?7hq;+*f%B@#+r%`A!S%vvqfjf0WrBg z23@;^uGFq?K{^HYb<4{X`nSB%mA!_Qr4R7)d;aY{nM>`)MpWg#9ynCh`A(|s(zwq8 z5jdli_i7(!iqo!ZHvVDn>XDG%x$OfI3_bnrY13F;HrN-#W-?v*Uf?<1LQckdzhL#VTR4MK#vSg=q zhO;)e=o^sZLqPik{PDp)MhVlqQ%eJWJ23&!J9n{I_FDH;7Y|ADTXN2gXHL%_o%>~; z>$V#l0)h9z1dpIk4;8@~5(dA55tzZ+SHo6q%@+~%Cc7|?{)nz*V&ji#wz2}Eh7#Gf zrt%`|=MskU)CaAT_C1{_K*7l%b?<-lhhNW>St)4YE#FRfxDSW|(sN0d(YWfgsNMr) zl&Xq!AVn=LG{Z{*f?+tz<=h=D%~l(?IW2Tai9Rh3$QG7)kn8gcp7}T|uHyj14whSd zb1}u(aAZ81)#fQkw6t<1_J(kPraGae1<>NKLwuCOpFMfE_(mwzMt^18-SDmV{&ra0 zFKr3-YK1)9y)#OK57VNc{!Vss2OCi+)%kUuURY+#{C(bxDo%Tp-;-{m-Q1VB}CA3EdZE+Pg%4=5eRFg3M2?g2K|nv!Bkt31E}UrxaQ10 z$=Uc0XjF(~wXydlAm8k)o}x_bP+}@5e|yQ>HI09aM|nNlK5PJhV5iAP2z!JXz(52A znm+JYwuC6mXYiz(@#+de7PfF$(43pWssU^uQPA&;ch6guT9-U>%%BX1q8Z;YZb^4q zEq^4pcVrhJERItLHsTc$B*q}4J0SM+GYvo_n&>kO*M!lu$Qb|!KhwFsx&q%>B&_+9 zytMj@N`68HJ|C$zBWo^>jwN?K9rS7lL}6`(q$_{9MY55}9i2U&N&RFj)AW~6y8M~S zkE#Yw1+gnf9SV;}Z#qx02aom|Qi>X8z5h0bAYm?L*Lt==9dj;Le7W>?Yf?wy;=X*6 z?Bo>kppLXo%GTR-2pDHGLHNs^~k6$OGdha88 zhXUS-l{KC;&S2GZO#iI=u~}RXkVb^Te3a&8TtAxhm>(KOZVvgYMH(`}dD3=WKKYf4 z?rITVN*)@P$?7ydTJT$NZl{k%@QvLNT%+Cdte#5i6Z*67=ZcDp_up}>pV@UE1E;$4+$q;18YvspWmag5RO1$$V0U1m0~qcS5OpZ-xhP+t%5i)b1gr`<%-7Fl%-zMnhwb<8ge$S*&&O4Wu=qV z9t52ou#Zcb`rUe*21Hl(_xb1;7z8)pgjY!1dPe7mB1lGUSe! z@@)qQwT7vIhD%;$bM4Mp;IlAASICj|orR8P!Ag3&NddXT6srEk&4BqgQjclQ_l34( zDBD0zU}^>+dFMIvEE>l&ggxZoO5x0NsevPr&ev#%t>E;`u)o>H>8?>U)M5l%s8r^? zBn?DQc{jasGM&6)QQ@p$2oQb~aiLc6R+)M;zS{Bi+DM`AZd|ku!G^_+{#$^7a0IKT zK4;1!6Gee3b=%;*R%y$CAfya}=DJ$`xNQ#G{2Ov*Q-d91H38Tnhqn=s*Uhbsh(;q6 zHo{qXk|AG<^N}(X7Y7INLy#S%Bk{F6g#)RBXEx z%!Fl5Mzz;d(f24Vqe?Kr?67rhQ^vySM~*xZZup!19PfELmESNvd}Zjo5;b8UR&yJ2`ytGx^ zr9AyfTgRKtuH8Fo&6IC%#G4FTu~MtdpBluCv=L(My8JE*Zy@UH03%?2KpyPj>8ZE1 zQ|xbcdW;X`X@6e2wzYMcQq8%f_2i@KXFcw~I(eXC8gY#`ZkauaQY|ak~=#EQi7)z^&+k)QqPwt zj#YGqWC5yEUm|+Pft=@n{0%16@yQ1j)Fkl+BvCzM)-_s)h<|e5RFcU@SF1$S|$>2tB+B)r9YsKE*?-1>0MB3 zvM)YOm^lpqU@ZRIpw=T2s)Ei4V=6!pnUP#!56q8)yY>)K>%=L-3MbF!@vf3>ko|{A zyqE9d4{wQx-xY0oQ)+(pzyJEO7Jx7lrlumy{se66b?RjkHbs`e@B`4l56nNmho?&Ix@sXS{5 zpzgHt&m2k0(=P-g{@w<$j4RU{vWeMF5Va3t&o=7JH2>C;tJX?lG~pI5U*KZY2};nF zuP_;Pw(XUf)r~7w`BPd)|CfdbY78k)Xf(IqJ|20upmys&jVQoaS3xUljK8pO@ zl&`yWu)VD;IXQqUQs@;cs;SAH<@{87?(!7~*_Aj+nyiN#zKmcu%HTPC-_oeLSh~@4 zc4v4vdBUSiaAvbDDECGjkWeq2-%(82EnWj+TD}|ccufE9So)#O0^!hP8|_yE)WdF^ zExXUEZk3vB-Gfx?^O+3*X@ZBCljm~NB9s%YjrQ-o>g#g%?r~-)r#4#zI+`3snsA{~ z?eJCF6^UDihe3k|Pu!DB19)$^4N>i>p3285I(n}1Oa%=wvA-{VLqt#YVs)ELH<#K_ zKolG|fE5p=t!D^s#mMSrTzP7}L#H?8=TqM@AF>5c!Vyw zHM}mZF7UW4MHuXlOTSeNEvUTq|8e%#VNteg+xNOvL`6_q2|)yg1_5aprMo+Z?vn07 z5u_xC5ClfLyIYVNQb4+tl!l=h;yYd2yS~?ZJ?nX%Z~OjmW9E{$wwZIT^SF*<-+y~D zR$MWa(i=(c$ESls9zzL%sVpCemD2Rt?~o{s%Ptp|51@|BIoMx3MM^|w{tDYsa%?a` zo3SWDVbYqf*6#M-=ygc$)JvOH$S3)0B)nbC#gGHuWXHnB78~&uN3PW6nYgK9uO0}& z>N-BYI-`RA&((Y&-ls*lVzAE1)M@h7=zczFt7f4}ZYEUv=uk-%`8n=RRv-?)STd&| zck{q$^aX*S`54?v=+zzGF9}it=F;&_$hj;|Ua` zFUEv(9cK@b_jQC@F;y<>DaiS(?&by+?^=DIbmu;w5{(kg5cx9&F2(TkuA@RMyTK78 z46aDIxW_or=X&0Kbz6d=QAWm7WwLoZmod+7MkmoMuT@mC5AC~r)!VlND^=4V3|t-f zu&tF8woP6nHx`6$@q45#*t{hU$2S}QKq>+f29y#kFCX?-AYD^6`V#c6vFFv`3K$vs z!|A}w<-=JQZxXUjc*U(GgypXzw=ldjeGEeRu|DYIi~WqMMi$w%nnBm60RTmJ)o>a< zA{TIJMnA9K1wQdvpp@@y?gqyW?v8%~my7)VPr(Z-@R869y-B5M?PCuGT?X1uJy*AT z8pKxOBz?6*v1}{%AAw|!Sf*`EAh9qWi_rM}DIxO>KZyhOYqq}aPeqKW%9io!uVZDO zeXuWO$%$3PJ~fXTO+F@q(d4qg1!mqmgxLGAj--YmopBhs(lzUJrqQR5yHvPtaOV5~ zf$VwI*Ew^MNWlZ#jjGi}%d4NJ|FK5)8`@y=ez(trS2$s#?lJFEFt)MNrogSGG@rX@ zsX};Fxra0mZzFF?T$(u*=4>&H>UPr3WXt292tj@t$T^1z{(0r-4xrqtoHj3F4iRT^j?+akue6 z1HH`VuY~nA6|~>|nrO)mAh0>|?X;%f`+hNrJ?Jf%rRtI>Tex4FLq}mOu}w=25pU3v zuJ(=>Mxt<9U7Z+7o}?PP#bP(QWcfiZIW%6Jvokb)^ku`E(y|{eELHDmAhD>T?OnNE zsEx!o;iz}NLvC>j5ABqRtK&7FkWo%`m<^j9Z{*G-5a-7uNfh9H0jS|l*r!rMi~=Q{ zriu;+f5W*Zmf)=uZlLy5M)#IPCW2DxN(GmMR4~NTs6GRA|GMvHEH=b&GrvkGdA1Hk+w!kXY985y9bfL*5NL7J4Hp%W362?c}kYx9wU zHItJ3G#w7F(1c$=S~_J?z6`5nCCS(n(!GD`EP>ESv3hkklpguu?_j4t7r;Ls`x?`> z?xL+2oi|K$(<=L37$oDB^$ zCc|b&(S-TMozXMH27|moFaCs(1F0Dp-^+1L0ShCnpX)D3nQ5VP{|Ov9cd#R561yMA*8Q#*TR% z84WKt3xf_{&#S{L;c_dq52P2wG(CDZ zmQLn-C4sDdqqf+ys(;^j_C!Q8DH<=F_8ynS5 zDmQJ<7b1t`Z}}CD*?jjJL1jI7qE2;(9V5;bN-CRbD)ewdIJ|`cNu90Jh z|NXC?&}gLF$}vvN&apCi=*!vYZ*K)*i$ipban@f>iHOD_57|raXMFi=DJ1|mX>g8@ z&$YuN%3)lOQqEAOT6v1oOZXv?_oFCDcH!R7xsm6V+K>wPQwv>e=MgPO)VJwq1Hp^^ zHR-g;ntN3X!nyHkX(l<_4~TiIczP~gG{{a>WER#@ikUN~iltpvebr$XgR7@_X!K6= zn+cYtnxUxk1%mJOaZBh0qDy3t+?^!+ZXA?m9f%ukf4@32Eh=J5ztrr3P0i%&Q<_et5Qa!Vp; z;P^;vo%aXARwf(zUF*D&@sjPP#KNI!B#VL=(i@p-m{|aRcoxLd+gyL~O@CwG{q)9r zrqZa+fyMn7+mOpTtfYi3NPOXE1KDmD4E88UIc%woWm>C3=A62Y2n zi()HsPPXvGw=%m}s4P~5(B)IecDR*In}+b>B;l%#0MAlZ`?^Q%b!vA#!)oh#)l%92 z)`s$n+K60U{=Yly#Ku0x-`DXwxs$fScj@o5LsEe!Fyl1A4&dGJGURCZfA`qLcAyK zTd00meSa__1U>3XMmSjZrh>etsYxDuQjyS<`*h(Ds;kYXDw%XTLQ_H2uzW8XLm@p? z!$+l5sU6nj2L>y6)~Fme%TG!P&1-Z1Q;C`!Qw?W>Lq!gSfe0UVGnNE-sPYy}Cx#`K zf9{EO1wEcK1qCo27Y`D}JPxG@6 zTVcX3lw)U)d{6wj_cUpTwNLAIUA+zS-sk+qTPGqH)ESe>47wG=Rfa5|`$bW@gVSpD zHFiMkA75mJrVpnB2$z`)qxLu>=jGbW+YfN)HwBx$#GY~e7||Epm@fe)NV!2m1-Ozf zcYO?j!h95cXfqheheIZkx2>XiZEQrrFag>;jg&88#{%2(g6tvak5H|?Z|ENii5v=6 z%|{|_q0cAce9JMk=X$!jU?f#*kUpD5N?Z%ak)%%2S#F|?cf$#%pQ)-oAA?ZN{^xD% zUq_AHi@v;;=1y{Q6B%i57KrG-6NT+BZxZOI=H03DmrbDnMWY`fIBQ$6Qwy~KNGNp~ z50&~$_KP5`0v&W`{#meTT(M$?9Sh>H=7aSMvzR;LjbnTMpUm6i5)TD~Day?&V#k+p z3?LH2&x<_WV=J|2|Mi!_*Cz-}6DysZ>dc8)pE%;r_4vm({eJkvcBwanUJty&R@|yX zz@+hd*VRj=FUE(no|q-s7hjlpx6qbxm!`EOL3O8UwV55b*fbE9=^U?L6=&kS8~Nu=fS^pcS0@0g}djOnmu2E zO_*5@Cu4r6R~WLr9Y&&7qgzqL+c#a|o84E287(Kij~)AXCpAO3`s|^wQ-*-RAn@W{8g@Ql1Vcs7o}nEoIOa&xaXo7;_4a{RG&Sg z%jfYktM!C*3$S^TVtZrpAXWl3L;j;#K%)f*w^r*)(EJ(%szpT2_HUFSK-a`2;l4lZkTrOyUhS`MK3 zuX-lm)?axW%y~U*#cVeIZc0sUhtVJW@P9ma?O@NEcBd*gw_BI#0r25Q4hlFQO$G3s zzS#I-0Xdl<8*OCC%zrVq=I9K<3p=Arglr6NZD^$sJ z_h$3;Q_5oROE47Qkznrc&dejAJByP*5OG2;y9G67*gt9p&OMzeu{2(2$oMO6VO~_7 zz3@}ZMjaEHc{BKPYS>cqcSVU-SI@jlS;FjQk(Iw(=-$bEe7xoVH6TnuwX?|DyWsF$ zR+E=5g<}oB0fkZ=@uXRbRxsuvg+HBj01!jfy+SkjE4XVLaY%KIV{@Cx)PA%D;vPc1t3PyMHv z&i_2LxhrhQ-2C$046ga+jM&yuejQ)DVaXFa^B(K)Fd3mIfN79WumNOWzknEev@4IG z5M4l9kb8F^=9{fY*%e)vrB`dtdBclKIA>{Okb1FrX!ZuCV%<_k2cuD=R?&4U#{g6} zEJ{<_%q-;Q-Tyq-^*d4Z$SlV8IZugg?mjp={Wu}Rhahm2&d+ge;NOCC)m+u{oz1CpO+2_P7FLyXyBF>tvRjw98=`97oVIRTzFm z2%|G~>4nj7qy}74mYc-Ts^T(_#M~4va;_wg>K{g<9sRo}nbDmRz-ZKYXei`N6-Iurr_6thR91 z**SAd9~KcG&Dppzr?7e_03zEMcj?oS*fb`P<7+vfHZEeWct+(e;#ZJ1M5YkG3nuyK z&YcxNM{M{;d<-gZ_Og-E;(o&XR>lCY3y|zSzLT7z^bP3(aZI z)@*mF$3Nm4yIGe)fp!$!Wsyf+x=-$}`fLx~=p`q*Jb7mCP}-wFGGVSV7f)Po{@u-k zmp6zQV1ac#&a)gTVNZ$FGCS;UdAhCSy8AG$f3$kJBRM3*0e0$a zK@P*qbq$Jvf;R_0Y8+a4@sySU8_gQpP#F3JL33{gDiAu>spI79f9=@Y+&XmqB+vGU zJi{_P(ZqRaBUWE`OE*$m^=VkMq{mdy$3&qtHk^bk@@=i+t}?^9u6$uFWi+@voUaw*~;d}5FI zIB_EmfAygb>l?eNe3SY-Zw%IGLY0z=5VT4A8@0Os^A(Mty}G+u?9X*44Y?J(wnA7H z4J}*}MDEftC1cXF%(r(>ilOe6rXv?v+a4lB)z)r{BG}u;0w-#ptYguS*I9oZsOXgQ4%MNU`u+vcF z@u^X~J6`tw#f^iKJj2kOU5{7ld?JP8>9UxRdx=zB-HJb6@LmX{UXvvz%DtBFGBsSD zydSZ2(X0gXvbd|%t34ZRUK76Rx>HxkA!7b2?I}j%oIWl}FtQx!`_V~_gq<}^U;xf3 zJT4x@%)YCfW)2^(>>p$~=#2`$G#lwgT0r^j^+=|wdRgXyG|4u;PjzqWOWJlQsG0dDveMB=^nr~Hf!u6-rL*~fC{Bp8%k z)62`gk>Kf4yZb@tA_2*ef{39DPs26%2o7%K=*z#o{}!guf7uH`E;Sai=s6a z3`+mgE5X+7%Pdll>C3FVc@m9o3D|jtGve9orpZw>MD=#JEQ_e!qGA?@Ly{VkiyA;> zHgTZ7JVG%$&I=Lci*9i0uwOMJ9DFVha$dtXAo_2Q_hxkI;hgG{#&B9X^(*;e`lbUPWp+&}m#Kt%8l80rdV{%H8eW{O2P+UM`PYj3U%u{nS=H*6V{Cj)@ff8q ztX%WiH|d!R?=z7$WwW_CdnH9Y{t^Pap)<}FKpc@ zi*z%Z%y@b7&CT|P+L{{m$yIvW9Xy)ul3!{xpJsPYgnb+rbSVuBuWg6QlzFxOQ7_rT zP~l+~fiLZDeIKFM8_1x6+J*J$Mam}i2AkRb|0CoShIdCy0rJ4UDWeW zvhp|N(2)wi&}ISF+|0zbv+L`dmiT$PJurkSF5;s72QjE zXV3^P@WRRDwp)??;~Q@|DTfl+sQI?&Nok%JBI#7#J}fWa2*(O95@fL2s>;{uR~AY7 zBJRn5<)(WfSSfUOxkEod4H|RmRL?o`ZG=?T9T5`Od9PvVk5lm#pgrs6^?G&nKj{fC z=8ejifnA>|K`injqt)HjQR=$qEJt}_SyO+Etb(|HhJKzFt)^9&uN0jJcFLJ_5Fo?W zhkz(?p1~=|$US&XoO6%lB}^6BSgicV1*@HO*rx6=R$_{V>&<@S`Zu=ey!_*HlbXr~^VNHj%VfIGv839A#@&E6Kwrr^;9 z7zp389fA1^ku*ZLnV{o^=H<)Uwc}rgWEb4mEbS4y<9g$#BgU$O zSAG}WLb2_vd`Z31-P@Eou|^Ux_4t^4v~KI$E#~y)p0Ql#x?F8(FAuE_%1!5AcW502 zGkX7;_q{HjJd3)1=XKTAPV-7nz-(UEYH2brnzntVwb)0vQI z%-Z$d+dozV7|data3+1*TaxJVcS@J~vDpEKFT<(n7vKHJ-f)@Nb@f%aUjJHdnF+=? zkn@Kx6i#nan+m#7Yob)H)Cg-5Pj9>Z<5xPmMDvq1nvi%qZiU5px>a_*vPx;porLZu zT&Pw2yeXS1(wJ z*QD>@BhRk&_~cfvZ!6hgMN8s9={MWZJKBDEZp}saGcp$ZlH6Hi>+^SPxrj=qH>d1M zPfkj|`b}g{jbGTIdb_2^Pg+c6h?*3kc6w&rUzTyG?wz5ghi)X5- zN+%maeXybp+fEjuZHSxaOX^~3dxkX3;Uwrbor*EADN zGI(xot1Zypp6-oOzc3O>l2?GDIuwYvd-#$Mg|e?84-pmnqS>LHA0qUWYgjmC@cnC6 z9}lneHkEwxmUSNO#>%KG8jp;F!DBD1Trwp6?P^Uhsb{y{bY1qju78!QloI~23MyZ_ zie#WVnm*C(X7J*bE|z&0lNg|Ul#YJ+F<>s8TP9LZvcJ0w_`44YEbgXhtvLH``Yl{~ z3q^hBHw1>&Zst?l35927 zI-!t*xpN>_4VpaDaS*SyAFnsxH)}c3mOsO$Y^fm61=luKUe?WRRU{9uVK@LMsS716 zR>wAdV9zQ#@&IyL8@rn{uTmwIbPfu1w@b#9d3RS8TTD_Z4UkbY>@}&)mD38tOM9vt1?{mPu4>x z?fP^P5{NT?pqmOgNLZE=roh)3UYGU@1)W{zu^t$%_Xg;RorCBff({| z_e~Y@Oe1dZ(6`dP|4u}w`@!wPv(Wem2&E&I<+6oEA0&{9oe~-yqepe=!zMF0lxE^H zGSFSe#rbWde2pY!1WG^%r$|D3YhpC`{B|lCS?X9-vNe}VZ4+bW|BgT*vaa9-Z8!rnl#nNBw!kx0Qw>xi z*)!V~Xixx{`rUbTDLbdbJ++aD$G#STO;l#ZX`7k$BAE$bEJ%F}j3p3CnQN#4K4AMBWZKo66%ol2XM#AV@ zF)LbUxmx}-EsvO!?XVCN*QcU;=5tQ?^S5daoN|%-8VsfpgY?={*Q@ z|0{BRnV{p5BTvk6aX&@r(+_+V*3!&rvr*U2aTj(!neq~37!50t8rjMnPfXBlK6UJZ z>A|BwwbffPTjTKJk)~@(1l6yB*M^gg4gJ*Krm+Xjl(;Q5nUl>T0-@nuH;)0arn6w- z_zJ#DeSD3)O1u^_hBALHS{(48Q+hAl+a7?@Wl4gJN>fl&ue6n_>_-K+$*?+>RLxmA zi})X>Xmfj2a46#D5fZp4cnNqsC7pJuM*ONDm%bH;6!DYIrCQG7{SIR|G4;|pUg?a3o99vgM^ zCgZ19ESg(#k0CtSBrgWZIF8EP6y&%!IbP|?PZF{utk)@e@zv}VAc(nn{;E$NOl$US zGE8HPu|+`ZZ*)T7h<aTm>H1bu;t9Vu;e>o)V!wpC5Von>Fk?X1XqdjJ`mF4 zI1>P`(T3mUzBVq5`D0T}1Iv8twZvWenO6g4R%kf)FCAfD_J-03_FGEWFJ5Hab>?kQ zmR&01a~K7!Xx5A-S?ty)-+G;uz9&=i*S8#QY=l9WGh~uUl;GZ@#4I1}I%Aa-6|IID za=N`F!*8+^tqo^Pj4)WK16+je})IVEJ`a>c`sIK)b8^je6`}a;8j{G9FwF`$ngCEt*D8i~hnd zNN_AIqPj^J;U_ziaP0BwT&GLoTMapEq;|c``gNhI=5a=o*y$pH&d|u!{bGo@t-LhD zvoiO2~%E27*f!GkQla1k_{6f+qG} zPl;}-qC(iUv(Sbxbay?H0h7GhRak)+I6gWnZr-d$r0?X{+c!F+rOy3Bs&4@qm&9x+ zb-=unDA@YIWq?S%VoQS+`FPrOdZH4{E17mdN}9l5K)8>W!5pWCc#_? zaCc<5wom(OI$h(6alx;xuAC;LWRhXIlH%HeXavTV?*;8bMt^ok~S0VvsLJl^hD zh=o>vrSDdSYv49d!dg3VydmCUo67LcX5_Q-1bZKumZ!x|w!18!o66HO?Ho&goq~rI zG`!E&5)@iHN18UBf2{N?`N_Ka9U1h#Jv{Qq-r0Y_)B(R1cD)_`&c8$4H!xVhS3V(Y zU`3@x!SUYulV}Y95LL|E!ty}V=@E#ecg6$ZP+5iyBP~Uv?OuC0ivI47)!rmg+haKtj6S1dxU$3(SGNeQ2WiR&MoAqPyqQL2PbQnY z3wmx+LXX2QK}*ovLyMu!EVHQz^&2NV#kiDk8H^R{;gPMX0-K5_Co)>Xo?dT`_RW6h z?jHM-+ZlUy(~U0UVkglso3iQyv9iV1=hbj*e$4(C$9@kt3KDsq3=~kbRz+8+kS#1s z@X${@<9dXbH%?)pa6 zb{KLGOw!qIvQrDg#3{UMc}+Y~_qK(Vsww~eZhmQ}dOT%2?HMqFEXaGiJ zxev?=O3;J< zC?Z=Pv+r#qDC7O^nGh+n;y0yXlJuh7UWi8b)GAz+ptd^fp&}XdmCS}R{|(c@&E0#} zz39SerM8LYS>J;3vHD(^oZQ_lW~Lg6u}hh;oYcrKr!1d7pu!($Fph~049VK-rpKVW zRK20=JB(EJ(4>JcwCoE?1apqRBR^X+fgar}*h1{69BI?`W%|>gRn0_P7)D0NPw}@d zXQu(W0(Z{2y3gHNWIMICphPmmVo1ItOwRm#Ks(tR`uL-kS55fE6My^9MwH=8@$p%z zYJn$+3ek;#X5*dd=PPj4TWAb7$Ub#*E8#;Wwjzs+obSb6sKVMj;d(2Q$DVodztVyH z-5Tih8!DX>E|_@|cZK z5SGMXDRUQO0oBUK+0Pi&Rkq4((1b`^tYuW`guhJ6vRoKa_H-j`!)LEJP^KkWGKrmm zq+2{J_bWAQdK8JP_vESk?RFW&B+6EoziFtOG^RRvPiYHe(`srqIv;Pocna1EtJu3J}qWB=~!-nq_G~$ zPuisL0G+^S$%`czxnYQKCM5>G`?7^sx3Xk)>j+R@OXra8rZLN)$zJub!mayC5Gv>P zoLs#5+GyCa6I!Qr)aHHR}=Vw8P6gelAp2Yt%Mo zg}TCzvSwrQ4R*@hG@BzYiav5K9B@z?b^zR@@*-*mN)LBz(OL%}xzwwp2D0dXGB*6r zG9lNghnRzGnxo{Y`AP`8JC+FAjuK_CRwEzv>Oi1Q*wc-eR_J9uE`>y|l#V~pGC9rX~SC&vuFS{71f3b(Tb!!AY3 zFK&dkqePkO9Bczw|O@cgsZ`(Cy9t&g$U6%3v3J#wt~L>YN@BeLtL@|@FF zTo@?1^t;!)wd#a4d_-@hiJF)4KZmrry>T9G*f(3JV0>~josqzS(!>5CY}$2}FQWhb z`-uc)uLCsRGGUq8yvxtAf-*ZA4W1-kctMFuhVy(nTCtTUa9dpg-(j>u!0dpL*~6>( z#&g+;bL;%8hD4&a4^h@IN7-;zm*So;Y7A-jaLv@m23^&wU9MH46;zLoL^yJ9y6D8k zu{QCLwnoZdC$lg&d&vm{GRar0+YZPxOX=b(hw zMdG%5N(tA(XGL2!_$rk!&xYF{eKsSK$U!OY=ew0MUQ({SVP7|fF^X<$&AHyiPy8i2 zJa|7K$*UzzCYw&IfBvg+i~PThTUw+=C4apApI0eq7mJP?qE$2YMMpa25QPU=yN*|tM(RH7DIW=-))dOkL{vW3z-na0^@1cIJ$nx@%g5=S2^#Eb*y7|F*_glogCS^ z-R`57t!t^yUfc%Y`Gh(i_+!w?GS?cZsn@57G5aT04v6I=sDRi!UdcxWu(`^^c-Q}u zwJ^#t2900Gi$;I)Tu|h(YbJCQtp{T20(v3RY_3k32i$cvZficBK6=5#G^pSzG_KX3AJNOO#WkwYw3Xxm0 zb0G)+2J`-Nb^Lz(hCT3GRQx16E6~DayH>dulayMD_C0R2IPi~KyoawRrFfwqb5Qr% zDW#~t+_w9@^fSEedoR>fkHvHO^dw}b+uu+66Z*5e(})-p1@B-wBDO=Aw`&dPR48JwXJ$W5@Q(Y8#)iq#RFB9@MvjlJzG7Yb>0 zKlH~&Z_mJ2`;It$BLh9|2lHEsPc|;Cbv2&+BtUMu-s3gQOl6@s(KD8a)mh-{e+iZx zYuYSnirK@2z(6a)Kj|tHT03lwn)20AnZFz5l zN+QyArrZ;K#y{LHYIagXcPKilhBI^qQoyPHemCYxO^>*X3x%0okdk`eYEcxWD$;@a z@wK|UEO4z&OjP+4K?}6)(!e;f?Xhk1`5`FZ)9ALH!Ty`>vI)+|D zAj(x)0|#06D_9wBn7#_^Wp-)Dxr?i=@`&Z8aN3Mi+m&MCFlFO>_t(hBKQYT6kgtoy zmb%Kd(j8~HuTJlE+@mN+#lM$YKusAr@w2;Q4c~K`4SuZxuxH0np&j@L zaaJtWQr(A&3xA__K%!oda>%dul zR)36`1|-_LMAheNo6=*KSyZ*YmvU$vy1T`YbdCu{Z`>A;w@{nJyDI_!6__~GXkD*& zOTl;Ds@u`|05#V-v5LJu_{!f+jf&xQLW#;jsA8D9;1=Prg>x%eM^Cd3IUw zY>dprKLCg?IOEFI2M#=T)Ebckv(+kHy)s^pw_Kc5Y-N*n?qiLAS^DEIX2x;u zRZGS>_-g`$!{f`3k4kmQEs}rrfRbP+EBBY3oJFr`cSuoZdr!MOg8{ps_pP904h?lR zdYKw%aVQ_mCRMr=s(J@4StP$Go%;(o)&zmcW*xE~$JTtZhhcCqOAc(e$8-|^{9x0t zLgCM=@T}szTTu|c^RJwTIlLGDp(03{JUQCQ;H@e7J-T&_gx&8mUQ(!6B$$-8crA2Eq&Du2qE@Gt_g5mT)x-WHM zuqo-={tp~T93|X>7GRD(g32!lL7cHCrLB^u;9taA%A2w2Ya2CM*pmwwkYRI=^$eS#e%PBB}Uo2%0Nt%vzg2>r29GbUsEce^}GboPhz;I(1#_zkKwaY zU4DRAk(dbuwtxeJP&)P`!5|4ll8dI=TIchI?*!H)cq9tPrg%#j(FZidf9#z9;h`bf z&Vz(mDz>}K`deXlt>HiGOwyR$W^AFdchO?;!-IK9r)-fZO z&~_q(3LU#L5wqwO39{+C{B_r%l~z<)d0(K_A}$WqMa1aCPr}!Kos@jy!hVfyV{L4? zw(yO8j&t=toWg%Pw1+jU8i3j&n{WixQj~kJWTu>rf&=Jc;?N`TSG0S<01Ox`*w?Z^N_Rw|xDbGhv07TnzN}9mP*}yFP%;z|U=tSN zhbxBCH-gd4Z-U}K{d%3#WOI+7n@`VVR>#w|d6(C&nmCTfRS*A$p_sKTuOiIPCOrH# z;4IO0yPDinT_FD>9%}o;;rfwAikqW9wI9CimiJ=AWicyajT*jFTH3wxEd#~Wv7BA) zUwy@H{>#?SFnwr?`Wc=4PCX6EnpoxIFx9bQ49AT=F62Mq>?%)-X{tDEzB#R=wA=14 zX&X0`-iix)EgqeXH#2?SC*E1Tf9|(I9+lUb?Y>#ZlF@XO*eX3eN4z16@3GO& z+}Id9CvX_dH(wLVMX`fJA~V1G7hxMsuj5tY^?0Q%_N0RkW-Q;2wVeQ>E)IR;JAc+>Y9X0Nz+!4l-*+W4+@_-UBoF2KP@yD7`%+Sg56@6% zr*p*@PFRn8>~WZ@KD5SmVeH+XjMAm_LtQ+teovxNgVSd1n&0`hGd8o&rr1RYCVzVF zUY$KuX5G*4b^qV2p`V#nZ&n(8Ji7>;9U4K4yh5x-Ei#*Zt5)b-q49at)Dx#+ffrxv zwf5{@TDwS#(W{hTX$VuEqeL&7Epj~vRm;vfG@{RcSJk>tgrAt$PeP|#&|dd@X*)TB zMp-Jx6r)CSQ;T7iNJ{?sQ>Mtu=*M)EFQ*DWxJJI3F*mKC)xUkNqrTN3{)pE9gISlv z)EoBd$8vDx=NZ)YZtb==RV-Lk7D;<8&&L8kNcbC+3JhH;<3Eyb3t8`P=1#x5Psd<@ z9m2WD)etgulw&m?7x@o--Rl5+Mt$kzjchu9dxiVv8wxv5zSJNq;aCZrF?%B@H{m55gc^DaOrYQDUe}PwAG_NgQnt3j0I0fW5GaVPyAn(_Dja{1U+pgr!DkZECe$Z-} zgo1rtbrh;CyTbf|`nea6y_cP!vu@*6w`lu*RJMFe`;cL*LLudOB{GZMrY1%5QfrcI z`6!o@X^B+Ic8Inwi!i@I`$0)7Q{(Gnm87>OUB%Lmi5#{sQku{oQyAhUa$Y~~v>{{| zct@>t%3nz@V=opx8Vu9xsT){g(yo2z#A^2>-S5w;6^Vm6*7>!$>Kt}5deDN6_n)q6 z|L0gMR!NuJl*w<@xI=Xl2Y)^Bw!2il4!4)tg>CiwriO-u?p!Je<+E6TcARt2nzQ#- zq3Yg&G{X*y+?0^6x{JPiS*W>)=vv-@PJ~a4Vd)GBOPp_43<)WhxdGtBjEtyW_zE;d z=YAD;sRm}SU(wp!Q#SRSMJF5OwNhY=U*A1=R9ozz&U)^+U=0=Aa`pXR`?or$F4!9%Iab1BTGx0VZQJkiYQXTmMizY($g1zE(7ou zTjXs0V8o~LWRD%)qqMYxcz%m#mnSf!p%$VR)gpNA$m?)$YPof=jKm!RII7xk|(h$eTUNPDG(p678ThE`km za_!Pv`j|@>*x+ixF-h(O{H7fP?A(f9mmse@{fT~Uy4DXMrN_T1lLx-n@JxZk-|55| z>)wU<%O^y5Fq-ACqPq>x-9&HoZF)F=8Qt$YL`>wIZLbygz2%0(-J2R=86y&+{p!0J z&K(L{ny+q8O9gHdMX<|;?qzi*1(*iS3Iys;WvtA|R}&LY6j~YJdnF}K-~G<~?bnrO zZvM28`gJsGt3rr)n+9y+%Qv`s2U~bn={9r)F z2K*L5=TjHQ;*sYo3JcVWvF#n&xT$o_osPEx^ z%WBfO>1E3362AqJxpS{obG6nwugF0!5L@vV!BmBsjuUhaKC+Do_-Ty3+i^7Adu}ZS zZe_Hj_JMBnwH|TtutRctIZeAg$+Xh#nZ%Sjn#Svgbmll?Z4r+OT=GO5pjntgyC#1> zFkWGdKq4u3tsPaoV?0kUvp&%)VtN3(n+La{LIP(h>)WIBSnp6}=yJ8;@x7VyqkA7p zzj%^*@iYsp0yTksG^^>A?h6Bh)^EV!FqMjwk;=-9r|h8WrKkAV;<{XSzj6!0SPG5U zu2Vqtk+<^f4gtqj%KPw9lG=RR+|wfwJv;WzraSp8Un7*-%Ht^akguUhY^8a}4PynBLr#l+iwuGhvdbhlk*^;ACgZqEL4dM|KI`CC7heHy&^ z!Gs=PXi!06f82l)bIL`a*VJ?WfTsFv$`M94RS!;Exro4t_^s&m^RAVLNi8xPtisKv z)p$5FF70=O^xBrP@Lv2}O%>|s^qAH{72VmE9dFFiI;}NYfBt#HbmL)SS5*?_c|%b< zgG@K>FSj}l1x6d9+NXl{7`pA3%lVu>D;{Cn;v8gsiu_B{-Y%K2LX~1o5!fGn`_s6d z_OguyF(v<&Tl;4J{q^^YBNl)CLvDYFHj~c$+}#WkgVeb^c7-TOmOQ&#(Nc-DHn{oX zaSGEoF1uC98*&rCn9;QwAyS?`|E-&JcCN#)H^HOGOW=dP@FE5=7?wA-mIaRlX&lRY zCbT*j*WnQQO8Sj_nd`%KwSpJPBR08AtuQT+WjDIN|9sydyPk3l024$Jo6PJVj$o{q zBCN(55@=~L%iWW+%lWrv5jyS*k?&2G7B2Pn!RT~}Jqd)_1$V|U;;Z4ISA7U;G8QXZ z*fuvD9BdXMj>MHbrJ>c11|Gx3lJ+xI-RE<4v4Z@TQ& zioMd>TkTD2$E-bK6`=&FL=chW`8wx!KleH3{{Nrnk=KiaNJ6gbbA85pOs|*!cm_WQ zKZc(qdY9xl!fJ>4QKTCyozlld8PE%=E)|Gfe-#pM@Wl63Vt(!N-V}H&k`uMju6nCPL8B2A@}jKb*eVcm&=@8n z+O4~`7)Uhy8eXNuNT(iQS+T7=7t7~wQ}L_KZeEhS7kpXI8kh&q;tfcn*Q%IkwPI(S z_~E!|lw3gGjHFmn>50?NGede3i%!B<63iQfs8X73R956Y@RgLmmJ7@JeP$T@6KQt* zeWViHo`PF8M5Vv)0&;2iw=x<|&L)`0jr38-kSsBx4-0J3Bc!E~Rwb8aY$uaFxG4aP zhY97SF-EZ!80hQY^F?T0-RV?mUHpW%5L4KKg#^LAL1T@Q|t1+ zkat1ZQlL{`YnDi#h|<1jb^jI&J8(NynM2cz<&vjt!oJBVs+j9)Xy1zGky7=ujIeK6A)nxnP!ba z9do?(+GixzuA@H`PFhL&IS+}3+%X+^d7Eb=eeulM5krzYz|v5cj5JM$E;uJkl=(jR zoKXQj-opsouz-w*T*wAQT8zyslL0A>6@e)*#8A+%*c}U$^7L)fcd=tvIfOv!p(doT zUS3?lZ-*7pM&_cEsi`SjPY)J->LeZW!yDk08Z;9_1!*5Z!TKKnO->)H1)|+_p!PdB z0LuoX`^cgP0P2sau98orzSc*ugxw`|8SpwR5>8;sgs8#Rrlu_2v9+&wO_Mf|IS(!> z7^I>N$;l&Md>rK8L70{swnwXT$P6HUv)Bv)cI{u!c|KISqR+81@5o)%^}E3#6{XGS zo^o~iD~KbVN}f%&)a7}io9D!pEf%*I))#dt{}`JJ9$&O<4w z6CGKzTE4&l`CR#m!)MNtzU_FDQ6(0;^e}7>8_T4q5Mfm0iGAbo0qXlE{}L|+TQ!#$ z<@RSE%+WLMaP*E{TwfraT7rjEmLg9^%W*XOL@`G42=_)e$=`Jzuw2Ydlr8<((s*m1 z2O}0){%g1c-n;R)SsCZj{-+p7_G3lFtL#$gh#qBXCSt?D6 z@Eyxlcn0lF7Q}s{7xc>1U+>hd((pBQ>wIJ@bNDd?mQV`8x}>zUC7nsWyq3zY{xRTp zy3&gNjeRO4PN^=#%IU7no!C3SRjKay%wh%wb*mDF!){6XE+zEU=)4SD%Pmvh1l&0{ zf@X~iOm7*~iLE8fGnv8LNsOu1y9DfTtue2fNb-j&S4MxeM|_clY9AsOx6#*f=S7+U zT6O-bned~lMwIROx67bE>lCF_)-}GOIvgNR$L1eDgt(;ECta9o%AVGvH}>XG9eq=< z(&pN({(wp6i&zYY$XwkZ|s_QXFf-uKL(Q`W$H zCY>~070M~jr`(Vx1dU<4gD^qB5b+yj!NZp?K@ziT35Tu+PzkgnAs7OXKVBkbyf`u_ z0rQQqfr5wVQ>-3+-w|L-dlB%lI=MzrVh_EXdxbvWE71Kkzq)y+-?V;V8PKNpOj1%B z!{NCOpo{N4=2+rxEsEK|)=jStP-~CeJzZAq;%KyK~CpK*8?E01R6#-J4Pis=kp|GCIL$t3#eG|6rHlf*7 z+-cOmTi)zcK#VBivNy?Kz@zTq_+)QQJ z;>VVHd3JrLu0^5WfSKhLc2koW3kII7d8d)6s8M|r<5(m$pdU6wr9&IT%@3x1VSQcO z(0^6NH8L9`R8%gRSjYb%|pB%0? zyEz509FYXAMz#hG(}1cK*K6?|U~!xZkOQM3@)DbJvq;BPb^r}l;KI--dVk}fhjLU_ z_SRlzkg)CpQHM=I045FSo$5aVXt>HPffdF)lLOg(%AMY?0wF_7Z>6g`WV!mXzO#N1 zmgwv;+Pot9qDDW^%)n1Ug+A`U$q!%=aKRs|#+FoOnOI%?#4l=&DMbg4f@kZTfRhpG zyZ{U*z4Z!B9!*P>m{u>X=f7gzZg^hrO?=xN540#HV{I`C+l@Jwu5UiYvE9{h0hA)5 zsnpiL!;^tWmX8Ot&jK3jxJus$%2t!35?Pt1Y1CrBX2Wq0%6Oa;dmV=A{7!ApRkMsu zBPU(@Dw2R7AHCjx%SK_b_cJ_P9ts@}&uxpl&v*vRCFmTR z-bH25>P(*$e86?H{_SO5O`YdQ$k!gm843xhj8gR$&l4pf7wdn#Wy2n8Uk2A0OpkJi z5Bz9m>TppxQT|&MD0S=pYh*8uJofAG9P}S+_pev=zdr}1*Myg6lY6GOqQ+N`V_NP4 z{EjK|!zN&w`AlItTv~#OHElj?zL?(<5EP@CaE^?Mq5y>YE|^XM1QM(?Z`!=mQlVI> zll@D-0-jr~4T=Rtx2j(WqH_6oc{#sZ9!SQVsE_<90uAVA`kCG$zs{DAN2>8-Ouuw? zJ|9_pTFnda?-v5vh3Fi*%jp+pl8XfOGYzI)4htZjHcp0ZWDM#PKm-D84o>ak5mVu8 z*g%B+g7a@#S+-9QUI@^=u3RhQZM4fGly);L=n$jpT<#~8W<`@+OlNGU?~N@b*4wCw zWy2G0sRg|T)Of|;BI?l<2k2c@2PWV%(Ta z*JJMcg&pW7BzcNOvGU`xF1HEU#8CLU0Y;M%4TAi%fFt$Zqb96X;?yjx8# z<@fgIq>bXnziCk^5iQS)PM&Y?e8H?SjWNrNN$(9Y%fgb`Dqbf9bF^Ic&xan_tX(>P zxiEWYEbdN8@Ws@GN_*d~3A=YetT1TkyH+fb)BjGIG=>LS)1j|~)Xwnze9iaWtyy8K z#^mVqv+ZM-t(??KKW@V8~%m28G`?P2L9H)WSmt&ddMGQ%ZmhkalF(gvbk|yIqjeXL zyk3wwIYLo!a{O`Ol6B}dpatOHu1<&Z9+uV)hsIwTDkbrBxf7)t?tM8Dxli-a3*GnTi5 z3Vg0zE;i}yAU>2mwXYliWc39_j~)TKy+iRB+FkZd6QEaWvf80k+zLoB%zz^!QJOT? z3*dZ}Lp<<^$If$J@B+tHwGM9d_3mqS&wNL|0xnufGMj+t3Xoj6m?Wx?&>uh(4|$ML z9zWP8^0g3vn1715^D&3In%KMh*&KYE)8D_H+%$Zr_cIoxgkKdVU7*Deq$?5~2=6kE z4&{eF3`1-0cL)wNtqI0jL*+gkGGqc%gXS{OGl z=hx;sJinymMo_r($${NeCzxKe&f&h0_R6pq5#z=4zhlfFe*}mpv{(F}3XXR9@^Cpw zU7^~EX%rbKF*4?h_zi%QiOwHjYi8aUMdtbKdPM8Hsq|W$K@NPPHL~7Y8z`x~jT7fY zJ8PQG?T$XgtU4ThvIW%94G@5R33;nyR+6v&s5pkJ*)`137IY(;!m9pKFvWC1Fj;-%nVU^4DLh|Ep=HRo~7$qDd&X=&t~GI)|oe-k%dOW?(=?nh_< zev&AtM8z{h*`JI)z+_0_m41`!yd(whc(l}(C|>Pp-fQse?~zAJqjaSbyyr#li@sWl zpq73SGY@(Vx@H;RahdRmR%sWJ(zPrV{-Tt+pr^Pfw`-%+MEL>~-VGf;SR1On z1(t~*(YiG6J^MW|BxHCq;XPeU4a@;GWg7nfAmZB)R*M)(+1=e0463iM=i0^Nt`j%L z-J$wR_J5jl{Q3fC+(l<`^Iu&_JX%N=On3H`f7!+97`pPZTNrjrbgAQjvZnhv^A2bW zy{QF#Fm&@O@4ATvZ( zdmuKqAbMsC*`jwUa~M*^^YOPtOV4*steFU4jxkM^8LWW~Mj4MeZ+R~#PYwT)6aD*CI9dSi@h&5I3T>B1(6<;|_PYiOees|2_ z`DWnCa;vqNRh*jgv_~=7%6ue7lCIkq$iWZ(lY?(K*FTT(%lumaND0ZoQmJjHyI}bI z9-z5ytfHf)?EwO~J1*4w3BcJgjf9D}5w@AnCQ97o!fpdpotP!jRRYe3G3@cyyEONh zqsCcBKm6Z-iGO^n$;iw^hSvU{k%U}(Yp#%3lxRHoQbXjtN|gJ`)-jum`ICvebJ9(@ z++OJ$DX#b_qq;rXStIYfPmX$~8_os!aJJ zn`1gV0AEc{b3k+u{q+*9#;K?MUNw#SBGE4SC@VAsI)1jFk0%!}+cE11(k46qpsX2^ zXsnU1vAdm6KZRUhcc^T`K^bSdc=89c`y*xSVod1(yV`yOkm{F_nICuI>jcacKPjl? z3SE)U;mRp;fPTcOGC{ zO2o1eVrZ3R#Kl=?!7>iEIvytH)yraRUB$>goFh5iD^i9Jx9`I#!iU1>Xxii~_{7fq zE9L&%>N>spEjfg6j?Gl+At3(}yp%vAPg|)%L0G3yDrsQki_mQ9nyVWU%e3Q)RqUn` zZ^V02DI|#X+B#;uUP7X)9PrEyM5(0r$Eqxnp+WiFCUD}N6Pa`ABq0xZQwEb`u-Zgy0x(B2 z2U=#VStm8@Z1sk5xK6kL-+SQkI046F&zNxrKsPe)LgG5$jcn@@H(}KP*?VjbI70Z1 zoPyeo0YMX<)rD?=h0BfS4zIPR3B3)Xcyun{VEzE1rU0NhhrnhV=o#tw?6dFiON>F{^Qq* zfLHSh98Ee_j{rPm_$X*Kye=K?96g&+Q46nq?3oAPQRw(@9RkVrXxH8TbL9YBbuOy& zMvknnJ1a-p$6Bm!*(>MWYZM$&jrj?!4z2*t8_<-loTdSk_t}-0TkfbjS0rX11C|&1 z;egs_+V8CD*ZSM{J5_fLg(!{x`JSJUeq0(JFqS2JF&tzkJ-myK& z!t8A!OGA61jbmfQt3j7j<&RuJ7=1Efnrx=*SwT{~zLq@}5F1o6CZW@_TVt1RHphJX zP|@Gi8d6f6gq3lkB3xN=8aTM)#M)1LpmF!O12Ah@aHbTA%f#J3YSJ%t(Ml~YS!e7yqfaXdZYEVtJBe{weqPD(Q{6`M#%}| zH1@Q6!+$$0-hjcsu<0#_;a1C(f4*}kB9}8DI7l`q+C9M=yJ9YU08sKwDqdiwMg<|lR|{=yw!G|#U~r;IabU)Lw6tVx zPsUV`~FT zR&i}5NC(fLvRM9sgZ%DNjeZH3IZ!k3;&=?BZ>h|*eSQe+A5R6SWwZg*P;x}-;gX|ILC31Yj;SKHi zR^s#7SvgoB37+;iH7o8Ux*}CfxziUzJ7#p$@a$?hO z^h2)|Rw^94X|`@Nc{iaf6Oh>+??HO^{Nn|x!N5(?zJYqPUP>Eb{gPUQkI){ewFCA8 zXk$>;PP_shfWwZ@oM;|G8#lQJ)46;jBlm*Q1f^JP;~`XNgI@8(?%2$$WPAemrFU|= z33e^9h-Z-}X#7LLDzY|}_)}Bjx`k}|C~QO@e3jxV1vQ7$`A_hrfzJHI2qpeRvVJO4E*ZJSy?LxD}+dn>X0#n|P_!b%)n(ShgO_du_gR=0i{WCSL~ z@)kr_*{Y@_WX)71s;mblsdlT*eXvxF?r}2vXSfG${f1MEek!{M)bnC8q}XZi+XKGdQsRHLL_$btGr!ZpPsfc;b0(@XyeHqHt&}{_9^mI83}ui91$IDh;MZ^n&4BAh(;?s z!52OLy&r!)nW!EW5KvcEC_kT^~K*A5R% zZb)3?-o^J_#DkqD&bw{HC$M7Y)ixi8ZfH!|&~(KG(~O4pHs-tq9p~LHz+!G| z{Ewydk8dnvA24>?AHLAIe@7J0l1SuDc&Mi_ouA;U?@Nl+uYSZ+s#rxs10Y8c#w(bD z>lZ(2YBcFa+^phH*e<#dc9jwF(3H(EAA7C#$>$dFFt-nD34xny^SREPRciMgjr#OG zX6G=$y=<#Nwb^6%oOAzp?$c#$R1mrR#=S2;xkvf~w(@BHorlg?SQlqLT=aH*@v{6& zf|T|`2sZEo`04PMipD+bE0oBeb&#y)YYyl(i+dvn!lWb*$cICwD}&@P^*DU6tN0%IB^yX^{*2Qc4HdQbSzVcQMGOvoj9wRQsJl7iloc2Ei#UsteK|BA%^ ziZpU#Jy;w#ZIhNdPyRA~T4n(hb*~gpA}7P;V_Y6WAe`5&LN7oOJL-(}JGtqq&fW4J z?XOSx0A?#U2+T~|C^lhach z8*TS}@TPW2Uezl%%24&~r2#T!y>&RB704|)T5Z>8?pWe3UQu*a^VH!heOrSl}J*4TM? z%(m9nvews4S*?96ose99(>A)jF#j02OHoE1Fl;}N`N%_)aU3kPi8>Eu$iI;$Kn~7+ zpu(9e^DzfQxM3x=NM>Qf!zZLKPpe(7r<#pp7!}rElCykjg$VCiVCSu2T*pBBz0{q5x?gO5; zKy1Qv#`xIZ2DE;B>~|^Zd8%3pNs>{tH+0Q5!~hw5XA@JuOx=v>MOktfKQa7RS z51}A_K~fZj^jTAOD^s3Uz)r(?*MI%wIFy9l^koc_O(^`68C$h^PDDjkiW~pTd6IHz z<^8&ypJl`lA@|b-v(4XzJPh~V|NIirzpV#`@W$j4a9ZIXyA3&b%5J`VWixjGkJ~Ux zD{JkbVGCNKC0v3ceENj>Eibu%R z0w1Q!iDmXd!tXOvF(f8{j|vQPRSS_JG~1jY3t0ok`V8}d)RIt6r1e3}>ge=%cNGS}k|+Fu(f)_VvV zwI#T$KYo&Lorwq7_*<w_-Az8xVPU>C)vAy62zaxe>^TGseQA zZV2;9XdeR7flNsO(#(=pHzzV2x<-bqwE`>t)M8k!kLC_t4qQBm*bc=gh9NxU>!KV7 zHK&U0qPEOopkk)+1I)JWPzA?gsa3lR0$FP|T5XjiQa*NZJh$D&*P6xU+WHVhz2lcg z>&{2yf~Y8b9B_e|_I!j4k~arJ@MJ_9IbhM7Ia57seSN*qo*syO#C%Tfb=h^Y#SoeB z4!AogQg6~Eu_d2(wZ`?)X-)vb%HFOhZsqb-GwQKhH9w7dWV8k8&&d2{Nk$%a{gf-q zgtR+47$N`00H&=*>jqcYwW7*Wm(G~LBn>fI0%0=1Nn-?%}t36H(7FK@Xt7{IAQvM^+{yGyZOD1pp5S`eXmzO67 zaZ-XPz5;U z9_U7}SEq->L#&*EQQ{?zPC#rX39zQq6&4pROg$XMdGjQ-)a6V2xXC#KwwT9TLfm5gOQA?nC0BEjcvEmtFlsZyb-`I2ZhnbY7?ZjoO=7N@W~&B7gczljatq< zfB008%5#{%8qrp+UmcUK4f#k=5up!L0^1toySd9JSbf%wC=~qLv%;7@8Q*d-{BzR< zh-}-W9sCFmMIUf=5K3p27;g2w#=4C+1j%R9vb28`kTakk*h&C=WWgo|3u3;$1&I1W z)lCv-vBg{)Ll%4S%ZEoFhq;~Fi(jeCsV}BbT(QkX^#rkyJ?NwQZ$_@xxr~Y_QN$)B z7W65+Y{c}uSOhFIV-*bo2FdpLJnU&=aC+g7d=KmvQ|oiU1_3S=WhWMLhR- zXtSuv0MMdTm9ZjDq`NwXbwhc2_DUaq;5 zQ_NIp?;*LoV+$G@(Z>|Et2d3jgRopHEkwK*9%9%iuiJdXa-Hf zVXJVUv(H8(30ho9U|al_Yh;=n7z6*-e@m6k{pFx zPXH*m$_SoVKo#!6rOI#&DCg;;a1u)AM{$Bp2bADkz#TxyOjkJdLIMD{Fb?d2+CIkMbzd~l7yX9g@|pnK9ka0x z_cF0KKo_HgfO(gdz?0y(aB2`4kraL*ev`BN>Q=$%vv1G(PXb7LnpI6rk*gd7)tKXF z9;N_ra`Z=(Mnxw@EI>F1J^Q!g@wgT)DxMN!XDH(Cc|mq3XG_t2=$&HYg~ScW;~`gIhxXbi<+Q` zBIoKq&V?>tjIMv1{qvKwfYi@a2A{Btj^99Uy3s#Oms6S5r2{T*COMV#Vf zocLZM!^NbW-Nm~IXUgOjeBds>7CAUir&&)1D_dI|>lzE{?%osfK0yTd$2X&L8%vI( z8AR^l9*LK^@R*=WP>C)Pk2Eds;?~h5%X?8Di`17eM=BIa3mVy{f@l|cNny%A}y$q z{IOQScZtk*)33JkiSWk#Go1tiMnI(PGnzda+`<#JYtN~bZEvl8w6pTj8$DyEM@>1} zA0BdjMJ60^6IyIBujjgu`%OXl^@BvyYLyroLQtb9iKqgzk4(S(NB$~)mn zGCIj(r7D4W(mN6kJJ9s#xSayWTBO5WSdmDNg$T1hXRs1p*AYabB!`hZ$v?@z$=c~Z z$=Z^jUh=B2n#Fa}(zO#1X-V7E4sEeV&fkj|2|j91I(^CzG76V?uuT3PeE&!mxDN;s zMmB9H|5eAmUf>zTo!yxm-(FgIJ)E)_4atDHQ%{UnyR)Y-hI4{I%?t3&(jjo%=C5BV zs{FFD5)$|QJ?&z_Bc-iP0=kzUf|y`dcE`I7qCz(AduwL`iLXXy2BerAJ|{^OetLt+ zl=OCs(NBuiy~k(CK1v*Du(Zof?GEq$v34!%EkJEFctLl9{WZ*JV>b8#+QyJ1rBI|R4bj*AF5B8$?r1ob0J%9CMx*b|)RWSqI zG0``Q5US21wT-}UOq-Jh)qL|e4kZCgwpDj$BCAUro$A5aet&;!8yj{o%xc|&JzG^G zoxl(ZpwQeqrShJsHqT_?KoSV`C-_@WjDt0F^Q=k6pp zCL}r8>{;?>4-$IgnD6jsous${XawA2Y`{~o(APKDyD7X%pARr_e-ff>^LxS{Ji=5i z+HTB|Y{S%&Cb?45IDcg}!r;sTLgEg##?%(#oC_F%)0j*l~u`FKK(7 zJafXEb9$DbAMO>&@Qx(5fx^mt5f!fPvRb%h&GVClnxetFrrHozY%Gjm<#`XCufC?>| zBNPt9lIrS^bfNLMq%Y7m!9_gtgRSw}IJVsZH!Lh}CuwD`072h+V|7d$WqEYjf}?Jd z)<{+`;>a4|L>jA=+4%z5)|p9?!j0UcK0z6J70V2*Rv5|Jd53?@YrN-01V=n|?jBrr7 zt4tBHu@awKI9^B`Pl_$vN$VRSI3LDNNV^zfL(6M$-*YVr;jy#~`6bh(?o3JtcCCR- z6`Et#TrU_P8_*(gtLZ94`346zrDt#N$`JbtV4UZ7=yhoiWGj=(#m-CzJ(%V2O-C%u zkBCac9&RnxrKfRU3Lr0*$=}<_nnNo5Q zRjxr~gFVi+>98th+W2ZIw<om8yZ&X01t__y zJg2^MImIzv6`cZCR99vTqLs=Fx_t>df#%cN%5b~0}mdUy6qjT4R;MZ#hgfcQ4dAi@WS=SI@ z&ahWm3If7fMJ*L67)t_~TKJaMs?ELmPm~lhmQ2FE2X54gbo?1M)3N`NX(^|65BdaF z4r^4zm>CJ`BEttEdd9Kk; zQMwxIWinB0l!}q;*dT#BA5$}{-{(-*SFUe1^PC7s9{4V~9rI*}g1idaS3LB>k{iR_ zT)e(78bBVk;DryTk9)*2rvmS09YVw$n*2;!j$U|nqGKcEne|D#U2Y ze9G%8D&>)U`=XcwK8e9iodWNEVM$3zk!b#|1aGpGhdJCtKpdO_A#T4*v>%Y%HQ(Ld zLE2TJnj0&B#%3xX1O;VWxGPF~HS3mS9|e2i;D$PfuMl`yF5v-5|5`%~^jv2Zyv0d_ zFY9DS)HLzEUU4w?5#{#G)T*O@miV_E++(^8;~XFi{%n2RX$~+mq@-jYbz&zwdQ{l6 z2Ct38sWh*@9`&Qa>Q$IhNmd|0>nm_?^kQCf3Gp+t!>lZNzn;)&;qU3m{}Fii>Z>f0 zStQrfFZWiITU!lh87@*DU38bSp{yp1lp*C$rv3!o{#Q8sA76h{W%K^}!h3$Doz{|} zeerg1qGE)IHbM838giv0;4LXi_i4@bv8E7KMb0U0f4kT?UzZv`dz@=%DZ;p|ir4kM zYFo(L@1GJ`+`dzcs_&^)x2Q&P&sKemQG-;scrc_>)7GM*`7i%>yW$O{`c9m~btP(w zn}3z?UYaXsWq4S_m&dn8GEi2wD->yOK3H?JF0-tfKRU-*esA1v<+5vQ&2d+qFv7L% zPFcAcGJecU&G_M@OOcG-EjguG2Wrg6sABtR#n9fs_~K@^CaU@u)uSSHX&)rb(|Vks zwhG3V%B0k8%aw#p(Lq*M>bjPxr{^BVaqhxQwc)ryDo#K2AIb?7HA#QUxyE zTC3zaBV9df+oB-jpP2~MP__&*jU+!ZH1&vyLfkTSp}+BGf}&Igo8kk~4cT&-F1dk8 zZCYUXG;?tX9DU5^tP;>_C3ZsYJZhgR&nNwrT)pC<#e!^-d!HMc!`HM7GhjjmHbTxA zyRhV*j7%d5aW-0wy4m$=W+qTGac{G+RxjB)Pvd1>CxyF*hc@jViRjOs72pwIJv11Q zbkOqk5yv>AZrFsWfgtf2dEblbpl*ijK)Z|6gd8pRVGh=Z(mxxxP{wUn1QVJaI!oTa zee53PMTP~`skh?a;#T0SSd}eH!szVF)LlG@@N@MArO~@a)G1pm_>)ferXh07n!E< zdnS)NXyXp;MwN8kO!1o&@9c;mrN&1;E!}p?h;B}WiyC_rcM|=2dmPgN=S01HKFOeT z{;+#0^=e2@IM(OO+Te1zYC2>ImuY-$HlzYQi*sBhj>9;K#r+14f{v3~Lk6`Ancm zBfX)>ztE`1W@Cd07Am}+Kqv`xhwYC4UK#wVfqDH{Po|!31DRFtjgH$sgCskf>e~M@ zd77CxNxZ%i_@xRM8`W1MdY=@QOWvqv7{r8BkEV-vyUhG^kNuK65iDEsYt2IR3#?oM z*Ud!IQRNg!))qM5mZ^!XmwF2qO?~0}vv!buYvwWdj&AMKvYcQ8&6@7s3;fcw=`Z`$ zYwPtK;UaRLpS77H&R#jsjbiKIlAO%PDg98m5Bd15y@iJdAADCPs_4ePNchobFy|wa z6$x&q2_xN1JnEw=vVwoIz8_>b2aYHhTbwRz44k`jnFE!gdUGOKbDHJ1i}G>ER9)6g zkKOyj?ym-Qq!q!`G#+`|f`A8~=kB7pl?TjW`91-k{9xJxw2!&T5&N}%Q74d|R+Zhl z7Sp)^L#H@R6NaY}vPm-vD>59|2GcJ3e>B;=7cOSuAqSjT_1L@>E!4zbj*dOwl76Ht6Uw zg#U~SCMts2H)Mta=Y(N{t3@rrLBH_1N)yfF0b@1Oxr@QK@h4$f;LuIgzy5%xA@&ki zzKsM!aW$+`WKUWFA)xB&_W;e%7!g>_r%cMnu!-%aV+}%p;K?;LoXR6MrBra!`JX8~ z3bdQmoL6_l{1&rsVA|ZzVU?`o@wq(XKWwq^d5?wQNyBthI{2cM!(nKWNY^S}D;;dV z+MOuL*re7BTI;MPNnX%v@0D+K3ww)I1bwpTp%tYmTZFs1l#IM=_a>VA$#Y^BHFw}T zC28((d@jo02vauszV>xQg~dsbwc~TiT|iy^!QozQxKphA^_9ch zHNr(rU3QuW%^&QLb{1s;$8Dd~iU12Tl$rWI!y5zqf~D`Y#N`8&~~?Gx_6m#2Z|~Ei4yih%Iea+*v%q zFEo2E1o`+{?=H2YW6>43m{zgJs9^n()nP(tHxv}mZ9`dwrN(~5y`so^q0=BGDcEjB z&{sLYSiTA(qAHO1ieU1>@KTe5Xxq}~+YCms4OS`YEuS&fHZ}F&=XYBKYLsel9wTGx z3e3qnDlrQS3spmmb&w*~jqKK4?Z}7d+wGcb{tgCM?_S>7he7Sj@0XLaetAPHPm9a6 z9Z`V@%tS9T-f(nr{_YeIB;W%x4Qa%Gj^#<)&XjGqa@#2Jw@6uexx}nz#kb*^0b>E* z*HSimiT?k}mcA7pB@_C?9DPRrRad?$?z4F`S)Iz&b}|PY5|v5bo2)!aQ{FF2J7Lfj z0Xua5HcaX|dz-D;-Q?3}d%nJ;9-cg5O-rcieZI@pxS6k}*$T5?S9TdJ^5;18mphIX zLYRyKE^!}KrSY?$G~MlnMAmLgH0YIA5VZ{_Hrq_y2zqNAitChs^1mVro2OsopefmRC+4-Ogy zlSn@0m(eyq-KPe#n%rq$#FosamkDc6PfeX&n5dtv1lksTSiMW{@9(q`8r#%8&|XU| zCz&Jq)1I6h=$CbnOh)>t(4lk8qdCZI3rDD8hR=%FRkJuw*v{Z{3Oo{;I3_&?FjsG1rm=F3%%W#p1 z-w-TOd4BzNts9q+dY*9{E~xp%&1AGX|7 zAswVwT;m2xiIQNI3$I69Moj0HB3J1Mm-x`{J08tE%?KAnX2U5#K|5o};e;qQ*`uwu zh@$}V(6^=?SR?gVYrr8FV%LToN@o))dLt^+mzS{Nh*i5M86fI!*^ZwMzH)INVNM<< z`n*7!w$yY!b0Yr!{iFMOB!hY|zT;X2?SjJJ;`ixQrf}2qF{a8)n_mo$?iJT92RXuX zF>+@1^xstyaJN*oVU{xFBh(cXCLUYDnY^nkLw z>yXvv&`A!IZoB!M52a@Dj^@diGUA-4Mvt>Y*2Nz5_-H^{f>aSEel_Io?x&}TEz$!8x#!fjj<^DeuL`qBH6G4GSFJ<6wm`3h4dP~|GpMDd(pFG-?6GQZhoJy%XR#hBljA&X& zjz28UcXPItDOzw*__FC9P~&eS4W7oYalj6D+!~eT%ABIne(m&DyVRk1FEF{V@#BpW zMbRy(CZKzgnO6pWfr>itx5-|}R4Lz;^qc*8L;*;4>~W^8Lm|DUmS5YbVq}5LX9UQ9 zYAg~TYzijDAEtz=W^O>QTXbn86PhralZLP>b_|4xAX7o6?SKd@d~Y`bXP}}76UiM> zQLJ3@kev*O|InJA1-_ddu?}@Bjgf#othM%7#lk;R&ILHhHN{q_?@bE> zv0USc21CUMqMs0jZ4czEf*iUt6!WQY@i3#QrFXE5meoyuq|^|JkSfq;26U6MRdHM_9JZBIpR)d)t$1AaaK$kTL9neA<|YKIPIy zS0+?hO{5x2EYBeu+J+&SyZ^t-&HpUf0P&-Z9w+l_oKG*P37g+O^Fd$H>{dRj>Rx3w zZbxou$dOZJ4#sB4u<~eBA)t)Cbx?fC$I@&SPq$hZ%CpfEjiPXWPJ_BNWyQ)t614#>ae(TKw&A%_nW-F|C>xnd3x{D z>p6dr+YKy(;cb7tvRB1CeCvdtiQ?&vUkf&X8nA_QnNJ*lEFwOYD9`=U1Qr`5~!b^$|MV?QPQA zOo;xKAWpNP+1b1x`UBKbaDA!#K<@^6=|iBmn@0MeEQNXyd}lw3IPQt+f=*BG?Cv^e zSv!=}d2>Xh z2zuH0@~0)+ad-b#yW_6DvrD;1W)!Q7i@T3nphWXEgOfVRd+ODYzK1sSm>LA4u^+dX z<$C47EzcqNX9tB!qj{a)fJp@fhpbuR&Jd{Y`px6~3qIy)uPB@&aH05!lsbeWFcPCX-}Z`=2HGpD({>Z?*qX z)SBYZl^s{I&dmF?mV@}qtSG#Sl*V*l=kn7Se)V{(f)WA40Ao|=ucf+!+gJKq zvUdd`z8MWa@{gvCjq*tMOL0&2vb9!@FB+-H*3Cs=ynXLXdtM9iZGtrSU}{`#$_%|G zWuP3*mkW+($|bnw(@u=0D)*`E(aDB^{et`RKvlS-;pAAalif%bPOtO57JhB#@NK9o z3)fUFXj0@RT$Fc<$jvnig!SDA@DC!cF@|&FGkQ+G@4udu>gtWRwx}PT$yT>$S$FvE zAW&!h6;~aWus3^4gi{UqzZiS(csBd@eYksRX-jF%yMt8CqW0*bRjc-o3mtzxckqokHO9#|A|vM6K<@e`*SCArB~@n? zp1NmXn@;_jbP|X@V~AvReY63tp%ZTSUoA)Mbj@&!rF|l9Gsz5eT)>BJTW_8#ZSXK}Op>2s!Nd@2}|- zSQlY&CEE{H=gJCP_n(hRtNOdksujiyE`#`N*Zz*m_a$YD$*eNXksX|Syxky|^;2tH z_}HXFKQEY+o)hfJTTL}RS7{*FD0|~yV;u9U#J!Ipuk@$)p9($=9M{!{E}EI6q6G6PGyv zJInYeP-Ys#p&MZ8EWR^*rx{X)4=N0(n~XT7|9wVAUzx_3J4QzwXQ1Gu83rFa9$N7f zE9=i-+X&1wn0x|e-Vv<*BORU=C~v#z8!T-LHcvrF2GE}&o+9R3e?_-xaG(rM@Y&-4 zCeG3-U1n!hf*So!rEGc zwc26)fJ=N*mG)gLLSl_I80zoY*DJj6uq&=Vw$~o1`^K8FSA=VFl8}TFN&zx11R7!k z1Z-zWZfwEGURHWV*J(UlYwt(+LS;R5YjH7eh74HtXf(MmG&CxND~l05>VoAh@jRZ1 zHDP2CYsZ|yeUZh^?L?)I6%txV_>GB3shTDUyzE4sm(M^QWCd3IdEy8|qirW(L>KFg zjuz;l;c!_>$@$AcQ^Y!^3jK|QmGMx6)D89!~ODoYzsA;co;xXR)pJeiXe))?#PSLaZ>`(cg*a_D>J@^`piEE5( z6f;Jevx1zu`S@z1Zr(zGYRBTxPp&kkuzLfY&1@6)rVMa;wp;Rq>_jjRk;m|>tsd9V z%XkUffi!iJPHI`tn9FfGwE55Q-loA8-!g_wR@Af<&TcZeDGa;s4BTr5VW%wTqpo`^ zgFprKoo3`$4927eT%KmgZ8C!C>f|2`=VHH{yo?ivlLD0q9fWK`IfW*_IfMAa*oU?` z{V#pWoQIFrZCR3XSEu~Bd#Z4q2t~bv4XJybx+wq|kaTPiu>|nqA zknu**scJ{K5JIlZC9dys5Zy4&dPBQo7UFC!^fToVi1{Z!-<`4ySuXyHMs zZGU+-W>e8a_L5+9p4XEGZRA9jfs<*8>Px!pj?_1a$^* z$R|EWT+a5x+x1?tLf6xU0l0BBp!oEzcJF4BXE6DAPe`mShaJN<0&-90S6OE}oEosr zMJCMPiIXEO^}ep{O(Kuuo4qQDj?B>e)kx%GI>T~tEv}^jPj*>dKlMZAymiF#d+!wY zgPv${w@>bjHdOP!SK}i`UOYP=0gyi`h2eNBA}htuDI{x9MSqsSBX-_9C_tM*{?YhX z$;!49*dES#PM9y%wEq4(mK=w1UIEjEr;8F9B&4kwNgDa&gi-dXXD>d14&IP&+q-(Z zAZ~A~Z=-LqJgC`o@+a&`_)~_P78W$!*W$zl(mGzLzY|Jy(vo%I8le-evKxU+vu=O! zmlCv>*>`kA=?<-6n!EUhw|G$rCDeJ#K6b6|%GlGKZLe>=tatzBc@@Os zpC+hK(4adMy)2?!gy+%|%qFP?b+vdG|9$2lIlBVAy*D~5`0e>PvX|4&xkbPdH#8P^ zvuRm5mS>Xj=0wHydmRD4Rg1>DiaxjOj*{+B3H5G|&eTlV{-$pSn04qp*W3$xa28b* zYE`g3NG`P3KklO}xSF>EH&WA}MWpKFJ!^^r0y+EqSxtSgj5s1;2L#tSMeT&^EJn3e zsyk-i{jxy0x(K^53(L@Hh+GUSNKD^Uac!K$=u^2mHx9YznVWqPAMw|elx;wUwOk0D zZi&Wz>&r7*WE3(a(Fh?Bf&n;ckt&f4vkV<4$7zRyfsa(={nss>qUs(SIR50`ZeV}Aiw@5K2ZwC z2N2Bj6*sKK*J<9D)?1E07GUsx+W+j>uaYKw4LhDk{aQy;8}7N&X#}A@-AT;qe)5$E zk$;|yPFwo~5mD#v3V}F_cskuf_z^D|*4A&2U%BGmPx#B6ZP>!d=y&3Euw5v#hT&wf z8&ucTx^~d-cfkvHk|dgarQ}=chEiZ(kKA^-aENr(cHitvXIHRIQWD2fH#u<)Jh|3; z{$DYhICB|`j+5+fD5{~GUKeQAu^p_Gx?%_onMFOKqC&UA)M%F78N02%)WAxLr-K%n z5sMa8Z$SeNrvj@loWeYiiU()v7_=*N+kHOk$ z#^lh))YEj8=1Sabo}n}VD_S6Y$0!WH?$?aC4uuMOU@ssI?(6H*E#%!~tQ=(^w1MR~ z?I>Nva+)zDc$yBC{LaW{qCw>szB4>e0XNn=GvW}cRPm^|-A=PqHVIGt)G-HKvkMz; z=&7XOoZ>&?CCYOtB`y;)GoOvyajh7}mWooq=^n{Z!JCdLa3+oD=-f!s3bvkA1K^$; ze3g}LjxNmPuGsIlw}X8H?)qi7J$cgU!E==Txx;mP>sStLWqIW)p&lUjjL2a51})Ng z0?J<>%T3Fus!d|=+bVi{z4o`Y5kOpF!67EgIr392xsAJw7c9)omA}b5>ywS5V}Kw) z41IoM4w+ite!~qBOoq_@QV3gl$g3E1fB$sEjw>@bbb3(9+N9zT=(r&n#9I6^knYbd z!R9_wgahcpr(&MG>#6xn3OpCbGCA)9SQ^d1KzO+0jXs!L$S9+IaLB(=eSdL9prW;E z@U7QnU!>^ z06vf9j^zu;LYvq{x1M`XxmD$ueMTmwg7_PD*w>2O1BDl$^65ttw2J8ZRRo(%D1Ih3lsq26o7LYA>?uzX# z(p``Pp}`8tO#CQ0ZWG|A#rBMJr$a(66L)ZhOxrbH&m$*6?PS!9%z+*^E#Bo{d~_zH zjG_;wgZh~rmXu>q_x}SZ4v(gD)Iy)`9G$vH?pgi^aELRf{7?UO^&jb%k9b-BQf2Di zI2NUP^v;8ep9?rXNTxAYV%2z4R$JKB&qlD*WROw{24|1EQcDU}J$aM&0PVya;|2GTAuciGe>IEWX|4GDZJp=2h-FbTiZ^1d*q;hN*Bx0r-KS~VY@ z=$^p--=FWutGMty)rq2|3}WuU`XOykY zkx^WS1hxMWAWzfAz!85i%JSVPP?>24G3@2Y#^wk@$yxfqM00`gkS6?#!CUCAMT{d{ z#*M6w+JO>5NX)1Mb>F`UF`WEoK~fH8uj(_%?lODZ^7AF}>{BrLOGzhT z*M`z+gj1U;DsgiS-F@_7;G2y&JeE@9=fl@T<7ln)Z>3h5Q3@0Cpcn+B+bYpwuSQcf|F} z?$i^xPNerk);BX*TRa>-YI``Enz$9bl_0s9(T0G>+{PvqJ#qx!%M>9u~9iOaI zest+x>zM8Gu5Tl=wrOuqPZfR!48S~3m0IsG>aFjjpi+BUtsM8)_YS!iFO zxBstk`@dgmzC${x)(5>m6Nh4K#E)5M%1~M(1)&!OR~w|!Mj2NN3FnLxi;#1 z`|O1pZKVI4s@GrR!h54v;oR1&|Ej#_0}1RMV(wRB$5GR^E;e93O!fUn>#LULx0>Bw z?+(8qnDLgZk7w_Udlyc+6NgCoYcB3i**$NzVG;!y?@vC^Xg~%IpL~F0XVa?D5_04` zc2SVaazBVID;GQrX$$j~Z!s*M+a^hTaW%5_$YVhY3wQ+a^Ptg{IQW!tg{M zZc|ju3d54UAOeUcW*B|ahr1OYf-yO(c9f1_=DI>*Y$vfWHrQp(Z8H4Ez5!u)ErbHC ztQgq{!utYVPlejVO(8t z9_`OVK*)pg+kdngimym5ag2OjdgmmF|9s_5S7xG{`JXs@P*|+5k+{74?W5zsJdh9? z%miYKoew7yP7kNStBQsLXNrolCa2b#asxM>9q6OYyYK0-;Q18NJWoGCc2~XFD6Z^S zh2y#ge1^9+7>)pO)Tqt>ZD$1q=Gf2sK;^*&Umnl|!3lv%`vQHU!`$Zd|J7>Gd zwd)NKEAhj9>4GOcC290o<2ns1ww@lIfEZ*Eg%DO6Lc32FXEhqCuga%8`IMp>VbQyV zCOv!2S#(e3m>M67Mdh-B?h4ieQpg;tj{^p=F1Jvr`o??6@~`<-q&crBM22Y$D@ZP z`kUQCGB!*P6mPF-jY1E6tJGZmJ{|PzKCYGQgeJ?;i1ZH{XqmSP?Ndy*hlm#PrsqWX zczN}pR2By>h|7LY^rDyemyxv=G7ZllUilZo1D?PBOIhy0=>uI6+Kvn2d%pS*lMiOimq@z*=egF`K;$L>bs%GHgjWJ$kGc! zr5Vsm^|`-G{fG7*F7kfhyRHvg?;ANq0=p?~07_vA;c$B|71`NLM#QN!ahzZLre|(`|HcgD%AB_qnrWthO?1 z-FZUK-iO~VACTU;W$K0KrH%!YsNZLuz#ej_ovcBcP zp?TYKRzhXf^3RIHGV-KjwTxMs*3ntzKkHChZ3pwd2ptI}em8Cf#2y4F_sB}o2~#I` zy&K^Iv?6)ReSoq50!^n`d&joTC8L<^9#6V;M=1=zbok_<5rbz3h~kxR9J=jOA^7kg0NauE3U#j?sF*L5B-t* znwdR9H+y!p;C)C&d7Vj~sZ~nuLVG<4!XIKKqagX{U(52xHbNUKC-VXRYiXs*{mdk9 zS_?(9Y!AoE;CUvhr>G!l-mxW@pS+~SbWKKSLsq%*{8XTdiUO;@xRi=vV-W|AIf-}{{b5(9ugfaY0_)1V}uX$FieM`1Ju zZp3@{^z=x{$jE#?ARGbGK)@wkKb9B~0O)@wr#caiT@6J*+{d%?2mlan>t zo`K2tLS)vouYXzlnQ%N{LM~chNuoKC?kW0hLe`j>BmUQ1Nu-Vls|33YT{?8&qQ@)G zcMAP)Nx7AzmM(=YAUS{3e*Kr86j%XIWK-Eew#Wctk2iqpJwY-HnxFaz<;%9YjvRaDt!hZbH)3c~QFT}+2 z;FOi=r|%;}AEYV`9zC2-`@pKNdgtdsJcnrwsyic^Gr~}!VX|&&bWhBt-ZnM>^Yz(t zqW)wCv{{^IA=_P7zgct!)B0QLU-R?NA>>T8>IDCcuadckgeN!NAXbxA?Cy~r8s~;(cEDiBW?3q>V{=RYswMCth7AD<{k3}$Zqbe{Dq z@TrmiO0({0|2cO<^pTZ9jw0ZUhIkihPn(ESXWELJs1}68 zZEMFQqqQD4TT2sW+ddOSrYa1~pbUJs$eib566g#-QCF>=Pj&F|om$e9qDHBV(XQ`r zJ^K7&GO3}S7nIt2qpML{3Y-?6FiB;;k~TTD_^ucOgcijIT&oO{)MyId@y0NZ{kb^N z2{vCVp~aTGv8|~+DXjF?SBly@So=@Bp$VQHe?Zba#Dq*o?&Tb zRMan-^d4y{B^T|N{R?|#{D6$GoJi97&M_X%zrntgMr{X_1Ff&iP1g{1Z+}JI))!5s zeZ6X6j(uTnW>yt~HFDSsd%F`hbyLLz3aHjZDYZ*tB`P~hKIo?lUcvMUcViG-pY2BX zbur0&vwKZ^nS5!h2p5R1=9`{_kNeZb(|voK=->FztP}1)IM+ z;JtMuR{7S<$kjN4$LlpAD0heSe3l3Dnz=`wV(FTnr@cOJiB*Yzf>^`g35;ucMc(4w zn&7X(I<}B@``QRibimb;gvr5t31o$sas`L`h^|d)SxlCzn=P(J{o~xuC(${LsvJvz znBwtd&8n&KhiENLdGQ#V5bC+eRM%WvEKj`Fk}@t#45*E(WX4Fxz9khx?b#bl$Jae& zq!9*7YBK0sbDMdqQ;G<;F3E=tfN=EVoU4t@J;WMK&Q2aP2Ne4tO`5Z)^S|?wFiTnP za|V3(FhQMH9o=-?g=_jia2DWBv{W$d0vgmvqsz-l%pV~45pCcC3(KV`6zA2IsFmkb(r zhv$u!H5PL;p;Lw-uF3}@+$bDUibVb~KfB&pArbtB37?3tKub&+0Cc+%AeLl3vy{jP+j zRL5Gb$yk;lPtx-H0H~z@@{%{D8mIUS*KujhiB)8oGxLt80mCz=k5NOGW^A-}{&nIQ z0|V&Xgbr1th*Ll~Bui5f-tZ+eoIkn(gx)`=;?NA|BMhC0Hbxt1n&A(GQzz;861PJt zgY!FMXr`r4%RSi{P#2A3NF7^REx9vW@v3ieWMR@B?Q!!-J6{m5U{~4h&#|XC& zeI{lpzOd^G(1o3RM~(pR*Q%eyCKm@Qok)W|@ES~7jZhEJ8!LES;3=@{+c`K8x75R0 znwHz+#m+~A8l^fN7wifzYdM^<6B7~{n(2Yh8Rsh zDf`Z(7<)+Id&Ckcp{fUU+lKkaytk!5EbF?rlXn)5Y+$+O0 zRYsyuD$I%iW!#FrYgSe%bW%2MiVrbcEC1i?lcpxIU0Flj=DkGRW&AxIb1Qv1!K(k( zw&C1mF@=B{rL(YcR~HW5ssr!tozN>urnPq8nmr1t3)pO$*prZ2k6(Vhmpo|{=nm}8 zVk31y7Nq(C*SwnRrU7lENsfb+jX4Q9v8Y9gZpTx%{Irvknd>))R^SHk5sDKpjli2h_*D&bS)B}|J)$e!k)N`q&lUrX8i z=)ewT+nH1B#zM@t@3_kywdQ31^R6PDakiWXVe-zQskG}&)&>|av(SMA5ST~4Uoc8SuGCAb0hHob42Ho|_ph!pt)4mi>pHH8TU%+yO=Tp2^ZGwk zSD*zCGz%Ruu_BQz>Os%RSD)reMzIx;Qr995V3|5D+fT7ArBu88yI3GUw0$)n-58g+ zIlDTF=Q$e?vp&qr$p*W7*MJB_omv}^jD-I zL?xff{L!=~_Y|6FGGl>@a7);u|_c7=tmgvn2sLjD&lCBHMr}Z^=s^0SXUb4%VZJyf`&}ndobQityJx9k|J95O!a=YV8 zU4gkym8`nFO=nhHXS*0nD#E|%bbv&TA$zt+XiL>U-)m94c9mUoXN8)c_#OO7C5(3A zUJIVFo0ADly7uhaR+jvrOkuJzV;35t z`d^FP_k^p=5mG@=1141SIB3&3yV*~Guadf1R3sFrD2w`HJr&NP6w=HqQYLInZFc{x z#&nZEbGXUq9o%dW2?D#@$E7;5h0G;{X81KT!;rWkeUcP5FUikrTz6bTeZR9tP9!z- zF$>=aG9Y7~)j!62zfy3rde1Mx`(9~ZTtzHQydX}qs8_uM{rm4`H*VQ_BoCA=$y#x(OUFkc)l+xedo8%4Y z-$?H9t!Iw^=sHJPlL*2e(AJ7Sre)myANEEi-u-YOXvV3t+aNR(zCcnb*I1EvM;yVj z150?mzUr6)m&rbYh~q>x>;|5{u0S%-tdxcwa{%t3H$G5}V(jgfyL`s7y= zE33TvdbtK*y#chhfMm?-JLAdG!az=yRX^-{dV8A_pEpZOcbhek9Ae>H1hoDeC2+Xg zMvV=XV$G+N&4}kg9}+H=2Xn2wuDvAsA!||mq!D0ULdhda*9^=tOH5f^WRX9+F|J*V;w_-*?o8H!8?0Diza&>Fu5-2-CY5&(+AngEGN9M!HW!+YHoGf*n6 z#`6d<1gR`p6Ggb@SXDWrL32LiG?_#XZk#1aYT=#;IIle)05;MkvYn7h-n_)gByv?9`{w9#?U*lXURaEDHD9EuF~{x8jmTC9 zd(3;eL{gN4$ zdot}(1cj&)u?oD@gE!u5Vc%M~awl{LrO)1*co*4r3t*Xqrx|m&a0XQI-^YILpt4;N zXziy?j99t_uvP$+63zNJf+5Ae$=D*cGE{g03F`mnI4q3r=|Q1ddjxXce|qikqt1!D z&&<~_C|+m`=dN4E^cg1&AmXHv_i{}^<67P({q2c z83>g8)vr-n~iDQLwZzKkyHgYwzbLz6ZVCP z2!>*>#J0)pdN!>9(^`!yi!s8n&mJr^uceUguAYSDM*0AO+nX*cVL70!g6ewAY*5Zc z%>W4M0Z@yOkS`po*f<>c7RyJT>a22-VB%N7LscNvEe_8H<{t`!9h`Fm2C(q=OGO<; z@gY0-`TiYim9Vj#N9(it*&(LiUGJ#EfI>4H7=P^vIcV_y{7v2BPYaKaq zUoxoqA7_zQI!wJYe@=hD1t})0*S~lb)7tZCwn*2T3y_ptlIT`<%Y;59+j zrX`ws(XS+Gt-6+9Gc*jW+BSE`?P-;i0@J@2G;v;%r?IhdlD1BN4|%HheBbZVH{?u8 z&+J68NluYtB_qqrM~7}BzIW4R=w)uQv0E)&M((|8rkJSc^=-Xk2M_LUdF;XR?&qQnyr*0Vu-)!@hkQS z1F)WdDapm#$L)$nf*x#I-7255*KRAMh3g!`@SS=+B^I8y5~5R!|u*5HA8Ae?Ee6Gv#hjE&N+Bu^D9Kz;9Wi(U|$ zoX;~p!w*!cbazYeaBTSFiiE@L!+TfYfGD@t!+u5k&VXI^(MdC_-nDeILn`6c-rkRF zFx1Dz^w!=E5eFWu^~_LP&G<$aPEB{grPUq}*=2_ByVl=drK{{ZAFvRr84d%=6qn~; zgFm@P*k?xUj`sSp>xllg$*^)mIy!LpWSES?4z|ls0`0JS@j!NDy0PiPL4+wyXWc8% zSB1&Ew%Ys_fQ5=H2=np20Ur=Jtcr4yzUjg4&vYWuy{f9}CWy3Zk%G>t=4Pk2${v01 z!JALFka|O_NdFRXVM_YpT-|pey(dc$OIbWJl646O|D4gAg44LPaIB?cJ$S?Osu{jV zjK26D+Z&*x{`w>={8i=ryOS^!{;xf-7|XBN-O4#n6tz$@?ZV3sr@aBA+&eP~7bu>D&C17xPcYONQmit^v9!kU95HmsY&R0EC4 zQaiH~DfQr<5M}Ee3&GGJI0Dt@aVBtm0*HH}#Yr+uM#<<{>M0c zm4OabhJWC5WR_=^xtmV|!Wu!q(@7gJ+$5_zyK>_&a*kZ#>g&2GI?`{c^LF6WwWrGY zR6A~Eb-49BWN;onk(^%XDBKhn&9wQ3sl5gHMHRWVclJjsyIbDqYowy)C`Nj>QS8fk zj__17JzaQqtbZGFM~+SO;^kZZNIk-7O1Mm6-d<83yMH+y`f2oxxxw$+l5@|yixH9Q z>;p;JY!5=zlU#d}9=9*L7X&vcX2E-ZK}}4)unF~ONJ$?5uVqoL=@({Z+7jHq5xpBc zg3qLEJP*4BnnHg-X>8SBYV8uv<`$-~9b{Fw+YF!6kd$I`pllQ*0aN&u*lW?~D9Q1c zlR2W#rjm@!y_nH?wu-AuL@JhFWr~K~5gghKoNM)MZr-lTYZuKe*?UMbFn2?V zXz5?8`1V>c8Ep;r4g*gm8sO~V%Du@04zBUit_yqQIxC3#0@<;I*|Ic3ldHC(M5RX2 za(w)rmN_DS_1m_3a#N)>ZtbUY+UnBK%5I?pml=fP^)U)m;eS>mzKAY~(5pbjp>!Lg zpeAgSv5wRS&oFEhX)2aafCUc4^nY<-r#cNKFQb}bSk~sR%!odjQnM-gGkdu}D)ssA z+YkE>*RdlxBoq||xRR5@yuCkbhj5IhqwQFu^(C6Gxkebj-vufabz-BElDanfu=TkM z_VQrzXsO-)99&rIdU`K6BE9kK2RK}0r{0S+umx{kNP3S3n$k@57Nqq4jsjFZPe4hk zFjG)XG7n#WKThG<0gI04d!P|)nt8eBR8tqRPjpz|iG#% z8H8RcKHjtcB!SS@&$eVGMXkk$<#fjJH8vHCak-)ob#ug1gb{~wZFexOmSZ#;lzan# zJr!0`;3}Y~z+VvBeL=~x_UCLDfdIBN6^GXZ1jE(y_C6-Cq+2IRTOn|2nVhBF|YcaSEIld3-q zA+xzdm!enPhHg`FAClsB1VUv>OV(>1>YtSUy?xt|8-)H=t#l;A49mkM=^ZMtT#c;w zYPEAWeO{oH;Gc6(VVPYdE?!&fulg+QJA^y~J)^ArcQFRBq*+gmQ}7glm+4%47yjN3 z;7q^mY_1|CpQle&6N`+~!bNyIN^-Wk*Jr$N!@_cv6(=~CNWjXAIYpJZ#X)(-*L7^< zTF&!7pVtYixGzYSzn1H+e|_M4UI6qQxl1}NXOq7lWG}}Fc+@4R-z)W1Ua6FcK_`W1 zVva^q?Yh5R-pN{oWv{WwBYGvNKcy}KT=KKzUc7h9h)1Ma;jgRue;WzFb-EP~EC0Zp zv#UFuC}ztgOW?8>Kf%n4Fk5!uZ5lqI-IcLP>OzmWp%#d>Np-E9gRHE*W}`-_h1uit zOFp`QXJAD#b#6%tDIlQ zStIiIED33px`N`ofV^(!km4!3&Q35;!a;QvM5mR8!idOC-44g(3S0uv&~3|k?rw=? zTaZOTAzf{m)xb!-szd6)Y}PPg9%^W40H%3*bxE~MH#70Q<8wp4jX;(^2yG*r3Gq?p z?y#>2B9)leE+6dgVz*4?1Xr(QcNg2cI4l)z=CBg{pHF&sH2(OE!vk%2vEY4a1;?5B zT2)yfm@w`0H#7}NL|gNmU)$pwWh$!o^7%$cWxB2KdHzY<^6LDrKXroIprm(RByuvA zZXQg#jY+ZxC>)hwFAR-*8wyVMcW!=F$@;Yac6&T-nK3))cG(qFc6z0Dj5(UW5%%yg zmS@ATlV5>VOFmjI|BA2W%~-i~7Sgr-6XXHj$s;~*cz;~@rfR?%0C32Yf44T}WW2m* z4JRrp0ScLowRu6xlPpMc<7dln!jNRuge$JaZ!ON<0gSk`_;_=Dv%9Y8WI`NG9%I9| z`I0ye)OlBa#+&}wr=^uyaH_~2bl4Qr`^sPV0BV*)vs1@imWia(Y=AN`(Me)}5ip1H z?i8~Y!=ARTznKiQsj#NgE2}%RyB5Wb#Zaj6!0bb9PC#d%@4);$vzwABwN3eNEu^TE zYoE7ejyVDa@8yN^MMVlf=6ihSP-Z?sDU(K(X{V!sV(YNCHUsm@Jk0-U`23%7|DPks zyPx=v&%$1-3op)aP|uJBP{sygkK~wr#=n)1Wm<=4X+B!$K3~z?{g}!l@*%pL7}fp3 z&TvbuPvf;8slZRI?iCh-FeMm{S#M3FpB)&F(Rl^X_X$pC8+AOWAw89;LK(_R@*3t^G?tz!4N=4>b6@ z{urji^urE7>v6GhQL3;|pe_$Ejxi7MH%{CY=kB@(X%UaFF9 z`SLo*hrPU}B^fszxi+iP7m%hh|7_gqFKX9xxJ|hIltRV4Bf64-GT{&%la=#wnN+;G zWO|Fbq?C&C$6y(Nt4wcgcnYZ&x;GjH+CQ36^p;i0!dem#=`RA+IzRV&)+Pj_IbL?f zN3cX$we+@s=9^Hsw8b)^6CgXa;mhC^HJd`Ea*Zi)2rXV|zR{3;;eA{9_*3~`^omy! z8-PnsBmm(QsR1(-Pkf7r;RrxNoX1O1XaU}26HES8-yk)>U1qF@3Gl>%44D%Dm&?(8 z5Gnjdu*cACj*4=m#hWQlWzk3A{Y-}GGe!2_?-PC*V3l=%eCi{m zH@Cyeom#_p?fG=M1vs-t`kd0Buf;2gTF&5OX^;a>-Z0Wly;^5vVx^V_oTO?>CD{&X zye`>#+&6ec^|ed0nIwjA>9_ju>G=7SkELlh>0K1#L_^=m7uPxTwv%{YLh^?oZ&X7n}~!iXn<%h;S)TXL*7Aml!l zbsds#!r+|nw<5+w-0GJF&s2>Qp}Cd{x@C1Of(H9MOR&l~gEZh<*R;>Y=RSau=J6tD z(Z3DiBwT({?Zm^<_TD8BuEgZ(cq_v>ZF4@N-W_cy0I(1TZneakixaAh)uSBJzyUSA z?#hFy$TN-oz-{?o7m4GGFr*Q2zNT@M`t_IZ5Lq3I{Nl;gaWZ%O)16)jCt2P2cM7>{ zJc#mh36?j)%)bPaUQO0rf`RXKrX3pYCGa{vu#85B9_o#{&>`-w0F0t?*~2oveC~Vj z^5UmG>|Pfd6s0@{iBC9uf_#&Z_;CpgVXGdn6!u^Bv3$~{aBigeg9}`re5b}ERpp9} z&%jYcZPRYT0XJdI-hSj;vTwVc zQk7swT!DK{>DT;_`Pg&2!yn$S7lgPYUvm4Wn3w3e59=Dp-ldWyzLVL-H!7?ZC%cjR zJ0HNsSrhD0=to?Ah=uTy#Use3t3UkjPH-4nSS@6u1d&|-nBM)f2W>jruA zHopLoKbuN&I!IjgEJ26z!Z9~b-qu5tYZ}@^$8)*C+;I_XTlZoJtPx!SPMEq9ZWQ=Z zv;pepoSM*3E#Q&rBd4XDNV@Ls=4$)Aql+w?Ik0-!+We3=Lmryx9r9!D3%_jtL2dV@ z8P^Z@2n!Z#V-c1=y8?#z3%CjJ(ZRg~F1Fu8N*o%zQxvaY5>C^t6ZtSpw%d&I7HRpi z)e?>-4supzWxA5SSMzim&xp__t2~DJWl0ua1pUyS+zpn^pWcHc7jG2eI zWqP;Y=+1v|S)obF5Aff^BJ0FGKVAfyarCPuCMOGdFD&GOtAL6vD@8yCja4K*l)D=Y zO^?{Nut3CWYfsk0l|%X0)e*@{rW0mh(US=qQ_bcYo{Q`y&C6V)o;;bmTApDq zcIg3fkj?3%7tlJrZ4uUue%h=%fUAs`PXewd7O}x}ec_>gl1&M=2lkqpc+XkV1ZMOB zBr|gorUQrt6uY!D9Xiv{VS?_Sx>-q@Dg*0DEM&K(C3Cz?QlbvXbRS5#an=gDK2|rk zeYt8`_TJ06Z13|vOfa*D$N%fAy(vcvs%r!JW;Gb&v z7KQ)P>{h!=<^}(-Q+Xx$Bid~mEm|zgg$6Td^}g>@D}#;-eIj=NxQ$~UZ+*&nw5qQ( zGj(74|KaPc1Dfprw*Six1QZ3NO*)j$q0%|JLplf2HQ1#{3#fEX=^EXsAj~mBx}>3=@&-vU=4J916qpYBK}pZ^|`ux8DaE(7LmFN@-6NV+9p#vhMSKw(6G zy``u(B%IbfN5m!zYrjeK4^>Yvxhre&OV;AOY&~BX%`|;U#Y{Y=PTC`_nq{ZS-ZB|+ zOQ0U0lhd$A&M-HOVL3`-{&Ecd1cdA;-e14n@UXnJc4U-81EX9JyUucG?rhd=_YLAy zqGVQhWFltnfao)V-ro{4&bGH4H{}5rL>=y=M&a{&3}=;!0kPp+j{^4@vN#3c^~st3 zCOiM35wDpZShpb!Vq=-L7rA|3B#q z>;F8j%Bie$MfT2$sCrdX;vI?yg%>|^1d|GCTn%sI4q3ITw`cH={-~OkXXwO7xi`&KGG zm*HyvYJ-FM1q-8q(|6R_MC-Yy@EaDXg&E98y7k0oEg2aFqnh(`EB#ycGY4DYbNp|_ zL__LLO<_-Gax%>Z{R%l_>OvYcMEn+t?Pu7bg>kp=>JPD~u=Yw?C&VOY)0XlTH+k{2 zD9e|9mF$*WT?SVB;jZpp90n{%mcESJ%KU*OByWhzc97hIcT*_5gA>q$+32+ym7z-VQ(;;~iPkEW7-3HHvrFz~d^*pm!_FiVE){HkiCLMqm zh5=-=wEa=$m8M#+G>N~Y&c$#_Ir#5ImTShnqt~*qG!+rBcxxxy*no4D2H1d73oxNq zPKV?)iJvYxhF2~Gk#j7QN2JUuyT+RRfr(np%W7HQ=rtFsbSb^rM{W!JUGswjGxM(e ztxy-Ip|bMTMGNVsZMSC^{-ypnd)FgB2sk+{nm@H#J)Q|zVG7n;pz&2i$i;qdKe(PA z)M)e#g<+TMrr+d)j9m4N4s2)_oY)J0lkZm2eu*a9ZAt{K6l)7fv z74KB=aqaDeng{Hp*>{+X)r6>a#%;#3(=(0y=6IYov9)gg8w?5DgdOm&T3*6~Q+_`rCn~d^=cyS2!q+N7V}GthYXAtn4JbYvjsnw{Z{aI6jH= zK@NWyG3-{ADzK=t(2hUlQBGz=BrRB#yi2AKI(nrx6g-x^zi;|dP-;_ziraLnWJ@rI z4NB;N6^-tuXvBnc?8SP(FKK(&Sv>4~d%?tELhH!brPp>^YjFJ~4PM_0trskD(01+Y z^YyPAROefa7cwRYN%00PtU(ci{1y|5euCf^Bvu+#fgb-ZODg4im93gl9#6ps|4P7S zSSUBq=oL&q*wqiw!7*=Pp!&f$LZFO{yYpfYg4cLqvb`ZcOijvz!Gy(@XgehcQ!Tou z$rkhQTY&ZFi+q|c8MTNp)0*6^J$hhqz2jWg?`oEYpnhfxy5Z;ArQ%^icw!sIM(I79d(5#2Y4`#o;7J(69db#mR}J zJC9OAI*j*a(k5h@H3-v#S+!sRKnxDWhyXw^KHPh+khsvsvpKs}k?1kpKB{WJv%F|m z^wn8F6PQ$Ib`J_n&!67=PF~u7ZAUa54_)zUfbB)L`U~PGw<&gPE2K`=Enz;u;QyI% zG>01Cv;llA=^W7C%Tg&JHRPCllAPKF5czBVl!;|SM#f2acDd>Fbnp548!@|EwjNTZ zLHr8?^Vw6A#F{w|iD9Odior@f{oXX;&UUl#z+@G&Z<) z+eoKmS#o|ltL)0|z|{2d{Kgh3(?@}hU2^6cw^CZoy<-m!wG^KXUtb^JqZe+jMt=FT z3jJ1#wshZDUHXIQD?8xSk%h8DtE<$S;(s>YUu|iSt?@klZ+Zc|?8%uUUweZ=R_n2J zWWX~#h)&a2b-4lAU&tvLf9=*_f`V-mc0FzBxTR7cgu-=o6aGC zAFc-02LOPo=&?P0cA6IA2U&ePS&r2|`2fO%dyE%HcIF)Kk*`OFLShZ(vzEETeP2K* zm2u-NZFd(BBR3fS&rm1zYZgCV{w5XCg#^`se~#R*`zu_@^jqil6)gSUL_>tWVwZs5 zfnz{`#GvlmrYx95+?!?RRBASECuFDa73ZO@Pt?(&pK`Q6ZEDs2LifBim*k>yQBLmF zZU0?lSI+Pw7G0pcbAGH~{6jT}(pa)}eNufQWc0G!18{&N4mjE}aeaQ6-h?blh0!BB zPMBZz*|>mU#nq{d6@JdFcN^Ncn{RPj2&Yki7}Ryjn4bJu`23agq%eVS)h3V6J)wVB z=;2j_VPpTM&c5?0^ohxV)0}+md7f#vb!U0x)0^^QvrJ{*3+BniO)o@mdT<>~E14-- zI<>)2wYeGYt>F3)x_a9A-_P}0+MMv21%rdh$3=24`v!}9o*=ZkvnAV?gNqmEpF@0H zV+@b=SQ7Sm;lQ#UH{mMQ&tbO&IBZ;npJlB|#d?hbkvm*n#S&lu@*d1pEKYiW{WA=W z6G?I0EnNrJ{oRFMP(fAcW2jE1hRc`QBW1bjC)RJDYAM1#5o}pyqx-221=4(lN1k^A zhTVdkjyyshg?lTtR)b`Hw^$#CY4z++Xm#`#Xm!jv)q$2?0o&WbCU}(XXYKTQLf%!j zU=Y{!R9g@O)(}^E*~dv%1Q2T-X(M-#l5kh^zdkiK?UtKCb1D-ec2bI_Wq-emJgB#& zdq`v4^x}=E>$@U9;i^b_ElyQ0ugKvtKG(O#XsE$BGU8GU_fg>T< zxgS2Bowb;-X4MJWGGSHl`H^iEzR0-mzw;BEx8sY!jJ62of`ZCrCiGb;(Z5scp}FG# zZ8pVo`q*L5B^MhTAKbQdIxTf=q&1u?eR?RlXF_CbzQEgjeK^0Y-mgmsqSEG`-VB0Z z+7Q&8)u%Gy9{~_{^O^2cPzKoFvK2bb~129l@ zvs`9}lFl~ER)J>=y5@)h)u}9m0w~bINuRTjYt}!>V^tOOryXt`(_ZZGADp7D4B4`! z=#jZuyzKSepy}+_1-+_6k6F)_aZA>*n%9!2W-k-{;Ayf%OENqjJZQi1p!B}fYulU# zEWK~Bn69S0y8C!`cGgUH7y-JP#DXV1qHtKWwICA50bb3Jt!7KBuzMVM0D>3u*X@>(_vtPEz366kv>h&Zu9;sy+Yh&D(%1hj^3u{CJ7~Ev1B_o&4%%J{y7a38Xt!z8+I-+-*5!mF$l9G2N(+)Jl;mDRiCds&NwD67R~qbCxM z_6OS}1vq9T5tNGE^%j*PhiylRxAMTweAH#nR?}>X2IIkgh?s|9)aJ**IK-F zn8)AqCKW=pwb5ompO{iKUcVAlVF{zT$|06AGR~LIk~`{Rt=NXD-4Eb~=rS>#3SZTv z%wU&gvwBy%0wK}JJ)IBz5g0Zz%dcP2Gk7J}4nD3S&r_MRSzoT`&3xgxcURljk5F3k zDwTfPH?IVJj_;Ms&DREKj$j?sf=BN^S;gwvq#6`igIO$h+ecq*f2s$TFrMJ+i?+_$ z;NEX+&Y&sBza{(q7_mk0P9Wz(*DJe#@MvPfA@r3XAU4@=&rX*UIT{0!Idlo`-XMm@ ztia+nP;k)S6ZiuQ0wOh(s-_l6k4NI{C6)b0fYMm_ZNj?8r~$J6D4bxcmdun1HaMHh zK7ED?FeKQy=YU;6X}rR!Bckv-i@Adw3g;5~I54NG!DFBJHw#w*L5eI+oCJ{Cwt{42 za>Lixm~i)Tj!fkc277#^=kp6Cou!N`pCO&75_bin8K2|5>s9*clM(2XDt9mMIiJPl z#`O9pnkx}HX4@qKkR?B!jv(Cn3RoUNIAD(NJz+X*qIpiZ>LXu&f=6o(@Trl z^_SWT6(&5FYdY$W>T6k?6~-=z*9q74-7AdBZuz+R(s1-svTS`qoQuhw4)lX#$l_KQ zgA3z&f*X*o?i(TMOmy3IC|2C_sNtJ)YiN%3^H7BL4I74&HMCR zY-ZDEjdrkQ-M7;-e0+R9lBVKvBM3+96L(UIpvo;^s$e@SdjE6-7cQP!ma?3Zy$;Eq zMECsDm6gZo85!{#dFZoYZcEA)GMfks2v`#Te7~$Y+Yu}ycI#|u^^sZ=2Yy6HP=I*_ zTQNoz5#g<#CK}my*wl|Rwlxy)u+OK=rxj(sZC{Jl$t5=B4S(knjQg}(3%`BVUHaK| zOP1+9FCSl%U!v0DIvG&l-WIs_n3TS79{Q9?(`BQ5KB%mpADYYm6{1FInlTtVKtcC0k zsh#&nz9nGY=O~APzFUAzwj(aB1`J%R%@ksAL({-mYQO;l& z+kRWqs!uw3wr=F)2%Fc;uP8aMAfehEUjAVSM?@Kzt{`!rP3p%D zzsfYaz6gfu2Xq~$>_;6pLTj2!Dl6W;iVHL!9Z;S<;TBQ|dF*mGxgqDSx(}Pva~4az zZ7&3Q)Pwg_z9LTNX@2{n4~?7V2RP&KwpedlVJkSg%3xk#RFZK{DKRM2GYEX>w9z4$ z#VnS?ENgjnLnMi79WiUuS-a>jsx8y&d&MVCQANAMLi!+SU5m~^cVAm{YO>lqhnSuf ze%vdbCbH#Fg6$JCUC3K=WnZgrj8{j1_63#OsPx|e`2dgBjmgZ~73a9V0t+uB$oo&q zqwdso6Zn;<(?{1%RpkjT8^{Z{MEW`Mxs11Qf_krUW-mNQKq1`Q945AQd^ZKLli_Pg z7Q`l8%Q)|Ij{+!{erBWtMo*2T z5xx2sC4+TObLOdS6FYiBq~C8?S{W~MmGa=s&BM91veY;S7R2FYa|^XpT*FR~NSyJ$ zof*)qOeb^V2vk27h>&jL&s zv7YcsInxlu%kU&UAFs3y!=wqJhkYC|LA>$(79RY_621i5O*ciV?PE=L`vzKd`Hk!>2ags>_iN;9FyOhijL3IKKMgrxG?L29W3&4DTckV zf&OqehkiEVowlUrRxpBCm-1oUpj=TO{y)3)0RAs#T1tcE2i@F(m8*b-u2!(0bEl;D z^YNM{D7;+)1lqEQ|EbRV-o1N7RojvYaBL=VZC=_hlKCFvq9qNEL#G7Ez{V_emno%+ zrA4|=9%`pq8Iz*8$KWR??Ujm&XpEvo7q0EiPX^)c!7s)0R3(-Xk5+;xNX?KKxn z#TaM%s-lLN89G6KRybJF#dOCfoO)Y@3}hbg z_eQH=u==vo0|Wr!*5)S>p=KSU78Z#I zMmGtTMu&R`5I-nZ(_A#Ii?{f9Fbs{;^WL zGOiOuCX?e|^NlA2pB^#!0app&Qa}j=yaVgI`e&b$Z$8}=HB;p7YDYngd;%PVn3|oQ z7UE56WqIp{B{xWr1Z2if5b_B;#0CF1ZtJ(d;0$vw7d%ey1M)dN^A>#$%9Cp|JFtgXMO z)X(Mgez(;GWQ{dgA;IY2EvZc{mc^MrFgGBx71G{x< zy!tUlM+#4t9?Q8RE&e43{PUtF(0LSQE(>GM*JJ3%$_3hGjf0!tTa0MGy<7F_BvQXb zAdYo9>9Ok5^J={hR;#Hz`wu_;eKeJ2By15N=}=5#_uI~-sWG_eWgFi&%ILzx6(RHW zQg%Kag8U?-)kwrMuUMr!>MH)AapwIa0QP1hbUTHMt@31 z?~{j37s(faWdMUebAP0)bZ?$DXI1u$J#GMxb^(48YI0$^`B6vf_3D)1v@vm>I7EZm z{;Hz+?W33qfVm3tyD`J*!oF#?j+fO%=dZHZ@%5=p^zRXMw*{`pW%PO-t|f~|&upBH zSAODOI&ozPWLi#kFJ^vLC@fNsp}?;^TC5dw(Woa>CT#fUN1h=Q0q#dFu!lF24zRP! zuXU;5f49)rmsV#;!B0NHsH#s{@Y`DvKY_N5Pxj`d0y9`Tf=|Xb)BHjouKQ>&P{lbX zBrL9^HPtlJsJm_blQ+kk-5PQ@TA9q_(p)|6Qhunqm-8cZ1%rLCog1;fy1Vf`jGPQ9 z<2addhZO>IZY!cOl`M?h!-BU+Mq8s=7tWXz}b~Xf_ORBBkwF9AGGjH zSq=K&?L0qZGp!A=9Xo=bL#+UqQot9s9~3ZO|M1uz*)t-O0RF2El|@1C5`D3Q)5+!C zJ2a3uhwaF?!(&@H?Ir!1|911E8C9%n3S!Qe{6PF=(2VQ$a>Q0N@Ko+WK|PS}FkXQr z{-M=_@TnCWI<-}NEFca`7(`Lu$ocALnZXfCZ^yD+B_$xA@R*6?N;r^|=U)AK?J{;S zX!#0XX-JK~AhqMX|FbjSY|!(Svk-G8Hfh*az0%a;*@!V!f@0h9j@=6PvcTHcwuHW~ ztamtEmUE^l#OeK)D!~~ zLsP*Qu7{_nJr4pT2V()gm|qH=y#ofmxoZNJsq=lA=9`EAIs5qUHRR7dDD<1<%V9e4 z3Oa-Lx6&zdIX-buS0rii&%OLsRkt`yS^hHj4u5Z5a(cV(V|s_*NmswcqqSfvA2-(@>dsKwMK@J5TTy@~d*ZQ~L@ zh-YN-G7a|dW-DBofVU>0kts22rdD0D;lhd=3T{o_G74Bx?uU2uo^=~szHi%Xav6I?(_Y@V0pWaWtsLj@aQCdYcP4$&w**!YOP8}aC;^#&l7wN!BmsaI z{$DCd01=dYHt^XOI)XWy^=j*k(U1g!?kT%R3%dGjWmnOnG-mH`$M9t*MX}Z`F{U*V z^@5W9Z3f9@bae6ebB?_xR1+I5{JI^LmOyyyu0*-4I}J!PiVLj)qRuAOn4Nt>p#GXQ zFnNwG{~@Amu%D48BV9zw>hf}yL z$Iw;xIYbir4azS1h4NI?8-fhNEBCmTT4J z?eMud;*{G+eO0Y4kKr#e-6%GDih1zSYMx@>LyRTkh1?j*#hAZ}58E z{uOfSG2>5ZJ3oPvgh{Rc%3?|BcEx73_dn$~vE`OeG`<$36v^QroB5!AqIZ6!vfoTR zKsRx(R{98a?Xm2-Y^}w!CT6`$9AS=v0OITxHP|zVwH9C`9>9oW*ErRTo=vfl6~{gu z;udf4yc+}ns~g$JPc|{1RSP*|uB#4oS_bc_p|lL0r5)gmbpSdk!&E zUH;aI8YB}tVE<2o#@dhiU*U8xAD@-ZEA;ex>n(?%&ocm7-=wLIS4T|dLCsQOvRu#* z7_5TG&-2VvW9y&i^mQ%tuHFvSE12?aBky^e0Ucb#}M#D#qAa{(uyl=LD{AsUv zesC^0u(iG9Ff4EZ#iL+erZ?Uk{PC`K+~)DF$4_;uV!`i2ME690LEc%Lt~;v;*w;Rtkf~>wtJy!P#~C^YAwE_rmu@9F6u?cfJc{&ji&C`U*)dYPL=h`xOusU9)Kxk6_^^HmGg+N@DI`~>?uOqO*{ap@{*(W?& z@siR0tZ88DSOYe+Qx5`h#fSIGtQKGsUiX8YKx;I@V}}?xcy)3AWb8X0WpXaJpQBEY z!^!16IUGP6L77H?p^+C<6_485|Dgkh07vAZ4T9wnGrxe1al7asFYpqJv-!2-fuELE zpHxo_0Ahzn-8`<7o48k>5$G4fv~~Ai$JZ={Hk#19h8=uADG1zz_|t#r)`D6D+2@%h zw080rn7zI4{>rvObB)Kfh|{5$&n@ zaON>ROXSQm{YIALiTu_$J7ehyrewYwJ#m!uDO@Ayz>5&XvDNtAuc1@u{| z`r~xgH2?%BZoXSTyKc^2oIcSsr*BB6a21<+H}p2KuCc(I?K)5POda2QR@p1U1qX>> zfzVEle9#ZYsnWx`X#bDs2^Ty4Dm_qJ;-a8{_G#HvG)L}!{w_vv$tLHwlP_juj>Z(N zpTvSJyb8zS_Bl7dQS?mc7@QoZ!oJceT;WDL0`iKraLk0krAfF#Gr(B5v-~5|KhV$4NCYTyNv-L%0hM7K9AC zrPX75vX2NJxPU(dmGXEUEh8%@CsbRm^mR)zlDs#0?J+#dR7l8$zUHUvmz8}S zFq4{I%=fTHsiFDJ={Dq(Q?4_$@ls;V~165g9hPetq;|Gp3igE|{` z2uE}$U^jmL`ZjM*9LZ^ej%H*vGYyML}FCXg*%Q@eBkq{IgR1OytBsu~I&yX=MRj@mLYbaRa`4DI$0XW%ZK=KM)O z{86SA5H+k8cc?Z+Vo=y)TRnhpO(786{$iR9Emlr3b$$S~_SQGgR@to$qmq7yhS)mZ z60^Ql4GeSn>7`G~7#dpS^jjV0oAKSTtr~2_ax+Kh^95fbAoQI`=FW@>87hSYuY4SY zJA}`}V`g;_$V;9oV4+hUpd22zBzzs#8jcO-NZ)X_;7sX|G^?$k@>1H@(B{}_PLCt{{S!kl&1f` ze?X;`KgS=%{2sF?C^Sip^pTAmPT(%c`+K}Mo z+sBL$DfHvRm+g8f9pn>1m8mQ-GTP1X(Wn=X0;c{lyZAiPuTwr%lF z4fMYMy=|i2YzxMVDK_mFyF>5cUGM0+8Uj|S;HHy2(#l@j4%u5o&aub9A%q`Tlg6@X9rmzHs&CoKSD*YfpuT?+QM6cLx zKIxB^-C91mz< zDZ;lS#mDzVYJq5DBfQuIv40=t=St#9;lef#WtJc5bEaNNXM>$qjgtB1MR-GeR9$Yy zcg0@isKI&FYN?(E<$f8Cm)*L7kr3w5#V6O;L`nHcbzCjjc$G6JOAbioKv|25mdOIy z(he<$DIIsG=X|W7PaEp%t0|gY2#u{j)|-^8Dg2uq;JY58_p*olxRWYK3+ne*OOl_RDe%;xyo2y>EF}7w;X^Xm8?qSFkrG z!rT>|@>@q@T6Mxpc%pD!u3N9Ub$;usLuSeT>-<{+FHK51e3=haN?hlv>Ba>OYAaoW zxhhEKJ?@&asU07EyoRgjjT@nd=+$c=y>m_C<$8)MhUp91+H;NLEPD`zKa`vn#YS~B z(QT?VEaM1ND9+b)SVz|=x?niT#WlSmK^xiq>s_rljmW}l6IDhjb1gO@C%9N`XX?<5 zW4bH_chGUnQNsS()v>7Fnp|7Pm@PgRP2+F%233oEC)&I3vQ*Kx2W@(Om)6h39dDj@ zmS?&!!gvmH_)ETAQ=;4tBvI1;8{ZlnH*K$i0qVfHE%joT5i_R88;o001)F%eJePEE ziO9M*{05pKOWV~?#c+@|;+-kFh;`x#+_onRTu*>b5NvUvDIZXAp$H-%odGBd<&arm z-*#Uy(U*4Kac(UlY^ z-{^u)8<`nPxdk4UtFbh%mI_R3d~GJ~X2!fnVf@+X3h@DU=|_`TE_l@xF2IRj>t(2t zC;K$gu6q#ohNFhi1>Sveed+o|B@*g0^bIGRF=CLVG&7m|L@=cf8^6+-WH6=7Wmv0s zI=X%rltH<^0%Od#xNm@9`#^FvUzeIPl;2;cYZ#M-i)us7luW6fnbzC}6^xl0@aPto zs_RZsD(W#<-}b4yGZEnosi_m}^hhGten6a-DQOTPV^3+5`6@h!fym7dPLO4>a2yem zC}`Id?!6$W${^T=BkLVHA=F(Sk{fh?!|q?V&ShE~B`$dH!E8E@uPxH8*{F~ke#77e z)f9g^mS^Rk0E%oQ8%|cze*i4-Wc)r15hwo}7VUaAgFn-&vXLr)DSZT4Z3akSLYfd| zONLT#WK?@yy+5nHOK{%}mBTe$YKeold@o*BY77h8m-ZMWY;&yE;hoBkZlsP&3h&g+ zh__OFJ-)k3vPLknr7&P$zyCw-TJs9@wOVuS3H~n7H^`6y@vDx_PoyV6{hgAp1DQwJ z>aA!1slMUb8oVv684t$eSMmu^1HG$U6})_j373V0fLzryHNSP|A-x=wJOFm1Z*Oik zDaEpob`Bu*9dczEy^O_Iu3YgB5d2j&z>PWNC*q<%JOG*#t-k9ycEs_N4(#Gt8qpG} z?Bw`NpK3mtmQQ!Bw{uQUyF;Gr90T;5%RaV1B&zoOi9}foy+-mIl;-Ba@|Q5# zpo16|z(LSY65tP6clw;w0#J>RI?YmBFS}IF*^O@_Y9K)80lB(_q8*ZYyRuww<|AKu?pf!$=bgx)$L&XEZ_TtlA;l1sf2qOC9MoFy_@s8?&W6r{8_ACh zVZeqZ!cI2DngKs(2O$#MzM&1xv>3C9>{eT!~WflkFmAc_l zZ(IQ}4QigKu2Wwq3|Y5*99PA%Ze@xetxys}*Hz}oYz9xq>IIMPl;-Ip;pq)cans7< zyBXmyjd9HErf@uJ%NG}*xCSq9;q5X(Qu?s$?^{p}9|xJnY}Pkx%UL*UWbhBxn$)WD zZx*3_c7w;p5Br6K1WXL{ZYYaQIsk2IjK!vII<4`5#ZI{ytY)9&@e9hM9^-o?VdL5FEo*L)lHYOfBLy#y5_{p>#8Dn8K) zY%P!u-Xqw~)VTl|HH&kBpX?Ij9II^7DDf&l+b44!0RO~0&0PUPcg73noYKW=3v#Jt z;g61mu?gnKMQe=fAtFH54Gl~UCkQXwz3S3UKOM`N*2Fk{&*^bvW=ev<9Sgpsd-Pg2 zn~GX3Pn1jRiptb!m*{UlVXvhfE$n5V`9-gAFWSUqy`AqN`pLSBU6IN1r!}0xewBiq z>jxPN?wr1Uq6I&0@uc3q&VFH{4{4eY8N&j`z#>DZk%?}$n526-RcWm8|NT+>YxYUV zbKK~I&qMH?Hyv6TdkauNc=9*+T+`om^;hffsEqHbeqKImRBOr|uZgmMy6QaS1urX( z-Vv%4ADF3H+R3d~4rJzFjWCFR5|vZ-_yOePJNLlH@uT0@p*e-`83{KZ4onB zgu~%ojQ!@rKTzf-W<=*Ei`^;}M5K>!BJYe1!f%Vnwh8NP!%LtgGWBsMd_I(}OQ|%- zVviS;gfbmV1Z$wFYxTSPVZqik^|jSYpeQ8eC7&wcJ1g&X=yQ(uM|(BQk%=07S+%$0 zg>ov*izPpNR0?+rc9dEj!yT&}cWeS3QWBVw0EFtb{Uis<{3MSW0jB=GE945`0Prli zJ1F}%xl;NFmP$>sWOI;*H2eg%5oB#-A&}A14`_ae{0!D}=OWv!rk0 zaQ+R;zcsOcDj<`m@v=jbs-hLz6PS>fjVQ=wI+5n`Se;bN{G(Te^T$vahWn$RV1*7g zPCK)+Yu@j2W!WQ{2bNIJ3otefO!kXPQ#-p$t&0%5{78^QgOZXGfV4-WI!_LPb@*OT z-An(6j9TvY1H1P2V7~RoGiU`vIv03*(BZ(^r(IFoEIo(&WK?>Qi;GLXDDL-C-wKmO zcG4M8Fs-S>V6Cz`WIePZa%*l&3fS9&SAU{s_fH!gc%HSeXVM|AgpnR~)N7~Aq% zi@zFBh5>neej^@ESN_u|_OH|L&s{bS5|3=LKtKA@`PAd{>l$j}qx6ri8i;)Q_JU4i z$9trf@p%$QiHh5Uqb-962->QGKKG=2#a(A3s|VoQ4I>vzL%!E8zMvU>p7@xT=en5w z)6YfKh$O5~!0R=^p6d^-UVDuFOHFq4=;Ha_N$`-l=z9^OX zn6w6LoWgMw3%cIrWhxb0u{w&xD34%mqTU<^(>QO!l7vpYqxfSOxvyS_(rPy6Vyb4n zv%;omWg`2HP*+{1Bg(a+{XlvPJ&Fn5Y|aSZ8xAR<+z}b?;rU>(P|zNWQ4i(Q*~r7W z+$Ok?z)oZ_`7G8pu~-q{Y_#k_+9l|)KJGjlIYk3Ibt@C#QTQ*+KKUqx_U!Ie5;^~< zLnSYayuQQrzZIF54cCBb?l!RJ-_rmR|4gzFIJ^y^BOlk4#oP5`4^Adbb6|Fleow|d z;+&Xndym>T@6 z2UV>bzQ{t}Wax%`LQ0B}e8A%x!)yEt&5t+w`%Hzr>=)Pur;_r`IMXgAP*c}5PU$+p zX~FIQ=CH-j+uz&TSlPHFubQ9Ry_(x^d;YON`YF)Zd&WCe1B|8pH^&7G`|~v?C}RfLg31o@~HM zUNdcw3EBJN3KV0AG;^HPOngmjSfT^H!R${z)g=Z23pU#mtZ+@O4%0axa#vyULLfoP zZU+72`Rd=K-(#~mZLlG+)+$FJw-k|ipplmefKR^QP>)#PKBLBW)7)uFmkKIP-kx}u z^}5+(dymTxPL>rC|8C)n})7|0^5Z0N9l1!enuW`vP z-ya$-=z-hUoa}GdD|Kwm9Ty^`3yP_mkM)CsOJM2!1-=c0{zo>SV>CMUtKlK*>9EA% zjB<^aHR8&E<}RYXow1M);)D_PMlIx<6GTuATbsooa;GOQKW_L6<9_SDOIC?r0?Wwf zR&m$F=H4e$9V3&|$HqM13I`%QyPP%Iy4qJ{MEG*^rB;@t8{S#q zUWt7Bs(xS7whWvQs!j!qFvS7=yh>mz+i%y9R5(_nmd(y&j!n>5tm-eQ^uXm7j>UOr z%vCr{?1+${)oL=$eH=4DumlJ*$dLi!(Fq>%;jNwcJPnEfl!;!Ju_MX#wa!eE$qUJD z)r7nad|)xge9&74C!#XZf{I(yvS1cf4PGH=0QnZb9^q9I8ht&COiz$5hC(JM9R0GJ zghxJ+?rID98|9)iy-wL+8Vx~sV$%!`NUT;V*N}9d)0yz>476N;3Yr&Kbg)Zlh&ZN$ z@G3i#qSf9MRp-5)%ZITZNr z)>XX}JPUM@XkKftyFl(!nw7m9SXdQ&V5Q}7``9md@tLlfoT;m)@JtaK#HqodsM%Q* z2hI>k*V?z7j9V(TL#=D58cFwrQt?hd8d=4k{Eo3(tb1a|#8vN(? zKlm{@d&OAtiUq+fD>nPY_+hqy;sK_*woxy*v#@HY#^^d6>r6`zKjVxud!C3?N#KG#G) zE?D*vaXK*o(q?gI%3%Grv}r|r07Sju#>8+hcDFt|T=_6GQ6uMgQcyLh*@D7hum@6| zPo!QUC;wS-VcasOvd$O2l65CqAsc5JAvT6zIP#9fscaebspTLAx#9~JmP$v0UjSC+ z!r?A*uISBES)cxy9?&WLC;7vUSZ z>XtpEV7h=4u)GU+4Qq7pfP&B@)>|hH$YTvofk2^!9oF+yaX|3RSx&gSydT#BwiN(U z6Jc9Y<_2_N)@;M$GC(!XwEi{3{H+X@jUtJE!)8cx{Np~-0%m~wp?W|%=&TOm+dizu zJLvtI35=a_=$Pc-=RJ`)8gLy3^ZNsF%2Jeb2*fGWZ(_BuiFNw`U}~5qqN-bGW`H71 zmVe$x$okj-clpHcIGRw%HO`KPAqGc|p2)JP6H5eXfWoUUX@xJ>wV58w-x3!8k8>B53YHFJn zm&E4c*)p{RWr$pclLP+aFvmGM9uJDv9I?_MJUfOTeEDk_l(ZXrhR$uaVg1Ehu+b^x z;1A#>Pp%~EceBl!3K??vJl+8!H39(5`~%o;{WkvfDcK+oXaAOtK$Gk2hg9^P9Z_bP z8FeH+o6C5+qs_jd3CGxZ0B{creJQg49Drqu#T+^q${CnWR090Q=>MQ<{H4y+s`MXp zi&rv@0-~3&V-L=IR{ce8Eugu$sz9|1vzxcx?$Em<@M=geqV>s0Vv$8!xNSRV=loT{ za*F~DW+rXd{rsvQpD5|nCQMv&nmOoOZ>~H7;s<-h^cDM!h>ZqH9{FYsM!5Ey|B?#* zImPd$90k0GQPJ{QA3b;EZdpHUQ>XCYXA8&)f0rNQTfZ%)iMfA1Tn(LFN$*sl|r?fBmseE^yCI#b#lA~)9?Lj!&98P zwGG;r+EQP0}P1JfGYzvR!I%q0<4``i6Y> z+x@z+R70pdkw5b;*fzH|*IW?R)LD*X|CmF6SQ@9ib?QVOIBn#1w_!~8aMQ`z@58$VJOH+G7>PlXx>27 zl5L!tliFT5$I&#CRmbv>)G)a`RtIOueBL78NM$BJB^P$rZ7SMqVtIaVq*c%91b1A= z0D_AZhHT%Q7{3-`As%wh4QLdO-dit~*y#k&YPZoYtz=i#E^2Fv!Ukj>B906*)|Ft9 z){hEJuT;MB^4uLOuBWoEHGdl5KI8%+wN4L~eXo;9{aAU4pq%w?U}x7o0lY-nmS%xC9w@?Y&--qkJ4hYg@la%!=aSzOpPE$!XtPy4(7!@s04E)9Ji6nUMXTWtLes zcXbG40cE=^n(VmNtdwGMdtD&OU`KOJw(YUO1HYwm8Vs3(TO&8$F*_pn9{UaQ+ewc( z4R9OA5w<*DXS~MA6}ywoucwj8FLU*5d?QJdoU;Y#fm>sOk>)e9fp#Yk_zk$#j+k2}3tp-Bev-Tr#v zV`k{frw8oTUA-wf2`PovvAxE?7<5z9n8)FvJsJ-SE z%e@9^+~^BZor!$z)+q|Myt0+TarU_(_M^?}@g76f3nO?O>=jNjw?U-;gXj##$wG=iAd3^VUx4l; zX+%q5rAy&1dPD>hEDTy6;dU1EV)ueY)U*e!TajXiUbIiYS*k-Sr?1-GS7K@FVN}y4&CUPJp%{kwP<`hhIZsjyLM7$?Ozb~(pD$h+v+Tt1H%5~C+0@|p zw}(_|I{NMxY)2XN`j;v|(|{=MM;;#AhUrL`2#THteujxhz#uu@EqL7(vK-A0cc*!O z=EI^V?C3Y_-3y~-qj>wHjG0ciL^U@ZeiO<4dq0!#Ko$EV#xqRAzQU zsut8Yn{~3}0`FotkKbvsb|mQUl(rECrhTmFp?295#tnr-o|+cr^HmRrKNGx1u5mdI z8QiUm&5LZv()z`mpk`FHs+98Oej%EFCe!-S#|O~01`pm-_lFjT5DCIXLf5Uad!4}4 z!l9RRfFVnu3}I1lG6p<%+qEAPtVAWF6E7qY@tn!)F_ed-Zazk}3h6+5Ok9~*@Z9*3 zWrp8x#D2h?_^J^Sq63;z-F60DsLwQfTjAcE$KE1ZA6-n-#Fni!*)ag*gJ7ocZPj>o zn-z-4?{L!Tn<+>z>or>~@o!=n=RaDWc5ZH3qQcbwrfMMP0_fx^frD$aOQh(>WH5+b zZ?A|9{{t!H^*mAGNSppT>F~zC7W&^v5ynOwbzNMV^BGJgI42<_F7GfxbD}=IZNpkU zk&-=kAjdRWcb@lG^e^aJ3tm)Y_==y;v-xD)r4!NYbEB>3O(W#S4=P)C?FfXmZ+er8 z!)IQgTed}=Mw^%o9rcnT&ZnQV^<(&3$suWM0DgDWZ}{ZzGP1!mc{Ii8mzb`?SB4V% z<1m^7rR5{ZzE>kQD#x8sPd)GOqhK_#pn!lzxRJTJ7OpX*^@d54-O>A1vH1eO zF!;lOkIEuqS-22zdsFI+?{W{-X{3RiMDeOB1U5~wBfaUh2lTLDLBBXqble)jwRKiU zF5N9h>kQ-b((}hNq36-Nb7iPF6?_nJXVv+9b}@7OIpNt+5p z^}o^Gzim98-HYw5A?<#-6Jibi_-5!TL_mR)Nzp&}==Znzb{Ux*(gCJfdZ9O3nf*p& zVNx`aWie7Sn17yrWB3<&PE;ED@id4l{620keyXvuN`hKI2iZE+?vZ}nkq0ybhLaxE<8<%OzpwGjC ztQO?JkURJ04ii-|6ekP&bBtq=N5j!{6R`Q$^9(6HKG!^A=WKl=+kD%jq%_XYNuPy6 zt1HkwANv86H`=<6bNlhuWS{WVxw1!13KPLqHofFKicnjJHM&fC)8J7chVCT{`vBl{ z?Ii>}Gplv^>detM7Be>)rzTisZ9!T2CB$}cm3x_|`8-476}%el;%JztoSADdqvWCg zkE{!L)RK3cyrRPN@k&?6nPhpnxhR*TVlDsG{)^HF7J~9U!NL}um83~HHcuO^);hp- z*UY<&`DxYMP_d%$JP+!2a@cUcO~>305kTKSV)bcmuzVi{Bj%GbwhmX??IvC-ds za@)?{?mx|x^S_~6b3#?)6!b`_ahE~cMFs>d=}=TA)m5AlsU0em0*2ciT0!N>Hf z)c8iqOA_!?Zu(g1N@z*Gsbtx!WCSi#qQUP|LuQovgb+D_Fl`kNw*=+3VeJE7%Xh>I{?nXU1+A%?J+W z@y(T<%`%=!3JH{FQAHun)}(LLA0oAEkQ1?kV(%P3~7$ewQ;{ zJ+K&=m~%Ygc6^^taX+K-ZmQx$Tzyd}q9HwQ~4#*SoTV_TY@+ z@W_|xxsd9Rgp+p_pGVoKjjsYrf2z@G*6_ZKKGt&Udyzf*@LiIUF|N5E={83K)iQrEMAKvl>0OEmnhJq;`&7mA&POxtZ|5 zcQ%w7*})z@9q7o(C^_d9@)BBweancQ{=iL(z*{=li#hWIEKaFX7BJSxE*fwLeD zGA+9P*abD)4BdSz7_c1c7u`y2&qR158&I{{Vphq~w`llCflkiYKJcicq1slf?q;8! zH^!K5)iubOT*f5+0V(dovtU%bz#39`9PHe-c+zCgpPJB`I?AX}fF@mP5Hy{h-T!5) zE}_CeZ_YmT<*fG~Am?~`uZg~`c;c&0i{`+?4}IeS-uR&$%;PFEiLu?X>FlNem!Kv= zN>FM`3RCm08jLT%D>Q6;?=>l<(gt-AE-F>wq43*MMWx(%#D_(}H{5IA<$ zcfo_Ttn+v}a?(W&wuoT9hrSn5F5P=mj@;wrWnISQ` z2C~~H&Ftv0%y_QyvNyT^#~<+DP~!i+{Hd#QQ~WjS@z(@b-Aqb2T(toZJL7Kiv$Ir`q@g^yN)1}xSYf_cvVmen4hnOmx` z&bXcK$E9fBf+%}8-(&#wVdY~kq(o7F>O=7k&^5`1R{nd2|A;{x;c84TvTd_O_{&q3 zL8X^RUHFDP_u{$DV8BWL)hFBlK1<>=8zmVdQPPrg5f&ty`jo@#nQ?*InP!9#4SXjcYUDoT`q~bHxF+&S8}oC4=2-}oue%d3=5oT6gYkW!fdsDghS7TN3MVWdbK_rr@YU)6 zDvCr`eIo@C74`&<+A03bKx}-Oq^h0~`KJ-le~684y4r1)ztYlwiO#v0&k-k*-LG(% z4GqAIfCvxrA!DY5m$CkVbZo*w@2kEb7V8&ziP!72i=|tITunMo^sEBgeiq#3PTgTR znkra!@%;Qz9=<5-CE_Nw9KWA9SFIzna$;dk130+V?;f0fUpQ#Ew)UJ8e_g-8Q)yjw z;&3E6(;vtHx-DN6l>lrPI(Q&-@%XQ5{Q~0B{gD+|O7&WK(eTa5N{xv9I5}QR+z4HC zFLvJMwWH-i1`RcJM*rJp`7iJNt_sb6vjmbSB+(&a78ej6NPbX0uF53lqO6CYTf6q_ z$6#<>E{YsZMR5SBD=Z}plLpGmogWyWNAIh`n24FXbLZ|E3s19&W31G0hC1n8WVzJ& zE2jM}6(g-_i*p<$#fVL$yR3riL!j>@v}L=)YsAJdR=%v~aHYY6RX>TwA~}puQ%mL` zDJpmCR_DO~^f76sHRrD#%yXgpoXgMTO!~|RtxUxEAv6{Y0$E2LJ=2; zI)$IVY|jn+AxJIR#gehDy=brsAL@+0#&3&g^Owj!J#-|@2&;6g++cMpPbpXm2^r3- z>|Y+Tn3xzn<+Xc#F6#eMkrys}VJl@}v<|dg?J(kVpAp!gjbKov z40y6P9dZ(pPP<3efSLfyHwgkgj3YDyR~Q`&6_B@iQK(5ZeDJ4$$E%M9>|VI7#G23N z_xfrdL%_5z5^t!#8@s`q1lrQ-(8OnNewKeoQQ+9yrbwKlj zD8zvmXUiRuTOnp&(CY;#lNmX^*qTS~?8x~YA)tKf1LRi-SeYfjSP8mEv0b8o1oa&@ zj@RfseQQvV(6VM;=3Ml8IQJUsCG`H5LHu!PDfXtn5;H*!pi z#dB*)eZE^~TV*(7L&Qf4ueMt@%Au*0Ss<62K67|_;+qw1EY7gCubU1^eJ%@55D>}P zoV7bSwkcB>swpWo13&%Lnz9u!(_CJRJBpV>Hc1$rS;-sm`mt@#7LNI@r-JAp=Xf>l z+%L}ZYU}AB>5S=Di&tHlIi4hFTz82Mpr4twg&BmF5wf{$tep=;G&)(=DVBmNrXN)>PzFSs$ zrm%d@i+N*gUe_Qjb3InA`^KHzF?X7iE%%M!k?vFZhxp8VmM}sXh^(27E*f08h*t~x zL+8Zt@TkZgg!1S&FgZvrgn7Z-VYkHZkE_tznHo38h*)n8yij))7H*@t3yDaRzja^f zvBS&{rCHktfh-ZOhUv6pF8c$H3+(Fk-@bfKx_*e6q0$DXq~v~TGG>xl&M{07SYgF; zw6XvnQ`Mh!hhO~|w-<3`m!MXjE!16i)ep}4zaaJZKR@L$mu4O?<>vX~4f2j7sxJq@ z=)1sGd3KGa#5m(0WA@*ZUbscCCX_yB z${SWhy$4EV+&DcE8*uW^)~0)NOTsa&Dtu6tDpAGsG)79dgyQ*hlReQ+s}@`0y7z;U|E;1+mdSCgRYwwEHZ>7AyYGe?u8>{7-282daqeaqmfJy+?dR1!Q!- z=x-?7QF|%nQM(Jd+x_Q1MN`gyq_H|oWRz1#B%L*!V%%9!7TJTUCNjgmz(&Ht)p1lTZoIo>|+f_k{&v$1MY6dymRE zMi)rc7UTkK@*je_-ywyetF={LUT%4L_$KSIV4DGq-K59nLAwOpF2K@FR66h=R0aOD zv14hETR=cS|HSV2_eR3z&o}-3yaE;$WrN=Rtb_fy5ix7KwP_su3f<~(zo{_&4E{p_ ze0v`=TQ3y6(g@-M6|ZWUQR1-FW(}OcI;B2BAo0AbWm@KSP;jjQz9O}eqHYBRZytXD zpF9}Ee<~bJEiGEQ&*wj`ON) zMf(F%KmQy1_!V$Z zIvaQIaX%onlN5GT6ENWMtmj9=!`n65Au~wo>`}k+eng?&5j6{0BDL7;jc!qxk$}re z`8bhRFfNQ8eBS=of&yJr6#M~=>z(K05>O9}q`aK4AJ+IT?uB`~Eekd#$$vLwR&YC9 zV1weUss0w`toVenJoBDLrVExYu1c;w!0)A$t71Zna_ww;hMdQqL`!FTWq^s@fnAG- zO&`I9aSHQO@w&lWr6HBl-*NH(zZt!R(EOhx>lfEx7rrQ-zREZY{bxW08y!4#lZ}~= zBTdtW$u@j|MY`>vKv~_iE(MC`ReTg5L@xmiH(|;(NfWHS)|3Wh?pWhec47O59N=oO zuBJd}H2y#W*}K+Q)n-M9J%hqxGHx4>-%+sED1CCzC0i+{cOucz_l@8g-+!_T3~whg zD~?H#j9VN5e~|ml5EU+kOCoDxBJ@Nx1^|)oBhGkgiR4jQpqyUQO&Gsl-shE|9;&|S z9OtRwF`DbyxZWM_Y@I($J4#zi|5?p|+K4!aO&N(k?w6 z>pV;%9HqCiepQOQ^)Agr(UA){DTwitOy))g_<}{&K3mMQTA9)1u^a0EZd)*31BK+D7rv+!kbYFf-_@gRQ*mUM=X43ehDI>pQJx839jf<@R^vq=)@vw_|d6I^M z%95DSe<}w)hl+TA&>^2jR+_PHiE$^Z@&{A@jq!EsNvA&6+IJCR#I2{8_6BGB9R2$7^)OP2N$p;s-yfDo8>Qb!bTrGyHDJ_Ev?k1|^wmSZEDe{|;kvAS(ZpL&x|&+sQVkEAcpy#`XeYivr;4BZ zPyR!<+Diz*pVD40n^lPoagp?5X)6cGoKN7k4Z@bEInk5NK-`Y|uhycU_fZpP?Y^>lu^yNA2&Ar}##H7I-5NkbLk^>ugG zuV><{u6*O=lF75LSHl099dG3XQd{aPPROD%X@gXR_O%=Q8_0I3!KbG)WyRI9Q&2nJ zlq#87$)T^Vl?@F&`$wJ-Ychw>Rsw<^d_d8V20}}MG!lp_C=0dsWUOGBuL^5dkn%Xe z>aVBtsoC94O4%JBLkXB;r807kyQkQd@fyt6VB4oN+yMtoMg`y#r-P|YG7FJ4t4}mv z{aym#-3FX8vXF&c*5A>GWDGO)z(eR-q%$PQFClw;@>}q0ZO+jOKa@1iE$+sT4;$6m z=%Cc7z>%7TYW@`@3S0yiNJ)JQmIIo7F!Tg+*-P)IWLYZ5VoODI2SsLlE`qh6mv3pl zo(Z-&F=)*93ctdTyY^f#7vyw?&BhIHy>>{xKh$}9|2UjGPus^r39*A)<+pHOpI3Ei zGrn)#v=TTQ^iwi9D&<_hQkxNfvZKFER!p=kKV?uqm>hSrxjmgpcv7cpcy(-MMVQC> zhJ!0_Y?k#8j*#(5P;K3II!$`L)>Uec*0U#5qsaWiW)W@dQ^P@%G!XU67w=uiaG5;| zv7(5COXQR$$9?%Lj+T%;#dVl66a7bwqEG}6wJXfg$9W?iq?G~+OD%G3;l0U%4%-+O z^x2j4XkaOQ{aGM{Y*{UCk-BkwYeY*3u~UsiUxN)?)RVis2J7}D$JaVr@d2RlEXVv4 zlh(3liY2T$Biu)RNgt(qFG7pI$crW4A^!@DF@-MzOBL(XeGexb?`H?% zkJtpP;{$J|-Mt5%1V2JW?;6Nl%eG2k_13Vo3T$!H8ym^z&dbtMDZK*AvmDh+p8ENb zPL8cp1B3i;JbgOl|1$nzBo!rn%EP2Ei#e|G19f;CTXF0BFjZp=-;mH;xo!8^c6WSM zamMy)SwlZyq}eAl+=QojAT^nmGr_W|E1zAq{CW{!QL^pT`+yg@-8pt~32DMG$IZw9 zk80n?%TfKh8(3!}{;pN$Z+fqKZ8#-5t$?Biy!HF}7tJaC=0x&Vu4eVML|bQ-b9vt) ztU@&R9yL<481x#|MP`Lw;PmYgWx38|B}mDVUT0|Bpy$gR9Hzr+Ich8!(U&4kjzdJqvuw6~uZ6caZF6rF$?4cHJ9ACYTn~ETP4==8usTcj zl^zIC8W%rUrWB>F69Tw?J~V^DJ}>QNBa-%NA7B6l_@rJU|`?9!$|f; zN}+iKjhUp`1Mc?Lgw9t9mYb}(>z3+L&dAv|iKcg24vsdjlC&B_<^hy{hQin0-eJ!J zbbp219`UNR)=)93>k><|_dvRfmR5izae>z;#aWD-9ISE~XAe8TV`D*Q|Jb0;&Wo_*>9!rfG7DTv>rWmcjG^me|@2w5(oM%gC@t zM>~X4>&Zj&;RhDX zh`J_173Lwl89Ry#b~BtexwKjY2sQ+!yS)4MYgL0_X{Gzw)#9W{IJzhzA%*YMho!o5 z4+fi_A$%C$?eXF?6ecuD2jOh;=gpR5Fs?IY_Xp!SW_^L*<1qt~RP>iwF*rpi^-K$d{X-x7Zw=bxs1< zOiHUbo)Z!W<$qk(kL9gT4gYlP;Mkx71koRc7VWjYR$Cx{YU9CHr15<-e&PniAhc+6 zKoF{pu#|JG@wap>!NPa6F}Dc&Hd7@clV&ePzPH=lAKz7q6>r4;b{e}TN~h3M z2C9RBW@K2NT&bZFf_F%HXIu&*}&h_<=LBKAWQU2cHKPhKy6 zkc3Tr(>B@|I0(IEtr!QZ-?xO-UA)}eAAN=^uFGh|=sx3jx%9lxbX+->duDaSb1R8Z zwjlF9()*WPeNv#Fa&XYCBdU-ewoQ0APdYIo5a7zV2FL$?9VeR`9&3L{0U zs_&DZ9Y9ub?c*rag_OFa@;jq*X}_TA|EV1MiX0t!-wL z3AElTwh6%xInbR8lU}60zVt(Ei~CCh&FTP} z_P}NtG+`F+wdNUL+O^`#X)H3IZ4PtG)O*;wvg|8%%hpnPs>{eE+E!kD$@m;ApnPr& zmpkNHma#G>eH-+(U`9W;+5Ab8{z;0q`r{a@7)UP4=IN+7G?YYXVryg_m<{SD zNqI7#QW#`}&iZOMLlet1HgVE%AsiI1x{~^wg&7%pQbO)Ba-4seVjevu2rrecXizY% z#2qQrZmWzIjO*s~UJDq#ss22|fJU>4q!y3w>eXCM8|I(r#IH_qX|eDHl||$m0pQ!i z!kWz!BTm8$|C46u7O3BS}~Nw1eKF_O5=KpWg0wui-<{+4}pvy}NoP86o!9 z6&SVQt0ioI;>3Lz*E96$G~mlwZUx#<@CFE9A6dy@q1K$*C0cd5 zlwrMoYK1sNB=E?3wTJk8K<%}4yf0ps4Iz4$60c@PoC*c>>>_+&UjK~PAaiD@T~V-3 z@HHrIUuyAml7!hP!V=%Un4{x1`L$v%VBzg?UnA8e7bDXrvRj(H5H} zvlfkbFpgsi&{1c!>J$?ynvyzra%hQl^|&ARo$Z_+As3 zX-XptA}vFY68}Eg|F-%0PVhmjBWeB_53y(K#zh36h9Og3K*eYWkvTF{z8LuJ#0Hg+ zR4zcy?#hqE@p^q=Xlyc{d6J*^?6bgArb@4TJHgvX3Ek#Zn?2>cQjrW;f=qxKXqd%< z%fN?WSih&N{+{=+3;rG>yrrt>-kj=zO~+PVYOGU^onpa5s!(Hy-6v(ecbY{kzbLaY zO^9pA`q-k^D($RE_**HD!9NZzk)7@_tI^M-L>}mOlL63Vk7ar9AN@E0_w;B%!RTa7 z4Xd|2w+)O07?1b!@nbwAe~&XNCaTOyKIPiz!`mh0%hPhhx4aYaYH>sMGKl`suH5{C zJ>8Qz2C$=QaLW*wKcD!8Mrf&%Bn#CdyP<@=@ffs8yOV**s_jF6hs&3?zISTMZf?qGJzi^T1+_$7{FZ~w_ajjhOM?ePUok;A|hF>SuJd4 zG9-Mc-pHOo2)X1pclZnqnAx3R9;L9{9lsNjMmTX&F)yM%Yb$pNK!ZwE9ItLwf=2o9 z*sAHrUI8*7a{LBV{MFnyu3z5Rk|6ZyCc}tNZQ|IZ;UVOVJCtG5i^0FdE>OtADvU#3Jc% zp^Y!!%+$E}9OOlPj>to=l0~DWp>fjb2pw5*s*!~L+vlAW^6#JPB(;l@{EqJhxpMIv zCJjEsSDq~%C72ePA=|qItpmXpi6lT4s$-erRKdRPw6sHv_Rirur)yEQ+8Jy2S=sB3Dtm;B- zZy(H~>rb_OMcb2eQ;bSc@q89LkSCqEzCT%t4bUPn;v9#zU62^qTa*=?m83J@Wpjup^RrNj>COYztvU^ zwmqwws`)Df4e+qn`0N5=V$vM1yfX!tkcj5g<OgZ@|xbtSSb=YJUg9w{S0${arV7%!^J9TUdyVymk(I_@#bum&v`W9SrEj3Jgk4; z48Bj_D3>oZ_eC2D)l_`3SAA9844r=9xu4yc`F5I05hUN3t{v|ct2LUV`@AHFqrZUB z$yeah#~(`D2oBACo?2k=>&VAe7e>6oZWhk@1-uIpdO@*umXxR%!M~w9{x~`R+~>vE z{QBVPt9kG({3gpwoA;m4l*R8&heXRG;GYEjgPR{85k^jJ9;t)O7oU(VW)vbHs!nc`YoB0%OANm-gLKU9N)yJkK9wJ zI8VMZ>0Ty{U=V#b&r&PVJlM9VHGoSg<7PdXOZ)l&IP_Df-aUAG$n9R}N%RCwQLmvK zzqP!Psyxe;Lk!4AUX3Hu@bYQ*Kk~?#oF`lNoqZrEaM;ee5Q5j{vx3M;y2WW{gg_Z} z(;7^X6$rtjc+zyA;MGP)Q>^+6WDz?hU#~;z3)kq@Ve6ZhAuvG(Lj>$}_+05Ftwn_>3}RGGK7IZyjbtBJvFY zdY4a{D@LwvX~#NNQN|Ny3o14ht=g@!2`LHejDwd=&6OvYFgMS_t*a6)baU_yfcr!R zw5nX5&mJ42gd(Z>6$=e&%|CReym+m1i=CIf{#l@v#l31Jrchi;@M{2PdQD|@rBv`g zfU07wk?!lk>E8cXXaD^5m4)=yh09p;?-U*z7L0dr%_wumXk|9raK*0gq?Z%wR^O*c zSyq|ic;dLLUoj+l^0%rbmAx8}YjraiRLbv1>ZnP%256cX57~-ZN5zBU%?&>JL&K!^ z3v5>!lrsdZC7eS_Qzin()tjl)6z@N2OXa*YYGh;&y}751KvFrHVCMV^(Dgy}sNIMe z%$JXTwfYU%pj8g6Nr1dDqx3?Z>MwkSnhVeIyPMlQX$JOY@@OOfB7{y@OI97iFY&B{ zh`4eD&DV1-a3g{6FV7HTrJ={rrKT~%<{5yy3DBL}71c9%!u*+^CXAHi`kqvej}yNC zlY|ldO{&Tu6KSMIV*Bs<==eKCi|hY(#&4o~!CO)i=6@_ep${^)r&THWSPv9MY;E)e@!Ii`IuP@+haPT&uV|V1rQ%W99UW6_i|Cet_wew z9;uCx1)-@eEiEf$Wb7w*9!?##RD&INrZme-$`+M@a(17lx{&u|5M30jf|q-uyP_l# z$jgF7S(%6vxA~^k@Obw!{xszta)?|v!La{p{8D@J;`%(PY3L6Vgnr@os*xNxORN`w z_@qjgKS9`V)k-LWOMo4QoNQ>`nuc!TPSais!iOWllFkd#hLp^U!Kf-9S+;w9$=v_vTdSZ8g<7&Lj zj#ZqXvJS;pUx$aCtx@rqY2PYx(mK6NLBE%^c-zBW#`&ST?_ryWiEPkbDnd5kR~dGZ zp$}>Ok3XGlWV2sHrp(nqt>sbn0{q~lpXuDu{*S1&!yH|c5ifZeU*R0NA+PhQrp)G^ zasol>^Otg@sf7C)HTkNo(6bZpK}k$=WtGcL9L+VbjhsVN62pN1@z{}Pw@{Ty$I4k} zqf@ZSR}0Sn0tZcs#xHPzvf7VDNAd>QVKV~4grd!xJdZ^ZhA(-rm#&!wuJ=>=-F9~> zlnxShN;G*6kt#1Dc_{E%WfULGThEFfgAb%8yae_WU(y)MCg~hZ3DpS8Y^j@rbZk@Q zMr&Nh*kib&LXY+7Bwkd5;vTyW)yb`Itt(3JKfg!T#JD9pOvge*iK+a7h>((yM=$CTrL4M=4_n$DUy^JHXj`tlx3dHR} z^lL+()NnCBv);)OekY8N49DiRY0Yb9v^lI)TNN6OA$9LeWJ{B$^d=YgZe}_19c##`{u5QlVC44 zk^BuFLt(^@#-a#%G8ZCCMhX8na(Hb-%)DfdZrnORSeg=E}s>8e~E(gE{ zy=cgpqSI2~mL3ux$;g!57I9LtcUNamNZU=3HL#oPNu8NBPAD1#MC3aJiUeerq=G`F zsXr{xS-aL>gpN)nK-6va+lnA;wuLW4`JX${y5Xe7taSgeuJTyMlu1~BhJ4|Fru&sE zZ;`_?0p5K#|ApvWuBz*;G=+aosd#P=cwVKT6CbnOS$-b3a@95B0sEHTw)Z2s&1mf% zkglKTe+{KK0#_BUN3NcvFNS{(by4CQu5XhKuHMn&(=#^JlF;MLUE|UU0&<{~zklE) z+X(l$dLCpdHbqTIteMR8&k2C)CZuMqq%~DctNo{(l7iI)c2*pWZ={ZQKD(2NBpU@L zjUg@CZwB-l#99`)^oKFAt$QrSv**dZm{!{YY#C|U+g>00o{B2FpTS#}XX+?rx@}!$ zF3LFni$JdUOTXg8hGPz>z;}uhuvsDrIY=e5X1*Scv^1omcP(bJ5^H+E~agq z|7cRkg-_?@-&I*rr&$w|Cp(%w)$ith2b~3aeN6RA zJ*(8(Nq9+i^YHZV?`Fz!m*H;s4y~sqVfV53pm){>P#WmOuj;$T}e6bC}1U8Nt zOFIw5Zn*H`n;UiLIool$CGG_3c+?F9vf=2!gvaj8r+e;rW??={rarbmW445UmrNb4 zF-uyORC9vrlCUNCvmn2%?Hq_T3U(R0GrC@G8q!WYz#`Rj9%?L{6*VqGe-W1)%^s+nGLZq!g5bR9=CW ze7>6gP)hF(_cadGOgeuT@IB8Xt-C$dyoCV0yHJE{q?RquKozJUYK)0Vp}XV!rG6Rm z(Dg=b-N5q-F4dT=ItMfi;O^#jfA%v?y)2XOctaYT?4Lv4H9;;Jh;{j$GjG7D5JIeG z2Zj8OCGl5!dU{4Plnmb4U56A9w+~E+44z~tczvOs#VG!L+mI$6zUG)LoH`M z1X4GU1zkStF`OFID$&D4x>%5*v0QIIpQvq<8Pyegz#2J6-v}=8T4{xlU8MW%3+$pN zoKk921*JFw@M}QkTbGP*?G-jCENI~T8*ME0T26>e;Voo?wXNf~C_7&3(;NR0%Kg_< z{69Mo@*QEAoVc4g4ehnW-PZHq@8QmXj9hQl+n!T4U!coTT#s}CYUOpXr}>jdnzaH| zlG;o4?_PuQHOY>0o$mg$*YmosP$)}?JZjeZ1=M(4M9=P!2GrGS%zAnq3A~=o2AmRI zjY_K&1;0uHy0pEVlltpq_Mf*?@!44nlBS5JD)6qdab@4?==tCjNbkG&z(xc-rOG1B zG}~EAD^2CN{YjpeUj~)fP-mtU<~Y&!%BZIQdLkaU+#KbwTL)7BBej^j#^(D%!}R zl=B)@*XEQO+?DCT>hl)vD!N)ApXs_KDpdsh`V;VH9zY0415`1b9Q%5Ce|^%-64G?K zgGP%w28fy|er4bgxt;%|y#$nb^`Mz{&hhOK9`SxiHD+< zjS}2fx6vH7Cfl)(GCKuewm)`hg!`w}fahG58NWsh3VRz$Z%bR+`8G(fdBf~86W?N* zUMpuZm#;SIx9#TD0Pm|Pl^!7SGc}u=?$?&4rrlA-9?NO?6mjLmUNBSoek_f@WyIZC zx<0JZCad?iBK{5jXM_CRB6){LV$Vu!}J?bduMN9M?acjZ2TWecnnI2^l@m3u2YjabIXrD~a@WONx{@6?;}C zx7Y-Z+<8VQ{JmY?Zg&?6@EanXr)RdCuB;0j9!*!bH&&!{ujcZCELzqICbuf4w_J{G zY+F_{sBBQ=!k#_SZ+B9V{dUmRFMU8ClN`5lyoigcmbsbNl3aVPgQZcv1ktCKLpD%^6#;e)-*MDB+Vr0wg zLVUDxvtJ3gubJWTDLDRl;EaQzAezmUF+bvQo6i~@=fwCweI{)&EC8=k_ru7Hegl@B zeb>BPG(XvpC63Dkw~}$oa=OBGxot`it|ax3!rYW#Y{bq0`J(`&s3^>`%!_-`AdQ^7O_8;%imv~Fa*mu- zCSyWvFIg^hiti7(<*|aoCJoH?EpbM8-Q&3QR=5?SvAo)S&pjgHSP{}*!Vj^LDQyBA_5$rAb$+bQPpS6qQ~?Y6wMoCsq)V8fqvJX(GKt z=prSA5UDY=C=f7oLJfpuUhenJthsY%*7#S5A;}^+`#tB`&-2@<M3qu>BE#H9v0?i&HY~8H;<~G7jKWRq&9mRpyh{xyS zD#bx!@Y@xvu;KIa2*Q4-asQiwG|(8SDf>#QI>Nx$P!93rZDAUypnA*W&vZ1!p%9*3 zX)ty9lLCSqYHS0Q+(bFe`o>n`&w?ZjF*b}jMqzsRxjs{>6=WAT(_v#h?)SPPy*5WH zVDlq6{ex%x>%-gMAF^PjTjEop$LAbt%|AA#a0zmGEnpMJvm2Nd(EI0<9JBE!C53H%rp3BE zBP;#-KQ29KXQXyxT~sd8J-2iAu}!mA6=XOEKkl^^rVkoW>0TizUaR3r(`dPpK^IL8 zuRyXIer|JXPM{kza25XFI4&#csNl6)$wK@E#(>bqXWsLbXMc_C!?!!WB+u>ND1wkC zhaM%e8Q;Hw?d)-0yHF=TRTi5tdDlkrxzpVDD2bD7%PYp|hl`jRj2Gl%7w#!ldg1-} zn&T~wM1mZLoq5T-W{b}+Oyr?F6O+@fYsFE)I@8ymEDkx~Fykd))B-rqfbg}RpJ+c>A# zkMGe(mzw`-r%PR2r~m$)`Z{io?n!8s=$4R>9J1P`$FI{-|9zwiz1(Ku!7&=t>m{9u zsqJz*UHA-@K68xD#~Uv4k`DTaCD4=o&NTAQzFrJ}WFdk!mDGd7YT*WD4f45vxDx}A zWr?LtHmn9MZpYX54(U0g1Gj z`ng@?6~CJvxpdoS+^OS^edzA9N*eBRH-3pBiAj(`&W{MiGVW&0_NK-NZ_5^$ma(U5 zk9W8J4(hG-XjJ2gC;Y9G|A;HAebwda-rkz4a&C;~NvF|f?)%xH64{T0at;8VovyI9 zWY~^DiC6+%yn?P^bx$8@bm&Tpq8e8md(RriMHcPkG-k+hG0vEUcq#mrOb-tB0v(M6 ztzC?3Y(>n%Wg7u`=a3y8J#X#Diy06OCYbC(MlK02T*cT#|E~9hK9I7d>9w^^FKiP^ zhoemoLKh(VnFezMQtT94_mRwUlWFgc=}j;Yxov@+lnHTfOpYTaAI^ga4NL9!AQW%_ zbUZ(1P5!gh{cNk>_xx1YoFkJFlp(Os$$&DLovN+6K6-GW(DqTq z-x2-y8%VoIu}HLnF+hAt7D?&B{G?9{DjAQ^ErW`yI%Oq{W6Dfl9l9yVr&VW&*i0P- zv1k-LdrEVf&%P1WMCiR$kaVgee3tSeWhbSMZ9!#HDp~NUi|aQB^Hwue@ioPX;7t1< z#?up;AFJ^TB8(_ew;I>Eg#8xuI)|~eB*ikuw z9i!1nfByG!0{TI(4WbsF+M{Uz@jbAR%zrUp0asvnKPN~!D^eCXZ+-avrM%n`4 z71r6!b*OvGwYQGTb;gnhF0ogp3O=cR7qtC)np|Zt_AmtVPDy;gFJ1^ydgXy)40q!x z(B(`AIJ?U25{izbu%VGj+Bo{Y$4U&GSkh3|YlG;|=wva!Tvi*WNfFfdLL0CNpg)(` z>$c!7a;G)VXZ#g{7DI}WOXstgo;dWxZ-6%(fpHA2E0m>H+bm7*9!)}NJ@HEFAx;0W-$+1$N}60xy1T>Bnx z?x!Z5>T9DC*%NVf8UUdHFk4Id#~bQcyo$+q>@dve1! zNOq39Je-&{Vej&t=?&B3TGk==gC$eW73TWxec?Bcy|RegkpM~6-K`0u50M9V&i*|JW z%aByehpewYi*ijV*;|g^w~RnJb6IPBe2yX$Kf`r+{X&aI8r1-zOomCy=X1q1ZP|KC zhIL(iKTPM+wo6dV!X^0y{2Ym4hjYRj%*Y zhVaOfok%;OzebmtJz0Lt{aJ!o+uL|pD4hX0#hPG={)R)D(Dgq$!@17u&zuqtVn{|q z#o8QUXV{dXDrp0G!+Q?euEVkR@bA1u1)X)%$eZ~R^}`Qc9B;A8ksW4@%41F*IC!dQ zvCIb2moZ4$x{C~>xshsXkughEEoM}MH)S=Z>WI8eU;{Z^=C6iNxe3qJGu)j@H;#B^ z-y)CT9)bZ4wf*WaIAu;2>|#cJ3N*qluxiZ13Y?c$;GmRjXX{rj*kY`^8d#{lKBOOQ z*hHn|DS0ruVFmnOSX)hpRw%wzT3AFAs8ifJHocF=)k`OiX zuY}3Zt(3VR3o}pRTJH58>{L`v{{al;P^1SA22SkSJ~Z{X93I zYwwfsC;TzBQf7%Bp%&&7IR%aJF5}ME{&l@*Pd%nl%Vmi-6E`FFi zHbrV|ya)*>3Jp~K_#kugan`JoLp4o7wB&j1*o;nzJ1ThIm*6nT4;TuVy9_l1aBF_{Y{ zxhMTec9$igIjsrI-Koc9)0>|RQ;z+JL65i7ylYMzdy(*xezHB4VNd;7XyZR`w(;~n zWmqY`3%v*dFo0sr#4U>wV!DB(xKSa=Eo?ofJ4LyB}NIFly(jN|Nt zL*C2iot7<-Bk;}>#yM(j?r3o~ekZyE7vycD#uB#W+;h*8Ao%yg_bgM5cFqWjmc3yz z=R8JI}&-ze>8O})&U>`?XS)EsjWhwy3oR0d{FqpIhg6`wW2Oeh5~6N zyc4mwXJXsporfy_y193#o7C2bocvi)|7*yM7q>yGz(kGAhB_mMktY& zjWXHaZ4T(eDJmV8ZMzseYe!K4%i%#krY!SLqy1|z90CenM#U`&_~o0ub_j9DT0XH= z1|DBcJQb+_hp^KD$OVGaQ!yOKomxfL}7KCMzm4I zqIgQwM4~X-`}7Io&*L&$p6LCoL}3`9scz8^=)zYVP>Jq^(0z5fbGY#op}1_#2Ek{p zO?lz_EW0I?huBl74HW(!?AN7K&)p!|w(ov>AA$hf!AX0?a+`8`O}6DPTU+^{!+o;p zQqRRuf7d|b2;lgO<^otZK<5&$@xeo3iyiGeNx!=phbrpX%a)J%hPJka|7+dteU5i) z29cbo{*11Gf{`|nr$aik4t8Obbi7LVYxr@>mZPgnn(A-i2fN-MT;oDFZi&Q3<((>! z!L9-!CV%ial2td~Xta1$bme&cCVGjV<-BidoArs@h$8R<=%}1a5M+N#ZK!P1pYlQe zB7Lx7L<$yjXDO@QPi6pX=*eJA44QoB`H`rYM zing`WQVN|KVH}(-G5Bp5AO#KER6SY@g(8gva&mkFO*zp`{B37M3bLJy%|= zBDP8#YS*TRX}8~{W)sD`ttx#R-%y92L-5Yk@R8NO_cvYaFicIlwMc}nc_fbP#f80U;)xy z;6J0ld~(ZU~G>fhMIdPbNr^C$fDjCR$(%$kwxD{o&&sKN)4>7NXu zupzMXKjfLd+?J;FUJcf*zJ1SSY+pvggXHlQqp1wkj7_+DFG{|>dy(l@kY{hKHT>}ix)$IlGj6AI-Q z9G+XCB2R_2wKc@${DplCH?e9Zguvriv@qkzwIeX9k*@b2cFxwiMH1lGMUamdXBAkouDxtvz7csKekT%=S`}A z`^hrHkn1{1YPWZKJ}4>gMYPiUl+pjAo0e*dc0%-wiOY*B>C-3se`EA(*4H% zOYiIeqQ%`-&7{!kv73fC`ptx!<#g038y}O{hjIM2+Bsp~VUM1g@U3jCHzM&m0@iOW z1aGhuO?p0R$jkJWkO`Mc!?)`yytgA~-Y@PjZcel?ub#h8;QO#Y(PJ0<_g=90jgBN|Yh~6y+j?)<}C+nO;H1RF) zXX)73S%FR<#hGUNO#c&=O4$_6%h9F12*H@C{Y+0Sr%a<>>2KyKtvWkaa91k^RdrFf zEu%`gpv{owguf)z?Ddn}r1+lnbS{pQr`5*kWAUngv_G>;^>;=}^$!?fvYQPvx>*EZ z0P)JIdE#u`?b1E49-VOqar{%$+K74ht@HV#kq+1>vEgt(~79D`Yp(OTh!NJ6yyp~CK3cb$C5 zTAIz7LTa){Y1vhz;VQL_3*+e|`vk-m3scocgU1N^g0x6haxBpV12K_Y77mXR6!6%eqwW zJt?W1_>ytrl(~j@QN)ALJp)m!so13+D!lnhsh(M*L_;9X?KNV;K#3f4Iqe3eC8YvC z^v_d?+LbxwQKPeN?MI`V4PH|l6IcZTO54C2@K$4+DHr*avd!d)<7Z9~LJwBsK^29K z*wo^o+IwCFTGnP|(l^A0(=M%WJo@>}%7bs9G`S-5b2^!4AW$9J^^kn)-?V`_}M3_fkzdh|kK{8_XmH43RbQr6&{3)IaW88`Qt^W4{Oy zRa1qKWS-B99qgm$AQ`kvyOqzgthJsLqsHhiGuv$ytzSwDdvk4^H%_6Y(&FGS3!y1c>ea$wRYQg`oyZY|| zxRPg7>gL*eR`fdpR{(p%rO@l0*NSrR49p%;I5->XDjm*REbQh%0v+K;t3aq-rMjX26}$YeL)5FFwpOR?)<8@OXw18RygH_O zvU;Z?4^_Bk!x7S3(?s7APj9$$!x0;F(4fTo6t`oL!W2Ms4%ZwdYxiS^Coi$DcB%BAdOa7N8EJja zt4elS=5FLodbS&A4mL>JvkoB4VdV-oCG9_u5PVT2MC&3O!)*+ zR9yCRr<1q0GdiF8W4dHbNbazg7HsAhtF1ot=Fr(lTV=v%4h7>wYo^?4RHDWE=|vyy zUMnLVkJs<+a4XfSDzgv|cC$)W_Er~3kE=>%?)At(SN?)|@=;W>afLD=bd`BwJQ_3k zT7UQHHW0cXFpI>^mu+MO$SF!sod>&WL#+=-=r)fTJg1+`erHrLyE8Pm=w^tmKa7vyIi5H$6eNP725Ds!Saq$LlJUM-t>$U4oIp-lAyNL-5Ab>`S%oUitom zRugE!)#4b41&@modOJSl0jOB_B8cD~=g~Np3P)`A3;XdUDF!4zVOkoup}IwoaW*rwt=OiN;M9B{@Uf5P(Egk{X=`+QI4XhE@&8g!v!+ z!lLogZEGy^u=(f2+LDOy5@6tpS{p>)A0s@>8E=2X8XqbhHc$h>f1$-6#P1Z@WJ4C2 zx{%lsx55Pb7-pY7{}`wdkO>J|32WR$)kxk#EZ60hOM%17;tG+qL!T#O>*zb9Px@7~PQ@TJ+AFDy0MHR*;X+O0i()-vDc zS%u(}NrRdp)xsaadQ)yUu7!OrYRXGCKOmTHWK7shn0aW15nKOmyZ_@$z3zBJSUH7D zF~FT#l8;q@O1cZUpJDDVKyvZ~?N@kcZdlDUVLEGCCa2U^?j@UMEuTZA^Umo*O6;s} zTR(Oiasf8mSypl~5f=JZ1=m1*sv^6MynSvLD}T2{e|b~%^p1HeTFb1>q0NJ1pfn4& zY2=k{cv~M_IG7$la0~KHd%bC&20C$^{qfSVb?`BoI>#@1yXQHeopg+THe4U*7oFKt zU$;C#g-W;6UlCY-(P77FOrhgfe`s`lgI$M*cFZ?_f37hk_O^fVTUOO{;1w5WqY%Gh zcZ^I%p*bBrJGAzDd?TrgXa_5!SBkMIiz$c~|4E476d`Ihw_U3+)asH5W_Dw|84Jk;kY)V0wKa$Cc} z2I*@hcSWouh4gqIINqvF+QH=+TEK{6M+EocY96%)s`Uiw_ z!xkE91OJpO@R?^%t}V51`+4;G7Dod)xJ=~Sfbx^-jbJzTVG}`CPwNr?W~Rr5@Vj`d zW=6H0{vX6L&M&FkFD1jgS@)zRz3Nbb}A zyHDSF9_W=1SWZmHMUhuM4C|K9B?X8Fc^CA_m$UH++*(oM(u&QQzG zx24_gB(QyYG`m$DkJildOZ<^}1OFeA=Kp$q;6{6D^pF-t<(d6vSxolk7H5YyKE=ve zXQI};&i45Ej2B{Dp1AL5lAjK%F02a)`~3}>c5dle<2yn01lvLro3vl@*Ge%Fm=5~% z)PBSQ*v7i*`j7XuIFkuuq)EV2u^0F=sVGYIz3KOCeZd}F7U<)q$4hP%-d#J{D$q`U z46I5iV7XpihyKz(K~)F*NqdRM=%C~Dv;X~XbvYN?dXabrZN6$|Y@^fg`pa|4zEQu( zO17;7DdC0eY{Ef5_HB6w5;A`ZpdXCyBa|cMl;?|ZbaHKPnRnmI%3709=Rag-!c!rV zd0PskMq0f0-J*j@>7|r;L06nV%^eIc1Si~JdZkrhm3SQd_aDegJQn1Xw(O-jO8Uq? zzwq_!%6)wguSy~P`HcfnTE)Cs*)v^WWM0a9^=5?~GmA`xS1R~vz*MupFCON%*eT}| zM(Y3QG~dU12K~x{Cq*{MLGh6)03ezj09LgB!rg2YHD#}$W_)oO0f$SurI^RiTqfDyf zPLErxsZv4)G*NW_=VN9n9#; zsY;ZcR7x}*&|5<=4uxgQ79`iEUlZ2Y7xNBE`23Iz`iN7P;!g1C0 ze87~uLgRLpRIq53)9X-!-$=2M3xD)Ah71a|nKEiTw{W0ihvkTl z0|vZABb<0uQQUVsd(&#B@sZ~QDFuHFTe}Zs(JETho$CdPI2<^mZKd0Nwojz7kM`olV9$d(%$vai8tJTJo0!X0!FIL@8}?Och$uhSp~{~{ttnF5 zRt2)D##t4fC)uhba)LG9XxhTh{^R>#CA3fXtX{+XM~ewe>WvY`x0@e$EK+x5mvryT zkg&QtOPZMABui!EZG|N(N-exJXJr+>@@nLnumG8t(gP%8%B4}Z( z7%1cCrQXQS+Q}`;Ol`8w#D&Z_b0`zN&FqMq*%%%)FiQl6;+>|_pRe@J{!N;r zAIW5N>^9nmS8DAyU8MB_J$0LJX#U%~B}ru^^2OizZfRRyq#M8XpJ{na)N+1TMG6h5 zH+hT^zXybvl;hmVYp1V-1#kL7N$7VkjAsl%;k4lA$X2LVIsk7^J5Zyp?!z0QbhW9rfF2Ss!Gu61aj`oGxh#|u zW&m%^WQ(f)x4CvZuJyawM>u9$x&*zHA+%=Ifv?r2!6!gLfd^M6s5f2UK90x#p2ApH z*H-`D_RyZPv|O#H{El>2k4dDqd7sHJNdOC3px)ljfO2s7+mPpgGQIPqp4;m!HXnR}A!}B2%rCC?0 zz;%Ndd7V1w0bA=_i~4Fr{?$?6?Z+0f2JC8r$UqjU`Vr60ekxRrW5NS$-U29e@sw`c zBZB5zBc5mG9k7Ew=0BvzNM|f>fa+3Ud)9<@fm%5STF*llroDMESOA!kl(l^?%-1j7 z0;~+i4TU=)&>_Bzv{HyKdap{OyB+&s=l55 zmCvv%rS!_)qX_ zjIWeUxcG*2pqT{e}MMTqx7{BG+;Z`W$-5(HL$ls+9>eTa_ex+rCLa&>e(%bpO3SI;i+yB#G5 z_mC^SDzy)==FmIyB5$|74Ii@;mE>ft)vSY3hc1o=c^&!&XIYF-Y8Vz0vY=(RvQ(w> zrdE+LFsv}Ea_}6|4dDcI9?J3_Et3{gH9LDQ4f88M0U>BPcBqZ?0pV?{E&sLZ3gsB5 zQs5X}4@}8Q)z1K>9GHoKK1aKON~e)>j4QBUidCgBD_Gd&(GBb8M;qa ziyMeuDjZ%K8Jg#HRcawWpFauC0Uu zp74oHUCcnmJ?&-of^+rOVvMQs##ITyMTZvHvqt(N7nr%OJv7YDoLJkg5WgnI#r~aX zA;u;g*2lFm64RzQEV2q`YV%f=wkr2ZHTfz0;rA`_W=q1k{mXPG7C&p8Wsy{xLAh?9 zm8lK#cEnIbhsQq(d&3RiL&Us8@X+6o=d?3+)m}lK%<|U|{yfAPc`d9dnrt}Rb=Z)? z#07Rno2Wv@Fx_OKNvDhm2yXH!%#1_&LPmaEe%Z3p<<9qaI)fwZrTY7nEN_S^;0k@; z_!#$HBKi!yGbk(>dd|RLt(Aw4x@=K*^X;XfRikfz5gIi1vnDi+dxafEf8yeqWgQi| z1q4oHlA?brGC$CFwpo~TE%){DGcJ4M7}H#Lk&}vydz%x@ecw&sYhQ9}QNLrun`aMT zI5#oos+u)jiO2#mEJ#D7yji6xGt3{d@_97Ugxw;W+*;1fNz&9cX&M`_py;ny4#^0# zmDOmBe|bVn45zp)4-@>#lkMLdu%CM~avX>qEs*oQk1h+=+v!X3NZA7*yXw7zSFMSI ziqH^|j71sO5AUH(#g0&lVo~HL~w)q}C!v)|TL?k$<@1XVn{sc#J2FCr$I$N%@ zw5^;c*Gir8lXhOQSYp%yAdZT3(;+W=D?FV62RF2ek3tr;aSK|v&_E+iw62Y3Pg7dN zBhTn^3Mr#y?|F{B$M?d1#uwtY!0%#k3RpGA{D=|+M_Z7^B<>HfLSNSogV?5zR>1g*x@ZTC12e9 zT+Q~eIsw$#vyl!=Kuh<*;s)=8*u%$<|hck%34#yl0HMXck1fXU9nNQHgyQ^ zz9+%>nPST$9#2i1#D_pC)w0SV+O*uJ%U(7_qI%=>;eN3Cx#~HTB0$)ry!rJeEV%Tj znO{jKbwN^TsNn_RI9v2`3gJH-au3e^K8f!jBw!lq#H%J?QF*HGMBEr;V6we(siOLE zr1=dXc`(iP76q6wpW3Nc5|7pG`k#0FD5zfs0EwmZq3>Q02>zNISHcvdF4&or!M~;# z2|JkTX7=OxzRYCFu?k@~)*9gMNVWU#&YW3P>eu&R?pkt(wn*rt)YrNA1mN88kcq$) z%|;|)!=W!@!}JYik;WWEo{Qwt0$S~X>o3Lck?jfQ+;&yX;nXzmQzwXblibcFO;M!U zG&v@URuqLF`rD1(wp4trx_sCYvO8(F0Zjd>-H;HYxP(Uu29W``Ds={7`=fMpDZ<9& zc>R)nbMW(4S6xZOUrS9fty`b!GI~T(I3kdH}FJigCX-*0kZa7-{b{4tsOjp!he;b9={rYjI`i7MJYp~#R zSAWZ!ZY(po2UC2kPO-B`rt^0P}L0qf2k4$`OAZY9Ml7q2;lg=yDAXhmhnsy|DY$kE+MI0*jfGED$FL8yz~$d`KapZvda42$Jgn0 zf4;^ghVt4XQ{A%{Qf(svwG;mA>>X6cVzrVruh~w_GXYQ8ra^xEXQQzin=}FnH8n2? zL#k_TtvLjRI;F5J#4y4XH)d)@mq&nA$?fDnpxQ2hBLxNxHWv@<(A@n>f_a}rw`aMY zOY$reZ+d|)=bVv9AY(>};&FZ!^eJQ$CxVv?y|7PR(+pUhELx50pK6jjyBwK&5(rk3 zfG$d;paD>}Qtnb(aSn}+1ilq6lrqF?e>EBHGuy;C1gIr~QRI`%yDoIgYWhm`_XYS=_<{Z(H8#Y(p7OVIVI*Ywbk&VrMKvn!W`Xa2Np(MF$hn= z$NoMShaAAY`EMW*&H*Ci6x>BiOSwl?)Q}=0Au*o`LpkUd2Oe{80|UU`ePvbB@x`6B zRd{>2wSo;M!;LFwf-oG-SWR(B4FDoe?VXE13DB`if@|v08}bIzd{497D;M1W%p~5w z7vYa02TcrcD1Ch=_^6fMt&lL&iWv0}lS5>f!)iQm z4cj3+a_-UnSw4yda9wihYRYmccklqwAad!gYKxM`{^nQ4Hm}Ziz_8b`tdmjX?3VDh zXRbqY@VgWel*$MFSE9b*+Q%OIacIDg^KF&L`|X8{l+Ot}RW2mrckYA2!Yz>J&f=a0 z7ci;M!p6pJYk_M7_sY-8jwF$HRm{#JagL`rme_nc6?L1thg~Hn2tP;ypqzm(d$xw7fo%AXr@#vzSz&u|j|Q`Cq!ChRpe`0{E-e?;JBxEI@a+r~qO8#d7y^^DuX=*0&S~66MA1*}2i9 z#|w+ zCqLuYwt4@cW@9HJTPUfvn?Y|vG)eMp`X!--@2y5PCU!X>q2Ga7sdXa0?$v*-letB2 zNHx{G?DS`h$$oYNo$>JP!+|xNg1Ro!&CrujoYf;;hn%JxOW%Lw&_R}D>5SfKe*e04aEFeM6wYHTJooQFR!p z^0<~}Z%i#0&m3;iY*1pUy@qZ1TXL91Z0$GHyW+G~>kAUjiw&T%%)8chgJaYOT&16D z{aP*cAXv#J00Exh#{qA=u=ea)o_*ih%r{a>uF$kmwCd zZ#OctBByK0t<85W;^oVm?IwZboV>)EQTZq6LP+V*pNjBw+f+LXw8wMRG~H&_ZE#%W z5Ph>YAn2$u_mUtj8SMURm%c;yBQOgOpGe=G^$N3|-E)XwKV+MJr9x>?inIm}?PO`Z z>aPWii*Mh5&|F!|WU@35H+Q@$A1|We?A~uwAh7Sm^q*^+5JtA%mxZU#ZbZt+z!m4= zXkT@fo64^pY^U$0WR7&vj+X-*DVJ5wIIPh})i%8HuZ;uN$Av}TfLU5D?Y*urmkak6}8A3*kRjj#xt?xx&P#2x@UT`C6AdR;$@8uJ%@SONOE zjdqx?RFs&9VoSM0@w%fFu5o1JtJQlFt0$S?iLY(=2S#E|KL{F>>B7?My9ihPPSfvB zfcf1Dk}EhiLl&bJvlU~Q*pAGAVnKb2m@SH4Bn0;3YY&3&OC76GPG zzt2+fLUjF(GLN&dTnZkVfUz`r*SSE*u3*lx$NWv>mQDv*)s_9Q$RL?* zR>Uuur8Zv?!Wsak9@&O&ZpL8P@HvZab1SSL7rx9>cV+l8vi? z(LS=MnLL}3JaMn`*fLHxy~r>kvydpHlGJ{>QfJuigNpV$J43t!swEqXTcA`F0|JwAcAMA@69s zC$$a;8=Zq4@s`>)aBSr^EjM)G%in0Ea(s!CDsbGLY;17?k~2c_LfF6)L}l%>^VvGv z;b9W#F2JDa0Hfq#+i(g4xEIJ2@uD|7*OoGp+ryUDB#KrCV%w(ewBc4+_5SjK#mGr- zx8{kOWS6?k*6pX5gNgm>8{^Mi=b%arH~A1)R@R}p%z!{+D-JL3m(0ppfwPAMol^A& znh&o%o+iI@ALzFBZ0f!SLUME3FBBrI8dQf@J+ca1(~*n;uIA7Jb}p@HbqfM!JGB!J$~ zH``h7Su^ShYVf=Ixvdehq>~~I_|Nsz2SYWo`-^)bu(3;fshYqQ+ zVOnV5bujs}KXif?eDtaQ|NiY=?%3{89Y0GvZU^(DbWj6JNKuGOVEkMNf6ZpjZx^-C zV0mX91(`Iq$xFNex^ib8S}TOlp2&Y`*ixqu7;viV+fJzRnygfASjH8(Lat#2<%#;; z%L2Nhsvgfo*9E zp(Q)`UGLu0-1q{Ud(uPiCvTqC>izClSpg26Y^=PldXX!Ut1`a(x$=wHwivTn)=C2u zZO3aZ#C2Rc=@qeiTg{-Xr|XWLGIOnh3cI5#&;5ccYNy`CY~+XaTUjkQ5MQ94*sa#) z*iCp?yp|4eaGo_Nx7suu*XZLI9#>Ic6fwCjwmStuCJ_hy)JxsoBV_40RTjv21Sc-n zbBG$*=OUl#CiTuxhGsNO8?Jdk%S@|@GssBouNE^*b!WGG96t4S8x6s#U{;3?F9C9x zS}by#@i?`u1dzLWcF{+wR=#f-S!3mhz!BM-yjqydxN$^!3p!56twsJkOW*ZU-50_@ zzZ@xKwuwh0gY`-KbCKgma@)ZrR}*fyXO3~09V6z;#o;eAUk2F)u3Xx%lK;UY3Ds@L zB$M_ErslG z;+2x(3^^711fAiEN-`~%O3xUrC0f>=>f0IbJ{lcd{B-Ytb#v6zcCfsB7vFELHpVV_ z2oST}!)UvUfsMVn6xGzVYQTpqGHO);WpxaPdOtgIHG(wLh#8ET)vL5}Xk6VIt;P~T zCvimbujAA{MWAxfxaiKf}W;~ zi&v|P{ijO?l$jLzI~R8nt_0RtT5i0^eQL_IgXpU00T?2gcPMdBwI_;{X0`mn_9M#; z|Kz>8LpdC5t<*&Qc2nL0phx{c10A28FS&Heca3*&xbMN&&7;#gPj^)`biHKu)h)bI zvMQl5Z0>zhalEKUKIu;O9SW`yER=kF{*y9 zH)QnLi(%V|rPMfl7E;P8>G%|<+zz@)9{g|pb_sZB?99b=KKZ~``R9-?4y|CrY zcT+Nm+=LFSig1Q_|{ zlV$PnYxqTFr`2SC$k$4qrwzG+iYx|IS-kBf)`nhYatRw|e5UPJag57rV2H0<%fd^# zt{`OkUP{-5Y{x?HFI?J+?SX9__~e;J+n+hVqspiEr$S;N=R6a&Xn#)DUdNO}E=W*) zThZ9~lke*?iuv`M!{&7>kJCW&l+dV6RH9+&o%C(l*^M8Ryao;>gm0C`e(xo9UX^S0 zM4^=`)u~3|8J2mN>?@`O@6B@n7J6~khjUX`?vaoQ_Y(FtLiYYnbSB72sqGH{*C^w} zCGc*dNZs)a*`U5H*nqIL3sy#>OBmpG5Phy}qBNbcR`sk4%g`2}WT8q5IpU-O)zTwD zN{A$I@Buu60XY0d@d05JS%ATDnG#xa^rWAb6hpHqc?@eC$`@I$QzjRLN*_aX90qK_ z79x+tr66{^-E;3cQ}=(1C%*e7RBPz3$X_qbQ`w1-8cT<9i%rP@X33ae!qxpN~sYB4hx$wi^8t@sewmO8O!cL0}x%l6qiaM*QQeZ9Q1vvY}f z=wGZi^lTa*c*j6>1C0@HN^yc~2sXGp7VBD*^K2mx2bdZN#==qr>v9xjVdIDnV0S#g zCf&L*6pGr$LdfFQ_47lCZ58*7nOr;ysS^VNoBeksjrGAOPwvEAN2?eOn`J{)e3mM< zI5~2)9xIDQB5(Bh1o-QV;5E0v_lWLa4tiE&Q?}CDhYO0|?U_1y8o1mnV=`ceP;^7ysL{>=G3$)KE1j(#D-gKcc*H; zlI+ZU@s@*?w60Y)DD@n-^e_FxfS6kdyp6p;BHz2L) z0~y{$iiuJIVtI;bcKhJ@Mwv3Zixz+B(^LEGL~eGmwP)vDMHq6o_3f1PlfC)(Wz4Fs z;uTLVC2UaMpBN8@{;}u80A!o4z6fTue6HfTk|p2bvdKwOJ;n6qimIQpk#&jGdZ^)H z)#laZI!rP&6}w1xEj}}i4)$<es>lkmQ6bpinaR~wL@021M|qT|)Qf`&xoo}QlO3NW3b z$CehGgT)-2 zVm0^jo^$P=pgH`vTc?~>*&lrVyM1+#>enjyOTnEi>nj2G=C*(BpQGGVknMEjylW`+ za)d6<$BK-n9cgI_@vBr10S(=*d#h+soz~*s>9vExLN*Jh)-TMHLxA$gzQM!NE z3=jij=V}A@90Y&U%@8=v3%9JPWCuPc>o9MWbu&=q8tCXVCwJDJw2vgol5$XFQ+YVr zUBTrk&=6ZnZ&obEf=?&`;8;e> zmG&2#*Q^L(yMf$^E~~(g0)+A=X5)2q78bo4uEEXM(G$TB-s&eaxVs{VXdKgM{yg&q z^Umvw#DZsbrtd>byuVX5wD58d_h-d3?@x|O>FRG;WfQG5W-29??mOBJadUu!sQD2q z+Ef;2p(`Ox{W2VHQ9qxCxBDNhq37lD$7?QdRh5xBM{&{RN$}Ym&NvA$ z`?%CgMypQ+EdAB7DWzjqat&ijd>sMwmK6NAeVn`hE`#IQ_ZYAv5`$< zwbfrqF=S+>n6x7gGik}*B8x!6nMl9APEk7co4}?%H3M>dQ>ZZ@8dPNkIJ+oax3nAp zRW8QUJ{YS@Tca1lv0mwPJJ00-_8RQL$_-rf%TaFWb2xOTuOAd&4HDB~HryR|--ulw zlqWW&Hd#75kE%g{U%}#qCLbzj$n-`+?Mn3DQFek z?2M)V%=`1Ky7UYuFxX_q&2H=OVz8?XJ_p_=d0fs z8O%bOmCNl(wIXVnBWC6ygbGIYX4bK5LtF`<81l+pkY^ddu^#} ztaoM=jS~2{z5V^j@79UHqs!y+l9uDHc3qS7L}2-`)U*lVf9Jmg!JnUmL^)nu`n z4Ux4xTdOOtNaHH-(mmu4=|@Sq@6^;I+`Z|2AaA@Y&2wH(6<8zqyD*CabdmLy8;+{M8Uk!CwsveNZ2bW`ab4rFzoEQy)V2PH;a#l260fGgOVo&V`<* zYBz+k(5jBP!m|nTpj~4}eH=s3gFisCXQ^oo7I^LUuU|N}r^!YM*o)CH|GaIQ$P4F( zawzNUIZKv_=6H5vA8rYf0gh=Xv61GlL7;tZXGt3mJF0N}D|+tB24FDu7z3c^)4V@- zJrPQyZ60g<`my58Q>QTTWyuMz%IBX~0qW0simD*h%kv=-;Ze>3maUl#S-pksv6!6m zuWeCB>oL*Hun)-nyu87W>{H) zpU<<^lj&65^Oq4tN%;{U8!EHQHw@E;G)VbGcoN_Fhf!R~6@RxG=KHs;;!D)mwcXdF zN1eG~o*NJPTg-9tkKb*~W_nXv+w_>7I%-7fQyEnmKFe`xel|J7_Iv-uLNPl}jn2qc z0V-*RT|SR_2GNZ=NjBmdicJhf3#z&}XzwKzE)Ivk7a$jy_do%hB%`N>zX>+U{8%B+1PLD`4C-W)I}pcDtllJc7X zV#mp)E;n_P-&a1{*JUKTKd}a1ux{JU1nt;SFYZq4_^Wf@hk$}5AcfaVl$>JIcP@B~9wj!&{&Jt|UEj>T zrf%?cMcXFQ5y@PO6X4yCyZNVlxMO(vVQVz4qUSB7Z3b>AcEyJ`5JlH`6c~nd3*ZM7 z?}J+Ep|FLi%V{V8w-UI=r$4*Krg3tFRt6-`f?4iz8~;)qIBIOI{d7Iv{X_9`@iYZ` zjS{%gU>0ww9Rvi8+$zrkThHV!*HS^=%kEZiN#9kM5x{8V=(AT1#arFKHSt%q)z}i~ z3KUE?ZIXKJuI{`xqu7(zd^3GIn!vg}&oa=~6c2Px4>hilbUx=lRo~=54;PYL&K`)t zmt=qAW-N;DLT^I#9fu72nWmC4vWgG22#&)F32^f6ZsS`{Y()zZuX4N&@7~x80WAwn zAlObF5bC7U(4mGSn|$m4L^CvP165c}d~vVy4&08FVEPPPaVYOD$T^@-jC<}fnFycJ zt=)}k?-*ca8_)9i&ZkSU5>2Yqe7NJQK~oh^IwvObYM71V3Y`pj@)aOFH8`&m%{O>I z83k%chnrb|=t(_L-EKC<{I-udu<)MKH&URqv|nv(fKEJO0h};vYHG-_YeQ5$8GEHg zW;K-jQ?M7Kvvp7IJs$YwFhXd9da(Od=pXlke~Z+2l%{_9w1>IB;ev|rL$?R27jA_a z7$^53Pc+Y#62Xb;33wC|#-og7;d9{DR)t-yILk&0eGC){Q;v%AdjiRix;s>buimJ95ncT-z1GSkJ;-UBGk4NJU&m&dJTE*i`*a{#sYaWO zr÷qLo@N`I4+Z>p?aB4is4X#71>L#6+$F=nh3DJfB@O;FQ)yJfg(SIL`^CQ4eTk8q?(V?v-hhQDYp zcRxiNt60esBsql6T>xKfR~vP=E&*asi0|VXl|p4jPV;q&3BgRr%+Fa|Gvge`$*$=G zuVkW%2}*ozvaHq!t$%rKjmmd1&skGMXjhx`w`?silL>=+FM1@{9CX#_#KVf zsS+n`Ma+x+^-zi2lbAI%@7e;NxQ|5^T=EFO{HtG7o|GA~Si*!B2S+5+*dx|W6pYk7 z2g5w#c-3Nm7;)8X5^O4`x>4r@FhkTo&GJ@r=-=({A0H>v_xK3Uo)FGF-K7=NM9TLt zzKn01kFPAvipbSR%3mh$_$mnIV|Li4VPs;-sx0^F9t!G7uKJ8>6;#eid$4apCe9t% z;cxvnWb6khWdwI|W^@)2Lc zb--$R!Kvyd#vEvmN5LpKWc{ndTtdHB`C~o{-2If7B|1Lf+9rj=Ow?2^e8dh0Nr{^_ zmwa@jU@`M5`^y_`{y6K<{0FJgfBg}?jf0ipALn9sKOj6bX4Pi6wtJAD%XN?8_c(TP z+-Xn`EEIxxP3Y)T{L`~H^d)4)t>Q+SspOR}cVXQv5Gi zGIRV}k`jj1*q_*kmAJRsyxadD$76IhSmMa+wE?qOSsS+6%tHlKE=oXdPs$yj)!5tLvrLR`|Q=rVqBtClw#EnW9iAr>CwZ z3pF1sx$+xYW49K3$?hwi^$iXmUYi0ONfl1)rZHr9583SaMyQk}_`i@%35p!A!lVn2g$1Ir@OrLr}`el@0CtxY<{$rx$J|-9}z50tPHVhjRfBvGQfQ z>nR}pQFeIkbHA-NjesCQ6kQ5=5@j`VEeo_Ce6FuVBzzlsZ*;;rOnLttz4U^cH2+8* zm<+@b1+tx4={9YU$l#o~L4m6fp$TuxiK!5H!R5^Lxo*ilTrst|ddHlE!^Knm%JTh@ z37kQ|o$=om`Tx%o`13h8&@~kc?9t;oH~B=|7WCOlY`xB3Go4VbmJ{=8$E;tEcye-gmmExsT*4kQ}dV!KlXzk-u)TwvaEa)3u4Vc|T za6P0Fn~_Otcs^?ÁG?nmHbha^63U?chpDcNp2NfXhB`9}PU*QLga{pX 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

    *dT)aHaQT!RRq^|q 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

    GcYl+EBc`Blzi;eV#%> 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 {Gj^arH}x)VcRJ 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

    AXn)3&yX|pS?^;y)JxRNH@Yr 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≫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�APxKB{ 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

    XY@K@JB5`cq4EaazH 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%0Deo;B6b)6k5@MdP2kZcND8 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

    m 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�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 z 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%0D<3hSqv{sV(_(E=ytnU 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

    --(g~7NO2UF5oK^L#Q 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ʐ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�&~ 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

    z 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%0D+|5D$8C;BizFgrw7K$AW~pf^HpYgDpkrSMII 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 zΦ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 (8|EBk5(}%%ng_z%GPxewtfvR-&bqJYLe3kCe!{ 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

    +qY5q^mP z^nzsADZhenM0?S5&QQ%*iQJKF&GaV*nEp+fGBL0xDSj<-!IXQnx(2N2z%3@@X-0at z@EpofhTvHx7`@PX>fTqbq}MnzVQ3C+exTM9L!Z6lG6pF8xm{f|O4()Z!(jL(dwOzr z_nZ#iR;5cx$zxMIrpt~Aot@#a|IqkLl0z~I!HZ>c0Lh2qLGLo8s2%U%;Arn6*+1~v z|5(ti_C5!mmCkHdOyoArK6gzlZu3~K{U_kE6`)UbC)I_l9ggP2B&eh`w@!X9TyHLq z9LjumR(GSip@ni>)J^;e<|h*QJ-osd0EO|tl1?8~O}4E)aiidIaT3_*CXtIWCUpOh z6j?4R|Ds>`ACm`6n&A5Lf{G5%|Cx)UiY?gb72R?(4$K(!8bA&&jt#%+Rq+c z`RiA4A0E}DZhF~edVaaLXDpSoH(LOW1hKX^Rg{;1txT*6g0;|X`V)ynbyOA@)wBcE z3EZPaiJxTb!13YrnJWXs>e6W!R8eHn&2iTLHbMl#k|hr)x8WlEaTpAKO)UVkd3bYg zk8uP}=r@!c=#3K-g>GKpG^Efw%g4+ufooclyWOaZ$V4{$`Bz>e zKUWscXN3Z0@Tkj=-q_O?Ixid6H##8Jt{l%Zn$`ms{2r?f&*f{m-)cV`%>RH1$D9PD z6x%#X-6jQ5Ckh~>&u=%nhy3oPrBx5mudi%4shN{>xtD7w%P-2msdfm6_Ui7;^C)H2_{<3WUR*(Xf+bt3)U|iI3Q2b8$MZD|N%|Ukmk*e8J(j>%?fQ57`2+mAF5b zu0t=#dd!A2iGS|9Q9lfz6O~%(5KZs)9Jzo<-fva^AnDjjew$+Luuuu{IttI=;vy9Q z7JB6s9-=q|GraHd;blNMpSYy_%FQw0UM(~-kx180Q4#=US!uMQ?X*YTcbx-njGyH<#AZll+=kqi} zv%F=2NUh$73S=6z1aO&OV zmaS}#@ZERk^r-*#qb&SLywXnp%fN(xk!=2juM&*>Gh1DGuc?OyOk+sCBAF$5JS~)q zl4`quK1Z$7s1Q3NRS^1-hjhj0hl3f2#Cutr9v1CIzw_dbMX}?&B>TJ4kS5PYy19(n zC~mi^JW2RgNp7EiG~=Xd`i_e z$Mwc6Q~AekyX6(?pwV*AUaK!bO;qA_#f{yV&%bnz##Z#$4k6!}t0xlPV9CboKI^n3 z#iUdc7>&Ds=P}0`9x7#UqlkrxZ$t$|v$)myl`}|`&4gx^3^jM2Ii-{)JWZZ+vvv|_ zWk1?re&y+UCt@dYWOc>6pz>m}6s=SDA}g+Z478mT4{4p_I(9ReJl z004In$a3S6pf}!tM>X}>s-OoSY&Qs)3<%rXMdTi1mSX7D-pM~?z@5aX5QTg~ltuST6j0+Y?CfXdotOuC$}yL)B*V)%CtyCWT9=Eyn-sLiXzfaWy1 zp+&6_x2snFbwmFD{^D1^Vrz)K@w9P2{YLxhICJ0LfoHjdY~thzX|TJ2YFs0Y*&3Iz zCRfH>P4jNh3j?=It z8(}gu?6wfBVR9gSQENAwbldzDUqSjq%`Cg)>Fw~O4-tL(-@Rgx1J?q49O5be0xMRhK-L} zi>S0n*CRK-ATwc9|714e_<+Q{?(Sr6mC^4}&FR|j%nORPI6WpL5Lwu}G2#qU0|kQSC%-!7LSkHci;4|X(p23uWt<%;fC&OYF^jd|P_f%# zk^+rA{58RXom?z~9^ZelF?>7y#iXykg360z9=GV;=V{UltHW7bkVeKM8BnBio}$MS zJQOTqcs(|cFTrEfveI2eN!>~RNc=eFX&q~`Uec;v?>Jnld(2{(o#OtG(rMa0L4EIo zsNtpQs?fjs(yn(dk1xWcVw6yytSh1g@jkJ~iTeJx#gyDZa?Yp7(7$C_&2e#gAfvV3 z2*OKxT2fNd>gHy;=tTd5#018nP`vZ+otg019A*GYnwqNs*if*WLaThH`g(E)gs?56 zyNF^lz>g{BAB?s%E~FEnzA6KBnk>M(l7Q?u*h{r+$aon*z?eYZ@YZeLd43DFvA&)r zp$}NM;|MGFUVUp9~Vt2JScWf14j!Jd_0T!^@0odH~0^GJQasbcze{IcS z;(^W5irwAEe>xP8Nr0NSO++HB81GF&2`S~5M zTCgN<>o-=zwj^-#!{+Eo8@Jl@X72dEVP(Y9Di1#dDEPZ`fH$r&Z`VKB;b9O6W1 z%R}mLMbZ%{C!e36ZOkHAaBAlF-mfookJb@;r!-@K$Qhxi-S9~iQ z;CFCz{eqLU_^f|L#zz$>g0}~UVcx*t@9CYG>du3*he2q<0 z3qp~vq75-Kh}r4TiQ*d{=jY{>b7>8XC*%po>5pS+1}p15XvkF>Y*tFl@hlj5NJ-vQCE^V5yU3qZaymTbav+$DFis(A&6)q zuWDp8#1s|WgpOG5!9`UI5EUQ z-6jf$gJbYS5K5#0{adiE9Z_{YOmrdg_)SEPHyq&?F9jGAu*0wwSWH<_xsoALYQrQo z4^A*T<32(W;Y9VVvCb{%N=1>>`HGZ7*PtNey!FhKNXh6uANiPpfid_vE$DdFYHAwZ zwGCsWlpZY46$R(%|y({HCIe9_p!E=X(Lv$-TQlc_ATP+@ptw zS!M4FJyNz;4iYayzFc0b%zMar2PIu15ik=F>Mn!F`&S?F5XBe;Uy3S0WX;ruQig;? zW*4$szTuhraCNq}A7VljhewZh9qS8FkYP;?Q-RmxG#y68E$isL{gusP*(c{D_|)N# zC@Jx>4owH@;JkgKC*Q!8K7{aTOX+`&CIeu@Iiy53he?^NoBTIupQ(<+&i3w)iL3g25?hl5zpmn#rNr zzF3LJhQh7pnTs|?LIn|fV_$5L^}K~}VN*V8JKl{?ZIw8`i^2c(($UQHISmW;4%mUd zDL4nSrX*6P>gX`FM!K*DJ=Fv0@>s@B#Y-ftT;9qJy?<8NZfb0){=+D#oYPHiO|ztw zI-$uK_vt>3{Pg|~oxys~OiZy?l^{Yw4&iw3?FO&Iu_g3oD^k2XVCZY>dOGF+SeNh?T z?UP(zH{ugyv}|W$$LaY{ur<93pqzV15aE6GN{enoSN6v{6(h`FtTEoB+GbZ%rL>zG z9CkMvD&&+ZURsUL{%mNH=qlw!ZX%So)|qea#WrtCjP4JxCo27T!cj~{1H1RNihP61 zgmU@x(bg1Zf?{TULwVXMPTK~<)*jq2$Me->@;jdIniS!_?a!=*0Zi?Zqer zRT!7RoaV>oHxZ654W06=N~ivZDX#TB5rg4*!NHFtQG~Wr*9@0{Pk?#u{s)$PkEQjm z;>{0MdxcUV_NO`g4NNqk@o)NldA&yvb7vQfq@=>aIRu3GlK zYQ_zemW@qjX^0Bi0S3TcljxSyS>Xi)QQG4&S4tP)X2!CL&0l?N(OCs}ysKnfY*tW$ zgaG*85=LKl8yj^{N-3#F zyCq=siFE^H7mVO^Zj(YG$^TUyVDsX8xA9OE3}0x0_&u(WU+x})7xa=+c8Ul^*=>-V z!=3ad`}&t2hIqJ5H2MJarDl6NK>8%=Em$<2o*3x)Y_9&%)MMiTd*Yv$cT~K+!CQY0 zdU)CeGf6$k$nK6ccyt7!m^qyf2dnD;+K9fM{&O#o+-(mO^x$yI!%aP0VR_h6S1~Fp zYvs{Ric@?9UYIGmLkZ?Y)OTCX%vz96u@5Y8k7XhWBnKMK|A;3VQY^M+Vc`IRfIX>4 z3zMZHgc$izU~$q@+N8e`E12b|~MX!Er96PnW3{Mm$ zvW5B1EbigTD!{<7i}W-7=Q{v?o+zc{e4hf}jkPE`PgytsyY26IM5qdOYv1)q{Ulk3 z3P{xnZcyc7b(ZhF&w8>YlR~Xcx4(r(*%Ju6t#gGbX#aMwc=x2_$>dV9^H9>t!9ga@ zS$3F_UX#(IN`iyN7!z?@phC!ww6|>RYV_WYWB;1Fbgi&u>l*+8tc2NpF4|w;JcG42 z1QHCfA0SgfIPPE***Xpx6&98JiqddF@A^nroCD2930I_Jv6-bZ1E?VF&aN+o|aoIFXR-<#_ck9a`!E3ZfFq}Z#TGCU2|ikg<{Zs zHgdc9E|>Fua#nW0oN||@z96IGb%BG<3M_9S48 z?q0DQmpDwBWYmNDdKR}kFE%~d9oaWvqfMRLILTWe9H-h~DLVOGL36rI<_WK@!gTiM zxvJ~T-;ks>8>N=)FoL!AWQZXK^xjUDJ=maACHYOlk3@cf+o8s8KUX#MvctmEs9U=% z?}Nkj{Z(IV3h2t9Nqu(`s=JOY?X0%bhs5`dxH)|T*{NR`W>V`s1aluvT2r8%U;XzdKRT)JFBDWo(#|%vhT-nxO1DLG;yHHKjG)H|BAb8&zVnRe3atu#tBzi z5f6ONqPv1vH|sl)5^qs{PKCJ`+p@AGM{7$;Mpc$}SM$ZM#dTsQ&MhFYq5zX5wbI6d z+TyAaVye)F%SHb`?HoQ992n`)j$m~NUszg3;OBgv?0Bc=i69cQ;7R?{WMIWt7Z~nC{vf z)luYT_=dwwPQ^^DkZgrUz(C-eYwa_(l!DuNy#!+Ky%gK1xq23vE>=)a1Z<(8Eh3Kg z^Gjd76>nmFu58SIy1O>dczSzZWGn2b3vOANyJo`ANj}dXRZUCo)$#F-ABRV1b$US{ z@iat{R=E89w2BK52?53M1>(DG$^@mf@-GQP z`xz+046A8QR@={dTT|@^XG>L+$b1s=FTdAPQGUZNQn*>xp20#lBLIsNXzY2Sy>U57 z9^eZ>6H-jWCLYm>q3aTDxX<_g{Q2wNaVW2cW)7_J^jR`%s$cY*7@VW`CJ*AoiE)+i zs^efJ1{Eq!_dg?3pr_*&3Of&;LNDOUP+*iHU9s)T@}WK>T7Vzw`p7Ut&DHgazmBZ9~f*W)h6e|$+oeamk`ji?R_}e4jc`| zUW0F7HikxROb{}RB-n)wSn1ObCP3{Nf^G|y1oS-9Q+9Nx>a42=(kS!F)XiJd4%QD| zw(tPT@n=D&WT$o~glmj~ZiIk=74j#nb`?jsgCz@71;e?&ksSZr(!6qU_&S=n47zcG zchZV~z)!{OBmJ^=I%LsybgZR2#j0z9qXZu-$Ek9`RyK5rt2=lBaP<)tk#r_REnFBA z+2&iCs#NiVC_MQow(17$&N|YJff`P?HNGuu+Gp%PF~5@A(6O^4>A2ip4{usYD4?Pi z5Hbbv!z~7LxMh=XXBj7vyF~3ZB^LF5DXr4qGBQnEZ`q3izBSc)hYqYj5+`u6QXI1m z1L+_tNvp&8M<#dt3t5rp^=^>K)4rNDS#}r=$@f=Q(-=FfgzT((UJNNVffd|MqiMcn zS88rxlFHg#b8eIY_fF0r1Y~(156gK=*$nTts(h{P?EJBY>}UMfr}6K-3BO!0Ld}tG z4YAzfBziYR*&w1~+bB$b=4(g8{5t#Z^$G3XmsZ$qzTS&olMlN=znGC{FN&@B-^4D& zaf8j)ZWJShAsGtPOA3r-me0maRwjUSXE$STw2Usp(R=l$l2vxAHI(gqpl_q#)avP) z?As3ZRBTdvObxkhUq^UROS_18-lKT%^i<0IL+h;%UuyZSZ%i=^4h@uM&40Ns6tBxs z|McZ#Wog&&0=(ojNu7{f?oyUY5w$e zv_{_LY2NChw_;Jvs`|$1Cf=`1vtDea4)#gG=%oaP)&14Bw`U9U3@zvBb(1%MF`6@$ z1%OLL{{bY3*;6_7FSs)i??p80DVgCQ6~Tv-al5u<#uE++m0Bhx&8xK{z=$geq?@_V3eS_0RS=n^18vSoirXsmwZlQfB>sXwB4`i2LkEO+Mh2qp~tMI1a!np)}>3S%L1YyLdxGR1k}}i z>%tb-hd37nT2oF4qI%#4{CtlmaLHzqCM9~MZ=N;$&*90%EcAp{gX-8;Vt^D7I4uZh z@;*vMV9^A6#`RojKGmd-@Y;E_61Ei&bhzxg#Di}za3Eil(yO+z~4zO!*!o2#(YVhIm1%y?3((NKp3kwo{Gt~=34Dk|iWTwWph+I6x!x01##323)p8I#r z-a)$3{c~V(gFPzVYdQXa_@O`Fdm!`xT;(Ub9&6_t<_NtT+#!&Z*i1ns; zQ(`D$3%dXo*l$WatiZIoh!FO9E}f*--)pPnYz%e!GZx0poZA%iPQx$s&j@4T8OHFy z6+Yc9D3OuKv$b;2HXAyKl|&ujiDz}hU&_;$RVPguaNLFZXpOq*A)aUg6YO4Eda%bx zcXsK50GDsAbel9fqSFy))0~7SiRJ1>cQ21HQkSq}q3R3h$SxW^-UWLaeV!wQ71z-`*QD2<72&?%?1`~6#3 zkygE2Wzj?+7w5DA-~CNS`&Gy_4sE z<=civK(P`ov`Q|W8xGs*VUkhDv5>{L^ zEpXUv5bfj0VkuEB6jt`RMCx7##EpJ^cQ#tuP;Oq5OnK9qydr30+S0eeqF=G1&-LzF zb*4wNh@p)bcgvi?aYLlIEZ5;-z;`(j2?XOkSej;0ZS%|iZXWQzKCgf8eMVg^a`sUc zN_*W#`k}d#U$=w1)UNNQ_wAp*>>XF|a@N4ZBKft|)MmJEl-W%*}Op z`-;btfuWmwlf^|8CTgM+af|Om+>DG%_N$kV9$f0_7uxq|#-N7txP-&B{qN0T9}T0I zh@9=Y-2!w4v{dF(?-4rWFW4P;>|Tnr{p7*RSoaTTAXI%dGM?E@>L61b+B}OcCdV>y zOIl^5FIZtu4AsWRwftU$seYdO%6befh#9o}qo0AD|WH^){UYOftEJ)~fq-7BTe%L!(aO%#G&bR{B= zi@^YtO!D*B4D!ge@O)T=KZkT`FC=-|dO+$aPg>nZ91cp6jGH09xq(#dc7cO`6^{Y-e^8 zt5-ZV)uI}^Iws+`GstVTLt_K2O_Wo8Vj8~l{T zd^NX&gYQ~>HfLw&UmcK%9euw^b{WgSw^!D@rpm_m^FFS`HkW>kn^|Q4uWR~9!zg58 z01s+2Dr_S8uwd(DJl*zYtL&S*DrK+zQ#X)xjfOM0C@NdogG;fWb<4-;pv{-Jm?xQM zl2JQZbt*#HNnFHM9=5N${Ht8u#aQ`C1{tpr%{uonE>_2yol)!I*H+DnYTZ?*Zts!? zif`k+301dn{E3b!vQJ~*=lMl2hN)4KU6@dJwy=Y0WWjB@FuF=Ejk?+zW!6-d1dAV{ z8mTc~`4&nWEkqKnt5VV%sP^0$j7hib-F@}lnw2W`Z^k~er`4@Vk3UK5oD9^_h-2rk z?rUbzcig*f?T+H2SNfSIVD}XlV{*A07a}83mivyjl+xE%E1xM)KIpGN(@8=_t(NV7<Be`$*-weoJ`=&75u{CZpd$L_zR91OXhvj_Gy zkA^Z3w}y#{E-AuBo3l@K%T;CUYVK~mzw;=>ED0>gej>srJW}4Vx99ZhC0106ugVqI zCqR>tZaM<3I`-V~nrDSyz7)TlSOLcI55psB^wYCrS4&Iv>7BI{FN`~Xod(Vzz;#i| zdC!uPny+|ZB3#!mSm?1+TNu%Ms~E&F>92oZ_B`b68gIbP8M)`9J;Lu{23**ASz_=P zJhrWh(bu5+#2YLfak;PPx#97yOvmfY1<(@NSvf=#Z?$4t5C>y`C8x&8C zai~yU>8j<;8Eefl=~0&Qz31oO_yId4?c;csK&LN>M<0*_lMBp=d|-lqUlef zhdc)-pL`c_w8I#8L77rkwu^W2oh zc!P*;xiNS+s&mZ>;^^cQoCC*^ie5~tbQG!NU-slv6`$1D8&x??UJ-~#%aZShIzd`Q z_m!asR!&mwC`Tw!k=4@(>OwB=w)r46kkpZ-Kn?zdc)^MqTiQw%fvB+4&MYo;Ee5Zc z+ZF!xe{LlYM1||hojBziKeYS$1Z^BYJhtlZ@vPo)6?Iq+s&u;LpqQDy;mRpc?VH4g zxRT4OkmN5{(z@C$+FW1#SG=YYz3vCQsen3eU5j~FE!6mewd2QrPR^f|MpH|U5y-9| zy2xwZ`fyn9&UBVeaog@LS6bjsWR$-#QlQb_pQ*G@rj@;>LFC8KV=-kG2S>lc<2!Mr zU7>ZFY{j0;6FR!uk5!SRoK|}J-yPnKaRae)sr>ZjCM3zUGJz95q zPNhh;a=!|dMm~*F44O{%SPx?~GkN)V{$az|9pc#O4+r%7l=;`%E*W=6eiqnboOFbg zeq2QEY1Sq47>_+l2qgXB|E4;^sQ724#A{Iwqr)9a=2T*I?3zQ5tDe>L-`A&ckI zq}7bB#KK=c#0-d?|9B+%(-?s2`Wzowy^krC%e(bnrbd`s?y7F|^PI$zMP)P8$I1JG z5tUIP$Bhp0<-#-Qgrt5jdFrVbH5LWiRmDiB8^NRV_j__0Hzi z-;EjViyvy#>{LaMAG_QK z0@_&@ea(A#enEj@-0srQqhTf6#dk;s&Ig+{o-iqJsXZTCrvf9|8v-QP)SM#{q>=e0)9@drkgO9#I6wyY%4pa1NCFlzeY?@uTmL0@j- zcucMXD?J}qvEB;i}=AM%I(CvTQNaRfnmGI9=n&~@&FsK31%iv6}M)g9IO z{P}ZpPfIzQoZ&GMnFtUgOi@80dxhuY!?&Qr)f^7-y!P%d{Yp=h<>IcmRGLv~cyF|Y zvC%|$oI`wlr#fM_?mb988x5`o$tT=J)2$GErUAzv<$_mb#8F~B#7H=8H&e+f< zck}$n6M-#x{gW%ECWm{8cJaIjjt@7dtaXg1Qw8X?*-2j_%s%~K<*d=GG&d`Js`0v^ zNsLtYj(l>rdftsHCB^yC^&>;g4fkz{ub>D|1#a##8Aau{5TU*|AO7Pm22S^t-W@wH zpWk~?!EYdp6<4$nijlGQt#MW)$t}USkv-+{r?(utde2+WSiqZ%m2s zaMlq{Hj{ZrN7KDAfAP8Y%TuvhY=@dytFtwUw5V9*=1{E(VqI470hMMxKaX)kQD-#Y z)<9!0%q}pyG-M1pHJ2kFgxz2C!c^k6ZrgFjzAt>gl!_Ag+)Wx0@zO9NtC(|R-9{4X zFluROXNQb;a_cSet*NR0h0l1|zTQ!HU$DSNvG9G!ep*F(;N=|8wtHp_rhzoki>|f& zJ%?!XWP9(Kk>6n+eDffVx=yV?vk_8gqWr79_um8dz@=hgrX!tl)w!5AbL1a41LS1o zX_FU+EPnF#{oGWpfV4$L%?HXKgM4^LK=Fcb&D(E_<@H`HJIHruL0_1pXwuZ^!(-OA zpS{-^1n)+XSx9Z|?tV0G3RUr)z#iJy6j5fRUw)5j@;-UO#Xk2zS^42PegJ%;htyyF z+FJmMl(^ZM7N-<>^q%9JtxhzBcyqVKclk}8DdHfEVKq2hr|jX}XPmUnV9B~Hq*7Xs$3Y$+*krgF&CA+0L^?CuT91_y|w;1pN7w!!-Zq(LJCc@M<_MTew zu!gA2zL+=s#^x}^w(+E|j#ZR@%2{o`JgP#s&1wDH{RH+b`8OQxW2|)E(I=4msz&^| zw)KmsM`vODC%iGW{j|%eVW7}&YYN}7(<5H?9M5*p1%jsIJ8j=G4Si0IP$-kF8Ic8G3DGk3iEpz^_EIaP*Ggq znZj|~9k!kBj62aua*9S1VUOr(DW7+AXd-mY{A3tvx-HHJHQWLmRT%c_zIS)8Ry^-m z)_ZsQ{1N2hhOpbJJ~mF_yJbLmv<^S+clfxwPrcOJ_ZK5CE%#)lsNR)5Oq6SU!CGot z8P$z_q&~fy^K0aOr21fQ7J=bYcCW1LI?1z|><3yQyJ?Y?5(a=pTYvz=W(Rqwl7H2M zcNrNR<{POc6N4aumNX(7;CTc1Smrs|D~5v<@f z(d!H}IChIpl^9x z%j$ej`dAc1FvIfqRiR=}Qjg8_H=LY^N+|*<-H1>+t=&g9TtJrFnOJI*7O#9qmHDW| zeU5!;4Mgqt-}x5t4WFuF?L`nz?1HEiWde&CR?Qxz(LKfuVP8|>e!+1%wUcX$y5Oqx zMSb|f5zFW3SLQ1Gu>pkI-*=l7GgKj^SR^k8>-a0sq#uorkHYaWo+2f8o`p) zyzan9-j2ub?MQ3{rfhD3Q8jaS`R(G`QSw+^1GoVk$QiKdg`J)1B%;q`pOP%*e9Gso zIXgK|ij%O(UNFZ=uy`cmwvv-?kq}h{8=B1ZJ4?C>o%+K_X0DAG4)~hzZ#l<3>76AS z@xus;XO8RJw>$vvz@JGxyB6=P&wl*x$do?0%hni9}c450PVX3loFc8p_(dEV_RRIdP4!qSvQ7< zb2_pt@lT#nlS&m=ykYDC&ST2wav~`sLBk#im(HwUb->a?mv!|FL2)4)qn@Grif2?) zd}0rGr@lUYCO`ekAG=1iY46RP(~y@cu|79R(uN6+Yh^az{oMn671;gK?Ia;L6V-+o z{J0l#z3Y2XsK<1CDZdhaw~E~SCBYqJ@6;JvIaL852flZ#T0v{N@Wte)u0%6^Avywe6u4(e1AcX<7xySSFecpP5NbRvIUpB>QCRR;nzXY|>p(I-4# zwgKD->?Y&Jt`$xIX)W%npvjH|PpX(lR1*_oPphjF&9~e)^S+oUN!bc;V$??2 zV*copxqkv(<1k*O@ig8*iPY+6*;BS}Qn)P|39Oj|9*6VC+Y5-3!+(V3yBlFL8vdYY z3@tF-A)O*oR<1{Xb+jnU$HY$F<5|vti64bj)k?Rg?3hdEe5o+1W6Z;rpO?>4DoqOH z`3(BtllhrKA#j+yffgvx5N#iUAD(%%qP(!kc)**DxLl8sG0A|KCWFoe`*Euc>%A~0 z#ki-VemyA(!rO=tn!1qE*oLn)CY4F%kS4-|2y0ghr66t^7 z@IRa1eDrr}MsPhYQzu!lpECQSJLI{$ytn-$Jd^-xRR~FM-`ukt8ajWOVD>bXu%GVI zqyA(5TVKmxq!u9vcG=(f%$;`klib+&;l=C?ed4IJ@CKxd_*KNIRbhcX)vnbRryUoG zZppp8vl1IhUCejvKSfz-Y3Z@v)BomPjvwQint*aPJl}pU8|%z<8=T}d)1AZNq|F(h z+&untxjS7eJq}JUm|OQ|QmL5`##%_#*J5|1jTGTp7CU<9|OuK8jlldRP^Su zHL1N~f=xH3LQ(&iYa1~B*>bw7H|l8;MX;N62U>fLx!8S=PDhU}ybP1ZZMGH{<5_y; zTHN=4}+YtTp)dBMpxZ_=gg_tv(>X=SMCddVq&O$1l#`Z&fHU!HyIr}a6H>@Qu z5O~5sBv5DzvP}8A4pLCK#(aEoH?ZY;E0+|6Q3V<*_1)56}F><317UXK*85}_gm+~Vybl~SC2i>bMPIL?F<#M zx7Z*914D1$Ex|wE6Z8EC>RD|zUvDJN0b|FfF9nIO6&8aAM4@*rKGm0-5h3U#11R1m zadpiz2F@VBt5)UjG1^N)&rh02vP#-%)0>y|#m3^mK}O9HCECiP7N^!C&V5^eRe(Nx z=wJC=m>;Iweola`Isx-s7*+iN3Dz82B&~TJS8S)ufk9hyFPYAw#!hR8XH+6^=7jJB z@%Aw`O*1UIls)Iu zK-1AhRS%H^XX{+*-{r>8sw%=0!Ua@!%(|Fuywr5Xr?@=%hpEsz*m~a%gsV#Ngu|zu zwZ4t$&4FS&f(fG-&H9;=PPBIz-O=bM0n2%IGut0ah-)PH?W1gcG_w_6=gVAmVW_GB z8mQ<+sOH%-MsNFV-W;k(Q#HAc+n(#D|A3VLAfNA<8oIt{2h1q-&5i)4LnLH4wHhdL z<)FT%Ao2hs8XT3mtsIRDJWGJ#JL~VfQ#!63FihccUfCLDT1y^O2c=}>VRfHs zbS48Zg`tC4%w({@h(2Fhw~gfWWR_V$zdAl?>TP1ml<>A=z!9aAAGCcXp*8zjMVCpP z4Tr(`y%oVdmx#gD<`~2)htNhOW%;Gx28gVHtf5K%txp!Ci?t-3d-DsUtssV@>sIYr zwrJq!1dgtfenyGAlDo0Eftd(lYuHzM8YCn#1Oknvb-Hw3e1tMG5$BjaiD_d}LK;$P zy4ia=l$?zWx}RF3f- z79zeLzLCcNZfPU`Df|_gfjmm_o-p1x6I2&|F}z{k6pgqeEP`HE{9eCoi!i}NVPV)Xt79f!D!(JCFfgsPODwo3N! z9uWO$UX3|@;mz?v{ElrUH48(IER(IA$hcDTiae-EV_lOgK)zi*cCKRb0W|*dOFt@R!ketvo)<;8-|3~k zT_V6|iaKlh;KaJekm>J>oxE?`evs*F!wv-K#v=HN;{F~ZzIpQ^CgK9KFH?8abM6;; z48k?3oX0GLEiYd!j|`HQABu{IB{N_XoomE8>nTR8`bN?SHhDnscyH#)XBU!)$Ol~M z^u$4Bl5e@DQpoV%+zmn%^1A>d?bj;+P7+^rNtD!+F`?MuOU%=wvmlLRK4~2;2WYU-oQCGT1VOS6_Uw?%@@?_LUFD z_j8(yk)E1wk6PyEZF^l4RA(;s1&L-hp}<;8Pv@s~y{+TX=@0Kc z7-I~BX7(A6E*5kxa`j68^t^g+=96$$Y#(^CvvHycJ`I=i@HN+zjQrTsE>)WvRO9(@ zs8-PH?S>-4lle32jFIc5&$P&P*(--4JtXSF53(;f2Z+_MYF=)G{H-VXDM`ZfuDlSV z!)L3Q=WMBuTrZRP`1XOXw78uP9$!6ceB6!e;tw%Vv)?)KoPoKzK=yHPGpy~h(_%w5 zF)Zg_JdejD@QtHuBl2iSAZp5-M{I2aV5)5U?tJ<5=;AN@dUee0_76IbTUR#96eK!_ zGY|z)=&2rK3V^7LhmjDL9rZSK#RBB*e(v(Rfc!!zWZ=77e36e?O#!vqIkawi(NCm6 zdQ%9tN(D)P7w=yF#-a7o70cD1c8Ki!%oPH=Aqop(ZE(D~r zMZMPJK3Cc^I7Fv_See2NH}3KQP+(fN7h~5|TQo253`TA(Ra(#eaOC^#xuVO%)^7RJ z;^(XD>=(R~g)aFN#2DRSf?|bUG~btfo=9hu!Q&qImumpq1ciy0IZhYk6xS7RA9fr) zBR%`!0N!=wY&B?dc{Q`8Sd~A;$}VxXrFZ|dDwEd;yx|{x+%o*~kHT@rq@z=Jaibb@ zTvPiy^?a+6fuTm58Rdys)?DyKn0u)Yoo3s$P*r7px7hrzy|#62D|~lKK0o^KkFycQ ztTkn|GHh_s`qP=LgQ=IqvgaK#%25j%p)UsU0xw*8Zp}}W6KH0&`{O;2C8xL8V&UYx zyeTe#jD4O%biOFaO$7!(FV(2gdD!WU1l4P55`WofHq~V@zHZZ*Z6D8?Ai2F z&Mcb%x&fWuQ89A?@Fc|-|1pcy&WxGf^`kh~T9d7O_fUec&_DiH;dsQz}*NrJqEPD?7I3fxXpcM)Qaoiwa_gW=V!qS#gD0`O<)4ZC4loz)6qaMlyTum~plWLtv!d2pA*Re`$>-{KQ#B~1%aj}o1c^=LNwEt6H_-|TWPPS0`qvL(J|Lgfv8YCfnsQ6l1KX@TzdHKWPg9Nu%YaetA5aQUbr0yuug*j1E61Sj^5WE!gh^Tpb8hX^0f2K+OZHKq}Y0wI8NVS(pb~ z&8Mj~e5F|<5T`MgVZ>lS+?X}VbSrZi$x#WW+bkVI5QzxxW8;!HKO_w)Zz)(Zehkq* zu{KrH}YHW84S`PCt-&(-pi|b@N-~ zVTDI{>=6#zCZBB)&~GF_wPHhJkk3z^LzBb3ICF+XsD3jlFrcae=P)lgNID2n-y|lUaMl5 zC+a6%EaA3Z<;nG)1%ws70)zoB*B>U3boLiET-y&X&eRoB3+7)B@U_9Qb{%a2c7wS5 zN+l|B{z5s6&BYAfq|)!!4Fsl>!lo}2=|3yo>jioLfEYeaT^qjaL+kW<;jG$=cmshL^_loA5BJUH`~8>O?I?e()j_FjEu+Q#5p^G43C%q)8QmFIA1bh z7~a0o{|f6*T&b}mVMpv0y0@>Dl?dSkN}3a)Uym5E@6f8>!-X+5&i)0(z`*z@6xisn zn%BHMWq09NG#+_g$4cf69D#FDm+Od;4g$r$Q0s zJ)R|uTRoj&%gY})^5*{wueUb$$OEOsu6=ih2Z=*~-fmWoe@->HTJfndykDM~j+yQ9 z6i6$YVFA-21mRFQ25vl5bDgWO*YK&Asr>s@;2L{n%XsaJY&Jw2D3-h6OIHw)9#;si z-2@k2+FWeOO3Y%33pp|hT<6~R!g@!>!gI^zwp^V<+68AfO==4`X>=n3PM2NQs8icb z+ZPj&`)xVtGhQSO!GS{_B#3Z=4Sw0^3I+_l5rXXLTb*|U=@)6MY8U1?zs}i6SkrHy z^R9f^nwvGb7JtcXnE&!c#`~uK!uORW%AD_Z$FwG;587o&grwYEgiAXK=|hO}%H#3+ zV^*~86sX%K;xhI#ee|%R&ZWr;^SL=_xJ8=$>M9Jpv98UsnI2$5HddA2p($|rS3V@6 z7IgvAGPMpRo=}KFVK`^%C7AK|H+6zdG5ULyUtkBPyh0K#uRlGzJ6SKyz2|K0^Nd)D zcDPC}o@jlF&3Tw8ZSr`k!6$3^wlj}FWjKGB&viZagw(%y*@z>`>wXYLS}T7Z>~KZm z^Jv4<(b18&PZ%CK^M7FjOn-d0?K1vxsGoO^)=SrFyNjN?qGphT6C-#txUaUlc8!Zk ziBEfQF^UiWe`>JQXOfq$!>)*OX2e1cOgVj~2jJSOz2C=R&=+!@FN4R=twUvXoN=%D z<^XBSQ8I!>uV98$@|LEcCYT)?!#9o&&%F+Gi<+i9{UBZrhK!D6loQ|23Txao`pqay z^v_;VnQ#EIX49BL?$1ljwA3g0Cjy-H+GO?D5zLOS5~Qf7EI-l@$M-q)Ij|Ibr^6jx zv;uJGamN}(ayM*y#zGQ!Z+vD!!*`1TO}>PZKiF32f6GbidrAf;sAo>PMZP>L4mMbN zXzWU!J}l&;S$PXAwGKo6!$5eCNu8nR1R7?DwVJTm+);~ogfQi^&kiwCMKUGf2p2_R zo&HS9mHLKAb<9r2Q|7HQkWyJ(4oh1}Lrq`yqA9-yg-)?5;2%kqU%_^#WXhZ_uD_q3 z0avAoO6y}$9xOVK%!%rET|R5S&Z{cqY|=@Wl=sXdnVkw%+}8oO*}cF4??RG27R9t9sh)%5s<3#w`d8v61*@N1ggC z2PaIurJMxp?1y)?RlnR6pstU+#Y4GG2l(KGQ7_-|@o^hN`5ndX*StHkzJ1Z$nkGR% zE=s?{ne6GVw1c-MY|t?EfG=bVn+Wp6*^MMfyz$(qNVP=i z=<}uS+-q~^39x&#&WR~uAR7rjZ$Dh;j6kbGfHXdeI$OSJ1EYdB60YWFkwn0u$BaLX zzzbrK+r#g4h08>oQiFw5ma-NRmdP-gnDTvDxzd?N@@Zk>s>CKye7RkAcIWDc_uld= zegEy&hP@|h*g2f9?<^_8p%q7zqkE&Nc%ZFH&AU&D{9E^3%s^TL$y|aw(n=M_AU&CV z{RmFbw0?xXqo%y(Q`cE%f_78gU%O2W9#`XQZ)UPQWJcKc-?4acblj4Ht+5Ze7>NX!Kx^q|Z*4P&$u{E`|E2w>$$SG;4WDMsb$ko9< zY;ec?RG_8h99Q6$1H*MWqvSBRXB`2j1JTwJ)`O-vqsnE1ax; zxI!wrDvu2~K_Wmyhe{h)-Q&>UiGCMW#D|aCGvD(JesDlHFy@!GfcZ)n;s{b@IK+U@ zjWby&V)j5{7tYvaQxWEQ1?)rKL2rtd=rU(UL_T)Vo#WUkQ&Q7*4rnd2X)8EV{$n|#wdc%aV&Fo+c@N$~#EiX5dF4`){ zv9{2DQ((vxEd!otIVk@N;bT0)mxHzRw9WsKrB~48D5)2o_5S66BXSV#P-!jVAsMCYaiJD(>u#gn2c+ zdbniCy!n@F0^wtH_q)NlW2j961iMg=cBWi#(h}!!^Y*Mrof--r5D)MoT9ODrRKhU0qijau9IaY&@K@ z{B3X6PrnsaIB=*%U#bH1sK3YGmdHd;FO)dW@r#m)5eCW>{I$Z>khd3h+|in@@EP- zau1!lL2biraN;V+tzF1r&114EepU;DCQ+!150uVzmj-L4(f@D1Clm;zKI4(S%80c2 z0>C9o5{0B99gvAyYO+}e_W}&)SBd#O$F+DBM154fYf<{hnKk$rg4!TRQHrW1+JN*LdACPI(5Oz3F@L zPRlZfs2>H&LDylUAqYU)48pow&l2~znzUY!)%r+H$(q1se8M&C+`-utwcuoNV`QWzWR`f?%{xYX^tZZ(4*s}Q^p-pw|bl5|($ z?8%dtFmxb)FWekND%{qEnm(zVDvrTImP=tR&ks30wyvf6dZt1mBAg{Ov&WRGzrVa# z{v~v;#LIezpzeEUE{xeXPCi2`9H(cOh#WO{fiHPIZS&S<@nsAjjKs?QD$ja*E$Cq9 z2$AUOKIp80h_x}hbs(lYnLwT|CFO<6rt88cW;7&JW8*Y_QdP|a^6rB?f+e_sN;TZ!PsD7R)7RD2Frk9|~s&vvBOMSgU= z0;Tq-sk6X2G5Fb{oPZ83HDhb_CEXGf1r>M zlCu8l{`7D~CpcFf>r;if=KO$2&lR1kM19n9jmy;gD68r6Kxg>O27K{a zj<_fkdk{2h9IR(_C-YP1)TSxJ0&1w(q(CazP0wdPauc?&n@;w4ti! zy+_*8Q4eetYQ42SQLE1`Z3UKQt{QE76Axr7Mz7uHcKuBj_}9FCaymYwz5nJf;miE` z6Fd*!cQ&M%dS{-DQP%@90ohOzU!~CI+gqUsT0`Nvh$mAyen~^mTa<*z@=# zTw;K?P`2xM9g=0;okt{F$#aH(`}h3tY}yej(O$czvba9XBMCa}KJK~8Kcx6>s9sJWkOLY|kIqVMR zoX7|*`%<1@{TF)c3`7Mmy|cE|6Um zlnwI!?iA(Cl^uKAvX;J0IaKsPoy5y=n*s{7h=#f&+s>F$#*LrpKY50pcFghRWo2@m z#WKB3fsI>hV8E1Ax6Z*MqSt^$YKNg&I@|c@V&LX zm!E9?p&W8@a(q)tMP2BIyT{JbEx{6wYN^`BNysS5J(}%#Xv33l%v~Amvm0!0MZd9` z3#67gJZ_Y?^VA+xr)BB;j_9ZtwEKupM5U>DgS5!m06UHTXKRIUWk`aj zifaA+Vndz&FNCe>vS{6`EM==NyoPVY+f;LN%Sb`q_eU3bGP-4aUc7Y|Yn=n#$LXBr zMs|%baV39tuuUym18&hNvqk0#R^#I)jaLedycI*evVYo&gRB|cz)9+vHv?i;+crt^ z7GGyfY!j2LrNQ=&b{~CTL```;u1fDgO%PuXPXDebS=plQw>!ZHk_HC42JBok;wSpX z#-=}#0v7^ApQx=MLG~Pv>z@v@ zUAxK%h!W1pEl(nf@`j{)HlG|`J)L8?2OMh_>B*ZvCWY~X$C$@F{osfA(J0*J$6C(fS|&S2ywfX0w+s0O zs|AZF_xJw|QT=`Wg}r)n+%_GN48x!+OVgoIdLfee&dAj`O2x8fk1jGNy-VLCS7mc| z4THyFV=MDr26C`~^a)3tE%|eF72r@sHzqtKi^h9aTOo(1uBJIq2cWW742TL%NupGJ zs3JN#`gRPYDDe!T5peA&r$BMZW{ScT-ln}!%+bhsv<`*w(6-~$|6Ajz-M)AV9kPg% z__JL^NnhL)U33C>b9qpnbTf^hqok5JKn<4;>cVR&!F6xahRd5M_*RTjw<*%CC(8oGB0Nu4A3vxxZbl@~Mo7{tL!zKp#*{w&)3*k@zgV(i-tGi4Idr|DrWpc+e^7P(2x9DVv!0x^`rU1_|2P}EGpksF6M z8IHr&P(Yy1-*OU4{I8*vf3V5_Ml1h*vPY!Y5_VcC=AJ;nqnfdf#U9CKC2I0K0iDm& zb}DhoQEwi^x7a~{yhtv8?!9!f<`rkGMI!&9C=;QM2{$SItaRO#dnI6Q4y>0UWpnEE z+-VjBs&oWg`zCDy?>h8&q2rK5{(}wwr&PHoAg3Whw2rxFWOtr?R<9wf8Xr4yn$ za2LHJQ$ADMAQopiBr!mqk1spzkCJS1dgX{!@ky4>$hHoi&bBN`I5Ve6{e7XVlmjD{ z3@SK3$jqYHfI6P+fgZAq=`RgJvPg-Wr+dcNfAp~@vcM{&@8)m=V$D#{gjM~|Rp9+F^JnAQ@V5SIH51M)7Q z-M`>U%8%;7sr|mnRX-w)W$$SYM_uS^EYb#$Dp-}s9fBkQ$6={2+^of7ik`d>HBvLS z(sJec?d{i}Fw@gVMcBVF;&CV0HQ2*cIhjLs54T5rX)EXnQHd z%>$Vg(@$sNDC}o2`hYmBvI6P--CRI%AVL9M$OXXGBH2Y8mh<@}Ayh_6^qWhpW0#P~ zfkhOZ^+ILUhhFVWOY9o7%$i3~?$(~5{Au5H+ETcL^;Vpu>y;_#$ydSs^V&zWixt@k zzf018)zk6pD<2Bt(o$UDuC2(#ukh_e$?hDvX+v@Z*(E44uLFk>y6{;*L-{%c_@Egw zyh=MRubUF3w?9yqYH%%!kn#_z-#$=soQw>ekR<9dZQB%&n?9NdA7@gKQdtaN?V%-H zJYWY?GAqg9<%1(B=ZS!^5;L?xQz%@Q9-+bdJXu891GGvodYG)CXPTfCxKbi~+z5iF z2zig%7Sj){5%x-;k+G4ZhZg^2RPL&1(W6dGMdB4iRp$t&oa&Ob<`3CEu*{x7j3;mB zFds8Bb?9^%`r)-ETlV&n=*Ns-tPHGGi7Sn(nM5#q@AgtY)sh;oy9g$-i)#x_9(aAF(c%>Bj!w$1l~L__vEr_48(JXD5Rr zY9_6QhNf$aPNhhzUO;6*Wu^LlXMQ(Ymd8XsPgP@M;bvQZznK;TG~~OJZgK1QvgB%% z>P{AtM5;z>&IrxdDv&^}imQ*kiUJ=`0f5+1S5Q9M85jzk@5@^>PGvM`lU!Fegar9q zjIvSvZWX%$=Nitw{S~+|igF^#V{bkdR3}#J9|->C%v9*O`-!^Gvt+yem&NQ<}LAhXURwuJY*uFXJ=mpJ7^Ls18VZYc@)P#? z?&tzatGan^ThOykcB5#>QUL8kPpkh`h0v&zRDfyH@2YxEFBFRXbhE9GHA+glnNU;Y z1ZT^>f2ER7d)C+Y{9f&LbODt<{gZ7uek&MO+r3eT8&A+UD6veleM{xQJl- zaAdbpzNEMvX*{DnXM0j&CU>4n<>=Y{)!pxBtNx^bUOB!l)#7>)Oghh!U)z-@K(P~_ zZiG?n+FvOBhh|DGid_g*zJ4KwXsPWq`XSEeku%CX_J*Bj z7d`J%^BK*}J2#-M)g`1ojy6*UvF;(Wvr}}iP{pc#vq+}fyxPXfDr6p~oO~VQ*`Dl5uZ74jS7h3VEE@3u*1HO)>5^n> zTGSjk>O#@Zf-+&38}-Y7pWlsX>FbBsfTR4tU7eye;HM>iXcvN~)KOQVs@}--&USZe z?@K4+4^6snB`FFWWv^_GZvu7PiV6zc-4%nxKs*kSLLEmp%9{|X?mrd+4+6Mgz^S%Y zbX}ctWmU3XI^-ZpGt-bK3I6m@Eejrv&tVV%K3MiXn>HgFsEg%~eG!3HzCrg|*7T$bMxuAn9ZOz`qdWj4(w-b2qQm632G`W&us_fkDBzI#Nf={fG@A!;T_*CL7mDH#Mj&Es?Aj>y=yva(%6##fi019v_Fxw zRo_q{B6MhejB=OxG*ma zx4S9@{|~7752UkVn(C@rFGoj82ls_wlVdWXAWU83JqW2yCrQtl!K!PEr7mLTNDpi3 z_DIbZM^`+xb54kZCo^um!Tcrxb95i$N6C#TNEEod?JCv0{zSZCnr6RSM_Ng?9UCA7nx)r zY~TD~8LOX}c;T%uh@7FGN*tuQawwlIFF$3=Eo7`s2dui9n6Zw1Fobd4b$ zT{XVa1S9JhD7hoL=VFI_$B!5Md9k_;M77OoQeiEDg}WLSA%7NqTCOM$v?IgNbXhfh zB`T1L92C>hKv+d$d#Vd)XOa^2P&Q(cA{b|2xV`<;)D%ko>;K3qmdkZ~jz_eYC4e)#*d zNiZ_X%_pd1a{FPYg70BNxCAHVNU(_jj~08r!`#VSAqg>acKKh{Mt#oTT!P=*$(wgs zl?~T9QUk0OI1(_G-nXLYyu+EhPwl{#&+31(Q0BtlWBWkkY=$lzni0f(5J2D8ipnA= zh_+yvDLIAl8EV zD-VvGP)5z>duod@2b1LGRwa(YfP9J4FNcRX_)Xlmt%(XxqE8mnly~b7DR})3!%@4T+PznO9no_0ckI|s{8XrQ zwHB=l4VB;JGt?-E()}1>XaIgSd0arU#{d09eGmth9Hzg#c=d^otk*zvxOr}VLxXy z=qek07u^%2LI1cfcuDVb2UTBDs_M01lsHfr#oamxP zsbl_kZHmID|wMLvDi}u+awj_a@m1qQDEawt+cTVYi!f& z*ts+uMG1{jmV#M8zY4a7Mifb^T(f9fCuW|@$2K>7!B(xJ%niq8Y`n3iCKzlkl|rne zBx%V>FrY74nVegu`hbqM$sm)+bLc+xIzr=xTf>zmQ4ZMWgna0NGE!zBt4_AJG#?*m z%TswzU#4?8n;*#_`1SmO(27XcyM58$d*~Z&(w2Y8MQzC2JN`+;B@fjb`S?|d|xFjMU(zF zdOm8=E4-Wn&wKROD&%S34_)A)>;8y2Y?cG|HDSo@<^F9-FobiB55+1suS)w)Yp zE;Oolb9q>t<-h&}+IM}>fTW!JoqOM0jv79H^x2K+&h53lPT<7$(kH-@hvZlLEe8)) z_dqAXHbv!S<6pJDjT%mx^n20M@UH9RNL{UTSQ&nSE!VQ=r9?YfMS2`p&>d_9e}YCM zUJc_&x}Vza{E+s02L+!3P-2Dy%VvIGEI_IKqwSm=g%wSxQ!DwrHLl->C-y!T#7{v8SS&r(xJWdwU+RCIyw+;# zL{nISq>E>*HCrn&N)SCaO{<5bWpX|r#7=wJ74!>NR+ZG`RoNM5;P`f?Rw7>^r2T2a zooB+Z+g+sDUpgjg`c!*k^}!de_9m}&TvJFav4pPu>!muqIH4?6k)+791iZS(Ti~zx zlTs4tO>o$@m%0{}lZ_Za-myo0_2!#&`4`-GhMd;e;LN6gNQWBL*unr)ehjh6tu;U4 zp_*}y!5k`iV9Dfd*T@8>xnDuGo`eb9s_8HHX?(*uu)o6-q53-}4=#TQsT z7%X+^&uP)e{g&B%A@JfUplI|j%tA9O8e*{|zYv@`L>Ia1rDg;`&8Y;VB5-E}q^W7+ zw{TJcI!j$QKvVTJV2qcr@pI0_#K*(u<=1T_)%}rpHQmr3B#Sx^Jzrm9lOQ5Y3V=}t zE6Ne0fuS~JpR6jwuUH?NEy#oA_p+Shi32yXdqjd2VX`9~Oo>kRhxwV`R7oMaP~y=! z-F8gj({V4qL69Kj>b8bp0Oojk{v9cnG_fN%Dmq^8s)TSVY|C|TDNY#}5KWRBaT|tC zmd3|nJ}rE?V>gEyp>azLj_VTV6j-f=2aIcQfu@3X+P($Qgu~Sx_l#TAM}%A9%_K z$rn$+HA3H>leOo}U(3(AQpu&hHWxJeY}GLcg#?uqOU(a`RsRp1{9nQIzaE~8*-=Ik z4p8*@pL#RZAcy657x@OM)j!e#YN&$9PIGNIxjw!h)>lh-j;)GGM??wTn&bds&z}~w zo!$J%W865y9Tp4BH25$Zk}C~^7`%*DV})p^0>0gNdI##d1%BPUo3{9OL5cU%vl)F* zrCVnA6PAX?7Xuexez#1S!aT!kqzDIB6P0dCO8XYv%<6uY|M|SmNaR*mJUzp~chrcD zX|i+cr>w~V)`cmZv*)fDtRlBRsOoGXQPSwx;zDHQl>~8W_Bnf{W_)H2oY>-A-__#< zk_v{cu(%2vM*1W^v(wzj$ZjN(S&vXE1gg8D1RGYG*D2E^MVYw8F>r(vA<_OCHbA0- z^-x|DvYAVwz!;`*oDQ9fBFmJi9v{+27dLLr9H^oxoT2(KErWuA);?8A7S)pOR@S}j?A(m-^0B*sq^1xUOyZa3e*ZKFE#OF#vV=wcTFEAPrcHfhcSg>hN0`4g5`G%I z$T4~m@V3-UO14;MmlSxcC*J;Rtq-<#lFn-LxI~*vus`}gKR9oYGC9sQV2b@w)PMBXo6{M8~3v}53d!ahN zU6#c8W3;wjRd-Zj3%pLFkWYO1Tf#FJ^lkcV!(PyXMG6ZojOtwKn}plENc^v>{2&1H zQtw8N9@64~(}!7BXP#%ULl>Oj^T^--TgX8%`Bxn`!K=mF#rYA?Iz#(ihJDpZMHIBq zs4i8ca-wjZiqc^~w8`g-HDS=2+qYP`IVBidc88^lLcdJ+=PLova}?n7=6jriu(Y$& zx_c44u8BL`O$AH=bE(%ne13NC5opD~ESlY)q4?+S65{zu@e8{3N^n*CGyXLR^RMew zZh$})oE=3v4eoRlrgc{LI$bY#JZE=rlU2P@f=qiJ(@7SaXC(I*PgyhD9P_X?c6_dF z>0ORm2U@!HEzNz3okRS6O<)}V0G*h>jg33L*A_*-yf_m;<5ANz(QBU5n0>%`^)K`I z(gup&LprSvM?#Ag&uU}p2_aweWFjc!yyF7^mGmn2|5uw007oY8uNyiJeJh=0Jh@1S zL+LwR3oMnzMdqv47~1w|pZ5@{UMEt%evh-lUVQS+p6eRXoNzaNu$7ccos%UiwZbIr z5sxDIWNsVaO}|t1bylLrn7f{SwsR5YXXMq^arHl2?&!3bUP`ktyc%Sqt15499zx;& z06YJwm)n!G*=4UZO|)oIf64?YON)(i^KRp=TT;;R)4#XJl&9o^z4ztXtJD7ySr3gJ zKM`ND0v>m-wpPQ%2?$L_%QR7$z1k?9&y~j}Eh-S)_8c>~hv%xd-9e8{2Oa$Dx2>e* zSCAsT$gU_!raKl| z*=xt68$c~xYHK>LjVbms@V0ZEMOa=H}lu7z44}ls5tedVB*O;r3{LavcW{v9avh~dWH4AW? z`Exy(wz41MmSylz^@?T-byM=ZwN2%E-w{Xj)lZU>EJ2#Ls~g3Ct7Ao=qg6Y!%J*fJ z$6h@Vq+&R<0he+MyLqQiAkn3Cg{0@;ndxP$*(LcptMR5rbby_#=Sh=Dvt~6l@mjR$ zryMq|Ao<+Ubq!ek7Pq=vUl>P{LBImAdg2T0yqA@QUV^*v4q!cCEPd)K>icuosI#mI z#0Ec&@%R9j6q2m-_PrEatC3cYwclT%Awt(;bCHrg( zo8S04tEb6e;rjcoNB@^-WWnq0yFNhvvaJqqHtPJ3RIUB!dV%Q%-yQE;U2LBxYtc(F z#OtHOD{i|^OCq%_bu2ytQrf!hQO9c&34NE7-8xK>Qj?bLrvtZ71u@zoZ9>C;2pdmG z=mdq+SUD@a*SV58r5T;tY;T5(2xP>Y$L!ZB+qV_QM|4kA5Zw?J?6L6LQ8w6a#fiTX zV2E z>Em^9G>Fjv7@r{oj4Py@1nJLMuA*kP_DK@woH@9q4WS*zRUa0%#PM|~R6E#Yf8_jl zT^wr&oKuBJ*EYupND38CHK+GL+!_e`jG4fh^2Oah($uQLywtG)77ggX*DuRpeCHr7 zFC?_b)a4AA)6lHZSoQmKG6t>AqXl)c*-IniUGT*SEF#^%+^PK5Ur174Sm)sHICd5& zqv!`aW0hjvVO>;m{G|OT!F--!SRMmgjNSwGeNTMyOj;Zn09SgKS{;iZO$Cp-F+Hc+ ztv)P0^h>?KyTqRYN$nV587$pu9d>P_CpIdd&^TOSb)Kq|q&&``oL0x^;!X^}9Yhko zpCj!wrHqu8C-yjB7t;=m&Qb`Bx)aSu!GLR;(~B6(AUu5l~0e0Wc>AEmc?Wm zQ4%k}@JLsy{$1UaQ$lVj)_*GZxcVNGmXbQVh;j=K@97yF#}5Tao#sX= zdI`=>0HCwqxNNeCu^Hl}>H4)|*pwoY%BIJZ>HVlP|2w_;T3Umj6UX(rfW3%!rN2Rh z`7HQreg4J)&ogOwxqAOhWTcG)dW##~BpO}SHvmlf@6+jj-s}_fO-%@Q1k3|N&kurM znVgVA61=@y|200n2^DXWrAZ7_Pea~c++19}3FC31%XrrZuxbG7u$kefL0e5JK=_yU z7~Ts#TW21_m36ZAU5Z&Gt)v0k*=Ybi=ci#_zDhjM+zE9(Z`^`0^`wmr z)Yqe4s@A4yX|*?J6+=50XI=p#oSC0eIzQ+tI0%K;H$66z#&3xji6>tw1oieT!ORm^ zWuCR$SXe*l#KUt;uGaXb3FvozMY4xI##^yP5zfJvBN}VisGW9QGEi$Q$7JY{hg<(t zyzy|0+(VS2!n;fP!?`2M>$*KioeO8cN9E)r_aM=){R(2n!U*udYyM@B2_9#G>4ttU zbCmJLy}NXan%j#SHO9PisnR)}tE$p>LQYk>#P(qf{^SK-LHp#85DHFUhNf|&**A%W zo8Zg8?*8Tbf2M}ZUZwM;SX2@Wy6w4fQLv;saN%yl7{bX#Qa!=z=QYF1vB*8r(6_d zQWnwcALL=2Fv?CSOjT<-nhNc(AAJhHbg+EKvihk0jeCBfaz^?nhCF0>Po)4|c<_;1 zd4mS^I|o4%Y}!W!TP=rlt2=yBRMWMlYI9CTxu%BI=2CS3N_D33Pu46KRS_T<{}f}> zGx5v)M%&RuBm<>OHwB!oYf#7vigZnN^I^X>?9UD;-*KKq{?L9$Wj0TK0qYC`f=BVA zY=h7C(UKgMsV$x(g0Dy4p0Y{i zXwVS&ULa)e=;X-h*7m*cJ%>)___s#cdNa}-hvhu=pSU3N6ENdRb?za*-b1LDUAbH# zK6R_S8QIE8d&fudghf>j{3bRxSoa&7&9SL{9y{>_hmc!;JWdXSo6izcZ+2A~WF714 zc!UYm7=eBRoQ39Vo;UCkZToE*e>%UOp!Zc^6E37}uEdzX5KcatSXAgjq(d>1$JWzY z8p}=@&MHHEU&60=eetrQEL>9x&{;!Izigu(YmJe!nq95#KKuEB5fM%5HfYtKdySr} znNN;q4XK$qMgr~b+op*6LKGP+@6cmK-oN|E|Gn(bB%i&Cqbr1HKbKf1YUKsfq~jKL zj3LZfqngpf;dz5c4Uu$Dd?bVdYxJ3B^{n^wLsX?H_<^wd1vqmFH~x(%8w9izQ6qB< zU5U>|w4Jtf7b}hWMyj2u-X$)=y^RG6{ zB@HU*c9L*mQvLa(|*<964oMiwJ9p3kfL zpt%9p)FX_LVq6y3q%SxUzmqdTvTa+*p%LkVp;gOYpUbd*mV+XPyXolsLHN+5j}i@F4Te*0`n72Dy1r7p5p5+z5sNNoy%)-KEWMJ2=L#d+0 zg!+KgbAQkE0Soapfdhia1h43+rYY%9cPvDBZNg(~bNX!Vh$?5Hp-$XGP0!75He1y< z@hQ?>pOPFOZMtOyDl+n4?bT}E0V9yR@7gq_p%H{@GPH|J$#Z0cix>~t^}`1`hCl!) zVst3~ya6y`|L@0NOIT_~TF{O)YHjKVwTgEX_Jf4W&_Zakgoo!rVJHIGeT!9TF>6yj zd5t~e!vMg}aC3u%V8Y$)_@?e?UpAY1AzDsOfr2Bz_|u@!HQ*c|D0O2foNe0pSVj2D zAhC9Ht4yWh_buBIc; z6!s0wLYW(^HzK+{kQgcTF1964j|O*UFjs%Ebo$6n>4+|M95(*D3$W^bT}t}BiegWx zHTnfDcS|-T5Nisn>7#-~je}RxjzkRjnzLx1U}BS(J{|BSlpP!cXg$Z5(B)yYA?*FA zUC%dtGK9|51G0Y~BhC&&9DZv{Z=+wXb#Q8#>py#ck!(YiJ=|PCT-WmiYrmn0t$;d! zo9xA~=#yRfgF-Y%`Uc^(@7K3Z{;Apd0#G3JMD&(-y%ouxj20r&Z$`QvZrWpAmCfXu z)3GsVF6XmcX;ohX&<;^GQySFJ%Un6?vJmg^T=YW>=CZ-mYk+uoun_zEzizQK zDuYV&IBlA`?60JUW$_Alm&P~TCG*h^O13Xm#^6r#uH;2A++4NtO++K{*oKSZ<-_=$ zi(=^HOF}TeLH2!3Z4Z2!dx7p;o9s@ZQ%No=P6Za?N1d+xtE)i8RX@%uwU~}~cF+fm zIGg-8Y18k=OV>W5DXF`bYOe+kr_?LMv##4ePmLl{=sDc5S8741q+WVs$0Gvl@gS8N zxGLL!{ z+dCfg6`LK^7ZZ@6&TiX&V#TpTM0hE1tXr}s&TUg34$Y8u=v7o+hFh&zVp2x*xi|Ja z2yPpBLjzfuCWt=itSkhrShBjYUL}ij>`uzKz04cR8T0OHl6w=PiQ{EuQN!q0416CO zZ>@>(8v}Rd9LA+rUW*Q%Saxo8R(cQ`{Bc-QUQ9lL2uZ$N4h83VZR_R<b!Wt$%n(&y_UQ30rcYt{3CJ2Pz_Owetrw+NZN|zn8eiHw{0Y!ai&U1LPFc&xAMwUt<=;GJ?05k$<{Ui)funUf-kHgzcDLQ3CM zjI9qze)0<}l-tUVQCpPIpEHuG^f(*E<8us|N5X#ihbc_#f3ykM8BVKhz50U49otgmejbDo8yz zfYs$^Ruiwa5ID~=9E7_}za^{9b@!vLu|SkrrAo(oaad3AsZ|-XM`ltx-Xc{>2$x&1 z8VpO4QOyp=nH@ZDi+Q^cELC@%$+S2kG&(P3?+vf(j-g+@1b4V1i*5xw(=PHo*Jg^l zHKk@!$IHl+bvWOFIDyNmy|q249Zggx5U;FtRQq;*bQH#y5Md4t{g}h`p5Wu+$(7#91N9~12TRbrO0WTIeZpakGuzf%pB*FTA$IlV|0D`PL z3WBP2_9o}1v|mjc^^gUTQ$erIo5X_m81y{dI$?ja>U8wD7GuJgOMkp>Dst&YOkz;% zToT`C7vrv|WU-B>@{MS`@}=F9B|@-m9}I%i=i<50f)}e^cc%U+)wHf)@`WdvkT>pk z$FV1A(CxR@2SpHq+t;w<>1emz*)NB7>2JhcH#65=*AxKiXPNY@@UFa^Hk7`SME`^g5;kZqn?@pb+-Ev>i;rm$@aXCHy;%jFk$%Y5`b?+hV_`hndhwVRa zPv~>Ief@w8^L~^%$>*XcsMYTnZa1NBdsFk5wSSzH;&@9VE`W?hXLYU>m~7U?2nyoe z>xUW+=*$JE6*URR?C%m5sd6^&P4g^kWr@TSl$riw#FtYkmeVFFt|+HXF_bb5Xr#2* zqcEv|@m0mH-(oU;qPiGxQQybL>aUFDs44HQ!PJ&8Z6N(>Zx+m%@xM<^&!Wq5Y`<(y zM6c&5vWuv$3sxRv&Y?&aD}t_dd(xXaNr7B{-Js|D#6>WwznCf_hp0Bnx&N^f*JEl| zb{`-knWoIrI-k>{(-bmQ?7sc=_#G{CcWAA}0_=;m z4ZWaBzO-$?jeOESkb(mMaK~EHO<(xOHM+33@Zj&o|HbIlg(+Tzi`;rbPGn^Q2*O1 zKgA(HsJh!^_}01J&6EbQn9`Yh8Ua@s)L~^eTED!yO@-WJAqa#NO;pw>fbET3UFRdB zpJ)9a92y7^Imc;f@F=dZ1s<5!?YSl$Ea-Rk(5tMTxL4edT5jsKS)aSNsep)7A;CZ8 z;Vl1bu^;-{Rg1sKRI~Z&g()ARgN#!bI1Yc~c#D+;rtRQOuk4(*3k)_OsL>8GHs!rR zNHw@v3f3%O?S>^+FoXwd#n`S#E`4oJcmTHMhlB zqAZ|6peiCxV|J56i}0fo?F>5%lj3Xk&${jLG2HylW3QW?a^KHNG$Ybo)#-=ux;17n z>*SEx^6r2^KL8-58RY?u{w<)hd&Kk@W&hLOEUQwzRDlUwILoD0+71JwcAd9gHLR_b zqmxs`z(G+&4Hq7y+3W<$2z+Loj!Qm{b8GfH>GJ30XbD0&4Owr4alQ9{dV3bI#lScb zGC#o5#gCP~p%G7_*`FlYmMC#;?Gr#s zNJAPi+|?y=YzsbK*T@le@#I%pK7kHiL_@d#h>INjJ*`L)EQMyTAp>S!y`*g1oNsG~ z;XS0BMJ7XkC~uKB%smw;UsuU_S8qGaDi^oY$7&q2_TSgq6fdc*`>RBoiql@n&JI8bY>YJ5Jmdjq3a1ctK z8N!c#NfPR^o1NY{G7%L#h=zuWcdkuPRIv#9K?~rn>x66p5+eh~?&JKR5XByiA@~}R zrB&j!CDaM@K7b-MktlyvK~y5WErM1~5wAgZh(I1JhogL@PqB7Wj-Ghi+xg?ycbIqJ zfO8Z<4c(D^Igf~Y2y5Iqw`eIYW-c=e-me``5gj9qqFgl~U6;US21Olg+Izf63LRw~ zomZjgWsWpEM(nIlc)gS6+bhV2sAA3$>8#Ixayv0c8o}>7++LMmy)L}q%~ToQ>K$Y0 zSUl91QK49xds`lrTHgoyMYa<+jwkd-pt~0EPE|pV9vxKH1k3eerYQMBj^9SmK^M4?lLNDg+u> zwa$2nt#@fTsUKZFZL(FKrQ0?$;M|^@^?@V!UrznEp>uO~-YHPGk|-W2ggxypERvM# zum)HXopZ?F-ia=myK+)o{g~qWe=z$4oD1(PM-bLPf>i@XH+**>>gLU29{>e56HXsU4Aem%$l zt?fwCbju<|L7DL1p^sDX6&0U@u&|P5j>3K@6)%#wikC39G1V5RgbM{N=$YWEOD!HR zBnWAzDxq3ecr9yaXLGLPlCoIOlaJW^DIwcVR9e4k(=mq4tEB70x_sZ1A1ccUCsmo= zR>^KB67vYMX7*n0<@t9qwr1uBSnYc|x zZMh3JFRIbD`m1zB;#`OsD-{qS2(F^1ZTSpWM2`PQ_|or#W{4GUQpZB0oknDn(pOh4*S!v@PQdxUMIf%$^&ZYPs8{J_1@gRye2I_ovN35s^NylpSckJh)6PvwcXfA$( zWSSV*Yk?cN%S?s{pFn}y-L;|7Exu+Bm)Y59=;RVr!&~RoO~hVycD6@aiff3Amn1&a zg&|kM?p2OA=(*S1f4kX8teO$0t|$Grf{?0?QfT&yU#sy52HbNzSP18zOtPY+b(fiq zH&=JVV+fHLxV;X)e}W+s_CH;!8T=i$EpBqfMW}YagsO>-Au9k>!dn+cTs}L&T*`ME z(mFbEbZ10!xg*2NvWpavlosJwiiUg#CFMI9*v}Ria+$#+sp8!2f&}vN0qF97^L3`$Xdbbj%p44gQc_bx&wRpC z!UChODIgNF-*=P}C)V2Jaf1ys8bn?8c+f!Kc7{8j3Od^e#zd$o+xXA&pyvzcLY86H4ug$aTq zEN(7)3&tD)?$pWX!NDm%P#W_)0>vIrx=aynCGTqoQ3(ru@9#Cf-xH|~iBwCZ5{=rB-QC=}K~oDWxpCZy3W`mapSmYuTVlQF=ooq$M(`q< z=YQb(*A>#g9x8T16A+})8qk>(tJ^RT<*QV*y6Jbo3J_Jt$WW-p;?1%$vGbSp%~3A7 zbG?1Ha;;RUIJ_I9g(kS$)zDuAGsj;2?ihXAd}=;E_;J<-sMtjb+>dX#o4xE*?gaUD zSW{j4uJ=aoq0&9ZpF7klQ)*`B6N3OJUt!;Ud7G*(VOOC(I?prc{PiPHSm!9|1}vyw z%e}}7-obx5+=S`q(6c|=oN!M2_ulCF)O}v~c3I}1+gFvv13IO$L=?U7J~Vj#Gvw0T zV79yYa@b~SP>Q#*qGMbB@GvT2YiAiI;yv2)@-%lh6L-?g38+6B(b&Y5TP}I;9uPHL zJl-JN0*n^=#;Ejz1`5nRWu>@qq_;eXTio4`Gy3Qg5pg$f4iqe?SQV2cOcZ-gy?4j0 z7tWz?)~)Q$2wvDyC_Nb9G`J5yHfZyMOhTlcnoSIg^V#}LaCaH!`_b(jf9>bEC3|&h z7LT)j)#rtuzG*9d_whkq@@ONC)$)=5`C$jj42yn%t9ejbKDWl1l|6*rSrXJHJBcGpB;GKr7fo(B8 zq5wUIM6pZMtimANpb|nYBdW3SM}uBHTl*L1cIl1T_xqCwUpE_H6D|b z?3r@u#Mp1z1N{XnEAw|=yLd^f=03~0N$NnsesZxfBv5?Kz%bDh<802Dl_-Ongk5v` zo|Nf`Zj6pjjQ;jjL8{0k(Sg^LWia+*!RA9FWNjXXMu*~BA1u+-Ys$;2*S6c?sQWQ< zkYp`*VFy=D!$yg&l4rBXg{MH@-AtzpW;8MKI)07%5LVIc{5R!j)|b2bb?8+CR&{kC z9Ai@FO)9@GFRw??l@%!4`3>SZ=FgYz=4l>H)fZjg`v3eC2sK*;7!&nPO+DSWc8HyQpo?`MwS&8~!b7#Wq2@Z5rlN{0IpilNUB(P6ae?t%yK+^G0Gblw0V6d@dGUDP zb0|&diq%M=QjH(=w3sumqIW4~R`B|23kctF)qHH#GsTG~tw$BGLlWJ2vhF$1;;{m; zBHr)3ZSyqS+Dg5ndZDXGr`p>V6R$DTbMBw<#&}mUsnRA~4MlVqB}2Q5pI~2K{j%Nv z%az7WSx-ZQvh@d>ZeQYs(3si+H>Z?;^2l<7T6HG_x}B}Kt^B6a?F3>sW=;-$%wYw( zVxmACF@g6?tWuie(vJNHZdapKW;KaLCH5rfr{ zz-G^2Jkus1D;PZx>3HV~+vq62iuUu3wvis1p1P{+l24y@YU2zNb;eFD_MZHsxYC_c z7CdUS^IJGv>G>#vJzsojRawxDuR`hA_x3NXe~x5$v4d@dk6Pz2bz7MsxANokmSUiU zCuvViccAL}xOESn&|%-Ns?Ts9k&vSIjv4vGjKghz;#ic5#9;9`Y)Q+nexrmDElvWJ z3hP<1|Db4A-p5s^%wn1oWtmcU1LybXp0EAcHz;Nx#8~FX5MydOyLyf@dtMuxd`md^ zo1hofl18|%AhgjL|EHgug@sf?QZl2sR_eJ$D0f7kTFanHF=iAsnn*mrl(v-5_}p6M zn@QGFy4v0Q=ook|H@V*FyomIz;c73z!fW2bJ{p;h*u{b%Cs|qa9RLG&RZYV{cydjH zbujl5I+Z1h3f}CIluaW*w<|@fTQNIbsOL`r0p!$XnSd<~4g}73Rwg80-_@;(R8BJo z0V+U-O`pkE7TZCc8~yTqL`KOb%bEMjEjJiCmx>n1HkEt{3mmz=zMfiN2OW2&OpN-> zN7Cnoe+^rX#(ZhM_5=rL*kJ-ACZN`Cx&1>F`p+W!=fLk{`u!sBlB%JN4d)9DjlxWv*jl5MR|Wq&&#W3EI&PM23r}7M57JR?@31M z=|8AzCv14oDFBczvPl!T0Q9O4iil3Zw@Uwk__ z2v&TUL!sN4wF=rh$5%yGRO$HVymfkY9U9cg=i8yj8%#SBtXXEvh|=f{hi&kj%f{fwf^Cjiar3>tOq z?SZ{L=E6v&=>Z(htBcCF9aP9|VqqRk>2 zX1WQ5lV%C2rpF>>^q972(kp8%g{E=YLpGjuZv+egP(z3(|3cPU7pU%v)RV-^e8#`CYTBrC; z+)ir6HPK_c8TkdblIk-&h%tF^WcmG_M6*s~m-)}Jy+@&fCH(~8+r8oyYWWv z1V5W)rpZTjDK)cotSE^q zuIprA6N}6txg*F*K?}g0?6DteMh^`S?6=x4Y#h@ z*A-1Q=aB#Ne7C24jK@rIm93FT(ERRJs*N5~kT@jfw6G*I4crK1zos=`R7}iv^k|oM zE=CxSwkGH|&sIX(TyhSoSUSiQyXzOCu@vgR!U79KqH@=;= z0Ud!&qhQ;G;a)qo6`sss+V zmv0&ahS1_YrID=zb|muN$JEE3TiR;~KM@>j%gKX|c_sVRQkEbmZ)&?gmshitmLJ02WOh})|>DA$Vo9aFgv?M7~!jEY@sZ` zZ12#tSJ@sRft^S4S^Fh48Abl7miu;2&q;?3tVM6 zP0QZ1tAnv4CjK;{W>EEDb0X^;HM-Lu8AeH=>;}q_tLD@SZKA8+^rf;-eYzoo=!K_f3(kf5`kOuaSXz4jSP3Qis^TjLn zudpV;Ghg@M9*6JZ>SgA)yeA3H2A`9$4g6l+C4d8VAGz8I1td?J5D9*?B-+1fImk?~ z;ifWXL!bzA%DavCxH@52KmhKI@+mZ60}N2m)`UVw$2j@oA} zlgHQqAiQu@>Qj9UVuca_%eg zu!)x}F`r+A{oLwi4Et98T&myuTBdcmgRT9XNe>&V-N0xOY<(3fc(=ERv?LBcx<1M) zM1{8757LXrl$`$_5Li!_A&hCgK3Bj|!~YJ%MsFxd6)nf)1u3r-xK-I9l1m_-F;IzV z7tLFbetQsWC4I#zdMEq7>{d=juZTUmKo#)xWqU_Y)x!N!Zf&d3q^1{zWy$G8m?4P% zRy)sr3-1Y`RvkI4pz{TD0*(T*A{!Aca=rmML?%Y8Zu%Fv479bvG^LBA_c1-CY?g(6 zakP5gw7T^iTFD;)_P&9L&C((Lk=*)G)ZWJdmbpD9bZs54j&I#KGYpMw#mN zIKDHIt(y44?|W}+G#7=w3U8wlb#Xnx_wDcbEv6QldfcS(Q|(9{B!=?kFqLIZ+3Izq zU6lT`J~ou$$aumQQV1ANVs;sNsi3*K80-D66CxdNI6YzFoa>bE4^aLAE2}@J?kp`a;lO1pMCls?Y*)feOy_owQJaC3pJIiUmeI2g;b`$$$? zl|QLEbKw|+GvO~d+1uF4du^b{Tm^GG^sluVAKDhoe(Gb6qu><(KV#h?hId4a|v)z8d+=NgNPD_ zm{daImdIlP)IuoPWNW@O-2+sp9X>pzjY2F00%dZth4^hgsX1%=k$QazY3i56pj_^?z4ofZLD{D>-R9 zOwjL3m~)GQ$6gT?NmcCIc$Ht}_R8D7M%?jkSyfz5#iU#@*-6c+G59B$2njj z2z9x4cx%|yq_qJ=KJVKvf{0Eo&R@c+x(jGE0*q30uD##3$NmCet4bCXT|KlapsNmG z$6F?l`G?|*vb=NwjMM(sa{+Dl+OLHqtVKU}$Y+w9zj&gu#8QDs>Y11DdZ7Jb}AhXBP4zLkUTDv+r zFjY!^zB(P{p%BbD0jSgJT9x3^<6Ypc-@TSL)xOkW6XtE62_#&;y|5Jw_5+bcu4{n4 z*+|Dgac83pJ>d)|W*7SC{3PTrc9loh{{^I?OW$*6z?0K=f4A(fT=l(Akq@TpwZ&j= zyC~D=gIDV{;Pm>Rzjm$b`Rx29piw#7cl%#6U$D!b5fDR!{O0hs>-;FSX?KoUyBzID zA}Mesywv56qT9s`y?K9o=d$)7n@qB5JR#_N?_`+Lz~%jl2IPKq{a1lASWz#ol zv)}H$9c<2bE&Q$P0UE`^oxoK<-xQFr{ns1QE&0 zgN%4s@;u4vbmb|sRk3he?3mgC2_|;Kxu#@Mgv|(8#KvAJY^)Z~lpaR;*ZX)*0kh>B z*W$_~wVlySCoA2dhFcfm){gODchKTc?@oK|bZYI3=_wsXB!%YZd9+x&!gEC+JRI`%QzfnWCHG+FoVdVrEeGk$cUvJX9G^W2s zmGni*IM;qWy0F%r7x-S0O84h#a4m#1FQy$w{h3Jo%UP%zmo zwGvLE>38}NwJ;d6UzLlIlX=<cN{K3$}Jd2(^#T5{%D>-dFWR~e8UEsyYzV(vGAQH#=) zfICS;bKx%Pjl1!g{KZ{3*q4)+^ZXInUlI6Toj!n`!}hxkM}9l4BMNvM0$fpel`U!B ze?fSEU%y{s^;Z*xR;u$&O2pO4=<#g_Je5n-WYG2-qRM~dYlAb?S+UL=5S#7!wFdLe zWN7QuoiVH8Vj5}T`&vQ_%6w^{BD{WlD#frTS&saAOd}>_TqSWnE8|WXV%HOq!~>xT z31dtJLr+>a7$Y*G0LL+%ej{TKI7*-y`FeATcv(-t|&?ePQeZp&ZFW z&rIjSP)|@H5_%Q-ESn=xreH?H6|FH|SSeM?y@i1Q4zHi#4R79T6=mxtsN|*nUD?H* zr0CufwgX7h<+1YJYlmtoG^e_q20Rth3Bu>% z4B}HsYxPzQgw5na+=cb-MvNFDh>xa1z5V7s!XnukbKL4Fm-N1jI?DQR1Ly^Kz|N-m z#puFBPl>GohP_>W)m$$@gQu6VqG6 zN+p4NkIxm=i$}Iw;Xy!GIHCFo)i;|2sBN%I>N%0)B%_8J>VgKBlZWF5^Q{QyTVH@h zrVb@K+G67?D=CKlEy{AXJ0zy{G2>=eqi1?)JEjQC_OJ1140Hz@!e|N^jZh@2;TFjs z8$5}Fep2o9*9L==9XHR|j6hu2ZvxW5w%}Lq?pJwf<(pcOQTcR1WvFF15}O)RCZ6HP z=(gbCACmpfH0A6+E)ORm;mJ>Q;s`OxhGMy=P4oSKhvPyYA038*cHsw=~l6`ORiSYD%dMFB;@v&ab zqgd@D^)FpoEI@DEq8jAO@0#`aFN|TKc`|vZE7;5V73F9^ojXHo#%!tZRWw&Fsvnz8 zcz@K`sD;=&+b?L|{_sql5i^o^#pO{?Pw!(+@z>-oYbWKs)CnoRTEqX+uKZ`K`)4!% zfBB@nO-ohD1Icn%v6ViOc*%Os_7cZ_IBDq*yBs-J@)DMdDtXhlyqJmvErhPFO4~J& zq%+x0lo_lMkeN8Kgxnhi4PydGCCgEBFwM1R#cOgqDeya7n^!m`2rW1S4x#;F@V~wK z|E|4T4yxZL=Lg8xH1|dz=6RLy)6Vs}V_1b4%)vLjPn9T0xiOYrL^3my9$-}?L%Pw= z09IV!sAen0rIODAzKI5M^+|Uxe3NyKqLsLjG%JQ>24^iekNreSOo+5uB3Z4~ncOF8 zFFHM`Mpbkk3GHO&9@-T`AxDdn21^XOY|l_*ufR_nwFHDaZFTkWBLhTP`pJp$ll;9O zdhaV^%kWuTzO)C)t1e3hzs+Tg%+yhgrf+-jSa407EFF0CPFQ}`RL ziKd3|;|A&UEquHlW2kLyJ=yF+PD@`%f^_^kmuj%&3X1oE@io);f2u1%F&j`U6YsjT?Bj)`Vvq zld~t8AKM0AUWog;{zwEn`m5jxn|_v@AD|BBBaQZ`MO7u7Uo5`MBRf0dkttca7(OiK zso2O-s#RBOTqNKxJ?AdfC;wRvDH#f#t#pN25oMdpJnAK(k*5U#XTFqPnK*;Q%yxjQF9dO^A9f~?;XInbIk{*Qs2AWJqB&Tp??h)r3rtLTKrw z3A5zxIS>vuy$e$K%RG1FOwCLUVe|*#@%SA7<_7yI#EgIXnnA#0KP1%kXuDR}_ZJVu zoHin4BO8U>)YK$QgIU5cCZw@(@9*;_NwszQFs4+ZW{8&Jonb%k5Xa{t6vh~15cJoz zjuGVuj9v*AS687|AEPHH0MFkeSHU3st6s>5o4ccf$#1w+Z1xxDMHTPHYPD&4c6L~N zu0zgGnlDlT;sJiBI(YeFi43I|0O+4^J(vHd2>=Y1B%IE2A13Y|OIRJXd?m%(kbM`Q zx1O@p+(b+`bDEQqculgF5o$*}gKzWX9$y<5ncb7G-H_Xzj_d0Z6F}`66%M{PL1C`< zIYCe99s6#FYR)AB8T0eCwJ*PqnO5MN0z(GGGxm?IM+S1_!}hO0Ot%YKX0xrOeQNfm zI>3EmNZ{FT_<$#;s|wpb>@Ud)U_Wl~cyBBZsEopdx>|mjB&|)`=0@23Q17Yi52UVt zV&=Cy{$}$N3qDqAid@)~7Y!t-MzRp+7?e(Ejw4WvOa5-e~z&9|`uBEmBoN9}G<$Z#?1C z*3r(X7+6b)gleB1(I#qB+mfwUqqf{^pTl~%?)RgWjm>;x z#Z;$e*@NE-&FEgFLY+!QFGxw{$W-?KqU^1r+UnkR?*he(d$Hmain}`$cehg99ST8; z7cXwXt!QwU;>DfdF2yxSurJSk|MHIU?UQ}Bl7oz7t(iG*x$f)7ls$4x>?^d zwB(w3YY57xq=(itRd_w!%ZZ_Qqt)f_3p#D60J;-attZ4u1!r9gLx<^xEGSV|s`6!$X~;lXq$2Qrb=<6PXP3CF%6X>m^k1%aXb4tPwY#LT zcAEje@k-4=WlJ4)O*k9bVPD$}B4UH&Zr-y{rmo#8Mb&EVm@ z9Mo9jpIsQnq|wpY3&s8EH2+(crcebf|ubWB0i%)t;vaHEeN63U8j2H|{Ze(W(+ z`js?>9Ik5;k=9R}HuPFeL6?=JsdNH-iztDW5Xbr5AlUD7aq)rpR0Q2$;5)vAC6R=;3gCgAZE96^0c_7jTTlN$ zQTUnBaw!9PQPR%WI`Lq_qnmvn+N1Z9k~NGkK5RjlWh(u;PO*Qbs|>>G6!2t<&b_xR zZp{0}PktT|qA_S@9f>-v<$bEntPt*e$ z7B_d6_-a<^knOOfN$$mwX{4+A$pGmHn4|V@M|3!vRv6>5I1zSU9kNGdI3U_=WaMOr z*v+r_tr!?IS+M5%9lz_iNz(Nsz7|*0vpD$eMILY~rFty5UX4Augr2qujkSgO&t%p| z=d%!jS=CU&PpmvT2wGmgy(Au<@9hx~sX7KiR|k+tA7Ef2LY4mxK%JpdKk~GTY#=T* zd7UEbmS>zdyJ`nll3Y%wvYM|{pjr~?napjaY@%C)UruFylAs-3Zf0i9I`3o5 z1RnDC4vPTpB$#I5T?NBa^l??<^0dk&=?NrE(=M-ZtC&QXfx=>*Qk2mZ6*Vmmekh|O z3+iR^kZeQ2t=-R=$J5SL8ug-9DY$?BEJCa*UECVAv~Ig}$j`{hLKhrlACHTxp4l{R z;XH%Zxf=|O8X-|1;*^#Qv;|xZ`IHK)=I`&fp3go0AhR`$<0rGwhP?PJeR4qLycnhh zq~fSJjb*h8{X7K`E;dgsXx9Y*4Q0yeczTCzDx@fl7;*w4Y9JML&PHr0 z$GdWz?t4LgglG7$GEMGy2RfMJXuwU%iLPVC=sSPwLG8+c=8V5MK>FDHgqPfyR6!Fe zV&)I^JkOd3WpsOJnwgD^5&Aib+3TluuZ%C9^(yVDoEWa8_Zx(nYI6IWW`ggG%@a8j zJf)DPD#v=(CplYI&d54N**yNUqF@(R%o15lE6{(*+V^i=d(&$Z6zRtm@j!dbmQ0+{ zB^;ld*I7;!n96VsJwD(Xpr?8WO3CN|VzG5}@Y(QYBHc5orPX&id+gae^@4RRQfWCH zW~S8x$W3YM@q#V(m3R|choUfNsq2Zp5%_XYHh+(<{9UhTDD$VKB)SX?Ep`n4?eiuq z0}sBXsTh~Kt+#r7sEN)--axTUR(3Vxh}wS?O=6^OhG1Ar*|*rhn<6%5d?3k3?{(3je$p3IQ8c$FYLNfKd{4_m>q4$#GjI&2NEtW}DJ{ z$OYANw{1L0y87Md8kM)^1JO9676B@Le7HsQq>L{|I*M~csKZftWF@EBt5tb%F}RR0 z_Sm*UcZmcE;bJVW&p&_E*++yP=V2%+HcaDnfh&@#*t zamU`Qrzimoc()@K{b8m;qloJyY2-gg&HvlQ`4{QzZ`EtjtT=MuVI(utWqv|jz}y4i zI1WGFkW1?8xwd;kve$-jJA}nC4=vWgtFQq^I?8XUNmjl_SHy9$Ws+_I+1GU%A==7y z_fG`4L>nd6Hjwbm8#(=g>tE(*T1#qgSpJ5+r4o9E|L;ife^+c^1S34KOsy&@RrYdu z0{tMOV`mJSP8ApL@#20mp%L%b3Q70}emHoDDL^h8=CXFTw z$9BQjQH8n9b|eR1(G$Lz@N=c@EKe;Vd`gR?b3R`<>8@RY$6KZn>C-LdXO_?o&&DJ0>R{v&ZcfAd}K|| zE!^M!WaG>LoAw1~#xMNV#$FhuYp5#+k;uSzWX48WOAAHOmS0~+!*B3j6q*tw;anbt zudYq$vznb&*AgBmhmV{){#|`E{(#|)Wk#;O#t+Jix~9DQp;vyu3;Z^H!pdCy6T>25#)T*!BD#M1J%rA&}N$qN5Y`r=h&Wm|zOo zK-i}X^ucTxxKZ*FoxfWxS8MU>dpc}z6JK|*rNw~I_-Ju$tqPQpn+ul1SH`?P>W%)u zykl1(K5g;U73aVC>Az2zbZ^vp7_jdZO8FXwN%=fB*>@mzP2}-yDDD&k{E}iSga&iR z<0#XqINX6n41YYmXsZnk48r$%Vfe(Iz}xP=xv@`5lVdR2*YQp%!$v3!laToX04=-w z{g~@386oy~m>U-7#dZFV%@&7(47Lo;Dho`Rz6EPYH95rhS?PZy+^SSA)#7BnJ=8)& zLV|j>G*%(wF3g+G|uuvX$z z;sefTAr{3H?@w4+X+?&26gDv1q&hyn@l08{`5v*#7TfrtqrR%kxSvyJ<2*LD#GtBI zR$u#BOZ|>OC+b4wtCbVQ{{Gl`Ue|s1(>b)IW!F)^`}V;!6h_TRIV~oFwHD3$5vQ9D%x+jS zw-4r{ZIt;37M`QM9D!czFwd7nTIlRibs6Zlw)ZOR0v;gU53oM$lVsNovT1m%#>Xrl zHH`h^C3LIj%>ui2B2%dAHWZ62K%*+n5A8p9hp4y71UvC?QwI>t{6;(s`S-8Ut1E2*QBa?zJmhbNr8v3iyXwxfqG%4m>8 zwZ5k+|8l!M=5cyA8B&H11f+o8xj78~e&fwH-`IH5qAR87_gacF>DfGY9(NvnK@pUp znF`*^&~%xMhT8#2-$$<_7f~=O0>WVU^s?K*iKpTSrmmj8e1Bt8lccvOvNv8G7&Zdj z!hd53(@?taSk(V~T}iRWn*jY{-Y7e1XPE*y*k*fnt&goC4C%{5`~~+;-Reh>6hvE^ zLnu}jtW6)!*+33|1KuaWvNPDnWRF|b8Sc}x7dR|h9H5^rC3{=TwMX~WMokt~e{q_a zU|}S!^$FNNX>4&yP;jn_H#%a4e%Y}9`Pq%jY!~W|4?YpZ)6H#KaVLD=bk=CreOS3h zId^u+ROA5w&mdI}E30QYl()$~FG!{HEk0%8EDWF%qc2M>pEIpWe|evIYT}&~#Vtk$ z{-kQIe?01v)b#88;KKAHo*~_=Nz1XL;r}dsEBl`Fi@m#>z><;N`$D%{fcQ(1@nOeP{z>tW+$t5=be8)8lt@}Oj&eg zpw&cnBy?l??v$Eu^f&g5@Ey$0Xcqcovd;2xWwjym@h~Ri6=nxNGfCi=b5heC-<=gY$+9+Rr?jD%i-9tp zaZwNVh>$ypvV4+IX{YJy1SzxDkAD`q(+S|MBr?)XubDJ&7+^KXHGLXqL-REYoDD#^ zCp(%TY2VLI?>;6OYM*kC$cA1BIks>dJj{w1-zLo)b`2R1OT(6l9tfxHsOn6qddO_X&r zK=^PWX@wuCz9cRrJ4tAxbjvyw3%ZgEAZ4ej1$q}4BU9(gXkDTul4%E8D`tnyo29mW z$)k&j)%!(A#~aoh-S0HMkcr5Ac zK=Kz7zWxsN6~#q6?+iW{$Cf4pg`BkVcjff1W0Ms{6Y6~%{WkDjbvtlZPlo;TT6b>@ zBimh#~Jt(^trHF~l?|Q+Hz55#6U)*{RFO zd=SmiioiTR-0%J}{cB)a$V{PMt}5d%GaYc~GeCF|)=LO1wb zg#HRg!k5~E_R3x39vNADjd=O$0hH-*6Y;O{f_+w3K5x*wXO_c!hR?zz8$xt|jHgAF zfZ+IYfI6*@bl$HzRKp<44no9a7&bZ=;X97^dh*s^b&lmq55}LX&WMTfj6Ned^##Ln zbH^>Bca{83s^p?iKT+agrMTaGBQ2{m(F{Y0x%&)5Z<@UYU{$y{xgZOC#X%xt$%0|n zOzvJ+J{-A9vq$>%&JKHZuhh;CH4itf{Xnodj-{}Ql2J%cPd0X%I(O?hDkIh}&(O1l z9vc(?y^Ib~R9HQZqnN3wip`ok=8zB5e|Z1LHJ$FQ31s7Brcw*p58=9AR@ld^>_ht; z4q}pRB&kgDJiyolU(G~MPc53!*ua7WzSRa_d7`nI_oeawl5ljGQ*nqsB`7uO7+woL zN#LN;Oa*IL0|0&TF&9I2$(S#TSf)39*x_bQ7%x*^mUIHvF4uy~MIgf}$inM~Tc;4Q zU!X-wgdMC^Cu9W%nCTg1j@;KB(u9E~hi2xN?_xGA^Ur@sX2*)ofr`k*on1qF%}1IMsLQ49G;Uw)j8sD?8JO^bm3iTR)H|a_PnD;4Z+mYKrEh`FiI}6 zR=5K_LaR~4c)RuiObY$4-@n?OjrR~d$JPa1Y=w)p zO}G8ByKv7Ne~2oLxPwW`-bZ~*k6kKsGcYz*J_)t;G$kR z>TBURHnjU;TqLYsXw6XqbueTn=LtJ<3e#7JI18A2Kng+kFz3A5DXbjC7G-exey%FAl2jAPR3BLFDF4`9=o?l%_Oh-5Sl@Lw zW)(s`lP?N2c#GcfeN=Q0+6ezvU+d;?hF6>tX`JYv?iEJhnN?7o;$1)uH*96+<-Eq) zPMU9Wxzv@W9JPP+!Een^{YkX>f0o7A3PRMY$~f`mvO5vm@wxN;nr&-M!HycSJ2;Pk zS*bKT&w*`KWXl4V#mLAgI64h<#Qrh}?4nGZL{7yRkj1${wX^5);(cOy)T#aI=(gxo zf7^WHSXDJa-{@~>8lv}gagZ@xzcIj>(ILjcl5{BO56z2}61tMEJ!>E?08?UR^{Ieh z4F4WbH+W0EwUk+RuvYEDnSv!F1=6pbCDp7~IZ1|cIiyvcsN&mJ-{JLc%qE342rt=&qPb4(1TSxTD|_Y% zkXRQg(m>dI>vwU*ZbaNt39hZ`;YEH-F3XmY2UrNPjXtw{-%@*@|2?DY`WKM;)4xjK ztuH-*JbslP04x+T+Zjo|wQ5YM7yS59{&SV&{G#}HdgTR0>-<;&zutzKb~j~#)(3H< zKuTUTB&R&-rC(B=)!NIo`uk(OYr5W)wjbRj-d~r0XywwEIwe?o)0?%d5@avRuu}FA zs#Io@7Dc^};-|(M|;wDfSx# zKh4eZNP&26CJ(eoi*eCWqYm6Xap+SCuOz-A;G?hs-&a?>ShoU;&oRaM_lpbkya!35 zB4sCP(n)aPKDtgFF`tvE?9OoMcc~LR3Os{2w+I!pi^-d*Eq->1=JZ;^r$Z%){%)Tk zFG{LCAWHW(@?qzQ{)(0$!F}=dTXXNBmv>M-s_*kyN{51$3nOyIZaYIh7NeX4@dnYDxj>ymmv$ zz-|K(YG~Bw7uT`P7}P zXU9QRt<94ehFS$VFcCOdS2C6506#>?BwcICY<`x7nA}Gfx)gnf*Ly6s(I97*>Q;EQ>y07eW4gi2mm^We3q;Pyv>!P43Z3C1st&H05h8`nG7V*VHvQc)J0qj{)wS%ywgX~=T3N!>JT zk4Wj}u@}GW|IxoSGZ(y-iWgleO+9|F|I`Ex6c!ZRf+BjI{tXU?3eH*ME?|mNZo+)5wvg2P$Kkcx13B7ma6LFo*oO`~Dd0 z74RuOS(lcq$JdBR>9$#iUHBv|Gd*47S+>u2Wwkdr`Z4GkaN~Ax>qsh!YAPj_eKs^C zI=3d&+$Z~e``g=NVo0C{bne&7_K}13*Vii0@3%?+U3r>OF3%zc?>-?ae=BX4DdR3W z?RU;7uUwl{O(ZGXI0@s&a+Qz_SU(|>sI(T=B+aL`4Q7#GWB7MD0pGW=6v zKF(1Vr7*vdsy#&TLCpF#YgF;4drADelJO!)G*bXN;w)BDwChU-em`|s(s=sy)Ke1t z(^~-U>f03BNImiCfyEytl;rOhp2_)N(1vi2?6ro#WiNOlgrf=w(o7m)r=eYL-lLmd z)cvf?F(Cip&3u*}>LU;~1iF)120|V{Z>AK^19N4d>BZ_1gCd}{MaqD&z@ruYkMGDd zLoF&gHsK!4U7w7l{Hvl#ao-ZVOxq6m@_3o8XH-i80$vL+(bpVc19lUjz6QMI(Eo?e=awB zCQT~a$y+8(-cxIhMYmd|?Xp>=;3Xv>IA#O$W5#cbU+PVM+anFy4IK-Bx1q*=MPryY zmPC4|#u;zt#>XZ9QQ7dg#1#?cKpJvTuURqEqOrw*V$3z*YNF0bk)GSm;nMRvRYlfNZ>5lnt6zHPL*kT#Z^c>GyKsq&gI@sLzjXc4VO zx#ZB$>`5oMeS)yF+v~IN%aQ6G7i$-zZN1I?hQ3;+g=ni5 z+njFXGP911$x@5k;Yak!vf0}6NBgjTk!;61=Fq9Vp}@l2ht8E_kcuuQPalm&ivY@w z&#AeXj6EounSLG#oWi9WhJNEaEkf}t!AJG)Hd?G`jx%TADh6yUM820v_+c)FB;Mxw z76&!9vu}RbK6`Jm|M%L@JMRs7C;O`Am+-C&NiF-s;#K^KMCRv|rN@10stMjq>)c)6 z@ga#sL-2@7tdZdqJ3K>g;|@zGCB4}Mv4Xq5Q4xxCW7l7TSb+;_^TVPg)_3~c*i>VJ z49T8I2G(#y7EO&IA8JKg8X$!fsT5%GVawz1iU*s}Kk+Ohf4;)4{=wBHgzTwhH|{ZO zcxtEFMpfhCYMvHef8(e^4LOpY7H8yJr(W1XH@#o|f`+&8C-xFMKz4ynR&DWWAIbca z$W-qfq=nl=VnqGto1Z`FXFU}S1*nr$@HyneXo+t$5_z_~bZ-+2_GW(QpYziySi0nV z0C_%_`l<|ni7&Wsv(M*X>H1FFG#c6oe2)TRFPYi98cN|{xFJm57;trk=uiF8u(^-4Ft`~l`vzH`kkptU%~PUEoY zLd)U%7plfiqWB>UkxjZ`d|amjHWV7=g=7DoN1EGbHScD$Qd0`iRhBr4(=-=pXYR)c z>b=5vc(N|axOqr$9}oYfErz$n8{oB4~^X zqMldyCu_|_lD3@H=P=F9$U_r-t-XzsmzQVH=r@)F>o*g*$Tqg{KtVd7NmIRhg-M)} z*61xEc1YTOUT2{}@fvHP0dyIGrTbO_~*;>MNd46aMz9F z^SR?H7UdcpsA?AqmwUahWOMV{Yd8;ibW#Jxiu|rht_ap-ws7`686poWWkDz|Q}g`1c3W&t28ZL#@8VG=N@c$@Q4i8eg0|GHX%0PRMmpOXYU~&yPMGU+FK5yx z6AFsyI(?wHQx$yn!-EfTebN%7!cCAzq>!P%!}8Usv#Kl~ZU+2CQV@88MMrZTq}Ntn zu7M7;x32&j5$ZB2GD~cysr@0X&J_w&XX7xbkaq`uxa2SdoA@09yVl3yO9%$6xs-~+ zlWJz9D?$F_EK{p6l+_QAt%_AD;oQ zr>YR%N@hlxUcswPz(#)an*WevxpE8nfA*>LW156DR~v+2JB zX_vj!%-=*75EqW$ZfR+y2Si9xdHH*4&d!zx(teCGMjc~N(mgTnT$hkXffS2eH4bf2 zir!gvs`$$`pR6D_3pqf2H{3QlYpUwWtC3ckyngext9W8O&j0%4f4rh9VQ$_zG5UDc z>8@;Mp4)bg&gT>EAK$zvSVQ46ZocuvYeY;u=dWoBEkA6RToM>~_72!dJMk$u>OPZo zU153LDuJ1uW_MjTHut6kZwW(Au6>^uXD53Fm}B#AS}ix6npG+r*)snV1esMM$!6LQ zF797N8z9B>tJuUys?@U>+Q04b)!<>qi!%pi%Suw2eh(v=CF11cMS57$_t)Z`FKJdT zTVq|0bQqMS_q=Chn_$U|2wk;vA@HO zFO7D^|E{|CCSjmeANYMziA;`b@{5t9-$99z*znlcyLTp>J8AS<8`8>-oox%;S}Pn@ zk9X(cx3@YXkA|6pQ=6-@$)a8{YKoc&C(G+);A2q1>RrMRMMV6|{Kk>zNubR7L+ay~ zm2R$QrBg!#f8jK^p;NWo92Ew3^DzVC4by?Tp$(r$iB93WE5v4u$8gv6(!)c2u-p&- zID2xyjkag3`A$;gi{i<7FGnQpkfjNU%@ZA3NLeoCBl*yfvVVbV{vrrw`QfF9Zar!0 zaYs~xVZa>WkU>U4;_52o1C4PiRYMUK7PQ-0ICX z?OO_j7Vw3y%nb)#n%Xf{uyg}|g8m&Vh0}`xTut%^-!ftMq<1q!ubc=zYdj9YwO#)c z{(%U)ZpRtSVC1U_pb!@2Mkyl%Y4$G2R1jdD~6(A>TByf&VQcE2bNme%+iB9r-Sw3}7=9c@ka zJw&JR$^_h&UEg(onfZHpE?k_(e+PFvO7(il7f3?!ZOE*%E9WJ+aN`?pm(3$uT)?yZ zd^d0TBbtzq(#FXa-x@;q6PK8i7iK`0{}ywJu-Vc>Qulp-`2^&bAW>Ip!Q*~s+Xn8# zZ>(<8HrT%zG8jo@I&-b?Mc}zm>{+oBV-&Y*VZ;mY%y-_28gRVv0yG(V0nSf&OMLPB zl|%jv#k)x0e1KeWna(OYF#i(vyG#JJ*EJi|X=`8X^QG5@MQnU)_FXFkuV`h3JUf#1 zYy?2-p$|?^toPUPui5M2JLkOz@w%f4cb$rC993miEi>ogzyOt%27<)^wRKG+F#N5& zMw|bemBeK`joIN{BNyFmOAlc>@IAxXWoiwr=7JCh?@K`f~35JQ(;i>FeYA1v|&*jJA>> zhO&gDiKY8CnsQ;~qJ8U^BZ#B3j7&|W^*9dvJA%TG?O%B?m<^s`1Z}lFNK|JdES4_A zRpM>am->jV*GfoPuboHZmzH~X7K*sf4)$UmZh8sWxq~`}(Y-s1i#`w*TQ;gx>=EJY zG5(s71R4B%SLL2HM_ZPLmj(8gm41VT6WT%XE{!ee!h3xS=KtQx`6s~?fBtC^nUA)V08lI{uAB*KM1Of+rgY@tG-I-iZ1 zRw3}lR_VjE%1GE-7ytnKv+A~^xeeWHlTwsg_Tzl3Mvs-ur|kTU(BCQ@Xu)+usU#>3 z4RpK`2NNm9q>HbOO;(NNhyvgv)$b8+wY}dZuOPJ z$o{Ftcbd{3MH|w>Fu@iqD0A>`#ZkAr2YiiD`Dz_D*1h+)FOVA(w&{S=W3!FDQEN`? zO_{3Ihdh1R@B)F5Wu28jiQ@-WLJCQpO8TcByP7)Hl_s5bQXiCMBRQQkR$Rz^eF5WM z`1CYE(hnDE&HT&u7Q=F`g(>uugOk1J68TqKk83MZnh5Z5O^wM^mx`2SV!h+c}mAEN?5VOT-Fo6zZ=+@x#DQn9aus%2U*442w{WA>Y7%TC9vsu5R<->NS!zHDoL5@S}HST`` zo&U#+)_j}-n~BweNcp}=dFc+nZ<{4d%B*34X`{BDr*D`Z z4=kA<7`2iR z|5#|>CNDO$dxf>?9f_oERfCE_LJQWX!yLcej+O~NMWN6p4HkQ^9QDX;OG-KaL!FbD zAw&&ZfZbN(;J4O#r zQJ70+{@b4`etVwT9r~4+1S+=De8y(Mo3Z%5NzwMbA6W}1{nrBmn?sxxHz3O~5N9kL zWJV3G+S-f~S5+GNtXrdqEX{9Q=iZ8zrp`)v!h?1pkLw$1%&FjwX*&S=ayr|~91REL zNMp@CiotPezlKBYQ5MLXbga6r`#Qp&Mwn=q?Q+Qa@eW9;+fwM)26d&K=y7!DVRe6l z+xwM7!Ob|ez3y+4z#l4rf&%lFX8$?qh_}4M$?6m}G5<~-w}9TzK!lyYo>yX@d+-QR zN&Xva3-8>ixT3aOdRN_7xI}m}?~ZuIpG;;S-)xxBMVD12oxP8Wz^4N{WE2WFrG5Oh zg<3tiXL`BR$JB`5wI1P^^Ewv)x-*BYP|`@>?l8+oRi=vAO;?!sQ~r4NQUnQNB97eG)$QiwP_Ww{k+q!u!Ffh{ zm2q`5Bt=VT*XFm2JWefanN)|q+pIC5z)e%^@6bxoSJoxb(m@et4N-#m{kx@Rux7i3UczW%a2K7 zuFt_gO6+Mze)fHno2_@Vc5LK-yh?Xa8w$O$uyC`Q@GIMQFUZe_gGDDNmjaDBn#T}k zf4+Y^LjA9V5QL2Z@tj(oc?+B9^Kc;JP0Uyl(9`>K2#NRKK8Lt%tQ%jPHLrJthx zbeII}M4tD;rVekQ+g~Yo@w8J?ek#b=Wx$0mRdVz2{Ej=_H@QyQcF^+l6M@8- zbo-nut7Yi7zRUH0fCq}eY$U{P@4au_yqqw3gZ=XJR^ILAc3<(_zqqsgZi@5zwgFgg zD&KkC`^)#m&G-F8ryov^*k!@Gj(WnvsiC4K4cTJ1oU^^oT?2R|x^%MKg-zUCN@O+Q zn8kNxJc97h+Qk!v~?Vrwewj`?!)`cSlf+iCr{c5t@_NHd{m@d3rrB&rlE^k$@| z2d{1yV4j1-AT{f$qb!o5&aya9y{i7=Y!&tTFzT=gr|8;|aP&h58Uu3f^EQp|N^NOw z*w(aqXTU5gmkQjdgun4=;#SPB^T@+PSeks@qW}uLVSCjn9jYc@+3bU5cD|$~fik{_TWs}BPr{F@sDB^FVE0wgda`e9^%Hjm z=LJ;Aw4(X>ch*^uq4N@!ZdMh!quS5=HNmYWWhIqEw>X5l2w9~zv-No`>$GGVsDry`x!D>5MQ|2-*T^$pL-=>my}a`=)A9KBWEnGK z1nsZG2E5q)MDuUoR{dx4hT>upSO$z>>braFyOOlw{~oFeoH^EF{U>m=H=V5lXJut+ zL9KLw_%&qr-iy0)4JNO!U^BG*+MK<5gev=BGsxd%_LkN7eB<@E&`nbt)ZoA4m(^l~ z+LSXpP0o9N!MRgx%W>T+<CG0XP2V3oB0A-N?0*E+XAL;NC1#XDIQ7>lR2D+F~LC z3&K15A8|~-?Q(RkcfzpHe~*kf$&M&dAN^tN1~l2BA*!q@H-GY$B1mkB#u`GN=#T2E z?6yFAi2-{xNc4vdz^%Yqd|Fj`C|1X75M3W?U`4L)AsLY0(*R=nAi6-l0(%mMSicq2 zHW)NYp>n^R!=ZZJm%H9ubBd(Vt^NrvGZ9n!-kZy_A2HjwwuNC3T z#p|8e4etrKr0XZLFuWk&ExP*BP?rIYOk1~4X%zx2=hOD7 zFyaKN2Hr;dJ~+I}gH^@4Yw||L!3$pAIsa6@?OI&aA*1ClA9w%B%Ujsle?2Ca`I(t6 zW`h8+CZ^SFj|xk*{-pSG{_tgIy4w$+WC3l=eQi@gH|UAL8aSe1$^LiO!=p){^>+Fm zH21&2f_;M^f3FlTqxs&ibkaW80D>WK$_i0!lKc@wGQi}uEBqUdMZidCQdW5DYGn=# z#kBrpLXiawnwFncO_|`8OfLWa)JwhVCIC1i+nsmzcS}A@ni?AaLeR3}bP>n^orR+@!@@7X z!|VP4f}{3_NSgCmbI?eTe>P1aJ&Ox)hRD%$dN-LQ4O{}PSa*12c~5%uMZjp|*U>S* z%Ty4gzo{Et5ckWK0N}(tK9E%Obx#fg zO=d~54;qv_J6Yb}4!0!h69hr2U;nDUXgEJk#di=jRfwurw(}2qf2^4VEZ&}P^P7?3 zDfpj!z8eQ@@-(l$W1gO0+JdTx310D)u<18yzSf^pLYfAi3Ni$Ul}z{S?w9$xtA;ke z>fx&-DOi_3zTO2sZ*0!X);@icPq+}gy}ND<#(SJ;TQ}i;u=%>L*GxVBRLO16OiPbu z?0Pk0@waZ*VC2k}p$CcU(sB4;AS*Omg-1B#lYlI}7>d_zk~Go4%=jsjL)+~B3|A!G zPMaiJ7zr+r&&({lEqJU_|#${RWUp#QX#|tW@maFPP6Smj{rhrUk2cEOThWMJAu!C-Rb^xtoR;awXf) z%U{*Jlg*aePi1WOJ+}j9nKShXR0ttbywz!1zCiHtJt?KBV$fBl$MPlNy}VC3?OG=rgEm5@YCYx;}-?l=wS35i;Jx$B;T*LtO-dkD6>CuK=f02i?Oj z%L~qdlfve)kDB*8cu6iM14M_SHCQ^M!Li4oN9`@b4p1(aC;FgCbZQuB&&W62R{0@S zf16~Z<^^YwFRPl}te9HeZEX>BG(o3u?OC6w={T`n@UgVi)K_0@H0nX}S<;MTuuB0P zUNz-3?P|{SiAhM0fzdhh{rj86vDoh;QxDMyc54mxdQKm!=ORM87k7ejw9P2BCk9D# zX-YS?=Tc$vg?FVUf)!wUdwb*c>IhhR8*`*M_#*VF-3*}UiZRP?nWk9Gk>dZ!d9RDK z#t+ogSu7Yf*_Y#YN!J;mQhb~T#YFG%ia$fHyjjCufaGuCq^nuN9g`N@yK5qF^YQlj z_6WxBq4(5Quq`!_Hk&>4y?7}oezGSZAaKe)V)WZ1!*m;QXfjWGE?WcQ;PCyXI_H zJlQpi<%%tk=*^5a)ocuc^M1JW8?p9fa#=oZjlO)xl1Jj1NoI&A-UxnZwkH? z*Gq=JShzAe5J{{ZJ{8xe3=#(#sXtRm4qDvd)7BI0Dq$eu{Z)6Z zy)HsyU~S~<@vICJ&@tese0htUYRl13zZwkrGgIXbD7K(Wp;u>=P&}UtAy8j2JWKcT z5Hk{-FON-A^p-f>tCM0Ye*P05`ZItG0UzC>3UfY%t~8_(d~%Du>kJu?5RdfG@qMnp zD3vpBaz&DwVMCE{Rasq3YfxpZgrGBvs3a@DKS}>~fFy{LOUN`k-zcj!CH?h#1o@N1 z-ZYpGAWCXNZEUpW8X|{#xLp<1)e(~Bs9CUlld84!aaLKc7r&ofwCmHT_z(MS$r)Rw zWsinV6Zy20>!9k$TaE$G$Xc>U{OIQ{PGP>qatoR_0T>=PU5Wo;@Syvc zl-{(W53;zl?&8oDO-UaLn z&+t&F#YO@RH9mcxS~Gef8~+VsvYXATj_XNb{D@S4#&!1eXyT3xf}>H1bBBC&d20bs>_jtH^Iyh2P8SbL|Rpf+{^^^u)`?^{i|P4EGBVY)&-O&vb~WOe>Yzp#iTxNTP;4fIaf8) zBmzcNS=+17GjML2Y)%Z{ECWon^1phh|L1zCV^fOj{*79z{CqXOU)~Q2Cdp~)87l@_ zLku=kZmi(^U1uvV^W92P3{mk&ET7_n*j(BiGhQ^mDRjzSG}r)8MD1nc+GKWiR>W2U zM`s+wjiv_~3)RmCXCNpN3sJ}@g^ z{lJ?33hYBZcF~ZsE41w$O_?F1tfbZFjietDVeG~=6IC;aiv{$sn=lWAZ4;&@xJ@-~ z?#42h3KxPWbGq|pQ5aHIyT*UW{ms9vP}Z3jAfwbI5cZ3)M4>F|k4Qai(@9L#)bEXm z@XrLj2I)La^twe%g$DnD708eGf}Y!rS4V;_f4jw=BCFh%?G)as7Mo<8_e6P=(_(;U zyTYbw`G>b>Cq=EBN0@zo0>u+>;>yeGeZFrNQQUlRoJdvmdjniXefAy{oFy8?+&ge* zFr9PcU(grCQW0!*v~PE!aUK4TuEwbQOE&^!&5V-p*$GrtwJ>>;N9OgKW9)0_?|&NQ zk4p-NYHMFPN0g7+b2Rk-G4@tbafMN~ZW2OpPlCH9ND)YINg%kpJA~lwQXyDyDcm8r zyF&$cm%(qx*7j7`7;}LV|BUqQl{DHKlI%t$}S@nse{Cz|G9XuNtS zKMM3U(Vlf^vymcRF+~;9s#`5yG+xBLGMk5_UeU1KlltH+XevLE|IdhP%M^(|J^Vug zb1!Vx&rF43HG0MQUqTV|(gTm*ge>w{m z;5a7KsFep{0y6=gJ(y|lk80^COGE^g@d8Xi3vBfFK0?Fh4aF>)2u(V!t<%d$_vx|X zzm=htjs*90vwOkq`%h)Hdx{0F*(8SC!BO0kaoR6M2PTx6^me||guQd-d7VHy`#Nf< z*PmtIQU^B!KjH4sag+kSL&!G|x?|TQoJv5}#G2)l0Tva>T`m4KWUJ*`Z;q|0=K?wg zdKdJEe|SX()X~s@-JP*i5s+auSJe57=lO3cDBgxmWr65divaNqTtP&_;|x!W)GZugYsedkzb+~Vkw7Uwf6 zf6Dmw(;d2HkGo>dlDE=Aga0LzXne^HBP{IM*x{tf!%8Xou5&Q5r)0^_KE4;yFLG%O ziyH~ma+RoV)c-g7rI5ca@gI=8Z@Tvc>%5&kX$dv~Q!PV1Zei!Zg!ZMWTJ!r+-T6n& z;$k&QQoT`cjdZUVb4{vjm*1xq4x&5TiNMD*Fe}0JhG(p`puO2sR{ACP9^d>6)FAZe zE}Gk;Gh)ToEil4>J_9)@zVqC+fleQQAL>M3g|ePZ9T;5cbSD0RmR~NPj7WiT{jzU= z8UkS}!Gx)t{h**EAN!@}db(pbAH!!x56gX$D7P{u)S98QaunI;QOw{nNKE_5>YcL~YD4GzeO4iWO_(wr7@~<=W*gzmkWyNbKoEi`l`6mL9$%=8{V&tz5P|6S~ zW1JqmU%PPkJhDmR0N-T1i|XO8_TWV(8JR?Yq>PnUi+&!F`v-Y97VqB=hchqR>hkh% zh>CE$ta^%w5h{elAoo1NkARmG5*8wj|0+yNfqs!G7*&>J00 z{i^0BZsW@6KSW`5$dE%&!y1Skj~rCo$vhGE=yp$|dkTnwR;lHG8`n#lj&%~46!#|BhB_U|=KWX=R(%kjQ{ITItAkV*e!9 zugzoM&SX(+@qAM3yv@wqb;VEAG`-rPsf6h1m>B3iwz=Kn1+08}oC1eD5-Y;sn7NCV2vJ z8rDSjs=NSo7W$nm3AR|5TCA;sZGl#VW%d$f(J`b7qCQ%yesZhhQqJi^(K{0TA)A3Jv=7e)qs zHyz&k;=gq#)O)N$P>VgzL7g>Blc_XcT^tyQ3kk78*v*tZZZ(oSAzZ}|+h>`;y022+vGG8~p;Ipd1t|k90tKw?E zWM5F15Nd*fCC=DYMO_n%E_KuVnP%`4>QrHPn#zMi#jB-A?Ly<(a&5zVV z+c9k-)jP{sy>kkJk3B~8eW}x;aiPa*5D^(-&+mUxA)j07WKLCWJqmNmwe5VkDF5cG zFJ}B$98O&ATMAD?*J;)V1rSo&qHOu4c0R`($p)F+3l-KsgXk;w5u4}`B`Aa)xUsjf z3B))~ALO(zZ`r||p6ov(k|*zPdY*PnkZ;rrwI#`;=nzus3j7dqZoZuxN=4Ywfyekb z99OF~&C%~g;cv}2BrLqo$1eU>l^t~mbi~tv)hVIE<-Gl?)$BW(9|b?%tRTI#qzM;h z!dbyQUYUZ_nRq+E@lwU@`tM`>P7M*Ufp1I+u`I}Gv7=2bQ*Jd@bgjyWMS*9T5J=Uv zmPt7z+Rv70r(kOQUA}M*>%EOJvESqzs%{!Z`$!1C&_Im52d_{s3 zi@T7w-FwVyMmV|EJwLT@z@#P?*^B+AYvI|`-Uq|7A*>DED z35&5Tv}|xBcz1oeAw~nr4~=}wa~4PgbJZ2ic~c?YKg8?<^T4%W>L)z{d)F= z&DUX@y1*hepOD^c%bre%@Ymb(U>t%fGfz@h=RY!cyL-gOzNXVMg6}!)CGavf&BJRb z&%&p-OG;9EQDTtZSZ~7K{ySaBctueq@W?Aig zrDY?}y3wHM;Zm7zc*+?}`|AJjINJMnH3ah!Pz1|({Su4ZsiOToZp9>1E}ib$Tl;xK zSpYJp-iFcrT{HuKMkXv&N`owg>j&r<=6H!NqgFXTW2n}y%(FEfb{5Y^3ayVIS45YE zN!$lpDH0m{I=&gAZo=72Zn5h0`H8d9q@VUgP@S+~^wJP4QUtd4R0ZlX0tS zV2hO00DSKzQyLPy<+ zM{M7;noU`Up;})}r`>f?h$fmbVc5zAM17)qOlxy@kFrc#O3(L>ZkIabU_@)1$;g0R zn@agt^d8QDYM+yHwdaDp5ynD@a$7LuXO$zNyl_qa9XZYj)y{q5wCRk8FzkOiwQ|Y_ zg)lJu^cnzP-Eh!-0i4)8;m%0GxWC4K@YBsSfS!z_TQF#@)W*9e_n9Gl~TW`s?!JKUA_DCDJ_g9;vT*7?Sj&;>krj2p?{$F3tGgF z{r&ZMk5v0TX<3<5n=fD9`<^xlToEV(iLWdx8R{9`|)ctu~1jXpxxJWJ67^mR05%8HvY=a) zPE(OdfjK2M!2~58xQ@d7Hf18Ufu^k}%~c?MOR%{SUl#R2kM(``o~_`AvT+5I5M|M` z%fs>mEO0!AX^+Tb{~cUuVer2@drn?~K0+}vqfN#k6JY4cb&g$x_lm|BfQ#1*ae`i? z$(N4m80#tfkunPrhr1dn_l9CX(s`#0 zN3m1MkHS?%UTGiH)5%PMM|nj+xBwCN`@)ACaaU7qgeG39FGWpz6{RZr4xYK`rSJPH zR39lSt6Vff-vp!d)owf5T52?^h9ZmJ7)q2vuWy0>uA}ce_|epj90f!g{+@zd_TGfQ zkP~KzvKII&f?3=kAaWlo-;oQ3NzA*yMXkDLV{JQWfl)vrO~Omo6#0{(6fj#9Z8Ae5 zEi_=gkCheLA3a|t;wD6O;-;MKwIH=@-6wJ9FRh}3H-NlnhwNSx)`HGZ9#Q4~&|dN4 zfg)$)Wfg1F+|bEaQDQ4Ar~DQp+6=k5iCAl9(kKg4x)tZ=72(dN8=D7pf@w!z@_R@v zld)n7x!*|KFY=dtY1OGD;vQgn0myo$RJq|DE=pu^B`2HWx7$1v8rbf!96|T@DL;+s7IXhg=8!}_n$wd(851g$y&XW$-<6}9c;b%LQ|MHiCmkd=y||v%{zET_7OjRSTSn`(1s8|vT~xO~u$}1?YI8eL*I(T9?LG)c#CFq{ zdV@`AJ^P>a=x9?Z!EKnb7N;A5F@;!x@n6K8jR+FZOnU0Vuq#W^tc=u^BWC28ET%*V z6}OMS4lCy1(ouBL8)T*OOr&MMLo?^X6_K(Ki&VG|`znd~JfMNn*Wl%}J&2mW{3)Je zK7mNMOqgghy~Z<@8@8B({0teWgFI+q7H3L318Xe zH5?s)gx|;dv#K1=q~9@MCaj8R=J>u&z7bfe8i#)SDe5aqkw%6;fC~jUm0XL~L)i{D zyuG|X1JOno`CKQW!d6@h24{Ij9=9Zy+L4>*OFO6$-;wN!}fl$lA>iQ2VHDpm`ux@^O(9 zQ$?bHB9ydvqVTs0N#fX>v0Bpi&rye26sYQaqKPp;a3^c>aM0PCy|SOxPBhmHvyh7) z_Ww`8$RuS<*31m0-oa|Fb_xq6(6Qm>A(?t^1Pdj3)i@Gu&51-{d71DY=@W$pf{G^o z!bP8Mpk3cAZ3f=5BMz6Ao@3YPv{c+bJ3L$}ggjY7Eicb!uL3;G=q0gEq+ew+2iq>PE z1_t1bc9}=}7W;_RPtYB|2QBsEdZ4$CA`P|k zLompjP(tW>W*{4I`*89Ii}3dPd!=WBOtHv?TvAU+XY5S@Z0FyYLV%1*^x$>rQci3a&!lqVsJvVZvLZ+odhX^S(N7 zgoFkY@r4(qXgIkcy&_BKd4@3W(d_bR`$yOcSm+L?qZi{sIxXUyiVcEv?hR$4U2N!n z2A!Gcc%7m_OCaEzK{L+cb0P@|@Ttv{j6<81CGp`}!|L%efqr1B>!}TLTNNTTP>wzr z6oyo6QYCeUk?0lxAB?)7PwMI1!5~w_ZMR(SanT44gD*RDNHpQ3WcB=(l#hbrZiT|` z)Tn*IYgZZXsV5e>xIXaXK;jYa9ZLM4HlE<3mxLoYiAP3{*LbjcteF#tKdh(PVS*zw zn$lt^1pJV$bg2{%qtx;XK}in1IcyS(!;1)fDm2VEjW`$|X;gi$C`_2WaX)^Bc&?qj^kldKX<%z&CcZ6)Hw9EQ#a z&z<8PM9w}Iw8N#XGQI2w>nVD_r(dLmx%1-n1H4ECbR$2kJ%DvPqU28|GIbr}SYZ56 zOnv$9$3%jf{yV27C+>2gp07e@y{nr(G1VJWv#fMCM6-IgKG}SHqLX42luLVY@9+8j zMPZTjq16>RHC1pJ!Hm+IOhMF-*JR;e<7{y-67*^kZc;M#)9GmsbJf8+YRUiyB6YeR0Ou3SPDkH_j6neZ`|*TaIEH$N8-uF*p& z4CuXow+ZDTr#elgfkQu|Y#t1EjA36FT$my~>wC>@rtoePeGHQKj z^NyqrQ8?qjLRh*%H5y9^*E}b3lb9D9Z6a`ElCMwnZYBoCMY=}(M?|yr>BsfQSZ52u0rP1R=|hM} z^{5}_i-F_mn^iR6=}~DmoM)NXzJDG88xVnAb=*fU!;#?=MR*Bwwo8f%#PRq+0;%jX zB{0!Dcq1|^JKL9J6ju(Lf}sXd(MlYMfsZ)F&su`KwOWN&Bg^f5IK%#y zqHlFf`?ChOxstfA&C%F130?RZytfK@gE0eb_n2w?nNB$`FNC#|r=f{!KuDs{O|Gaz zt{6f7zzSNP&mj1Bh+H~A+1w+jaNgS$i8cj<=6E`EJeGUn^ebu^4mY% zPpWFh1qg5Wbga|6JnPW4jJK8tX{zTD7swQ&#V}_byO6(m&>fFn?6y=bI!uX=S#XkN z(am)cF7!vi#ZD6`0zNqasWed@uY7M@o;Ej2v%hGuaiob5`SK)W)hu;3px~}K*BLq# zSGk$FIeXPP=>IaAe$?!#QQHF;P9GRO44d5v-Q=B~@w)hBdNp3yU4y3(_WF3@rB!y* zB5J%`0u}$# zMdbz)Q%B}>kU}L-$C|d$UVlpP;fl$yT%qZ$fU}q9*McLbj>o^e;NJtYwA?O*t5_E< zWp`0ZTX^Z@2O8~Tb-;w|i1)|b?zYRax3{A%%*GK%P2GC|XK6_WB4?YV&EGG~TwPc6Jqlk~Cwsjm$tHF)yN(90H#$IYoj_fPR_c2$g%!&>(aE@PSBBK=Gx?A*>dJM9ApB0D^eJ>YcCggNq(ibaneXJ= z^O5)P2BGr?<`tKt-&;hSyx<%ORrQ$a?DK{y{$fa5qub|-*2aRR3Kx`QWB2|9Fw(o^ zW$*4Ug7({t$syZ&*Q?oaD&aTpnxAwq5v=pu=mqQZfmd{63OJ`djsC077gP&NQ^TO}P#H9!ILJ?$HH=QQEV%iVs9k>uCD?F>Qj6SHTVOq=n1YyiQ z^ymRRj>d=^w0ie7n`V4xvwylMx@?&73d0k=G3+>0wmTg2QD|$P_ULh8R_wX}q&&|2 zhWd72P62ie^fVIT6X$C_kb_IUojFd^<#4s4iQ<#`s=sjVJ&xvyGyYxa)wVw^RBP}? z-UB;6Bu&Zx+FU*3?D3B(6bGr5xBEAe-)BY6vg5lF;40V9)+*)P9|tjkL|=|K>P6PG$G!1V#o=XBNvglfE9b}3CsIinl6v)`us_?KcGSv&5Xvcxn*7vmNY9Sx$G$KTDgoDVlP0$RRA3~-XWWrNR>}s4(KjTy7 z$6mrC0cGk39Vk&qg4jHsdR1o zTvh!za88@V#El#Yns+z1^G*(Pf&q`y`2Zn+!toLO#Hm3Fd~#-Lez6uj6_I4&lcOi< z{Pptcx~z}j@8ch|NY2#!Av*+D%}ZB0hc^R`JKw=Vkyvm6cU!iQp3J)xGq+5_Xc5d% z+#`>@K17>`NBH9mN-en%i$cG}b(j61LQE^7Z7IDkmD^G!h3&#cO{~LMOG^;xsMgJ* zei2r?eUbRd8^gdLR&~hr@xkjaTblgqf}zYz7THSTKzh)zu5wDG9J7L?I(6rF?&)n) zFRtMja$=j_;Zb6O;o);Y+6-?U26+_)aGll-bcTvps=1t0{ zu=Dfa=j>ZwkG)rqv=|h#GSaRfzsCcuw6)YwuEA%>aHx$9(q}MVvwg-QMcDvze+VXe zpCyScySe?Z-@VO?^N&_iBZ@kgHQ>i=UmyysI0Hdu41fuWVk5#=Q&o3RS^O6Z_lKC3e1`T=0d^& z*ZL;!sfyO5IaxzqdX~t7%VXdMgYVYR$v*sDVit?4Lr$np8j|qz{Ti3Sa%ab6F{9h!P5QjWLv3 zwGwn@Q2UcuME*UU3eOqTq@lYzvgia00eEB`}>M?*jjTRb1X zEi#8ireTOID|rd2!;7)jtl=X%YHES3mdIV?r&52{iuWsW$s7kKFMR!AWs-T7V4wF2 zdcjA$0UC*4cRXB<_@jc+A+mE}>6%mx8W7z#HKT0RcKu`~M>(=btu zrfftMi$~e%=xS74UXRn;ko6@emG_Se$_@cgpzM>) zFNLHS^vQ;|jZrAy_D#uH^k7$G#j9c2G!)Dx=8Gf-EY|0LXE?qBOm(^iv3iy0wAW z(iY2Hh8MXxXXob>rJr&5oxPYUTEXVC7Svqt@kN`z+A)m69Y)NHU7ScZZmvrxr8%c_1CNu~TPLEh0*F5xaDTK=)W&O@*ja@@L(zM#EZY zd;Jgl7k+?DhV%a{y(@kvO1RPNM_caTPov&ASBe!v7FYNalhzNrJe9SgL?s)(5m zuC2jTOK5$A-_mCTim(0r{8*IS2PkUf8c1=kT_b*XAP8|$CW@O_cszd6I(@hP zOdT;|7W?oh5cHHm72BL4xPXJG_is1)^X0cHGV(P9n!t-5c5TE}%oHlv8EVFXQ0`3x z?mxbT4U@IVb&Pqq!R-3-Yd_U;^3qGE=|Aveg8pSgaQ5rJroJ3@?i!2_ods6x*KNd^ ze7E}$_)$4cex!eiY^qrsWlN1aetSswr;xq-uR~Y`Q@|kW!3=qlch?C!;)1JpwsoOVzwV?WkR^T?f{Y3jBu#2zyBA} z-g~69;l12~g~D09Ny;TCctR!CgZ9g*T+GZ*xP5nh%$uB}#=dYyi^tq_;7YL>F|X&k zv|>k%{M2U!Aa%yeJJ7(W^3N4hLs7@5b(Ft1f6NQ>x`nHK{~{CR(Ule6nU#rD&U)eV zyWbG_MsAJ6lz~=tDH8|qRUYcofXg{$gUsM-FeKr*FaEyBXK*p2e(>0rv5rkX*;rU{i;`w84*f2VFDbFzvRwQ462uT!fE*~~+y@q#x|qL3Nu z*=3Hhhk;NtwGwnmNrhDXLH5?rq%cYNsuEhW-Z1h)uzl#G(7+ zPgb9VxJs$>4Am`mkVqYvU0`x3+>M5qBMq(GOyh(lM(sVGuEt~I$4}h{C%zSHAs{qt z{nm2oLCTq)HaX3@gMFZ&#hWQhqYcXTl{H6kFyXN z;9+%Oo>^e|>q}0_@!w}pjVePL6PUiW{c9uu6dO!*UP1gIoLK`JeWQ81T-8$Y<+_U2 zq2+{X4((GJbA>>`-CKo~a{>E>6LCK^+F1a>)%{A@olKera44xU$!6_jrt*&H?-DXu zvJ5}(jR17z-1)`$B_xbDPs}C^B~vK&7l@3o--Qidt<@8imcG{jD}fHK7p?B`ATL4! z5k@9Yj8~K<)Qn=_xic5ibR_=XL$DB*SqdfW8XCMhSwt0Y1)Nf^dovgf9&}c;vvc>^ zex*c5+8m7zXzw}+6@vJ3&(ROW7VyITa!8a8C&)56LH$TN{w)4JcejZ6e${}#GFvj= zmksN#P6_$4K3^;0e#?TAmEK_OfgRbd&WFuT{r^KzPeQvN$&>zDBSCEIqZ*@V>+EOK=@0 z_cxCS8iTm!8FO3~Mc-LpGb|i4ri`ch$N6SxA+QQ3Y-ovLC6LWI*gdd#Rb3DiGt{ZYyi6AYZ$JEdFu9NK^Ki&t&^H zm)cqTrSF^H&YEk8%17utt>2HOG+ht_x~^kp_}WQVsehRvFeMOx1zssXz(TgT*^{zz z(AItH^-(}WULTFyH^iz#htV~^iResCQPd&oK!wTE^x;Z7h$m?B<};fOpW^GT&i>(H zSxV7;4_kvBK8f9>A6tvkm=|e!S8Yd6r;C6C#;c*Y*zFyxWLL^BU89Vw@g(Ufu3HD+ z*_MSpR&YJ2xo#1eMOjW}rVz|%wekce`x8|Q=Wp(sG55ZkNJWqQN<95>sJ#u~2s^K) zVvUF`e}&{lMIfip{rl&78q^1g2}3CN*Tw$xxCTlb+Rxwg2YluJ$m415ip_zC!yMgL zlTFlklG)3|mleNFx}Zfa8*Mn&TSGk0&bY?jka-?9g97`mRNH$#y=5GAV$`A_n#6aCx76>xE8RoGwU?H zEgU$r=;ReW?EMf!+t`F_5bn(D^{-Lu1BExf!OGj{_|iXC-#rhn!U&fP4nlH1#SVut z5K3O+d*?N^UT+NZh%d=Tnom{DVKV^vvae}r^+~Po&QxUueoKeoNi@nr`h#Jx-sCXQ z$YwjHbr6QptDW9Y4kB4%A*dxR3MKX_T-5oYPx?V&&-`QYmDePBR`q3qIE8bzYb_>2 zZVsHqipfH5@L(u7tb!>p<$1`ZdG#wVaviadK#= zm`UxoS=Gh-Ir2pu!DtylH2MN}n(y9Q@{9?h_9%NoVm+UyG{i#0Px`$5A@-%*YP5arpa9Z?{8IUZfep?BY{bw2U4*L%h2l!|ia z0b|2Bwr??Sm>sMP3i$Z-cBc2j%#_+1ArT-;xXnAqP5#$DG!B}O-!Uq%T7u2(ba!_c zalGCr%+ZNXAR_~hl!9zt6^+|f)tlL*>*P;m{D`CBbi!86877KvBzX4uy$Pb9-J zrt_ftq|bT10hze@j)A#j@MY&|bab@!EB#HToCTo;Ut6QY%z^r=>I}8!KpsQgH3K^) zhIX$Ld*s)$Z>Uk&vmk#+dZAPJ^s2`@jPP%blbU_^RTK$HdwIdvIk{iv#SiNYp-@zA zFP6r@6n7TfDrQo(zB>zfk~NzOPHRuk(J)X+Mk5ce-Qde`7Vv}$|2yuol@%dH+m_BD z_T-<#N&$Vy-u%CsQpn2(J6?X_-}mH6D8U`M^&TC@Px3oyeM3=q!N$~h;Uvg#n6s%- z!h@nt&B#r!`p{WJ!`xjKj


    22|E<=77`wP#nVx)2Hq+G?`C)2Xut&@P}zU` zofWuvlN+c>OGxNm%h9k1_4|Be`JUtWx31xb-*4#!pcitt>r{){p@>LM@c@B#4P)hI zyrCX$C&*?>_`Tu?+{4~o89y45YLsW2Gy-Dnx~wS2X|JlEyQ(p4{-`~T7k)4T4_wQ; z`;JUhQ+Y0%&>I^n8F?zg{Zi}SC(7FlHAVF}JLzC?mjZz%f!(J6vxn5eva&&!yv~o^ z_4pJHQgc^qYL|yu*!$!5OO5emZ{!lBr0Ps=Zl5{LST^(Vq6D|Y24Wf5IC}AQoN9y0 zskCZSv^L~P0ytzrtlWvZ8TwY1_Q+(ssmVCMu$g%|ABTm1SM)($ym{*Q=PwIG+-3Vy zIi)>S#aw1?d5iBL9*kzoF~2K^Bo%`B@!~M$B0y3KzK!GZUrcIrm5wxZtTyq*5BqzN ziq-cahxg&@x<9s}zaLJ8QhnUqHd7MCqBmpeR1&>tCl}}D;^{Q!V___;(MJjrXgMV{ zYhh*(F$)VxaI6RT$bZ!%g3gl61(~G$UFi_{wRPvavR}2{vI2At*@BXgsXx(1TMAS= z@N%Z(u`4#-BJ-63--zIOJwi+R;wQ-^eRxJ*zlo-ebYiJ5q8;2YYT{+v@z!>)cj zkg)~S0f#z=hRlfuW7q98krI`Cho-$VU6)7N=|4-l4+=D!fhDVL)49 z$ui}`YLQ|Zy!90)ouTkJ}Ac;ybm^Q8rNrK@pkI z$>rL853Tttsb6#spFi*!mML>0M1YeQC-CzjGo_xViy@^0c-~9+*w~|7&1)#yrY7v?#{C1w53JR9;{Kd zmGX{44~|smZl<-sl}*C;D>8gmTb?JY9-k92$!7{HDo`tfvhOAX?{xm~ytx*%KbT)u zh0WFu7z6PU{ZDYCJ1e-)T;$nZ7al@vs1xc_NIh*eqxrB9(@xBTm5{AO4WxQ}*a8+c z1y6_=9z6(Eo?ont6jE=aLC@YAB+<`_s?_yf1onb!ofZr4dJX-(K39P+&rug(C|FO&n_~M&7bx35EeIL}a zrw*WA`#Q;4$OVu9qWa*4I_nzlpe>e9*c@AXrg zA#z}F^wZ2nOl!gGej6au<*N>U-1-=oCvr6=9Kb*HLVvsD}CQ2j|X~dt`_p}R5{V9jEN6xA} zY0vkh`6#E;@GHb%PL!_#88m*{`Mvw_MbG&pvuef1V(?*YmN>#J>r6N9>ALDE z@0hpOweZ6rYvL+0BkJLQkvxYWzi1j$dQ6A@Jiw8UFuHBYo;_%SdULP%PYUUEOkbP1 zhzoyQu&jKVaY(BT^SXpS9ahO*A+D}Fs~#UqAQzC8I{Bv$(cDyIJbu#?rRSQJ8Hgo- zzcv8xunoh1U7-qcVDrvW%Kv87o4>SEuDCK&$WO9k9C`oszf$62M*mRp-EV*xvZegX z_T+f;ExXQJiTPPh8Z$&akB*OxKHdXi_pMaHOr3XFkxKSbT`{QF^@2avWq*ss*DC4Q zu%h~#sfj}Qx3Z7C{uR%cFasMb`D*DG+aow?`&9}4>cS+2`wW)u2MH=h^81n%txtZ6 zd-^fp&%IiZj>TU{l`x|O+989!{@P+X8PRvVIzIkdjoy1DE*G;xzXLRx78$p9y z3sNCxMMniKs%)?;*yesz8%a(#E8-S*XIJ;GJ!k>XH1GRQ(LZx?!~lXMH^}FE^WP7- zJegt%o$|qMQwCFM2jHOJ&^xsMSo_>IGi{p3Gj4g)D7@{vzqRWi>>FZ{IX*gSII>n6 zdSp=Ii7;FgkGFUz9;m#A_wBn(#pG=t+b>2DS~OHz46|t9{;jJuM|>;R1G>LXdQ~tq zurDz8$Xw5<<4`wk&fw$y8EL%dTdU&Xc`gfzQ%;M_5b(m>8H%6xaBFCrxWMA36MlIf zsSA}LS4oTPH*fg(Xil%qF-jWXoKZ%cnfZxp{PxSf-IyEQPiwefFZL)2nQG>?-F}{`Tsi0|GP8#?-uF*^MUtm?#C8S8JEMipx5{_{sk^8 zN$IKc@`B`wSaLI?cckt|3>EGiTaKL&c-{LhhZ+W*;dl&(h>YQ`Ps=yMrvisTWgi_X zvf}5Dj=u>dG1l!fxu1bhu+pxZq`znUGUCc{#5LA&FI}gRl}Ke-@tx}@SWI@~O)EF_zkEzA=G$9l6G0BgZgxVw!ysh(1*lnJ2UMzLX|55b1sSaD#5#S$f6!$0g> z^I$oPHFBWa#S^i_UYd*p@AMCW;;;nvAB3ZHd7}5rVdc%0J$Q&0*c-*|zcKIM`E!up zYN)4YxA~_2jfvh*CmlOIF<7`9DSF$qCU&F+v61I7JYiK=W0!Rr@)h7Tm*d-W*Oql6 z^*&ueVP}M8KJn1Ez_9XV;(&goFaPi6`I7VYEN4mhGsZDjq4_us_&cuuJY|qi0ZB80 za&th2uDc-joa5kR2@7so{2 z;DAxk%G7|a^y76v{;W~1f?{hCNB*Uib@{M8P`--u`UO!*+qI$!_VnDHOo8Lx8Lm3B zK%&Jf;aFzgW{;C`mczb)Cra5hU0IL!LUbPlx&@x2(3U?+hx{}V0LCJ?vx|H* zuB`VyUy_Hgw;S`aI1EML&Cq|~6blJ6+r-@%Qb-C3&}k{BHec_F-N_$i{Ao@|5qgh$ zMx@N;*>%$rQOTUzxc2K{>4&*KjAUbTlTMRi6CTF|ZegS1q(@10tD%@qjG7Lh*|}ig zf7TlcQ`{NfIRJCsoG~Xvs!D^8K@`%b7?Tt?O>h5DqPc0s=mTejqUx$a$>Hzc; zlT1`(62zf*!B!v^1f$ymuB>yO=d)TeHIY`y-^HD8vYBscrS;2VmecmZ-WTeL8GfS3 zl4mPcDKo*-P++m7aV;E{XBN+pd^MN%vPCP+?~qCN1=Vj6DV5r#`Q^a2GQ{lWU{_!( zGOkk!~J!mZ>4<0H)(^pPi`bIho!UMzXo%|iujf7=Dg3D>Wegm-fr{2 z(Y@Z;!#7bx|L;tZNhRHh??^g4@E0+_AOw7eOr+~hU#9{?4l>1&UGP5xtLW=~P6$fV zA#^JV3}+QBgD7Q+U?Hhc{*yNL<3j5inPX{avU6o-a_MVHL+S}akyl8>?{o0IAow{s z`9Q}%ww4EVE2YQ{{mI-i5_gQ&LvI#_*tfP>?J+}QeX8zydORzQZf}7V5a6TH-X%)x zpbN87;$d5zO}bpq{{DMyfMAoujGQm}B{%icO#H-wW^yqCP6W|M`sL%qJ<)~h_sqEWLgx?k;JaSHNQ&6s|h7xGN&LUXpe zU!GgcO@8yns<^Z?h!u5&r;{f>`{B?1C1KTu=))3VAD$bhLPABUaHyrCl1sfV;cgEt z9Z?;uLQE_5NdDsvBgEFejl2*^5!ARe=ACB`M@iaKS24IpqEL&CY@SoA_CXrQ-90yk z09}%wA)n>8r*}*c9*XFVfDu23nFeD@;NK?Tr?bVxd8<6+{{2Bu@8rAJr++(q81a7> zH?B*gN>Mjq z#3#>VA6v4?^ThS0r&YjT2)x_+{!34%<7jr&x&hLm6eaRF_Uy_`?de$Z`r^Mng2+$d zXaik%@sninBbT5ec7dqoIw(nU-syHl=4L;cYVH7q7+^Cc*P2IYO*YyL7E&l?p_5*8 ze2az3jz5)K#0rkwBsnc5w0smrQA}IUO5*ugLn*XZU&%n>ZQd*^JlB;5GY1yZFXLGQ{sZ~X^6EM$$qrE$`T#WW&}}aic52=Tv#gwRh?(qWf|0!;Mm4b@$LWx!}I){Royc{K+id zcON;@$HUBIF_es$A_(_bQkoHTSke)Xi%Xb;-z# z#@a8hSwMU`>gzEMKnk^x!KV*0un^P!$Xg^spWY%HV_2`IEK32pEA<6oKOB_~&)5h3 zI&`>_7uE+%o{$_;(-9btV@AeRWFFmlEY0JP0L9F7kPxfpy&18;9`CP!31;TD`Y~~& zBoxle^%QfD^VSYFa}!3v&MWYrwZmj^L41qwkKZr{c6+Z*CeOm&HJ9J@xPlc15)rs| zw#5)d0v=D5|K7yQ7sEEG+31BhT>Sh6)0JXy zB-y`B)`UG;Zl$H?VV9bUa>nc_7K2qhGbKawpb$rCd9O0AYov$s!v~DtW`^bEs8gC` zdRl6~FXHa;HD6uCObZexoFQpSnb2l7<|acdR|?Du!DR*Nqsdd2$aosPot<`TsSnV~ z*O=e}tD|`DugRoyk|r5eqp+Lpd?KpfU;P^Fo+qxBq>_5b)1G9v*lGClu7_+m&v)T+PnxHwlAu@bIGbr!GcqQbkZ62E`Q-TFK# zWZo-jVX>P|x&F-wv~)v7jKlRpXTD50vKkX&$&IwG{^y|@S944{_OF_B)NW=_y|N$I zRe6+A_x`k-aDL z>vVO1+=cO6nW*F%47tK+1mA>?A%U(LvGBI_BE+Pbae$#eaz$$aekiBqS1UwR*_;q4 zKA^A1uyc20L`o32744_PRL}(C2;V z9dly%wr7r`aCKT@T>!^-e7OE==cQS(Co2y-R;0c(x-5l~M*_p5LJQDx&{xL35EVKGMr8yLYURLu2 zBK#X8dc&{+8q;qiKFeMAZRE9iab2DAL{faYmJwn0dhH^x|GVBB2>dgky5_E7C%DFf z{&t1!ONF|XiL*f&wHL?Mvl$(=zmj+%7ZKce#Oc%8`Sf6#_Ma<%;MU369zan>|2}Ij zwZb}6zQ~$H+s1vg3+y)YxjNW+i`v{;CnNdNuyb;98f&cK;SqqDtEVRSJ0sMlZwo3~ zPg-WL-5aS1wDDggT$)nol!I)ms~GreDe`c>S=o1Tf2q0%&S!z{CUMb zRq4bp(9QeIgU4Y{G_&=Id~=Q7uqaCpf5`%wyfe1{Ry~8Bo<_@IvQ_oy<_K|Ij;3WZ zco)pcW<>w^V(I_#v8COSYOjTQ(ALH-=sZh)Kb?9@U(WG~E#6-pB}O$tR>QLCn{ikZ zFkvL^xo)>!kM)l{T#sJQ^R3gb!Od6jM!2&Sc7ll83qRpIk{?ITt9>wzG~HL{g3aWf zkkI~pl`pcUixo%Kba(3tLIKA#Z)Z3UeLK1q9{B|=LrXUON{wPHRKIl=*_>4NcYAFr zUTy>R(&9(yk*&R>CU3}}M|E$8U^mpRm2o4{o5z6fkK#K@ds{&e#|wkf^`$n;vWbrt zUiB|3#L5cFU1y@V=WU%Y-LuWbzN-u0(J#E7O(4IAKE89gJIPY^)oRmG2Xi`>sQfxf zDgVpxX_Pg1Ht<*jI3a)Ad|8Nc$!0Y@xT`ebr^Wh`x($KC;z;oVyTYmQrFprLJqPLp2`=wjYLX zRQLO{pzRMQE7@{CcUtL|(-1EyaVwiv96yjl1;t^4Txx@gP0t#KpHnY0ztmtT=2D~ zjL#RxOXxSUU~57cq9!RqtSr_34Q@82Tv%1d8YR<{4Fri#dNRn2neS7^yu+Q=F?}3V9Hfsz7{p_=uLq>?;5_Rw_>A82a8~M!7ZtMZwNi{ zQWBxa4pS1&_LJwYf#~qhe6s9uDUQ2pzF5xBOJY_>*SOgO{5pROJf#+Ck|<48vD@l} zzKQmwsQ9Z0z&l|jdzidFfFu#NBv5X;_XGwIBguDIb+FO01M8pUhz#RnLNJulQ&TGa zF+Zvv%yH0vQLWDlRWbhJ^)93e@@5G1UX^Vih?OT}bkqKxsS<@_NmC8qHmD%@>+uuW zM4e{eX$Z5T1)&9}%ir775YT3LK(9po+}Te_3}I@OXj|$r;m@0f&uw4=Dl&d&mD{^J zvG^5)k}&{su?A@y$;~gLdnrsI`!!caNvGQCY@SR@)*w$(DW(H((4oHE7g7_o2_t{p z_HXiT*CQ2PVLL(hfQe2zITl!dfI|k0zxDi?@F!PLqnWxB#>@Gk@0wTR+C|+vkMj^= zA5tfXnJ7fG45yhJ`@C#-IDbg3dhgo5HD`|60rd>gV1xfiTarkJ(XRq;zN(TF$P-vl zKw)KL6M}CQhDE3pS_m4Oa<8BV^4zquM9b_VwW0$K5b0!kHr6+CV6cx;C+PL*{QKX! z@qauP1EXDu)l^{tg7UY|WY`&*neG_A93@+l0yR^#HOI%F?*_6eT#*S6yx}ICC|Cny z&9v(=-dZp+0};?Mll#NbPn>CRg9ljLGOMKx}WL>TZK>S^ z%FUPV97-TAA+nPSY|aPv*H(SKufj5#B{mTPtU^{-o$?EKz`E#DskQb@)XCY? zzma0S$#cHUIh;5Do>KBtH|bFZ(H1?^)gA&nGqyqdFh)0)#m>Bv_Bw=)1wW<9V}?Zx z;`^|FgHqodOFrHm610;dfHcr7M(C;j($_vmv%X=;6x#k^mlqkJ5n=9VHhZf=W!}o zUCZ$rsxyC)Qc>AbwyghZQ0kyAq3D)!0+3|IPj`K3hRscV3+a_^`@&VoOhGg;9ro1y zR}NE(hCd~ZAG-is1EAi%!NRe8m9ls)+5={0?DqNyy zL=yMuTv8g%*PLb%4FrDJIbCjNw?rAIb`;Oru;Mr{q$$rhO0Tj5D+tp6I066b*R0U= z(;SX^Kltkvdd5!6^K(a(?g_b~isCE6iEk{(NXjgJ76y}BAF8|~)9V+ecLrjO3CX^p z?gX}dqw2O{h4yOV+HE&Y`l*YQ;~&qVA}B3Ci{{B>>~4Y*;Gh#xB+*!F9G%8Rp!iNt z22o9NnRO{NA#90EMol#@_#C>Q9cF-D7Oc3la%Ho1TAE0XRgoya+m|S-B2M|K0-V*| zsP@yzQF9?%MhPk?lzSA~2iYX-JC9J-;?~7bm+hPDSFgT?dRo2u?|22|yxn<5(yKN< zrhkF%YMzWqL)PI7Y*mab%xe>;vCdJ37Of_NaK~K2iPT-IZ{e5ns}Ur&*^gECeq_lR zk|(KSh?7ZO8+D-#$i<2!{-)CUGtfsV&Jjs&RdEu+G9f;XGE48o;2I~M zBY!I9WwCPr|5n_T4>hH}J_%3K>8gY;5tj8s=LeVNL_|sO*zJ$6kC7{aau=pSo*g%# zcU%cRogAdeUJb`jY@+uy5&w+*fL#=&8PvPvHg~12y|KC@HZ}}bgNt4WOU5iJFp>}a zj5ZNWU%J!oPoSt&&xgXhv_$5LLTmH{@=_rNOahuh4o1Bo#Dh50wo>?ipahDxE7#xCRsjCY<&?pi=M+5P!x zpt>cSYzuCgQf@Hh`CcxWu8Jmf*4%WlHpc>F!9k%Y67cTNr)Lj0@x!&ipSJI8VYp53NUe)fAjEo>){AIYz zf;u{RWbU5!1r;ieJTEYJXbr;-qv&+PIr z%?hx&PABTw`*-$AtnBQACF_8)3n;WD)y;(2C+`$|^iXWw9Zj2^!9@_Ytq;M}_RA0# zL47;NZa76)5AOVWr{%Rd#H_?A;<`J`13K1KU0&t4)s@wAbtGYcT2q^ik74(Y-2C6t z8z(u@(a3ikCtWtR{zj|w=A8G>m%_0pF(ega$^V^MN{@qj&SpIG%+(jcxOtR<_@A%Q zK)N0MFtqBpck zQk=B^u)y|EA2hNBkd0D?LhkTt7s{twg6dd8Ye|9YEf9)pA%fI2wrWCj84`^-RX?RP zOvsg2RfTC06El6$zwoP{JVqMnu{*Phn3B;Qy3md7GeFT>ZF|#nMNNCeqKnZMMal2* z{iU4d8kosah*ZFd1{7-HP*Ic}jak%0Z!{gr(^Q0(Z99I^-8%@~>EpjABzfO_MX*8V~M%nh=Z0 zr!|_>B^A+HMnC_O69o}FQzeM25*r(;zWXZUtTi3ikw%Y~Kx?zaClEYO^vW@_tKAv> zvSG&i!+aM4P7VQd04c>@_0$wejHj997v5ZGx?B2vxP5Cg`>rzYuLkP2RX#+Lo!#mQ z5+45XcC!wM1=PO-L`bY(O<_))AZJ?9yGwQxRlobf!loWx{w$}l^$zag>XQ<>uCo8u z;9=ygpH%fX?NldL?B`hi3~J8Wa_OG;Z-dM7Xh0{)uqJCCnC4R%e=){ca^qK}1!WEywIpFhL% zWRiJ5=-pvI%bnQR$cgj-plKilFru%^dVs%v$PyO^w6dEEX0$9B8TI`mW@e`+CyzJV zIbB>FOWH513?D7sjJ_J5lcA!;ciJu6ru_C7)78sz^;NH6a_A{P8*ycRSPwi@thfj( z`AQN#|ImLqN;o<5+>>>D^4WNX^@qEIxp!ylhm;_e`z}jY-~JXF92_uv@{|NCeLRJ> z;UNM3nn2PF!P?=ffM7l#r}Bmr7DDqN%Pl5;S6w=7F2DGc9a8{;85uHNE^tnbUNE#k z30rCr1Q^d#Hn!yvE192{WG=fRf7e>u+d6I{aW=UyzJvQGM9-f27V^1jlB<7$zCaF5 zzgohyEX?J`yN+F^4vxl)3CT?Ug43su@lh^^7C-p;dRVUtuHhbr3X%Ij-4C@wX^iEx zzs+7#HdUh_Z2b3dOUsOIU!@2hJb@%>r-77bou2&17IWSO)i??MI)!oXnxO@18tsfK z5&2l*&VF<+&fl|3F(y*UN&Ws>Zk2xF?c-d`}6xnfeg zEpIv8#T5GdbnimFXo}EbmMQ)m+b)3{^+{efRyM&fym~_Il%}1lx*x?}Hk--7yQ4Wu z63WT5h80bU939{M4>}v{uDBTv&Z7NG^DG7~Cax0!LQmV^HFSYO`e2j&QP=MQ7bJQ- zVfA_>YiB+_8eFE8+Xn(_-|;YLkWX{5IN?x|vy6TmI7gD61!J1ZZeMYO!rp}6%u|2a*!Lcj;vSC2!aTJ=s0-wxeR zuLPG34zI%UV50C2k-uSp7-q{lg4;Ig*H@b!64fMBu>hFcp8;gvqs;N7j~XAY&3!jF z15|GNoSJ&pOOMXN0L{xcQy>x$brD~FXWz21x>@(-dr-#f>JyE3=yQ1IP@|U9Pt4w^ z7=XH*|KaglgBkRf9F@E?-mY)8?y}JP9b)ORr>9n`7hNEGZ`}Q{C(dM=y3vfL1P2@J zBgzVAt+ZqFJR59wOMyk%bW#v)iOxvhaY$fW%<8;wx@Y+`wf}2(%p%~?UhAr%l3?Iy zE+^rPIj}$&2PaCGLnYIm+;tLr=Yy|KM%V2VNHIl#F~(CN=reL{2tryo~z3{)^O{B{JgApr)rP9g-LG8?ybGU;AN&Xshyu)AIR4KvsRNw67JB1PUPPX9o+d(``g9D7l<8H~zl8D+yF ziy%l;*4|b?v5=^t1!P`p^7*{1%(*C_7IyYDsc<%B z#>{EW`YY?|!XNMXXpDDxSTS2 zLfTlq4)r?lo-m*}rl5Au5waMujUrb7<10$ki zz8|5ToMl|p!S)0^jf%ZIPBAzn&yBL!^UKRj1a#`ZvVv|1rZ#EPB%K-=FSuLRKigQZ z)c;DNew*e7y7r-w9vODa(AK|g-057=WugA4lKxdyMK74c65C*=sulJ`kVE8s$%Fv~ zD_eU`X70i>`TjU-D-JML%6TZ~kWFm*%yZ+h*KtE&+!S(0Fd^Y`GaLn0t(Mxi6>hwc zAnkIuY?R4fn`>`Sf{P`auPGJFjty|B=gasHc13+$p|Bv)HC zqeB4#oLHkSVJ=BYTP$D9EYI;4B$-;K)6S)S)M&Xz5#upOCHA!k$8qV<`t}(^oDO2? zNAVW+P-o>dYw)MnZ|+Og>270XBaZF$PYlN3Y|bfHZ5j=@6Tu|v$=NG&?QxKFjgQof zoinzkv};JWM6hpRFwt=@D-O1sJ5_bLD8wZlu#ak^zWt-tPWfNzbuXuKh96 zV|cp2_^#!7FFlaNC~35tAAVr+bgPXr*?7BTqTNmnnjj`ZSG~bEo>cMyQeM!Ak-Fn? zVFB(C_J+B2eTLOuR3iNshYTlFP1Msu_#l-u^D!lA!`S*WXjmt7xRI##X93y}oUjS= z;1%cXi3EjHqXXT3U-GQ?fmP_@mB?vatxm`hJCT>f(KgvKh%tRK-$I&YW67~76Ixf@ zXX3h`7T?f@ruVgH4|1pO6*)#>4;u*-xp?x^PPZPFzG$4$p9k8t*?-By5@o zxg`3B`%I7#nOqWtd>MeUHeuYB&j4NRllAq+vNkRGq~|&BKYbw*Z>i7vSe3=BTA#|nqOj1fXJNIYIMoi=(0Rj;~!5^^Uqlm5fw6) zC)B4a6^p8=r2gR-UD2%+FjU+E-F=hAwr#rxK!*ji#?A!nCsM0$oFsDy#}&pX2%%MV zXs&1o4y1sw05NOlUDG%*ac9nSC0AW(yc8NIyZ(UT@0q71V?+5|{L@-de0ezPoJ4Pj z=O)*Z7N`EhCIJ1?BnCh(1r!;1thr-;wyC;{xl+k=-Rve1dFeyAtE%z35o#a)-!J_4 zBWv0pREv#T=I6cF7{9_#8_m`w0^W+OJl?u6uXKanJO1>ntnYP?9bVe$MuFMh;$QQP z!X9o1s{tCM|(z1V|oa5#? z)=I8`l35gcr^YVKU19{LN;7u;39S%^+PkwB>W_zi*lZ;>0dHPy#NcN4lzsduu`9h3Tx<5`;Q_;}!}?FGW5d@ou%tTdYaOCc3} zUQ5VxmZiUUNv%N=>cpASDpF}cJ zx%u&@Omc#k~4np7mYH~;gbeu3pXc=tXKw5ABujOvNYIL8F;!<8QC-# z5drGNxZvzLEL65>QU-m`?cSgdNkzaHP=e2;YJ*YosF4JV+`zEY<%ugINduaIO!Qhz zw}WfxrLghv!Q+v-WnZf^Znpe$$?c(BGMSc8wh(?l6cM@pH>6GGGs+`QEa`zx4?AB) zAt}#p7I`E=&J^$bz>r_*yLQ3tiC8>371T)E=0ACYtYc$)^pB{Hm2wi;yC~1l^CQEl z4D!vt#cdEu)oy&}?f_=xr%CKROx=mS&D14mnYyf3*BXLGJIl#q@^yk$UaRWfe*x{x z>c6t_dc*ai>@(a%o9>SX_wZ4~K(hI_4STDVEq&qw*D~amqqI z_|PYz8EW(Txngf4{!LrD7$k+;ym`$rT|IU5DKshVt3J3WeD}R7Yc97Cq7u6XUYa%A ze5jo9_MUTkiqqBVyS=|nFLLbpDpDaT=nOkF?oF1=P~{<=DKy8@%>G!fi(c^%F@Iv! zb2{)44Ja%N&o5uEtsKuKpWC9%=)`s`kI`=Lgo#%%U}eF8G{c-;>0Ilg>+JbFWSzAd z=roK$1O?^3R?mhMan#k)7^t(ESWVihpFC!a&9b!yDs>k($nvwl`L@A9XAIrbTWV~D zYwiQzEJn0)EM{br#cu&fEO{(Bzk7zQcwh~B4#nCU+Ts_nBme5TqYFu8TAYt;Xn1e+ zdG^>mUB=QpB-)b7DvU#6dUEV3(-w0?wkunuj(JX##{kEP_kWjNE+8)Mg%c2uUd!zs zOPwjbB4ZVYik4QIPDrw@o%6*+wz(C|s>%yC)C24C$(K~ttNOF9{I)IhZ%kmb!f%2cs*Q34@`c{ zLE$#AATj`32WRZdR0&nATQAx`F%nM#q_UJ8{<|`{jl;5Ik09h5K~4{-~J3Ic&H>A|!qnHZ&yFR#Wg59SA3tE>=}?)PFahwYIY12D2<` zSo-PHmKp<;ro^oZ@Z!YU8Z!wkJj*DA#g5o+{ zsI4JKNALdNezyMkwMWwvnJ8VQg-P83j?+~B*)qrcNA&u)$8Zs2y9Mqf&5Uj$Tev(c zq}E0)>jenK{2FsxU+43FaB|bVt29n5r4d-`*=@h+bIg;pVN9B^Yz34~t9Y~@rEVEc_Zx@R=NoBWoi3TY{#N-ER^zi`NyXDOUx z!_c{_dh<(q&gP$le%+P{+bLjB(ywZoL*sJ-i6OE*m6(2blrYnX9@a)=noybxAo!I3 zgn?~NuLGaA@kE->RQ49>I3}aUQhWiXBOc^Yorm{z&G_B12-Zj=0q92r5^2)tcX1%=P^B@LL&Zb979%TToH{ zyg=Ysr~6IbW~4pV6XAWQ)h~&WDAuvqx+z?U5R15c7NvJ3HEUj9(~&|e8PKCb)_IX= z&!n&bz5i8YIpSpWyMK!?VmkGBD!@r%jU8z3+VE6>DCN`Z)a3qSMD&>qB^aq>?CGWN zdF{5`a0Z~#LIkG>V)5utX8wsyf^t8D?JWr_9y=;{p8@Qc|4E|t-M$Y>e2>(@|9xYY zT0pRg1O2IcRnW0oDo4!h`WvPgPzVyf%beZJvik<_>})6zv+Ut%PPp>~XQlaP$PMM( z2f!?~f3SA;12n|h@XMbvqK%!PXg|*>LjN-eAtos)J^Ywm-oyb)%w>D6`mgQI|10{i z?5eSXFbs&$@~fH*>O^_nhzTXN$~xK>H&&oih`^evgBbn)9sT={`)n-&UWU@bhGm6% z5q^<#+K7=y1d#Z#EQM-$>?m?J`K-cs>Bjv%{YcHmSRC1Ku;OvleP~t`TV3$Peq1$q z8mEb+8h?58)ZleTaN-(bCYn-1x?ZRRg=Ss1KwAdp$6+seo)5&TjftEeRORBQYRZ9> zTnQX{jc(?!%~A2rltE9a>tUxZ zcb&fT$JYs*S4yBw&6sQR%n}T^Tn2=3;Ai|P6Xp_BOJmkd))qc`9qfobFU0M?VuSufoaFtSFbulI@QO!z}OP`uI%Fp z2r;EHvMBmWiE~~=;aUO#(DeOOa^Zqf(r`*H_~?@!v+{G@4!chnkx!u>*UBFWUbTRDyG+_RJ#K7VlizS6VY zQCd(Pp}smCgo-ulGMG6ixy|a}5MYV-6Im7&{^miau6jQNU%j4IJf;*}y(pV3uW7-V zpcu+wTqf1BVd`SI4O{Yro0urJ`jeQ#Md73D1wyIMGA)bDPdTJ7z$A>ixj95vn{k~+ z4#(A;b(}DULA85-PDgJ_RY3L>DfBkgY}YkaDb=P;fL>QVUs1O=sK@`+KJv z!CO!!~!R#o)QDrm<^EUGmD-JXT>yiXbKdgJ9zK_u8tSV(+JM0lMBw4nt zQJF-h8bQriYsQy2q%JENRSlM(Y%ioa7Hud0aNno)pf{cDVl5+SRK%2+g zZV8F$aaBae`~0-j%F7X1getYn!9NEd+=!PNS1;^3KYC`Q@#obInkWYcEds0b|Pxf4VxhpugI51U=G4K77ZiWTTi+( zf((PQpYG`1{WkjZS8rY`X*iZ^dkt7G5qVbHgrPxW5D294SMSE2VAS({C&t`!?mLP( z`M1nYNPd3rVb%5xndGEDHiBspNQVQ?5%`|0+W1i8`&E4>|n(qPy;kd?FYq$Uf!9j}HeRna^QLI5?lQ_ zN>F-s?!3faMfc-$EHTM^kIPoc7>-I=8j+6Wh`)kTW&X*3$d4`WZAqHduqb-Je)YKs z1uVthuN^o6$g$gfe;L&e0Ee>#@BdQv{%Z-tu|vZ=B(Sc_~Bx(et&t#OT_TDjQac*0K;ofpCO`=J`` zBDipG5VdpbV7g?c|IQI;&{%%oYwrtfQxQp>pwe2gr(!cc`&RsQo129QL&u`dSi(ey zr__FWZ%=l@P{TTNY#&4Wy-en`b}ilZ-w1_8Q-MEK71^S6_X#T6udEd%IMRyEZB;n- zEW*jU$ZICMYtHOhvXUh)CKu}EYg(#2UTCr8628#X#NN9%-b%AaRf`WH0nci>ktfuO zwFLD&SQAF{O2eDWA!VHEIGWZK@2;AJ<-xpE$3^&3tBHKdR0`rM_P?&3 z_P&!W)`|5|si#yg!fsUhEx9U3LuJPip-zLPl;VZFR9fy2u5pb^*)yl6^9@1Y)Hfqq zz8W7QrvA?DNOjT0aoo|Y#Y#;2mSXObNKhdiY`=iQ^n{B09ox38*cBV(J5-=QAFWq% zj)I%)-MUy_Sc0`{sADaY;qrTR*TVYftr00BE*=eDW)0 zmWC9`GK>i@${jzC>vtl0>|@$vn`E#*$_<+kW%k-JxWLOTz*Mz3eK%Xp551Mz_taa-NAF zcJD$IY^L$^=}mVx;pts)it|L0OQ+ebo?f2q`qjQJ{5=RuU*K1(G=9e#&fWJChz@^N z{Qh&#>*b#(Twvd-U#73_)c9(;aOQdW(2lx4=I>LtvQb2A*+ebgh%tqj_nexhmHMsRC3o! zW`7S$ewF-scb24A;|97aZIwt@`9h|#qq#!Asgl@7!R8_^e%`wK3K&(Ll6W#=VrOU& ztkf8mM*q*9axfk5!hE_YS2b4$tPf|CDvMc{vZQ2)2rPlq#_8~^`M*x;|GGy1|NhzW zzChMWiag5+XAS;@LVm2~Wp8{8B#}!h6Yv_^KX!R5G|9#3oH0YOq$@(pB#ASXsvnc* ziJxR6KSb_%aj17c0%pmC#u*EghaHV7A8kD3c48&CU{^Rg^e82IgM)Jpp8=xNO>LYc z0$IOnmkmy%C;Pj2x&Q;$7%J(!&ITErtFtX{KGj%2fRL=zTlTEj?|XUQN~0pJOxkwt%lC09aY`Jt^L=L2Vfw<3?W{k$#_( z^{6ynC<=Bq3w1zh@B~_Izw(&Sw7NGB04DkBMWcYj6JvLGbROc$AJkT?7RL3>>&ShL zL+n~$`WO51%S|*FmmA$`13h)LlY&Z)-Tr?GQ-GC+ybtv}gxHJD%cVy5)3e}|Kh|58 zHDO&DPd`ZVk4HY)N@Pv=&jy8>?F`lDKi0bNcpU51jH~ckB!0-`Y$94tL5>kYV`A=~ zh&(-}&}TP`;h|Uw+sI)m)thz28P^x%Kjf3~JR>uK=d-A=305&rxgTvp#KPsq>yS>CL^-l8r$q_HTai0rt~gLJ;U3?*ZQ)sv9$~C0>KN3pX+>i2)ux`l za|SVeFQJaMHD9ObkLyWDHeB#viJ6^Zu%SVUGqA^nw1qHdJ1&GtTGDW~P#;z)6gM(S zQ&-bW)Fg{jw?+A2fOB{8{o;pg+dtCD=WNCyHhu%*HQRaI z-gIqBv*uJP=SN3a5QuaxDnu9>ZA=X^lH+}65207!`MA^hM7VkPj-Rrbo+y@`s23#} zDr`)0eW%>JMMsP7Nyve?JtUbElJc*8qUUpj7`ucs>S%P=`>hpY~U;<#p zF!#M9yNCd~iED?42p>TLdI(-Aq`H~ad@xFxr+fjwg6c(Vy)<9!bXEvYd&P8 z=JF(<+&~YFwcFP4!dQgUm6^Nn;7EZ}8XLY!$M!?VegVSxE}XHNvE#s8V$cB3@Efs-P21!0_@EzjKYzJQ?8t=VQpvxoHSgp+O~fR5MfgGDJBTa_7E3u9{3yTo+S@+mg z%Rj#_jDKB|?-AUv^IB5Vgh@alKX&IX(dFgMuU>~`ukh3@R&nSEE}OtMaDg44Dz2z) z?YJdkeD2-E<^9C#0?vF0fVdY08iK%7d(Yv_j6^NDiF@svwBgvj!YYOuXxXZpA;*{4 z#Nw?FSrznli|Q6c6?P0%)K>QPK|pxQ%K9R>v)%F!%Mr+Hr5%pE2B%b z@3*qhP2fo>eoY=bv+!3H6tCZ$Q2s(1DhV!`{ouKcTVMEcq@~z#a($?5j}tZXa)mj_ z&2L?`Das%A*|DVX7Z=x~9iLA%^Lh<6ZAtRPfVq(T1GsMpF(a9dZg4tk%mhk1^M5lj zfuPYHsvKL94C0}w`h@n56*ChYUgD?h%&bZJv%wh{!5R@}cn0vX7M)ni0Y2|o$`wF< z;9aOtsA-s+5UnX*=5s2!A@tFyy>!>NW1j!5cVd*HN^cb|mWj$LcQ0dUe8+pA)1fg! zprM^kE1hLi+&UYXGX^W4n2MxYb4jb^m${VN&-#kTUr`+&-8!Y~!bIct0g3t*?OtUe zM)GGU?(E12K=fTm&*`pSj5SKQ7wS8E4Q-g;7;QT&ta2mL;<^@ZpOw&&KB5n)hggv$ z!JI(jaEP&Y2U5@VBX!s4W+~Y|G)M_J-8CycC#j`gPZtLv={=dA%G1b@!Hxxe;*h7? z;$Bqa>ZV`_pZ&@J+)r0l8e^n)G+MHiN>iqeE9sR=1PLWq9+UXt&NL z3Yc{~#oe~@?~iDGn{(><8S326(#Vwe?lC#4JqmhPd7w1xLv2t&-`mNzYw0E@j1i*i zUH9SppBz?2iKGLMX^>jM*3kPq$VyBOdPEHU-VP~~;_wJa$60Ndj}3DC&nF+reiu3Y zqd(RGL`kTVseaJvHmn}`)vMQi5WkkhxT`G98XU7&Ud=-7DI>r*y&BQAZrpen#e!O2 z$Hq|A133irY}5gRLGSuzFq`R%xQLoDh{E$%?L>uO9d7};xbKp$e|4>T|M!pc2ssvS zRWD?7V<$|lIiiyegYQ&wV*xlt$hx!T#~41ZV`@3D!P<>xay36ET)j=1;aO&e0(I$z zMah^9u%*i>h52_V0fF4k=zl18(ofO=NLHKw#BX8m zDBc9axShR)1KKorz$~bs4m)IO@wwhMng-j>Ew)2Xh^&E?*LUlIfW00jfob5&V> zxy43>U1eBiCD$a2u~4ilfAk0TZOkdMv|yR^`le6w$KH)9T8nR%rG?AT0U;K7qbca` z=IaJ$94y&yXOX0><2)&cJJWD#(dOoYhVTpx8@$PpH!(=s2RL_$!Im(NsoONQb!%>` zNMWzlZEu3o`O?jK`1hGYn?@vNwe_jRlyb@5j1RLop)xB{3O)EAT~3~M_OZ%G=ltE} z9SDfwPon5#tBJN-I=XB9@k)jo<;ryHn<+EU(%`A;)_A24Bkg?wH7Oo^5}A2&8-G?z zZkwM!=oqb37`D^X9_^c~j`Gl7S_^R7caCAKEj42J!Yfkyv!K@{{nE^s=ZmXAO&-QH z0kXZG8358*$P$@^ba_b7(x+*G1&utaM6}#mkrxKKD>=g?4C{Ja&w~xW#3?7QdjK~; z?)0ReypI0Da$7rB1j_5Gf=+@e$5ESGxK7+`MV(Rjm#oHHel<|MZ^#YKlm4^sh1tooE5$qt>7(pnZ=&)25&!gw#=I_{ zC8K52ns8XnPsS$fnkA3zO_LLFeW@k==Xo>v#D1?N+o)WJi`M`NiuTt=GHj39F~emc zscL|v*|qfCqENCvPSL)wSS8sZt2ssYE?7UbJ{SJb2*8dspm6%Lan367zAiztkd!f1 zT&Au)_g%upxGDg7Wc$IY7?HFFa|EteY@LwftzZ_95FSLBAFT#bIIi z6ex=3@RbJT4~uW$cFE{bVvXB9PeU(9R(7d7f@Gz$F!>_@ZL-`WeNIkVzl$V?FO+QT zR6_F95H`qB77$&G$0807^C5A|9PV(-$_-mTC1AgggeV;FmP84XrC@Z$qe#v@Yto^UKRMZfY|tX5PiJ>?L*Xh3M+5uAWGN(COO0V z*0`XJwAs{gNCi6W?|T>u>?mmvMllAH44u};YN3qUiM$ay1wO_FyGCogVm(j(ehvS; zFSIp#0HWgd;tpWcOrrI3<8C#&8Q$X%Q|af|SfZ=6MHbvtW31rEjkmS!uQYRp2>ViOyL^T_d%< zEgAm>;3ZUxg)F7UGCSV4Y-I4U0k|FoyQU8r*MP)!XYx_J!(-EsN~INm`UrE;UitZ3 zsNrTF5A|}sVyk5P0u^2>SI6rms*^le`d+DTBYtg_XM<{=keGw%kC8btaT=n_orQ08o zn2g-FD z`eQUlZ$PvoN`rl;sxLYnyIL;^r9{l=qe`7jAv%#JQ3n55IXfw)VQ}&PhP4A4s=hGKvC`;D*oOj@7qV(wF=YmScqC5;%*xBzjZ}qmeg8aN+ zVMJf-e*zN1#o*2r;@2!|h+i~4ahdl`&V_JM8j3t(7%*SDFtOH8DfFD3VdD!VtZPY} zoc#=H{2@urTp8|F1z&xIeora;A+EGF|9q+LlAiI_(zMX`@h%FsBX5bwI;tv|ZKYWP zG8g5|P%^1|VZNA(tMC;!@idF!f($IHVA2vwYeu|t>=tT`yg24MC49Mu zekv*(O)SLyY1cX(+S(CxSbExT$t%y_b@lD0F_bn=lFP)FDMH(f)Pwm8Dlu7Oq;~v0 zJi$hpRqi6jX-galcVq0+l<%RTd!vG25*r+^QWoYuhYcV2eQ(JsM`ZJWLj<+1rL%NCh@~v59 zIYmUVXXbcn{?1Xz6`uU~dy1Vrua}EIHv>Q_#0BOry!RIb3e$HTZuP@#GODh3Y`+;A zt8DJ+V##UBE7>oNIfN0MO;iXi>{S9D?L#4#j?>wHf7wQhoeD z=5HTA;%0TiYl7}ZN9EpZ^seQ4ugFSM#J2~F9tN<>%*_S%E^ZGz>~^NohNRGv1yj?j zo{Rh(&^n2larseXdZFa9i(fL9DVDj$&&dGqewGYqZyqWdWS5s`spss_b?TG$f`VfF z|4i3lZ?<`)≦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%0DN+r!i9Ae{{#LuI&zu2tL&nSAuwhi6o77`n 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®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%0DD|iK!{%gMb~A~U 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

    -g|hJhQg|do)6#mw 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%0D1xI2?if0=i_fFH*I7FS z!K<463DWih$CO`=G}ToV3kwThxh$ywgn}z*0snB~M0APG zc;#$@#D`(h5V1OpFQPs>A-+2-G13!k4kGv3NdUi^in1Ovx9-jb;sPr;;$slXe8+FN zy^2v3rmO*jLmNG=Qx(|Q#u|9Qo^@O%z!#)}9q#X0o;?5xK6A=fTF{o=!dm5Mnx}XM z0_YI1QD^nA4$VjQX%HXK8=}LI3qioyK6ehw_Y^7Ta(<1pFW1iC;r~ zvOlcG5AQw67(98o{Biv5t=~>6o+*CV@#&ktKzdwqWgl6RC*W=Qw<)X3_HC?{P(nw7 z;I$dITV~`4*&e1}_fJUJf}q;d@-p>+bq{qdL4xx_cwILYy8%i_iLN&hO+SXL?>94%yxoY51A^%KMS@}^Lj-poiR%COfAA{rM4u=)rLk=kQ-QJvE z9OJxub$qqAdjzI=#xm=UL4muQq11VnN{z^kjhR-2A94?amDJq&0>sDsZN1XPU1 z{%$cJYn@&WDtI2QNlqEhX&o=PbPVdgYr9SaIb)f0uKZ$89OP0y$UvJ7tX7P8c>bBF zfuPxZX@z2-6rGTS_-uZu$ne5SCqh(R1^K+2Pk5`p@oa&4FKHMh{ra`^pYa1P!Dc7i zt0ISwUKXe@y|AzbDb?xyvzoFBrh> zg$qY-$))bFkwz4dFMWa(Zg2crx-CpUjPY03^i@N#U$!=eh=S9V*RV=aIQq6h=>2K1 zLwxKD{;hj>8UEaNBBjG7pQKMnD=RPY<>u9&<;j=Pw1EL3B*VJkmjO%IgkPT-xrlY{ zcUJ8)Sr}t!vG97X6^9I^H(Lj;7;aqY`?V=nPCF#Z)R3pWts;$X%RX#io67RPwE|_;cPZ?yMamUSlW9Pc zT~7D$$4#Mk7s~6BXZ5fUSA|8E>aPoXFNnWHl@9;*F+Hp7nOI_R-17k|KE`^#tGy#Q z;Yec%qJ9n-rNBLceFE)pT z`7OmMxPv|m9WY9hpm$A|xQFJA(R1(?6rK5>tB&t@J-VzDrbjK9t8%~vOkfT|nHe;yi#_YO}Qwf6P z^@eLB5%}=d>d4h%#5DGK+n1D^GiUeVs*mSozF?`Uo90ih9t~w*1H_oesJ$kPf69^n z_18!R^qe=h!C{_AFwol4KQ_@LzpLBB1$H>duztY;L0}?7(3Jb58uFfM!urP?+?-D% zy@Kjz*4GA3E1ATr&d)jUWo;31)G8)LteNwJ27*L1+SlBpA)DNx=qi0rKrEqh)u1Ly zj5WR44lO)VwO6di=5~d`t+kdG?*)4ko5(jPeJQc?VcoG}E;~7w{r*x$rQVBNNK4GK z3vk^ju9u{83k-J+8dJ0xXp-J{nx%P43g*~TB0B153*`{KmoNy7&fg`z?1Ygze{J^Zz^hriSvGx<7u zT(!7ADWFX+xB{4rF|R`QS0vW!Jf9W1UK_#4e3?dk2Gz2P+8N^~FFXFTu>W7r)ennf z0=q{@3cGE+H(?Vn6;y7I{2oUCiocp?3>9|7KzLHvdeXjzq&nDFvwrVO>SS(?8X{d| zk$*0%Jj-bEdP>n*UrrH7|C`LY6CdH{yCNM?G7q`xdkJf-rOj;=$?1<>8@B8t%H|4F zv6S4lWBc}bWiydoA;kx(hQ>MZ0{S*(IG6V4;$cQa$IZ!rsOd^Qxp|PT!>g7%C@epe zV1#UmKizg4yn9Lt^JY@oe6MB}z33PLOlhO=2{Jvp(2)y2q*U#dPJblQRV~b`FT@?| zW&2fUEKtvZMpaO)3HNjY58R~?eEzldZ%C!MI>?>>d=g7HFJ(A~%JXAGOAna{nRF>@ zVFCyZ@U(>1kjkTOx!h#1%)O&gi8ON#y?n9^f+_5>pFb8j+b9iRy=l=8t~EKC`dv;W z+BkC>9)`;_^Y9FwViXylriHms+7E?E0-`JMEc&H1&KgBMSWIsH3CPdF<2lI21LI`~d9hbt?AOi7JH}Rc39|qBYHdBT`$H2N$Y& z4Qw^*&+KmJZS)k>;nol2d-lk&26v*+`9TW_ zysc`X9DG7|)JhxQL)&4$3H;G4N$?FD=+9}@PjLhbX`ZsQ@^3m4ZMcP48MGnhpvShc}T@MBukMj_DrN6 z2l1S)|KQvs-n@?(=M#l~#Fst`F{A2Mw&C@5KR(YF+;K>D|W-i@dn1>0@90Jh3(ucBFWF2J?q+!TnYpYJ^g3fuCe$;p2gx8r;&_?Wa zJn@yNT}g%+oi{mA`^zz;_*2sNsp_!qPl#bJgT~s`oPF2Di;HmTnmv3X-Zy5lB%7YL7jUPiJT&JXrKC^q=NkeM4jyj#_DE@H? z9p^J<>ecgRJaA!B;dMm@RCT zEG!Q1X9l<(FbX6NsnS70`YR}1?G{-Ljd^5uEF))+)%iT}=qe#eg|$^*GI=&+w35!C zW-DNu`lRJISj|p?cK2k2!qbDh2RVtUp@U7|R~kMgjd&of$Kwx$jJ+FNp-J=z4q?>e z9u05WcB~$dzCm)MtT$Y*ClfkcP7O;_@8_ljPpRzJMdiF{KADooiD$_QIocIKqFZr=ggwXZOQ+|Hy)*oiOmOgCsXJI$%I^pzKuE z8DX5cu72xepIFBoh5let@&hLo03Od`YDGL^9nF=T+*-MWTMU^wft*|2z^dNvi1~i> zeM1vRAZUBVbPy+PF+YMW4Yi0=>`&SbCP#gzh6Du>yN;$y@{|>YV8SBadV6{GK_@Te z9s||TqF0EPTW*AwWEKz6upTu(SiyVOxYb#C-U)CT0MnZX2p)r^P3Vw5@_{B%SN*q3Ae36GalCUcan+2QE2j7>2V6oh6|F zkq=@Fp-vIwG>KBW*TALFe&pila#`au(ebgeu23@>s_PJ1u=|#c<pmFTzZm3 zYL_$SO`O8K-uzIPch;N_t;}AFXdBwl1OgjJ3GFTFdoLQWw?dSIPRy=$R566?#1%G_ z4O}bUgyLQY8(BBq<;Bf64T#4F=?K!-&?9r24Ic*k7QBexD!Dudm#rr5)v%(&q7K|i ze>X*~JP1_8l6g*VFvfYYmu(p~ebJA;#GkAxXKVA#Z9J0MDWd;vTVp5bEabw^%Ib{t zSb@uhx!tY^d$`}=Fv8ERUk2oYWb^Ak{Z;0>4l5vWgu7 z#{T~2=FjV;IPsTOcA$#Z7##I<%>-3q?xOrC76`V>7L3NGX5>Kh*ZrAncaCZ>SIQI)l=U%)|@O0 z-EV-Dc7`ORbh2P8lI+ZT&E?{zrqag)Zr(b-w6WrH;%VCMt%p`aT5J27lLRK0<;ke@ zIQIgG&p&(7?Kj6)R4~{(eg)Q&g{q<+-xa!TXwS1tQCeNYEPn&%6t8H(w|SQ+XOarA?AzN3g_$Q8l*u$fm*tSfEOh8v(r8iY?m9R$^q`I+{z z13>;QVb%pYk$yk4qI7_7CU5H=jY@4oPqPB(f=7L-XQUN2`h|_jTML!q5;Spo7`Vgy zDo`e0A|V`aDy+67!AU+|RTVO({UwT;abhd}1{DhTIB5c!T0bt9&YJeIGSzVYk(*a9N?tWk#8^*VmKBR-jD=&t));tLBs-$VZ0`esS*aqVNpx5ylq<^2%FDfj05)>XUziDn3 zHg;Hp!Gr61|H0v1#l_uDVH8;;b=|2|LOr>Qi3KWLL& z+ISg~<8}O#UA+E&Lt~wSeY1`(^4%pI*M#dln6mILGk~omiUWlGK$)nNHjtky_(d(8 zxtJ9n&l42iofwZ=RZRWsMjMfN{dyp#;5p)W8y!T?r*AGZhG#(?erh>5D9B>^pwoH! zJor-8;Sz}v4#nrgnsVoD=tjt?*t;1MW=)n@m+gKG92VzirJdp9Oaw91dN?+9tMBV( z7+|q&MRTTT(9EdKCH%sz+ZCPYT-uiuINzL0Je^}96ID>eh!SbjMJ*@~Ae{Y*)}5v39Sw&Ec4;TQUH z-N}!JSAfelT;bms=;xqDVU_VwMA&AX${JTUmxK%R%d+olRmvJQeMfEQF*q#B5IvI(az3|GVN*k?%1@f z?zwb&cJ+^Ur(xF&f>-R53z@jBj}3OKu;RX!SKhfEE^b!^du(iMN@3fd^d78)HqU?C zC+02T_9*8N4{C4$0evR5yB!A8CySr&|6sP}+`LcJV3o>KLoHz@0m989_&$Yxy(~`^ zB842u3bE)Am5Oh)siZmn`jSFsCc(1YgUP|NnAx9C^=l=7h&Nzh;6H>BG3q*C35nZOZa7k?{+0x2>dD zg7*j*uFvjMT?xNd1D(ozx~?i*?2*XJOI&0xVSnG4wAikVC=V0`O5&cMRJr4s(0-Ro zvc%TMPTPNgZr+aP-x{@Vkp8hAgm6S@y(_7fT%L0gTzBj}UU4cRP0HMy;ztQ*1%yRFqWN z*^}nIblQcK(%RFvKXlts92bPVXEYu~%j7iy=y-`dyrJ%5sM`%e*d5T4)Gav@->J&O zyOYI;ado&xTl#Eu^#B5*Sf4&abXFX^B4U~4GEQf2ju}T!3`N9TlQq`rcvNN0%cZUK z{$!S9GTM98=3+(_+F?4(a((8zRgj_@sH6kLa_!B&O&B1iBCcz_OaL^2@ zkoG$L^S7h99y4+_Qq!YaQ^1NW*g;*ql2=T-gVMZ345}UrTlVYGlUiRi#`f+Hn3S4^ zwg#P*wDe@HPn~=po?*x*>nKHcJ+%xvHIj!np+5^FZT?zX8amQN?rmp=`%KJ+$Ub7- zmC$;0h%Yaj(Ccy(^eGvQ=I)EMsPH_T86<;`@(`cLW8&2yr>lz^M2Er?MASDvl%%QO z_^z%%wlx{+X+r*0A|XcFH9~&mDlHwVC#Lrv?os?k>~3dmoSp)f`*?sDpRD{d@pp-i zKrw3MMo8+pEf7f=ZuV~%&ir);JModd%8KhRjC_6qpIeNy22PJyJl01fN$dhj+Jb#~bgsJF$e5a@mMU*>zWrt$G zTm@^s9EO>f<;I#@BK@#V$GqLvrFa@KWVy5VRBjy|zc6}AN~Q{W;GXf$!sEYx>@Jmt zrSsj?;5RYiHZbl_Mtn`sFa1!I06`F_t+&lQG|WbZ%lHqQVPyMBb?}o3Vy)vN`$T!U z_SB$OJ0LWt75wj_VG$UT>ku|yQ7KKJ_uSqKhYlFn8n(@$2hx<_Eg+I(kr5aaWR^WS zw$oZEK;;D87vBk!2b7#!GGG%|NcDw=Wl-Sb#RHw z)V#L!-V)ekX%3&X?0(L2+}u?|?i(*gsO2Oi&3x^!z@*JrWl(y42?@@p%WIi?52E*q z2}=YNIu6nCYJS5J^~y~MxKsS-b5oX6Yj1NS1A7b??eJ2Rib)o7eQP14VchEEvL z($ccnFd>TB(Yx|wq#d`+6@nBoAaP4$uzr4I)o2=k%B#Sz6?)GzRvu*cl-cN2U_`-8 z7D>Vk58sU(*6(p4(^+$&1&V{w6T#D{o-@mBM{|MMJFWY;&6yQ2$Uk@5pwin^+RbeV zJWBztR2y_y--U4b!(cJ?$ma~t7u{##d-mI}uD954=q7h#TbEziF8}?3yz3j!aE@}h zq@ciInSl|{XIEK;yUXQoL-w1PBgIscIa4de=knVbSzifvOa~#=9%Wq3`G~~MzNn8y z(rPCqQN$3tD1}wGP@@Q2W1;|NMz%aiaWE*TBW(7dXn~jap!5FQ-8@JA3JBd+O6(^| zs#R|+6N+>YgkSb8YmwCf^LRb*w(h;qv2CAR3uSudSjP;s@g6>$nw;b#Hc6G#h>ZMB z1QRj>Wf|xV*G#HU=1QIy$lbcsd6%QLXjjWlcjphWy(*{_547k`N?{tDEH5Itk|OPa zXs`pOqo_t{?PPZ4K`*D_g<4vk&5NkR^|2yV3A2?)iWb))H0VU#IKYpf7PpK1Tj-Or@uPs zAe>vCU~3RqA?O`(-*>-Zf_=1;QdHF2MHiTK9JoL9v}W~P!Lu78M3|kf!*2O|ItF^a z<2`KsxMFBLV_6^|BqS3HHB|`Gg@7)p*Pp=-mz%dqlSqxPDjmz+oEhl*0729rkV1NU zH~YgCn=iU0NHup}3a#wD53XIk%7we3T5h#CH2UFerVuw*`?keknWhLpH`h|A>Fp$p z{2G$rzWsdgvbeSazsc*pVo*0OTWNQ<6G-vKJHewF0bt&@>&(pRa{;lG#iV|fv>w(! zje69#!rT*4c3C`Q){-aYXcoJ-6z+Fo;L)vhE+LECyVDBV?N1e3Bano9K^>w%;0~`J zQO%Gj{Qc+weI$_`aJK|u)*kxib^p>7i^Y26)Et2mX1pGV;yZgEd&i1PQpP#OUvN)K zO{MU7?)d13xdk1Yzb1ostPQ%rV14}8d)`}Kk&}&=O1*WlcLRzdrRYAVz{0D@OIn+e z*Acv}jziw|e9P2o>}dqhhHVBZB@Gf$PBt*oTFm+Se1Kyzb}G{b^hr9Oy1Ps#bI-Xd zvY{f9D(ZGWHe7h8t~{%bI(c?6_MHQ#{0mGeM>o&q`!=uRf_A!vbniqsS7dv$9w>L&&`&AT~JUq`WnvYYYW5byUs-V;)%kW!ZR>-V zDb71@Zm8BWOS$6>SY7pGsV!pmffedU$Fn~8KJLvkr*$*((*Keo%{g`7>Yt-xuwOob z*Bnz<=iAm-1&P_rMo0x%ECJudL#UkC1$bkbMTxY!N*&E0dI8_gK2hm56a1r5KY9_; zvhRWgpB(OE!KHo8`F)cw@8DOCgWPP&s7Sc*c{4O8Y01&;Pw8vz6(xTCJuy!Iv`t{5 zL#x*>I@(@%o-e(;b>sFP487OilY*|UzN9Ux9VBUIgTR=ZVtclLVpuvNcuHo4pl3x&0 z+pk~vt%Ox#<3R;CA3vqbpm4!4=8UyrZraSq^!93AqeUCDKAQIx(g2v5nt`{8Jhq)8 zD0SXDk=H|zeP*DK*p=M4v(c(a4{hi~n}dCi3GX}}oy)O|kKlNGLZ2SO68p(?=%^f* zKBnI0{Izz^L7!#(isTnrHLPH+-4dWk4nuN1E+^irojlLWTayvB(R{i&wSU(%ef9!4 zBaK}DHvT&z>`N8c)#lvv&;%Bn^Ryp2C~HXaoV#kg5%Wn}o@8@@=Vkm{ZAO4<&ZGYB zl^JBF&xp8)f!yR`z8W7)sHV;)V2goJ^~&WB@c)nqCN0a|HmmLndvc#yW=Vn}8n+pF zxpE~w(?FnJTHZ3jVbb|*eD>sK!z}D-UIs-cC$E0j^vSni)w5jJBH}~o_%6S>674M| z*reY-7YwkVi|sC5$2*X281A6cS=R6cPbI7lv8Kko(sqzX?I&f?{%M8#hiiAYa^f?f zU^_Z9B7Ff1>7$2gcy>y~*V(-GMWoy2&4?Pf(A$c~*b{)6uPKTwYy15?{T|2&oy5!f2Vdzw znyY^LcxOL(p(^H*0;F`Lb@JLzA{}B$3BO3r_%sCu#shFuseJq*n|hkk0;_xp6Fy{Q zJLCrwPyjv>XsJ=#W>qI(58&R$2XLF5=zs*8E@)VdQC9kMNMN`33OJK$hp`{&t50n} z{(3R<6|@u!KCJtRyng18dR{-pt11XiQ)p>os-swwx&8@RC0MJ*jUPJ1rl7aLvBa%o z+@v48lB}NhLpR*{vx^W)UHnLMBKe^+A(Ks&J9hE<4rYh=>R-~LWZp+8Js^Iw&~fGR zus8i-_^txqASNv=CV{HfNWbbR#q$#51wG}v^+WsFJI5lb2T}0AU1KJ7&fK7M(!p}i{FYp> zqrb=%2?f@15Dv^!@$wiO;ie)w!wyZ7p`|C#A&9PFIkm3Lmfl%L7m= zx~F9t%RXuU(&+-3ua4B{8Za-K8M(i~9bNdgk+Im_19sg|mjilZUZ7<{@(05&&mS zjJ@h5ojB#!JJr%%_+BTuh^E)zW6rk~Iy%T4tZeU|usoO&l77AIFIKSFzugj2nx~cI z_jGs54lgkDc^kg(y6<8qAh4&c+$l3{zOeaif@PFeZ}L0GQ;QEgPuK({shXn}eqzSe z4$ktk+>SW~h5v+IfD0SJh_qPPU_p__`cAp zGxScxlmFy@FYE;>SmE_LXBpmO{tP-ZQ~0iO<}0uLhPGbs&R)QN%S4c@SH71bU`zh{ ztx&eojE!~1_|A^`-#;6_Bp6ujD}QGkhH}~yWH~SsW|`IJ*g@#UHk?d2XP}3~`yai)OCDE zw%i^B)D8yp2-H`jaU=++d`DX^Hrc!8u2m$2VIEneRr5YAodY*IX> zt|=p)GCvEfElRDDqnAPX6)E?lo3FH(=Q#ZCuT^E5IjOxJaxItAWkANiDw>+8K$7Aq02eZWkI<~dkBwV|whwPxzp<6hT^Q&;L=shz@> zHbFNCsce^+kY1f<^C_j^%Ic~g4OI&T&Fvk@T7}ysy0ys;3?0i5-KjoKoBc&4UIx|4 zCNa_3^avhwnS$BHne4E&m&)njZmb?&Kb2+D>OPRHT%7isKC-zsdMasCMNQ4qW2HPt z4TijzbUi$&tE+B>|NUb8nb16L6qG-XKwjV4+JZFs6nG7$0A9-1XEqP8(&YsvIWqZZ zwSqTdGb@s+dy>%R20$Fc2L5N|fcEW7v9&Z|eQrBTN+mbbKT62!uaH*X>lOjP_0!~- z`kNjy@HIiBlWXr)ZS^)a81HO{F(#u+-GFxMuJgs+d5E<&1H;m}yNVC_#eG`>aq9;U zsm(l{d9M>up2h@S`?SC#e~Dc82yl#UU}Tx+>6Dzv9L1HqYR<2;((F!U01F;eeE4+m z$}R`PBr2>XO8##cA{1JT=}Fmc*9KEGENeo<;cVK)b2V!d(Zxwg&N%9x!~r;K{<4YQ zOPo`*S>*VKa))|R_t0)_zuxu5Kn^|)qg7h5t-2x-qjmJRz~lvpSi}V#Q}(1`f5&dO zjDGrbF#S#kcnHv4KhoL$R9;F|@87VC->N8|QmK@wctVP$+t%+<5Iz`sJZdn+>`#}a zs_ey}m%Kjh_X>x*o)q}|hg_A@%rxt-ntF$*o4*jb2Eo&y-{0Q5f5hN-VR`gE$!C2n zC>)QQr*q|{+g2V!q6&QN&ua&|2LuP4B;Bb+bk1D;}^u0r11(Pve z#0pe!f{v|?X}jpthTlLwAs6gG13VN=and`F@FQ(NT84(I4usrx-#N=e5fjQ0)qnxj zIg52(<*#97n!nF59|L$x9cd0U1?ia72)W}*Ij+B?7*0L$HzOb?S8h3LW@J8%Jy)9C z$8Jb2{OSv(cD3bFYN)^evtlA2f|Tk*S8AFqpocK~+#GhLY7|=?3r!d>Nhn9tOc8^z z^`6Qn4%_(XRAWZ$>lI!TE8S(}Bl0>=o#ft|nH>HeN%VI0B4j1R^*v5@m>6S|lxa56 zx(>P_r-^E6#y);BT$=@{;%f@ydih{2pl|i-7flZS}a+^0l!22P~W;L_TR% zB?{Qqsp~|8J!T2>L*OCSy;1&zJ$GPgcv#JcA-o=}dP{wt?K*QRh+nnpi~^MKOu%s6 z>`w|r=ywXa(fLs-Wx34@bRzYXrrzoUYtI66ZJAO_Gg@~QX$-zXY~4y{Y?c}l)I4is z^(8uHJBoC(>jV3;cMhb{Z9qY2n{Wh#PM9>o)ROi=Qgh zp7lMW{E~s)+uwIjV;mkzK?_z_h5(?(&ldkGkr|>N=Vyfwg;wCp8Hx$zym!unAl`n< zw8{JAk-r=jr~%+Nk${;Q-P*#B3=iKUnVew^KaaR@qHtpB-n4$Q&9L$OJ6U uj%a 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

    vTTx{UR(1d1Elz>qrytYE`^Q%Cc6SQ%o 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Ĵ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

    da-$%a{zVAGea&FxNVUD=!Y=k=RQssG`jvigz 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 literal 0 HcmV?d00001 diff --git a/web/ee/public/assets/dark-complete-transparent-CROPPED.png b/web/ee/public/assets/dark-complete-transparent-CROPPED.png new file mode 100644 index 0000000000000000000000000000000000000000..7d134ac59a92dc8bf0544a640374b417af6d1dde GIT binary patch literal 52174 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 K_xy~h-~R*crkJk) literal 0 HcmV?d00001 diff --git a/web/ee/public/assets/dark-complete-transparent_white_logo.png b/web/ee/public/assets/dark-complete-transparent_white_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..8685bbf981ac16f0b431ec4fc56570508364556e GIT binary patch literal 2971 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 R$=m<{002ovPDHLkV1j`GtoZ-{ literal 0 HcmV?d00001 diff --git a/web/ee/public/assets/dark-logo.svg b/web/ee/public/assets/dark-logo.svg new file mode 100644 index 0000000000..6cb8ef3330 --- /dev/null +++ b/web/ee/public/assets/dark-logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/web/ee/public/assets/fallback.png b/web/ee/public/assets/fallback.png new file mode 100644 index 0000000000000000000000000000000000000000..d3cbad03790c43025419fb22c239616d2ff66d1c GIT binary patch literal 2404 zcmeHI>s!)i82`xEwI*FN0$b6?MMzaQTFd9UkD4-TRl z8Cn_w0ANJhNeR)_79FHWeI3giyRHBLxINC#FPP@%hY9AekH)cL0KhgUn#nYwIoh^G zMKPIeoep+}oWu~ZI5UJPXlZ_cX~A@0nw#_UA|r>*QN!@PEkMzp2et95GBNX2&TZx6 zpSsGp8&(}~`G&6aB1RPIg%S;ichQ`J^q&YIFQ>bb5|L1d*K6DF>|zI0ZiQGmSV<8y zz6HbkO4JC-f>M6XhW-#Cw!jBGA(rrUCPiYA=>oB?TU%?m)*gKf)Nn$=lx7c-@TI4F zqSbKZ6Cc{~?JLB*E|(I=j(~34J*N<6)eF+;-mo>P36<4ug(>#8 zcIugNxm=oAsl4Zn>Bq`heePa)Pfw4J-o7U`W@hJiyC11a&yIdvm9vG^IgUy$C(Ue8 zD;?T9IO>s+kprJ9!Z*ad5$2)!n@+J}k?Gf0~m0=xf??Es&jCI z0ElG)RrG)x0Q%+-j#{T%_A}r}eV#XnEx$#rudk;MR{h2@0EcjygT)swUYwZwGoa{y?#)RTbF)d=U5}z9G zpN}P;n>@0=J>JxcEJClttHU=wU5QI!NNC|tl6vn>(;K^f zE)>Dgb&M7l=RVzTt%?5Ptah2dHZj|=*JgP7y|^)5-gJIuVsdqlG|kwhcAJ_TC!;I+ zE+NFfVw=OuT8p)%Zsf?wRzcax*nZ79l?Pb7qxOe@k?)mC<;3gPKWDH@oW?ejMN@8! zBx5R-dbMf4g`01(#c2Q76XaEf5b2MLP#f;P;jJnlp6A{9E)UIUy1<`GB$cND=zi%G zr|fY-zs$224s)=!0y@rT!SZ*V%DwJAz4^2hib`$84k>Iz;>cDQ2t`H1fFUS)UH4Gt2` zkq@0KUwZNHT}V4NvAV)c{ru^j+W7<@7$pqVM`uU8{*LIo>8WvLWK&jMyrTL8K0`*h z7_%O>vC>=^jo|bgYDho5xGMT@L2vlVa1s2RKw8K5(z9$7hNVw(4_r1kne0WR;BHuFb?$)dm(Yg@ueLVLV7$uLB zxL)xHiHeFYQ61|*h%a+v*=(0vtkK6BqO?KlImXL6-cWQuF(E+{-_W^4kGLc_wfOj| z%ZnOqXtib?M+0p{PbQmK#TJE#q0l1VPLIBP0L}5R{~C!Z46ZgJ=-yBMH@mE06x%+Q yU*`(c-%bE+NKgd-y{nQnShDE6fUl)nIBe#5l@ literal 0 HcmV?d00001 diff --git a/web/ee/public/assets/favicon.ico b/web/ee/public/assets/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..4dc8619b1d37c01f210d8f5dfb4c0330fc56e417 GIT binary patch literal 1178 zcmV;L1ZDe)P)m#4#GN47py~v1C#b!FJ3*8Qnodx4 zg18eznV{|jbvH;SU=IzLAT&i%{E+D2PIs{^N_s$mdh=0fTgHew!EZ1Fd$jfMGjt-pjSc2?AKmcHAII6cfsygr-q3cSGD#0x;n>1MQU}!pV zRSkG*cm~`*IBli^jvkO0X3y+b#@e>7xsY5|RHeo~=`= zB=pAcdKWb43^*&%ful8Y0 z>L~Eo&=fB*T9f-0Fh#)=WoEP{w~W*W&ME?)vRurh$wTJmyx@tUnM;#(wctmV?bbrgI?%81v0qv-l&qX`x<=*$q z+;$@FM-aaeu|>pF*K_zq$zk95)O+fEMBEGjFA$L&b;rDD|Ubrf@TJ#6lsGG0Pu_3enZ5bNA}rm5ZnQACLk_6 zZF{8@U9;xtl1BeKM5G8l_{k8ywr1*l3Q3*PCP(oqwRx#gJ!LhP zQtnNWy!lpV6|KL$y1mqTe6EU1aOxBRSHnUirN)-EkWma=T$oZ-EtWdP!HovNTRf#x zXEJaDB4y_!CUtC4H!ZjU@nRrKfQa3Ym=@fCNSVV^QfEGJ<7P$n!yWDB2NyR@skV+v zovOeEL~#vY9k_Tv(H)f>;NJCkj47pdR6zxRk6ckb<8^rNTZi-VcM-Gv9c3kYe4rPy zY4~bG-2stH!`B(=Hsc!Jic47cT!;IDh&x{$&XPLGHW|2p=owiw$)*T(tZaQM?{joxAKNZcev!QDOrc=1V;(((C~Zl`}fvW-a2Y<;Q;Hen}stD3YxD1TsS~3 sf1M?)qxi@9F~&lN_&d2f*ewMqV*MLjV8(07*qoM6N<$g5o(XFaQ7m literal 0 HcmV?d00001 diff --git a/web/ee/public/assets/light-complete-transparent-CROPPED.png b/web/ee/public/assets/light-complete-transparent-CROPPED.png new file mode 100644 index 0000000000000000000000000000000000000000..6be2e99e086f670a468c6562ec4d847d2e8daaf6 GIT binary patch literal 48798 zcmeFZc|4Tu`#&s2S?-90WGN!Dmz^0B*_G@&W2x-R*oQ7lgIGvW>br5fAYC91+PW z8luyLOMw4Gr!EtboV+F?QaQ!+&ugtyH~zW?7%b#5(V4%lF$8`RUh)#Y{qyro>5b2ztuj@^F$A zk`U&7B6(X#T;!JM?OVdPgvBHTMMQ+f#d+N&g>MOp0`CYBIb3yk1KdpJtYqLuM8wZd z_&Vj41@<5!BDQ#}t?#a{t|kd_a^SbHahLVC`OV?YGos-byxAP+kxL? zu03*hca{_o@bvWL_q@gL zv49azge7PHzux`(5B84=O1G=h*auZuF~#X@R{g1Zb6npvb@0vT;g$sj>z-FSSOMMz|QtmtqhM_a1sWMyU-FVk-;PxGI~E-a8t4J-M-IZDp-(tvC^SaMZik z@cAVZqYH-XTAuK{&2SwCqqiPRn?A1}yulnUk4 zY4SE{SYB)W-NS-OJeHAUIdx0mtOB-fp6n71C^A%&*O)!wSL+4@!of+6*#~n%>GvRe zNw@dhn?tdXXYU=8ZOa#byRtK9&M$vbIM!@gzm8|5r6kEoz8$(KrliRG8}(a~WwTA+ z;6JVn-=iH@v|@f;@+vvg(X8YkrtM5n)-QMGDKXzUtJV47L6iFQe%%;#e)~WYVxd#cN@)IC_+~N(d(QAF=H%E~ zp_IPgukX^i)iT~AKh4SKI5G!`W%>3tc+z0x^#s;9{odc`*QqnEu3wKIQe(z3khT8h z*g^FxUycHTKv6xQoBwK6CtGkSFruKXZgqwKBYcxxIM{O*BNRoJ!?eQaP!jd)EpHw^ z*LJ4)ssRoaqB4F{k14$178!Huc4gl4 z4VSFbb?Upv4UV^xtRK(TN;Jyx=NccBAR@@q|0 zQe@*Knlr&b>8k)Zuxfk4DQJmJdX!Vvpl+n`%ZHsJk)*5cn3|tlhtij;j=Nf#n6hzN zk!#sr>2`{V_>DZud1A_{ZfSX5keZ?cUmM;(BP^;DE4iibuVneG<=3icoT zSo78S`lVy;(Mg(c2PPXeB04J-H0ODZN8P_R8^Qa5G97f7YejYUr3q&9LLf${O(;i- z{sayve+dW8vS&OP;eZnrmj;~ZFpg}2axZ=`m1#pc{x@*2R3ck1b&xb@LJ6!a_JUm< zi6SMKGYXA(jr^S(U3w#1e^Yvj+0^q?btWHI0`aZDBy%36NeSBD+f5k7!Zs#i&}2Kc zPxM*>F_f6`4>9FQiHqG-%4&kYHn%V`t8EnEMHeE$Vh^bWHlLXnaKw}i2M?w`+#pN% zji=#Y0}N+Gc~W6g-#^Z(O>0J&`0T`E6*QuR_IDfS&QaX!pLhr+$u37RV|ymgtD1+* zUU^lk90X|BZ#-!^FspRHZsr{7nf&hZk__|3l(fVSruqs6LVpVkqcO4_9!>y~R{&nr zG@qnp{Lf|mi>oXo{nk1 zb3B1J$yeQu0UMI@AlQ%%F=JkDfFXOz&Rd6$iVLA(34q?+gX{@~VSj18fiH+9RtP?* z_~H2Z&>=N8enZyST_ZfSa<)+w7|}vER&qp;%JkntA$A zZ>KQw2~ubUJ@G|+c#54?t0I32BxM#N@N4z2mo-iTadc1Znf9MNSRyYy2CcB73)A-~xRC1PHSxizNJW)M zN4fow8W0a4#XIo7jBe?NOPO-Hx_@+D! zeEJEeb2FMCw&Y(&KeA3|3cn6`>A6on?|lfM#)(=418UL!?b&LKx*p>EocJ*Idekw9 zAc+#GYyS_z;)cgYj|Q`B952Bejj~doi?mZ)7{r*K^!p z5tTdFe<`?lSw$yDK+Tc?;Bc8mKH)6xMZ36EBXIGRDeeX?#?eY9tPt-MRz_fQ3;Cd{ z;r30bi@zK#Sl0Lkh$Ece29YqCDZ{RND==lqDeleu!3ehld#skV`$vu~Sb=|ll5dLG z@Dt(@{Q}3$>wTmUMe?PQ6}|5gWg0ae_x3&%acd>I_zRpI zzYt3C#x~RERjH5f-%!mOm%Dhd#y;+;#G02mFtl;;wcM(U@15MWA*5}2yCm|yL{PnY z?tIZyTEB;^&1<)e@%7*qwT_~H&pV5S0!=FYfZ1~8Rn6bAkppBamG7^V(2!gYXacM- z7NOUhXz3_8OWi#uom;5a0K0?aXSB4YL?>y(r2_DwIOkklgxC-^Met9wm(joTdBZ%^ z^fv@*VE@)o&fS5w zn$wAlJos1EC6EFLp7j^+e4`e4WESeyPItcMSRufJlb?gCLWNYfq1fa$!=n_Z5`XN` zR+Z+XUZu};^WvOaup)o($A+%?o9W0jTGFS#2%((41FL1dQ?&(*5z{OKX%_%!L7;7| zrrdCc0Dv?4yry&({kCfu^YOJyNOERv>K@XCMXY89fi4)l>O0mJ`~cyRN20)(9F@J5$8!ERYCT5+EVNE5hrQ?b8Gre4r9Sa&%D)pHIT%OA;OzgyKSLrn{ zqqacG?{Q0Qj5)X>f==hVjeV|xKz%hBjCK3*{|YC??ZgrgGmoooD)>;qwRq?sO6Hih zr8dcYlwn6|Uk@sfylBU85bDt8Z8!-$+yU4Hg|*TFTCFu;&$sK?TpEqDT-S{!3u#I9 zzHT@Es~y+_sOyzz(issRO;Uq?t|nRng+^Y0*CF%ho%5=I6tOf?M|de$p@cJ7Tr>Jx zrOBk`M5CN=zoJ4wVcZ@_yNPum?G;oTp_q&GXf+@DYuk4krNjumA77SeJfRTNj2I(wpvl+w@tt$%Wm>Bjd+%%Xy1?k674;Jg@0F zrS~WN@G@dbL#{_2a=w!!R&Ogmswf&(aEspFOj*-Vf|?P)WGxP=i|DYd8#>f>(mZjZ z2*o`7CM{|5eUIdy#n@NTyfYApwoB)CY^t?8vqPXrZ@g>PA#oLTP98kG7U^jiO$ZVR zL2IhrNir*Q_5NlST1UFX3v$d-yeQt3hX-Okz$Eo@BBbCRxyaNelRg$y_eUPvPeU+C zi(>A_Re3*~s0q2aMPF7U{)Bs7YLM+X$M1u}Us$ok2M-5L9O6qHKh1 z^(e8Lgo?E9$#4!GBBnur=BV>j`YL^^(m6chTw@$_UtE1xYsN(>%D0ZA`-zf&M{$aa zvi81b`pI$|=>GzGt9S#LN)@a>fIpnab{24a848{g-%C^0 z^x!kWEiYOo>wmUf_iHo3a$KwH+63)<7fmdY3c5NJ{$dFEBZ@Z<8KUYc^^8j_w{5G{ ze`oa??QLM}ml#=a0Urfdr~nTkxysjK|BRSm8^Y}&@0G*%`V|&e%f|r(traIrtzCfcz@arN3bS{YGy_ z(Qj?N>Zg_qd)vfJOOm6>u;>PHZY84r4+lxg1&lp&KIimF7_Oh)e3hwg>CU%xNzdx* zNb)jT;ec5$++loW5MPNtO3-t3)Ir!SqKHKKy{qJd*eBEcwK5imDVg^rQvbw_kOf_g zdI|e!%Vh(h6yg@ejt{D`3Hl~@E>K3%MKPEDTwWCy;9r5=sD1}iBLpAta<~uhD@+&6 zzLlm>)?@FtcEL9(X3t-@DZSrcRx39Jp^aY(mQ%S0Z~U3Z2kalvfy7MYi4HIXH}hwR zUmc*`^bQsRQ*4^s(1!W7uL*_W26?jO zhZ-dU#Jt56}1OU$)t&Dv(bFd}^uq|9S*^LU099<1~E)3erHpFh-^fU7|!$S<9v_dbQ=bbEySaYTR ztcUqI;t_^6M#dq^ZNRpd>L6W_%7Jhscu=o@7$T&jTjrM zT6p{OWdEUIDeulOo@NaBw4}&pTLtG}4@aM;pb+L9MiXx!b^v)7FYrhA>Bf)&dNK+b zTH(m6QB5g(AmB9@e$4aFAV0~tSccfY)!a7CB}a|Cor*VEsI@wi*W1Do^@wQhufK$S;#SJ@b(F@VYWqv)JTvYeH08w$GST zMj$l+H4wLrCV(4jT*Q~$1x4tg<#5c*$dXY-k@YiJ3X~hASW$GuN_va2>E{VI$DBC; zQ@(J&%^Xf_bYmu+W4txUzw0W-t%;q6-kg3YgIAhu@q=RG5V=+PmAI6_p-;Di56c}% z5(O@XYT8}QTu*6$PMK~F{p*y?S4dI>NB1Aj+9)$bSuj9)Z( zQTQ4ypeHe9x#`3DlXgQQ^C>bMXI0l{vPBYRMl*kg{=bKmJtuB4<9(kl)U%NuP#K=1 z`0mj7HbWCOhz_`*q*gCZva@*!_oL}3m{c}#U=HkMm z2N~T@NNm!FfkEMG3X9nymvW5jd2Q*y1ui9Vc0Z}uf2iF}GOK*38jD$M633r)qv~-w z?9>=PFgvu8KscSGj-)wmk&7fXpCyc3kI^`YZ;q}UU}k&|*KQnsR<0-l$2ps=z5N-h zZ#WwSVo*^-BOsFrf2_3>=8#~FV2k2Zl&rB@gW`Fm$>&2}DBtpQ8arrUiVl^spNY1= zA>`HPb|6%bbgR@aC5ZAFB({hw(I3KYYi-O>{Kbi&iW1yv{-R8)Ir!50HA%cAZS-D^UrCKl5(>qL#F%f)st*awxF4x zk1NxsrO?M$#Yisy8*#|QqL3Cge~SMxMZif!%9Z)V00<0MPZ@Z=wlA(tx15yHpT~W0 z8fr|io50nIy)J8cVwNhXUsa5J_|r}XUL-ip*&Cy0Pn@P7`+#|jutNL9-l~p*^fX7|S{$@iH^K_k0 z4%y%M{S7lnzddVbT!V9Pg@4wx!1$4u0r$Td zB%=z@kmu}L1bB$hIV|r$o2n1jcYFp&HCqBOs{cDMz9RwP-B7l%l^-Y$)0cbNRbB}A zoW&;e#=L+Zn71u``N}$$=koc^%o8`%Y2fo!f~gR4!eu62@KRmhPFvVRd3!d35~aiI z6&CHVxcs%=M*)!Q0me0lz7t2sh^-Yr*dHYqt0QDPQca!x;a-RmUw>bmb>(V2$-r3a zR?$|sV^0OXfEaestIIfhs|GWVj8NBqv#GIAa5D^bE4(p) zwtIfBn>E$e1HZF(B-R<+=9Xx7mB9Yor}KL1WK)zpx3bl_TJiP6h-#U2K#R}Nh)UVW z{Sw}^rjFjUF*~jR+*6@)*H*S3_P1XPd@pIET6dy<+R+$8$$YGm^x`*_&kjm!-4)Dk_cG zAiDx=5@BwxiB_oDZk5+X<-@e}&p7j$P?M`Gsar@t7kW!-3%v?0Dg>yb1Lgms>-I*F^{J6R&fsc%ZEy8=iA(p ztC`K_ci0h>U@Q4)SCHJU66&1xADBaguKlbORI&F%vyU2n3fI7{v?GfwMkxc zUyE(fgFkd1PhOPzVNhlb1H&l|dU*7)Mc?wQk|k>6+CHQU%xNa?A9}!kbe5w0xl>Lx>rEbmg=p8a88A)&qJ8>C1vdTI^x9F zV;nWmbtzK-Mh44ih1fz;!|2~{I3@{jZIle6B?K3cP3`)}%zNit!6p0b->FSxIJ?up z+p`mqN35|C<(y%l8iiq) zsYgk}$gQZ|OxyaLPloA$Q(GyU_{ax47sS`8`D(XGwRZPS9}YC#EZ!8>mR{paVaZ*L zC3ca+C-M3UMm>(k0@S5%zP}>c{;xDGVhC7Nw0<@QW#7e+i_&P>`Cl>DiNhc6tJtl^ z>%~rAADVBBteVGo9WiaTw5dEaPjqa5{Ooqg{Q8ntTo~g8MWdm{VJzmgL8bR44 z6uk1tWh*%m)Y@br^;ck1_9q*ofwl`GN=X^ubVosfo|c{I zcjiny8-tGK=2;atq(G*j@P*HwFf~w6s&a%$r8sFfU1?AsDjJBTC=V}7 zu(=?8?y#X$GsQLQUldnrvK@W&P`l{I;@!K(bOd82=xd`yl2T~x=!H}5yeu{QDt`sdeC^jZgP92d5&d^{V5d3V-A*}5FYw|8gr`oi(G zfIGY-q}OAF-qO<0lU%a?y!mX`iaGcNoxmvo_KJ+MX0_ZGwVb^H3}&lzX(KE?1rI>^u8ceueK! zp{Hf1f+$NYEi?bPw^LHPrAfJZ*H@rpi*A8RdZch$U+NR)swFqTV=ybar1Ihy1p)R8 zi0{3=vVsNwF_wR_SAC~Hb%cx2yWzoSFT?V16>8N*d&WTct+Z=Cj!Xk9qFGX|13b|QHs3)TXP470bH|qZ zj{Weh;%?9}rwwaKt9O5h4q@sCnEBwATjFEK_crq~yW!s|*QAaDUZZGL12aj4eLU|Z z$jDNR&lBqNY-urY+AT?B>|X_5GY^EuV}Z`f)UxZ4!ZbUJm?w1Z`QszPLs9)jDJSlt z_Uuhg@*}aiyDgI_d+fpF_L^DC@$==hYh635F)WVz41ajzxpqYkC)2qsHN<$&cqm_i zUro>Ej^K;9RT?Q0Ocq4-t+_oLuO*(iKN_-o>!$oJt%3$a<_^QsKyV-}$z(cs0YJ z<$@|}s}FrNUPUWoZY$T`+rX~{ySvoCsO-IU#gpmEn)HPoQWKWd+>o#<;qPTQ(H*o- zPhN_NIT&GKtuyoD<{Mmm=%~DIy{f&|wDbcFhJ62gq>u5oMJpR8xvAp8UAfDs-gFn< zqr|jh-ctN&+EH6+pmD)p#TQg8R3(%WkvhTF?SGZ79RB>4>RlV2UwvY?3&k(>4CwG70bZtYM5dz$VPrVK-!Gq zl@5<>*2RuS6|<094QT<8@`8A#Gk^JH2xPTtxk5ReixLz9p=&Zjg6_SjZz^iv^6!TO zF>nL?&SzRujfUw+7-fuszftskD z=G9nB;2(m~+!2Q#{Lfdwq67JS<(0_cHcb1}MO5?HFQVE2+nm-B7&e`a zbmsRE>cBMP-pEMr0SJW=dW8;dQI%*4=t{rZbxbKU%OF!10uEnw?IjW34+!GLlla}m zS4uyy`qM5CR$0FK90Bn1xIQm`X);wqh+Eo`(w2^Zcz6Yxi7R5=jq+u zVtPhsOQr{FMyl4PzIm;l-&Cvfy`TQ3(|ae((=!iOSCzR~N3-lUjacS9ghAIXC{?wP z1#PEoeH68z1`ix(fWd~|jbjU_o>FK)@cd$?TrJr1>`+;Cl8;h?Ngw~?zru4bOOqY* zbfDe~#6V?kl_zZl24y{t?c>)o@@whHq9uP;oxYxyaqFsMi*tC3iI}dE zF9ZRq&n!+2R*;@X3hjPOOWg$uhHj>}y$`a4Exxm)bZ<=H)sGIA7JGY>ZhP^UTpUem z1{s0aq2L)#pw;Z8GeC$yjosrgr8MX{gEN4QEevz7d6%g>4gs?-NJ~^`%{WOeI44H@ z3X6c@eT%0eC)+8+)4xw0Cgp(q_g$q-tEC$z2e`T#mb?&Pwqp9Y{vKBiE$Olhs5VW|iwQ9; zz#g#L8#Q&j8sXNZe408ROTJ*g9z1v$OQ@>MR?=ILr{{``fNs3GK<@3*%$hx{d_yj*^lrS7zDm4s*89K&2 z3*PdZv}g(9-~u>TpgF@(nlZ|)a$TY8=A-V;B%quO@aMg@f2OO>IqevJy5J=tzZX19 zX}kEU%`IftM9grHrLfvDa7^e=-^P;l!>Rtn& zvA9xghMob_ge(UM5=73kkwNs04If&2AT*?-|aFP0Y2RuWpI>r2e;LFYvMwLxYJ zy4nTrmb{qkG|yfWP9OTVu3(GBsimVavaPO?k7S?iJE`Pe?|$C{{HQ(~XH3;bk8b4q zTuG%aN0go-_g~w~Fhz8yZyRzerkCf}w$ul{>t4MA?dXicSw!082X0(@+O&Whh z10!DXZ)~HjQNWU4vRU{B)D28-2<95hpYJwP`v6nP9|9T$!|AU;Vqfh6WoA9NW0OIbH`XfZ==V&BiCxriG)wTlIzh{)8ke?@Z@}%;qvyXx zLk>_0)AE(p!mzCmdeidKXAg_>oI3b!^u27JUtPRqI2I@M*obY)9*gN3Ku)=s?Vy5N zXzw|``2@yys1>qzf`in^^F#vUWPe18ZhC(F&L)pNBOS?Xb z$4j~tl%C(yzx07@sz3Q|Vd{4eZL_$k;hd^vc0o%+p%1){sOIiBdQ-bdhl@>brmK@3 z+!Q@%OdhXBHpDj{POKPp8kwM{rj!G5By(VsqZc^O6&53EuK?VJ1mCJHb)CM)dq3*a z#-G^c?l{OHI#~cW*4DnFH#l+KcF%!EAh>nRkk`3$PW)IgJQ-8hzDb{6rD-?pQbJ5_ zU)4NMIqlg^xpO6y?EP-^_zT@S%B7AzQjy|~wyi2J7TW?dHbj8K2xc66iE3H)ijmzR z@kTZ$$nG#18g54&s(JU4-Dp(u{datUz1H^v28R(7nt8-jWmTxET6o&}7qXxsD&vma zjStx1T@I>XQfPB6Rcv)}!=H-0((EIbL>xCt8{86~6-iNCSubAA;^6whktUF})mb+_ z9wV>B>awM6cf?I!)j60756=qsKmOx!iadiVf^F{FpB11$6H&S%iF^z4wq8+SYC_)Y z>2LL$R%$C5im(kzRs8BzWsd`=EzZjOIyO8mYqSSXSve54n5HV zZ=HIS(gD#M8X)?J)o~TRM&f-cN7tD8+`#EgVXat)0uxgI)CCcuB3o~LI>0svoG|*# z5%(WLUl{^El@wu-?gt}E2fPQTH$zZiNGA@d1#gshat&rW5EEi}92|IY=1F#k!wxSOu_q8F!B^a@w{ur=32 z74aWu8snk!wBrKy&gp}?sr~QGt~cGAtI)ziA5KJ#s6dO7r@|`V55onEJ9ns{PowN$ z#2XsHa1@PEud?ztq|G!~5h(%$`=b`vXKhqPZx#<0y6P3MctRysllg z2g!Y18GpZ1rA+U!GG&{xbJU1{me9#TdE%(=Z~q+Bnt8rOL?4)rQ;7+Dr5 zxJ&FBbRfz2d43Vj5T4cioES<=S|$}$Ed)?c5kP~~Nij?&ZFK~wBCJ@2P&O0_HN%xs z6@bHL`8^czs~>!>yzIej_WOpO6cl_^lbaw2enLIkeCt~`jv8}2hb6ku3C?wTjsywj zVpUI59nX(QJv7-Qr@=HYkI(bqF?jglyyuZYZ?xQ%CT_+!nf{KgBoo}(o+tl&7J!?q zMwbpEy>U8mcBeLK8D()`Gf zCgo#3k_2*N;8M@2t0V><*V6j_qWrTn5u*H=n7FIDh!$k3rQ*{;G|c*Y~A zk;t8kgaq8a{yA0V}-$t33+45j`ikivY=gqkq#GE))nZHDp~3_kk0Ik7S5N%jt93;NSGa$ z&!>xQWa~FY0(L7Mt0EH_)wUp~mfOY^I_z?Qoal(|vsDeuBFRxtg!@}4@ooLmsn@7p3{DgRQYyrVnlw8(y zvhqD5-qFdO9_Bdo#@OK6@n=v|@BxQ>Xm`g?7~~qoMwzq1a4-GM8D#Mthr9c_wJ36#kgf~m`E0sV#L>BevRp$gIi*b z@@IHZ-S>z0ToHKf&p;&ZuR(~!QRpU42k_BUGpOl>-|c1jhNl`GEA@?s#z&o?8IP}U zeBJ2dXZQ%RAaMH1h=QoZ3hOKSo=GR1gY+v9TlAMpyU^=_UaeOgLsW+wm66?DR$Y=g zqV2nduPl|%nkg7Ds3qh>2ELt95j~9k{EhXS$AdjkR`S;(G-UD8G>W7B^YWl_76jbA zMwRb}=>h!Mq;QjLTFtBpT*|dE{7T#|`1IT)7c9>+^V0@i`sjr%D>{66fgblh<29%Q z14nY?@v0tvW0v%~+hL`mRhWW^>;y5oPEHTBwAVBtgBsz0DZ5N%`y&S0#q_FKV&Z!b zLzd0t_O*p9sAFsSR-3Qy95PJ^fS#vl$%G)(l%yTS z45G_6Xg5_hQx_sLov`+j2SuI7D*NB-c}=rHz)^}z9S zn2Mq&`oRR5#u9pA<$+#UvnT0M9dQ|ZE?*kKS$tf&Rm9ip(wXCc?ndprcMzbIoZ}Ji zznD2b;`P89D)8Of{k@Ozu(y=|$9CFwZByz(dHlmsrTQha>;cY7?8*v*eK+!k&y1mr z?!E0Q&0aa1kXxvZU~RZ?CX%uMC4b7L2Tm;CX`p|jnm%{LaSxV zq*=V9{Q31j4KmY_lE8SV$iK^E8iMF#el2+3Z~~+J#y2CMOHBTW11c4_qq>a-BE8NU zV@Hj#II7Zy#7v?3$n9%WB)c*Txf;oh$M@{5wv)#mNk_k&MkR|Hz;T+(sC63#!^tNt zQ^T{b#zhSkj6WeZS+0blQ@WiBp8K*dt z3pkBHn~57;rL1frKTIw(D*C45Tb2?Zs2*7mlieJ(twYYk&96~LEj;ZV=D@nCD3OFd%TSZwO`Xd=(j zqh!&oJXkl|a7BB`)Zo zNi&#Afl>Z6662+3uY&q+y}#)Q4Z70o%0)@)OifQY8)V?|#tn7^0=IjB{9AA#wM$Nd z#UnA^A=-_{uim#x73NXo+qIex$E7d<2QoI(fun#xTDid?X7rh5km$B4-Yh?{vb>G6OTmDhuksG+j{O>j?Au z!`OJl#b|tgcQDtJx+q5pi{kU`x2s%UYwjNq%lkZj z`)S;(XevnN;F9w4j$?%Yro!cvXP;^yRFmNg_1tq=>Dj`xU_$30A=@wR2F^AZ>N>%t z+|Mi5Q$MQ1jm-kBz}Y|A+ucc2YIS976lzUiTU^??u*k-2LkZ?Qg4&ix4TgV<(!}Zy zO&)o#Z{0Wiw3I2v3O7AY8I*w5)Kdv4b%c%gL?O8kyF2^x%%7GC?d;i^MLm?h7m3Q_ zHcZ^U$&S<_Ijz1dZY2}Qx*sg3cCih!1JYKz(nj(H%+8(Kowt3RKbNW^MUVmg3N{A@ zIqq}MkF)}{Z@xkqN4EynAWiIE@2n^*1Kd=gIEO4~6jIN|5NF*a7=6M404H>S^R&2# zO8xA}&tqL=IV;`qm8UJU1n&2@qg{Au)?EpFfbeYNH#b6aT|*ES=zG?dsmiSih{J+{ z?D4cy=nDr6bZfa$4iixn=eYG0QRB|lt00Z#X^qcM?beZ@YbL`yuki(MtRTr!DuX`t zB^RWc&6iY$wBBUbsj76^~rpe-fOdt|G~Qhq$)-!F`>bT zbG$J|TB@Ot>uZMH_J@5hwOO11=hcVPVb|o!#$2SboRGV9zVY9M-Y_Ryn=SiqR;W@X zM!wIhblG%GUYiN+@w7IZ#EjX5)KnHwIke8Gcec5uG>%X(HW$U9C0_5ZH6cB>-yQ+y zM^4|0X?OX#%?Ze&Rk3GILhAd(x9;qU0HuIhw*hHE5!9s$m+DoV3o9Or8Bs50zBMT!( zyS{vIGDCi^L4!1Cwq>$3SNx*{WM)2i z5ZhW)ufp1q6J%N%0Q6td6yEd1-`KBRx)ME|vyttYzesF$ck5acf1*rveRri}hHNsh z!s%yB54Cp8#os$50t;--=YSTvxXi^EXW^>17;}(t;Lrseoh_?el?Sg>@?!XpTJ~)! z-2<+gAV<#!K1B~?l~+kxV$=PwEZ0O6%Zg zm1chBlSzu;(x(TtKCDi~VPo@X&1&X!ZJ&-Iu{t`VQ1Cq*lhwDx){%fly3O;YuVm?I zNx!yuxq>*mSs37`m5uf%Y=V}PWI1Ir84l66b4+wWSE0z1eqHLkX+STFSmv+I&i*Ia zFQZ@P*}a?dteZJQAX#c8FZwILW5Dv_i;@lBRE}>K;oss{?fn)G$K>Sn>cnk}N_z*P zPMkJqi2w{EE%ib%z>GYAv8^52ikIO^8uYEwMQoRCy#eTSfA}M)XM4syET#mSX$bjL&y~` zJ?Z4>+Lv78ByVDKZLz@T9WWZ`mZU&TZay@gi_(hCxFfY!hfTanB zc0F^*^@J1`v4PlkZm^9sBRqik1^d(h_6_i<*gvIR~Uz9sBj!%YrXb7d99^Is zPU6k2rGF4zyvffEFu^~1eh10wYYX28En)^*Kr0?KdLw-;n@k>BJq!fWo=GyWR0lvu{`tj1iEV)ICJ>8m;3m=8N=u+w< z5^y5HlMycjL(g{&T)kkR)* z%Bp`qZ2&o&J&+}qIZ}XM&(_4GnK!M*5|fv+Q>WAH26}ivXHB(yCfzM;#cG}bCv*l) zFqLq7es-!jg^KQ0TGt>eV7}(9Pd4tX%ejW|<}zPmiHo0NuKY6{;97yUMkD(hfv6ENie5^i&l@YCRsVaC%+(ofl%UvSB5G-eTcH!B28}0Bj zY1ujEJK;~FpW80Pw8g2}0d96kc+<6X$>gqu1ZS1<-yhwn=Am) z+E&ZxtZz;%Oi6;z=%Ho18g9{O2AgVryJ`9^LfN>uGpyombNtZx&eIFJ zJtm60(V9$GVx230oY6?4-<7{~Fn-W_zEN|LmQ-Nbd^Oy|fY)%T^fgJ8zT4L=#A~r) zg`4Zwg@?s$hKJ5Lny#%UHhS`;->=ywlB}O^vY9Sgb3W$ANZL=u>z@V6sjE*%nMow6 zcgN1-B$~RlO~rb4@~{|ygi7^emx`c2MG(=jTLL_@1vp#}%q)1wb(5_|{+nG02}xL3 z(BGfWASghMSy-vn^2$~ty>l?NT06Jntw(=U%Yv`Pfrp%}KWp>jqV(2FZVr>FJ@P6q zbotc1^@meHXmWJev+5g;e3z1nca7-9pq1NuscU1*H{Z$f5H~uiEGqR;0o@&v40@|7 z^a`Y2GmIS%n`}9R>+$r4?ueo%>&i#eA6ht?AlKFznnz*N)_0CwH?>?tzUb9EbBAJHrYF|y z;+?yd>c1OmOHh0g0d>7PC2t*oGi;~*&mQ13x3h}{2{4} z-MQ0aGYp%5IM#K2gsba%OlA=;_7C@n*d!yj*{TlaBhbmD5~bMlJpM1TzaR7VC}I=J znEZ8svI(8iEG?-i7Z`jP%&d+|HQzFzB;Vww{8C`3P>xhlt_s*NXI~>OGUa{x?`lE0t(X7FjNGQ?q(p}O2a6}=omd< zgZ)0k=Xu`eeSiOP>^Ru&xbnQt>$)-b(^m%I_)oO>&)JnV7`Ok<6|<1W2c%>0g6J3Y zL73c}MlQvZ&G4LoxK;HO@w(A~@qV*fCoa=06nB<-uw?(Dys|cWbmqqS8J6=`q#+#! z=x+X5M(kWBPh6Jy81!yRD;t8ZMeiMQ(`chDxg`d;1#^&J^Q&nNiljzu&$-+kM38Lj z-`yLt$N!{SEQK6(Bm1&r({*JsB4RCk6X5<*A|8BEjdo;;pg zGPoQfsFUr~EO=xI(8DAABP2QTGl=r`8o2}Jj-3kZ92tyYL~qF2IU8qm&OarkCP>?~ z!n=YLg7h)Xg9pfEd@lvxJ~o@@E4(qoUbIoIkJtR);djHIsGTHB~v}{)v_&q zcWTRW8sHxQ0+hW#-i=ZAm7TcZdQ@tp+bE3b#J#tdmL39LwZjm6BT$bPXfHp|p z@_hpE?1SdVSuZiA*@9_wGqK1XQW3LW84dmb{h)3spnac8k0F6jwOPgZB_VGNQMyy~ zUDLnK&us)Zb{E^kGM$BUyu3|qrD01j48OPPKksqhks+GTnWv zP&B8yl0QCs&%h;y!u`M%zXWXX|>%s0&zQ~@7LUn)OUmYomGlVdbVfgEIx(HEm( zc$5|571)eyrIxFy?Atf>fnia);^keaQ0M5L-Cs28P4Y55IW4Xk!5^ozgIks^O5ZaA zY_ARFf_b1%OXrf^PcC0yyziPM`{AdGrMI0@0zg^YlvmL5lWbxVTjjcHX#0VCoD9H| z1enIJ@F)axQJhG{g+m!+`xG58QLBSGY8htx$#ge}Oe{JVmk zUDvG>u^o#}X{PNe?IsK=c+=SmhmllVxALQwpo@xLL#o4%$F_ZRj-4Qj&wS*bLi2cm zM%I4if~MB4q^0nfzT4oa!6{~v`}q5&`}c|sIJR~YZxg}R5*&B-hSC`0)8e_W1nLL~ z*=mC&-UHJDSk8FX>Xw-V^w4;yI_N;tN!t9eDS9!h7CKNe`?Yn0X;-*~pX`Tn&Y=U- z@Tu3+y0Og{WdVlPRKz%}Ga1`-__#bV?zbYu$LX(21 z&nynSt-i7TI)1A#MO@-o)zgeEbMRl5eKZqO3MjLG0bVfTBh_euJk&a5T>g=kjuEFt6 zu5tHbG}g!my4h!g^<{4IOeP=y+>VOrQ|}Ghskp~g5eq^51I#lEv$+BHYv)SPzDGd` zq9u9!<=8*+qF;IrQy=By)x2o7Iu8W#nBa<^tnZ>iSss-@A~FhIerc2vb5v{bke3 zV(_g!AOD^G)yy z7soYD2Q)k#zqw6CV5+aS_Hv4L7rKatR6;@DHm3w}o!P)`uHBUV;S#cQgs=o+2~}dZ zN7QNMAzIAre!W3mPZbob;1&>rA`-?5MJLA_oAaPM1Wz5BeI^SFRK?6lPX*5u3m*xuXk&86ykzuc{GKT(ZU z+__2|_<8oG>X)?>kgWR!k;Ne-bBoAbSm0H2*$rWu-P?O(_^9}LAj2@C^%ponnIZ~Q zgEHDc7vzse2Bx$a<+(^VN30fU%-yQKf3vVuV#YazKij7J`y1DRtUyO^pijMzN!Z-d zFy7yOh#42gg%#bDfk=mvoW&vDlvT1KGm~Fy2P8=``YHjUQlBjETNp@&*3zOUMW0GZ z;lH4b!lIV3_n<0p?1S+F8Hi1SHCOc%wSij_&T zXO!?7wqse2kpum`t^5XDYSTW^oCER%6FM(n9)asvr|LP<3^Me-EoKikc`eJ?`p-X> zT~f9!S*N9^H0^hb^~zoU?%xuVet%>}Q3}U`QN&|u`w3w)SIKF4g`awCwsc9ZTn_uw zYCV+{i-PhsO`W}Gn?F8l-)-7kWyYx8zbI$Wr&C$UYCKn&`x%eF@UHzr z@a*A1>=Wkol(-V$==*+2Tkeg2?ri{X6}llCMd3{%p8iuWpbaWZoIExN%gR@eIcI|a z<3Q%rf6fL3_UlgAV9L}C1)WiR6t zh_QxlHK2voX8DI}<15NbvXT6Ilmw?Dh>i%kXFYxpP@Du2zzg3@04AV#!JFU^VZ*7C zaI&35Wk<2JDwzeE(CqD7R|%r$fiNzxHegOj+wQ+I=P&VF)7@HQn{9nQ*Aa5>`A2@u z@U2HqAG`LT7gOf#VZzUP3jftOY|M4bjTz|mc{m;WWO2o*z~*hXU_I*DoXvCKqH#%| z=)~KdnBF%CT0>k|6b)FVRXXH{-bFA4(9x?I!nx9 zr@{9BH4vu!Lz{8cC`D3z4$$~h1B@bgBz4 z2G+Ho5*oe4hSwzQ|4#K3lnJY|R{=eR7u96rq1@KW7iApHw`;uid|Z2GTK;vEZL2qO z+Vi22r|-9i?w~9OV3^sBzGZ+UpG3{Gm{w`0zC;rMF6D= z6}Pfal>Verrz$oYXc`U0b5l(Xecf!2ZFG&Bdhlx{X~Fa3a{XX_j$gVo7}AX==l4ou zmFaJ0`s^NSn13r~2*F0VnPj@5lnbcne2jm)8PNFrx)T0{Xsb(c5@<~Ue(j^Eo$(zo zzTwLz-XkD(wn-7l{FRj?VULVg)GZg}BtM}OZPd7iAHcEa9l!u#4)7=oaIvQ`D3h15 zF9+J?!9;3Xt(34t&@NuJX9GtP*c2a-A{AO#l$uk z!e*lAR)e-HDp~!{H~@gLPx1Tfh-Rt2?{}WCQgdk^(cPvKpcllHQUBa-utnrR5Vye? zlJd)vD|zJv@`EenD*Rnt-{sXv1jgTq3Hsy32~{$~Gr$x}+%nkq!n}`3&c{px8!f}o z;>{P)Vxa-Qi5Xnu)+{DhZ&VJs%<}zb_%8#Ezi}<|lngJv9iA!FH{>}7&}7E;Q)6=@x&POMHzasEbOs(Y-<_vAh{H|a_*;CkR{UDL9qw&9 zOq}znrV_=w-mix09hgz{<+)4a4c=&6ZeLL>aaLelSe>*5+ov@xV&{G|Xxl5>*y`CT z$t0Ww51;uccEb)sT$I;dw|_M*L!iFf^06ln4onsDj}xDUEe%9oK7M9yWd zQ*U5ivh^SM3;-_)IME?m37b=ou{I#{d;eOTlrn}xOKVzRwKOR*uTXdJNM~PDxN425 zy#C%ub+Mi>$n|b#bcllUA(4hb3A=Vu{@OO}ArIxq43ib`BSH8l4|doN_(u8zZq-jd zfjFf4oaaVvR7T2)7Y^)b-YvG)%~cL->}lOG0)E^;ISkaDYX*(I?xmqmxsIOOQ0o$K zvIYg$^Y*P?j1Tgwm^2sm7OBhPUo>v;2X04EMb~z-P zv#wE5JW(0*I^jQbIw0`Wa0Y_uIQbx{)uKag`#)+SZ}>toFo>Bc^OY?(&i5-D*35Q` zatXv(qZ8dyzc7}Xg^sOYZ(Agd!GDHJl-IXS3AC!}8DnltV5r}hK_BOjd>S6fw7Mi= zN1a@wKHa%Py+QVdl>8^>r}8cf3Ka~O%K+;Dv6Zm~Fgu4UZ|L}~ZAGk$P?-O4tZJsy zAc(zUL8>OBJ{ewg zUn}+~m=S*C%ZT16c#%L6@{iMk-(rv04%BVag;-_F!zj*Hj_^k-WJwjf-x8Q^-L%~b zoO55_00~Bgpy%*xAQiHbg0&~eUrha`A*Z-w=N_{fyn|MByg=K;1xcN`SH|wtkUE+r z>6Ypjv+aJdKG3J+d+2+1tUdGS(hH=zTeof3i6OLs+BQ^W;_nJI-K$d>WB6!53;6)L z59<_z0Cq$f@nvnBXzMf!zdc`m1drt@Ry?rOQV+GCL0Q&i{y2mMNMzP}>*BG|7}AOo zrKMR%U+M2HDQ|xGN_3sKZvM9R!K^=F`Im8*kHAAd)-=zwG+pE9(k8%IAACZ5?JMeo zuoEHz`=Fe)6GZ;IZ%f2U^-wpQU|v}&$q0voc#S$fyO-?zKX-4zFnBaYvG9{qr= z611$j{eI0k$g#R`M@S^6N<5QRO8Xjq%0oe;%>{mF)v0Ru2$#q8j+D5z8d5dM;oOL9 zQb&UV$|GmF3`v=(WiC){#(-Dp-$4!xe1iS2j`qi<_d_-tVjMTCk{O2$tuSUhbe~7C zgdc;a2KoBPaFXf2Y@Sem)0h&F!-8VH1Q$v_w@jnHL3gIj0(fTkcvo|V)=$x#Dot@4 zIN(BphQlp%EPz12Cj?}rh&HpSgAVpXR9amUKAO}~g)uG!vG@s(&Sd-F_Ng8DqVC4u z*d9?Fn$agQps`s_`ge|p=WTyKVzAU3EBF(=&~Qv0;vMN`#am^3PYJ((>MzX9;Hf;q zBgsa_s$sDP#SH$Rw1Xfibq&}mRa*Hhd4pCCho(zhx`ziWX^AuY1Z+)9!wxL3#KKO- z9+{X{3p6ks+<^O(AWy`IPpuJ=X#UPi2K-Xd;T>PQc^AKrEiOWSt8Ec*4g!AG8V_}M&*3CkZx;c^PX}hVdb>fL*eX*S zD4EWy6c{ypBpE>%;-oO>Y;ncs5MW(0S6osi}2NJ`tyTz^5CiAT)K z|Ey9K;`VAm4GU3*7x9^g$wAl(`&*6_;>N@Sw*#3POD8RF@i2Gne?WndyUK^9>j8g% zzqp~T=+0u~u}pV;4k}u9$^u14g7Dn+_V~tQ(!oH$(`ovQ}ec(K^C@g&SOVH$7AEH1R}5 zGF|V9mo)W*Ii%x|XSH3x+3Xiw7w|0-F#DDyYPP5<;QQsuBgp#NLQ_*`mv_`%R+Jit zP>d2eZZ)6Ebbmc*I56A(J9Q`wgD>OOkELIEVX3vI)spVtkt=@w&0EG&KpG(hR>?5x z8m#vyhgJUqm*5fda`%exIVBIqWfDZ@-2)cGS*({>3xrJr4=KgTuT&lY#iq>4gC?S( zffG!{?U!Y?f)V<5&pN0Yq7hK9~+p_NFzi&GWo$MpJ?R{AG~ITfX-$asZA3W7CdD^JT`Q zv6OlU*Z%vwjPo|QB&}xB7!zD@UZ)4&ti6~bILO!D>ylemcFNGLV`rUBp6SJD@5!{prPJHcZlvT>m|=hxg9 zsI?@srH_5*nk|1ZT=YxDQtitg+;EU)WvSo=Vv8gRL%@l+$4wA>MqinPak!-PeeFcU zkr}F#9$S83O z!J6)BJor5d@&S_4aOzP{^EcGFco~#5xDD>%o<=3KjcGIBxj z84XfNK&C5vo)Z4f%E!u|CpPb|J+w?NC_(*RJXBrdBW)VHx*|Vh z#WMlMdntM1VWlR2!0>`ywtFpixdUG7{tz~5?ZCQ5QcX9VhGx+X4zJ(g2&;epqV?!k zq591jfr_Dr;)Qw*UMPUa00)9nk=>)oZ&rT<8<@u@;lPh8(oR@QK)=P6ct zXY9<{jow>p!70+?w(nESOUwa9N1ADOSA=oi4woeSap!IBC_o{Jiaz%GctRf4$l7(2 zrDtlAWEZsEC24jVu}0VAphsHJi|S#Jgun#ZN%7Cf+NtB#{)Zb9{E09#%z`u}ydSS; z`_G?GsLE!h?aHF;m7QVPt618GcaQnb)TEC?Fhu+!VCp)vMd&^=N9xIA{&z=)k>aH1 zw5ymLhW!sJ^hM z>qpn)yY)lb;|d85+r|%KIUi-+L^p3-m_O_)BnZQP07IdcA?8)3#}gh}7Xcmj3cmgh z=JUV<+J0|?XrMA!qNckETL?J^$G|}Vjl=nug5ZTTMIf%vuOYT$&gRH>Aug_Jb3@5U z0FImG_31{qfA&b>%4v=p>9a9lzSlfF+|h;#7Ny{}Ij!&0+*35W&w*;{^4-@d0~|My z0w2@vMYOB;pz6#rwrw}x1Z?=wXLn2Xn~xNaGmd0RaZ!HuI@p$y`S#@lfY@CfjtuMH zb(jr(Nu0ZtvNZUU^%_8>x`V9wA_>~rJo2Cdzsd|Iw!kK2>lUE&+n zBMiWV6~I&Tq=BEp$IOIW{st}xDF^A>Wd^h(Gp1HL7V|gGFHO@f-zpr6JPc`EQqQE5 ztW&TUY>p&5^hy)`64k*-ypbDmL3Y=PFe}c-V{ba^(!Nt@aTgj>^W7qE#fVXv@N=6m z{zC0wwyCH2eq=};f5T3r%PLqWNBM{*S$D-SLl@l9w$@fHKNJI;)>X_>qjPfQxC`KZ z2ELEsH-_D|?+wm4PQo~=a;mITK)_66?s9&-;LsPV%TxHCeaokgC#f)Py3Si=eBi8s zIn$cKY(B6#+X>wwh#1I~7u*;V9GM7Hf2Vbi9|(R87*>BzQFNMfXtL~SuI%iqQr(;d zG3G8W#S6v~XL(J5+~q3%n4{&~&gn7BfT}+a6F~fNV#)s0^)(AP)9b*Q+K<24dZp2Y z4@AjE?Sm5SF`d;{>beuZ)u|1TC_2UL%<;hyk80`*Z;ebzeC7d+?q`yti*8iXKQY>4 zFf+V}v!0F!7k)(wpUb&@@X9YZSL!XsPCXl0 z1hTzDPfs~FsWOihbHJ~9!WI17)sAVv;nl$pTWw~DX1H1v2rP&7s?4&!L&IdW^NkH+ z`=rcr)0nq}S$e#D<2t=gLIz^}(vV)Y_&qakDE+-gCb}64M|K(_vKp~BKb-L=ZWTnr z{a5DTHPUOfiXO`B{H5JTzl@vRqEYl+zX*kM&ndpwY{;4~KB0f!X1SCjK`}JAvIYSwc$>&e5k{G#-U<|4t%xl zPz|$JeO`l$96;K}(6X>3pNTAMV*>z3iUy*bodDL;ax znU_|5gWs`1yjv$V4ug_I4ED|}NYQ24!X2xyCwl3}p=;L$rsfZ#1q9Ppss?RC-2cGW zwq%@e=!!@W!;i!1nv%mhVZo1BC(wf462UO`TTWcx$Zsg!7xR-!39hrxIdNTzi;;3E z=Kvt(P84<}!{a?kiMXo5x$}OGQz~OZb*pCD?pW|b>+)%q zU5GQhfzfByjCy))z!r;TEamfuuC15iejAp)Ec&Mx|EJo zI76ms>Ap_`*|=EB+U!GObqLk}x*r-yh>9sX>(Xi9&Wn@4Go6>ysKwa&L64BSZCe&T z!3Av-yDUjpub&3HiJ1uQO2yJyD^L?c3@mRZ=qCQ!Qqbk`w@Mbgd2xx27guA=Xt@X0u5OUBskX8WF2(hL%|mtJ|}C8l58EWLY7WR4(0Lp z(`)b)R&OnP&s=JK7u}qHt0&w`kF+hZa}l?KZjClumh&qgbb0u9Scn3t&XxkpK&y*r zM^<2&cGW6Hy!ZCLQ+T5@NX6a(8>|&7Qe(2^xyOV$);&V$jTY?NqE8|edbDYqU@~DY z5hh8s*gTKXCT-_vl9$fHTL?_l${)ACrb87{MHA=cLi6rh&13_unkk2>(=njPP!bRkJy^y%x>{pxD_b*18URP4!Q~U3;d*VHX zg^mI)>1Iv2d^@f6=<40Wsk6@5KP7n++oGZ+dZPoLzISVYEe*`9yi=NO*84;l`{R&BetZ8mR^+ z99r`|O?)eFJ!%C;29tEEmG6URRJS~n>#5AdA^$^;g|?!Lb}hv;xUIFk6f!U1DEfwT zP;zzP$pEWk4fJ$oz$6~T zLM^wTqbzH1V5IT5$oMMRo6pP*tBn9Ay6rj902w4d4=HK*jy*MgwO_agm8U&x*ZOw4Xd+u|xC2M7+g{a^zCyztvLgQZ5q*cMYWqaJjJtXOw(#bE7x;^Zrjh zv59W34WXz5dW6aCiyI}(3eN*>mLN8j7W$Of%8B-SdiJ^QP?4>WxTCsLN!9ls4N-|R z4kZhMuY4P~=LE72G)sVEHQYpR50JZd!MZZ%NA53bd7fP#Et0VF5V2Wz8T?1ja#>Db zEyHY^S42`QS*Vv5xft8`3li<|`766*O}G_23x2I{2qo#LhGp4z7aU?Bcq94Ji)NGT zO+y;38MhhCD{wx&Acx3@B|+#6*}KTP_#`BzIeoAyPH_rMhTi!ROwGh+WS+X!bEXos z7y#D4M{-0Jns>%c8CotGqV`Qal^=cnwA&82;T(LWBM_?#_U!5!t?=-R7TH`%g|K4p z#f1QeGuRRA?kkPUTFuY@=##*A7l_r8zlvb2y$pH6Tuk4vX+NbH&`m}vqY z97QAdsk7h;v@dvMtx5dY1`ua{9b2-^Kfat11Lq+3PXCiW z9VV7{?sFWGh_}u0V0hrOahYn|{W4X|90Mv-JEEJyT;;J__C#_VMOPLc^xkE8RhfJ_ zN4MjNBgW|9Pb&RlrTEzm-_wumayP_^R(%XlR0jyWLxHGLGK^2G2$((<7$#|DsNft; zlw2&grKy&cx6NNWP-EU?_jcp3yx+g`xv`N`wnxdzOW-06F5Ax|xR;L_5|)op&)qNz z)!0{O)NwoeZ0S@`{o~hjTu>#?M~1eVTYFRljJ0)jLfF#L{@{@lGVF$)FdJdrMq|W@ zzW`N_F5>`Ow{K>1jtt;6iG6RO8&pqJw?PY2t%7Y&=kf2n04!5{>|_^U7nZEP4wUYT zI!km;eJgdk{5*hX?%5nWc)PfpAFe+VnRpB=USTTTU(F(tGd{u5oMEm<%U zmsPMl_7EH2$r9P5wUBL+PvcAt)$ti~BY(uS<%3?3T$K?2I0i2AAwuQr35yV-^JgQ( z+_K)=ruK*|L^5Zu@SCGXJkth2<{>|u=_Um&1@opH-00ogCclF_EPMzLt*4KrTJ1`# zG?387j$id_kh|*@;MhiJ>fC*Z)r;Onsq zT0*7sfU@S-UT>IncU0$;G+(1YsGDQ#z%I8WC z>5t92&gpJ-8MaSNtgj1sGuAeE{q6jq9w9W~mDapEg*4A$wcA#bSmXOkF* z2&+H_v_R*ffp?gZA_%UNnAsj)c%%dx!9lMB9?OW`)c_Hy<}sn9UN(J^{gl-vdh4V5bD{PU&yODd3K)-ZlV;i=%*_tr2Alpp0@|CZa7=}!td|`5 zd0ifu=!6YX0@#ur6OuJnOe^i-!HouOT)j%WS8m49s2%(fPt=QqlFlfHYplegJFQbQ zJ#iW!PSfMY z_?!1qV74v~g%frwWZ}`&Z{Tc9G)j{bdfPb9gc%Q^Xwi=7|WMrtPsSr_-UBd4S3*;7&t#^VX`TSfz+*f;R)m5dTe1eyCyP_ zP~;{_Fu+RoQi>b$i2%ypMQtddau(yMc0Lai4)o?Z(zPXB4m(QOvs6lLKmvek#a)(j zy$Xzio8i@_)DH}4#mUH3aXgnSNV43}CIy4ojFp+97Vsc7AR?`J=86uN9vhc&BO^!V zKf86yd!k^iaW0JA;n!oMN3|38!(k2Qj`;8kV1d3h^Yy6M8#$jL&y|B`KH?E0*!FDC zk`rAxroI=)L4;5B&M$_Yb;SzG7cIUQWQxo+D+7M8IWBHuh&GBYQI?Xc7G>KlKNuWK#0tX-V@*T*eyW)%N0yUz%DapEaHGKO_uS#_j(_ z!srkUNo2znY~oYfpkK56U4o3wY+as;7Q`GR^^MpG&pM@#|F*s3L3+}ggqY!%W;QS% z(LplwilyH&ZpGWr;_qWPn_dJ> zZ;Gfi3sm~>+`@9nMUKz=I=NNdFq3ooJU~sK)+W2j*ULA0bf0Aa^HK)L?Ik3c{vyh3 zcHL#%vu;M~GJx9XE)lNJF9K0IYZO(iHV0_IrA{QUNz7{_KtRUMAI8rALA(WIfc!ne zJkJDFH!V&a`G-{QEu`+mOZe7W-kd8K^e2;IR%*}#n5H}cWgF@E4s9N33Jq5{I@Te; zt`@t2oG0c*Ht-uiKz2`ecN?3_3!LamE3WYXiPd%T0|N32t3iAR>4b-dt2h-XpC~p@ zWcXLjM`cdp!F!;pc5wStNlmi1AgiX7JtXTSE{SE>IeALBs36W0j+Iw%P0)mT?C}yz z^+jb-!uD<`B{Pb*JA+9&fypJ9&=izMr4)W6^{J5*I*ebM(ZW1>_~+XfUBUbwanr z$>0VvdTe`ozUVWATbUh7e|D>e$EAgnA+WddZc zo<+T4U^W~psN-0S$R6;iM*_DXOMCh4jigzcQX%^i?C_oq=zCpi6fb zi^`IKev(S#hHa)sXajz%VHNwxV9Pt6Qlop9(5^s4V9{>x1y6391^$A@igwcCo$Z@? z#;4L%=ZWf!`nK$X$Y7=*V!>yh1wts?@=*K540 z8@pBRkDT6-nNO~jaYz+ln=~-#hlC-fAKIW+0u7t$V9=oKXccu3AX?3Ar{pDnk+WN=r1*|8;5Boj-A&^Pj>g2eZK zKI=xozq$`T49vTyooL_tL^zLj@eMMbA@8104pD_mM4N0xgXTj0osJ>LPb* z^!U`hrb{sHy|Ps^8|~vR^p@XFA+j1KL}8{JBALB$^z8;fbb-iorp`7teJu5v`UDif z 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 literal 0 HcmV?d00001 diff --git a/web/ee/public/assets/light-logo.svg b/web/ee/public/assets/light-logo.svg new file mode 100644 index 0000000000..9c795f8e88 --- /dev/null +++ b/web/ee/public/assets/light-logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/web/ee/public/assets/not-found.png b/web/ee/public/assets/not-found.png new file mode 100644 index 0000000000000000000000000000000000000000..f4048f657376799bc1880eb0ab1c54d994920f37 GIT binary patch literal 8584 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 B!M*?h literal 0 HcmV?d00001 diff --git a/web/ee/public/assets/onboard-page-grids.svg b/web/ee/public/assets/onboard-page-grids.svg new file mode 100644 index 0000000000..85990df21d --- /dev/null +++ b/web/ee/public/assets/onboard-page-grids.svg @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/ee/public/assets/rag-demo-app.webp b/web/ee/public/assets/rag-demo-app.webp new file mode 100644 index 0000000000000000000000000000000000000000..77ded11bee46543df55c99000e1a7fcc25350678 GIT binary patch literal 11082 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 literal 0 HcmV?d00001 diff --git a/web/ee/src/components/Banners/BillingPlanBanner/FreePlanBanner.tsx b/web/ee/src/components/Banners/BillingPlanBanner/FreePlanBanner.tsx new file mode 100644 index 0000000000..02ca075130 --- /dev/null +++ b/web/ee/src/components/Banners/BillingPlanBanner/FreePlanBanner.tsx @@ -0,0 +1,29 @@ +import {memo} from "react" + +import {Button, Typography} from "antd" +import {useRouter} from "next/router" + +import useURL from "@/oss/hooks/useURL" + +const FreePlanBanner = () => { + const router = useRouter() + const {projectURL} = useURL() + + return ( +

    + Free Plan + + Create unlimited applications & run unlimited evaluations. Upgrade today and get + more out of Agenta.{" "} + + +
    + ) +} + +export default memo(FreePlanBanner) diff --git a/web/ee/src/components/Banners/BillingPlanBanner/FreeTrialBanner.tsx b/web/ee/src/components/Banners/BillingPlanBanner/FreeTrialBanner.tsx new file mode 100644 index 0000000000..3fa77e8671 --- /dev/null +++ b/web/ee/src/components/Banners/BillingPlanBanner/FreeTrialBanner.tsx @@ -0,0 +1,33 @@ +import {Button, Typography} from "antd" +import {useRouter} from "next/router" +import useURL from "@/oss/hooks/useURL" + +import {SubscriptionType} from "@/oss/services/billing/types" + +import SubscriptionPlanDetails from "@/agenta-oss-common/components/pages/settings/Billing/Modals/PricingModal/assets/SubscriptionPlanDetails" + +const FreeTrialBanner = ({subscription}: {subscription: SubscriptionType}) => { + const router = useRouter() + const {projectURL} = useURL() + + return ( +
    + + + + + Create unlimited applications & run unlimited evaluations. Upgrade today to keep pro + plan features. + + +
    + ) +} + +export default FreeTrialBanner diff --git a/web/ee/src/components/DeleteEvaluationModal/DeleteEvaluationModal.tsx b/web/ee/src/components/DeleteEvaluationModal/DeleteEvaluationModal.tsx new file mode 100644 index 0000000000..3631ee59eb --- /dev/null +++ b/web/ee/src/components/DeleteEvaluationModal/DeleteEvaluationModal.tsx @@ -0,0 +1,59 @@ +import EnhancedModal from "@agenta/oss/src/components/EnhancedUIs/Modal" +import {DeleteOutlined} from "@ant-design/icons" +import {Typography} from "antd" + +import {DeleteEvaluationModalProps} from "./types" + +const DeleteEvaluationModal = ({ + evaluationType, + isMultiple = false, + ...props +}: DeleteEvaluationModalProps) => { + return ( + , type: "primary"}} + centered + zIndex={2000} + > +
    + + Are you sure you want to delete? + + +
    + + {isMultiple + ? `The selected ${evaluationType.split("|").length} evaluations will be permanently deleted.` + : `A deleted ${evaluationType} cannot be restored.`} + + +
    + + {isMultiple + ? "You are about to delete the following evaluations:" + : "You are about to delete:"} + + + {isMultiple + ? evaluationType.split(" | ").map((item, index) => ( +
    + • {item.trim()} +
    + )) + : evaluationType} +
    +
    +
    +
    +
    + ) +} + +export default DeleteEvaluationModal diff --git a/web/ee/src/components/DeleteEvaluationModal/types.ts b/web/ee/src/components/DeleteEvaluationModal/types.ts new file mode 100644 index 0000000000..7acded39ee --- /dev/null +++ b/web/ee/src/components/DeleteEvaluationModal/types.ts @@ -0,0 +1,6 @@ +import type {ModalProps} from "antd" + +export interface DeleteEvaluationModalProps extends ModalProps { + evaluationType: string + isMultiple?: boolean +} diff --git a/web/ee/src/components/DeploymentHistory/DeploymentHistory.tsx b/web/ee/src/components/DeploymentHistory/DeploymentHistory.tsx new file mode 100644 index 0000000000..d596e2bc42 --- /dev/null +++ b/web/ee/src/components/DeploymentHistory/DeploymentHistory.tsx @@ -0,0 +1,347 @@ +import {useCallback, useEffect, useRef, useState} from "react" + +import {Button, Card, Divider, Space, Typography, notification} from "antd" +import dayjs from "dayjs" +import duration from "dayjs/plugin/duration" +import relativeTime from "dayjs/plugin/relativeTime" +import debounce from "lodash/debounce" +import {createUseStyles} from "react-jss" + +import {useAppTheme} from "@/oss/components/Layout/ThemeContextProvider" +import ResultComponent from "@/oss/components/ResultComponent/ResultComponent" +import {Environment, JSSTheme} from "@/oss/lib/Types" +import { + createRevertDeploymentRevision, + fetchAllDeploymentRevisions, +} from "@/oss/services/deploymentVersioning/api" + +import {DeploymentRevisionConfig, DeploymentRevisions} from "../../lib/types_ee" + +dayjs.extend(relativeTime) +dayjs.extend(duration) + +interface DeploymentHistoryProps { + selectedEnvironment: Environment +} + +const {Text} = Typography + +const useStyles = createUseStyles((theme: JSSTheme) => ({ + container: { + display: "flex", + gap: 20, + }, + historyItemsContainer: { + flex: 0.2, + backgroundColor: theme.isDark ? "#333" : "#FFFFFF", + border: theme.isDark ? "" : "1px solid #f0f0f0", + overflowY: "scroll", + padding: 10, + borderRadius: 10, + minWidth: 300, + height: "600px", + }, + historyItems: { + display: "flex", + flexDirection: "column", + padding: "10px 20px", + margin: "20px 0", + borderRadius: 10, + cursor: "pointer", + }, + promptHistoryCard: { + margin: "30px", + }, + promptHistoryInfo: { + flex: 0.8, + backgroundColor: theme.isDark ? "#333" : "#FFFFFF", + border: theme.isDark ? "" : "1px solid #f0f0f0", + padding: 20, + borderRadius: 10, + }, + promptHistoryInfoHeader: { + display: "flex", + alignItems: "center", + justifyContent: "space-between", + "& h1": { + fontSize: 32, + }, + }, + emptyContainer: { + display: "flex", + alignItems: "center", + justifyContent: "center", + margin: "30px auto", + fontSize: 20, + fontWeight: "bold", + }, + divider: { + margin: "10px 0", + }, + historyItemsTitle: { + fontSize: 14, + "& span": { + color: theme.isDark ? "#f1f5f8" : "#656d76", + }, + }, + noParams: { + color: theme.colorTextDescription, + textAlign: "center", + marginTop: theme.marginLG, + }, + loadingContainer: { + display: "grid", + placeItems: "center", + height: "100%", + }, +})) + +const DeploymentHistory: React.FC = ({selectedEnvironment}) => { + const {appTheme} = useAppTheme() + const classes = useStyles() + const [activeItem, setActiveItem] = useState(0) + const [isLoading, setIsLoading] = useState(false) + const [isReverting, setIsReverted] = useState(false) + const [showDeployment, setShowDeployment] = useState() + const [deploymentRevisionId, setDeploymentRevisionId] = useState("") + const [deploymentRevisions, setDeploymentRevisions] = useState() + const [showDeploymentLoading, setShowDeploymentLoading] = useState(false) + const {current} = useRef<{id: string; revision: string | undefined}>({ + id: "", + revision: "", + }) + + useEffect(() => { + current.revision = deploymentRevisions?.revisions[activeItem].deployed_app_variant_revision + }, [activeItem]) + + const fetchData = async () => { + setIsLoading(true) + try { + const data = await fetchAllDeploymentRevisions( + selectedEnvironment?.app_id, + selectedEnvironment?.name, + ) + setDeploymentRevisions(data) + current.id = data.deployed_app_variant_revision_id || "" + } catch (error) { + setIsLoading(false) + } finally { + setIsLoading(false) + } + } + + const handleRevert = useCallback(async (deploymentRevisionId: string) => { + setIsReverted(true) + try { + const response = await createRevertDeploymentRevision(deploymentRevisionId) + notification.success({ + message: "Environment Revision", + description: response?.data, + duration: 3, + }) + await fetchData() + } catch (err) { + console.error(err) + } finally { + setIsReverted(false) + } + }, []) + + useEffect(() => { + fetchData() + }, [selectedEnvironment.app_id, selectedEnvironment.name]) + + useEffect(() => { + const fetch = async () => { + try { + setShowDeploymentLoading(true) + if (deploymentRevisions && deploymentRevisions.revisions.length) { + setActiveItem(deploymentRevisions.revisions.length - 1) + + const mod = await import("@/oss/services/deploymentVersioning/api") + const fetchAllDeploymentRevisionConfig = mod?.fetchAllDeploymentRevisionConfig + if (!mod || !fetchAllDeploymentRevisionConfig) return + + const revisionConfig = await fetchAllDeploymentRevisionConfig( + deploymentRevisions.revisions[deploymentRevisions.revisions.length - 1].id, + ) + setShowDeployment(revisionConfig) + } + } catch (error) { + console.error(error) + } finally { + setShowDeploymentLoading(false) + } + } + + fetch() + }, [deploymentRevisions]) + + const handleShowDeployments = async (revision: number, index: number) => { + const findRevision = deploymentRevisions?.revisions.find( + (deploymentRevision) => deploymentRevision.revision === revision, + ) + + if (!findRevision) return + + setActiveItem(index) + setDeploymentRevisionId(findRevision.id) + + try { + setShowDeploymentLoading(true) + const mod = await import("@/oss/services/deploymentVersioning/api") + const fetchAllDeploymentRevisionConfig = mod?.fetchAllDeploymentRevisionConfig + if (!mod || !fetchAllDeploymentRevisionConfig) return + + const revisionConfig = await fetchAllDeploymentRevisionConfig(findRevision.id) + + setShowDeployment(revisionConfig) + } catch (error) { + console.error(error) + } finally { + setShowDeploymentLoading(false) + } + } + + const debouncedHandleShowDeployments = debounce(handleShowDeployments, 300) + + return ( + <> + {isLoading ? ( + + ) : deploymentRevisions?.revisions?.length ? ( +
    +
    + {deploymentRevisions?.revisions + ?.map((item, index) => ( +
    + debouncedHandleShowDeployments(item.revision, index) + } + > + + + Revision v{item.revision} + + + + {dayjs(item.created_at).fromNow()} + + + + + {deploymentRevisions.deployed_app_variant_revision_id === + item.deployed_app_variant_revision && ( + + In production... + + )} + + + + +
    + Modified By: + {item.modified_by} +
    +
    +
    + )) + .reverse()} +
    + +
    +
    +

    Information

    + + {deploymentRevisions.revisions.length > 1 && ( + + )} +
    + + {showDeploymentLoading ? ( +
    + +
    + ) : ( + <> + {showDeployment?.parameters && + Object.keys(showDeployment?.parameters).length ? ( + + + <> + {Object.entries(showDeployment.parameters).map( + ([key, value], index) => { + return ( + <> +
    + + {key}:{" "} + + {Array.isArray(value) + ? JSON.stringify(value) + : typeof value === "boolean" + ? `${value}` + : value} +
    + + ) + }, + )} + +
    +
    + ) : ( +
    No parameters to display
    + )} + + )} +
    +
    + ) : ( +
    You have no saved prompts
    + )} + + ) +} + +export default DeploymentHistory diff --git a/web/ee/src/components/EvalRunDetails/AutoEvalRun/assets/AutoEvalRunSkeleton.tsx b/web/ee/src/components/EvalRunDetails/AutoEvalRun/assets/AutoEvalRunSkeleton.tsx new file mode 100644 index 0000000000..bdb1451fc2 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/AutoEvalRun/assets/AutoEvalRunSkeleton.tsx @@ -0,0 +1,28 @@ +import {memo} from "react" + +import {useRouter} from "next/router" + +import EvalRunHeaderSkeleton from "../components/EvalRunHeader/assets/EvalRunHeaderSkeleton" +import EvalRunOverviewViewerSkeleton from "../components/EvalRunOverviewViewer/assets/EvalRunOverviewViewerSkeleton" +import EvalRunPromptConfigViewerSkeleton from "../components/EvalRunPromptConfigViewer/assets/EvalRunPromptConfigViewerSkeleton" +import EvalRunTestCaseViewerSkeleton from "../components/EvalRunTestCaseViewer/assets/EvalRunTestCaseViewerSkeleton" + +const AutoEvalRunSkeleton = () => { + const router = useRouter() + const viewType = router.query.view as string + + return ( +
    + + {viewType === "test-cases" ? ( + + ) : viewType === "prompt" ? ( + + ) : ( + + )} +
    + ) +} + +export default memo(AutoEvalRunSkeleton) diff --git a/web/ee/src/components/EvalRunDetails/AutoEvalRun/assets/EvalNameTag.tsx b/web/ee/src/components/EvalRunDetails/AutoEvalRun/assets/EvalNameTag.tsx new file mode 100644 index 0000000000..c67397dbce --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/AutoEvalRun/assets/EvalNameTag.tsx @@ -0,0 +1,270 @@ +import {useCallback, useMemo} from "react" + +import {Star, XCircle} from "@phosphor-icons/react" +import {Button, Popover, PopoverProps, Tag, TagProps, Tooltip} from "antd" +import clsx from "clsx" +import {useAtom} from "jotai" +import {useRouter} from "next/router" + +import TooltipWithCopyAction from "@/oss/components/TooltipWithCopyAction" +import UserAvatarTag from "@/oss/components/ui/UserAvatarTag" +import {EnrichedEvaluationRun} from "@/oss/lib/hooks/usePreviewEvaluations/types" + +import {urlStateAtom} from "../../state/urlState" + +import TagWithLink from "./TagWithLink" +import VariantTag from "./VariantTag" +import { + combineAppNameWithLabel, + deriveVariantAppName, + deriveVariantLabelParts, + getVariantDisplayMetadata, + normalizeId, + prettifyVariantLabel, +} from "./variantUtils" + +interface EvalNameTagProps extends TagProps { + run: EnrichedEvaluationRun + showClose?: boolean + showPin?: boolean + isBaseEval?: boolean + onlyShowBasePin?: boolean + popoverProps?: PopoverProps + allowVariantNavigation?: boolean +} +const EvalNameTag = ({ + run, + showClose = false, + showPin = false, + isBaseEval = false, + onlyShowBasePin = false, + className, + popoverProps, + allowVariantNavigation = true, + ...props +}: EvalNameTagProps) => { + const router = useRouter() + const normalizedRouteAppId = useMemo( + () => normalizeId(router.query.app_id as string | undefined), + [router.query.app_id], + ) + const [urlState, setUrlState] = useAtom(urlStateAtom) + + const onClose = useCallback( + async (runId: string) => { + const compareRunIds = urlState.compare || [] + const updatedRuns = compareRunIds.filter((id) => id !== runId) + + await router.replace( + { + pathname: router.pathname, + query: {...router.query, compare: updatedRuns}, + }, + undefined, + {shallow: true}, + ) + + setUrlState((draft) => { + draft.compare = updatedRuns.length > 0 ? updatedRuns : undefined + }) + }, + [urlState, router, setUrlState], + ) + + const onPin = useCallback(async () => { + const currentBaseId = router.query.evaluation_id?.toString() + const compareRunIds = urlState.compare || [] + const targetId = run.id + + if (!currentBaseId || targetId === currentBaseId) return + const targetIndex = compareRunIds.indexOf(targetId) + if (targetIndex === -1) return + + const updatedCompare = [...compareRunIds] + updatedCompare[targetIndex] = currentBaseId + + await router.replace( + { + pathname: router.pathname, + query: { + ...router.query, + evaluation_id: targetId, + compare: updatedCompare, + }, + }, + undefined, + {shallow: true}, + ) + setUrlState((draft) => { + draft.compare = updatedCompare + }) + }, [urlState, router, run?.id, setUrlState]) + + return ( + +
    + {run?.name} +
    + {showPin && ( + +
    +
    +
    +
    + ID + + + {run?.id.split("-")[run?.id.split("-").length - 1]} + + +
    +
    + Testset + +
    +
    + Variant + {run?.variants && run?.variants.length > 0 ? ( + (() => { + const variant: any = run?.variants[0] + const summary = getVariantDisplayMetadata(variant) + const {label: formattedLabel, revision: labelRevision} = + deriveVariantLabelParts({ + variant, + displayLabel: summary.label, + }) + const resolvedAppName = + deriveVariantAppName({ + variant, + fallbackAppName: + run?.appName || + (run as any)?.app_name || + (run as any)?.app?.name, + }) ?? run?.appName + + const prettyLabel = combineAppNameWithLabel( + resolvedAppName, + prettifyVariantLabel(formattedLabel) ?? formattedLabel, + ) + + const candidateRevisionId = + summary.revisionId || + normalizeId(variant?.id) || + normalizeId(variant?.variantId) + const candidateAppId = normalizeId( + variant?.appId || + (variant as any)?.app_id || + run?.appId || + (run as any)?.app_id, + ) + + const resolvedAppId = candidateAppId || normalizedRouteAppId + const blockedByRuntime = + Boolean(normalizedRouteAppId) && + resolvedAppId === normalizedRouteAppId && + summary.hasRuntime === false + + const canNavigate = + allowVariantNavigation && + Boolean(candidateRevisionId && resolvedAppId) && + summary.isHealthy !== false && + !blockedByRuntime + + return ( + + ) + })() + ) : ( + + Not available + + )} +
    +
    + Created on + {run?.createdAt} +
    + {!!run?.createdBy?.user?.username && ( +
    + Created by + +
    + )} +
    + + } + > + + {showPin && ( + + + + )} + {run?.name} + {showClose && !isBaseEval && ( + + onClose(run.id)} + /> + + )} + +
    + ) +} + +export default EvalNameTag diff --git a/web/ee/src/components/EvalRunDetails/AutoEvalRun/assets/TagWithLink.tsx b/web/ee/src/components/EvalRunDetails/AutoEvalRun/assets/TagWithLink.tsx new file mode 100644 index 0000000000..254c78476f --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/AutoEvalRun/assets/TagWithLink.tsx @@ -0,0 +1,34 @@ +import {ArrowSquareOut} from "@phosphor-icons/react" +import {Tag, TagProps} from "antd" +import clsx from "clsx" +import {useRouter} from "next/router" + +interface TagWithLinkProps extends TagProps { + name: string + href: string + showIcon?: boolean +} +const TagWithLink = ({name, href, className, showIcon = true, ...props}: TagWithLinkProps) => { + const router = useRouter() + return ( + router.push(href)} + {...props} + > + {name} + {showIcon && ( + + )} + + ) +} + +export default TagWithLink diff --git a/web/ee/src/components/EvalRunDetails/AutoEvalRun/assets/VariantTag.tsx b/web/ee/src/components/EvalRunDetails/AutoEvalRun/assets/VariantTag.tsx new file mode 100644 index 0000000000..c8a841a305 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/AutoEvalRun/assets/VariantTag.tsx @@ -0,0 +1,262 @@ +import {useMemo} from "react" + +import {ArrowSquareOut} from "@phosphor-icons/react" +import {useQueryClient} from "@tanstack/react-query" +import {Skeleton, Tag} from "antd" +import clsx from "clsx" +import {useRouter} from "next/router" +import {useSetAtom} from "jotai" + +import useURL from "@/oss/hooks/useURL" +import {buildRevisionsQueryParam} from "@/oss/lib/helpers/url" +import type {EnrichedEvaluationRun} from "@/oss/lib/hooks/usePreviewEvaluations/types" +import {recentAppIdAtom, routerAppIdAtom} from "@/oss/state/app" + +import { + combineAppNameWithLabel, + deriveVariantAppName, + deriveVariantLabelParts, + getVariantDisplayMetadata, + normalizeId, + normalizeLabel, +} from "./variantUtils" + +interface VariantTagProps { + variantName?: string + revision?: number | string + id?: string | null + className?: string + isLoading?: boolean + disabled?: boolean + isDeleted?: boolean + enrichedRun?: EnrichedEvaluationRun + variant?: any +} + +const VariantTag = ({ + variantName, + revision, + id, + className, + isLoading, + disabled = false, + isDeleted = false, + enrichedRun, + variant, +}: VariantTagProps) => { + const router = useRouter() + const queryClient = useQueryClient() + const setRouterAppId = useSetAtom(routerAppIdAtom) + const setRecentAppId = useSetAtom(recentAppIdAtom) + const routeAppId = normalizeId(router.query.app_id as string | undefined) + const {baseAppURL} = useURL() + + const variantsFromRun = useMemo(() => { + if (enrichedRun?.variants && Array.isArray(enrichedRun.variants)) { + return enrichedRun.variants as any[] + } + return [] + }, [enrichedRun]) + + const normalizedTargetId = useMemo(() => normalizeId(id), [id]) + const normalizedTargetName = useMemo(() => normalizeLabel(variantName), [variantName]) + + const variantFromRun = useMemo(() => { + if (!variantsFromRun.length) return undefined + + const match = variantsFromRun.find((candidate: any) => { + const candidateIds = [ + normalizeId(candidate?._revisionId), + normalizeId(candidate?.id), + normalizeId(candidate?.variantId), + normalizeId(candidate?.revisionId), + ].filter(Boolean) as string[] + + if (normalizedTargetId && candidateIds.includes(normalizedTargetId)) { + return true + } + + if (normalizedTargetName) { + const candidateNames = [ + normalizeLabel(candidate?.variantName), + normalizeLabel(candidate?.configName), + normalizeLabel(candidate?.name), + normalizeLabel(candidate?.variantId), + ].filter(Boolean) as string[] + if (candidateNames.includes(normalizedTargetName)) { + return true + } + } + + return false + }) + + return match ?? variantsFromRun[0] + }, [variantsFromRun, normalizedTargetId, normalizedTargetName]) + + const resolvedVariant = useMemo(() => { + if (variant) { + if (variantFromRun) { + return { + ...variantFromRun, + ...variant, + } + } + return variant + } + return variantFromRun + }, [variant, variantFromRun]) + + if (isLoading) { + return + } + + const baseLabel = + normalizeLabel(variantName) ?? + normalizeLabel(resolvedVariant?.variantName) ?? + normalizeLabel(resolvedVariant?.name) ?? + "Variant unavailable" + + const display = useMemo( + () => + getVariantDisplayMetadata(resolvedVariant, { + fallbackLabel: normalizedTargetName ?? baseLabel, + fallbackRevisionId: normalizedTargetId, + requireRuntime: false, + }), + [resolvedVariant, normalizedTargetName, baseLabel, normalizedTargetId], + ) + + const {label: preferredLabel, revision: labelRevision} = useMemo( + () => + deriveVariantLabelParts({ + variant: resolvedVariant, + displayLabel: display.label ?? baseLabel, + }), + [resolvedVariant, display.label, baseLabel], + ) + + const variantAppName = useMemo( + () => + deriveVariantAppName({ + variant: resolvedVariant, + fallbackAppName: + (resolvedVariant as any)?.appName ?? + (resolvedVariant as any)?.application?.name ?? + enrichedRun?.appName ?? + (enrichedRun as any)?.app_name ?? + (enrichedRun as any)?.app?.name, + }), + [resolvedVariant, enrichedRun], + ) + + const variantAppId = useMemo( + () => + normalizeId( + (resolvedVariant as any)?.appId ?? + (resolvedVariant as any)?.app_id ?? + (resolvedVariant as any)?.application?.id ?? + (resolvedVariant as any)?.application_id ?? + (resolvedVariant as any)?.application_ref?.id ?? + (resolvedVariant as any)?.applicationRef?.id, + ), + [resolvedVariant], + ) + + const runAppId = useMemo( + () => + normalizeId( + (enrichedRun as any)?.appId ?? + (enrichedRun as any)?.app_id ?? + (enrichedRun as any)?.app?.id ?? + (enrichedRun as any)?.application?.id, + ), + [enrichedRun], + ) + + const targetAppId = variantAppId || runAppId || routeAppId + const resolvedLabel = isDeleted + ? "Variant deleted" + : combineAppNameWithLabel(variantAppName, preferredLabel) + + const derivedRevisionId = display.revisionId + const selectedRevisionId = derivedRevisionId || normalizedTargetId + + const derivedRevision = useMemo(() => { + if (revision !== undefined && revision !== null && revision !== "") { + return revision + } + const candidate: any = resolvedVariant + const fromVariant = + candidate?.revision ?? + candidate?.revisionLabel ?? + candidate?.version ?? + candidate?._revision ?? + undefined + if ( + fromVariant !== undefined && + fromVariant !== null && + String(fromVariant).toString().trim() !== "" + ) { + return fromVariant + } + return labelRevision ?? "" + }, [resolvedVariant, revision, labelRevision]) + + const hasValidRevision = Boolean(selectedRevisionId || labelRevision) + const isRouteAppContext = Boolean(routeAppId) && targetAppId === routeAppId + const blockedByRuntime = isRouteAppContext && display.hasRuntime === false + + const canNavigate = + !isDeleted && + Boolean(targetAppId) && + hasValidRevision && + display.isHealthy !== false && + !blockedByRuntime + const effectiveDisabled = Boolean(disabled) || isDeleted || !canNavigate + + const hasRevision = + derivedRevision !== undefined && + derivedRevision !== null && + String(derivedRevision).toString().trim() !== "" + + return ( + { + if (effectiveDisabled || !selectedRevisionId || !targetAppId) return + setRouterAppId(targetAppId) + setRecentAppId(targetAppId) + + queryClient.removeQueries({queryKey: ["variants"]}) + queryClient.removeQueries({queryKey: ["appSpec"]}) + queryClient.removeQueries({queryKey: ["variantRevisions"]}) + + await router.push({ + pathname: `${baseAppURL}/${targetAppId}/playground`, + query: { + revisions: buildRevisionsQueryParam([selectedRevisionId]), + }, + }) + }} + > + + {resolvedLabel} + {hasRevision ? ` v${derivedRevision}` : ""} + + {!effectiveDisabled && ( + + )} + + ) +} + +export default VariantTag diff --git a/web/ee/src/components/EvalRunDetails/AutoEvalRun/assets/types.ts b/web/ee/src/components/EvalRunDetails/AutoEvalRun/assets/types.ts new file mode 100644 index 0000000000..b2ab78e971 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/AutoEvalRun/assets/types.ts @@ -0,0 +1,7 @@ +export interface AutoEvalRunDetailsProps { + name: string + description: string + id: string + isLoading: boolean +} +export type ViewOptionsType = "overview" | "test-cases" diff --git a/web/ee/src/components/EvalRunDetails/AutoEvalRun/assets/utils.ts b/web/ee/src/components/EvalRunDetails/AutoEvalRun/assets/utils.ts new file mode 100644 index 0000000000..4808772970 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/AutoEvalRun/assets/utils.ts @@ -0,0 +1,52 @@ +import {canonicalizeMetricKey, getMetricDisplayName} from "@/oss/lib/metricUtils" + +export const formatMetricName = (name: string) => { + const canonical = canonicalizeMetricKey(name) + + // Prefer rich labels for well-known invocation metrics + if (canonical.startsWith("attributes.ag.metrics.")) { + return getMetricDisplayName(canonical) + } + + if (canonical.startsWith("attributes.ag.")) { + const tail = canonical.split(".").pop() ?? canonical + return tail + .replace(/[_.-]/g, " ") + .replace(/\s+/g, " ") + .trim() + .replace(/\b\w/g, (c) => c.toUpperCase()) + } + + const formattedName = canonical + .replace(/[_.]/g, " ") + .replace(/([A-Z])/g, " $1") + .trim() + .toLocaleLowerCase() + + if (formattedName === "duration") return "Latency" + if (formattedName.includes("cost")) return "Cost" + return formattedName +} + +export const EVAL_TAG_COLOR = { + 1: "blue", + 2: "orange", + 3: "purple", + 4: "cyan", + 5: "lime", +} +export const EVAL_BG_COLOR = { + 1: "rgba(230, 244, 255, 0.5)", + 2: "rgba(255, 242, 232, 0.5)", + 3: "rgba(249, 240, 255, 0.5)", + 4: "rgba(230, 255, 251, 0.5)", + 5: "rgba(255, 255, 230, 0.5)", +} + +export const EVAL_COLOR = { + 1: "rgba(145, 202, 255, 1)", + 2: "rgba(255, 187, 150, 1)", + 3: "rgba(211, 173, 247, 1)", + 4: "rgba(135, 232, 222, 1)", + 5: "rgba(200, 240, 150, 1)", +} diff --git a/web/ee/src/components/EvalRunDetails/AutoEvalRun/assets/variantUtils.ts b/web/ee/src/components/EvalRunDetails/AutoEvalRun/assets/variantUtils.ts new file mode 100644 index 0000000000..4531649740 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/AutoEvalRun/assets/variantUtils.ts @@ -0,0 +1,170 @@ +export const normalizeId = (value: unknown): string | undefined => { + if (value === undefined || value === null) return undefined + const stringValue = String(value) + if ( + stringValue.trim() === "" || + stringValue === "undefined" || + stringValue === "null" || + stringValue === "[object Object]" || + stringValue === "NaN" + ) { + return undefined + } + return stringValue +} + +export const normalizeLabel = (value: unknown): string | undefined => { + if (typeof value !== "string") return undefined + const trimmed = value.trim() + return trimmed.length > 0 ? trimmed : undefined +} + +export interface VariantDisplayOptions { + fallbackLabel?: string + fallbackRevisionId?: string + /** When true (default), navigation requires a runtime endpoint */ + requireRuntime?: boolean +} + +export interface VariantDisplayMetadata { + label: string + revisionId: string + isHealthy: boolean + hasRuntime: boolean + canNavigate: boolean +} + +export const getVariantDisplayMetadata = ( + variant: any, + {fallbackLabel, fallbackRevisionId, requireRuntime = true}: VariantDisplayOptions = {}, +): VariantDisplayMetadata => { + const label = + normalizeLabel(variant?.variantName) ?? + normalizeLabel(variant?.configName) ?? + normalizeLabel(variant?.name) ?? + normalizeLabel(variant?.variantId) ?? + normalizeLabel(fallbackLabel) ?? + "Variant unavailable" + + const revisionId = + normalizeId(variant?._revisionId) ?? + normalizeId(variant?.id) ?? + normalizeId(variant?.variantId) ?? + normalizeId(variant?.revisionId) ?? + normalizeId(fallbackRevisionId) ?? + "" + + const hasRuntime = Boolean( + variant?.uri || + variant?.uriObject?.runtimePrefix || + variant?.runtime?.uri || + variant?.runtime?.runtimePrefix, + ) + const isHealthy = variant?.appStatus !== false + + const canNavigate = Boolean(revisionId) && isHealthy && (requireRuntime ? hasRuntime : true) + + return { + label, + revisionId, + isHealthy, + hasRuntime, + canNavigate, + } +} + +const HEX_SEGMENT_REGEX = /^[0-9a-f]{8,}$/i + +export const prettifyVariantLabel = (label?: string): string | undefined => { + if (!label) return label + const parts = label.split("-") + if (parts.length <= 1) { + return label + } + + const last = parts[parts.length - 1] + if (HEX_SEGMENT_REGEX.test(last)) { + return parts.slice(0, -1).join("-") + } + + return label +} + +export const deriveVariantLabelParts = ({ + variant, + displayLabel, +}: { + variant?: any + displayLabel?: string +}): {label: string; revision?: string} => { + const normalizedVariantLabel = + normalizeLabel(variant?.variantName) ?? + normalizeLabel(variant?.configName) ?? + normalizeLabel(variant?.name) ?? + undefined + + const normalizedVariantId = normalizeLabel(variant?.variantId) + + const rawLabel = normalizedVariantLabel ?? normalizedVariantId ?? displayLabel ?? "Variant" + const trimmed = prettifyVariantLabel(rawLabel) ?? rawLabel + + const primaryRevision = + variant?.revision ?? + variant?.revisionLabel ?? + variant?.version ?? + variant?._revision ?? + undefined + + if ( + primaryRevision !== undefined && + primaryRevision !== null && + String(primaryRevision).toString().trim() !== "" + ) { + return {label: trimmed, revision: String(primaryRevision)} + } + + const segments = trimmed.split("-") + if (segments.length > 1) { + const last = segments[segments.length - 1] + if (/^\d+$/.test(last)) { + const base = segments.slice(0, -1).join("-") || segments.join("-") + return {label: base, revision: last} + } + } + + return {label: trimmed, revision: undefined} +} + +export const deriveVariantAppName = ({ + variant, + fallbackAppName, +}: { + variant?: any + fallbackAppName?: string +}): string | undefined => { + return ( + normalizeLabel(variant?.appName) ?? + normalizeLabel(variant?.application?.name) ?? + normalizeLabel(variant?.application?.appName) ?? + normalizeLabel(variant?.application_ref?.name) ?? + normalizeLabel(variant?.applicationRef?.name) ?? + normalizeLabel(fallbackAppName) + ) +} + +export const combineAppNameWithLabel = (appName: string | undefined, label?: string): string => { + const normalizedLabel = label?.trim() + const normalizedApp = normalizeLabel(appName) + + if (!normalizedLabel || normalizedLabel.length === 0) { + return normalizedApp ?? "Variant unavailable" + } + + if (!normalizedApp) { + return normalizedLabel + } + + return normalizedLabel.toLowerCase().startsWith(normalizedApp.toLowerCase()) + ? normalizedLabel + : `${normalizedApp} ${normalizedLabel}` +} diff --git a/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunCompareMenu/index.tsx b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunCompareMenu/index.tsx new file mode 100644 index 0000000000..9e5e22182d --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunCompareMenu/index.tsx @@ -0,0 +1,269 @@ +import {memo, useCallback, useEffect, useMemo, useRef, useState} from "react" + +import {Check, Plus} from "@phosphor-icons/react" +import {Button, ButtonProps, Input, Popover, PopoverProps, Typography, Tag, message} from "antd" +import clsx from "clsx" +import {useAtom, useAtomValue} from "jotai" +import {useRouter} from "next/router" +import {useLocalStorage} from "usehooks-ts" + +import {useRunId} from "@/oss/contexts/RunIdContext" +import useFocusInput from "@/oss/hooks/useFocusInput" +import {EvaluationType} from "@/oss/lib/enums" +import {evaluationRunStateFamily} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms" +import usePreviewEvaluations from "@/oss/lib/hooks/usePreviewEvaluations" +import {EnrichedEvaluationRun} from "@/oss/lib/hooks/usePreviewEvaluations/types" + +import {urlStateAtom} from "../../../state/urlState" + +const filters = ["all", "success", "failed"] +const failedFilters = ["errors", "error", "failed", "failure"] + +const EvalRunCompareMenu = ({ + popoverProps, + buttonProps, +}: { + popoverProps?: PopoverProps + buttonProps?: ButtonProps +}) => { + const [isMenuOpen, setIsMenuOpen] = useState(false) + const [searchTerm, setSearchTerm] = useState("") + const [filter, setFilter] = useLocalStorage("eval-compare-popup-filter", "") + const {inputRef} = useFocusInput({isOpen: isMenuOpen}) + const router = useRouter() + const runId = useRunId() + // Use ref to track previous compareRunIds to avoid infinite loops + const prevCompareRunIdsRef = useRef([]) + + // atoms + const evaluation = useAtomValue(evaluationRunStateFamily(runId!)) + const [urlState, setUrlState] = useAtom(urlStateAtom) + const enrichedRun = evaluation?.enrichedRun + const compareRunIds = urlState.compare || [] + + const derivedAppId = useMemo(() => { + return enrichedRun?.appId ?? enrichedRun?.variants?.[0]?.appId ?? undefined + }, [enrichedRun]) + + const {runs: projectRuns} = usePreviewEvaluations({ + skip: false, + types: [EvaluationType.auto_exact_match], + appId: "", + }) + + const {runs: appRuns} = usePreviewEvaluations({ + skip: false, + types: [EvaluationType.auto_exact_match], + appId: derivedAppId, + }) + + const runs = (projectRuns.length ? projectRuns : appRuns) as EnrichedEvaluationRun[] + + // Track compare ids locally to avoid redundant work; do not overwrite urlState + useEffect(() => { + const prevIds = prevCompareRunIdsRef.current + const currentIds = compareRunIds + const isDifferent = + prevIds.length !== currentIds.length || + prevIds.some((id, index) => id !== currentIds[index]) + + if (isDifferent) { + prevCompareRunIdsRef.current = [...compareRunIds] + } + }, [compareRunIds]) + + const resolveTestsetIds = useCallback((run?: EnrichedEvaluationRun | null) => { + if (!run) return new Set() + const ids = new Set() + ;(run.testsets ?? []).forEach((testset) => { + if (testset?.id) ids.add(testset.id) + }) + ;(run.data?.steps ?? []).forEach((step) => { + const id = step?.references?.testset?.id + if (id) ids.add(id) + }) + return ids + }, []) + + const evaluations = useMemo(() => { + const baseIds = resolveTestsetIds(enrichedRun) + const baseIdList = Array.from(baseIds) + + const matchedTestsetEvals = runs.filter((run) => { + if (!baseIds.size) return false + const runIds = resolveTestsetIds(run) + return baseIdList.some((id) => runIds.has(id)) + }) + + const evals = matchedTestsetEvals.filter((run) => run?.id !== enrichedRun?.id) + + const autoEvals = evals?.filter((run) => + run?.data?.steps.every( + (step) => step?.type !== "annotation" || step?.origin === "auto", + ), + ) + + return autoEvals + }, [runs, enrichedRun, resolveTestsetIds]) + + const filteredEvals = useMemo(() => { + if (searchTerm.trim().length > 0) { + return evaluations.filter((e) => + e?.name.toLowerCase().includes(searchTerm.toLowerCase()), + ) + } + + if (filter === "success") { + return evaluations.filter((e) => e.status === filter) + } + + if (filter === "failed") { + return evaluations.filter((e) => failedFilters.includes(e.status)) + } + + return evaluations + }, [searchTerm, evaluations, filter]) + + const onMutateRun = useCallback( + async (runId: string) => { + if (compareRunIds.includes(runId)) { + const updatedRuns = compareRunIds.filter((id) => id !== runId) + await router.replace( + { + pathname: router.pathname, + query: {...router.query, compare: updatedRuns}, + }, + undefined, + {shallow: true}, + ) + setUrlState((draft) => { + draft.compare = updatedRuns.length > 0 ? updatedRuns : undefined + }) + } else { + if (compareRunIds.length === 4) { + message.info("You can only compare up to 5 runs") + return + } + await router.replace( + { + pathname: router.pathname, + query: {...router.query, compare: [...compareRunIds, runId]}, + }, + undefined, + {shallow: true}, + ) + setUrlState((draft) => { + draft.compare = [...compareRunIds, runId] + }) + } + }, + [compareRunIds], + ) + + return ( + +
    +
    + + Add evaluations using testset: + + + {enrichedRun?.testsets?.[0]?.name} + +
    + + setSearchTerm(e.target.value)} + /> +
    + +
    + Filters: + + {filters.map((f) => ( + + ))} +
    + + {filteredEvals?.length > 0 ? ( +
    + {filteredEvals?.map((evaluation) => ( +
    onMutateRun(evaluation.id)} + > +
    + + {evaluation.name} + + +
    + + {evaluation.variants?.[0]?.variantName || "-"} + + v{evaluation.variants?.[0]?.revision || "0"} + + + {compareRunIds?.includes(evaluation.id) ? ( + + ) : null} +
    +
    +
    + + {evaluation.description || "No description"} + + + {evaluation.createdAt} + +
    +
    + ))} +
    + ) : ( +
    + No evaluations found +
    + )} + + } + {...popoverProps} + > + +
    + ) +} + +export default memo(EvalRunCompareMenu) diff --git a/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunFocusDrawer/assets/FocusDrawerContent/assets/RunOutput.tsx b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunFocusDrawer/assets/FocusDrawerContent/assets/RunOutput.tsx new file mode 100644 index 0000000000..9c4151f6eb --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunFocusDrawer/assets/FocusDrawerContent/assets/RunOutput.tsx @@ -0,0 +1,60 @@ +import SimpleSharedEditor from "@/oss/components/EditorViews/SimpleSharedEditor" +import {useInvocationResult} from "@/oss/lib/hooks/useInvocationResult" +import clsx from "clsx" + +const RunOutput = ({ + runId, + scenarioId, + stepKey, + showComparisons, +}: { + runId: string + scenarioId?: string + stepKey?: string + showComparisons?: boolean +}) => { + const { + value, + messageNodes: nodes, + hasError: err, + } = useInvocationResult({ + scenarioId, + stepKey, + editorType: "simple", + viewType: "single", + runId, + }) + return ( +
    + {nodes ? ( + nodes + ) : ( + {}} + initialValue={ + !!value && typeof value !== "string" ? JSON.stringify(value) : value + } + headerName="Output" + editorType="borderless" + state="readOnly" + disabled + readOnly + editorClassName="!text-xs" + error={err} + placeholder="N/A" + className="!w-[97.5%]" + /> + )} +
    + ) +} + +export default RunOutput diff --git a/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunFocusDrawer/assets/FocusDrawerContent/assets/RunTraceHeader.tsx b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunFocusDrawer/assets/FocusDrawerContent/assets/RunTraceHeader.tsx new file mode 100644 index 0000000000..d37ba99532 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunFocusDrawer/assets/FocusDrawerContent/assets/RunTraceHeader.tsx @@ -0,0 +1,79 @@ +import {EVAL_TAG_COLOR} from "@/oss/components/EvalRunDetails/AutoEvalRun/assets/utils" +import {useRunId} from "@/oss/contexts/RunIdContext" +import { + evalAtomStore, + evaluationRunStateFamily, +} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms" +import {useInvocationResult} from "@/oss/lib/hooks/useInvocationResult" +import clsx from "clsx" +import {useAtomValue} from "jotai" +import {memo} from "react" +import dynamic from "next/dynamic" +import EvalNameTag from "@/oss/components/EvalRunDetails/AutoEvalRun/assets/EvalNameTag" + +const GenerationResultUtils = dynamic( + () => + import( + "@/oss/components/Playground/Components/PlaygroundGenerations/assets/GenerationResultUtils" + ), + {ssr: false}, +) + +const RunTraceHeader = ({ + runId: rId, + scenarioId: scId, + stepKey, + anchorId, + showComparisons, +}: { + runId: string + scenarioId?: string + stepKey?: string + anchorId?: string + showComparisons?: boolean +}) => { + const baseRunId = useRunId() + const store = evalAtomStore() + const state = useAtomValue(evaluationRunStateFamily(rId), {store}) + const enriched = state?.enrichedRun + const {trace: runTrace} = useInvocationResult({ + scenarioId: scId, + stepKey: stepKey, + editorType: "simple", + viewType: "single", + runId: rId, + }) + + return ( +
    + {enriched ? ( + + ) : ( +
    + )} + {runTrace ? ( + + ) : ( +
    + )} +
    + ) +} + +export default memo(RunTraceHeader) diff --git a/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunFocusDrawer/assets/FocusDrawerContent/index.tsx b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunFocusDrawer/assets/FocusDrawerContent/index.tsx new file mode 100644 index 0000000000..772d0ea186 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunFocusDrawer/assets/FocusDrawerContent/index.tsx @@ -0,0 +1,905 @@ +import {useCallback, useEffect, useMemo, useRef, useState} from "react" + +import SimpleSharedEditor from "@agenta/oss/src/components/EditorViews/SimpleSharedEditor" +import VirtualizedSharedEditors from "@agenta/oss/src/components/EditorViews/VirtualizedSharedEditors" +import {Collapse, CollapseProps, Tag, Tooltip} from "antd" +import clsx from "clsx" +import {useAtomValue} from "jotai" +import {loadable} from "jotai/utils" +import {useRouter} from "next/router" + +import {renderChatMessages} from "@/oss/components/EvalRunDetails/assets/renderChatMessages" +import {STATUS_COLOR} from "@/oss/components/EvalRunDetails/components/EvalRunScenarioStatusTag/assets" +import {titleCase} from "@/oss/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/flatDataSourceBuilder" +import {comparisonRunsStepsAtom} from "@/oss/components/EvalRunDetails/components/VirtualizedScenarioTable/hooks/useExpandableComparisonDataSource" +import {focusScenarioAtom} from "@/oss/components/EvalRunDetails/state/focusScenarioAtom" +import {urlStateAtom} from "@/oss/components/EvalRunDetails/state/urlState" +import {formatMetricValue} from "@/oss/components/HumanEvaluations/assets/MetricDetailsPopover/assets/utils" +import {getStatusLabel} from "@/oss/lib/constants/statusLabels" +import { + evalAtomStore, + scenarioStepFamily, + evaluationRunStateFamily, +} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms" +import {runScopedMetricDataFamily} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms/runScopedMetrics" +import {useInvocationResult} from "@/oss/lib/hooks/useInvocationResult" +import {EvaluationStatus} from "@/oss/lib/Types" +import {useAppState} from "@/oss/state/appState" + +import FocusDrawerContentSkeleton from "../Skeletons/FocusDrawerContentSkeleton" + +import RunOutput from "./assets/RunOutput" +import RunTraceHeader from "./assets/RunTraceHeader" + +const failureRunTypes = [EvaluationStatus.FAILED, EvaluationStatus.FAILURE, EvaluationStatus.ERROR] +const EMPTY_COMPARISON_RUN_IDS: string[] = [] + +const FocusDrawerContent = () => { + const appState = useAppState() + const store = evalAtomStore() + const router = useRouter() + + const [windowHight, setWindowHight] = useState(0) + const [activeKeys, setActiveKeys] = useState<(string | number)[]>([ + "input", + "output", + "evaluators", + ]) + + // atoms + const focus = useAtomValue(focusScenarioAtom) + const urlState = useAtomValue(urlStateAtom) + const scenarioId = focus?.focusScenarioId as string + const runId = focus?.focusRunId as string + const rawCompareRunIds = Array.isArray(urlState?.compare) ? urlState.compare : [] + const compareRunIdsKey = rawCompareRunIds.join("|") + const evaluationRunData = useAtomValue(evaluationRunStateFamily(runId!)) + const comparisonRunIds = useMemo(() => { + if (!rawCompareRunIds.length) return EMPTY_COMPARISON_RUN_IDS + return rawCompareRunIds.slice() + }, [compareRunIdsKey]) + const rawBaseRunId = useMemo(() => { + const routerValue = router.query?.evaluation_id + if (Array.isArray(routerValue)) { + const firstRouterId = routerValue[0] + if (firstRouterId) return firstRouterId + } else if (typeof routerValue === "string" && routerValue.length > 0) { + return routerValue + } + + const appStateValue = appState.query?.evaluation_id + if (Array.isArray(appStateValue)) { + return appStateValue[0] ?? null + } + + return typeof appStateValue === "string" && appStateValue.length > 0 ? appStateValue : null + }, [appState.query?.evaluation_id, router.query?.evaluation_id]) + + const isBaseRun = useMemo(() => { + if (evaluationRunData?.isBase !== undefined) { + return Boolean(evaluationRunData.isBase) + } + return rawBaseRunId ? runId === rawBaseRunId : false + }, [evaluationRunData?.isBase, rawBaseRunId, runId]) + + const baseRunId = useMemo(() => { + if (evaluationRunData?.isBase) return runId + if (rawBaseRunId && typeof rawBaseRunId === "string") return rawBaseRunId + return runId + }, [evaluationRunData?.isBase, rawBaseRunId, runId]) + + const comparisonRunsStepsAtomInstance = useMemo( + () => comparisonRunsStepsAtom(comparisonRunIds), + [comparisonRunIds], + ) + const comparisonRunsSteps = useAtomValue(comparisonRunsStepsAtomInstance, {store}) + // // Derive whether to show comparison mode + const showComparisons = useMemo( + () => Boolean(isBaseRun && comparisonRunIds.length > 0), + [isBaseRun, comparisonRunIds], + ) + const stepLoadable = useAtomValue( + loadable( + scenarioStepFamily({ + runId: runId!, + scenarioId: scenarioId!, + }), + ), + ) + + const enricedRun = evaluationRunData?.enrichedRun + const invocationStep = useMemo(() => stepLoadable.data?.invocationSteps?.[0], [stepLoadable]) + const { + trace, + value: outputValue, + messageNodes, + hasError, + } = useInvocationResult({ + scenarioId: invocationStep?.scenarioId, + stepKey: invocationStep?.stepKey, + editorType: "simple", + viewType: "single", + runId, + }) + + const entries = useMemo(() => { + const inputSteps = stepLoadable.data?.inputSteps + + if (stepLoadable.state !== "hasData" || !inputSteps) return [] + const out: {k: string; v: unknown}[] = [] + inputSteps.forEach((inputCol) => { + let _inputs = {} + try { + const {testcase_dedup_id, ...rest} = inputCol.testcase.data + _inputs = {...rest} + } catch (e) { + const rawInputs = (inputCol && (inputCol as any).inputs) || {} + const {testcase_dedup_id, ...rest} = rawInputs as Record + _inputs = {...rest} + } + Object.entries(_inputs || {})?.forEach(([k, v]) => out.push({k: titleCase(k), v})) + }) + return out + }, [stepLoadable]) + + // Base testcase id to match comparison scenarios by content + const baseTestcaseId = useMemo(() => { + const inputSteps = stepLoadable.data?.inputSteps + const id = inputSteps?.[0]?.testcaseId + return id + }, [stepLoadable]) + + // Map of comparison runId -> matched scenarioId (by testcaseId) + const matchedComparisonScenarios = useMemo(() => { + if (!showComparisons || !baseTestcaseId) return [] as {runId: string; scenarioId?: string}[] + return comparisonRunIds.map((compRunId) => { + const compMap = + comparisonRunsSteps && typeof comparisonRunsSteps === "object" + ? ((comparisonRunsSteps as Record)[compRunId] as any) || {} + : {} + let matchedScenarioId: string | undefined + for (const [scId, testcaseIds] of Object.entries(compMap)) { + const first = Array.isArray(testcaseIds) ? testcaseIds[0] : undefined + if (first && first === baseTestcaseId) { + matchedScenarioId = scId + break + } + } + return {runId: compRunId, scenarioId: matchedScenarioId} + }) + }, [showComparisons, baseTestcaseId, comparisonRunsSteps, comparisonRunIds]) + + const evaluatorMetrics = useMemo(() => { + const evaluators = enricedRun?.evaluators + return evaluators?.map((evaluator) => ({ + name: evaluator.name, + metrics: evaluator.metrics, + slug: evaluator.slug, + })) + }, [enricedRun]) + + const openAndScrollTo = useCallback((key: string) => { + // Ensure the related section is expanded when navigating via hash + setActiveKeys((prev) => { + const next = new Set(prev) + next.add(key) + if (key === "output" || key.startsWith("output-")) next.add("output") + return Array.from(next) + }) + + // wait for Collapse to render/expand, then scroll + const tryScroll = (attempt = 0) => { + const el = document.getElementById(`section-${key}`) + // element is visible when offsetParent is not null (after expand) + if (el && el.offsetParent !== null) { + el.scrollIntoView({behavior: "smooth", block: "start", inline: "nearest"}) + } else if (attempt < 10) { + requestAnimationFrame(() => tryScroll(attempt + 1)) + } + } + requestAnimationFrame(() => tryScroll()) + }, []) + + const handleCollapseChange = useCallback((keys: string[]) => { + // Check if any dropdown is open by looking for the dropdown menu with the 'open' class + // This is for improving micro interactions + const openSelects = document.querySelectorAll( + ".ant-select-dropdown:not(.ant-select-dropdown-hidden)", + ) + const openDropdowns = document.querySelectorAll(".ant-dropdown:not(.ant-dropdown-hidden)") + if (openSelects.length > 0 || openDropdowns.length > 0) { + return + } + setActiveKeys(keys) + }, []) + + // TODO remove this from here and create a function or something to also use in somewhere else + const getErrorStep = useCallback( + (metricKey: string, scenarioId: string) => { + if (stepLoadable.state === "loading") return null + const [evalSlug, key] = metricKey.split(".") + if (!key) return null // if does not have key that means it's not an evaluator metric + const _step = stepLoadable.data?.steps?.find((s) => s.stepKey === evalSlug) + + if (!_step) { + const invocationStep = stepLoadable.data?.invocationSteps?.find( + (s) => s.scenarioId === scenarioId, + ) + + if (failureRunTypes.includes(invocationStep?.status)) { + return { + status: invocationStep?.status, + error: invocationStep?.error?.stacktrace || invocationStep?.error?.message, + } + } + return null + } + + if (failureRunTypes.includes(_step?.status)) { + return { + status: _step?.status, + error: _step?.error?.stacktrace || _step?.error?.message, + } + } + + return null + }, + [stepLoadable], + ) + + useEffect(() => { + setWindowHight(window.innerHeight) + }, [stepLoadable]) + + useEffect(() => { + const evaluatorSlug = enricedRun?.evaluators?.map((evaluator) => evaluator.slug) ?? [] + if (!evaluatorSlug.length) return + + setActiveKeys((prev) => { + const next = new Set(prev) + let changed = false + + evaluatorSlug.forEach((slug) => { + if (!next.has(slug)) { + next.add(slug) + changed = true + } + }) + + return changed ? Array.from(next) : prev + }) + }, [enricedRun]) + + useEffect(() => { + const hash = appState.asPath?.split("#")[1]?.trim() + if (!hash) return + openAndScrollTo(hash) + }, [appState.asPath, openAndScrollTo]) + + // Sync horizontal scroll between the Collapse header (trace) and content box (output) + const isSyncingScroll = useRef(false) + useEffect(() => { + if (!showComparisons) return + + const traceEl = document.querySelector( + ".trace-scroll-container .ant-collapse-header", + ) as HTMLDivElement | null + const outputEl = document.querySelector( + ".output-scroll-container .ant-collapse-content-box", + ) as HTMLDivElement | null + const evalEl = document.querySelector( + ".evaluator-scroll-container .ant-collapse-content-box", + ) as HTMLDivElement | null + + if (!traceEl || !outputEl) return + + const sync = (from: HTMLDivElement) => { + const left = from.scrollLeft + if (outputEl && from !== outputEl) outputEl.scrollLeft = left + if (traceEl && from !== traceEl) traceEl.scrollLeft = left + if (evalEl && from !== evalEl) evalEl.scrollLeft = left + } + + const onTraceScroll = (e: any) => { + if (isSyncingScroll.current) return + isSyncingScroll.current = true + sync(e.currentTarget as HTMLDivElement) + requestAnimationFrame(() => (isSyncingScroll.current = false)) + } + const onOutputScroll = (e: any) => { + if (isSyncingScroll.current) return + isSyncingScroll.current = true + sync(e.currentTarget as HTMLDivElement) + requestAnimationFrame(() => (isSyncingScroll.current = false)) + } + const onEvalScroll = (e: any) => { + if (isSyncingScroll.current) return + isSyncingScroll.current = true + sync(e.currentTarget as HTMLDivElement) + requestAnimationFrame(() => (isSyncingScroll.current = false)) + } + + traceEl.addEventListener("scroll", onTraceScroll) + outputEl.addEventListener("scroll", onOutputScroll) + evalEl?.addEventListener("scroll", onEvalScroll) + + return () => { + traceEl.removeEventListener("scroll", onTraceScroll) + outputEl.removeEventListener("scroll", onOutputScroll) + evalEl?.removeEventListener("scroll", onEvalScroll) + } + }, [showComparisons, activeKeys]) + + const items: CollapseProps["items"] = useMemo(() => { + if (stepLoadable.state !== "hasData" || !scenarioId) return [] + + return [ + { + key: "input", + className: "!rounded-none [&_.ant-collapse-header]:!py-2", + label: ( + + Inputs + + ), + children: ( +
    + { + // Detect chat-shaped JSON like in CellComponents.tsx + let isChat = false + if (typeof entry.v === "string") { + try { + const parsed = JSON.parse(entry.v) + isChat = + Array.isArray(parsed) && + parsed.every((m: any) => "role" in m && "content" in m) + } catch { + /* ignore */ + } + } + + if (isChat) { + const nodes = renderChatMessages({ + keyPrefix: `${scenarioId}-${entry.k}`, + rawJson: entry.v as string, + view: "single", + editorType: "simple", + }) + return ( +
    + {nodes} +
    + ) + } + + return ( + {}} + headerName={entry.k} + initialValue={String(entry.v)} + editorType="borderless" + state="readOnly" + placeholder="N/A" + disabled + readOnly + editorClassName="!text-xs" + className="!w-[97.5%]" + editorProps={{enableResize: true}} + /> + ) + }} + /> +
    + ), + }, + { + key: "trace", + className: + "trace-scroll-container !rounded-none !px-0 [&_.ant-collapse-header]:!px-0 [&_.ant-collapse-header]:overflow-x-auto [&_.ant-collapse-header]:scroll-mr-2 sticky -top-[13px] z-10 bg-white [&_.ant-collapse-header::-webkit-scrollbar]:!w-0 [&_.ant-collapse-header::-webkit-scrollbar]:!h-0", + collapsible: "disabled", + disabled: true, + showArrow: false, + label: ( +
    + {showComparisons ? ( + <> + + {matchedComparisonScenarios.map( + ({runId: rId, scenarioId: scId}) => ( + + ), + )} + + ) : ( + + )} +
    + ), + }, + { + key: "output", + label: Outputs, + className: clsx([ + "output-scroll-container", + "!rounded-none !px-0 [&_.ant-collapse-header]:!py-2 [&_.ant-collapse-content-box]:overflow-x-auto [&_.ant-collapse-content-box]:scroll-mr-2 [&_.ant-collapse-content-box::-webkit-scrollbar]:!w-0 [&_.ant-collapse-content-box::-webkit-scrollbar]:!h-0", + {"[&_.ant-collapse-content-box]:!px-1": showComparisons}, + ]), + children: showComparisons ? ( +
    + + {matchedComparisonScenarios.map(({runId: rId, scenarioId: scId}) => ( + + ))} +
    + ) : ( +
    + {messageNodes ? ( + messageNodes + ) : ( + {}} + initialValue={ + !!outputValue && typeof outputValue !== "string" + ? JSON.stringify(outputValue) + : outputValue + } + headerName="Output" + editorType="borderless" + state="readOnly" + disabled + readOnly + editorClassName="!text-xs" + error={hasError} + placeholder="N/A" + className="!w-[97.5%]" + /> + )} +
    + ), + }, + ...(showComparisons + ? [ + { + key: "evaluators", + label: null, + disabled: true, + showArrow: false, + className: + "evaluator-scroll-container !rounded-none [&_.ant-collapse-header]:!hidden [&_.ant-collapse-content-box]:overflow-x-auto [&_.ant-collapse-content-box]:!px-0 [&_.ant-collapse-content-box::-webkit-scrollbar]:!w-0 [&_.ant-collapse-content-box::-webkit-scrollbar]:!h-0", + children: (() => { + const runs = [ + {runId: baseRunId, scenarioId}, + ...matchedComparisonScenarios.map((m) => ({ + runId: m.runId, + scenarioId: m.scenarioId, + })), + ] + + // Helper: collect evaluator list for a run + const getRunEvaluators = (rId: string) => { + const rState = evalAtomStore().get(evaluationRunStateFamily(rId)) + const evaluators = rState?.enrichedRun?.evaluators || [] + return Array.isArray(evaluators) + ? evaluators + : (Object.values(evaluators) as any[]) + } + + // Build ordered set of evaluator slugs (base run first, then others) + const slugOrder = new Set() + const slugName: Record = {} + runs.forEach(({runId: rId}) => { + const list = getRunEvaluators(rId) + list.forEach((ev: any) => { + slugOrder.add(ev.slug) + if (!slugName[ev.slug]) slugName[ev.slug] = ev.name || ev.slug + }) + }) + + // Renders the value UI for a single metric in a single run + const renderMetricCell = ( + rId: string, + scId: string | undefined, + evaluatorSlug: string, + metricName: string, + ) => { + if (!scId) { + return ( + + N/A + + ) + } + + const metricData = evalAtomStore().get( + runScopedMetricDataFamily({ + runId: rId, + scenarioId: scId, + metricKey: `${evaluatorSlug}.${metricName}`, + stepSlug: invocationStep?.stepkey, + }), + ) + + // Run-scoped error fallback + let errorStep: any = null + const stepLoadableR = evalAtomStore().get( + loadable(scenarioStepFamily({runId: rId, scenarioId: scId})), + ) as any + if (stepLoadableR?.state === "hasData") { + const _step = stepLoadableR?.data?.steps?.find( + (s: any) => s.stepkey === evaluatorSlug, + ) + if (failureRunTypes.includes(_step?.status)) { + errorStep = { + status: _step?.status, + error: + _step?.error?.stacktrace || _step?.error?.message, + } + } else { + const inv = stepLoadableR?.data?.invocationSteps?.find( + (s: any) => s.scenarioId === scId, + ) + if (failureRunTypes.includes(inv?.status)) { + errorStep = { + status: inv?.status, + error: + inv?.error?.stacktrace || inv?.error?.message, + } + } + } + } + + if (errorStep?.status || errorStep?.error) { + return ( + + + {getStatusLabel(errorStep?.status)} + + + ) + } + + let value: any + if ( + metricData?.value?.frequency && + metricData?.value?.frequency?.length > 0 + ) { + const mostFrequent = metricData?.value?.frequency?.reduce( + (max: any, current: any) => + current.count > max.count ? current : max, + ).value + value = String(mostFrequent) + } else { + const prim = Object.values(metricData?.value || {}).find( + (v) => typeof v === "number" || typeof v === "string", + ) + value = + prim !== undefined + ? prim + : JSON.stringify(metricData?.value) + } + + const formatted = formatMetricValue(metricName, value || "") + + const isLongText = + typeof formatted === "string" && + (formatted.length > 180 || /\n/.test(formatted)) + + if ( + formatted === undefined || + formatted === null || + formatted === "" + ) { + return ( + + N/A + + ) + } + + return isLongText ? ( + {}} + initialValue={String(formatted)} + editorType="borderless" + state="readOnly" + disabled + readOnly + editorClassName="!text-xs" + placeholder="N/A" + className="!w-[97.5%]" + /> + ) : ( + + {String(formatted)} + + ) + } + + // Build the vertical list of evaluators with per-run metric columns + const orderedSlugs = Array.from(slugOrder) + + return ( +
    + {orderedSlugs.map((slug) => { + // Figure out which runs used this evaluator + const usedBy = new Set( + runs + .filter(({runId: rId, scenarioId: scId}) => { + if (!scId) return false + const list = getRunEvaluators(rId) + return list.some((e: any) => e.slug === slug) + }) + .map((r) => r.runId), + ) + + if (usedBy.size === 0) return null + + // Union of metric keys across participating runs only + const metricKeyOrder = new Set() + runs.forEach(({runId: rId}) => { + if (!usedBy.has(rId)) return + const list = getRunEvaluators(rId) + const ev = list.find((e: any) => e.slug === slug) + Object.keys(ev?.metrics || {}).forEach((k) => + metricKeyOrder.add(k), + ) + }) + + const keys = Array.from(metricKeyOrder) + const displayName = slugName[slug] || slug + + return ( +
    +
    +
    + {displayName} +
    + {runs.slice(1).map((_, idx) => ( +
    + ))} +
    +
    +
    + {runs.map( + ({runId: rId, scenarioId: scId}) => { + const hasThis = usedBy.has(rId) + return ( +
    + {hasThis ? ( + keys.map((metricName) => ( +
    + + {metricName} + + {renderMetricCell( + rId, + scId, + slug, + metricName, + )} +
    + )) + ) : ( + // Support structure to preserve column spacing +
    + )} +
    + ) + }, + )} +
    +
    + ) + })} +
    + ) + })(), + }, + ] + : (evaluatorMetrics || []).map((evaluator, idx) => { + const metrics = evaluator.metrics + const isFirst = idx === 0 + const prevSlug = evaluatorMetrics?.[idx - 1]?.slug + const isPrevOpen = !!(prevSlug && activeKeys.includes(prevSlug)) + + if (!evaluator) return null + return { + key: evaluator.slug, + label: ( + + {evaluator.name} + + ), + className: clsx( + "[&_.ant-collapse-header]:border-0 [&_.ant-collapse-header]:border-solid [&_.ant-collapse-header]:border-gray-200", + "[&_.ant-collapse-header]:!rounded-none [&_.ant-collapse-header]:!py-[9px]", + "[&_.ant-collapse-header]:border-b", + { + // Top border for first item or when previous evaluator is open + "[&_.ant-collapse-header]:border-t": isFirst || isPrevOpen, + }, + ), + children: Object.keys(metrics || {})?.map((metricKey) => { + const metricData = evalAtomStore().get( + runScopedMetricDataFamily({ + runId: runId!, + scenarioId: scenarioId!, + metricKey: `${evaluator.slug}.${metricKey}`, + stepSlug: invocationStep?.stepkey, + }), + ) + + const errorStep = + !metricData?.distInfo || hasError + ? getErrorStep(`${evaluator.slug}.${metricKey}`, scenarioId) + : null + + let value + if ( + metricData?.value?.frequency && + metricData?.value?.frequency?.length > 0 + ) { + const mostFrequent = metricData?.value?.frequency?.reduce( + (max, current) => (current.count > max.count ? current : max), + ).value + value = String(mostFrequent) + } else { + const prim = Object.values(metricData?.value || {}).find( + (v) => typeof v === "number" || typeof v === "string", + ) + value = + prim !== undefined ? prim : JSON.stringify(metricData?.value) + } + + const formatted = formatMetricValue(metricKey, value || "") + + return ( +
    + {metricKey} + {errorStep?.status || errorStep?.error ? ( + + + {getStatusLabel(errorStep?.status)} + + + ) : ( + + {typeof formatted === "object" || + formatted === undefined || + formatted === null + ? "N/A" + : String(formatted)} + + )} +
    + ) + }), + } + })), + ] + }, [ + entries, + stepLoadable.state, + windowHight, + outputValue, + trace, + enricedRun?.name, + scenarioId, + activeKeys, + messageNodes, + hasError, + comparisonRunIds, + showComparisons, + matchedComparisonScenarios, + baseRunId, + invocationStep?.stepkey, + ]) + + if (stepLoadable.state !== "hasData" || !enricedRun) { + return + } + + return ( +
    + +
    + ) +} + +export default FocusDrawerContent diff --git a/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunFocusDrawer/assets/FocusDrawerHeader/index.tsx b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunFocusDrawer/assets/FocusDrawerHeader/index.tsx new file mode 100644 index 0000000000..1538cce667 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunFocusDrawer/assets/FocusDrawerHeader/index.tsx @@ -0,0 +1,142 @@ +import {useCallback, useMemo, useState} from "react" + +import {CaretDown, CaretUp, Check, Copy} from "@phosphor-icons/react" +import {Button, Tag} from "antd" +import {useAtomValue} from "jotai" +import {loadable} from "jotai/utils" + +import EvalRunScenarioNavigator from "@/oss/components/EvalRunDetails/components/EvalRunScenarioNavigator" +import {focusScenarioAtom} from "@/oss/components/EvalRunDetails/state/focusScenarioAtom" +import TooltipWithCopyAction from "@/oss/components/TooltipWithCopyAction" +import { + scenariosFamily, + scenarioStepFamily, +} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms" +import {useAppNavigation} from "@/oss/state/appState" + +import FocusDrawerHeaderSkeleton from "../Skeletons/FocusDrawerHeaderSkeleton" + +const FocusDrawerHeader = () => { + const [isCopy, setIsCopy] = useState(false) + const focus = useAtomValue(focusScenarioAtom) + const navigation = useAppNavigation() + + const runId = focus?.focusRunId as string + const focusScenarioId = focus?.focusScenarioId as string + + const handleScenarioChange = useCallback( + (nextScenarioId: string) => { + navigation.patchQuery( + { + focusScenarioId: nextScenarioId, + focusRunId: runId, + }, + {shallow: true}, + ) + }, + [navigation, runId], + ) + + const stepLoadable = useAtomValue( + loadable( + scenarioStepFamily({ + runId, + scenarioId: focusScenarioId, + }), + ), + ) + const scenarios = useAtomValue(scenariosFamily(runId)) ?? [] + + const selectedScenario = useMemo(() => { + return scenarios.find((s) => s.id === focusScenarioId) + }, [scenarios, focusScenarioId]) + + const loadPrevVariant = useCallback(() => { + if (!selectedScenario) return + const prevIndex = selectedScenario.scenarioIndex - 2 + if (prevIndex < 0) return + const prevScenario = scenarios[prevIndex] + if (!prevScenario) return + handleScenarioChange(prevScenario.id) + }, [handleScenarioChange, selectedScenario, scenarios]) + + const loadNextVariant = useCallback(() => { + if (!selectedScenario) return + const nextIndex = selectedScenario.scenarioIndex || 1 + const nextScenario = scenarios[nextIndex] + if (!nextScenario) return + handleScenarioChange(nextScenario.id) + }, [handleScenarioChange, selectedScenario, scenarios]) + + const isDisablePrev = useMemo(() => selectedScenario?.scenarioIndex === 1, [selectedScenario]) + const isDisableNext = useMemo( + () => selectedScenario?.scenarioIndex === scenarios.length, + [selectedScenario, scenarios], + ) + + if (stepLoadable.state === "loading") { + return + } + + return ( +
    +
    +
    +
    + handleScenarioChange(id), + classNames: {popup: {root: "!p-0 !min-w-[180px]"}}, + }} + showOnlySelect + /> + {stepLoadable.state === "hasData" && + stepLoadable.data?.inputSteps?.map((input, index) => ( + + { + setIsCopy(true) + setTimeout(() => { + setIsCopy(false) + }, 1500) + }} + > + {input?.testcaseId}{" "} + {isCopy ? : } + + + ))} +
    +
    + ) +} + +export default FocusDrawerHeader diff --git a/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunFocusDrawer/assets/FocusDrawerSidePanel/index.tsx b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunFocusDrawer/assets/FocusDrawerSidePanel/index.tsx new file mode 100644 index 0000000000..852964bc06 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunFocusDrawer/assets/FocusDrawerSidePanel/index.tsx @@ -0,0 +1,164 @@ +import {Key, useCallback, useMemo} from "react" + +import {TreeStructure, Download, Sparkle, Speedometer} from "@phosphor-icons/react" +import {Tree, TreeDataNode} from "antd" +import deepEqual from "fast-deep-equal" +import {atom} from "jotai" +import {useAtomValue} from "jotai" +import {atomFamily} from "jotai/utils" +import {useRouter} from "next/router" + +import {focusScenarioAtom} from "@/oss/components/EvalRunDetails/state/focusScenarioAtom" +import {urlStateAtom} from "@/oss/components/EvalRunDetails/state/urlState" +import {evaluationRunStateFamily} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms" + +import FocusDrawerSidePanelSkeleton from "../Skeletons/FocusDrawerSidePanelSkeleton" + +// Helper atom to read multiple run states given a list of runIds +const evaluationsRunFamily = atomFamily( + (runIds: string[]) => + atom((get) => { + return runIds.map((runId) => get(evaluationRunStateFamily(runId))) + }), + deepEqual, +) + +const FocusDrawerSidePanel = () => { + const router = useRouter() + const urlState = useAtomValue(urlStateAtom) + const focus = useAtomValue(focusScenarioAtom) + const compareRunIds = (urlState?.compare || []) as string[] + const focusRunId = focus?.focusRunId! + const focusRunState = useAtomValue(evaluationRunStateFamily(focusRunId)) + const baseRunId = useMemo(() => { + if (focusRunState?.isBase) return focusRunId + const routerValue = router.query?.evaluation_id + if (Array.isArray(routerValue)) { + return routerValue[0] ?? focusRunId + } + if (typeof routerValue === "string" && routerValue.length > 0) { + return routerValue + } + return focusRunId + }, [focusRunId, focusRunState?.isBase, router.query?.evaluation_id]) + const isComparison = Array.isArray(compareRunIds) && compareRunIds.length > 0 + const isBaseRun = focusRunState?.isBase ?? focusRunId === baseRunId + + // Read base run and all comparison run states + const runIds = useMemo(() => { + if (!isComparison) return [baseRunId] + if (!isBaseRun && isComparison) return [focusRunId] + + return [baseRunId, ...compareRunIds] + }, [baseRunId, compareRunIds, focusRunId, isBaseRun, isComparison]) + + const runs = useAtomValue(evaluationsRunFamily(runIds)) + + const baseEvaluation = useMemo( + () => runs.find((r) => r?.enrichedRun?.id === baseRunId), + [runs, baseRunId], + ) + const baseEvaluators = useMemo( + () => baseEvaluation?.enrichedRun?.evaluators || [], + [baseEvaluation], + ) + + // Build deduped evaluator list across all runs when in comparison mode + const dedupedEvaluators = useMemo(() => { + if (isBaseRun && !isComparison) return baseEvaluators + + const map = new Map() + runs?.forEach((r) => { + r?.enrichedRun?.evaluators?.forEach((e) => { + if (!map.has(e.slug)) map.set(e.slug, {slug: e.slug, name: e.name}) + }) + }) + return Array.from(map.values()) + }, [isComparison, runs, baseEvaluators, isBaseRun]) + + // Output children: evaluation names (base + comparisons) when in comparison mode + const outputChildren: TreeDataNode[] = useMemo(() => { + if (!isComparison || (!isBaseRun && isComparison)) return [] + return runs + .map((r) => r?.enrichedRun) + .filter(Boolean) + .map((enriched) => ({ + title: enriched!.name, + key: `output-${enriched!.id}`, + icon: , + })) as TreeDataNode[] + }, [isComparison, runs, isBaseRun]) + + const treeData: TreeDataNode[] = useMemo(() => { + if (!focusRunId) return [] + return [ + { + title: "Evaluation", + key: "evaluation", + icon: , + children: [ + { + title: "Input", + key: "input", + icon: , + }, + { + title: "Output", + key: "output", + icon: , + children: outputChildren, + }, + { + title: "Evaluator", + key: "evaluator", + icon: , + children: + dedupedEvaluators?.map((e) => ({ + title: e.name, + key: e.slug, + icon: , + })) || [], + }, + ], + }, + ] + }, [dedupedEvaluators, outputChildren, focusRunId]) + + const onSelect = useCallback( + async (selectedKeys: Key[]) => { + if (selectedKeys.length > 0) { + const key = selectedKeys[0].toString() + + await router.replace( + { + pathname: router.pathname, + query: router.query, + hash: key, + }, + undefined, + {scroll: false, shallow: true}, + ) + } + }, + [router], + ) + + if (!runs.length) { + return + } + + return ( +
    + +
    + ) +} + +export default FocusDrawerSidePanel diff --git a/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunFocusDrawer/assets/Skeletons/FocusDrawerContentSkeleton.tsx b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunFocusDrawer/assets/Skeletons/FocusDrawerContentSkeleton.tsx new file mode 100644 index 0000000000..e79155bbc1 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunFocusDrawer/assets/Skeletons/FocusDrawerContentSkeleton.tsx @@ -0,0 +1,33 @@ +import {memo} from "react" + +import {Skeleton} from "antd" + +const FocusDrawerContentSkeleton = () => { + return ( +
    +
    + + +
    + + + + +
    + +
    + + + +
    +
    +
    + + +
    + +
    + ) +} + +export default memo(FocusDrawerContentSkeleton) diff --git a/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunFocusDrawer/assets/Skeletons/FocusDrawerHeaderSkeleton.tsx b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunFocusDrawer/assets/Skeletons/FocusDrawerHeaderSkeleton.tsx new file mode 100644 index 0000000000..20912d5e76 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunFocusDrawer/assets/Skeletons/FocusDrawerHeaderSkeleton.tsx @@ -0,0 +1,16 @@ +import {memo} from "react" + +import {Skeleton} from "antd" + +const FocusDrawerHeaderSkeleton = () => { + return ( +
    + + + + +
    + ) +} + +export default memo(FocusDrawerHeaderSkeleton) diff --git a/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunFocusDrawer/assets/Skeletons/FocusDrawerSidePanelSkeleton.tsx b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunFocusDrawer/assets/Skeletons/FocusDrawerSidePanelSkeleton.tsx new file mode 100644 index 0000000000..1c813e50aa --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunFocusDrawer/assets/Skeletons/FocusDrawerSidePanelSkeleton.tsx @@ -0,0 +1,15 @@ +import {memo} from "react" + +import {Skeleton} from "antd" + +const FocusDrawerSidePanelSkeleton = () => { + return ( +
    + {Array.from({length: 8}).map((_, idx) => ( + + ))} +
    + ) +} + +export default memo(FocusDrawerSidePanelSkeleton) diff --git a/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunFocusDrawer/index.tsx b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunFocusDrawer/index.tsx new file mode 100644 index 0000000000..187de30274 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunFocusDrawer/index.tsx @@ -0,0 +1,68 @@ +import {memo, useCallback, useMemo} from "react" + +import {useAtomValue, useSetAtom} from "jotai" +import dynamic from "next/dynamic" + +import { + closeFocusDrawerAtom, + focusScenarioAtom, + isFocusDrawerOpenAtom, + resetFocusDrawerAtom, +} from "@/oss/components/EvalRunDetails/state/focusScenarioAtom" +import GenericDrawer from "@/oss/components/GenericDrawer" +import {RunIdProvider} from "@/oss/contexts/RunIdContext" +import {clearFocusDrawerQueryParams} from "@/oss/state/url/focusDrawer" + +const FocusDrawerHeader = dynamic(() => import("./assets/FocusDrawerHeader"), {ssr: false}) +const FocusDrawerContent = dynamic(() => import("./assets/FocusDrawerContent"), {ssr: false}) +const FocusDrawerSidePanel = dynamic(() => import("./assets/FocusDrawerSidePanel"), {ssr: false}) + +const EvalRunFocusDrawer = () => { + const isOpen = useAtomValue(isFocusDrawerOpenAtom) + const focus = useAtomValue(focusScenarioAtom) + const closeDrawer = useSetAtom(closeFocusDrawerAtom) + const resetDrawer = useSetAtom(resetFocusDrawerAtom) + + const focusRunId = focus?.focusRunId ?? null + + const handleClose = useCallback(() => { + closeDrawer(null) + }, [closeDrawer]) + + const handleAfterOpenChange = useCallback( + (nextOpen: boolean) => { + if (!nextOpen) { + resetDrawer(null) + clearFocusDrawerQueryParams() + } + }, + [resetDrawer], + ) + + const shouldRenderContent = useMemo( + () => Boolean(focusRunId && focus?.focusScenarioId), + [focusRunId, focus?.focusScenarioId], + ) + + if (!focusRunId) { + return null + } + + return ( + + : null} + mainContent={shouldRenderContent ? : null} + sideContent={shouldRenderContent ? : null} + className="[&_.ant-drawer-body]:p-0" + sideContentDefaultSize={200} + /> + + ) +} + +export default memo(EvalRunFocusDrawer) diff --git a/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunHeader/assets/EvalRunHeaderSkeleton.tsx b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunHeader/assets/EvalRunHeaderSkeleton.tsx new file mode 100644 index 0000000000..1ae2c1dea1 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunHeader/assets/EvalRunHeaderSkeleton.tsx @@ -0,0 +1,20 @@ +import {memo} from "react" + +import {Skeleton} from "antd" +import clsx from "clsx" + +const EvalRunHeaderSkeleton = ({className}: {className?: string}) => { + return ( +
    + + +
    + ) +} + +export default memo(EvalRunHeaderSkeleton) diff --git a/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunHeader/index.tsx b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunHeader/index.tsx new file mode 100644 index 0000000000..20dca8c02c --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunHeader/index.tsx @@ -0,0 +1,46 @@ +import {memo} from "react" + +import clsx from "clsx" +import {useAtomValue} from "jotai" + +import {useRunId} from "@/oss/contexts/RunIdContext" + +import EvalRunScenariosViewSelector from "../../../components/EvalRunScenariosViewSelector" +import {runViewTypeAtom, urlStateAtom} from "../../../state/urlState" +import EvalRunCompareMenu from "../EvalRunCompareMenu" +import EvalRunSelectedEvaluations from "../EvalRunSelectedEvaluations" + +const EvalRunHeader = ({className, name, id}: {className?: string; name: string; id: string}) => { + const viewType = useAtomValue(runViewTypeAtom) + const urlState = useAtomValue(urlStateAtom) + const baseRunId = useRunId() + return ( +
    + + +
    +
    + {urlState.compare?.length > 0 && ( + + )} +
    + + +
    +
    + ) +} + +export default memo(EvalRunHeader) diff --git a/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunOverviewViewer/assets/EvalRunOverviewViewerSkeleton.tsx b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunOverviewViewer/assets/EvalRunOverviewViewerSkeleton.tsx new file mode 100644 index 0000000000..cb6953b18d --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunOverviewViewer/assets/EvalRunOverviewViewerSkeleton.tsx @@ -0,0 +1,25 @@ +import {memo} from "react" + +import EvalRunScoreTableSkeleton from "../../EvalRunScoreTable/assets/EvalRunScoreTableSkeleton" +import EvaluatorMetricsChartSkeleton from "../../EvaluatorMetricsChart/assets/EvaluatorMetricsChartSkeleton" + +const EvalRunOverviewViewerSkeleton = () => { + return ( + <> +
    + +
    + +
    + {Array.from({length: 3}).map((_, index) => ( + + ))} +
    + + ) +} + +export default memo(EvalRunOverviewViewerSkeleton) diff --git a/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunOverviewViewer/index.tsx b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunOverviewViewer/index.tsx new file mode 100644 index 0000000000..2b8e6131c7 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunOverviewViewer/index.tsx @@ -0,0 +1,209 @@ +import {memo, useMemo} from "react" + +import deepEqual from "fast-deep-equal" +import {useAtomValue} from "jotai" +import {atom} from "jotai" +import {atomFamily} from "jotai/utils" + +import {useRunId} from "@/oss/contexts/RunIdContext" +import { + evaluationEvaluatorsFamily, + loadingStateAtom, + loadingStateFamily, + evaluationRunStateFamily, +} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms" +import {runMetricStatsFamily} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms/runScopedMetrics" +import {canonicalizeMetricKey, getMetricValueWithAliases} from "@/oss/lib/metricUtils" + +import {urlStateAtom} from "../../../state/urlState" +import {formatMetricName} from "../../assets/utils" +import {EVAL_COLOR} from "../../assets/utils" +import EvalRunScoreTable from "../EvalRunScoreTable" +import EvaluatorMetricsChart from "../EvaluatorMetricsChart" + +import EvalRunOverviewViewerSkeleton from "./assets/EvalRunOverviewViewerSkeleton" + +// Only evaluator metrics (slug-prefixed) should render in overview charts; skip invocation metrics. +const INVOCATION_METRIC_PREFIX = "attributes.ag." + +// Lightweight readers (mirrors what ScoreTable does) to fetch multiple runs' state/metrics +const runsStateFamily = atomFamily( + (runIds: string[]) => atom((get) => runIds.map((id) => get(evaluationRunStateFamily(id)))), + deepEqual, +) +const runsMetricsFamily = atomFamily( + (runIds: string[]) => + atom((get) => runIds.map((id) => ({id, metrics: get(runMetricStatsFamily({runId: id}))}))), + deepEqual, +) + +const EvalRunOverviewViewer = () => { + const runId = useRunId() + const urlState = useAtomValue(urlStateAtom) + const compareRunIds = urlState.compare + const isCompare = !!compareRunIds?.length + + const metrics = useAtomValue(runMetricStatsFamily({runId})) + const evaluators = useAtomValue(evaluationEvaluatorsFamily(runId)) + const loadingState = useAtomValue(loadingStateAtom) + const loadingStateFamilyData = useAtomValue(loadingStateFamily(runId)) + const allRunIds = useMemo( + () => [runId!, ...(compareRunIds || []).filter((id) => id && id !== runId)], + [runId, compareRunIds], + ) + const runs = useAtomValue(runsStateFamily(allRunIds)) + const metricsByRun = useAtomValue(runsMetricsFamily(allRunIds)) + + const evaluatorsBySlug = useMemo(() => { + const map: Record = {} + runs.forEach((r) => { + r?.enrichedRun?.evaluators?.forEach((ev: any) => { + if (ev?.slug && !map[ev.slug]) { + map[ev.slug] = ev + } + }) + }) + evaluators?.forEach((ev) => { + if (ev?.slug && !map[ev.slug]) { + map[ev.slug] = ev + } + }) + return map + }, [runs, evaluators]) + + const combinedMetricEntries = useMemo(() => { + const entries: { + fullKey: string + evaluatorSlug: string + metricKey: string + metric: Record + }[] = [] + const seen = new Set() + + const pushEntry = (rawKey: string, source: Record) => { + const canonical = canonicalizeMetricKey(rawKey) + if (canonical.startsWith(INVOCATION_METRIC_PREFIX)) return + if (!canonical.includes(".")) return + if (seen.has(canonical)) return + + const metric = + (getMetricValueWithAliases(source, canonical) as Record) || + (source?.[rawKey] as Record) + if (!metric) return + + const [slug, ...rest] = canonical.split(".") + const metricKey = rest.join(".") || slug + + entries.push({fullKey: canonical, evaluatorSlug: slug, metricKey, metric}) + seen.add(canonical) + } + + const baseMetrics = (metrics || {}) as Record + Object.keys(baseMetrics).forEach((fullKey) => { + pushEntry(fullKey, baseMetrics) + }) + + metricsByRun.forEach(({metrics: runMetrics}) => { + const scoped = (runMetrics || {}) as Record + Object.keys(scoped).forEach((fullKey) => { + pushEntry(fullKey, scoped) + }) + }) + + return entries + }, [metrics, metricsByRun]) + + const evalById = useMemo(() => { + const map: Record = {} + runs.forEach((r) => (map[r.enrichedRun?.id || r.id] = r)) + return map + }, [runs]) + + const metricsLookup = useMemo(() => { + const map: Record> = {} + metricsByRun.forEach(({id, metrics}) => { + const source = (metrics || {}) as Record + const normalized: Record = {...source} + Object.keys(source || {}).forEach((rawKey) => { + const canonical = canonicalizeMetricKey(rawKey) + if (canonical !== rawKey && normalized[canonical] === undefined) { + normalized[canonical] = source[rawKey] + } + }) + map[id] = normalized + }) + return map + }, [metricsByRun]) + + if (loadingState.isLoadingMetrics || loadingStateFamilyData.isLoadingMetrics) { + return + } + return ( + <> +
    + +
    + +
    + {combinedMetricEntries.map(({fullKey, metric, evaluatorSlug, metricKey}, idx) => { + if (!metric || !Object.keys(metric || {}).length) return null + + // Build comparison rows for this evaluator metric + const rowsWithMeta = isCompare + ? allRunIds.map((id, i) => { + const state = evalById[id] + const compareIdx = state?.compareIndex || i + 1 + const stats = metricsLookup[id] || {} + const m: any = getMetricValueWithAliases(stats, fullKey) + const hasMetric = !!m + let y = 0 + if (hasMetric) { + if (Array.isArray(m?.unique)) { + const trueEntry = (m?.frequency || m?.rank || [])?.find( + (f: any) => f?.value === true, + ) + const total = m?.count ?? 0 + y = total ? ((trueEntry?.count ?? 0) / total) * 100 : 0 + } else if (typeof m?.mean === "number") { + y = m.mean + } + } + return { + id, + x: state?.enrichedRun?.name || `Eval ${compareIdx}`, + y, + hasMetric, + color: (EVAL_COLOR as any)[compareIdx] || "#3B82F6", + } + }) + : undefined + + const averageRows = rowsWithMeta + ?.filter((r) => r.hasMetric) + .map(({x, y, color}) => ({x, y, color})) + const summaryRows = rowsWithMeta?.map(({x, y, color}) => ({ + x, + y, + color, + })) + + return ( + + ) + })} +
    + + ) +} + +export default memo(EvalRunOverviewViewer) diff --git a/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunPromptConfigViewer/assets/EvalRunPromptConfigViewerSkeleton.tsx b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunPromptConfigViewer/assets/EvalRunPromptConfigViewerSkeleton.tsx new file mode 100644 index 0000000000..02f6b9f69a --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunPromptConfigViewer/assets/EvalRunPromptConfigViewerSkeleton.tsx @@ -0,0 +1,42 @@ +import {memo} from "react" + +import {Skeleton} from "antd" +import clsx from "clsx" + +const EvalRunPromptConfigViewerSkeleton = ({className}: {className?: string}) => { + return ( +
    +
    +
    +
    + + +
    + +
    + + +
    +
    + ) +} + +export default memo(EvalRunPromptConfigViewerSkeleton) + +export const PromptConfigCardSkeleton = memo(() => { + return ( +
    + {/* Header */} +
    + + +
    + + {/* Prompt section */} +
    + + +
    +
    + ) +}) diff --git a/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunPromptConfigViewer/assets/PromptConfigCard.tsx b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunPromptConfigViewer/assets/PromptConfigCard.tsx new file mode 100644 index 0000000000..0602e5d8ce --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunPromptConfigViewer/assets/PromptConfigCard.tsx @@ -0,0 +1,633 @@ +import {memo, useEffect, useMemo, useRef, useState} from "react" + +import {Empty, Skeleton, Tag, Typography} from "antd" +import clsx from "clsx" +import {atom, getDefaultStore, useAtomValue} from "jotai" +import {atomFamily} from "jotai/utils" +import dynamic from "next/dynamic" +import {useRouter} from "next/router" + +import {PromptsSourceProvider} from "@/oss/components/Playground/context/PromptsSource" +import {EnrichedEvaluationRun} from "@/oss/lib/hooks/usePreviewEvaluations/types" +import type {EnhancedObjectConfig} from "@/oss/lib/shared/variant/genericTransformer/types" +import {fetchOpenApiSchemaJson} from "@/oss/lib/shared/variant/transformer" +import { + deriveCustomPropertiesFromSpec, + derivePromptsFromSpec, +} from "@/oss/lib/shared/variant/transformer/transformer" +import type {AgentaConfigPrompt} from "@/oss/lib/shared/variant/transformer/types" +import {projectScopedVariantsAtom} from "@/oss/state/projectVariantConfig" +import { + appSchemaAtom, + appUriInfoAtom, + getEnhancedRevisionById, +} from "@/oss/state/variant/atoms/fetcher" + +import EvalNameTag from "../../../assets/EvalNameTag" +import {EVAL_TAG_COLOR} from "../../../assets/utils" +import VariantTag from "../../../assets/VariantTag" +import { + combineAppNameWithLabel, + deriveVariantAppName, + deriveVariantLabelParts, + getVariantDisplayMetadata, + normalizeId, + prettifyVariantLabel, +} from "../../../assets/variantUtils" + +import {PromptConfigCardSkeleton} from "./EvalRunPromptConfigViewerSkeleton" + +const PlaygroundVariantConfigPrompt = dynamic( + () => import("@/oss/components/Playground/Components/PlaygroundVariantConfigPrompt"), + {ssr: false, loading: () => }, +) +const PlaygroundVariantCustomProperties = dynamic( + () => import("@/oss/components/Playground/Components/PlaygroundVariantCustomProperties"), + {ssr: false, loading: () => }, +) + +type ParametersShape = Record | null | undefined + +type PromptNode = EnhancedObjectConfig + +const deriveFromParametersSnapshot = (parameters: ParametersShape) => { + const ag = (parameters as any)?.ag_config ?? (parameters as any) ?? {} + const fallbackPrompts = Object.entries(ag) + .map(([name, cfg]: [string, any]) => { + if (!cfg || typeof cfg !== "object") return null + const messages = (cfg as any).messages + const llm_config = (cfg as any).llm_config || (cfg as any).llmConfig + if (!messages && !llm_config) return null + return { + __name: name, + messages, + llm_config, + } + }) + .filter(Boolean) as PromptNode[] + + return {prompts: fallbackPrompts, customProps: {}} +} + +const mergeParametersWithSnapshot = ( + baseParameters: ParametersShape, + snapshot: ParametersShape, +): ParametersShape => { + if (!snapshot || typeof snapshot !== "object") { + return baseParameters ?? undefined + } + + const base = baseParameters && typeof baseParameters === "object" ? baseParameters : {} + const merged: Record = { + ...base, + ...snapshot, + } + + const baseAgConfig = + (base as any)?.ag_config ?? (base as any)?.agConfig ?? (base as any)?.parameters?.ag_config + const snapshotAgConfig = (snapshot as any)?.ag_config ?? (snapshot as any)?.agConfig + + if (snapshotAgConfig && typeof snapshotAgConfig === "object") { + const mergedAg = { + ...(baseAgConfig && typeof baseAgConfig === "object" ? baseAgConfig : {}), + ...snapshotAgConfig, + } + merged.ag_config = mergedAg + merged.agConfig = mergedAg + } else if (baseAgConfig && typeof baseAgConfig === "object") { + merged.ag_config = baseAgConfig + merged.agConfig = baseAgConfig + } + + return merged +} + +interface DeriveParams { + variantId: string + parameters: ParametersShape +} + +// Single source atom family that derives prompts and custom props +const derivedPromptsAtomFamily = atomFamily(({variantId, parameters}: DeriveParams) => + atom((get) => { + const normalizedVariantId = typeof variantId === "string" ? variantId.trim() : "" + + if (!normalizedVariantId) { + return deriveFromParametersSnapshot(parameters) + } + + const rev = getEnhancedRevisionById(get.bind(get) as any, normalizedVariantId) + + if (rev) { + try { + const spec = get(appSchemaAtom) + const routePath = get(appUriInfoAtom)?.routePath + + if (spec) { + const mergedParameters = mergeParametersWithSnapshot( + (rev as any).parameters, + parameters, + ) + const mergedVariant = { + ...(rev as any), + parameters: mergedParameters ?? (rev as any).parameters, + } + + const derivedPrompts = derivePromptsFromSpec( + mergedVariant as any, + spec as any, + routePath, + ) as PromptNode[] + const derivedCustomProps = deriveCustomPropertiesFromSpec( + mergedVariant as any, + spec as any, + routePath, + ) as Record + + if (Array.isArray(derivedPrompts)) { + return {prompts: derivedPrompts, customProps: derivedCustomProps} + } + } + } catch (error) { + if (process.env.NODE_ENV !== "production") { + console.warn("[PromptConfig] Failed to derive prompts from spec", error) + } + } + } + + return deriveFromParametersSnapshot(parameters) + }), +) + +const PromptContentSkeleton = memo(({description}: {description: string}) => { + return ( +
    + + +
    + {description} +
    +
    + ) +}) + +const PromptConfigCard = ({ + variantId, + evaluation, + isComparison, + compareIndex, + isFirstPrompt, + isMiddlePrompt, + isLastPrompt, + totalRuns, +}: { + variantId: string + evaluation: EnrichedEvaluationRun + isComparison: boolean + compareIndex: number + isFirstPrompt: boolean + isMiddlePrompt: boolean + isLastPrompt: boolean + totalRuns: number +}) => { + const router = useRouter() + const normalizedVariantId = useMemo(() => (variantId ? String(variantId) : ""), [variantId]) + const jotaiStore = useMemo(() => getDefaultStore(), []) + const projectScopedVariants = useAtomValue(projectScopedVariantsAtom) + + const [fallbackPrompts, setFallbackPrompts] = useState([]) + const [fallbackCustomProps, setFallbackCustomProps] = useState>({}) + const [fallbackTrigger, setFallbackTrigger] = useState(0) + const fallbackAttemptsRef = useRef(0) + + const variants = evaluation?.variants ?? [] + const selectedVariant = useMemo(() => { + if (!variants.length) return undefined + if (!normalizedVariantId) return variants[0] + + return ( + variants.find((variant) => { + const candidateIds = [ + (variant as any)?._revisionId, + (variant as any)?.id, + variant?.variantId, + ] + return candidateIds.some( + (candidate) => + candidate !== undefined && String(candidate) === normalizedVariantId, + ) + }) || undefined + ) + }, [variants, normalizedVariantId]) + + const projectScopedVariant = useMemo(() => { + if (!normalizedVariantId) return undefined + const scoped = projectScopedVariants?.revisionMap?.[normalizedVariantId] + return scoped && scoped.length > 0 ? scoped[0] : undefined + }, [normalizedVariantId, projectScopedVariants]) + + useEffect(() => { + setFallbackPrompts([]) + setFallbackCustomProps({}) + fallbackAttemptsRef.current = 0 + setFallbackTrigger(0) + }, [normalizedVariantId]) + + const variantForDisplay = selectedVariant ?? projectScopedVariant + + const fallbackVariantSource = useMemo(() => { + if (projectScopedVariant?.uri) return projectScopedVariant + if (selectedVariant?.uri) return selectedVariant + return projectScopedVariant ?? selectedVariant ?? null + }, [projectScopedVariant, selectedVariant]) + + const variantDisplay = useMemo( + () => + getVariantDisplayMetadata(variantForDisplay, { + fallbackLabel: normalizedVariantId || undefined, + fallbackRevisionId: normalizedVariantId || undefined, + requireRuntime: false, + }), + [variantForDisplay, normalizedVariantId], + ) + + const {label: formattedVariantLabel} = useMemo( + () => + deriveVariantLabelParts({ + variant: variantForDisplay, + displayLabel: variantDisplay.label, + }), + [variantForDisplay, variantDisplay.label], + ) + + const variantAppName = useMemo( + () => + deriveVariantAppName({ + variant: variantForDisplay, + fallbackAppName: + (evaluation as any)?.appName ?? + (evaluation as any)?.app_name ?? + (evaluation as any)?.app?.name ?? + undefined, + }), + [variantForDisplay, evaluation], + ) + + const variantLabel = combineAppNameWithLabel( + variantAppName, + prettifyVariantLabel(formattedVariantLabel) ?? formattedVariantLabel, + ) + + const revisionId = variantDisplay.revisionId || normalizedVariantId || "" + + const variantAppId = useMemo( + () => + normalizeId( + (variantForDisplay as any)?.appId ?? + (variantForDisplay as any)?.app_id ?? + (variantForDisplay as any)?.application?.id ?? + (variantForDisplay as any)?.application_id ?? + (variantForDisplay as any)?.application_ref?.id ?? + (variantForDisplay as any)?.applicationRef?.id, + ), + [variantForDisplay], + ) + + const evaluationAppId = useMemo( + () => + normalizeId( + (evaluation as any)?.appId ?? + (evaluation as any)?.app_id ?? + (evaluation as any)?.app?.id ?? + (evaluation as any)?.application?.id, + ), + [evaluation], + ) + + const normalizedRouteAppId = useMemo( + () => normalizeId(router.query?.app_id as string | undefined), + [router.query?.app_id], + ) + + const navigableAppId = variantAppId || evaluationAppId || normalizedRouteAppId + const isRouteAppContext = + Boolean(normalizedRouteAppId) && navigableAppId === normalizedRouteAppId + const blockedByRuntime = isRouteAppContext && variantDisplay.hasRuntime === false + + const canNavigateToVariant = Boolean( + revisionId && navigableAppId && variantDisplay.isHealthy !== false && !blockedByRuntime, + ) + + const parameters = useMemo(() => { + const map = (evaluation as any)?.parametersByRevisionId as + | Record + | undefined + + if (map) { + const candidateIds = [ + normalizedVariantId, + String((selectedVariant as any)?._revisionId ?? ""), + String((selectedVariant as any)?.id ?? ""), + String(selectedVariant?.variantId ?? ""), + ].filter( + (id) => + !!id && + id !== "undefined" && + id !== "null" && + id !== "[object Object]" && + id !== "NaN", + ) + + for (const id of candidateIds) { + if (map[id]) { + return map[id] + } + } + } + + const projectScopedParams = (projectScopedVariant as any)?.configParams + + return ( + (selectedVariant as any)?.parameters ?? + (selectedVariant as any)?.configParams ?? + projectScopedParams ?? + undefined + ) + }, [evaluation, normalizedVariantId, selectedVariant, projectScopedVariant]) + + const deriveParams = useMemo( + () => ({variantId: normalizedVariantId, parameters}), + [normalizedVariantId, parameters], + ) + + const {prompts, customProps} = useAtomValue(derivedPromptsAtomFamily(deriveParams), { + store: jotaiStore, + }) + + const basePrompts = prompts ?? [] + const promptsList = basePrompts.length ? basePrompts : fallbackPrompts + + const combinedCustomProps = useMemo(() => { + if (customProps && Object.keys(customProps).length > 0) return customProps + return fallbackCustomProps + }, [customProps, fallbackCustomProps]) + + const baseCustomPropsHasContent = useMemo(() => { + if (!customProps) return false + return Object.values(customProps).some((value) => { + if (value === null || value === undefined) return false + if (Array.isArray(value)) return value.length > 0 + if (typeof value === "object") return Object.keys(value).length > 0 + if (typeof value === "string") return value.trim().length > 0 + return true + }) + }, [customProps]) + + const combinedCustomPropsHasContent = useMemo(() => { + if (!combinedCustomProps) return false + return Object.values(combinedCustomProps).some((value) => { + if (value === null || value === undefined) return false + if (Array.isArray(value)) return value.length > 0 + if (typeof value === "object") return Object.keys(value).length > 0 + if (typeof value === "string") return value.trim().length > 0 + return true + }) + }, [combinedCustomProps]) + + const hasPrompts = promptsList.length > 0 + const hasContent = hasPrompts || combinedCustomPropsHasContent + const hasVariantsInRun = + (evaluation?.variants?.length ?? 0) > 0 || Boolean(projectScopedVariant) + const isVariantSelectable = Boolean(normalizedVariantId && variantForDisplay) + const showSkeleton = Boolean( + !variantForDisplay && normalizedVariantId && hasVariantsInRun && !parameters, + ) + const showPrompts = isVariantSelectable && hasContent + const emptyDescription = !isVariantSelectable + ? "Prompt configuration is unavailable because the source application or variant is no longer accessible." + : hasContent + ? "Prompt configuration isn't available because the original application is no longer accessible." + : "This evaluation does not include any prompt configuration data." + + const promptsMap = useMemo(() => { + if (!normalizedVariantId) return {} + return {[normalizedVariantId]: promptsList as PromptNode[] | undefined} + }, [normalizedVariantId, promptsList]) + + const fallbackCustomPropsPopulated = useMemo( + () => Object.keys(fallbackCustomProps).length > 0, + [fallbackCustomProps], + ) + + const shouldAttemptFallback = useMemo(() => { + if (!normalizedVariantId) return false + if (!fallbackVariantSource?.uri) return false + if (basePrompts.length > 0 || baseCustomPropsHasContent) return false + if (fallbackPrompts.length > 0 || fallbackCustomPropsPopulated) return false + return true + }, [ + normalizedVariantId, + fallbackVariantSource, + basePrompts.length, + baseCustomPropsHasContent, + fallbackPrompts.length, + fallbackCustomPropsPopulated, + ]) + + useEffect(() => { + if (!shouldAttemptFallback) return + + let isCancelled = false + let retryTimeout: ReturnType | undefined + + const snapshot = + (parameters && Object.keys(parameters as any).length > 0 + ? parameters + : (fallbackVariantSource as any)?.configParams) ?? {} + + const run = async () => { + try { + const {schema} = await fetchOpenApiSchemaJson(fallbackVariantSource!.uri as string) + if (!schema) { + throw new Error("Missing OpenAPI schema") + } + + const mergedParameters = mergeParametersWithSnapshot( + (fallbackVariantSource as any)?.parameters, + snapshot, + ) + + const fallbackVariant = { + ...fallbackVariantSource, + parameters: mergedParameters ?? snapshot, + } + + const derivedPrompts = derivePromptsFromSpec( + fallbackVariant as any, + schema as any, + ) as PromptNode[] + const derivedCustomProps = deriveCustomPropertiesFromSpec( + fallbackVariant as any, + schema as any, + ) as Record + + if (isCancelled) return + + fallbackAttemptsRef.current = 0 + setFallbackPrompts(Array.isArray(derivedPrompts) ? derivedPrompts : []) + setFallbackCustomProps(derivedCustomProps ?? {}) + + if (process.env.NODE_ENV !== "production" && typeof window !== "undefined") { + console.info("[PromptConfigCard] Fallback prompts derived", { + runId: evaluation?.id, + variantId: normalizedVariantId, + promptCount: derivedPrompts?.length ?? 0, + customPropsCount: Object.keys(derivedCustomProps ?? {}).length, + }) + } + } catch (error: any) { + if (isCancelled) return + const attempt = fallbackAttemptsRef.current + 1 + fallbackAttemptsRef.current = attempt + if (attempt <= 3) { + if (process.env.NODE_ENV !== "production" && typeof window !== "undefined") { + console.warn("[PromptConfigCard] Fallback prompt fetch failed, retrying", { + runId: evaluation?.id, + variantId: normalizedVariantId, + attempt, + error, + }) + } + retryTimeout = setTimeout(() => { + setFallbackTrigger((prev) => prev + 1) + }, 500 * attempt) + } else if (process.env.NODE_ENV !== "production" && typeof window !== "undefined") { + console.error("[PromptConfigCard] Fallback prompt fetch failed", { + runId: evaluation?.id, + variantId: normalizedVariantId, + attempt, + error, + }) + } + } + } + + run() + + return () => { + isCancelled = true + if (retryTimeout) clearTimeout(retryTimeout) + } + }, [ + shouldAttemptFallback, + fallbackTrigger, + normalizedVariantId, + fallbackVariantSource, + evaluation?.id, + parameters, + ]) + + const usingFallbackPrompts = basePrompts.length === 0 && fallbackPrompts.length > 0 + const usingFallbackCustomProps = !baseCustomPropsHasContent && fallbackCustomPropsPopulated + const parametersSource = + usingFallbackPrompts || usingFallbackCustomProps + ? "project-fallback" + : selectedVariant + ? "run" + : projectScopedVariant + ? "project-scoped" + : "none" + + if ( + process.env.NODE_ENV !== "production" && + typeof window !== "undefined" && + normalizedVariantId + ) { + console.info("[PromptConfigCard] Render", { + runId: evaluation?.id, + variantId: normalizedVariantId, + hasSelectedVariant: Boolean(selectedVariant), + usingProjectFallback: Boolean(!selectedVariant && projectScopedVariant), + hasPrompts, + hasCustomProps: combinedCustomPropsHasContent, + showPrompts, + parametersSource, + usingFallbackPrompts, + usingFallbackCustomProps, + }) + } + + return ( +
    2}, + {"!rounded-r-none": isComparison && isFirstPrompt}, + {"!rounded-none": isComparison && isMiddlePrompt}, + {"!rounded-l-none": isComparison && isLastPrompt}, + ])} + > +
    +
    + + {variantForDisplay ? ( + + ) : ( + + Variant unavailable + + )} +
    +
    + + {showSkeleton ? ( + + ) : showPrompts ? ( + +
    + {promptsList.map((prompt) => ( + + ))} + +
    +
    + ) : ( +
    + + {emptyDescription} + + } + image={Empty.PRESENTED_IMAGE_SIMPLE} + /> +
    + )} +
    + ) +} + +export default memo(PromptConfigCard) diff --git a/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunPromptConfigViewer/index.tsx b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunPromptConfigViewer/index.tsx new file mode 100644 index 0000000000..866d83eb3a --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunPromptConfigViewer/index.tsx @@ -0,0 +1,152 @@ +import {memo, useEffect, useMemo, useRef} from "react" + +import clsx from "clsx" +import deepEqual from "fast-deep-equal" +import {atom, useAtomValue, useSetAtom} from "jotai" +import {atomFamily} from "jotai/utils" + +import {useRunId} from "@/oss/contexts/RunIdContext" +import {evaluationRunStateFamily} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms" +import { + clearProjectVariantReferencesAtom, + prefetchProjectVariantConfigs, + setProjectVariantReferencesAtom, +} from "@/oss/state/projectVariantConfig" +import {projectIdAtom} from "@/oss/state/project/selectors/project" + +import {urlStateAtom} from "../../../state/urlState" +import {collectProjectVariantReferences} from "../../../../../lib/hooks/usePreviewEvaluations/projectVariantConfigs" + +import PromptConfigCard from "./assets/PromptConfigCard" + +// Helper atom to read multiple run states given a list of runIds +const evaluationsRunFamily = atomFamily( + (runIds: string[]) => + atom((get) => { + return runIds.map((runId) => get(evaluationRunStateFamily(runId))) + }), + deepEqual, +) + +const EvalRunPromptConfigViewer = () => { + const runId = useRunId() + const urlState = useAtomValue(urlStateAtom) + const compareRunIds = urlState?.compare + + // Read base run and all comparison run states + const runIds = useMemo(() => { + if (!compareRunIds?.length) return [runId!] + return [runId!, ...compareRunIds] + }, [runId, compareRunIds]) + + const runs = useAtomValue(evaluationsRunFamily(runIds)) + const renderableRuns = useMemo( + () => runs?.filter((run) => Boolean(run?.enrichedRun)) ?? [], + [runs], + ) + const projectId = useAtomValue(projectIdAtom) + const setProjectVariantReferences = useSetAtom(setProjectVariantReferencesAtom) + const clearProjectVariantReferences = useSetAtom(clearProjectVariantReferencesAtom) + + const projectVariantReferences = useMemo(() => { + if (!projectId || !renderableRuns.length) return [] + const enrichedRuns = renderableRuns + .map((run) => run.enrichedRun) + .filter((run): run is NonNullable => Boolean(run)) + return collectProjectVariantReferences(enrichedRuns, projectId) + }, [projectId, renderableRuns]) + const referencesSetRef = useRef(false) + + useEffect(() => { + if (process.env.NODE_ENV !== "production" && typeof window !== "undefined") { + console.info("[EvalRunPromptConfigViewer] Renderable runs", { + total: runs?.length ?? 0, + renderable: renderableRuns.length, + runIds, + enrichedRunIds: renderableRuns.map((r) => r.enrichedRun?.id), + }) + } + }, [runIds, runs, renderableRuns]) + + useEffect(() => { + if (!projectId || projectVariantReferences.length === 0) { + if (process.env.NODE_ENV !== "production" && typeof window !== "undefined") { + console.info("[EvalRunPromptConfigViewer] No project variant references derived", { + projectId, + renderableRuns: renderableRuns.length, + }) + } + return + } + setProjectVariantReferences(projectVariantReferences) + prefetchProjectVariantConfigs(projectVariantReferences) + referencesSetRef.current = true + if (process.env.NODE_ENV !== "production" && typeof window !== "undefined") { + console.info("[EvalRunPromptConfigViewer] Prefetch project variants", { + projectId, + referenceCount: projectVariantReferences.length, + references: projectVariantReferences, + }) + } + }, [ + projectId, + projectVariantReferences, + setProjectVariantReferences, + prefetchProjectVariantConfigs, + ]) + + useEffect( + () => () => { + if (referencesSetRef.current) { + clearProjectVariantReferences() + referencesSetRef.current = false + if (process.env.NODE_ENV !== "production" && typeof window !== "undefined") { + console.info("[EvalRunPromptConfigViewer] Cleared project variant references") + } + } + }, + [clearProjectVariantReferences], + ) + + return ( +
    0}])}> + {renderableRuns.map((run, idx) => { + const enriched = run.enrichedRun! + const variants = Array.isArray(enriched?.variants) ? enriched.variants : [] + + const primaryVariant = + variants.find((variant) => { + const revisionId = + (variant as any)?._revisionId ?? + (variant as any)?.id ?? + variant?.variantId + return Boolean(revisionId) + }) ?? variants[0] + + const variantRevisionId = + (primaryVariant as any)?._revisionId ?? + (primaryVariant as any)?.id ?? + primaryVariant?.variantId ?? + "" + + const reactKey = variantRevisionId || `${enriched.id || "run"}-${idx}` + + return ( + 0} + compareIndex={run.compareIndex || 1} + isFirstPrompt={idx === 0} + isMiddlePrompt={idx > 0 && idx < renderableRuns.length - 1} + isLastPrompt={idx === renderableRuns.length - 1} + totalRuns={renderableRuns.length} + /> + ) + })} +
    + ) +} + +export default memo(EvalRunPromptConfigViewer) diff --git a/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunScoreTable/assets/EvalRunScoreTableSkeleton.tsx b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunScoreTable/assets/EvalRunScoreTableSkeleton.tsx new file mode 100644 index 0000000000..ee6c0d540b --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunScoreTable/assets/EvalRunScoreTableSkeleton.tsx @@ -0,0 +1,21 @@ +import {memo} from "react" + +import {Skeleton} from "antd" +import clsx from "clsx" + +const EvalRunScoreTableSkeleton = ({className}: {className?: string}) => { + return ( +
    +
    + + +
    +
    + + +
    +
    + ) +} + +export default memo(EvalRunScoreTableSkeleton) diff --git a/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunScoreTable/assets/TraceMetrics.tsx b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunScoreTable/assets/TraceMetrics.tsx new file mode 100644 index 0000000000..06a6cb9d4a --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunScoreTable/assets/TraceMetrics.tsx @@ -0,0 +1,49 @@ +import {memo} from "react" + +import {Timer, Coins, PlusCircle} from "@phosphor-icons/react" +import {Space, Tooltip} from "antd" + +import {formatCurrency, formatLatency, formatTokenUsage} from "@/oss/lib/helpers/formatters" + +const TraceMetrics = ({latency, cost, tokens}: {latency: number; cost: number; tokens: number}) => { + return ( +
    + + +
    + + {formatLatency(latency)} +
    +
    + + +
    + + {formatCurrency(cost)} +
    +
    + + +
    + + {formatTokenUsage(tokens)} +
    +
    +
    +
    + ) +} + +export default memo(TraceMetrics) diff --git a/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunScoreTable/assets/constants.ts b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunScoreTable/assets/constants.ts new file mode 100644 index 0000000000..f4947321b6 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunScoreTable/assets/constants.ts @@ -0,0 +1,17 @@ +import {ColumnType} from "antd/es/table" + +export const FIXED_COLUMNS: ColumnType[] = [ + { + title: "Metric", + dataIndex: "title", + key: "title", + minWidth: 120, + fixed: "left", + }, + { + title: "Label", + dataIndex: "label", + key: "label", + minWidth: 120, + }, +] diff --git a/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunScoreTable/index.tsx b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunScoreTable/index.tsx new file mode 100644 index 0000000000..74490dd563 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunScoreTable/index.tsx @@ -0,0 +1,510 @@ +import {isValidElement, cloneElement, memo, useCallback, useMemo} from "react" + +import {Table, Typography} from "antd" +import clsx from "clsx" +import deepEqual from "fast-deep-equal" +import {atom, useAtomValue} from "jotai" +import {atomFamily} from "jotai/utils" +import dynamic from "next/dynamic" + +import {formatColumnTitle} from "@/oss/components/Filters/EditColumns/assets/helper" +import {formatMetricValue} from "@/oss/components/HumanEvaluations/assets/MetricDetailsPopover/assets/utils" +import {useRunId} from "@/oss/contexts/RunIdContext" +import useURL from "@/oss/hooks/useURL" +import {formatLatency} from "@/oss/lib/helpers/formatters" +import {evaluationRunStateFamily} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms" +import {runMetricStatsFamily} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms/runScopedMetrics" +import { + BasicStats, + canonicalizeMetricKey, + getMetricDisplayName, + getMetricValueWithAliases, +} from "@/oss/lib/metricUtils" + +import RenameEvalButton from "../../../HumanEvalRun/components/Modals/RenameEvalModal/assets/RenameEvalButton" +import {urlStateAtom} from "../../../state/urlState" +import EvalNameTag from "../../assets/EvalNameTag" +import TagWithLink from "../../assets/TagWithLink" +import {EVAL_TAG_COLOR, EVAL_COLOR, EVAL_BG_COLOR} from "../../assets/utils" +import {formatMetricName} from "../../assets/utils" +import VariantTag from "../../assets/VariantTag" +import {getVariantDisplayMetadata} from "../../assets/variantUtils" +import type {EvaluatorMetricsSpiderChartProps} from "../EvaluatorMetircsSpiderChart/types" + +const EvaluatorMetricsSpiderChart = dynamic( + () => import("../EvaluatorMetircsSpiderChart"), + {ssr: false}, +) + +// Atom helpers to read multiple runs' state/metrics in one go +const runsStateFamily = atomFamily( + (runIds: string[]) => atom((get) => runIds.map((id) => get(evaluationRunStateFamily(id)))), + deepEqual, +) +const runsMetricsFamily = atomFamily( + (runIds: string[]) => + atom((get) => runIds.map((id) => ({id, metrics: get(runMetricStatsFamily({runId: id}))}))), + deepEqual, +) + +const INVOCATION_METRIC_KEYS = [ + "attributes.ag.metrics.costs.cumulative.total", + "attributes.ag.metrics.duration.cumulative", + "attributes.ag.metrics.tokens.cumulative.total", + "attributes.ag.metrics.errors.cumulative", +] as const + +const INVOCATION_METRIC_SET = new Set(INVOCATION_METRIC_KEYS) + +const COST_METRIC_KEY = INVOCATION_METRIC_KEYS[0] +const DURATION_METRIC_KEY = INVOCATION_METRIC_KEYS[1] +const TOKEN_METRIC_KEY = INVOCATION_METRIC_KEYS[2] +const ERRORS_METRIC_KEY = INVOCATION_METRIC_KEYS[3] + +const INVOCATION_METRIC_COLUMNS: Array<{key: string; label: string}> = [ + {key: COST_METRIC_KEY, label: "Cost (Total)"}, + {key: DURATION_METRIC_KEY, label: "Duration (Total)"}, + {key: TOKEN_METRIC_KEY, label: "Total tokens"}, + {key: ERRORS_METRIC_KEY, label: "Errors"}, +] + +const EvalRunScoreTable = ({className}: {className?: string}) => { + const baseRunId = useRunId() + const {projectURL} = useURL() + const urlState = useAtomValue(urlStateAtom) + const compareRunIds = (urlState?.compare || []).filter((id) => id && id !== baseRunId) + const allRunIds = useMemo(() => [baseRunId!, ...compareRunIds], [baseRunId, compareRunIds]) + + const isComparison = compareRunIds.length > 0 + + // Fetch all runs and their metrics + const runs = useAtomValue(runsStateFamily(allRunIds)) + const metricsByRun = useAtomValue(runsMetricsFamily(allRunIds)) + + // Convenience lookup maps + const evalById = useMemo(() => { + const map: Record = {} + runs.forEach((r) => (map[r.enrichedRun?.id || r.id] = r)) + return map + }, [runs]) + + const metricsLookup = useMemo(() => { + const map: Record> = {} + metricsByRun.forEach(({id, metrics}) => { + const source = (metrics || {}) as Record + const normalized: Record = {...(source as any)} + Object.keys(source || {}).forEach((rawKey) => { + const canonical = canonicalizeMetricKey(rawKey) + if (canonical !== rawKey && normalized[canonical] === undefined) { + normalized[canonical] = source[rawKey] + } + }) + map[id] = normalized + }) + return map + }, [metricsByRun]) + + const getFrequencyData = useCallback((metric: any, returnPercentage = true) => { + const trueEntry = (metric as any)?.frequency?.find((f: any) => f?.value === true) + const total = (metric as any)?.count ?? 0 + return returnPercentage + ? `${(((trueEntry?.count ?? 0) / total) * 100).toFixed(2)}%` + : ((trueEntry?.count ?? 0) / total) * 100 + }, []) + + const chartMetrics = useMemo(() => { + // Build union of evaluator metrics across all runs, then add invocation metrics per rules. + interface Axis { + name: string + maxScore: number + type: "binary" | "numeric" + value?: number + [k: string]: any + _key: string + } + + const axesByKey: Record = {} + + // 1) Union evaluator metrics from all runs + allRunIds.forEach((runId, runIdx) => { + const stats = metricsLookup[runId] || {} + const evaluators = evalById[runId]?.enrichedRun?.evaluators + const processed = new Set() + + Object.keys(stats).forEach((rawKey) => { + const canonicalKey = canonicalizeMetricKey(rawKey) + if (processed.has(canonicalKey)) return + processed.add(canonicalKey) + + if (INVOCATION_METRIC_SET.has(canonicalKey)) return + if (!canonicalKey.includes(".")) return + + const metric = getMetricValueWithAliases(stats, canonicalKey) + if (!metric) return + + const [evalSlug, ...metricParts] = canonicalKey.split(".") + const metricRemainder = metricParts.join(".") + const evaluator = evaluators?.find((e: any) => e.slug === evalSlug) + if (!evaluator) return + + const axisKey = canonicalKey + const isBinary = Array.isArray((metric as any)?.frequency) + const displayMetricName = metricRemainder + ? formatMetricName(metricRemainder) + : formatMetricName(canonicalKey) + + if (!axesByKey[axisKey]) { + axesByKey[axisKey] = { + name: `${evaluator?.name ?? evalSlug} - ${displayMetricName}`, + maxScore: isBinary ? 100 : (metric as any)?.max || 100, + type: isBinary ? "binary" : "numeric", + _key: axisKey, + } + } else if (!isBinary) { + const mx = (metric as any)?.max + if (typeof mx === "number") { + axesByKey[axisKey].maxScore = Math.max(axesByKey[axisKey].maxScore, mx) + } + } + + const seriesKey = runIdx === 0 ? "value" : `value-${runIdx + 1}` + const v = isBinary ? getFrequencyData(metric, false) : ((metric as any)?.mean ?? 0) + axesByKey[axisKey][seriesKey] = v + }) + }) + + let axes: Axis[] = Object.values(axesByKey) + + // 2) Invocation metrics only when evaluator metrics are fewer than 3 (based on union) + const evaluatorCount = axes.length + const addInvocationAxis = (metricKey: string, label?: string) => { + const axis: Axis = { + name: label ?? getMetricDisplayName(metricKey), + maxScore: 0, + type: "numeric", + _key: metricKey, + } + allRunIds.forEach((runId, runIdx) => { + const stats = metricsLookup[runId] || {} + const metric = getMetricValueWithAliases(stats, metricKey) as BasicStats | any + const seriesKey = runIdx === 0 ? "value" : `value-${runIdx + 1}` + axis[seriesKey] = metric?.mean ?? 0 + const mx = metric?.max + if (typeof mx === "number") axis.maxScore = Math.max(axis.maxScore, mx) + }) + axes.push(axis) + } + + if (evaluatorCount < 3) { + if (evaluatorCount === 2) { + addInvocationAxis(COST_METRIC_KEY, "Invocation costs") + } else if (evaluatorCount <= 1) { + addInvocationAxis(DURATION_METRIC_KEY, "Invocation duration") + addInvocationAxis(COST_METRIC_KEY, "Invocation costs") + } + } + + // 3) Ensure all series keys exist for each axis + if (axes.length > 0) { + allRunIds.forEach((_, runIdx) => { + const seriesKey = runIdx === 0 ? "value" : `value-${runIdx + 1}` + axes.forEach((a) => { + if (a[seriesKey] === undefined) a[seriesKey] = 0 + }) + }) + } + + return axes.map(({_key, ...rest}) => rest) + }, [allRunIds, evalById, metricsLookup, getFrequencyData]) + + const dataSource = useMemo(() => { + // Build union of all metric keys across runs + const metricKeys = new Set() + allRunIds.forEach((id) => { + const m = metricsLookup[id] || {} + Object.keys(m).forEach((k) => metricKeys.add(canonicalizeMetricKey(k))) + }) + + // const baseEval = evalById[baseRunId!]?.enrichedRun + const rows: any[] = [] + + // Test Sets row + const testsetRow: any = {key: "testsets", title: "Test Sets", values: {}} + allRunIds.forEach((id) => { + if (baseRunId !== id) return + const enr = evalById[id]?.enrichedRun + const tags = (enr?.testsets || []).map((t: any) => ( + + )) + testsetRow.values[id] = tags.length ? tags[0] : "" + }) + rows.push(testsetRow) + + // Evaluations row + const evalsRow: any = {key: "evaluations", title: "Evaluations", values: {}} + allRunIds.forEach((id) => { + const state = evalById[id] + const enr = state?.enrichedRun + const color = EVAL_TAG_COLOR?.[state?.compareIndex || 1] + // evalsRow.values[id] = enr ? : "" + evalsRow.values[id] = enr ? ( +
    + + + + +
    + ) : ( + "" + ) + }) + rows.push(evalsRow) + + // date row + const dateRow: any = {key: "date", title: "Created at", values: {}} + allRunIds.forEach((id) => { + const state = evalById[id] + const enr = state?.enrichedRun + dateRow.values[id] = enr?.createdAt + }) + rows.push(dateRow) + + // Variants row + const variantsRow: any = {key: "variants", title: "Variants", values: {}} + allRunIds.forEach((id) => { + const enr = evalById[id]?.enrichedRun + const v = enr?.variants?.[0] as any + if (!v) { + variantsRow.values[id] =
    N/A
    + return + } + const summary = getVariantDisplayMetadata(v) + variantsRow.values[id] = ( + + ) + }) + rows.push(variantsRow) + + // Metric rows (generic + evaluator) + const pushMetricRow = (key: string, labelNode: any) => { + const row: any = {key, title: labelNode, values: {}} + allRunIds.forEach((id) => { + const metric = getMetricValueWithAliases(metricsLookup[id] || {}, key) as + | BasicStats + | any + let value: any + + if (metric && (metric as any)?.mean !== undefined) { + const meanValue = (metric as any).mean + value = + key === DURATION_METRIC_KEY + ? formatLatency(meanValue) + : formatMetricValue(key, meanValue) + } else if ( + metric && + Array.isArray((metric as any)?.unique) && + typeof (metric as any)?.unique?.[0] === "boolean" + ) { + value = getFrequencyData(metric) + } + + row.values[id] = + value === undefined || value === null || value === "" ? ( +
    + ) : ( + value + ) + }) + rows.push(row) + } + + INVOCATION_METRIC_COLUMNS.forEach(({key: canonicalKey, label}) => { + const baseMetric = getMetricValueWithAliases( + metricsLookup[baseRunId!] || {}, + canonicalKey, + ) as any + const hasMean = baseMetric && (baseMetric as any)?.mean !== undefined + const titleNode = ( +
    + {label} + {hasMean && (mean)} +
    + ) + pushMetricRow(canonicalKey, titleNode) + }) + + // Evaluator metrics grouped by evaluator slug + const allEvaluatorEntries: {slug: string; metricKey: string; fullKey: string}[] = [] + Array.from(metricKeys) + .filter((k) => !INVOCATION_METRIC_SET.has(k) && k.includes(".")) + .forEach((fullKey) => { + const [slug, ...restParts] = fullKey.split(".") + const metricKey = restParts.join(".") || slug + allEvaluatorEntries.push({slug, metricKey, fullKey}) + }) + + // Maintain stable order by slug then metricKey + allEvaluatorEntries + .sort((a, b) => + a.slug === b.slug + ? a.metricKey.localeCompare(b.metricKey) + : a.slug.localeCompare(b.slug), + ) + .forEach(({slug, metricKey, fullKey}) => { + const state = evalById[baseRunId!] + const evaluator = state?.enrichedRun?.evaluators?.find((e: any) => e.slug === slug) + const baseMetric = getMetricValueWithAliases( + metricsLookup[baseRunId!] || {}, + fullKey, + ) as any + const [, ...restParts] = fullKey.split(".") + const metricPath = restParts.length ? restParts.join(".") : metricKey + const labelSegment = metricPath.split(".").pop() || metricPath + const displayMetricName = formatColumnTitle(labelSegment) + const titleNode = ( +
    + + {evaluator?.name ?? formatColumnTitle(slug)} + +
    + {displayMetricName} + {/* Show (mean) if base has mean */} + {baseMetric && (baseMetric as any)?.mean !== undefined && ( + (mean) + )} +
    +
    + ) + pushMetricRow(fullKey, titleNode) + }) + + return rows + }, [allRunIds, baseRunId, evalById, getFrequencyData, metricsLookup, runs]) + return ( +
    +
    + Evaluator Scores Overview + + Average evaluator score across evaluations + +
    + +
    +
    + { + // First column is the label/title + const cols: any[] = [ + { + title: "Metric", + dataIndex: "title", + key: "title", + minWidth: 120, + fixed: "left", + }, + ] + + // One value column per run (base + comparisons) + allRunIds.forEach((id, idx) => { + const state = evalById[id] + const compareIdx = state?.compareIndex || idx + 1 + cols.push({ + title: idx === 0 ? "Label" : `Label_${idx + 1}`, + key: `label_${id}`, + render: (_: any, record: any) => { + // Merge "Test Sets" row across all run columns + if (record?.key === "testsets") { + if (id === allRunIds[0]) { + return { + children: + record?.values?.[baseRunId] ?? + record?.values?.[id] ?? + "", + props: {colSpan: allRunIds.length}, + } + } + return {children: null, props: {colSpan: 0}} + } + const value = record?.values?.[id] + if (!value) return "-" + if (record?.key !== "evaluations") return value + + const runState = evalById[id] + const enriched = runState?.enrichedRun + const firstVariant: any = enriched?.variants?.[0] + const summary = getVariantDisplayMetadata(firstVariant) + + if (isValidElement(value)) { + return cloneElement(value as any, { + allowVariantNavigation: summary.canNavigate, + variantName: summary.label, + id: summary.revisionId || undefined, + }) + } + + return summary.label + }, + minWidth: 120, + onCell: (record: any) => ({ + style: + isComparison && record?.key !== "testsets" + ? {background: (EVAL_BG_COLOR as any)[compareIdx]} + : undefined, + }), + }) + }) + + return cols + }, [allRunIds, baseRunId, isComparison, evalById])} + pagination={false} + showHeader={false} + bordered + scroll={{x: "max-content"}} + rowKey={(r) => r.key} + /> + + { + return allRunIds.map((id, idx) => { + const state = evalById[id] + const compareIdx = state?.compareIndex || idx + 1 + return { + key: idx === 0 ? "value" : `value-${idx + 1}`, + color: (EVAL_COLOR as any)[compareIdx] || "#3B82F6", + name: state?.enrichedRun?.name || `Eval ${compareIdx}`, + } + }) + }, [allRunIds, evalById])} + /> + + + ) +} + +export default memo(EvalRunScoreTable) diff --git a/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunSelectedEvaluations/index.tsx b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunSelectedEvaluations/index.tsx new file mode 100644 index 0000000000..12f4a6527a --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunSelectedEvaluations/index.tsx @@ -0,0 +1,73 @@ +import {memo, useMemo} from "react" + +import deepEqual from "fast-deep-equal" +import {atom, useAtomValue} from "jotai" +import {atomFamily} from "jotai/utils" + +import { + evalAtomStore, + evaluationRunStateFamily, +} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms" + +import EvalNameTag from "../../assets/EvalNameTag" +import {EVAL_TAG_COLOR} from "../../assets/utils" + +const comparisonRunsAtom = atomFamily( + (runIds: string[]) => + atom((get) => { + return runIds.map((runId) => { + const state = get(evaluationRunStateFamily(runId)) + return { + runId, + run: state?.enrichedRun, + compareIndex: state?.compareIndex, + isBase: state?.isBase, + isComparison: state?.isComparison, + } + }) + }), + deepEqual, +) +const EvalRunSelectedEvaluations = ({runIds, baseRunId}: {runIds: string[]; baseRunId: string}) => { + // Build a stable, de-duplicated list so transient states (during swaps) don't render duplicates + const uniqueIds = useMemo(() => { + const list = [baseRunId, ...runIds] + const seen = new Set() + return list.filter((id) => { + if (!id || seen.has(id)) return false + seen.add(id) + return true + }) + }, [baseRunId, runIds.join(",")]) + + const runs = useAtomValue(comparisonRunsAtom(uniqueIds), {store: evalAtomStore()}) + + return ( +
    + Evaluations: +
    +
    + {runs + ?.filter((r) => Boolean(r?.run)) + .map((r) => { + const idx = r?.compareIndex ?? (r?.isBase ? 1 : undefined) + const color = idx ? (EVAL_TAG_COLOR as any)[idx] : undefined + return ( + + ) + })} +
    + {/*
    */} +
    +
    + ) +} + +export default memo(EvalRunSelectedEvaluations) diff --git a/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunTestCaseViewUtilityOptions/index.tsx b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunTestCaseViewUtilityOptions/index.tsx new file mode 100644 index 0000000000..35f0777096 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunTestCaseViewUtilityOptions/index.tsx @@ -0,0 +1,332 @@ +import {Dispatch, memo, SetStateAction, useCallback, useMemo, useState} from "react" + +import {message} from "antd" +import {ColumnsType} from "antd/es/table" +import {useAtomValue} from "jotai" +import {useRouter} from "next/router" + +import EditColumns from "@/oss/components/Filters/EditColumns" +import {useRunId} from "@/oss/contexts/RunIdContext" +import {convertToStringOrJson} from "@/oss/lib/helpers/utils" +import { + evalAtomStore, + evaluationEvaluatorsFamily, + evaluationRunStateFamily, + scenarioIdsFamily, + scenarioStepFamily, +} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms" +import {scenarioMetricsMapFamily} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms/runScopedMetrics" + +import EvalRunScenarioNavigator from "../../../components/EvalRunScenarioNavigator" +import SaveDataButton from "../../../components/SaveDataModal/assets/SaveDataButton" +import useExpandableComparisonDataSource from "../../../components/VirtualizedScenarioTable/hooks/useExpandableComparisonDataSource" +import {metricsFromEvaluatorsFamily} from "../../../components/VirtualizedScenarioTable/hooks/useTableDataSource" +import {urlStateAtom} from "../../../state/urlState" + +const EMPTY_ROWS: any[] = [] + +interface ScenarioCsvRow { + scenarioId?: string + record: Record +} + +const EvalRunTestCaseViewUtilityOptions = ({ + columns, + setEditColumns, +}: { + columns: ColumnsType + setEditColumns: Dispatch> +}) => { + const runId = useRunId() + const router = useRouter() + // states for select dropdown + const [rows, setRows] = useState(EMPTY_ROWS) + const evaluation = useAtomValue(evaluationRunStateFamily(runId)) + const urlState = useAtomValue(urlStateAtom) + // Determine runs to include: base + comparisons (unique, exclude base duplicates) + const compareRunIds = useMemo( + () => (urlState?.compare || []).filter(Boolean) as string[], + [urlState?.compare], + ) + const hasComparisons = compareRunIds.length > 0 + const allRunIds = Array.from(new Set([runId, ...compareRunIds.filter((id) => id !== runId)])) + const selectedScenarioId = router.query.scrollTo as string + + const {rawColumns: comparisonRawColumns} = useExpandableComparisonDataSource({ + baseRunId: runId, + comparisonRunIds: compareRunIds, + }) + + const csvDataFormat = useCallback(async () => { + const store = evalAtomStore() + + // Helper: build rows for a single run + const buildRowsForRun = async (rId: string): Promise => { + // 1) Scenario IDs and evaluator info for this run + const ids = store.get(scenarioIdsFamily(rId)) + const evaluatorsRaw = store.get(evaluationEvaluatorsFamily(rId)) || [] + const evaluatorList: any[] = Array.isArray(evaluatorsRaw) + ? (evaluatorsRaw as any[]) + : Object.values(evaluatorsRaw as any) + const evaluatorSlugs = evaluatorList.map((e: any) => e.slug) + + // 2) Resolve steps and metrics for this run + const [scenarioMetricsMap, ...allScenarios] = await Promise.all([ + store.get(scenarioMetricsMapFamily(rId)), + ...ids.map((id) => store.get(scenarioStepFamily({runId: rId, scenarioId: id}))), + ]) + + // Evaluation name for this run (for column 'name' when comparing) + const runState = store.get(evaluationRunStateFamily(rId)) + const evalName = runState?.enrichedRun?.name + + // 3) Build CSV-friendly rows for this run + const rowsForRun: ScenarioCsvRow[] = [] + + allScenarios.forEach((scenario) => { + if (!scenario) return + const sid = scenario.steps?.[0]?.scenarioId + const scenarioId = sid ? String(sid) : undefined + + const primaryInput = scenario.inputSteps?.find((s: any) => s.inputs) || {} + const {inputs = {}, groundTruth = {}, status: inputStatus} = primaryInput as any + + const record: Record = {} + + // When in comparison mode, include evaluation name + if (hasComparisons && evalName) { + record.name = evalName + } + + // 1. Add input + if (!Object.keys(groundTruth).length) { + Object.entries(primaryInput.testcase?.data || {}).forEach(([k, v]) => { + if (k === "testcase_dedup_id") return + record[`input.${k}`] = convertToStringOrJson(v) + }) + } else { + Object.entries(inputs || {}).forEach(([k, v]) => { + record[`input.${k}`] = convertToStringOrJson(v) + }) + } + + // 2. Add output + // Extract model output from the first invocation step that contains a trace + const invWithTrace = scenario.invocationSteps?.find((inv: any) => inv.trace) + + if (!invWithTrace) { + const invWithErr = scenario.invocationSteps?.find((inv: any) => inv.error) + if (invWithErr) { + record.output = convertToStringOrJson( + invWithErr.error?.stacktrace || invWithErr.error, + ) + } + } + + if (invWithTrace) { + const traceObj = invWithTrace?.trace + let traceOutput: any + if (Array.isArray(traceObj?.nodes)) { + traceOutput = traceObj.nodes[0]?.data?.outputs + } else if (Array.isArray(traceObj?.trees)) { + traceOutput = traceObj.trees[0]?.nodes?.[0]?.data?.outputs + } + + if (traceOutput) { + record.output = convertToStringOrJson(traceOutput) + } + } + + // 3. Add status + if (!invWithTrace) { + const _invWithTrace = scenario.invocationSteps?.find((inv: any) => inv.error) + record.status = _invWithTrace?.status ?? "unknown" + } else { + record.status = invWithTrace?.status ?? "unknown" + } + + // 4. Add annotation and metrics/errors + const annSteps = scenario.steps.filter((step) => + evaluatorSlugs.includes(step.stepKey), + ) + const steps = annSteps.length + ? annSteps + : scenario.invocationSteps?.filter((inv: any) => inv.error) + const annotation = scenarioMetricsMap?.[sid] + + // Prefill metric columns so compare-eval metrics are visible even if values missing yet + const evalMetricsDefs = store.get(metricsFromEvaluatorsFamily(rId)) as any + if (evalMetricsDefs && typeof evalMetricsDefs === "object") { + Object.entries(evalMetricsDefs).forEach(([slug, defs]: [string, any[]]) => { + const evaluator = evaluatorList?.find((e) => e?.slug === slug) + if (!Array.isArray(defs)) return + defs.forEach((metricDef) => { + Object.keys(metricDef || {}) + .filter((k) => k !== "evaluatorSlug") + .forEach((metricName) => { + const key = `${evaluator?.name || slug}.${metricName}` + if (!(key in record)) record[key] = "" + }) + }) + }) + } + + if (steps?.some((step) => step.error) || invWithTrace?.error) { + const evalMetrics = store.get(metricsFromEvaluatorsFamily(rId)) + steps.forEach((step) => { + if (!step.error) return null + + const errorMessage = + step.error.stacktrace || step?.error?.message || step.error + Object.entries(evalMetrics || {}).forEach(([k, v]) => { + if (Array.isArray(v)) { + v.forEach((metric) => { + const evaluator = (evaluatorList as any[])?.find( + (e) => e?.slug === metric?.evaluatorSlug, + ) + const {evaluatorSlug, ...rest} = metric + + Object.keys(rest || {}).forEach((metricKey) => { + if (evaluator) { + record[`${evaluator?.name}.${metricKey}`] = + convertToStringOrJson(errorMessage) + } else { + record[`${metric?.evaluatorSlug}.${metricKey}`] = + convertToStringOrJson(errorMessage) + } + }) + }) + } + }) + }) + } + + if (annotation) { + Object.entries(annotation || {}).forEach(([k, v]) => { + if (!k.includes(".")) return + const [evalSlug, metricName] = k.split(".") + if (["error", "errors"].includes(metricName)) return + const evaluator = (evaluatorList as any[])?.find( + (e) => e?.slug === evalSlug, + ) + + if ((v as any).mean) { + record[`${evaluator?.name}.${metricName}`] = (v as any)?.mean + } else if ((v as any).unique) { + const mostFrequent = (v as any).frequency.reduce( + (max: any, current: any) => + current.count > max.count ? current : max, + ).value + record[`${evaluator?.name}.${metricName}`] = String(mostFrequent) + } else if (v && typeof v !== "object") { + record[`${evaluator?.name}.${metricName}`] = + typeof v === "number" + ? String(v).includes(".") + ? (v as number).toFixed(3) + : v + : convertToStringOrJson(v) + } + }) + } + rowsForRun.push({record, scenarioId}) + }) + + return rowsForRun + } + + // Build data across all runs + const rowsByRun = new Map() + const lookupByRun = new Map>() + + for (const rId of allRunIds) { + const rows = await buildRowsForRun(rId) + rowsByRun.set(rId, rows) + + const scenarioLookup = new Map() + rows.forEach((row) => { + if (row && row.scenarioId) { + scenarioLookup.set(row.scenarioId, row) + } + }) + lookupByRun.set(rId, scenarioLookup) + } + + if (!hasComparisons) { + const baseRows = rowsByRun.get(runId) || [] + return baseRows.map(({record}) => record) + } + + const orderedResults: Record[] = [] + const baseRows = rowsByRun.get(runId) || [] + const uniqueCompareRunIds = Array.from( + new Set(compareRunIds.filter((id) => id && id !== runId)), + ) + + baseRows.forEach((baseRow, index) => { + if (!baseRow) return + orderedResults.push(baseRow.record) + + uniqueCompareRunIds.forEach((compareId) => { + const compareRows = rowsByRun.get(compareId) || [] + if (!compareRows.length) return + + const scenarioLookup = lookupByRun.get(compareId) + const matchedRow = + (baseRow.scenarioId && scenarioLookup?.get(baseRow.scenarioId)) || + compareRows[index] + + if (matchedRow) { + orderedResults.push(matchedRow.record) + } + }) + }) + + return orderedResults + }, [runId, evalAtomStore, allRunIds, compareRunIds, hasComparisons]) + + const onClickSaveData = useCallback(async () => { + try { + const data = await csvDataFormat() + setRows(data) + } catch (error) { + message.error("Failed to export results") + } + }, [csvDataFormat]) + + return ( +
    +
    + Go to test case: + +
    +
    + + { + setEditColumns(keys) + }} + /> +
    +
    + ) +} + +export default memo(EvalRunTestCaseViewUtilityOptions) diff --git a/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunTestCaseViewer/assets/EvalRunTestCaseViewerSkeleton.tsx b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunTestCaseViewer/assets/EvalRunTestCaseViewerSkeleton.tsx new file mode 100644 index 0000000000..de4dc79c9f --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunTestCaseViewer/assets/EvalRunTestCaseViewerSkeleton.tsx @@ -0,0 +1,77 @@ +import {memo} from "react" + +import {Skeleton} from "antd" + +export const EvalRunTestCaseTableSkeleton = memo( + ({rows = 8, cols = 5, rowHight = 60}: {rows?: number; cols?: number; rowHight?: number}) => { + return ( +
    +
    + + + {Array.from({length: cols}).map((_, colIndex) => ( + + ))} + + + + {Array.from({length: rows}).map((_, rowIndex) => ( + + {Array.from({length: cols}).map((_, colIndex) => ( + + ))} + + ))} + +
    + +
    + +
    +
    + ) + }, +) + +const EvalRunTestCaseViewerSkeleton = ({ + rows = 8, + cols = 5, + rowHight = 60, +}: { + rows?: number + cols?: number + rowHight?: number +}) => { + return ( +
    +
    + +
    + + +
    +
    + + +
    + ) +} + +export default memo(EvalRunTestCaseViewerSkeleton) diff --git a/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunTestCaseViewer/index.tsx b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunTestCaseViewer/index.tsx new file mode 100644 index 0000000000..524724c9ea --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvalRunTestCaseViewer/index.tsx @@ -0,0 +1,31 @@ +import {memo} from "react" + +import VirtualizedScenarioTable from "@/oss/components/EvalRunDetails/components/VirtualizedScenarioTable" +import useTableDataSource from "@/oss/components/EvalRunDetails/components/VirtualizedScenarioTable/hooks/useTableDataSource" + +import EvalRunTestCaseViewUtilityOptions from "../EvalRunTestCaseViewUtilityOptions" + +import EvalRunTestCaseViewerSkeleton from "./assets/EvalRunTestCaseViewerSkeleton" + +const EvalRunTestCaseViewer = () => { + const {antColumns, isLoadingSteps, setEditColumns, rawColumns} = useTableDataSource() + + if (isLoadingSteps) { + return + } + + return ( +
    + + +
    + +
    +
    + ) +} + +export default memo(EvalRunTestCaseViewer) diff --git a/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvaluatorMetircsSpiderChart/index.tsx b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvaluatorMetircsSpiderChart/index.tsx new file mode 100644 index 0000000000..870d59a3b0 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvaluatorMetircsSpiderChart/index.tsx @@ -0,0 +1,223 @@ +import {memo, useMemo} from "react" + +import {Typography} from "antd" +import clsx from "clsx" +import { + PolarAngleAxis, + PolarGrid, + PolarRadiusAxis, + Radar, + RadarChart, + ResponsiveContainer, + Tooltip, +} from "recharts" + +import {format3Sig} from "@/oss/components/HumanEvaluations/assets/MetricDetailsPopover/assets/utils" +import {formatCurrency, formatLatency} from "@/oss/lib/helpers/formatters" + +import {EVAL_COLOR} from "../../assets/utils" + +import {EvaluatorMetricsSpiderChartProps, MetricData, SeriesMeta} from "./types" + +const EvaluatorMetricsSpiderChart = ({ + className, + metrics = [], + maxScore = 100, + series = [{key: "value", color: EVAL_COLOR[1], name: "Eval 1"}], +}: EvaluatorMetricsSpiderChartProps) => { + // Build chart data with per-axis normalization to 0-100 so + // each axis can have its own maxScore while sharing a single radius scale. + const chartData: MetricData[] = useMemo(() => { + return metrics.map((m) => { + const axisMax = + typeof m.maxScore === "number" && isFinite(m.maxScore) && m.maxScore > 0 + ? m.maxScore + : maxScore + + const baseRaw = typeof m.value === "number" && isFinite(m.value) ? m.value : 0 + const baseNorm = Math.max(0, Math.min(100, (baseRaw / axisMax) * 100)) + + const obj: MetricData = { + subject: m.name, + value: baseNorm, + rawValue: baseRaw, + maxScore: axisMax, + type: m.type, + } + + // Add normalized values for additional series using same axis max + series.forEach((s) => { + const key = s.key + if (key === "value") return // already set + const raw = typeof m[key] === "number" && isFinite(m[key]) ? m[key] : 0 + const norm = Math.max(0, Math.min(100, (raw / axisMax) * 100)) + ;(obj as any)[key] = norm + }) + + return obj + }) + }, [metrics, maxScore, series]) + + if (metrics.length === 0) { + return ( +
    + No metrics available +
    + ) + } + + const LABEL_OFFSET = 12 // distance outside web + const NUDGE = 5 // small outward nudge + const RAD = Math.PI / 180 + + return ( +
    + + + + { + const {cx, cy, radius, payload, index} = props + const label = (payload?.value ?? "") as string + + const angle = Number(payload?.coordinate ?? 0) + const r = (radius ?? 0) + LABEL_OFFSET + + const x = cx + r * Math.cos(-angle * RAD) + const y = cy + r * Math.sin(-angle * RAD) + + const cos = Math.cos(-angle * RAD) + const sin = Math.sin(-angle * RAD) + + const textAnchor = + Math.abs(cos) < 0.1 ? "middle" : cos > 0 ? "start" : "end" + + const nudgeX = cos * NUDGE + const nudgeY = sin * NUDGE + + // simple 2-line clamp to avoid spilling into chart + const clampLines = (s: string, max = 18) => { + const parts = s.includes(" - ") ? s.split(" - ") : [s] + if (parts.length >= 2) return parts.slice(0, 2) + const words = s.split(/\s+/) + let line1 = "" + let line2 = "" + for (const w of words) { + if ((line1 + " " + w).trim().length <= max) + line1 = (line1 + " " + w).trim() + else if ((line2 + " " + w).trim().length <= max) + line2 = (line2 + " " + w).trim() + else { + line2 = (line2 || w).slice(0, max - 1) + "…" + break + } + } + return line2 ? [line1, line2] : [line1] + } + + const lines = clampLines(label, 18) + + return ( + + + {lines.map((ln, i) => ( + + {ln} + + ))} + + + ) + }} + /> + + { + try { + const d = payload?.payload as MetricData | undefined + if (!d) return [val, "Score"] + // val is normalized percentage for the active series + const pct = typeof val === "number" ? val : Number(val) + // Reconstruct raw from normalized and axis max (for numeric) + const rawFromPct = (pctNum: number) => + (pctNum / 100) * (d?.maxScore ?? 0) + + const color = + typeof payload?.color === "string" ? payload.color : "#0F172A" + const styledName = ( + {String(name)} + ) + + if (d.type === "binary") { + const valueLabel = `${pct.toFixed(2)}% / 100%` + return [ + {valueLabel}, + styledName, + ] + } + + // Numeric: format latency/costs specially when subject hints it + const raw = rawFromPct(pct) + const valueColor = {color, fontWeight: 600} + if (String(d?.subject).toLowerCase().includes("duration")) { + return [ + + {`${formatLatency(raw)} / ${formatLatency(d?.maxScore)}`} + , + styledName, + ] + } + if (String(d?.subject).toLowerCase().includes("cost")) { + return [ + + {`${formatCurrency(raw)} / ${formatCurrency(d?.maxScore)}`} + , + styledName, + ] + } + return [ + {`${format3Sig(raw)} / ${format3Sig( + d?.maxScore, + )}`}, + styledName, + ] + } catch (error) { + return [String(val), String(name)] + } + }} + /> + {series.map((s: SeriesMeta, i: number) => ( + + ))} + + +
    + ) +} + +export default memo(EvaluatorMetricsSpiderChart) diff --git a/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvaluatorMetircsSpiderChart/types.ts b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvaluatorMetircsSpiderChart/types.ts new file mode 100644 index 0000000000..6a485ee9bb --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvaluatorMetircsSpiderChart/types.ts @@ -0,0 +1,31 @@ +export interface MetricData { + subject: string + // Normalized values used for plotting (0-100) per series. + // Base series uses `value`; additional series use keys like `value-2`, `value-3`, ... + value?: number + [key: string]: any + // Raw value and axis-specific max for tooltip/labels (base series) + rawValue: number + maxScore: number + type?: "binary" | "numeric" +} + +export interface SeriesMeta { + key: string // e.g. "value", "value-2", ... + color: string + name?: string +} + +export interface EvaluatorMetricsSpiderChartProps { + className?: string + metrics: { + name: string + // Base value; additional series are passed via dynamic props (e.g., value-2) + value?: number + [key: string]: any + maxScore: number + type: "binary" | "numeric" + }[] + maxScore?: number + series?: SeriesMeta[] +} diff --git a/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvaluatorMetricsChart/assets/BarChart.tsx b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvaluatorMetricsChart/assets/BarChart.tsx new file mode 100644 index 0000000000..50ae382b24 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvaluatorMetricsChart/assets/BarChart.tsx @@ -0,0 +1,286 @@ +import {memo, useMemo} from "react" + +import { + Bar, + CartesianGrid, + Cell, + BarChart as RechartsBarChart, + ResponsiveContainer, + Tooltip, + TooltipProps, + XAxis, + YAxis, +} from "recharts" + +type ChartDatum = Record + +interface BarChartProps { + data: readonly ChartDatum[] + xKey: string + yKey: string + /** optional key in data row that carries the color (e.g. 'color') */ + colorKey?: string + + /** Axis / chart tuning */ + yDomain?: [number | "auto" | "dataMin", number | "auto" | "dataMax"] + xAxisProps?: Partial> + yAxisProps?: Partial> + cartesianGridProps?: Partial> + chartProps?: Partial> + containerProps?: Partial> + + /** Bar sizing & spacing */ + barSize?: number // if omitted, width is auto-calculated from gaps + barGap?: number | string // e.g. 16 or '30%' + barCategoryGap?: number | string // e.g. 24 or '30%' + + /** Tooltip label for Y value. Pass falsy to hide Tooltip. */ + tooltipLabel?: string + tooltipFormatter?: (value: number, row: ChartDatum) => string + + /** Per-bar overrides */ + getCellProps?: (row: ChartDatum, index: number) => Partial> + + /** Direct pass-through to */ + barProps?: Partial> + + className?: string +} + +const BarChart = ({ + data, + xKey, + yKey, + colorKey, + yDomain = ["auto", "auto"], + xAxisProps, + yAxisProps, + cartesianGridProps, + chartProps, + containerProps, + // Use percentage-based gaps by default for consistent spacing across datasets + barSize, + barGap = "10%", + barCategoryGap = "30%", + tooltipLabel = "Value", + tooltipFormatter, + getCellProps, + barProps, + className, +}: BarChartProps) => { + const chartBarSize = !barSize ? undefined : barSize + const yAxisWidth = typeof yAxisProps?.width === "number" ? yAxisProps.width : 58 + const { + interval: xAxisInterval, + height: xAxisHeight, + tickWidth: xAxisTickWidthProp, + ...restXAxisProps + } = xAxisProps ?? {} + + const labelBasedTickWidth = useMemo(() => { + const longestLabelLength = data.reduce((max, row) => { + const rawLabel = row?.[xKey] + + if (typeof rawLabel === "string" || typeof rawLabel === "number") { + return Math.max(max, String(rawLabel).length) + } + + return max + }, 0) + + // Invert the relationship: longer labels get smaller width, shorter labels get more width + const maxPossibleWidth = 100 + const minPossibleWidth = 60 + const baseWidth = Math.max(1, longestLabelLength) // Ensure we don't divide by zero + const invertedWidth = (1 / baseWidth) * 1000 // Scale factor to get reasonable numbers + + return Math.min(maxPossibleWidth, Math.max(minPossibleWidth, invertedWidth)) + }, [data, xKey]) + + const xAxisTickWidth = xAxisTickWidthProp ?? labelBasedTickWidth + + return ( + + + ( + +
    + {payload?.value} +
    +
    + )} + height={xAxisHeight ?? 24} + {...restXAxisProps} + /> + + + + {tooltipLabel ? ( + ) => { + if (!active || !payload?.length) return null + + const rows = payload.filter((p) => p?.value != null) + if (!rows.length) return null + + return ( +
    + {/*
    + {label} +
    */} + {rows.map((entry, idx) => { + const rawRow = entry?.payload as ChartDatum + const barColor = + (colorKey && typeof rawRow?.[colorKey] === "string" + ? (rawRow[colorKey] as string) + : undefined) || + entry?.color || + "#3B82F6" + const entryLabel = (() => { + const rawLabel = rawRow?.[xKey] + if ( + typeof rawLabel === "string" || + typeof rawLabel === "number" + ) + return String(rawLabel) + + return entry?.name || tooltipLabel + })() + const formattedValue = + typeof entry?.value === "number" + ? (tooltipFormatter?.(entry.value, rawRow) ?? + String(entry.value)) + : String(entry?.value ?? "") + return ( +
    +
    + + + {entryLabel} + +
    + + {formattedValue} + +
    + ) + })} +
    + ) + }} + /> + ) : null} + + + {data.map((row, i) => { + const fill = + colorKey && typeof row[colorKey] === "string" + ? (row[colorKey] as string) + : undefined + return ( + + ) + })} + +
    +
    + ) +} + +export default memo(BarChart) diff --git a/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvaluatorMetricsChart/assets/EvaluatorMetricsChartSkeleton.tsx b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvaluatorMetricsChart/assets/EvaluatorMetricsChartSkeleton.tsx new file mode 100644 index 0000000000..833b8e674e --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvaluatorMetricsChart/assets/EvaluatorMetricsChartSkeleton.tsx @@ -0,0 +1,20 @@ +import {memo} from "react" + +import {Skeleton} from "antd" +import clsx from "clsx" + +const EvaluatorMetricsChartSkeleton = ({className}: {className?: string}) => { + return ( +
    +
    + + +
    +
    + +
    +
    + ) +} + +export default memo(EvaluatorMetricsChartSkeleton) diff --git a/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvaluatorMetricsChart/assets/HistogramChart.tsx b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvaluatorMetricsChart/assets/HistogramChart.tsx new file mode 100644 index 0000000000..e8046c92da --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvaluatorMetricsChart/assets/HistogramChart.tsx @@ -0,0 +1,149 @@ +import {memo} from "react" + +import { + BarChart as RechartsBarChart, + Bar, + XAxis, + YAxis, + ResponsiveContainer, + Tooltip, + CartesianGrid, + Cell, +} from "recharts" + +type ChartDatum = Record + +interface HistogramChartProps { + data: readonly ChartDatum[] + xKey: string + yKey: string + /** optional key in data row that carries the color (e.g. 'color') */ + colorKey?: string + + /** Axis / chart tuning */ + yDomain?: [number | "auto" | "dataMin", number | "auto" | "dataMax"] + xAxisProps?: Partial> + yAxisProps?: Partial> + cartesianGridProps?: Partial> + chartProps?: Partial> + containerProps?: Partial> + + /** Bar sizing & spacing */ + barSize?: number // if omitted, width is auto-calculated from gaps + barGap?: number | string // e.g. 16 or '30%' + barCategoryGap?: number | string // e.g. 24 or '30%' + + /** Tooltip label for Y value. Pass falsy to hide Tooltip. */ + tooltipLabel?: string + + /** Per-bar overrides */ + getCellProps?: (row: ChartDatum, index: number) => Partial> + + /** Direct pass-through to */ + barProps?: Partial> + + className?: string +} + +const HistogramChart = ({ + data, + xKey, + yKey, + colorKey, + yDomain = ["auto", "auto"], + xAxisProps, + yAxisProps, + cartesianGridProps, + chartProps, + containerProps, + // Use percentage-based gaps by default for consistent spacing across datasets + barSize, + barGap = "10%", + barCategoryGap = "30%", + tooltipLabel = "Value", + getCellProps, + barProps, + className, +}: HistogramChartProps) => { + const chartBarSize = !barSize ? undefined : barSize + const yAxisWidth = typeof yAxisProps?.width === "number" ? yAxisProps.width : 48 + + return ( + + + + + + + {tooltipLabel ? ( + [v as number, tooltipLabel]} + cursor={false} + contentStyle={{ + backgroundColor: "white", + border: "1px solid #d9d9d9", + borderRadius: "4px", + padding: "4px 8px", + }} + /> + ) : null} + + + {data.map((row, i) => { + const fill = + colorKey && typeof row[colorKey] === "string" + ? (row[colorKey] as string) + : undefined + return ( + + ) + })} + + + + ) +} + +export default memo(HistogramChart) diff --git a/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvaluatorMetricsChart/index.tsx b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvaluatorMetricsChart/index.tsx new file mode 100644 index 0000000000..ca5cc0ef57 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/AutoEvalRun/components/EvaluatorMetricsChart/index.tsx @@ -0,0 +1,299 @@ +import {useCallback, useMemo, useState} from "react" + +import {Card, Radio, Typography} from "antd" +import clsx from "clsx" + +import {EvaluatorDto} from "@/oss/lib/hooks/useEvaluators/types" + +import {EVAL_BG_COLOR} from "../../assets/utils" + +import BarChart from "./assets/BarChart" +import HistogramChart from "./assets/HistogramChart" + +/* ---------------- helpers ---------------- */ + +const format3Sig = (n: number) => { + if (!Number.isFinite(n)) return String(n) + const abs = Math.abs(n) + if (abs !== 0 && (abs < 0.001 || abs >= 1000)) return n.toExponential(2) + const s = n.toPrecision(3) + return String(Number(s)) +} + +interface BooleanMetric { + rank: {value: boolean; count: number}[] + count: number + unique: boolean[] + frequency: {value: boolean; count: number}[] +} + +/** Boolean metric → two-bars histogram */ +export function toBooleanHistogramRows( + metric: BooleanMetric, + opts?: {trueLabel?: string; falseLabel?: string; trueColor?: string; falseColor?: string}, +) { + const source = metric.frequency?.length ? metric.frequency : metric.rank + const map = new Map(source.map((f) => [f.value, f.count])) + const t = map.get(true) ?? 0 + const f = map.get(false) ?? 0 + return [ + {x: opts?.trueLabel ?? "true", y: t, color: opts?.trueColor ?? "#22c55e"}, + {x: opts?.falseLabel ?? "false", y: f, color: opts?.falseColor ?? "#ef4444"}, + ] as const +} + +interface EvaluatorMetric { + count: number + sum: number + mean: number + min: number + max: number + range: number + distribution: {value: number; count: number}[] + percentiles: Record + iqrs: Record + binSize: number +} + +/** + * Numeric metric → XY rows from distribution, ignoring binSize. + * X is just the formatted starting value; Y is count. + * This gives a categorical X axis that still preserves the shape. + */ +export function toXYRowsFromDistributionNoBin( + metric: EvaluatorMetric, + opts?: {color?: string; digits?: number}, +) { + const rows = [...(metric.distribution ?? [])] + .sort((a, b) => a.value - b.value) + .map((d) => ({ + x: format3Sig(opts?.digits != null ? Number(d.value.toFixed(opts.digits)) : d.value), + y: d.count, + color: opts?.color ?? "rgba(145, 202, 255, 0.7)", + })) + + return rows +} + +/** Fallback: if no distribution is present, plot a single bar at the mean (x label = value) */ +export function toSingleMeanRow(metric: EvaluatorMetric, opts?: {color?: string; digits?: number}) { + const y = typeof metric.mean === "number" ? metric.mean : 0 + const x = format3Sig(opts?.digits != null ? Number(y.toFixed(opts.digits)) : y) + return [{x, y, color: opts?.color ?? "rgba(145, 202, 255, 0.7)"}] as const +} + +const items = ["average", "histogram", "total"] + +/* ---------------- page component ---------------- */ + +const EvaluatorMetricsChart = ({ + className, + name, + metricKey, + metric, + evaluator, + isCompare, + averageRows, + summaryRows, +}: { + className?: string + name: string + metricKey?: string + metric: Record + evaluator?: EvaluatorDto + isCompare?: boolean + averageRows?: readonly {x: string; y: number; color?: string}[] + summaryRows?: readonly {x: string; y: number; color?: string}[] +}) => { + const [selectedItem, setSelectedItem] = useState(items[0]) + const isBooleanMetric = !!metric?.unique?.length + const hasDistribution = Array.isArray(metric?.distribution) && metric.distribution.length > 0 + const isNumeric = typeof metric?.mean === "number" || hasDistribution + + // Big summary number + const chartSummeryValue = useMemo(() => { + if (isBooleanMetric) { + const trueEntry = metric?.frequency?.find((f: any) => f?.value === true) + const total = metric?.count ?? 0 + const pct = total ? ((trueEntry?.count ?? 0) / total) * 100 : 0 + return `${pct.toFixed(2)}%` + } + if (typeof metric?.mean === "number") return format3Sig(metric.mean) + return "" + }, [metric, isBooleanMetric]) + + // Summary for compare mode: one value per evaluation with +/- delta vs base + const compareSummaries = useMemo(() => { + // Use only evaluations that actually have this evaluator's metric (averageRows already filtered) + if (!isCompare || !averageRows?.length) + return [] as {value: string; delta?: string; color: string}[] + + const base = averageRows?.[0]?.y ?? 0 + const isPct = isBooleanMetric + return averageRows.map((r, i) => { + const color = (r as any)?.color || (EVAL_BG_COLOR as any)[i + 1] || "#3B82F6" + const valNum = Number(r.y || 0) + const value = isPct ? `${valNum.toFixed(2)}%` : format3Sig(valNum) + if (i === 0) return {value, delta: "-", color} + // percent difference vs base (avoid divide by zero) + const deltaPct = base ? ((valNum - base) / Math.abs(base)) * 100 : 0 + const sign = deltaPct > 0 ? "+" : "" + const delta = `${sign}${deltaPct.toFixed(0)}%` + return {value, delta, color} + }) + }, [isCompare, averageRows, isBooleanMetric]) + + // Shape data: + // - Boolean: two bars true/false + // - Numeric: distribution → (x = formatted start value, y = count) + // - Fallback numeric: single bar at mean (x = value, y = mean) + const chartData = useMemo(() => { + if (isBooleanMetric) { + return toBooleanHistogramRows(metric as BooleanMetric, { + trueLabel: "true", + falseLabel: "false", + trueColor: "rgba(145, 202, 255, 0.7)", + falseColor: "rgba(145, 202, 255, 0.7)", + }) + } + if (hasDistribution) { + return toXYRowsFromDistributionNoBin(metric as EvaluatorMetric, { + color: "rgba(145, 202, 255, 0.7)", + digits: 3, + }) + } + if (isNumeric) { + return toSingleMeanRow(metric as EvaluatorMetric, { + color: "rgba(145, 202, 255, 0.7)", + digits: 3, + }) + } + return [] + }, [metric, isBooleanMetric, hasDistribution, isNumeric]) + console.log("chartData", chartData) + + const showHistogram = !isCompare || selectedItem === "histogram" + const showAverageBars = isCompare && selectedItem === "average" + + const formatYAxisTick = useCallback( + (value: number) => { + if (typeof value !== "number" || Number.isNaN(value)) return "" + + const formatToThreeDecimals = (num: number) => { + if (num === 0) return "0" + const abs = Math.abs(num) + if (abs < 0.001) return num.toExponential(2) + return Number(num.toFixed(3)).toString() + } + + if (isBooleanMetric) { + return `${formatToThreeDecimals(value)}%` + } + + return formatToThreeDecimals(value) + }, + [isBooleanMetric], + ) + + return ( + +
    + + {evaluator?.name} + + + {name} + +
    +
    + } + className={clsx("rounded !p-0 overflow-hidden", className)} + classNames={{title: "!py-0 !px-4", header: "!p-0", body: "!p-0"}} + > +
    + {isCompare ? ( +
    + {compareSummaries.map((s, idx) => ( +
    + + {s.value} + + + {s.delta} + +
    + ))} +
    + ) : ( +
    + + {chartSummeryValue} + +
    + )} + +
    +
    + + {showHistogram ? "Frequency" : "Avg score"} + +
    + {showHistogram ? ( + + ) : ( + formatYAxisTick(value)} + yAxisProps={{tickFormatter: formatYAxisTick}} + barCategoryGap={(averageRows?.length ?? 0) < 4 ? "30%" : "10%"} + barProps={{radius: [8, 8, 0, 0]}} + /> + )} +
    +
    + + {name} + +
    +
    + + ) +} + +export default EvaluatorMetricsChart diff --git a/web/ee/src/components/EvalRunDetails/AutoEvalRun/index.tsx b/web/ee/src/components/EvalRunDetails/AutoEvalRun/index.tsx new file mode 100644 index 0000000000..b645cd2ac5 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/AutoEvalRun/index.tsx @@ -0,0 +1,51 @@ +import clsx from "clsx" +import deepEqual from "fast-deep-equal" +import {useAtomValue} from "jotai" +import {selectAtom} from "jotai/utils" +import dynamic from "next/dynamic" + +import {runViewTypeAtom} from "../state/urlState" + +import AutoEvalRunSkeleton from "./assets/AutoEvalRunSkeleton" +import {AutoEvalRunDetailsProps} from "./assets/types" +import EvalRunHeader from "./components/EvalRunHeader" + +const EvalRunOverviewViewer = dynamic(() => import("./components/EvalRunOverviewViewer"), { + ssr: false, +}) +const EvalRunPromptConfigViewer = dynamic(() => import("./components/EvalRunPromptConfigViewer"), { + ssr: false, +}) +const EvalRunTestCaseViewer = dynamic(() => import("./components/EvalRunTestCaseViewer"), { + ssr: false, +}) + +const viewTypeAtom = selectAtom(runViewTypeAtom, (v) => v, deepEqual) +const AutoEvalRunDetails = ({name, description, id, isLoading}: AutoEvalRunDetailsProps) => { + const viewType = useAtomValue(viewTypeAtom) + + if (isLoading) { + return + } + + return ( +
    + + + {viewType === "overview" ? ( + + ) : viewType === "test-cases" ? ( + + ) : viewType === "prompt" ? ( + + ) : null} +
    + ) +} + +export default AutoEvalRunDetails diff --git a/web/ee/src/components/EvalRunDetails/HumanEvalRun/assets/annotationUtils.ts b/web/ee/src/components/EvalRunDetails/HumanEvalRun/assets/annotationUtils.ts new file mode 100644 index 0000000000..cacaffc627 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/HumanEvalRun/assets/annotationUtils.ts @@ -0,0 +1,383 @@ +import axios from "@/oss/lib/api/assets/axiosConfig" +import {getAgentaApiUrl} from "@/oss/lib/helpers/api" +import {uuidToSpanId, uuidToTraceId} from "@/oss/lib/hooks/useAnnotations/assets/helpers" +import {AnnotationDto} from "@/oss/lib/hooks/useAnnotations/types" +import { + evaluationEvaluatorsFamily, + evaluationRunStateFamily, + evalAtomStore, + scenarioStepFamily, + revalidateScenarioForRun, +} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms" +import {triggerMetricsFetch} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms/runScopedMetrics" +import {IAnnotationStep, IStepResponse} from "@/oss/lib/hooks/useEvaluationRunScenarioSteps/types" +import {EvaluatorDto} from "@/oss/lib/hooks/useEvaluators/types" +import {EvaluationStatus} from "@/oss/lib/Types" +import {getJWT} from "@/oss/services/api" +import {updateScenarioStatusRemote} from "@/oss/services/evaluations/workerUtils" +import {createScenarioMetrics} from "@/oss/services/runMetrics/api" +import {getProjectValues} from "@/oss/state/project" + +import {setOptimisticStepData} from "./optimisticUtils" +import {collectStepsAndMetrics} from "./stepsMetricsUtils" +/** + * Retrieve the scenario object (if present) for the given id. + * Updated for multi-run support with runId parameter. + */ +export const getScenario = (scenarioId: string, runId: string) => { + // Use run-scoped atoms for multi-run support + return ( + evalAtomStore() + .get(evaluationRunStateFamily(runId)) + ?.scenarios?.find((s: any) => s.id === scenarioId) || null + ) +} + +/** + * Retrieve the evaluators associated with the current evaluation run. + * Updated for multi-run support with runId parameter. + */ +export const getEvaluators = (runId: string) => { + return evalAtomStore().get(evaluationEvaluatorsFamily(runId)) +} + +/** + * Lazily load step data for a scenario via the jotai family. + * Updated for multi-run support with runId parameter. + */ +export const getStepData = async (scenarioId: string, runId?: string) => { + if (runId) { + // Use run-scoped atoms for multi-run support + return await evalAtomStore().get(scenarioStepFamily({scenarioId, runId})) + } +} + +/** + * Utility that checks the `requiredMetrics` object returned by payload generation. + * If any metric is missing it will call the provided formatter and returns `false`. Otherwise returns `true`. + */ +export const validateRequiredMetrics = ( + requiredMetrics: Record, + formatErrorMessages: (requiredMetrics: Record) => void, +): boolean => { + const hasMissing = Object.keys(requiredMetrics || {}).length > 0 + if (hasMissing) { + formatErrorMessages(requiredMetrics) + } + return !hasMissing +} + +// ---------------------------------- +// Backend synchronisation utilities +// ---------------------------------- + +interface PushStepsAndMetricsParams { + patchStepsFull: any[] + stepsToCreate?: any[] + metricEntries: {scenarioId: string; data: Record}[] + projectId: string + runId: string +} + +export const pushStepsAndMetrics = async ({ + patchStepsFull, + stepsToCreate = [], + metricEntries, + projectId, + runId, +}: PushStepsAndMetricsParams) => { + // Normalize payloads to results schema + const normalizePatch = (items: any[]) => + items.map((it) => { + const out: Record = { + id: it.id, + status: it.status, + trace_id: it.trace_id ?? it.traceId, + span_id: it.span_id ?? it.spanId, + references: it.references, + } + const stepKey = it.step_key ?? it.stepKey + if (stepKey) out.step_key = stepKey + return out + }) + + const normalizeCreate = (items: any[]) => + items.map((it) => { + const out: Record = { + status: it.status, + step_key: it.step_key ?? it.stepKey ?? it.key, + trace_id: it.trace_id ?? it.traceId, + span_id: it.span_id ?? it.spanId, + scenario_id: it.scenario_id ?? it.scenarioId, + run_id: it.run_id ?? it.runId, + references: it.references, + } + const testcaseId = it.testcase_id ?? it.testcaseId + if (testcaseId) out.testcase_id = testcaseId + return out + }) + + if (patchStepsFull.length) { + await axios.patch(`/preview/evaluations/results/?project_id=${projectId}`, { + results: normalizePatch(patchStepsFull), + }) + } + if (stepsToCreate.length) { + await axios.post(`/preview/evaluations/results/?project_id=${projectId}`, { + results: normalizeCreate(stepsToCreate), + }) + } + if (metricEntries.length) { + const jwt = await getJWT() + if (jwt) { + await createScenarioMetrics(getAgentaApiUrl(), jwt, runId, metricEntries, projectId) + } + } +} + +/** + * Triggers revalidation for a single scenario and cleans up optimistic overrides once fresh data arrives. + */ +/** + * Partitions Promise.allSettled results into successful responses and builds evaluator status map + */ +export const partitionAnnotationResults = ( + annotationResults: PromiseSettledResult[], + payload: any[], +): {annotationResponses: any[]; evaluatorStatuses: Record} => { + const fulfilled = annotationResults.filter( + (r): r is PromiseFulfilledResult => r.status === "fulfilled", + ) + const annotationResponses = fulfilled.map((f) => f.value) + const evaluatorStatuses: Record = {} + annotationResults.forEach((result, idx) => { + const slug = payload[idx]?.annotation?.references?.evaluator?.slug + if (!slug) return + evaluatorStatuses[slug] = + result.status === "fulfilled" ? EvaluationStatus.SUCCESS : EvaluationStatus.FAILURE + }) + return {annotationResponses, evaluatorStatuses} +} + +/** + * Returns true if metrics are missing and the caller should abort. + */ +export const abortIfMissingMetrics = ( + requiredMetrics: Record | undefined, + formatErrorMessages: (metrics: any) => void, +): boolean => { + if (requiredMetrics && Object.keys(requiredMetrics).length > 0) { + formatErrorMessages(requiredMetrics) + return true + } + return false +} + +/** + * Handles backend sync and scenario status updates after annotation succeeds + */ +export const startOptimisticAnnotation = async ( + scenarioId: string, + step: IAnnotationStep, + apiUrl: string, + jwt: string, + projectId: string, + runId?: string, +) => { + setOptimisticStepData( + scenarioId, + [ + { + ...structuredClone(step), + status: "annotating", + }, + ], + runId, + ) + updateScenarioStatusRemote(apiUrl, jwt, scenarioId, EvaluationStatus.RUNNING, projectId, runId) +} + +/** + * Build common annotation context (evaluators, trace ids, testset ids, etc.) + */ +export const buildAnnotationContext = async ({ + scenarioId, + stepKey, + runId, +}: { + scenarioId: string + stepKey: string + runId: string +}) => { + const evaluators = getEvaluators(runId) + const testsets = evalAtomStore().get(evaluationRunStateFamily(runId))?.enrichedRun?.testsets + const stepData = await getStepData(scenarioId, runId) + const jwt = await getJWT() + const {projectId} = getProjectValues() + + const invocationStep = stepData?.invocationSteps?.find((s: any) => s.stepKey === stepKey) + if (!invocationStep) return null + + const traceTree = (invocationStep as any)?.trace + if (!traceTree) return null + + const node = traceTree.nodes?.[0] + if (!node) return null + + const traceSpanIds = { + spanId: uuidToSpanId(node.node.id) as string, + traceId: uuidToTraceId(node.root.id) as string, + } + + const testcaseId = invocationStep.testcaseId + const testsetId = testsets?.find((s: any) => s.data?.testcase_ids?.includes(testcaseId))?.id + + return { + evaluators, + jwt, + projectId, + stepData, + traceSpanIds, + testsetId, + testcaseId, + invocationStep, + traceTree, + apiUrl: getAgentaApiUrl(), + } +} + +export const processAnnotationError = async ( + scenarioId: string, + err: unknown, + annotationSteps: IAnnotationStep[], + apiUrl: string, + jwt: string, + projectId: string, + runId: string, + setErrorMessages: (msgs: string[]) => void, +) => { + setErrorMessages([(err as Error).message]) + setOptimisticStepData( + scenarioId, + annotationSteps.map((st) => ({ + ...structuredClone(st), + status: EvaluationStatus.ERROR, + })), + ) + // await updateScenarioStatus(scenario, finalStatus) + updateScenarioStatusRemote(apiUrl, jwt, scenarioId, EvaluationStatus.ERROR, projectId, runId) +} + +export const finalizeAnnotationSuccess = async ({ + annotationSteps, + mode, + annotationResponses, + evaluatorStatuses, + stepData, + stepKey, + scenarioId, + runId, + projectId, + scenario, + jwt, + apiUrl, + evaluators, + setErrorMessages, +}: { + annotationSteps: IAnnotationStep[] + mode: "create" | "update" + annotationResponses: any[] + evaluatorStatuses: Record + stepData: any + stepKey: string + scenarioId: string + runId: string + projectId: string + jwt: string + apiUrl: string + scenario: any + evaluators: EvaluatorDto[] + setErrorMessages: (val: any[]) => void +}) => { + if (!annotationResponses.length) return + + const {stepsToCreate, patchStepsFull, metricEntries} = collectStepsAndMetrics({ + mode, + annotationResponses, + stepData, + stepKey, + evaluatorStatuses, + scenarioId, + runId, + evaluators, + }) + + await pushStepsAndMetrics({ + patchStepsFull, + stepsToCreate, + metricEntries, + projectId, + runId, + }) + + await updateScenarioStatusRemote( + apiUrl, + jwt, + scenarioId, + EvaluationStatus.SUCCESS, + projectId, + runId, + ) + await triggerScenarioRevalidation( + runId, + scenarioId, + annotationSteps.map((st) => ({ + ...structuredClone(st), + status: "revalidating", + })), + ) + + // Trigger metrics refresh when scenario completes (success or failure) + if (runId) { + triggerMetricsFetch(runId) + } + + // Note: Metrics will be automatically refreshed by store-level subscription + console.log(`[finalizeAnnotationSuccess] Annotation finalized for runId: ${runId}`) + + setErrorMessages([]) +} + +export const triggerScenarioRevalidation = async ( + runId: string, + scenarioId: string, + updatedSteps?: IStepResponse[], +) => { + try { + await revalidateScenarioForRun(runId, scenarioId, evalAtomStore(), updatedSteps) + } catch (err) { + console.error("Failed to revalidate scenario", err) + } +} + +/** Return all annotationSteps that match any item in the payload */ +export const findAnnotationStepsFromPayload = ( + annotationSteps: IAnnotationStep[] = [], + payload: {annotation: AnnotationDto}[], +) => { + if (!annotationSteps.length || !payload.length) return [] + + return annotationSteps.filter((step) => + payload.some(({annotation}) => { + const evaluatorSlug = annotation.references?.evaluator?.slug + const linkKeys = annotation.links ? Object.keys(annotation.links) : [] + if (!evaluatorSlug || !linkKeys.length) return false + + // backend guarantees first (and usually only) link key is the invocation key + const invocationKey = linkKeys[0] // e.g. "default-2cd951533447" + const expectedStepKey = `${invocationKey}.${evaluatorSlug}` + + return step.stepKey === expectedStepKey + }), + ) +} diff --git a/web/ee/src/components/EvalRunDetails/HumanEvalRun/assets/helpers.ts b/web/ee/src/components/EvalRunDetails/HumanEvalRun/assets/helpers.ts new file mode 100644 index 0000000000..03fc0cfeda --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/HumanEvalRun/assets/helpers.ts @@ -0,0 +1,252 @@ +import { + generateAnnotationPayloadData, + generateNewAnnotationPayloadData, +} from "@agenta/oss/src/components/pages/observability/drawer/AnnotateDrawer/assets/transforms" + +import {AnnotationDto} from "@/oss/lib/hooks/useAnnotations/types" +import {createAnnotation, updateAnnotation} from "@/oss/services/annotations/api" + +import { + getScenario, + buildAnnotationContext, + partitionAnnotationResults, + abortIfMissingMetrics, + finalizeAnnotationSuccess, + startOptimisticAnnotation, + processAnnotationError, + findAnnotationStepsFromPayload, +} from "./annotationUtils" + +export const handleAnnotate = async ({ + runId, + scenarioId, + updatedMetrics, + formatErrorMessages, + setErrorMessages, + projectId, + stepKey, +}: { + runId: string + scenarioId: string + updatedMetrics: Record + formatErrorMessages: (requiredMetrics: Record) => void + setErrorMessages: (errorMessages: string[]) => void + projectId: string + stepKey: string +}) => { + console.log("handleAnnotate") + const ctx = await buildAnnotationContext({scenarioId, stepKey, runId}) + if (!ctx) return + const {evaluators, stepData, traceSpanIds, testsetId, testcaseId, traceTree, jwt, apiUrl} = ctx + + if (!traceTree) { + if (process.env.NODE_ENV !== "production") { + console.debug("No trace found on invocation step", scenarioId) + } + return + } + + const node = traceTree.nodes?.[0] + + if (!node) { + if (process.env.NODE_ENV !== "production") { + console.debug("No trace node found for scenario", scenarioId) + } + return + } + + const params = { + updatedMetrics, + selectedEvaluators: evaluators.map((e) => e.slug), + evaluators, + traceSpanIds, + testsetId, + testcaseId, + } + + const {payload, requiredMetrics} = generateNewAnnotationPayloadData({ + ...params, + invocationStepKey: stepKey, + testsetId, + testcaseId, + }) + + if (abortIfMissingMetrics(requiredMetrics, formatErrorMessages)) return + if (!payload.length) return + + const annotationSteps = findAnnotationStepsFromPayload(stepData?.annotationSteps, payload) + + if (!annotationSteps.length) { + console.error("No annotation steps matched payload", {scenarioId, payload}) + throw new Error("Annotation step(s) not found") + } + + try { + // optimistic update for each matched step + annotationSteps.forEach((st) => { + startOptimisticAnnotation(scenarioId, st, apiUrl, jwt, projectId, runId) + }) + + const annotationResults = await Promise.allSettled( + payload.map((evaluatorPayload) => createAnnotation(evaluatorPayload)), + ) + const {annotationResponses, evaluatorStatuses} = partitionAnnotationResults( + annotationResults, + payload, + ) + + await finalizeAnnotationSuccess({ + mode: "create", + annotationResponses, + evaluatorStatuses, + stepData, + stepKey, + scenarioId, + runId, + projectId, + scenario: getScenario(scenarioId, runId), + setErrorMessages, + annotationSteps, + jwt, + apiUrl, + evaluators, + }) + } catch (err) { + await processAnnotationError( + scenarioId, + err, + annotationSteps, + apiUrl, + jwt || "", + projectId, + runId, + setErrorMessages, + ) + } +} + +export const handleUpdateAnnotate = async ({ + runId, + scenarioId, + updatedMetrics, + formatErrorMessages, + setErrorMessages, + projectId, + stepKey, +}: { + runId: string + scenarioId: string + updatedMetrics: Record + formatErrorMessages: (requiredMetrics: Record) => void + setErrorMessages: (errorMessages: string[]) => void + projectId: string + stepKey: string +}) => { + console.log("handleUpdateAnnotate") + const ctx = await buildAnnotationContext({scenarioId, stepKey, runId}) + if (!ctx) return + const {evaluators, stepData, jwt, apiUrl} = ctx + + const allAnnotations = stepData?.annotationSteps + ?.map((s) => s.annotation) + .filter(Boolean) as AnnotationDto[] + + // Only use the new canonical payload generator + const params = { + updatedMetrics, + selectedEvaluators: evaluators.map((e) => e.slug), + evaluators, + annotations: allAnnotations, + } + const {payload, requiredMetrics} = generateAnnotationPayloadData({ + ...params, + invocationStepKey: stepKey, + }) + + if (abortIfMissingMetrics(requiredMetrics, formatErrorMessages)) return + if (!payload.length) return + + const scenario = getScenario(scenarioId, runId) + const annotationSteps = findAnnotationStepsFromPayload( + stepData?.annotationSteps, + payload + .map((p) => { + const annotation = allAnnotations.find( + (a) => a.span_id === p.span_id && a.trace_id === p.trace_id, + ) + return { + annotation, + } + }) + .filter(Boolean) as {annotation: AnnotationDto}[], + ) + + if (!annotationSteps.length) { + console.error("No annotation steps matched payload", {scenarioId, payload}) + throw new Error("Annotation step(s) not found") + } + + try { + // 1. enabling annotating state + annotationSteps.forEach((st) => { + startOptimisticAnnotation(scenarioId, st, apiUrl, jwt, projectId, runId) + }) + + // 2. updating annotations + const annotationResults = await Promise.allSettled( + payload.map((annotation) => { + const {trace_id, span_id, ...rest} = annotation + return updateAnnotation({ + payload: rest, + traceId: trace_id || "", + spanId: span_id || "", + }) + }), + ) + const {annotationResponses, evaluatorStatuses} = partitionAnnotationResults( + annotationResults, + payload, + ) + + // 3. Optimistic update: mark as revalidating + await finalizeAnnotationSuccess({ + mode: "update", + annotationResponses, + evaluatorStatuses, + stepData, + stepKey, + scenarioId, + runId, + projectId, + scenario, + setErrorMessages, + annotationSteps, + jwt, + apiUrl, + evaluators, + }) + setErrorMessages([]) + } catch (err) { + await processAnnotationError( + scenarioId, + err, + annotationSteps, + apiUrl, + jwt || "", + projectId, + runId, + setErrorMessages, + ) + } +} + +export const statusColorMap: Record = { + pending: "text-[#758391]", + incomplete: "text-[#758391]", + running: "text-[#758391]", + done: "text-green-600", + success: "text-green-600", + failed: "text-red-500", + error: "text-red-500", + cancelled: "text-yellow-500", +} diff --git a/web/ee/src/components/EvalRunDetails/HumanEvalRun/assets/optimisticUtils.ts b/web/ee/src/components/EvalRunDetails/HumanEvalRun/assets/optimisticUtils.ts new file mode 100644 index 0000000000..361a3db1bc --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/HumanEvalRun/assets/optimisticUtils.ts @@ -0,0 +1,41 @@ +// Import run-scoped version for multi-run support +import { + scenarioStepLocalFamily, + evalAtomStore, +} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms" +import {IStepResponse} from "@/oss/lib/hooks/useEvaluationRunScenarioSteps/types" + +/** + * Merge partial step data into the optimistic cache so components can render + * interim worker results immediately while awaiting server revalidation. + */ +export const setOptimisticStepData = async ( + scenarioId: string, + updatedSteps: IStepResponse[], + runId?: string, +) => { + // Write into per-scenario atom to avoid cloning the entire cache map + // Skip if no runId provided since run-scoped atoms require it + if (!runId) { + console.warn("[setOptimisticStepData] No runId provided, skipping optimistic update") + return + } + + evalAtomStore().set(scenarioStepLocalFamily({runId, scenarioId}), (draft: any) => { + if (!draft) return + + updatedSteps.forEach((updatedStep) => { + const targetStep = + draft.invocationSteps?.find((s: any) => s.stepKey === updatedStep.stepKey) || + draft.inputSteps?.find((s: any) => s.stepKey === updatedStep.stepKey) || + draft.annotationSteps?.find((s: any) => s.stepKey === updatedStep.stepKey) + + if (!targetStep) return + + Object.entries(updatedStep).forEach(([k, v]) => { + // @ts-ignore – dynamic merge + targetStep[k] = v as any + }) + }) + }) +} diff --git a/web/ee/src/components/EvalRunDetails/HumanEvalRun/assets/runnableSelectors.ts b/web/ee/src/components/EvalRunDetails/HumanEvalRun/assets/runnableSelectors.ts new file mode 100644 index 0000000000..b2a6dc5c6c --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/HumanEvalRun/assets/runnableSelectors.ts @@ -0,0 +1,64 @@ +import deepEqual from "fast-deep-equal" +import {atom} from "jotai" +import {selectAtom, loadable, atomFamily} from "jotai/utils" + +import { + scenariosFamily, + scenarioStatusAtomFamily, + scenarioStepFamily, +} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms" + +/** + * IDs of scenarios that are currently runnable (i.e. have invocation parameters + * and are not in a final/running UI state). + */ +// 1. Combine the needed state into a single base atom +// helper shallow array equality +const shallowArrayEqual = (a: T[], b: T[]) => + a.length === b.length && a.every((v, i) => v === b[i]) + +// A scenario is considered runnable when: +// 1. Its overall status is not in a terminal / running state, AND +// 2. Its step data has been fetched (Loadable state === "hasData"), AND +// 3. At least one invocationStep still contains `invocationParameters` (i.e. not yet executed) +// Per-scenario memoised check – avoids re-running heavy logic for all 1000 scenarios +export const scenarioIsRunnableFamily = atomFamily( + (params: {scenarioId: string; runId: string}) => + atom((get) => { + const {status} = get(scenarioStatusAtomFamily(params)) + if (["running", "done", "success", "revalidating"].includes(status)) return false + const loadableStep = get(loadable(scenarioStepFamily(params))) + if (loadableStep.state !== "hasData") return false + const invSteps: any[] = loadableStep.data?.invocationSteps ?? [] + return invSteps.some((st) => !!st.invocationParameters) + }), + deepEqual, +) + +export const runnableScenarioIdsFamily = atomFamily((runId: string) => { + return atom((get) => { + const scenarios = get(scenariosFamily(runId)) + return scenarios + .filter((scenario: any) => + get(scenarioIsRunnableFamily({scenarioId: scenario.id, runId})), + ) + .map((s: any) => s.id) + }) +}, deepEqual) + +/* memoised view that won’t re-emit if the array is the same */ +export const runnableScenarioIdsMemoFamily = atomFamily((runId: string) => { + return selectAtom(runnableScenarioIdsFamily(runId), (ids) => ids, shallowArrayEqual) +}, deepEqual) + +// Boolean flag: true if at least one scenario is runnable. Uses early exit to avoid building arrays +export const hasRunnableScenarioFamily = atomFamily((runId: string) => { + return atom((get) => { + const scenarios = get(scenariosFamily(runId)) + for (const scenario of scenarios) { + if (get(scenarioIsRunnableFamily({scenarioId: (scenario as any).id, runId}))) + return true + } + return false + }) +}, deepEqual) diff --git a/web/ee/src/components/EvalRunDetails/HumanEvalRun/assets/stepsMetricsUtils.ts b/web/ee/src/components/EvalRunDetails/HumanEvalRun/assets/stepsMetricsUtils.ts new file mode 100644 index 0000000000..1859d83d92 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/HumanEvalRun/assets/stepsMetricsUtils.ts @@ -0,0 +1,180 @@ +import {EvaluatorDto} from "@/oss/lib/hooks/useEvaluators/types" +import {EvaluationStatus} from "@/oss/lib/Types" +import {computeRunMetrics} from "@/oss/services/runMetrics/api" + +export interface StepsAndMetricsResult { + stepsToCreate: any[] + patchStepsFull: any[] + metricEntries: {scenarioId: string; data: Record}[] +} + +interface CollectParams { + mode: "create" | "update" + annotationResponses: any[] + stepData: any + stepKey: string + evaluatorStatuses?: Record + scenarioId: string + runId: string + evaluators: EvaluatorDto[] +} + +/** + * Consolidated logic used by both handleAnnotate (create) and handleUpdateAnnotate (update) + * to build arrays for step PATCH/POST and metric creation. + */ +export const collectStepsAndMetrics = ({ + mode, + annotationResponses, + stepData, + stepKey, + evaluatorStatuses = {}, + scenarioId, + runId, + evaluators, +}: CollectParams): StepsAndMetricsResult => { + const patchStepsFull: any[] = [] + const stepsToCreate: any[] = [] + const nestedMetrics: Record> = {} + + // Filter annotation steps belonging to the selected invocation step + const stepAnnotationSteps = (stepData.annotationSteps || []).filter((ann: any) => + (ann.stepKey ?? "").startsWith(`${stepKey}.`), + ) + + if (mode === "create") { + // Track existing keys to avoid duplicates + const existingStepKeys = new Set(stepAnnotationSteps.map((s: any) => s.stepKey)) + + annotationResponses.forEach((resp: any) => { + const ann = resp?.data?.annotation + if (!ann) return + const slug = ann.references?.evaluator?.slug + const evaluatorKey = `${stepKey}.${slug}` + const status = evaluatorStatuses[slug] || EvaluationStatus.SUCCESS + + const evaluator = evaluators.find((e) => e.slug === slug) + if (!evaluator) return + + const metricSchema = evaluator?.data.service.format.properties.outputs.properties + // Add to creation list if not already existing + if (!existingStepKeys.has(evaluatorKey)) { + stepsToCreate.push({ + status, + step_key: evaluatorKey, + span_id: ann.span_id, + trace_id: ann.trace_id, + scenario_id: scenarioId, + run_id: runId, + }) + } + + // Collect metric outputs into nested structure keyed by invocation+evaluator + const outputs = ann.data?.outputs || {} + const fullKey = slug ? `${stepKey}.${slug}` : stepKey + const computed = computeRunMetrics([{data: outputs}]) + + if (!nestedMetrics[fullKey]) nestedMetrics[fullKey] = {} + Object.entries(computed).forEach(([k, v]) => { + const stat = structuredClone(v) + const schema = metricSchema[k] + if (schema?.type === "boolean") { + stat.value = stat.unique?.[0] + } else if (schema?.type === "array") { + stat.value = stat.unique + } else if (schema?.type === "string") { + stat.value = stat.unique + } else if ("anyOf" in schema) { + stat.value = stat.unique.length > 1 ? stat.unique : stat.unique[0] + } + // else if (schema?.type === "number") { + // stat.value = stat.mean + // } + if ("distribution" in stat) delete stat.distribution + if ("percentiles" in stat) delete stat.percentiles + if ("iqrs" in stat) delete stat.iqrs + if ("frequency" in stat) delete stat.frequency + if ("rank" in stat) delete stat.rank + if ("unique" in stat) delete stat.unique + if ("binSize" in stat) delete stat.binSize + + nestedMetrics[fullKey][k] = stat + }) + }) + + // Build patch list by aligning responses to existing steps + stepAnnotationSteps.forEach((ann: any) => { + const linkedResponse = annotationResponses.find((r) => { + const annKey = `${stepKey}.${r?.data?.annotation?.references?.evaluator?.slug}` + return annKey === ann.stepKey + }) + if (linkedResponse) { + const status = + evaluatorStatuses[ann.stepKey.split(".")[1]] || EvaluationStatus.SUCCESS + patchStepsFull.push({ + ...ann, + status, + trace_id: linkedResponse.data.annotation.trace_id, + span_id: linkedResponse.data.annotation.span_id, + }) + } else { + patchStepsFull.push(ann) + } + }) + } else { + // UPDATE flow: only patch existing steps, no creations + stepAnnotationSteps.forEach((ann: any) => { + const linkedResponse = annotationResponses.find( + (r) => + r?.data?.annotation?.span_id === ann.annotation?.span_id && + r?.data?.annotation?.trace_id === ann.annotation?.trace_id, + ) + if (!linkedResponse) return + + const slug = ann.stepKey.split(".")[1] + const evaluator = evaluators.find((e) => e.slug === slug) + if (!evaluator) return + + const metricSchema = evaluator?.data.service.format.properties.outputs.properties + + patchStepsFull.push({ + ...ann, + trace_id: linkedResponse?.data?.annotation?.trace_id, + span_id: linkedResponse?.data?.annotation?.span_id, + }) + + const outputs = linkedResponse?.data?.annotation?.data?.outputs || {} + const computed = computeRunMetrics([{data: outputs}]) + + const fullKey = `${stepKey}.${slug}` + if (!nestedMetrics[fullKey]) nestedMetrics[fullKey] = {} + Object.entries(computed).forEach(([k, v]) => { + const stat = structuredClone(v) + if (metricSchema?.[k]?.type === "boolean") { + stat.value = v.unique?.[0] + } else if (metricSchema?.[k]?.type === "array") { + stat.value = stat.unique + } else if (metricSchema?.[k]?.type === "string") { + stat.value = stat.unique + } else if ("anyOf" in metricSchema[k]) { + stat.value = stat.unique?.length > 1 ? stat.unique : stat.unique[0] + } + + if ("distribution" in stat) delete stat.distribution + if ("percentiles" in stat) delete stat.percentiles + if ("iqrs" in stat) delete stat.iqrs + if ("frequency" in stat) delete stat.frequency + if ("rank" in stat) delete stat.rank + if ("unique" in stat) delete stat.unique + nestedMetrics[fullKey][k] = stat + }) + }) + } + + const metricEntries: {scenarioId: string; data: Record}[] = [] + if (Object.keys(nestedMetrics).length > 0) { + metricEntries.push({scenarioId, data: nestedMetrics}) + } + + return {stepsToCreate, patchStepsFull, metricEntries} +} diff --git a/web/ee/src/components/EvalRunDetails/HumanEvalRun/assets/types.ts b/web/ee/src/components/EvalRunDetails/HumanEvalRun/assets/types.ts new file mode 100644 index 0000000000..a48a4840bd --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/HumanEvalRun/assets/types.ts @@ -0,0 +1,6 @@ +export interface EvalRunProps { + id: string + name: string + description?: string + runId?: string +} diff --git a/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/AnnotateScenarioButton/index.tsx b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/AnnotateScenarioButton/index.tsx new file mode 100644 index 0000000000..2eeb2064c2 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/AnnotateScenarioButton/index.tsx @@ -0,0 +1,96 @@ +import {useState, useCallback, memo} from "react" + +import {Button} from "antd" +import {useAtomValue} from "jotai" + +import {AnnotationDto} from "@/oss/lib/hooks/useAnnotations/types" +import {evalAtomStore} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms" +import {scenarioUiFlagsFamily} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms/progress" +import {getProjectValues} from "@/oss/state/project" + +import {buildAnnotationContext} from "../../assets/annotationUtils" +import {handleAnnotate, handleUpdateAnnotate} from "../../assets/helpers" + +import {AnnotateScenarioButtonProps} from "./types" + +const AnnotateScenarioButton = ({ + runId, + scenarioId, + stepKey, + updatedMetrics, + formatErrorMessages, + setErrorMessages, + disabled = false, + label = "Annotate", + isAnnotated = false, + onAnnotate: propsOnAnnotate, + className, +}: AnnotateScenarioButtonProps) => { + const [annotating, setAnnotating] = useState(false) + const store = evalAtomStore() + const uiFlags = useAtomValue(scenarioUiFlagsFamily({scenarioId, runId}), {store}) + const isLoading = annotating || uiFlags.isAnnotating || uiFlags.isRevalidating + + const onAnnotate = useCallback(async () => { + try { + setAnnotating(true) + + const ctx = await buildAnnotationContext({scenarioId, stepKey, runId}) + if (!ctx) return + const {evaluators, stepData} = ctx + const annotations = stepData?.annotationSteps + ?.map((s) => s.annotation) + .filter(Boolean) as AnnotationDto[] + + const annEvalSlugs = annotations + .map((a) => a.references?.evaluator?.slug) + .filter(Boolean) as string[] + const selectedEval = evaluators + .map((e) => e.slug) + .filter((evaluator) => !annEvalSlugs.includes(evaluator)) + + if (selectedEval.length > 0) { + await handleAnnotate({ + runId, + scenarioId, + updatedMetrics, + formatErrorMessages, + setErrorMessages, + projectId: getProjectValues().projectId, + stepKey, + }) + } + + if (annotations.length > 0) { + await handleUpdateAnnotate({ + runId, + scenarioId, + updatedMetrics, + formatErrorMessages, + setErrorMessages, + projectId: getProjectValues().projectId, + stepKey, + }) + } + } catch (error) { + console.error("Failed to annotate scenario", error) + } finally { + propsOnAnnotate?.() + setAnnotating(false) + } + }, [runId, scenarioId, stepKey, updatedMetrics, formatErrorMessages, setErrorMessages]) + + return ( + + ) +} + +export default memo(AnnotateScenarioButton) diff --git a/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/AnnotateScenarioButton/types.ts b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/AnnotateScenarioButton/types.ts new file mode 100644 index 0000000000..f42a66b324 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/AnnotateScenarioButton/types.ts @@ -0,0 +1,14 @@ +export interface AnnotateScenarioButtonProps { + runId: string + scenarioId: string + stepKey: string + updatedMetrics: Record + disabled?: boolean + label?: string + className?: string + isAnnotated?: boolean // check if annotations are already present + + formatErrorMessages: (requiredMetrics: Record) => void + setErrorMessages: (errorMessages: string[]) => void + onAnnotate?: () => void +} diff --git a/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalResultsView/EvaluatorMetricsCard.tsx b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalResultsView/EvaluatorMetricsCard.tsx new file mode 100644 index 0000000000..6e8b81c93b --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalResultsView/EvaluatorMetricsCard.tsx @@ -0,0 +1,81 @@ +import {memo, useCallback, useMemo} from "react" + +import {Card, Typography} from "antd" +import deepEqual from "fast-deep-equal" +import {useAtomValue} from "jotai" +import {selectAtom} from "jotai/utils" + +import {MetricDetailsPopoverWrapper} from "@/oss/components/HumanEvaluations/assets/MetricDetailsPopover" +import {useRunId} from "@/oss/contexts/RunIdContext" +import { + evalAtomStore, + evaluationRunStateFamily, +} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms" + +interface EvaluatorMetricsCardProps { + runId: string + evaluatorSlug: string +} + +/** + * Displays all metric definitions for a single evaluator with popovers. + * Uses jotai selectAtom so only this card re-renders when its evaluator object changes. + */ +const EvaluatorMetricsCard = ({runId, evaluatorSlug}: EvaluatorMetricsCardProps) => { + // Use proper runId fallback logic: prop takes priority over context + const contextRunId = useRunId() + const effectiveRunId = runId || contextRunId + const store = evalAtomStore() + + // Create a selector to extract the specific evaluator from the evaluation run state + const evaluatorSelector = useCallback( + (state: any) => { + const evaluators = state?.enrichedRun?.evaluators + if (!evaluators) return null + + // Handle both array and object formats + if (Array.isArray(evaluators)) { + return evaluators.find((ev: any) => ev.slug === evaluatorSlug) + } else { + return Object.values(evaluators).find((ev: any) => ev.slug === evaluatorSlug) + } + }, + [evaluatorSlug], + ) + + const evaluatorAtom = useMemo( + () => selectAtom(evaluationRunStateFamily(effectiveRunId), evaluatorSelector, deepEqual), + [effectiveRunId, evaluatorSelector], + ) + + const evaluator = useAtomValue(evaluatorAtom, {store}) + + if (!evaluator) return null + + const metricEntries = Object.entries(evaluator.metrics || {}) + + return ( + + {evaluator.name} +
    + {metricEntries.map(([metricKey, def]) => ( +
    + {metricKey} + +
    + ))} +
    +
    + ) +} + +export default memo(EvaluatorMetricsCard) diff --git a/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalResultsView/index.tsx b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalResultsView/index.tsx new file mode 100644 index 0000000000..37185f8eda --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalResultsView/index.tsx @@ -0,0 +1,39 @@ +import {memo, useCallback, useMemo} from "react" + +import deepEqual from "fast-deep-equal" +import {useAtomValue} from "jotai" +import {selectAtom} from "jotai/utils" + +import {evaluationEvaluatorsFamily} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms" + +import EvaluatorMetricsCard from "./EvaluatorMetricsCard" + +/** + * Displays run-level evaluation results grouped by evaluator. + * Uses selectAtom to subscribe only to the evaluator *list shape* (slug array) so the + * parent component re-renders only when evaluators are added/removed – any metric changes + * are handled inside each card. + */ +const EvalResultsView = ({runId}: {runId: string}) => { + const slugSelector = useCallback( + (list: any[] | undefined): string[] => + (list || []).map((ev) => ev.slug || ev.id || ev.name), + [], + ) + + const slugsAtom = useMemo( + () => selectAtom(evaluationEvaluatorsFamily(runId), slugSelector, deepEqual), + [runId], + ) + const evaluatorSlugs = useAtomValue(slugsAtom) + + return ( +
    + {evaluatorSlugs.map((slug) => ( + + ))} +
    + ) +} + +export default memo(EvalResultsView) diff --git a/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunBatchActions.tsx b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunBatchActions.tsx new file mode 100644 index 0000000000..50ba4ccf21 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunBatchActions.tsx @@ -0,0 +1,238 @@ +import {memo, useCallback, useState} from "react" + +import RunButton from "@agenta/oss/src/components/Playground/assets/RunButton" +import {useAtomValue} from "jotai" +import {loadable} from "jotai/utils" + +// agenta hooks & utils +import {useRunId} from "@/oss/contexts/RunIdContext" +import {convertToStringOrJson} from "@/oss/lib/helpers/utils" +import {useEvalScenarioQueue} from "@/oss/lib/hooks/useEvalScenarioQueue" +import { + scenarioStepFamily, + scenariosFamily, + evalAtomStore, +} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms" +import {scenarioMetricsMapFamily} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms/runScopedMetrics" + +import SaveDataButton from "../../components/SaveDataModal/assets/SaveDataButton" +import {hasRunnableScenarioFamily} from "../assets/runnableSelectors" + +import InstructionButton from "./Modals/InstructionModal/assets/InstructionButton" + +const EMPTY_ROWS: any[] = [] + +/** + * This component renders a bar of buttons above the scenario table. + * It includes a button to run all scenarios, a button to export results, + * a button to save the test set, a button to refresh the page, and a button + * to open the instruction modal. + * + * @returns A JSX element containing a bar of buttons. + */ +// derived atom: keeps only the length (count) of runnable scenarios to minimise re-renders + +const EvalRunBatchActions = ({name}: {name: string}) => { + const [rows, setRows] = useState(EMPTY_ROWS) + const runId = useRunId() + const store = evalAtomStore() + + const {enqueueScenario} = useEvalScenarioQueue({concurrency: 5, runId}) + + // Lightweight subscription: only track the count of runnable scenarios - use global store + const hasRunnable = useAtomValue(hasRunnableScenarioFamily(runId), {store}) + const isRunAllDisabled = !hasRunnable + + const handleRunAll = useCallback(async () => { + if (!runId) return + + try { + const store = evalAtomStore() + + // Get all scenarios for this run (same as single run approach) + const scenarios = store.get(scenariosFamily(runId)) + console.log(`[EvalRunBatchActions] Found ${scenarios.length} total scenarios`) + + if (scenarios.length === 0) { + console.warn("[EvalRunBatchActions] No scenarios found") + return + } + + let enqueuedCount = 0 + + // For each scenario, get its step data using the same approach as RunEvalScenarioButton + for (const scenario of scenarios) { + const scenarioId = scenario.id + + try { + // Use the same loadable approach as RunEvalScenarioButton + const stepLoadableAtom = loadable(scenarioStepFamily({scenarioId, runId})) + const stepLoadable = store.get(stepLoadableAtom) + + if (stepLoadable.state !== "hasData" || !stepLoadable.data) { + console.log( + `[EvalRunBatchActions] Scenario ${scenarioId} - step data not ready (state: ${stepLoadable.state})`, + ) + continue + } + + const invocationSteps = stepLoadable.data.invocationSteps || [] + console.log( + `[EvalRunBatchActions] Scenario ${scenarioId} has ${invocationSteps.length} invocation steps`, + ) + + // Find the first step with invocation parameters (same logic as RunEvalScenarioButton) + const targetStep = invocationSteps.find((s: any) => s.invocationParameters) + + if (targetStep && targetStep.invocationParameters) { + // Check if step is not already running or successful + const isRunning = invocationSteps.some((s: any) => s.status === "running") + const isSuccess = (targetStep as any).status === "success" + + if (!isRunning && !isSuccess) { + console.log( + `[EvalRunBatchActions] Enqueuing scenario ${scenarioId}, step ${targetStep.stepKey}`, + ) + enqueueScenario(scenarioId, targetStep.stepKey) + enqueuedCount++ + } else { + console.log( + `[EvalRunBatchActions] Skipping scenario ${scenarioId} - already running or successful`, + ) + } + } else { + console.log( + `[EvalRunBatchActions] Skipping scenario ${scenarioId} - no invocation parameters`, + ) + } + } catch (error) { + console.error( + `[EvalRunBatchActions] Error processing scenario ${scenarioId}:`, + error, + ) + } + } + + console.log( + `[EvalRunBatchActions] Run all completed, enqueued ${enqueuedCount} scenarios`, + ) + + // Note: Metrics will be automatically fetched by store-level subscription + if (enqueuedCount > 0) { + console.log( + `[EvalRunBatchActions] Enqueued ${enqueuedCount} scenarios for runId: ${runId}`, + ) + } + } catch (error) { + console.error("[EvalRunBatchActions] Error in handleRunAll:", error) + } + }, [runId, enqueueScenario]) + + const csvDataFormat = useCallback(async () => { + if (!runId) return [] + + // 1. Gather the scenario IDs present in the current evaluation (sync) + const store = evalAtomStore() + const scenarios = store.get(scenariosFamily(runId)) + const ids = scenarios.map((s: any) => s.id) + + // 2. Resolve (possibly async) scenario step data for each id + const [scenarioMetricsMap, ...allScenarios] = await Promise.all([ + store.get(scenarioMetricsMapFamily(runId)), + ...ids.map((id) => store.get(scenarioStepFamily({runId, scenarioId: id}))), + ]) + + // 3. Build the CSV-friendly records + const data = allScenarios.map((scenario) => { + if (!scenario) return {} + const sid = scenario.steps?.[0]?.scenarioId + + const primaryInput = scenario.inputSteps?.find((s: any) => s.inputs) || {} + const {inputs = {}, groundTruth = {}, status: inputStatus} = primaryInput as any + + const record: Record = {} + + // Add inputs + Object.entries(inputs).forEach(([k, v]) => { + record[k] = convertToStringOrJson(v) + }) + + // Add ground truths + Object.entries(groundTruth).forEach(([k, v]) => { + record[k] = convertToStringOrJson(v) + }) + + // Add annotation metrics/notes per evaluator slug + scenario.annotationSteps?.forEach((annStep: any) => { + const evaluatorSlug = (annStep.stepKey as string)?.split(".")[1] + if (!evaluatorSlug) return + + // 1. summarize metrics from scenarioMetricsMap for this scenario by slug prefix + const summarized: Record = {} + // const sid = + // scenario.scenarioId || (scenario as any).scenario_id || (scenario as any).id + const scenarioMetrics = scenarioMetricsMap?.[String(sid)] || {} + Object.entries(scenarioMetrics).forEach(([fullKey, stats]) => { + if (fullKey.startsWith(`${evaluatorSlug}.`)) { + const metricKey = fullKey.slice(evaluatorSlug.length + 1) + summarized[metricKey] = stats + } + }) + + if (Object.keys(summarized).length) { + record[evaluatorSlug] = convertToStringOrJson({...summarized}) + } + }) + + // Extract model output from the first invocation step that contains a trace + const invWithTrace = scenario.invocationSteps?.find((inv: any) => inv.trace) + const traceObj = invWithTrace?.trace + let traceOutput: any + if (Array.isArray(traceObj?.nodes)) { + traceOutput = traceObj.nodes[0]?.data?.outputs + } else if (Array.isArray(traceObj?.trees)) { + traceOutput = traceObj.trees[0]?.nodes?.[0]?.data?.outputs + } + + if (traceOutput) { + record.output = convertToStringOrJson(traceOutput) + } + + record.status = inputStatus ?? "unknown" + return record + }) + + return data + }, [runId]) + + const onClickSaveData = useCallback(async () => { + const data = await csvDataFormat() + setRows(data) + }, [csvDataFormat]) + + return ( +
    + + + + + + + +
    + ) +} + +export default memo(EvalRunBatchActions) diff --git a/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunName/index.tsx b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunName/index.tsx new file mode 100644 index 0000000000..96bdcb6d14 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunName/index.tsx @@ -0,0 +1,78 @@ +import {memo} from "react" + +import {Typography} from "antd" +import {useAtomValue} from "jotai" + +import {urlStateAtom} from "../../../state/urlState" +import {EvalRunProps} from "../../assets/types" +import RenameEvalButton from "../Modals/RenameEvalModal/assets/RenameEvalButton" + +const EvalRunName = (props: EvalRunProps) => { + const {id, name, description, runId} = props || {} + const urlState = useAtomValue(urlStateAtom) + + // Check if we're in comparison mode + const isComparisonMode = Boolean(urlState.compare && urlState.compare.length > 0) + + if (isComparisonMode) { + return ( +
    +
    +
    + + Evaluation Run Comparison + +
    +
    + {description && ( + + {description} + + )} +
    + ) + } + + return ( +
    +
    +
    + + {name} + + +
    +
    + {description && ( + + {description} + + )} +
    + ) +} + +export default memo(EvalRunName) diff --git a/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenario/index.tsx b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenario/index.tsx new file mode 100644 index 0000000000..b1783d41bb --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenario/index.tsx @@ -0,0 +1,53 @@ +import {memo} from "react" + +import clsx from "clsx" +import {useAtomValue} from "jotai" + +import {runViewTypeAtom} from "../../../state/urlState" +import EvalRunScenarioCard from "../EvalRunScenarioCard" +import ScenarioAnnotationPanel from "../ScenarioAnnotationPanel" + +import {EvalRunScenarioProps} from "./types" + +const EvalRunScenario = ({scenarioId, runId, className}: EvalRunScenarioProps) => { + const viewType = useAtomValue(runViewTypeAtom) + + return ( +
    _.ant-card]:grow": viewType !== "focus", + }, + ])} + > +
    + {viewType !== "focus" ? ( + + ) : null} + +
    +
    + ) +} + +export default memo(EvalRunScenario) diff --git a/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenario/types.ts b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenario/types.ts new file mode 100644 index 0000000000..26a7b69ed4 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenario/types.ts @@ -0,0 +1,5 @@ +export interface EvalRunScenarioProps { + scenarioId: string + runId: string + className?: string +} diff --git a/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCard/EvalRunScenarioCardBody.tsx b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCard/EvalRunScenarioCardBody.tsx new file mode 100644 index 0000000000..a56efc709c --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCard/EvalRunScenarioCardBody.tsx @@ -0,0 +1,151 @@ +import {FC, memo, useCallback, useMemo} from "react" + +import {Typography} from "antd" +import {atom, useAtomValue} from "jotai" +import {selectAtom} from "jotai/utils" + +import { + loadableScenarioStepFamily, + bulkStepsCacheFamily, + getCurrentRunId, + evalAtomStore, +} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms" + +import {renderSkeleton} from "./assets/utils" +import InvocationRun from "./InvocationRun" + +interface EvalRunScenarioCardBodyProps { + scenarioId: string + runId?: string +} + +const EvalRunScenarioCardBody: FC = ({scenarioId, runId}) => { + const store = evalAtomStore() + + // Get effective runId - use provided runId or fallback to current run context + const effectiveRunId = useMemo(() => { + if (runId) return runId + try { + return getCurrentRunId() + } catch (error) { + return "" + } + }, [runId]) + + /* --- atoms & data --- */ + // Unified data access that prioritizes bulk cache over individual scenario atoms + // This ensures we get data from whichever source is available + const invocationSteps = useAtomValue( + useMemo( + () => + atom((get) => { + // First try bulk cache (populated by worker) + const bulkCache = get(bulkStepsCacheFamily(effectiveRunId)) + const bulkData = bulkCache?.get(scenarioId) + if ( + bulkCache && + bulkData?.state === "hasData" && + bulkData.data?.invocationSteps + ) { + return bulkData.data.invocationSteps as any[] + } + + // Fallback to individual scenario atom + const loadable = get( + loadableScenarioStepFamily({scenarioId, runId: effectiveRunId}), + ) + if (loadable.state === "hasData" && loadable.data?.invocationSteps) { + return loadable.data.invocationSteps as any[] + } + + return [] + }), + [scenarioId, effectiveRunId], + ), + {store}, + ) + + // Use the same atom for load state as we use for data to ensure consistency + // This prevents blocking UI when we have optimistically updated data + const loadState = useAtomValue( + useMemo( + () => + selectAtom(loadableScenarioStepFamily({scenarioId, runId: effectiveRunId}), (l) => { + return l.state + }), + [scenarioId, effectiveRunId], + ), + {store}, + ) + + /* --- render content --- */ + const renderRuns = useCallback(() => { + if (!invocationSteps.length) return null + + return invocationSteps.map((invStep: any) => ( + + )) + }, [scenarioId, invocationSteps, effectiveRunId]) + + /* --- loading / error states --- */ + // Determine if we truly have no cached data for this scenario yet + const hasCachedSteps = useAtomValue( + useMemo( + () => + selectAtom( + loadableScenarioStepFamily({scenarioId, runId: effectiveRunId}), + (l) => l.state === "hasData" && l.data !== undefined, + ), + [scenarioId, effectiveRunId], + ), + {store}, + ) + + // Check scenario status to determine if we're in execution/revalidation state + const scenarioStatus = useAtomValue( + useMemo( + () => + selectAtom(loadableScenarioStepFamily({scenarioId, runId: effectiveRunId}), (l) => { + if (l.state !== "hasData" || !l.data) return null + const invSteps = l.data.invocationSteps || [] + const annSteps = l.data.annotationSteps || [] + const inputSteps = l.data.inputSteps || [] + + // Check if any step is running or revalidating + const isRunning = [...invSteps, ...annSteps, ...inputSteps].some( + (s: any) => s.status === "running" || s.status === "revalidating", + ) + + return isRunning ? "active" : "idle" + }), + [scenarioId, effectiveRunId], + ), + {store}, + ) + + // Only show loading skeleton when we're actually fetching data from server AND have no cached data + // Don't show loading during scenario execution ("running") or revalidation ("revalidating") + const isInitialLoading = + loadState === "loading" && + !hasCachedSteps && + invocationSteps.length === 0 && + scenarioStatus !== "active" + + if (isInitialLoading) { + return renderSkeleton() + } + if (loadState === "hasError") { + return Failed to load scenario data. + } + + if (!invocationSteps.length) return null + + return
    {renderRuns()}
    +} + +export default memo(EvalRunScenarioCardBody) diff --git a/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCard/InvocationInputs.tsx b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCard/InvocationInputs.tsx new file mode 100644 index 0000000000..cfc9d6333e --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCard/InvocationInputs.tsx @@ -0,0 +1,110 @@ +import {memo} from "react" + +import JSON5 from "json5" + +import TextControl from "@/oss/components/Playground/Components/PlaygroundVariantPropertyControl/assets/TextControl" +import SharedEditor from "@/oss/components/Playground/Components/SharedEditor" +import useEvalRunScenarioData from "@/oss/lib/hooks/useEvaluationRunData/useEvalRunScenarioData" + +import {renderChatMessages} from "../../../assets/renderChatMessages" + +interface InvocationInputsProps { + scenarioId: string + testcaseId: string | undefined + runId?: string +} + +const InvocationInputs = ({scenarioId, testcaseId, runId}: InvocationInputsProps) => { + const data = useEvalRunScenarioData(scenarioId, runId) + // Prefer the inputStep directly enriched with `inputs` field (added during bulk/enrichment) + const inputStep = + data?.inputSteps?.find((s) => s.testcaseId === testcaseId) ?? + data?.steps?.find((s) => s.testcaseId === testcaseId && s.inputs) + const inputs = inputStep?.inputs ?? {} + const groundTruth = (inputStep as any)?.groundTruth ?? {} + + // Merge inputs and groundTruth, giving preference to explicit inputs if duplicate keys + const displayInputs = {...groundTruth, ...inputs} + + if (!displayInputs || Object.keys(displayInputs).length === 0) return null + + // Separate inputs into primitives, JSON objects/arrays, and chat messages + const primitiveEntries: [string, string][] = [] + const jsonEntries: [string, any][] = [] + const chatEntries: [string, string][] = [] + + Object.entries(displayInputs).forEach(([k, _v]) => { + // If already an object/array, treat as JSON directly + if (_v && typeof _v === "object") { + jsonEntries.push([k, _v]) + return + } + // Strings may encode JSON or chat messages + if (typeof _v === "string") { + try { + const parsed = JSON5.parse(_v) + if ( + parsed && + Array.isArray(parsed) && + parsed.every( + (m: any) => m && typeof m === "object" && "role" in m && "content" in m, + ) + ) { + chatEntries.push([k, _v]) + } else if (parsed && typeof parsed === "object") { + jsonEntries.push([k, parsed]) + } else { + primitiveEntries.push([k, _v]) + } + } catch { + primitiveEntries.push([k, _v]) + } + return + } + // Fallback to primitive string rendering + primitiveEntries.push([k, String(_v)]) + }) + + const renderPrimitive = ([k, v]: [string, string]) => ( +
    + {}} + disabled + state="readOnly" + className="!text-xs" + /> +
    + ) + + // Render complex chat message inputs using shared util + const renderComplex = ([k, v]: [string, string]) => + renderChatMessages({keyPrefix: k, rawJson: v, view: "single"}) + + const renderJson = ([k, obj]: [string, any]) => ( +
    + +
    + ) + + return ( +
    + {/* Render primitives first */} + {primitiveEntries.map(renderPrimitive)} + {/* Then structured JSON objects/arrays */} + {jsonEntries.map(renderJson)} + {/* Then complex chat/message inputs */} + {chatEntries.flatMap(renderComplex)} +
    + ) +} + +export default memo(InvocationInputs) diff --git a/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCard/InvocationResponse.tsx b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCard/InvocationResponse.tsx new file mode 100644 index 0000000000..76520ea9ee --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCard/InvocationResponse.tsx @@ -0,0 +1,151 @@ +import {memo} from "react" + +import {Typography} from "antd" +import JSON5 from "json5" + +import GenerationResultUtils from "@/oss/components/Playground/Components/PlaygroundGenerations/assets/GenerationResultUtils" +import SimpleDropdownSelect from "@/oss/components/Playground/Components/PlaygroundVariantPropertyControl/assets/SimpleDropdownSelect" +import SharedEditor from "@/oss/components/Playground/Components/SharedEditor" +import {useInvocationResult} from "@/oss/lib/hooks/useInvocationResult" + +import RunEvalScenarioButton from "../RunEvalScenarioButton" + +import {InvocationResponseProps} from "./types" + +const InvocationResponse = ({scenarioId, stepKey, runId}: InvocationResponseProps) => { + const {status, trace, value, messageNodes} = useInvocationResult({scenarioId, stepKey, runId}) + const editorKey = trace?.trace_id ?? trace?.id ?? `${scenarioId}-${stepKey}-${runId}` + + return ( +
    +
    + + Model Response + + +
    + + {messageNodes ? ( + messageNodes + ) : typeof value === "object" && value && "role" in value && "content" in value ? ( + + {}} + disabled + /> +
    + } + initialValue={(value as any).content} + editorClassName="!text-xs" + disabled + error={!!trace?.exception} + /> + ) : typeof value === "string" ? ( + (() => { + try { + const parsed = JSON5.parse(value) + if (parsed && typeof parsed === "object") { + const pretty = JSON.stringify(parsed, null, 2) + return ( + {}} + initialValue={pretty} + editorType="border" + placeholder="Click the 'Run' icon to get variant output" + disabled + editorClassName="!text-xs" + editorProps={{enableResize: true, codeOnly: true}} + error={!!trace?.exception} + /> + ) + } + + return ( + {}} + initialValue={value} + editorType="border" + placeholder="Click the 'Run' icon to get variant output" + disabled + editorClassName="!text-xs" + editorProps={{enableResize: true}} + error={!!trace?.exception} + /> + ) + } catch { + return ( + {}} + initialValue={value} + editorType="border" + placeholder="Click the 'Run' icon to get variant output" + disabled + editorClassName="!text-xs" + editorProps={{enableResize: true}} + error={!!trace?.exception} + /> + ) + } + })() + ) : typeof value === "object" ? ( + {}} + initialValue={(() => { + try { + return JSON.stringify(value, null, 2) + } catch { + return String(value) + } + })()} + editorType="border" + placeholder="Click the 'Run' icon to get variant output" + disabled + editorClassName="!text-xs" + editorProps={{enableResize: true, codeOnly: true}} + error={!!trace?.exception} + /> + ) : ( + {}} + initialValue={status?.error ? String(status.error) : (value ?? status?.result)} + editorType="border" + placeholder="Click the 'Run' icon to get variant output" + disabled + editorClassName="!text-xs" + editorProps={{enableResize: true}} + error={!!trace?.exception} + /> + )} + {trace ? ( + + ) : null} + + ) +} + +export default memo(InvocationResponse) diff --git a/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCard/InvocationRun.tsx b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCard/InvocationRun.tsx new file mode 100644 index 0000000000..d04cee9eaf --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCard/InvocationRun.tsx @@ -0,0 +1,20 @@ +import {memo} from "react" + +import InvocationInputs from "./InvocationInputs" +import InvocationResponse from "./InvocationResponse" +import {InvocationRunProps} from "./types" + +const InvocationRun = ({invStep, scenarioId, runId}: InvocationRunProps) => { + return ( +
    + + +
    + ) +} + +export default memo(InvocationRun) diff --git a/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCard/assets/KeyValue.tsx b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCard/assets/KeyValue.tsx new file mode 100644 index 0000000000..9b13e9e97c --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCard/assets/KeyValue.tsx @@ -0,0 +1,59 @@ +import {memo} from "react" + +import {Typography} from "antd" + +import {KeyValueProps} from "../types" + +const KeyValue = ({label, value, ...rest}: KeyValueProps) => { + const renderVal = () => { + if (value == null || value === "") { + return N/A + } + if (typeof value === "object") { + const entries = Object.entries(value as Record) + if (entries.length > 1) { + return ( +
      + {entries.map(([k, v]) => { + if (process.env.NODE_ENV !== "production") { + console.debug("k - v", k, v) + } + return ( +
    • + + {k}: + + + {typeof v === "object" ? JSON.stringify(v) : String(v)} + +
    • + ) + })} +
    + ) + } + const singleVal = entries[0][1] + return typeof singleVal === "object" ? JSON.stringify(singleVal) : String(singleVal) + } + return String(value) + } + + return ( + <> +
    + + {label}: + + + {renderVal()} + +
    + + ) +} + +export default memo(KeyValue) diff --git a/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCard/assets/utils.tsx b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCard/assets/utils.tsx new file mode 100644 index 0000000000..35bd0cce84 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCard/assets/utils.tsx @@ -0,0 +1,9 @@ +import {Skeleton} from "antd" + +export function renderSkeleton() { + return ( +
    + +
    + ) +} diff --git a/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCard/index.tsx b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCard/index.tsx new file mode 100644 index 0000000000..281821b189 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCard/index.tsx @@ -0,0 +1,73 @@ +import {memo, useMemo} from "react" + +import {Card} from "antd" +import deepEqual from "fast-deep-equal" +import {useAtomValue} from "jotai" +import {selectAtom} from "jotai/utils" + +import { + evaluationRunStateFamily, + evalAtomStore, +} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms" +import {EvaluationRunState} from "@/oss/lib/hooks/useEvaluationRunData/types" + +import EvalRunScenarioCardTitle from "../EvalRunScenarioCardTitle" +import RunEvalScenarioButton from "../RunEvalScenarioButton" + +import EvalRunScenarioCardBody from "./EvalRunScenarioCardBody" +import {EvalRunScenarioCardProps} from "./types" + +/** + * Component that renders a card view for a specific evaluation run scenario. + * Depending on the `viewType`, it can display the scenario in a card format + * or a full-width format. Utilizes data from Jotai atoms to display scenario + * details, including loading state and error handling. + * + * @param {string} scenarioId - The unique identifier for the scenario to be displayed. + * @param {ViewType} [viewType="list"] - Determines the layout of the scenario display, + * either as a "list" (card format) or "single" (full-width). + */ +const EvalRunScenarioCard = ({scenarioId, runId, viewType = "list"}: EvalRunScenarioCardProps) => { + const store = evalAtomStore() + + /* scenario index for card title */ + // Read from the same global store that writes are going to + const scenarioIndex = useAtomValue( + useMemo( + () => + selectAtom( + evaluationRunStateFamily(runId), // Use run-scoped atom with runId + (state: EvaluationRunState) => + state.scenarios?.find((s) => s.id === scenarioId)?.scenarioIndex, + deepEqual, + ), + [scenarioId, runId], // Include runId in dependencies + ), + {store}, + ) + + if (scenarioIndex === undefined) return null + + return viewType === "list" ? ( + + } + style={{width: 400}} + className="self-stretch" + actions={[]} + > + + + ) : ( +
    + +
    + ) +} + +export default memo(EvalRunScenarioCard) diff --git a/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCard/types.ts b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCard/types.ts new file mode 100644 index 0000000000..559d89c211 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCard/types.ts @@ -0,0 +1,29 @@ +import {ComponentProps} from "react" + +import {Typography} from "antd" + +export type ViewType = "list" | "focus" + +export interface EvalRunScenarioCardProps { + scenarioId: string + runId: string + viewType?: ViewType +} + +export interface KeyValueProps { + label: string + value: any + type?: ComponentProps["type"] +} + +export interface InvocationResponseProps { + scenarioId: string + stepKey: string + runId?: string +} + +export interface InvocationRunProps { + invStep: any + scenarioId: string + runId?: string +} diff --git a/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCardTitle/index.tsx b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCardTitle/index.tsx new file mode 100644 index 0000000000..ff9c9df14e --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCardTitle/index.tsx @@ -0,0 +1,22 @@ +import {memo} from "react" + +import {Typography} from "antd" + +import EvalRunScenarioStatusTag from "../../../components/EvalRunScenarioStatusTag" + +import {EvalRunScenarioCardTitleProps} from "./types" + +const EvalRunScenarioCardTitle = ({ + scenarioIndex, + scenarioId, + runId, +}: EvalRunScenarioCardTitleProps) => { + return ( +
    + Test Case #{scenarioIndex} + +
    + ) +} + +export default memo(EvalRunScenarioCardTitle) diff --git a/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCardTitle/types.ts b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCardTitle/types.ts new file mode 100644 index 0000000000..de91d7ca09 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCardTitle/types.ts @@ -0,0 +1,5 @@ +export interface EvalRunScenarioCardTitleProps { + scenarioIndex: number + scenarioId: string + runId: string +} diff --git a/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCards/EvalRunScenarioCards.tsx b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCards/EvalRunScenarioCards.tsx new file mode 100644 index 0000000000..9b845ee94a --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCards/EvalRunScenarioCards.tsx @@ -0,0 +1,75 @@ +import {memo, RefObject, useRef} from "react" + +import {Typography} from "antd" +import clsx from "clsx" +import {useAtomValue} from "jotai" +import {FixedSizeList as List} from "react-window" +import {useResizeObserver} from "usehooks-ts" + +import { + displayedScenarioIdsFamily, + evalAtomStore, +} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms" + +import EvalRunScenario from "../EvalRunScenario" +import ScenarioLoadingIndicator from "../ScenarioLoadingIndicator/ScenarioLoadingIndicator" + +import {ITEM_GAP, ITEM_SIZE, ITEM_WIDTH} from "./assets/constants" + +/** + * Horizontal scroll list of `EvalRunScenario` cards with a shared loading indicator. + * Extracted clean version after refactor. No duplicated legacy code. + */ +const EvalRunScenarioCards = ({runId}: {runId: string}) => { + const store = evalAtomStore() + const scenarioIds = useAtomValue(displayedScenarioIdsFamily(runId), {store}) || [] + + const containerRef = useRef(null) + const {width = 0, height = 0} = useResizeObserver({ + ref: containerRef as RefObject, + box: "border-box", + }) + + return ( +
    +
    + + All Scenarios + + +
    + +
    + {width > 0 && height > 0 && ( + scenarioIds[index]} + > + {({index, style}) => ( +
    + +
    + )} +
    + )} +
    +
    + ) +} + +export default memo(EvalRunScenarioCards) diff --git a/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCards/assets/constants.ts b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCards/assets/constants.ts new file mode 100644 index 0000000000..de7b942a52 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioCards/assets/constants.ts @@ -0,0 +1,3 @@ +export const ITEM_WIDTH = 400 +export const ITEM_GAP = 16 +export const ITEM_SIZE = ITEM_WIDTH + ITEM_GAP diff --git a/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioFilters.tsx b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioFilters.tsx new file mode 100644 index 0000000000..843cbe16ec --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/EvalRunScenarioFilters.tsx @@ -0,0 +1,48 @@ +import {memo, useCallback} from "react" + +import {Segmented} from "antd" +import {useSetAtom, useAtomValue} from "jotai" + +import {useRunId} from "@/oss/contexts/RunIdContext" +import { + evalAtomStore, + totalCountFamily, + evalScenarioFilterAtom, + pendingCountFamily, + unannotatedCountFamily, + failedCountFamily, +} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms" + +const EvalRunScenarioFilters = () => { + const runId = useRunId() + const store = evalAtomStore() + + // Read from the same global store that writes are going to + const setFilterAtom = useSetAtom(evalScenarioFilterAtom, {store}) + const filter = useAtomValue(evalScenarioFilterAtom, {store}) + const totalCount = useAtomValue(totalCountFamily(runId), {store}) + const pendingCount = useAtomValue(pendingCountFamily(runId), {store}) + const unannotatedCount = useAtomValue(unannotatedCountFamily(runId), {store}) + const failedCount = useAtomValue(failedCountFamily(runId), {store}) + + const handleChange = useCallback((val: string) => { + setFilterAtom(val as any) + }, []) + + return ( + + ) +} + +export default memo(EvalRunScenarioFilters) diff --git a/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/Modals/InstructionModal/assets/InstructionButton.tsx b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/Modals/InstructionModal/assets/InstructionButton.tsx new file mode 100644 index 0000000000..6b7698d0dd --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/Modals/InstructionModal/assets/InstructionButton.tsx @@ -0,0 +1,51 @@ +import {cloneElement, isValidElement, useState} from "react" + +import {Question} from "@phosphor-icons/react" +import dynamic from "next/dynamic" + +import EnhancedButton from "@/oss/components/Playground/assets/EnhancedButton" + +const InstructionModal = dynamic(() => import("../index"), {ssr: false}) + +const InstructionButton = ({ + icon = true, + children, + label, + ...props +}: { + icon?: boolean + children?: React.ReactNode + label?: string +}) => { + const [isModalOpen, setIsModalOpen] = useState(false) + + return ( + <> + {isValidElement(children) ? ( + cloneElement( + children as React.ReactElement<{ + onClick: () => void + }>, + { + onClick: () => { + setIsModalOpen(true) + }, + }, + ) + ) : ( + } + onClick={() => setIsModalOpen(true)} + tooltipProps={icon && !label ? {title: "Instructions"} : {}} + label={label} + {...props} + /> + )} + + setIsModalOpen(false)} /> + + ) +} + +export default InstructionButton diff --git a/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/Modals/InstructionModal/index.tsx b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/Modals/InstructionModal/index.tsx new file mode 100644 index 0000000000..8fb398eca4 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/Modals/InstructionModal/index.tsx @@ -0,0 +1,37 @@ +import {Play} from "@phosphor-icons/react" +import {Modal} from "antd" +import {useRouter} from "next/router" + +import {InstructionModalProps} from "../types" + +const InstructionModal = ({...props}: InstructionModalProps) => { + const router = useRouter() + const isAbTesting = router.pathname.includes("a_b_testing") + + return ( + +
      +
    1. + Use the buttons Next and Prev or the arrow keys{" "} + {`Left (<)`} and {`Right (>)`} to navigate between + scenarios. +
    2. +
    3. + Click the Run button or press{" "} + {`Meta+Enter (⌘+↵)`} or {`Ctrl+Enter`} to run the + scenario. +
    4. + {isAbTesting && ( +
    5. + Vote by either clicking the evaluation buttons at the right sidebar + or pressing the key a for 1st Variant, b for 2nd + Variant and x if both are bad. +
    6. + )} +
    7. Annotate the scenario
    8. +
    +
    + ) +} + +export default InstructionModal diff --git a/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/Modals/RenameEvalModal/assets/RenameEvalButton.tsx b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/Modals/RenameEvalModal/assets/RenameEvalButton.tsx new file mode 100644 index 0000000000..2db2a20630 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/Modals/RenameEvalModal/assets/RenameEvalButton.tsx @@ -0,0 +1,60 @@ +import {cloneElement, isValidElement, memo, useState} from "react" + +import {EditOutlined} from "@ant-design/icons" +import dynamic from "next/dynamic" + +import EnhancedButton from "@/oss/components/Playground/assets/EnhancedButton" + +import {RenameEvalButtonProps} from "../../types" + +const RenameEvalModal = dynamic(() => import(".."), {ssr: false}) + +const RenameEvalButton = ({ + id, + name, + description, + runId, + icon = true, + children, + label, + ...props +}: RenameEvalButtonProps) => { + const [isModalOpen, setIsModalOpen] = useState(false) + + return ( + <> + {isValidElement(children) ? ( + cloneElement( + children as React.ReactElement<{ + onClick: () => void + }>, + { + onClick: () => { + setIsModalOpen(true) + }, + }, + ) + ) : ( + } + onClick={() => setIsModalOpen(true)} + tooltipProps={icon && !label ? {title: "Rename the eval run"} : {}} + label={label} + {...props} + /> + )} + + setIsModalOpen(false)} + /> + + ) +} + +export default memo(RenameEvalButton) diff --git a/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/Modals/RenameEvalModal/assets/RenameEvalModalContent.tsx b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/Modals/RenameEvalModal/assets/RenameEvalModalContent.tsx new file mode 100644 index 0000000000..2b7a9b5eac --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/Modals/RenameEvalModal/assets/RenameEvalModalContent.tsx @@ -0,0 +1,35 @@ +import {Input, Typography} from "antd" + +import {RenameEvalModalContentProps} from "../../types" + +const RenameEvalModalContent = ({ + loading, + error, + editName, + setEditName, + editDescription, + setEditDescription, +}: RenameEvalModalContentProps) => { + return ( +
    + setEditName(e.target.value)} + maxLength={100} + placeholder="Run name" + disabled={loading} + /> + setEditDescription(e.target.value)} + rows={3} + maxLength={500} + placeholder="Description (optional)" + disabled={loading} + /> + {error && {error}} +
    + ) +} + +export default RenameEvalModalContent diff --git a/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/Modals/RenameEvalModal/index.tsx b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/Modals/RenameEvalModal/index.tsx new file mode 100644 index 0000000000..c4c07ba0ed --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/Modals/RenameEvalModal/index.tsx @@ -0,0 +1,91 @@ +import {useCallback, useMemo, useState} from "react" + +import {message} from "antd" +import {useSWRConfig} from "swr" + +import EnhancedModal from "@/oss/components/EnhancedUIs/Modal" +import {useRunId} from "@/oss/contexts/RunIdContext" +import axios from "@/oss/lib/api/assets/axiosConfig" +import { + evalAtomStore, + evaluationRunStateFamily, +} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms" + +import {RenameEvalModalProps} from "../types" + +import RenameEvalModalContent from "./assets/RenameEvalModalContent" + +const RenameEvalModal = ({id, name, description, runId, ...props}: RenameEvalModalProps) => { + const {mutate} = useSWRConfig() + const contextRunId = useRunId() // Get runId from context + const effectiveRunId = runId || contextRunId // Use prop runId if available, otherwise context + const [editName, setEditName] = useState(name) + const [editDescription, setEditDescription] = useState(description || "") + const [loading, setLoading] = useState(false) + const [error, setError] = useState(null) + + const onAfterClose = useCallback(() => { + setEditName(name) + setEditDescription(description || "") + setError(null) + props.afterClose?.() + }, [name, description]) + + const handleSave = useCallback(async () => { + setLoading(true) + setError(null) + + // Use run-scoped atom with effectiveRunId (from prop or context) + const state = evalAtomStore().get(evaluationRunStateFamily(effectiveRunId)) + + try { + await axios.patch(`/preview/evaluations/runs/${id}`, { + run: { + ...state.rawRun, + id, + name: editName, + description: editDescription, + }, + }) + await mutate( + (key: string) => key.includes("/preview/evaluations/runs/") || key.includes(id), + undefined, + true, + ) + + message.success("Evaluation run updated") + props.onCancel?.({} as any) + } catch (err: any) { + setError(err?.message || "Failed to update run") + } finally { + setLoading(false) + } + }, [id, editName, editDescription, mutate, runId]) + + const isDisabled = useMemo(() => { + return editName.trim() === name.trim() && editDescription.trim() === description?.trim() + }, [editName, editDescription, name, description]) + + return ( + + + + ) +} + +export default RenameEvalModal diff --git a/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/Modals/types.d.ts b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/Modals/types.d.ts new file mode 100644 index 0000000000..a453b392e1 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/Modals/types.d.ts @@ -0,0 +1,31 @@ +import {Dispatch, SetStateAction, ReactNode} from "react" + +import {ModalProps, ButtonProps} from "antd" + +export interface InstructionModalProps extends ModalProps {} + +export interface RenameEvalModalProps extends ModalProps { + id: string + name: string + description?: string + runId?: string +} + +export interface RenameEvalModalContentProps { + loading?: boolean + error: string | null + editName: string + setEditName: Dispatch> + editDescription: string + setEditDescription: Dispatch> +} + +export interface RenameEvalButtonProps extends ButtonProps { + id: string + name: string + description?: string + runId?: string + icon?: boolean + children?: ReactNode + label?: string +} diff --git a/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/RunEvalScenarioButton/index.tsx b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/RunEvalScenarioButton/index.tsx new file mode 100644 index 0000000000..476242a1ba --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/RunEvalScenarioButton/index.tsx @@ -0,0 +1,107 @@ +import {memo, useMemo, useCallback} from "react" + +import RunButton from "@agenta/oss/src/components/Playground/assets/RunButton" +import {Tooltip} from "antd" +import {useAtomValue} from "jotai" +import {loadable} from "jotai/utils" + +// Use EE run-scoped versions for multi-run support +import {useEvalScenarioQueue} from "@/oss/lib/hooks/useEvalScenarioQueue" +import { + getCurrentRunId, + scenarioStepFamily, + evalAtomStore, +} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms" + +import {RunEvalScenarioButtonProps} from "./types" + +const RunEvalScenarioButton = memo( + ({scenarioId, stepKey, label = "Run Scenario", runId}: RunEvalScenarioButtonProps) => { + const store = evalAtomStore() + + // Use effective runId with fallback using useMemo + const effectiveRunId = useMemo(() => { + if (runId) return runId + try { + return getCurrentRunId() + } catch (error) { + console.warn("[RunEvalScenarioButton] No run ID available:", error) + return "" + } + }, [runId]) + + const {enqueueScenario} = useEvalScenarioQueue({concurrency: 5, runId: effectiveRunId}) + + // Derive invocationParameters via scenario step loadable (run-scoped) - use global store + const stepLoadable = useAtomValue( + loadable(scenarioStepFamily({scenarioId, runId: effectiveRunId})), + {store}, + ) + + // derive running flag directly from run-scoped scenario step data + const isRunning = useMemo(() => { + if (stepLoadable.state !== "hasData" || !stepLoadable.data) return false + const data = stepLoadable.data + return ( + data?.invocationSteps?.some((s: any) => s.status === "running") || + data?.annotationSteps?.some((s: any) => s.status === "running") || + data?.inputSteps?.some((s: any) => s.status === "running") + ) + }, [stepLoadable]) + + // Extract invocation steps (if any) + const invocationSteps = + stepLoadable.state === "hasData" ? stepLoadable.data?.invocationSteps || [] : [] + + // Determine target step + const targetStep = stepKey + ? invocationSteps.find((s) => s.stepKey === stepKey) + : invocationSteps.find((s) => s.invocationParameters) + + const autoStepKey = targetStep?.stepKey + const invocationParameters = targetStep?.invocationParameters + const invocationStepStatus = targetStep?.status + + const handleClick = useCallback(() => { + if (invocationParameters) { + enqueueScenario(scenarioId, autoStepKey) + } + }, [enqueueScenario, scenarioId, autoStepKey, invocationParameters]) + + const button = useMemo( + () => ( + + ), + [handleClick, isRunning, invocationStepStatus, invocationParameters, label], + ) + + return ( +
    + {invocationParameters ? ( + + {JSON.stringify(invocationParameters, null, 2)} +
    + } + > + {button} + + ) : ( + button + )} +
    + ) + }, +) + +export default RunEvalScenarioButton diff --git a/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/RunEvalScenarioButton/types.ts b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/RunEvalScenarioButton/types.ts new file mode 100644 index 0000000000..a523a32155 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/RunEvalScenarioButton/types.ts @@ -0,0 +1,6 @@ +export interface RunEvalScenarioButtonProps { + scenarioId: string + label?: string + stepKey?: string + runId?: string // Optional for multi-run support +} diff --git a/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/ScenarioAnnotationPanel/index.tsx b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/ScenarioAnnotationPanel/index.tsx new file mode 100644 index 0000000000..dc428e3c5a --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/ScenarioAnnotationPanel/index.tsx @@ -0,0 +1,302 @@ +import {FC, memo, useCallback, useMemo, useRef, useState} from "react" + +import {Card, Typography} from "antd" +import clsx from "clsx" +import deepEqual from "fast-deep-equal" +import {useAtomValue} from "jotai" +import {selectAtom, loadable} from "jotai/utils" +import dynamic from "next/dynamic" + +import { + getInitialMetricsFromAnnotations, + getInitialSelectedEvalMetrics, +} from "@/oss/components/pages/observability/drawer/AnnotateDrawer/assets/transforms" +import {UpdatedMetricsType} from "@/oss/components/pages/observability/drawer/AnnotateDrawer/assets/types" +import {isAnnotationCreatedByCurrentUser} from "@/oss/components/pages/observability/drawer/AnnotateDrawer/assets/utils" +import {AnnotationDto} from "@/oss/lib/hooks/useAnnotations/types" +import { + getCurrentRunId, + scenarioStepFamily, + evalAtomStore, +} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms" +import {evaluationRunStateFamily} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms" +import {UseEvaluationRunScenarioStepsFetcherResult} from "@/oss/lib/hooks/useEvaluationRunScenarioSteps/types" + +import AnnotateScenarioButton from "../AnnotateScenarioButton" +import RunEvalScenarioButton from "../RunEvalScenarioButton" + +import {ScenarioAnnotationPanelProps} from "./types" + +const Annotate = dynamic( + () => + import( + "@agenta/oss/src/components/pages/observability/drawer/AnnotateDrawer/assets/Annotate" + ), + {ssr: false}, +) + +const EmptyArray: any[] = [] + +const ScenarioAnnotationPanelAnnotation = memo( + ({ + onAnnotate, + runId, + scenarioId, + buttonClassName, + invStep, + annotationsByStep, + evaluators, + }: ScenarioAnnotationPanelProps) => { + const [errorMessages, setErrorMessages] = useState(EmptyArray as string[]) + + // TODO: move this to a shared utils file + const formatErrorMessages = useCallback((requiredMetrics: Record) => { + const errorMessages: string[] = [] + + for (const [key, data] of Object.entries(requiredMetrics || {})) { + errorMessages.push( + `Value ${data?.value === "" ? "empty string" : data?.value} is not assignable to type ${data?.type} in ${key}`, + ) + } + setErrorMessages(errorMessages) + }, []) + + const [updatedMetrics, setUpdatedMetrics] = useState({}) + + // helper to compute per-step annotation & evaluator lists + const buildAnnotateData = useCallback( + (stepKey: string) => { + const _steps = annotationsByStep?.[stepKey] || [] + const _annotations = _steps + .map((s) => s.annotation) + .filter(Boolean) as AnnotationDto[] + const annotationEvaluatorSlugs = _annotations + .map((annotation) => annotation?.references?.evaluator?.slug) + .filter(Boolean) + + return { + annotations: _annotations, + evaluatorSlugs: + evaluators + ?.map((e) => e.slug) + .filter((slug) => !annotationEvaluatorSlugs.includes(slug)) || [], + evaluators: + evaluators?.filter((e) => !annotationEvaluatorSlugs.includes(e.slug)) || [], + } + }, + [annotationsByStep, evaluators], + ) + + const {_annotations, isAnnotated, isCreatedByCurrentUser, selectedEvaluators} = + useMemo(() => { + const annotateData = buildAnnotateData(invStep.stepKey) + + const _annotations = annotateData.annotations + const selectedEvaluators = annotateData.evaluatorSlugs + + const isAnnotated = _annotations.length > 0 + const isCreatedByCurrentUser = _annotations.length + ? _annotations.some((ann) => isAnnotationCreatedByCurrentUser(ann)) + : true + + return { + isAnnotated, + isCreatedByCurrentUser, + selectedEvaluators, + _annotations, + } + }, [invStep.stepKey, buildAnnotateData, evaluators]) + + const isChangedMetricData = useMemo(() => { + const annotateData = buildAnnotateData(invStep.stepKey) + + const initialAnnotationMetrics = getInitialMetricsFromAnnotations({ + annotations: annotateData.annotations, + evaluators, + }) + const annotationSlugs = annotateData.annotations + .map((ann) => ann.references?.evaluator?.slug) + .filter(Boolean) + + // Filter updatedMetrics to only include user existing annotations + const filteredUpdatedMetrics = Object.fromEntries( + Object.entries(updatedMetrics).filter(([slug]) => annotationSlugs.includes(slug)), + ) + + if ( + Object.keys(filteredUpdatedMetrics).length === 0 && + filteredUpdatedMetrics.constructor === Object + ) { + return true + } + return deepEqual(filteredUpdatedMetrics, initialAnnotationMetrics) + }, [updatedMetrics, evaluators, invStep.stepKey]) + + const isChangedSelectedEvalMetrics = useMemo(() => { + const annotateData = buildAnnotateData(invStep.stepKey) + const selectedEvaluators = annotateData.evaluatorSlugs + + const initialSelectedEvalMetrics = getInitialSelectedEvalMetrics({ + evaluators: annotateData.evaluators, + selectedEvaluators, + }) + + const filteredUpdatedMetrics = Object.fromEntries( + Object.entries(updatedMetrics).filter(([slug]) => + selectedEvaluators.includes(slug), + ), + ) + + if ( + Object.keys(filteredUpdatedMetrics).length === 0 && + filteredUpdatedMetrics.constructor === Object + ) { + return true + } + + return deepEqual(filteredUpdatedMetrics, initialSelectedEvalMetrics) + }, [updatedMetrics, updatedMetrics, evaluators, invStep.stepKey]) + + return ( +
    + + +
    + ) + }, +) + +const ScenarioAnnotationPanel: FC = ({ + runId, + scenarioId, + className, + classNames, + buttonClassName, + onAnnotate, +}) => { + const store = evalAtomStore() + + // Use effective runId with fallback using useMemo + const effectiveRunId = useMemo(() => { + if (runId) return runId + try { + return getCurrentRunId() + } catch (error) { + console.warn("[ScenarioAnnotationPanel] No run ID available:", error) + return "" + } + }, [runId]) + + // Get evaluators from run-scoped state instead of global atom + const evaluatorsSelector = useCallback((state: any) => { + return state?.enrichedRun?.evaluators ? Object.values(state.enrichedRun.evaluators) : [] + }, []) + + const evaluatorsAtom = useMemo( + () => selectAtom(evaluationRunStateFamily(effectiveRunId), evaluatorsSelector, deepEqual), + [effectiveRunId, evaluatorsSelector], + ) + const evaluators = useAtomValue(evaluatorsAtom, {store}) + + // Loadable step data for this scenario (always eager) - now run-scoped + // Read from the same global store that writes are going to + const stepDataLoadable = useAtomValue( + loadable(scenarioStepFamily({scenarioId, runId: effectiveRunId})), + {store}, + ) + + // Preserve last known data so we can still show tool-tips / fields while revalidating + const prevDataRef = useRef(undefined) + + let stepData: UseEvaluationRunScenarioStepsFetcherResult | undefined = undefined + if (stepDataLoadable.state === "hasData") { + stepData = stepDataLoadable.data + prevDataRef.current = stepDataLoadable.data + } else if (stepDataLoadable.state === "loading") { + stepData = prevDataRef.current + } + + // Memoize field slices for best performance (multi-step) + const _invocationSteps = useMemo(() => stepData?.invocationSteps ?? [], [stepData]) + // Build annotations per step key + const annotationsByStep = useMemo(() => { + if (!stepData) return {} + + type AnnStep = (typeof stepData.steps)[number] + const map: Record = {} + if (!stepData?.steps || !_invocationSteps.length) return map + + // Pre-compute all annotation steps once (annotation step = has invocation key prefix) + const allAnnSteps = (stepData.steps || []).filter((s) => + _invocationSteps.some((invStep) => (s.stepKey ?? "").startsWith(`${invStep.stepKey}.`)), + ) + _invocationSteps.forEach(({stepKey}) => { + const anns = allAnnSteps.filter((s) => (s.stepKey ?? "").startsWith(`${stepKey}.`)) + map[stepKey] = anns + }) + return map + }, [stepData?.steps, _invocationSteps]) + + const hasAnyTrace = useMemo(() => _invocationSteps.some((s) => s.traceId), [_invocationSteps]) + + return ( + +
    + {_invocationSteps.map((invStep) => { + return ( + + ) + })} +
    + {!hasAnyTrace ? ( +
    + To annotate, please generate output + +
    + ) : null} +
    + ) +} + +export default ScenarioAnnotationPanel diff --git a/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/ScenarioAnnotationPanel/types.ts b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/ScenarioAnnotationPanel/types.ts new file mode 100644 index 0000000000..510a28fad2 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/ScenarioAnnotationPanel/types.ts @@ -0,0 +1,16 @@ +import {CardProps} from "antd" + +import {IStepResponse} from "@/oss/lib/hooks/useEvaluationRunScenarioSteps/types" +import {EvaluatorDto} from "@/oss/lib/hooks/useEvaluators/types" + +export interface ScenarioAnnotationPanelProps { + runId: string + scenarioId: string + className?: string + classNames?: CardProps["classNames"] + buttonClassName?: string + invStep?: IStepResponse + annotationsByStep?: Record + evaluators?: EvaluatorDto[] + onAnnotate?: () => void +} diff --git a/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/ScenarioLoadingIndicator/ScenarioLoadingIndicator.tsx b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/ScenarioLoadingIndicator/ScenarioLoadingIndicator.tsx new file mode 100644 index 0000000000..395d7e4fee --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/ScenarioLoadingIndicator/ScenarioLoadingIndicator.tsx @@ -0,0 +1,23 @@ +import {memo} from "react" + +import {Progress} from "antd" +import {useAtomValue} from "jotai" + +import {scenarioStepProgressFamily} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms" + +import {conicColors} from "./assets/constants" + +const ScenarioLoadingIndicator = ({runId}: {runId: string}) => { + const scenarioStepProgress = useAtomValue(scenarioStepProgressFamily(runId)) + + return scenarioStepProgress.loadingStep === "scenario-steps" ? ( + + ) : null +} + +export default memo(ScenarioLoadingIndicator) diff --git a/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/ScenarioLoadingIndicator/assets/constants.ts b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/ScenarioLoadingIndicator/assets/constants.ts new file mode 100644 index 0000000000..bc4a530f64 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/ScenarioLoadingIndicator/assets/constants.ts @@ -0,0 +1,7 @@ +import type {ProgressProps} from "antd" + +export const conicColors: ProgressProps["strokeColor"] = { + "0%": "#87d068", + "50%": "#ffe58f", + "100%": "#ffccc7", +} diff --git a/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/SingleScenarioViewer/index.tsx b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/SingleScenarioViewer/index.tsx new file mode 100644 index 0000000000..bcf68d8f6f --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/HumanEvalRun/components/SingleScenarioViewer/index.tsx @@ -0,0 +1,130 @@ +import {memo, useEffect} from "react" + +import {Button, Space, Typography} from "antd" +import clsx from "clsx" +import {useAtom, useAtomValue} from "jotai" +import {loadable} from "jotai/utils" +import {useRouter} from "next/router" + +import {useRunId} from "@/oss/contexts/RunIdContext" +import { + displayedScenarioIdsFamily, + scenariosFamily, + evalAtomStore, + scenarioStepProgressFamily, +} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms" + +import EvalRunScenarioNavigator from "../../../components/EvalRunScenarioNavigator" +import {urlStateAtom} from "../../../state/urlState" +import EvalRunScenarioCard from "../EvalRunScenarioCard" +import ScenarioAnnotationPanel from "../ScenarioAnnotationPanel" +import ScenarioLoadingIndicator from "../ScenarioLoadingIndicator/ScenarioLoadingIndicator" + +import {SingleScenarioViewerProps} from "./types" + +const SingleScenarioViewer = ({runId}: SingleScenarioViewerProps) => { + // Use run-scoped atoms with the provided runId + const effectiveRunId = useRunId() || runId + const store = evalAtomStore() + + // Read from the same global store that writes are going to + const scenariosLoadable = useAtomValue(loadable(scenariosFamily(effectiveRunId)), {store}) + const scenarioIdsFromFamily = useAtomValue(displayedScenarioIdsFamily(effectiveRunId), {store}) + + // Fallback: if displayedScenarioIdsFamily is empty but scenariosLoadable has data, use that + const scenarioIds = + scenarioIdsFromFamily?.length > 0 + ? scenarioIdsFromFamily + : scenariosLoadable.state === "hasData" + ? scenariosLoadable.data?.map((s) => s.id) || [] + : [] + const scenarioStepProgress = useAtomValue(scenarioStepProgressFamily(effectiveRunId), {store}) + + // Access URL state atom + const router = useRouter() + const [urlState, setUrlState] = useAtom(urlStateAtom) + + // Prefer URL query first, then atom, then fallback + const activeId = + (router.query.scenarioId as string | undefined) ?? urlState.scenarioId ?? scenarioIds[0] + + // Ensure URL/atom always reference a scenario visible in current list + // Ensure URL/atom correctness + useEffect(() => { + if (scenarioIds.length === 0) return + + const currentScenarioId = + (router.query.scenarioId as string | undefined) ?? urlState.scenarioId + + if (!currentScenarioId || !scenarioIds.includes(currentScenarioId)) { + // Default to the first scenario for this run when no valid selection/deep-link. + setUrlState((draft) => { + draft.scenarioId = scenarioIds[0] + }) + return + } + }, [scenarioIds, router.query.scenarioId, urlState.scenarioId, setUrlState]) + + if (scenariosLoadable.state !== "hasData") { + const step = scenarioStepProgress.loadingStep as string | undefined + if (step === "eval-run" || step === "scenarios") { + return ( + + + )} +
    + setSearchTerm(e.target.value)} + /> + +
    + +
    {menu}
    +
    + )} + {...selectProps} + > + {_scenarios.map((scenario) => { + const {id, scenarioIndex} = scenario as any + + // non-hook read; never suspends + const loadableStatus = evalAtomStore().get( + loadable(scenarioStatusFamily({scenarioId: id, runId: effectiveRunId})), + ) + const scenStatus = + loadableStatus.state === "hasData" + ? loadableStatus.data + : {status: "pending", label: "Pending"} + + const colorClass = statusColorMap[scenStatus.status] + const labelIndex = scenarioIndex ?? scenarioIds.indexOf(id) + 1 + + return ( + +
    + Scenario {labelIndex} + {scenStatus.status} +
    +
    + ) + })} + + + {activeId && showStatus ? ( + + ) : null} +
    + + {!showOnlySelect && ( + + )} + + ) +} + +export default memo(EvalRunScenarioNavigator) diff --git a/web/ee/src/components/EvalRunDetails/components/EvalRunScenarioStatusTag/assets/index.tsx b/web/ee/src/components/EvalRunDetails/components/EvalRunScenarioStatusTag/assets/index.tsx new file mode 100644 index 0000000000..2b87a19431 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/components/EvalRunScenarioStatusTag/assets/index.tsx @@ -0,0 +1,32 @@ +export const STATUS_COLOR: Record = { + success: "success", + done: "success", + failure: "error", + failed: "error", + EVALUATION_FAILED: "error", + EVALUATION_FINISHED_WITH_ERRORS: "warning", + cancelled: "warning", + EVALUATION_AGGREGATION_FAILED: "warning", + pending: "default", + EVALUATION_INITIALIZED: "default", + running: "blue", + incomplete: "blue", + EVALUATION_STARTED: "blue", + revalidating: "purple", +} + +export const STATUS_COLOR_TEXT: Record = { + success: "text-green-600", + done: "text-green-600", + failure: "text-red-500", + failed: "text-red-500", + EVALUATION_FAILED: "text-red-500", + EVALUATION_FINISHED_WITH_ERRORS: "text-orange-500", + cancelled: "text-yellow-500", + EVALUATION_AGGREGATION_FAILED: "text-orange-500", + pending: "text-gray-400", + EVALUATION_INITIALIZED: "text-gray-400", + running: "text-blue-500", + EVALUATION_STARTED: "text-blue-500", + revalidating: "text-purple-500", +} diff --git a/web/ee/src/components/EvalRunDetails/components/EvalRunScenarioStatusTag/index.tsx b/web/ee/src/components/EvalRunDetails/components/EvalRunScenarioStatusTag/index.tsx new file mode 100644 index 0000000000..16037b2e8e --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/components/EvalRunScenarioStatusTag/index.tsx @@ -0,0 +1,67 @@ +import {memo, useMemo} from "react" + +import {Tag} from "antd" +import clsx from "clsx" +import {useAtomValue} from "jotai" +import {loadable} from "jotai/utils" + +import {getStatusLabel} from "@/oss/lib/constants/statusLabels" +import { + scenarioStatusFamily, + evalAtomStore, +} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms" + +import {STATUS_COLOR, STATUS_COLOR_TEXT} from "./assets" +/** + * Component to display the status of an evaluation scenario as a Tag. + * + * Retrieves the optimistic scenario overrides for the given scenarioId, + * and uses them to show transient UI-only states like "annotating" or + * "revalidating" if the backend has not yet been updated. + * + * @param scenarioId The ID of the scenario to display the status for. + * @returns A Tag component displaying the status of the scenario. + */ +interface EvalRunScenarioStatusTagProps { + scenarioId: string + runId: string + className?: string + showAsTag?: boolean +} + +const EvalRunScenarioStatusTag = ({ + scenarioId, + runId, + className, + showAsTag = true, +}: EvalRunScenarioStatusTagProps) => { + const store = evalAtomStore() + + /** + * Loadable atom wrapping scenarioStatusFamily, which provides the most + * up-to-date status for the given scenarioId. This can be either a status + * that is being optimistically updated, or the latest status update from + * the backend. + * + * @type {import("jotai/utils").Loadable} + */ + const statusLoadable = useAtomValue( + useMemo(() => loadable(scenarioStatusFamily({scenarioId, runId})), [scenarioId, runId]), + {store}, + ) + const scenarioStatus = statusLoadable.state === "hasData" ? statusLoadable.data : undefined + const status = (scenarioStatus?.status as string) || "pending" + const label = getStatusLabel(status) + + return showAsTag ? ( + + {label} + + ) : ( + + {label} + + ) +} + +export default memo(EvalRunScenarioStatusTag) diff --git a/web/ee/src/components/EvalRunDetails/components/EvalRunScenariosViewSelector/assets/constants.ts b/web/ee/src/components/EvalRunDetails/components/EvalRunScenariosViewSelector/assets/constants.ts new file mode 100644 index 0000000000..b548d80e60 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/components/EvalRunScenariosViewSelector/assets/constants.ts @@ -0,0 +1,20 @@ +// Feature flag to toggle prototype card (list) view +export const ENABLE_CARD_VIEW = process.env.NEXT_PUBLIC_ENABLE_EVAL_CARD_VIEW === "true" + +export const VIEW_HUMAN_OPTIONS = (() => { + const base = [ + {label: "Focus view", value: "focus"}, + {label: "Table view", value: "table"}, + {label: "Results view", value: "results"}, + ] + if (ENABLE_CARD_VIEW) { + base.splice(1, 0, {label: "Card view", value: "list"}) + } + return base +})() + +export const VIEW_AUTO_OPTIONS = [ + {label: "Overview", value: "overview"}, + {label: "Test cases", value: "test-cases"}, + {label: "Prompt configuration", value: "prompt"}, +] diff --git a/web/ee/src/components/EvalRunDetails/components/EvalRunScenariosViewSelector/index.tsx b/web/ee/src/components/EvalRunDetails/components/EvalRunScenariosViewSelector/index.tsx new file mode 100644 index 0000000000..d3f13ffab0 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/components/EvalRunScenariosViewSelector/index.tsx @@ -0,0 +1,51 @@ +import {memo, useTransition} from "react" + +import {Radio} from "antd" +import {useAtomValue, useSetAtom} from "jotai" + +import {evalAtomStore} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms" + +import {evalTypeAtom} from "../../state/evalType" +import {runViewTypeAtom, urlStateAtom} from "../../state/urlState" + +import {ENABLE_CARD_VIEW, VIEW_HUMAN_OPTIONS, VIEW_AUTO_OPTIONS} from "./assets/constants" + +const EvalRunScenariosViewSelector = () => { + const store = evalAtomStore() + const evalType = useAtomValue(evalTypeAtom) + // Read from the same global store that writes are going to + const viewType = useAtomValue(runViewTypeAtom, {store}) + const [_isPending, startTransition] = useTransition() + + const setUrlState = useSetAtom(urlStateAtom, {store}) + + // Sync local atom from urlStateAtom changes + return ( +
    + { + const v = e.target.value as "focus" | "list" | "table" + startTransition(() => { + setUrlState((draft) => { + draft.view = v + }) + }) + }} + defaultValue={"focus"} + value={ENABLE_CARD_VIEW ? viewType : viewType === "list" ? "focus" : viewType} + > + {(evalType === "human" ? VIEW_HUMAN_OPTIONS : VIEW_AUTO_OPTIONS).map((option) => ( + + {option.label} + + ))} + +
    + ) +} + +export default memo(EvalRunScenariosViewSelector) diff --git a/web/ee/src/components/EvalRunDetails/components/SaveDataModal/assets/SaveDataButton.tsx b/web/ee/src/components/EvalRunDetails/components/SaveDataModal/assets/SaveDataButton.tsx new file mode 100644 index 0000000000..d7b20242eb --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/components/SaveDataModal/assets/SaveDataButton.tsx @@ -0,0 +1,65 @@ +import {cloneElement, isValidElement, memo, MouseEvent, useState} from "react" + +import {ArrowSquareOut, Database} from "@phosphor-icons/react" +import dynamic from "next/dynamic" + +import EnhancedButton from "@/oss/components/Playground/assets/EnhancedButton" + +import {SaveDataButtonProps} from "./types" + +const SaveDataModal = dynamic(() => import(".."), {ssr: false}) + +const SaveDataButton = ({ + name, + rows, + exportDataset = false, + icon = true, + children, + label, + onClick, + ...props +}: SaveDataButtonProps) => { + const [isModalOpen, setIsModalOpen] = useState(false) + + return ( + <> + {isValidElement(children) ? ( + cloneElement( + children as React.ReactElement<{ + onClick: (e: MouseEvent) => void + }>, + { + onClick: (e) => { + onClick?.(e) + setIsModalOpen(true) + }, + }, + ) + ) : ( + : ) + } + onClick={async (e) => { + await onClick?.(e) + setIsModalOpen(true) + }} + label={label} + {...props} + /> + )} + + setIsModalOpen(false)} + /> + + ) +} + +export default memo(SaveDataButton) diff --git a/web/ee/src/components/EvalRunDetails/components/SaveDataModal/assets/SaveDataModalContent.tsx b/web/ee/src/components/EvalRunDetails/components/SaveDataModal/assets/SaveDataModalContent.tsx new file mode 100644 index 0000000000..2e1070caf3 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/components/SaveDataModal/assets/SaveDataModalContent.tsx @@ -0,0 +1,82 @@ +import {useMemo} from "react" + +import {Input, Select, Typography} from "antd" + +import EnhancedTable from "@/oss/components/EnhancedUIs/Table" +import useFocusInput from "@/oss/hooks/useFocusInput" + +import {SaveDataModalContentProps} from "./types" + +const SaveDataModalContent = ({ + rows, + rowKeys, + exportDataset, + name, + setName, + isOpen, + selectedColumns, + setSelectedColumns, +}: SaveDataModalContentProps) => { + const {inputRef} = useFocusInput({isOpen}) + + const columns = useMemo(() => { + if (selectedColumns.length === 0) { + return [{title: "-", dataIndex: "-"}] + } + return selectedColumns.map((key) => ({ + title: key, + dataIndex: key, + width: 150, + ellipsis: true, + })) + }, [selectedColumns]) + + const options = useMemo(() => { + return rowKeys.map((key) => ({label: key, value: key})) + }, [rowKeys]) + + return ( +
    +
    + + {exportDataset ? "File name" : "Test set name"} + + setName(e.target.value)} + value={name} + /> +
    + +
    + Columns + + {availableRuns.map((run) => ( + +
    + {run.name} +
    + + {run.status} + + + {run.createdAt} + +
    +
    +
    + {run.id.slice(0, 8)}... +
    +
    + ))} + +
    + + {selectedRuns.length > 0 && ( +
    +
    Comparison Preview:
    +
    +
    + Base + + {currentRun?.name || `Current Run`} + +
    + {selectedRuns.map((runId) => { + const run = availableRuns.find( + (r: AvailableRun) => r.id === runId, + ) + return ( +
    + Compare + {run?.name} +
    + ) + })} +
    +
    + )} + +
    + + 💡 Tip: Use comparison mode to analyze performance differences between + runs + +
    +
    + + + ) +} + +export default memo(ComparisonModeToggle) diff --git a/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/MetricCell/CollapsedAnnotationValueCell.tsx b/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/MetricCell/CollapsedAnnotationValueCell.tsx new file mode 100644 index 0000000000..1497de3cfe --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/MetricCell/CollapsedAnnotationValueCell.tsx @@ -0,0 +1,106 @@ +import {memo, useMemo} from "react" + +import deepEqual from "fast-deep-equal" +import {useAtomValue} from "jotai" +import {atomFamily, selectAtom} from "jotai/utils" + +import LabelValuePill from "@/oss/components/ui/LabelValuePill" +import {loadableScenarioStepFamily} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms/runScopedScenarios" + +import {CellWrapper} from "../CellComponents" + +import {CollapsedAnnotationValueCellProps} from "./types" + +function buildCollapsedValues(data: any, keys: string[]) { + const annotations: any[] = [] + + if (Array.isArray(data?.annotationSteps) && data.annotationSteps.length) { + annotations.push(...data.annotationSteps.map((st: any) => st.annotation).filter(Boolean)) + } + if (data?.annotations?.length) { + annotations.push(...data.annotations) + } + if (data?.annotation) { + annotations.push(data.annotation) + } + + // Deduplicate by span_id+trace_id to avoid duplicates if same ann appears in multiple arrays + const unique = new Map() + annotations.forEach((ann) => { + if (!ann) return + const key = `${ann.trace_id || ""}_${ann.span_id || Math.random()}` + if (!unique.has(key)) unique.set(key, ann) + }) + + const out: Record = {} + keys.forEach((fieldPath) => { + for (const ann of unique.values()) { + let val = fieldPath + .split(".") + .reduce((acc: any, k: string) => (acc ? acc[k] : undefined), ann) + + if (val === undefined && fieldPath.startsWith("data.outputs.")) { + const suffix = fieldPath.slice("data.outputs.".length) + val = ann?.data?.outputs?.metrics?.[suffix] ?? ann?.data?.outputs?.extra?.[suffix] + } + if (val !== undefined) { + out[fieldPath] = val + break // stop at first found value + } + } + }) + return out +} + +export const collapsedAnnotationValuesFamily = atomFamily( + ({scenarioId, runId, keys}: {scenarioId: string; runId: string; keys: string[]}) => + selectAtom( + loadableScenarioStepFamily({scenarioId, runId}), + (loadableData) => + buildCollapsedValues( + loadableData.state === "hasData" ? loadableData.data : undefined, + keys, + ), + deepEqual, + ), +) + +const CollapsedAnnotationValueCell = memo( + ({scenarioId, runId, childrenDefs}) => { + const keyPaths = useMemo( + () => childrenDefs.map((c) => c.path || c.dataIndex || c.key) as string[], + [childrenDefs], + ) + const familyParam = useMemo( + () => ({scenarioId, runId, keys: keyPaths}), + [scenarioId, runId, keyPaths], + ) + + const out = useAtomValue(collapsedAnnotationValuesFamily(familyParam)) + + if (!Object.keys(out).length) { + return ( + + + + ) + } + + return ( + +
    + {Object.entries(out).map(([name, val]) => ( + + ))} +
    +
    + ) + }, +) + +export default CollapsedAnnotationValueCell diff --git a/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/MetricCell/CollapsedMetricValueCell.tsx b/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/MetricCell/CollapsedMetricValueCell.tsx new file mode 100644 index 0000000000..e99deda613 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/MetricCell/CollapsedMetricValueCell.tsx @@ -0,0 +1,308 @@ +import {memo, useMemo, type ReactNode} from "react" + +import {useAtomValue} from "jotai" + +import {formatColumnTitle} from "@/oss/components/Filters/EditColumns/assets/helper" +import {formatMetricValue} from "@/oss/components/HumanEvaluations/assets/MetricDetailsPopover/assets/utils" +import LabelValuePill from "@/oss/components/ui/LabelValuePill" +import { + SchemaMetricType, + canonicalizeMetricKey, + extractPrimitive, + getMetricValueWithAliases, + summarizeMetric, +} from "@/oss/lib/metricUtils" + +import {scenarioMetricSelectorFamily} from "../../../../../../lib/hooks/useEvaluationRunData/assets/atoms/runScopedMetrics" +import {TableColumn} from "../../types" +import {CellWrapper} from "../CellComponents" + +export interface CollapsedMetricValueCellProps { + scenarioId: string + evaluatorSlug?: string + runId: string + childrenDefs?: TableColumn[] +} + +interface PillEntry { + label: string + value: string +} + +const includesBooleanType = (metricType?: SchemaMetricType): boolean => { + if (!metricType) return false + return Array.isArray(metricType) ? metricType.includes("boolean") : metricType === "boolean" +} + +const flattenColumns = (columns?: TableColumn[]): TableColumn[] => { + if (!columns?.length) return [] + const queue = [...columns] + const leaves: TableColumn[] = [] + + while (queue.length) { + const column = queue.shift() + if (!column) continue + if (column.children && column.children.length) { + queue.push(...column.children) + } else { + leaves.push(column) + } + } + + return leaves +} + +const toBooleanString = (value: unknown): string | undefined => { + if (typeof value === "boolean") return value ? "true" : "false" + if (typeof value === "number") { + if (value === 1) return "true" + if (value === 0) return "false" + } + if (typeof value === "string") { + const trimmed = value.trim().toLowerCase() + if (trimmed === "true" || trimmed === "false") return trimmed + if (trimmed === "1") return "true" + if (trimmed === "0") return "false" + } + return undefined +} + +const extractBooleanFromStats = (value: any): string | undefined => { + if (!value || typeof value !== "object") return undefined + const candidates: unknown[] = [] + if (Array.isArray(value.rank) && value.rank.length) { + candidates.push(value.rank[0]?.value) + } + if (Array.isArray(value.frequency) && value.frequency.length) { + candidates.push(value.frequency[0]?.value) + } + if ("mean" in value) candidates.push(value.mean) + if ("sum" in value) candidates.push(value.sum) + if ("value" in value) candidates.push((value as any).value) + + for (const candidate of candidates) { + const boolString = toBooleanString(candidate) + if (boolString) return boolString + } + return undefined +} + +const resolveBooleanDisplay = ({ + summarized, + rawValue, + metricType, +}: { + summarized: unknown + rawValue: unknown + metricType?: SchemaMetricType +}): string | undefined => { + const preferBoolean = includesBooleanType(metricType) + if (preferBoolean) { + const summaryBool = toBooleanString(summarized) + if (summaryBool) return summaryBool + const rawBool = + toBooleanString(rawValue) || + (typeof rawValue === "object" ? extractBooleanFromStats(rawValue) : undefined) + if (rawBool) return rawBool + } else { + const rawBool = + toBooleanString(rawValue) || + (typeof rawValue === "object" ? extractBooleanFromStats(rawValue) : undefined) + if (rawBool) return rawBool + const summaryBool = toBooleanString(summarized) + if (summaryBool) return summaryBool + } + return undefined +} + +const summariseMetricValue = (value: unknown, metricType?: SchemaMetricType) => { + if (value === null || value === undefined) return undefined + + if (typeof value === "object" && !Array.isArray(value)) { + const summary = summarizeMetric(value as any, metricType) + if (summary !== undefined) return summary + + const primitive = extractPrimitive(value) + if (primitive !== undefined) return primitive + } + + return value +} + +const buildCandidateKeys = (column: TableColumn, evaluatorSlug?: string): string[] => { + const keys = new Set() + const addKey = (key?: string) => { + if (!key) return + if (!keys.has(key)) keys.add(key) + const canonical = canonicalizeMetricKey(key) + if (canonical !== key && !keys.has(canonical)) { + keys.add(canonical) + } + } + + addKey(column.path) + addKey(column.fallbackPath) + if (typeof column.key === "string") addKey(column.key) + + if (column.path?.includes(".")) { + const tail = column.path.split(".").pop() + if (tail) addKey(tail) + } + + if (evaluatorSlug) { + const ensurePrefixed = (raw?: string) => { + if (!raw) return + if (raw.startsWith(`${evaluatorSlug}.`)) { + addKey(raw) + } else { + addKey(`${evaluatorSlug}.${raw}`) + } + } + + ensurePrefixed(column.path) + ensurePrefixed(column.fallbackPath) + if (typeof column.key === "string") ensurePrefixed(column.key) + } + + return Array.from(keys).filter(Boolean) +} + +const buildLabel = (column: TableColumn) => { + const raw = + (typeof column.title === "string" && column.title.trim()) || + (typeof column.name === "string" && column.name.trim()) || + column.path?.split(".").pop() || + (typeof column.key === "string" ? column.key : "") || + "" + + const base = raw || "Metric" + return /\s/.test(base) || base.includes("(") ? base : formatColumnTitle(base) +} + +const buildCollapsedPills = ({ + rowMetrics, + childrenDefs, + evaluatorSlug, +}: { + rowMetrics: Record + childrenDefs?: TableColumn[] + evaluatorSlug?: string +}): PillEntry[] => { + if (!rowMetrics || typeof rowMetrics !== "object") return [] + + const leaves = flattenColumns(childrenDefs) + if (!leaves.length) return [] + + const seenLabels = new Set() + const result: PillEntry[] = [] + + leaves.forEach((column) => { + const candidateKeys = buildCandidateKeys(column, evaluatorSlug) + let rawValue: unknown + let resolvedKey: string | undefined + + for (const key of candidateKeys) { + if (!key) continue + if (rowMetrics[key] !== undefined) { + rawValue = rowMetrics[key] + resolvedKey = key + break + } + const alias = getMetricValueWithAliases(rowMetrics, key) + if (alias !== undefined) { + rawValue = alias + resolvedKey = key + break + } + } + + if (rawValue === undefined) return + + const summarized = summariseMetricValue(rawValue, column.metricType) + if (summarized === undefined || summarized === null) return + + const canonicalKey = canonicalizeMetricKey(resolvedKey ?? column.path ?? column.key ?? "") + const label = buildLabel(column) + if (!label.trim() || seenLabels.has(label)) return + const booleanDisplay = resolveBooleanDisplay({ + summarized, + rawValue, + metricType: column.metricType, + }) + + const value = + booleanDisplay ?? + (typeof summarized === "number" + ? formatMetricValue(canonicalKey, summarized) + : String(summarized)) + + seenLabels.add(label) + result.push({label, value}) + }) + + return result +} + +interface BaseCellProps extends CollapsedMetricValueCellProps { + emptyState: ReactNode +} + +const BaseCollapsedMetricValueCell = ({ + scenarioId, + evaluatorSlug, + runId, + childrenDefs, + emptyState, +}: BaseCellProps) => { + const rowMetrics = useAtomValue(scenarioMetricSelectorFamily({runId, scenarioId})) || {} + + const pillEntries = useMemo( + () => + buildCollapsedPills({ + rowMetrics, + childrenDefs, + evaluatorSlug, + }), + [rowMetrics, childrenDefs, evaluatorSlug], + ) + + if (!pillEntries.length) { + return ( + + {typeof emptyState === "string" ? ( + {emptyState} + ) : ( + emptyState + )} + + ) + } + + return ( + +
    + {pillEntries.map(({label, value}) => ( + + ))} +
    +
    + ) +} + +const CollapsedMetricValueCell = memo((props) => ( + +)) + +export const AutoEvalCollapsedMetricValueCell = memo((props) => ( + } + /> +)) + +export default CollapsedMetricValueCell diff --git a/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/MetricCell/CollapsedMetricsCell.tsx b/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/MetricCell/CollapsedMetricsCell.tsx new file mode 100644 index 0000000000..ceb5dd2df9 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/MetricCell/CollapsedMetricsCell.tsx @@ -0,0 +1,34 @@ +import {memo} from "react" + +import {useAtomValue} from "jotai" + +import {scenarioMetricsMapFamily} from "../../../../../../lib/hooks/useEvaluationRunData/assets/atoms/runScopedMetrics" +import {CellWrapper} from "../CellComponents" + +export interface CollapsedMetricsCellProps { + scenarioId: string + evaluatorSlug?: string // undefined → include all evaluators +} + +const CollapsedMetricsCell = memo(({scenarioId, evaluatorSlug}) => { + const rowMetrics = useAtomValue(scenarioMetricsMapFamily(scenarioId)) || {} + + const filtered: Record = {} + Object.entries(rowMetrics).forEach(([k, v]) => { + if (!evaluatorSlug) { + filtered[k] = v + } else if (k.startsWith(`${evaluatorSlug}.`)) { + filtered[k.slice(evaluatorSlug.length + 1)] = v + } + }) + + return ( + +
    +                {Object.keys(filtered).length ? JSON.stringify(filtered) : ""}
    +            
    +
    + ) +}) + +export default CollapsedMetricsCell diff --git a/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/MetricCell/MetricCell.tsx b/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/MetricCell/MetricCell.tsx new file mode 100644 index 0000000000..4328802974 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/MetricCell/MetricCell.tsx @@ -0,0 +1,322 @@ +import {type ReactNode, memo, useMemo} from "react" + +import {Tag, Tooltip} from "antd" +import clsx from "clsx" +import {useAtomValue} from "jotai" + +import {urlStateAtom} from "@/oss/components/EvalRunDetails/state/urlState" +import MetricDetailsPopover from "@/oss/components/HumanEvaluations/assets/MetricDetailsPopover" // adjust path if necessary +import {formatMetricValue} from "@/oss/components/HumanEvaluations/assets/MetricDetailsPopover/assets/utils" // same util used elsewhere +import {Expandable} from "@/oss/components/Tables/ExpandableCell" +import {useRunId} from "@/oss/contexts/RunIdContext" +import {getStatusLabel} from "@/oss/lib/constants/statusLabels" +import { + evalAtomStore, + loadableScenarioStepFamily, +} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms" +import {runScopedMetricDataFamily} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms/runScopedMetrics" +import {EvaluationStatus} from "@/oss/lib/Types" + +import {STATUS_COLOR_TEXT} from "../../../EvalRunScenarioStatusTag/assets" +import {CellWrapper} from "../CellComponents" // CellWrapper is default export? need to check. + +import {AnnotationValueCellProps, MetricCellProps, MetricValueCellProps} from "./types" + +/* + * MetricCell – common renderer for metric columns (scenario-level or evaluator-level). + * Props: + * - metricKey: base metric name (without evaluator slug) + * - fullKey: full metric path as used in maps (e.g. "evaluator.slug.score") + * - value: value for current scenario row + * - distInfo: pre-computed distribution / stats for popover (optional) + * - metricType: primitive type from evaluator schema ("number", "boolean", "array", etc.) + */ + +const MetricCell = memo( + ({ + hidePrimitiveTable = true, + scenarioId, + metricKey, + fullKey, + value, + distInfo, + metricType, + isComparisonMode, + }) => { + if (value === undefined || value === null) { + if (isComparisonMode) { + return ( + +
    + + ) + } + return null + } + + if (typeof value === "object" && Object.keys(value || {}).length === 0) { + if (isComparisonMode) { + return ( + +
    + + ) + } + return null + } + + const frequency = value?.frequency || value?.freq + + if (frequency && frequency?.length > 0) { + const mostFrequent = frequency.reduce((max, current) => + current.count > max.count ? current : max, + ).value + value = mostFrequent + } + + // Non-numeric arrays rendered as Tag list + let formatted: ReactNode = formatMetricValue(metricKey, value) + + if (metricType === "boolean" && Array.isArray(value as any)) { + const trueEntry = (distInfo as any).frequency.find((f: any) => f.value === true) + const total = (distInfo as any).count ?? 0 + if (total) { + return ( +
    +
    +
    +
    + true + false +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + {(((trueEntry?.count ?? 0) / total) * 100).toFixed(2)} +
    +
    + ) + } + } + + if (metricType === "array" || Array.isArray(value)) { + const values = Array.isArray(value) ? value : [value] + // const Component = metricType === "string" ? "span" : Tag + formatted = + metricType === "string" ? ( +
    + {values.map((it: any) => ( +
  2. + {String(it)} +
  3. + ))} +
    + ) : ( +
    + {values.map((it: any) => ( + + {String(it)} + + ))} +
    + ) + } else if (typeof value === "object") { + // Extract primitive when wrapped in an object (e.g. { score, value, ... }) + if ("score" in value) value = (value as any).score + else { + const prim = Object.values(value || {}).find( + (v) => typeof v === "number" || typeof v === "string", + ) + value = prim !== undefined ? prim : JSON.stringify(value) + } + } + + // Boolean metrics – show raw value + if (metricType === "boolean") { + formatted = String(value) + } + + // Wrap in popover when distInfo present + if (distInfo && metricType !== "string") { + return ( + + + + {formatted} + + + + ) + } + + return ( + + + {formatted} + + + ) + }, +) + +// --- Wrapper cell that fetches the value from atoms ---------------------- + +const failureRunTypes = [EvaluationStatus.FAILED, EvaluationStatus.FAILURE, EvaluationStatus.ERROR] + +export const MetricValueCell = memo( + ({scenarioId, metricKey, fallbackKey, fullKey, metricType, evalType, runId}) => { + const param = useMemo( + () => ({runId, scenarioId, metricKey}), + [runId, scenarioId, metricKey], + ) + + const fallbackParam = useMemo( + () => + fallbackKey && fallbackKey !== metricKey + ? ({runId, scenarioId, metricKey: fallbackKey} as const) + : param, + [fallbackKey, metricKey, param, runId, scenarioId], + ) + + const store = evalAtomStore() + + const urlState = useAtomValue(urlStateAtom) + const isComparisonMode = Boolean(urlState.compare && urlState.compare.length > 0) + + let value, distInfo + const result = useAtomValue(runScopedMetricDataFamily(param as any), {store}) + const fallbackResult = useAtomValue(runScopedMetricDataFamily(fallbackParam as any), { + store, + }) + + value = result.value + distInfo = result.distInfo + + if ((value === undefined || value === null) && fallbackResult) { + value = fallbackResult.value + distInfo = distInfo ?? fallbackResult.distInfo + } + const loadable = useAtomValue(loadableScenarioStepFamily({scenarioId, runId})) + + // TODO: remove this from here and create a function or something to also use in somewhere else + // Last minute implementation for eval-checkpoint + const errorStep = useMemo(() => { + if (evalType !== "auto") return null + if (loadable.state === "loading") return null + const [evalSlug, key] = metricKey.split(".") + if (!key) return null // if does not have key that means it's not an evaluator metric + const _step = loadable.data?.steps?.find((s) => s.stepKey === evalSlug) + + if (!_step) { + const invocationStep = loadable.data?.invocationSteps?.find( + (s) => s.scenarioId === scenarioId, + ) + + if (failureRunTypes.includes(invocationStep?.status)) { + return { + status: invocationStep?.status, + error: invocationStep?.error?.stacktrace || invocationStep?.error?.message, + } + } + return null + } + + if (failureRunTypes.includes(_step?.status)) { + return { + status: _step?.status, + error: _step?.error?.stacktrace || _step?.error?.message, + } + } + + return null + }, [loadable]) + + // TODO: create a separate component for error + if (errorStep?.status || errorStep?.error) { + return ( + + + {getStatusLabel(errorStep?.status)} + + + ) + } + + return ( + + ) + }, +) + +// --- Annotation value cell ----------------------------------------------- + +export const AnnotationValueCell = memo( + ({ + scenarioId, + stepKey, + name, + fieldPath, + metricKey, + metricType, + fullKey, + distInfo: propsDistInfo, + }) => { + const stepSlug = stepKey?.includes(".") ? stepKey.split(".")[1] : undefined + const param = useMemo( + () => ({scenarioId, stepSlug, metricKey: metricKey || ""}), + [scenarioId, stepSlug, metricKey], + ) + const {value: metricVal, distInfo} = useAtomValue(metricDataFamily(param)) + + return ( + + ) + }, +) + +export default MetricCell diff --git a/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/MetricCell/types.ts b/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/MetricCell/types.ts new file mode 100644 index 0000000000..677dc9e6a1 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/MetricCell/types.ts @@ -0,0 +1,41 @@ +import {BasicStats, SchemaMetricType} from "@/oss/lib/metricUtils" + +import {TableColumn} from "../types" + +export interface MetricCellProps { + scenarioId: string + metricKey: string + fullKey?: string + value: any + distInfo?: Record | Promise> + metricType?: SchemaMetricType + isComparisonMode?: boolean +} + +export interface MetricValueCellProps { + scenarioId: string + metricKey: string + fallbackKey?: string + fullKey?: string + distInfo?: Record | Promise> + metricType?: SchemaMetricType + evalType?: "auto" | "human" + runId?: string +} + +export interface AnnotationValueCellProps { + scenarioId: string + fieldPath: string // e.g. "data.outputs.isGood" + metricKey: string + fullKey?: string + distInfo?: Record | Promise> + metricType?: SchemaMetricType + stepKey?: string + name?: string +} + +export interface CollapsedAnnotationValueCellProps { + scenarioId: string + childrenDefs: TableColumn[] + runId?: string +} diff --git a/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/StatusCell.tsx b/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/StatusCell.tsx new file mode 100644 index 0000000000..c93ed1d64f --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/StatusCell.tsx @@ -0,0 +1,30 @@ +import {memo} from "react" + +import {useRunId} from "@/oss/contexts/RunIdContext" + +import EvalRunScenarioStatusTag from "../../EvalRunScenarioStatusTag" + +import {CellWrapper} from "./CellComponents" + +interface Props { + scenarioId: string + result?: string + runId?: string +} + +/** + * Lightweight status cell for Scenario rows. + * Displays coloured status tag and optional result snippet. + */ +const StatusCell = ({scenarioId, runId: propRunId}: Props) => { + const contextRunId = useRunId() + const effectiveRunId = propRunId || contextRunId + + return ( + + + + ) +} + +export default memo(StatusCell) diff --git a/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/VirtualizedScenarioTableAnnotateDrawer.tsx b/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/VirtualizedScenarioTableAnnotateDrawer.tsx new file mode 100644 index 0000000000..cb7c668dd4 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/VirtualizedScenarioTableAnnotateDrawer.tsx @@ -0,0 +1,81 @@ +import {memo, useCallback} from "react" + +import {DrawerProps} from "antd" +import clsx from "clsx" +import {useAtomValue} from "jotai" + +import EnhancedDrawer from "@/oss/components/EnhancedUIs/Drawer" +import {virtualScenarioTableAnnotateDrawerAtom} from "@/oss/lib/atoms/virtualTable" +import {evalAtomStore} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms" + +import ScenarioAnnotationPanel from "../../../HumanEvalRun/components/ScenarioAnnotationPanel" + +interface VirtualizedScenarioTableAnnotateDrawerProps extends DrawerProps { + runId?: string +} +const VirtualizedScenarioTableAnnotateDrawer = ({ + runId: propRunId, + ...props +}: VirtualizedScenarioTableAnnotateDrawerProps) => { + const store = evalAtomStore() + + // Annotate drawer state (global, per-run) + const annotateDrawer = useAtomValue(virtualScenarioTableAnnotateDrawerAtom, {store}) + const setAnnotateDrawer = store.set + + const scenarioId = annotateDrawer.scenarioId + // Use runId from atom state if available, fallback to prop + const runId = annotateDrawer.runId || propRunId + + const closeDrawer = useCallback(() => { + setAnnotateDrawer( + virtualScenarioTableAnnotateDrawerAtom, + // @ts-ignore + (prev) => { + return { + ...prev, + open: false, + } + }, + ) + }, []) + + return ( + +
    +
    + {scenarioId && runId && ( + + )} +
    +
    +
    + ) +} + +export default memo(VirtualizedScenarioTableAnnotateDrawer) diff --git a/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/constants.ts b/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/constants.ts new file mode 100644 index 0000000000..d72dfefd9a --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/constants.ts @@ -0,0 +1,92 @@ +// Centralized column widths for easy reuse +export const COLUMN_WIDTHS = { + input: 400, + groundTruth: 460, + response: 400, + action: 140, + metric: 100, + padding: 100, +} as const + +// Table layout constants +export const TABLE_LAYOUT = { + rowHeight: 54, // approximate height of one table row (px) +} as const + +export const SKELETON_ROW_COUNT = 5 + +export const GeneralHumanEvalMetricColumns = [ + { + name: "totalCost", + kind: "metric", + path: "totalCost", + stepKey: "metric", + metricType: "number", + }, + { + name: "Total Duration", + kind: "metric", + path: "duration.total", + stepKey: "metric", + metricType: "number", + }, + { + name: "totalTokens", + kind: "metric", + path: "totalTokens", + stepKey: "metric", + metricType: "number", + }, + { + name: "promptTokens", + kind: "metric", + path: "promptTokens", + stepKey: "metric", + metricType: "number", + }, + { + name: "completionTokens", + kind: "metric", + path: "completionTokens", + stepKey: "metric", + metricType: "number", + }, + { + name: "errors", + kind: "metric", + path: "errors", + stepKey: "metric", + metricType: "number", + }, +] + +export const GeneralAutoEvalMetricColumns = [ + { + name: "Cost (Total)", + kind: "metric", + path: "attributes.ag.metrics.costs.cumulative.total", + stepKey: "metric", + metricType: "number", + }, + { + name: "Duration (Total)", + kind: "metric", + path: "attributes.ag.metrics.duration.cumulative", + stepKey: "metric", + metricType: "number", + }, + { + name: "Total tokens", + kind: "metric", + path: "attributes.ag.metrics.tokens.cumulative.total", + stepKey: "metric", + metricType: "number", + }, + { + name: "errors", + kind: "metric", + path: "attributes.ag.metrics.errors.cumulative", + stepKey: "metric", + metricType: "number", + }, +] diff --git a/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/dataSourceBuilder.ts b/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/dataSourceBuilder.ts new file mode 100644 index 0000000000..ecb9ea6949 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/dataSourceBuilder.ts @@ -0,0 +1,394 @@ +import groupBy from "lodash/groupBy" + +import {formatColumnTitle} from "@/oss/components/Filters/EditColumns/assets/helper" +import {evalTypeAtom} from "@/oss/components/EvalRunDetails/state/evalType" +import { + evalAtomStore, + evaluationEvaluatorsFamily, +} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms" +import type { + ColumnDef, + RunIndex, +} from "@/oss/lib/hooks/useEvaluationRunData/assets/helpers/buildRunIndex" +import {EvaluatorDto} from "@/oss/lib/hooks/useEvaluators/types" +import {BasicStats, canonicalizeMetricKey} from "@/oss/lib/metricUtils" +import {buildSkeletonRows} from "@/oss/lib/tableUtils" + +import {TableRow} from "../types" + +import {GeneralAutoEvalMetricColumns, GeneralHumanEvalMetricColumns} from "./constants" + +const AUTO_INVOCATION_METRIC_SUFFIXES = GeneralAutoEvalMetricColumns.map((col) => col.path) +const AUTO_INVOCATION_METRIC_CANONICAL_SET = new Set( + AUTO_INVOCATION_METRIC_SUFFIXES.map((path) => canonicalizeMetricKey(path)), +) + +const matchesGeneralInvocationMetric = (path?: string): boolean => { + if (!path) return false + if (AUTO_INVOCATION_METRIC_SUFFIXES.some((suffix) => path.endsWith(suffix))) { + return true + } + const segments = path.split(".") + for (let i = 0; i < segments.length; i += 1) { + const candidate = segments.slice(i).join(".") + if (AUTO_INVOCATION_METRIC_CANONICAL_SET.has(canonicalizeMetricKey(candidate))) { + return true + } + } + return AUTO_INVOCATION_METRIC_CANONICAL_SET.has(canonicalizeMetricKey(path)) +} + +/** + * Build the data source (rows) for the virtualised scenario table. + * This logic was previously inline inside the table component; moving it here means + * the component can stay tidy while we have a single canonical place that knows: + * • which scenarios belong to the run + * • what their execution / annotation status is + * • how to present skeleton rows while data is still loading + */ + +export function buildScenarioTableRows({ + scenarioIds, + allScenariosLoaded, + skeletonCount = 20, + runId, +}: { + scenarioIds: string[] + allScenariosLoaded: boolean + skeletonCount?: number + runId: string +}): TableRow[] { + if (!allScenariosLoaded) { + // Render placeholder skeleton rows (fixed count) so the table height is stable + return buildSkeletonRows(skeletonCount).map((r, idx) => ({ + ...r, + scenarioIndex: idx + 1, + })) + } + + return scenarioIds.map((id, idx) => { + return { + key: id, + scenarioIndex: idx + 1, + runId, + } + }) +} + +/** + * Build raw ColumnDef list for scenario table. + */ +export function buildScenarioTableData({ + runIndex, + metricsFromEvaluators, + metrics, + runId, + evaluators, +}: { + runIndex: RunIndex | null | undefined + metricsFromEvaluators: Record> + metrics: Record + runId: string + evaluators: EvaluatorDto[] +}): (ColumnDef & {values?: Record})[] { + const baseColumnDefs: ColumnDef[] = runIndex ? Object.values(runIndex.columnsByStep).flat() : [] + const evalType = evalAtomStore().get(evalTypeAtom) + + // Augment columns with per-scenario values (currently only for input columns) + let columnsInput = baseColumnDefs + .filter((col) => col.kind !== "annotation") + .filter((col) => col.name !== "testcase_dedup_id") + + // Further group metrics by evaluator when evaluators info present + const evaluatorMetricGroups: any[] = [] + + // Evaluator Metric Columns + if (metricsFromEvaluators && evalType === "human") { + const annotationData = baseColumnDefs.filter((def) => def.kind === "annotation") + const groupedAnnotationData = groupBy(annotationData, (data) => { + return data.name.split(".")[0] + }) + + for (const [k, v] of Object.entries(groupedAnnotationData)) { + const evaluator = evaluators?.find((e) => e.slug === k) + evaluatorMetricGroups.push({ + title: evaluator?.name || k, + key: `metrics_${k}`, + children: v.map((data) => { + const [evaluatorSlug, metricName] = data.name.split(".") + const formattedMetricName = formatColumnTitle( + metricName || data.name.replace(`${evaluatorSlug}.`, ""), + ) + return { + ...data, + name: metricName || data.name, + title: formattedMetricName, + kind: "metric", + path: data.name, + stepKey: "metric", + metricType: metricsFromEvaluators[evaluatorSlug]?.find( + (x) => metricName in x, + )?.[metricName]?.metricType, + } + }), + }) + } + } + + if (metricsFromEvaluators && evalType === "auto") { + const annotationData = baseColumnDefs.filter((def) => def.kind === "annotation") + const groupedAnnotationData = groupBy(annotationData, (data) => { + return data.name.split(".")[0] + }) + + for (const metricKey of Object.keys(metricsFromEvaluators)) { + const evaluator = evaluators?.find((e) => e.slug === metricKey) + + // Build children from base run annotations when available, otherwise from metrics map + let children = Object.entries(groupedAnnotationData) + .flatMap(([k, v]) => { + return v.map((data) => { + // Prefer strict match on slug in data.path when present, else stepKey + const pathPrefix = `${metricKey}.` + const belongsToEvaluator = + (data.path && data.path.startsWith(pathPrefix)) || + data.stepKey === metricKey + if (belongsToEvaluator) { + const metric = metrics?.[`${metricKey}.${data.name}`] + const isMean = metric?.mean !== undefined + const legacyPath = `${metricKey}.${data.name}` + const fullPath = data.path ? `${metricKey}.${data.path}` : legacyPath + + if ( + matchesGeneralInvocationMetric(fullPath) || + matchesGeneralInvocationMetric(legacyPath) + ) { + return undefined + } + + const formattedName = formatColumnTitle(data.name) + return { + ...data, + name: data.name, + key: `${metricKey}.${data.name}`, + title: `${formattedName} ${isMean ? "(mean)" : ""}`.trim(), + kind: "metric", + path: fullPath, + fallbackPath: legacyPath, + stepKey: "metric", + metricType: metricsFromEvaluators[metricKey]?.find( + (x) => data.name in x, + )?.[data.name]?.metricType, + } + } + return undefined + }) + }) + .filter(Boolean) as any[] + + // If no base annotations matched (evaluator only exists in comparison runs), + // fall back to constructing children from metricsFromEvaluators + if (!children.length) { + const metricDefs = metricsFromEvaluators[metricKey] || [] + const seen = new Set() + children = metricDefs + .map((def: any) => { + const metricName = Object.keys(def || {})[0] + if (!metricName || seen.has(metricName)) return undefined + seen.add(metricName) + const fullPath = `${metricKey}.${metricName}` + if ( + matchesGeneralInvocationMetric(fullPath) || + matchesGeneralInvocationMetric(metricName) + ) { + return undefined + } + const formattedName = formatColumnTitle(metricName) + return { + name: metricName, + key: `${metricKey}.${metricName}`, + title: formattedName, + kind: "metric" as const, + path: `${metricKey}.${metricName}`, + fallbackPath: `${metricKey}.${metricName}`, + stepKey: "metric", + metricType: def?.[metricName]?.metricType, + } + }) + .filter(Boolean) as any[] + } + + evaluatorMetricGroups.push({ + title: evaluator?.name || metricKey, + key: `metrics_${metricKey}_evaluators`, + children, + }) + } + } + + const genericMetricsGroup = { + title: "Metrics", + key: "__metrics_group__", + children: + evalType === "auto" ? GeneralAutoEvalMetricColumns : GeneralHumanEvalMetricColumns, + } + + let metaStart: ColumnDef[] = [ + {name: "#", kind: "meta" as any, path: "scenarioIndex", stepKey: "meta"}, + ] + + const metaEnd: ColumnDef[] = [ + {name: "Action", kind: "meta" as any, path: "action", stepKey: "meta"}, + ] + + const columnsCore = [...columnsInput, ...evaluatorMetricGroups] + if (genericMetricsGroup) columnsCore.push(genericMetricsGroup as any) + const columns = [...metaStart, ...columnsCore, ...metaEnd] + + return columns +} + +/** + * Build columns for comparison mode showing multiple runs side-by-side + */ +export function buildComparisonTableColumns({ + baseRunId, + comparisonRunIds, + baseRunIndex, + comparisonRunIndexes, + metricsFromEvaluators, +}: { + baseRunId: string + comparisonRunIds: string[] + baseRunIndex: RunIndex | null | undefined + comparisonRunIndexes: Record + metricsFromEvaluators: Record> +}): (ColumnDef & {values?: Record})[] { + if (!baseRunIndex) return [] + + const allRunIds = [baseRunId, ...comparisonRunIds] + const evalType = evalAtomStore().get(evalTypeAtom) + + // Start with meta columns + const metaColumns: ColumnDef[] = [ + {name: "#", kind: "meta" as any, path: "scenarioIndex", stepKey: "meta"}, + ] + + // Get base column definitions (inputs, outputs, etc.) + const baseColumnDefs: ColumnDef[] = Object.values(baseRunIndex.columnsByStep).flat() + const inputOutputColumns = baseColumnDefs + .filter((col) => col.kind !== "annotation" && col.kind !== "metric") + .filter((col) => col.name !== "testcase_dedup_id") + + // For comparison mode, we want to show inputs once, then outputs/metrics for each run + const inputColumns = inputOutputColumns.filter((col) => col.stepKey === "input") + + // Create run-specific output columns + const runSpecificColumns: any[] = [] + + allRunIds.forEach((runId, index) => { + const isBase = index === 0 + const runLabel = isBase ? "Base" : `Run ${index}` + const runShort = runId.slice(0, 8) + + // Output columns for this run + const outputColumns = inputOutputColumns + .filter((col) => col.stepKey === "output") + .map((col) => ({ + ...col, + name: `${col.name} (${runLabel})`, + title: `${col.name} (${runShort})`, + runId, + isComparison: !isBase, + })) + + // Metric columns for this run + if (metricsFromEvaluators && evalType !== "auto") { + const annotationData = baseColumnDefs.filter((def) => def.kind === "annotation") + const groupedAnnotationData = groupBy(annotationData, (data) => { + return data.name.split(".")[0] + }) + + for (const [evaluatorSlug, annotations] of Object.entries(groupedAnnotationData)) { + const metricGroup = { + title: `${evaluatorSlug} (${runLabel})`, + key: `metrics_${evaluatorSlug}_${runId}`, + runId, + isComparison: !isBase, + children: annotations.map((data) => { + const [, metricName] = data.name.split(".") + return { + ...data, + name: metricName, + title: `${metricName} (${runShort})`, + kind: "metric", + path: data.name, + stepKey: "metric", + runId, + isComparison: !isBase, + metricType: metricsFromEvaluators[evaluatorSlug]?.find( + (x) => metricName in x, + )?.[metricName]?.metricType, + } + }), + } + runSpecificColumns.push(metricGroup) + } + } + + runSpecificColumns.push(...outputColumns) + }) + + const actionColumns: ColumnDef[] = [ + {name: "Action", kind: "meta" as any, path: "action", stepKey: "meta"}, + ] + + return [...metaColumns, ...inputColumns, ...runSpecificColumns, ...actionColumns] +} + +/** + * Build rows for comparison mode with data from multiple runs + */ +export function buildComparisonTableRows({ + scenarioIds, + baseRunId, + comparisonRunIds, + allScenariosLoaded, + skeletonCount = 20, +}: { + scenarioIds: string[] + baseRunId: string + comparisonRunIds: string[] + allScenariosLoaded: boolean + skeletonCount?: number +}): TableRow[] { + if (!allScenariosLoaded) { + return buildSkeletonRows(skeletonCount).map((r, idx) => ({ + ...r, + scenarioIndex: idx + 1, + })) + } + + return scenarioIds.map((scenarioId, idx) => { + const row: TableRow = { + key: scenarioId, + scenarioIndex: idx + 1, + scenarioId, + baseRunId, + comparisonRunIds, + } + + // Add run-specific data placeholders + // The actual data will be populated by the table cells using atoms + const allRunIds = [baseRunId, ...comparisonRunIds] + allRunIds.forEach((runId) => { + row[`${runId}_data`] = { + runId, + scenarioId, + // Cell components will use atoms to get actual data + } + }) + + return row + }) +} diff --git a/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/flatDataSourceBuilder.ts b/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/flatDataSourceBuilder.ts new file mode 100644 index 0000000000..a9bd65fcb0 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/flatDataSourceBuilder.ts @@ -0,0 +1,8 @@ +// ---------------- Helpers ------------------ +export const titleCase = (str: string) => + String(str || "") + .replace(/([a-z0-9])([A-Z])/g, "$1 $2") + .replace(/_/g, " ") + .replace(/\s+/g, " ") + .trim() + .replace(/^[a-z]|\s[a-z]/g, (m) => m.toUpperCase()) diff --git a/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/types.ts b/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/types.ts new file mode 100644 index 0000000000..916a7e4cf8 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/types.ts @@ -0,0 +1,18 @@ +import {SchemaMetricType} from "@/oss/lib/metricUtils" + +export interface BaseColumn { + name: string + title: string + key: string + kind: string + path: string + fallbackPath?: string + stepKey: string + stepKeyByRunId?: Record + metricType: SchemaMetricType + children?: TableColumn[] +} + +export interface TableColumn extends BaseColumn { + children?: TableColumn[] +} diff --git a/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/utils.tsx b/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/utils.tsx new file mode 100644 index 0000000000..de9d89d523 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/assets/utils.tsx @@ -0,0 +1,453 @@ +import {EnhancedColumnType} from "@/oss/components/EnhancedUIs/Table/types" +import {evalTypeAtom} from "@/oss/components/EvalRunDetails/state/evalType" +import {Expandable} from "@/oss/components/Tables/ExpandableCell" +import {evalAtomStore} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms" +import {getMetricConfig} from "@/oss/lib/metrics/utils" +import {buildMetricSorter} from "@/oss/lib/metricSorter" +import {extractPrimitive, isSortableMetricType} from "@/oss/lib/metricUtils" + +import { + runMetricsStatsCacheFamily, + runScopedMetricDataFamily, + scenarioMetricValueFamily, +} from "../../../../../lib/hooks/useEvaluationRunData/assets/atoms/runScopedMetrics" +import type {TableRow} from "../types" + +import ActionCell from "./ActionCell" +import {CellWrapper, InputCell, InvocationResultCell, SkeletonCell} from "./CellComponents" +import {COLUMN_WIDTHS} from "./constants" +import {titleCase} from "./flatDataSourceBuilder" +import CollapsedAnnotationValueCell from "./MetricCell/CollapsedAnnotationValueCell" +import CollapsedMetricValueCell, { + AutoEvalCollapsedMetricValueCell, +} from "./MetricCell/CollapsedMetricValueCell" +import {AnnotationValueCell, MetricValueCell} from "./MetricCell/MetricCell" +import {BaseColumn, TableColumn} from "./types" + +// Helper to compare metric/annotation primitives across scenarios +function scenarioMetricPrimitive(recordKey: string, column: any, runId: string) { + const st = evalAtomStore() + let raw: any = column.values?.[recordKey] + if (raw === undefined) { + const metricKey = column.path || column.key || column.name || "" + const fallbackKey = column.fallbackPath + if (column.kind === "metric") { + const stepSlug = + column.stepKey && column.stepKey.includes(".") + ? column.stepKey.split(".")[1] + : undefined + raw = st.get( + scenarioMetricValueFamily({ + runId, + scenarioId: recordKey, + metricKey, + stepSlug, + }) as any, + ) + if ((raw === undefined || raw === null) && fallbackKey && fallbackKey !== metricKey) { + raw = st.get( + scenarioMetricValueFamily({ + runId, + scenarioId: recordKey, + metricKey: fallbackKey, + stepSlug, + }) as any, + ) + } + } else { + const stepSlug = + column.stepKey && column.stepKey.includes(".") + ? column.stepKey.split(".")[1] + : undefined + raw = st.get( + runScopedMetricDataFamily({ + scenarioId: recordKey, + stepSlug, + metricKey, + runId, + }) as any, + )?.value + if ((raw === undefined || raw === null) && fallbackKey && fallbackKey !== metricKey) { + raw = st.get( + runScopedMetricDataFamily({ + scenarioId: recordKey, + stepSlug, + metricKey: fallbackKey, + runId, + }) as any, + )?.value + } + } + } + return extractPrimitive(raw) +} + +function scenarioMetricSorter(column: any, runId: string) { + return buildMetricSorter((row) => + scenarioMetricPrimitive(row.key as string, column, runId), + ) +} + +/** + * Transforms a list of scenario metrics into a map of scenarioId -> metrics, merging + * nested metrics under `outputs` into the same level. + * + * @param {{scenarioMetrics: any[]}} props - The props object containing the metrics. + * @returns {Record>} - A map of scenarioId -> metrics. + */ +export const getScenarioMetricsMap = ({scenarioMetrics}: {scenarioMetrics: any[]}) => { + const map: Record> = {} + const _metrics = scenarioMetrics || [] + + _metrics.forEach((m: any) => { + const sid = m.scenarioId + if (!sid) return + + // Clone the data object to avoid accidental mutations + const data: Record = + m && typeof m === "object" && m.data && typeof m.data === "object" ? {...m.data} : {} + + // If metrics are nested under `outputs`, merge them into the same level + if (data.outputs && typeof data.outputs === "object") { + Object.assign(data, data.outputs) + delete data.outputs + } + + if (!map[sid]) map[sid] = {} + Object.assign(map[sid], data) + }) + + return map +} + +// ---------------- Column adapter ------------------ +const generateColumnTitle = (col: BaseColumn) => { + if (col.kind === "metric") { + if (typeof col.title === "string" && col.title.trim().length > 0) { + return col.title + } + if (typeof col.path === "string") { + return getMetricConfig(col.path).label + } + } + if (col.kind === "invocation") return titleCase(col.name) + if (col.kind === "annotation") return titleCase(col.name) + return titleCase(col.title ?? col.name) +} +const generateColumnWidth = (col: BaseColumn) => { + if (col.kind === "meta") return 80 + if (col.kind === "input") return COLUMN_WIDTHS.input + if (col.kind === "metric") return COLUMN_WIDTHS.metric + if (col.kind === "annotation") return COLUMN_WIDTHS.metric + if (col.kind === "invocation") return COLUMN_WIDTHS.response + return 20 +} +const orderRank = (def: EnhancedColumnType): number => { + if (def.key === "#") return 0 + if (def.key === "inputs_group") return 1 + if (def.key === "outputs") return 2 + if (def.key === "Status") return 3 + if (def.key === "annotation" || def.key?.includes("metrics")) return 4 + if (def.key?.includes("evaluators")) return 5 + if (def.key === "__metrics_group__") return 6 + return 7 +} + +export function buildAntdColumns( + cols: TableColumn[], + runId: string, + expendedRows: Record, +): EnhancedColumnType[] { + const resolveStepKeyForRun = (column: TableColumn, targetRunId: string) => { + return column.stepKeyByRunId?.[targetRunId] ?? column.stepKey + } + const distMap = runId ? evalAtomStore().get(runMetricsStatsCacheFamily(runId)) : {} + const evalType = evalAtomStore().get(evalTypeAtom) + + // Count how many input columns we have + const inputColumns = cols.filter((col) => col.kind === "input") + + return cols + .map((c: TableColumn): EnhancedColumnType | null => { + const editLabel = generateColumnTitle(c) + const common = { + metricType: c.metricType ?? c.kind, + title: editLabel, + key: c.key ?? c.name, + minWidth: generateColumnWidth(c), + width: generateColumnWidth(c), + __editLabel: editLabel, + } + const sortable = + (c.kind === "metric" || c.kind === "annotation") && + isSortableMetricType(c.metricType) + + const sorter = sortable ? scenarioMetricSorter(c, runId) : undefined + + if (c.children) { + // drop empty wrapper groups + if ((!c.title && !c.name) || c.kind === "metrics_group") { + return { + ...common, + __editLabel: editLabel, + children: buildAntdColumns(c.children, runId, expendedRows), + } as EnhancedColumnType + } + if (c.key === "__metrics_group__" || c.key?.startsWith("metrics_")) { + return { + title: ( + + {c.key === "__metrics_group__" ? "Metrics" : (c.title ?? "")} + + ), + dataIndex: c.key, + collapsible: true, + key: c.key, + __editLabel: editLabel, + renderAggregatedData: ({record}) => { + const hasAnnotation = + Array.isArray(c.children) && + c.children.some((ch: any) => ch.kind === "annotation") + const evaluatorSlug = + c.key === "__metrics_group__" + ? undefined + : c.name || + c.key.replace(/^metrics_/, "").replace(/_evaluators/, "") + const scenarioId = (record as any).scenarioId || (record as any).key + if (hasAnnotation) { + return ( + + ) + } + return evalType === "auto" ? ( + + ) : ( + + ) + }, + children: buildAntdColumns(c.children, runId, expendedRows), + } + } + + return { + ...common, + __editLabel: editLabel, + title: titleCase(c.title ?? c.name), + key: c.key ?? c.name, + children: buildAntdColumns(c.children, runId, expendedRows), + } as EnhancedColumnType + } + + if (c.kind === "meta") { + switch (c.path) { + case "scenarioIndex": + return { + ...common, + fixed: "left", + width: 50, + minWidth: 50, + onCell: (record) => { + const showBorder = + expendedRows?.[record.key] || + (record?.isComparison && !record.isLastRow) + return { + className: showBorder + ? "!border-b-0 !p-0" + : record?.children?.length || record?.isComparison + ? "!p-0" + : "", + } + }, + render: (_: any, record: TableRow) => ( + {record.scenarioIndex} + ), + } + case "action": + if (evalType === "auto") return null + return { + ...common, + fixed: "right", + width: 120, + minWidth: 120, + render: (_: any, record: TableRow) => { + // Use runId from record data instead of function parameter + const effectiveRunId = (record as any).runId || runId + return ( + + ) + }, + } + default: + return {...common, dataIndex: c.path} + } + } + + if (c.kind === "input") { + const isFirstInput = inputColumns.length > 0 && inputColumns[0] === c + if (!isFirstInput) return null + + return { + title: ( + Inputs + ), + dataIndex: "inputs_group", + key: "inputs_group", + align: "left", + collapsible: true, + addNotAvailableCell: false, + onCell: (record) => { + const showBorder = + expendedRows?.[record.key] || + (record?.isComparison && !record.isLastRow) + return { + className: showBorder ? "!border-b-0 !bg-white" : "!bg-white", + } + }, + renderAggregatedData: ({record, isCollapsed}) => { + if (record.isComparison) return null + return ( +
    + + {inputColumns.map((inputCol) => ( +
    + + {titleCase(inputCol.name!)}: + {" "} + +
    + ))} +
    +
    + ) + }, + children: inputColumns.map((inputCol, idx) => ({ + title: titleCase(inputCol.name!), + key: `${inputCol.name}-input-${idx}`, + addNotAvailableCell: false, + onCell: (record) => { + const showBorder = + expendedRows?.[record.key] || + (record?.isComparison && !record.isLastRow) + return { + className: showBorder ? "!border-b-0 !bg-white" : "!bg-white", + } + }, + render: (_: any, record: TableRow) => { + if (record.isComparison) return "" + return ( + + ) + }, + })), + } + } + + return { + ...common, + sorter, + render: (_unused: any, record: TableRow) => { + // Use runId from record data instead of function parameter + const effectiveRunId = (record as any).runId || runId + // if (record.isSkeleton) return + switch (c.kind) { + case "input": { + const inputStepKey = resolveStepKeyForRun(c, effectiveRunId) + return ( + + ) + } + case "invocation": { + const invocationStepKey = resolveStepKeyForRun(c, effectiveRunId) + return ( + + ) + } + case "annotation": { + const annotationStepKey = resolveStepKeyForRun(c, effectiveRunId) + return ( + + ) + } + case "metric": + return ( + + ) + default: + return record.isSkeleton ? ( + + ) : ( + (c.values?.[record.scenarioId || record.key] ?? "") + ) + } + }, + } + }) + .filter(Boolean) + .sort((a, b) => { + if (!a || !b) return 0 + const r = orderRank(a) - orderRank(b) + if (r !== 0) return r + const aName = "title" in a && a.title ? String(a.title) : a.key + const bName = "title" in b && b.title ? String(b.title) : b.key + return aName?.localeCompare(bName) + }) as EnhancedColumnType[] +} diff --git a/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/hooks/useExpandableComparisonDataSource.tsx b/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/hooks/useExpandableComparisonDataSource.tsx new file mode 100644 index 0000000000..2615b89538 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/hooks/useExpandableComparisonDataSource.tsx @@ -0,0 +1,387 @@ +import {useMemo} from "react" + +import deepEqual from "fast-deep-equal" +import {atom, useAtomValue} from "jotai" +import {atomFamily} from "jotai/utils" + +import { + evalAtomStore, + evaluationRunStateFamily, + runIndexFamily, +} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms" +import {filterColumns} from "@/oss/components/Filters/EditColumns/assets/helper" +import type {RunIndex} from "@/oss/lib/hooks/useEvaluationRunData/assets/helpers/buildRunIndex" + +import { + displayedScenarioIdsFamily, + scenarioStepsFamily, +} from "../../../../../lib/hooks/useEvaluationRunData/assets/atoms/runScopedScenarios" +import {buildScenarioTableData} from "../assets/dataSourceBuilder" +import {buildAntdColumns} from "../assets/utils" +import {expendedRowAtom} from "../ComparisonScenarioTable" +import type {TableColumn} from "../assets/types" +import {editColumnsFamily} from "./useTableDataSource" + +export interface GroupedScenario { + key: string + scenarioId: string + testcaseId: string + inputs: any + outputs: any + runId: string + comparedScenarios: { + id: string + inputSteps: string + inputs: any + outputs: any + runId: string + }[] +} + +interface UseExpandableComparisonDataSourceProps { + baseRunId: string + comparisonRunIds: string[] +} + +const testcaseForScenarios = atomFamily((runId: string) => + atom((get) => { + const scenarioSteps = get(scenarioStepsFamily(runId)) + const allScenarioIds = Object.keys(scenarioSteps) + const allSteps = allScenarioIds.reduce((acc, scenarioId) => { + const scenarioTestcaseIds = scenarioSteps[scenarioId]?.data?.inputSteps?.map( + (s) => s?.testcaseId, + ) + acc[scenarioId] = scenarioTestcaseIds + return acc + }, {}) + return allSteps + }), +) +export const comparisonRunsStepsAtom = atomFamily((runIds: string[]) => + atom((get) => { + const steps = runIds.reduce((acc, runId) => { + const scenarioSteps = get(scenarioStepsFamily(runId)) + + const allStepIds = Object.keys(scenarioSteps) + const allSteps = allStepIds.map((stepId) => ({ + id: stepId, + ...scenarioSteps[stepId], + })) + const allStepsData = allSteps.reduce((acc, step) => { + if (step.state === "hasData") { + acc[step.id] = step?.data?.inputSteps?.map((s) => s?.testcaseId) + } + return acc + }, {}) + + acc[runId] = allStepsData + return acc + }, {}) + return steps + }), +) + +export const comparisonRunIndexesAtom = atomFamily( + (runIds: string[]) => + atom((get) => + runIds.reduce>((acc, runId) => { + acc[runId] = get(runIndexFamily(runId)) + return acc + }, {}), + ), + deepEqual, +) + +const comparisonRunsEvaluatorsAtom = atomFamily((runIds: string[]) => + atom((get) => { + const evaluators = new Set() + runIds.forEach((runId) => { + const evals = get(evaluationRunStateFamily(runId)) + const enrichRun = evals?.enrichedRun + if (enrichRun) { + enrichRun.evaluators?.forEach((e) => evaluators.add(e)) + } + }) + + return Array.from(evaluators) + }), +) + +const metricsFromEvaluatorsFamily = atomFamily( + (runIds: string[]) => + atom((get) => { + // Build a map of evaluatorSlug -> unique metrics + const result: Record = {} + const seenMetricBySlug: Record> = {} + + runIds.forEach((runId) => { + const state = get(evaluationRunStateFamily(runId)) + const evaluators = state?.enrichedRun?.evaluators + ? Object.values(state.enrichedRun.evaluators) + : [] + + evaluators.forEach((ev: any) => { + const slug = ev?.slug + if (!slug) return + + if (!seenMetricBySlug[slug]) { + seenMetricBySlug[slug] = new Set() + } + + if (ev?.metrics && typeof ev.metrics === "object") { + Object.entries(ev.metrics).forEach( + ([metricName, metricInfo]: [string, any]) => { + if (seenMetricBySlug[slug].has(metricName)) return + seenMetricBySlug[slug].add(metricName) + + if (!result[slug]) result[slug] = [] + result[slug].push({ + [metricName]: { + metricType: metricInfo?.type || "unknown", + }, + evaluatorSlug: slug, + }) + }, + ) + } + }) + }) + + return result + }), + deepEqual, +) + +const useExpandableComparisonDataSource = ({ + baseRunId, + comparisonRunIds, +}: UseExpandableComparisonDataSourceProps) => { + const store = evalAtomStore() + // const fetchMultipleRuns = useSetAtom(multiRunDataFetcherAtom) + + const comparisonRunsSteps = useAtomValue(comparisonRunsStepsAtom(comparisonRunIds), {store}) + const baseTestcases = useAtomValue(testcaseForScenarios(baseRunId), {store}) + const comparisonRunIndexes = useAtomValue(comparisonRunIndexesAtom(comparisonRunIds), {store}) + + const comparisonRunsEvaluators = useAtomValue(comparisonRunsEvaluatorsAtom(comparisonRunIds), { + store, + }) + + const metricsFromEvaluators = useAtomValue( + metricsFromEvaluatorsFamily([baseRunId, ...comparisonRunIds]), + {store}, + ) + + // Match scenarios by content rather than IDs + const matchedScenarios = useMemo(() => { + const matches: Record = {} + + // For each base scenario, find matching scenarios in comparison runs + Object.entries(baseTestcases as Record).forEach( + ([baseScenarioId, baseSteps]) => { + const baseTestcaseData = baseSteps?.[0] + if (!baseTestcaseData) return + + const comparedScenarios: any[] = [] + + // Search through all comparison runs + Object.entries(comparisonRunsSteps as Record).forEach( + ([compRunId, compScenarios]) => { + Object.entries(compScenarios as Record).forEach( + ([compScenarioId, compSteps]) => { + const compTestcaseData = compSteps?.[0] + if (!compTestcaseData) return + + const inputsMatch = baseTestcaseData === compTestcaseData + + if (inputsMatch) { + // Derive compareIndex for this run from state or fallback to order in comparisonRunIds + const compState = store.get(evaluationRunStateFamily(compRunId)) + const compareIndex = + compState?.compareIndex ?? + (comparisonRunIds.includes(compRunId) + ? comparisonRunIds.indexOf(compRunId) + 2 + : undefined) + comparedScenarios.push({ + matchedTestcaseId: compTestcaseData, + runId: compRunId, + scenarioId: compScenarioId, + compareIndex, + }) + } + }, + ) + }, + ) + + matches[baseScenarioId] = comparedScenarios + }, + ) + + return matches + }, [baseTestcases, comparisonRunsSteps, comparisonRunIds.join(",")]) + + // Build columns using EXACT same approach as regular table (useTableDataSource) + const runIndex = useAtomValue(runIndexFamily(baseRunId), {store}) + const evaluationRunState = useAtomValue(evaluationRunStateFamily(baseRunId), {store}) + const expendedRows = useAtomValue(expendedRowAtom) + const evaluators = evaluationRunState?.enrichedRun?.evaluators || [] + const baseEvaluators = Array.isArray(evaluators) ? evaluators : Object.values(evaluators) + const allEvaluators = useMemo(() => { + const bySlug = new Map() + ;[...comparisonRunsEvaluators, ...baseEvaluators].forEach((ev: any) => { + if (ev?.slug && !bySlug.has(ev.slug)) bySlug.set(ev.slug, ev) + }) + return Array.from(bySlug.values()) + }, [comparisonRunsEvaluators, baseEvaluators]) + + const rawColumns = useMemo( + () => + buildScenarioTableData({ + runIndex, + metricsFromEvaluators, + runId: baseRunId, + evaluators: allEvaluators, + }), + [runIndex, metricsFromEvaluators, allEvaluators, expendedRows], + ) + + const columnsWithRunSpecificSteps = useMemo(() => { + if (!rawColumns) return [] as TableColumn[] + + const allRunIndexes: Record = { + [baseRunId]: runIndex, + ...(comparisonRunIndexes || {}), + } + + const cache = new Map() + + const getColumnsForRun = (runId: string) => { + if (cache.has(runId)) return cache.get(runId)! + const idx = allRunIndexes[runId] + const cols = idx ? Object.values(idx.columnsByStep || {}).flat() : [] + cache.set(runId, cols) + return cols + } + + const matchStepKey = (runId: string, column: any): string | undefined => { + if (runId === baseRunId && column.stepKey) return column.stepKey + const candidates = getColumnsForRun(runId) + const match = candidates.find((candidate) => { + if (candidate.kind !== column.kind) return false + if (column.path && candidate.path) { + return candidate.path === column.path + } + if (column.name && candidate.name) { + return candidate.name === column.name + } + return false + }) + return match?.stepKey + } + + const attach = (columns: any[]): any[] => + columns.map((column) => { + const children = column.children ? attach(column.children) : undefined + const shouldAttachStepKey = + column.kind === "input" || + column.kind === "invocation" || + column.kind === "annotation" + + if (!shouldAttachStepKey) { + return children ? {...column, children} : column + } + + const stepKeyByRunId = Object.keys(allRunIndexes).reduce< + Record + >((acc, runId) => { + const mapped = matchStepKey(runId, column) + if (mapped) acc[runId] = mapped + return acc + }, {}) + + if (column.stepKey && !stepKeyByRunId[baseRunId]) { + stepKeyByRunId[baseRunId] = column.stepKey + } + + if (!Object.keys(stepKeyByRunId).length) { + return children ? {...column, children} : column + } + + const enriched = { + ...column, + stepKeyByRunId, + } + if (children) enriched.children = children + return enriched + }) + + return attach(rawColumns as any[]) as TableColumn[] + }, [rawColumns, baseRunId, runIndex, comparisonRunIndexes]) + + // Build Ant Design columns using the same function as regular table + const baseAntColumns = useMemo( + () => + buildAntdColumns(columnsWithRunSpecificSteps as TableColumn[], baseRunId, expendedRows), + [columnsWithRunSpecificSteps, baseRunId, expendedRows], + ) + + const hiddenColumns = useAtomValue(editColumnsFamily(baseRunId), {store}) + + const antColumns = useMemo( + () => filterColumns(baseAntColumns, hiddenColumns), + [baseAntColumns, hiddenColumns], + ) + + // For backward compatibility, also provide basic columns + const columns = baseAntColumns + + // No longer need expandedRowRender - using children approach instead + const expandedRowRender = undefined + + const loading = false + + // Build rows with actual scenario data - use the SAME approach as regular table + const scenarioIds = useAtomValue(displayedScenarioIdsFamily(baseRunId), {store}) || [] + + const rows = useMemo(() => { + const builtRows = scenarioIds.map((scenarioId, idx) => { + // Get matched comparison scenarios for this base scenario + const comparedScenarios = matchedScenarios[scenarioId] || [] + + // Create base row structure + const baseRow = { + key: scenarioId, + scenarioIndex: idx + 1, + runId: baseRunId, // This row represents the base run + compareIndex: 1, + // Add children for comparison scenarios + children: comparedScenarios.map((compScenario, compIdx) => ({ + key: `${scenarioId}-comp-${compScenario.runId}-${compIdx}`, + scenarioIndex: idx + 1, // Same scenario index as parent + runId: compScenario.runId, // Use comparison run ID + scenarioId: compScenario.scenarioId, // Use comparison scenario ID + isComparison: true, // Flag to identify comparison rows + isLastRow: compIdx === comparedScenarios.length - 1, + compareIndex: compScenario.compareIndex, + })), + } + + return baseRow + }) + + return builtRows + }, [scenarioIds, matchedScenarios, baseRunId]) + + return { + antColumns, + columns, + rawColumns: baseAntColumns, + rows, + expandedRowRender, + loading, + totalColumnWidth: 0, // TODO: Calculate if needed + } +} + +export default useExpandableComparisonDataSource diff --git a/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/hooks/useScrollToScenario.ts b/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/hooks/useScrollToScenario.ts new file mode 100644 index 0000000000..f901299ad8 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/hooks/useScrollToScenario.ts @@ -0,0 +1,88 @@ +import {RefObject, useEffect, useMemo, useRef} from "react" + +import {useRouter} from "next/router" + +import {TableRow} from "../types" + +type TableRowWithChildren = TableRow & { + scenarioId?: string + children?: TableRowWithChildren[] +} + +const useScrollToScenario = ({ + dataSource, + expandedRowKeys = [], +}: { + dataSource: TableRowWithChildren[] + expandedRowKeys?: string[] +}) => { + const router = useRouter() + const tableContainerRef = useRef(null) + const tableInstance = useRef(null) + + const selectedScenarioId = router.query.scrollTo as string + + const flattenedRowKeys = useMemo(() => { + const keys: string[] = [] + const expandedSet = new Set((expandedRowKeys || []).map((key) => String(key))) + + const traverse = (rows: TableRowWithChildren[] = []) => { + rows.forEach((row) => { + const rowKey = (row?.key ?? row?.scenarioId) as string | undefined + if (!rowKey) return + + keys.push(rowKey) + + const isExpanded = expandedSet.has(rowKey) + if (!isExpanded) { + return + } + + if (Array.isArray(row.children) && row.children.length > 0) { + traverse(row.children) + } + }) + } + + traverse(dataSource) + + return keys + }, [dataSource, expandedRowKeys]) + + // Scroll to the specified row when user selects a scenario in auto eval + useEffect(() => { + if (!router.isReady) return + if (!tableInstance.current || !selectedScenarioId) return + // Get the row index from the flattened dataSource including expanded rows + const rowIndex = flattenedRowKeys.findIndex((key) => key === selectedScenarioId) + if (rowIndex === -1) return + // Use Ant Design's scrollTo method for virtualized tables when available + if (typeof tableInstance.current?.scrollTo === "function") { + tableInstance.current.scrollTo({ + index: rowIndex, + behavior: "smooth", + }) + } + + const rowElement = tableContainerRef.current?.querySelector( + `[data-row-key="${selectedScenarioId}"]`, + ) as HTMLElement | null + + // Fallback to native DOM scrolling when virtualization instance is unavailable + if (typeof tableInstance.current?.scrollTo !== "function") { + rowElement?.scrollIntoView({behavior: "smooth", block: "center"}) + } + + // Add highlight effect + if (rowElement) { + rowElement.classList.add("highlight-row") + setTimeout(() => { + rowElement.classList.remove("highlight-row") + }, 2000) + } + }, [selectedScenarioId, flattenedRowKeys, router.isReady]) + + return {tableContainerRef, tableInstance} +} + +export default useScrollToScenario diff --git a/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/hooks/useTableDataSource.ts b/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/hooks/useTableDataSource.ts new file mode 100644 index 0000000000..95f0a6f3ab --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/hooks/useTableDataSource.ts @@ -0,0 +1,156 @@ +import {useMemo} from "react" + +import deepEqual from "fast-deep-equal" +import {atom, useAtom, useAtomValue} from "jotai" +import {atomFamily, selectAtom} from "jotai/utils" +import groupBy from "lodash/groupBy" + +import {filterColumns} from "@/oss/components/Filters/EditColumns/assets/helper" +import {useRunId} from "@/oss/contexts/RunIdContext" +import {ColumnDef} from "@/oss/lib/hooks/useEvaluationRunData/assets/helpers/buildRunIndex" + +import { + evaluationRunStateFamily, + runIndexFamily, +} from "../../../../../lib/hooks/useEvaluationRunData/assets/atoms/runScopedAtoms" +// import {scenarioMetricsMapFamily} from "../../../../../lib/hooks/useEvaluationRunData/assets/atoms/runScopedMetrics" +import { + displayedScenarioIdsFamily, + loadableScenarioStepFamily, +} from "../../../../../lib/hooks/useEvaluationRunData/assets/atoms/runScopedScenarios" +import {evalAtomStore} from "../../../../../lib/hooks/useEvaluationRunData/assets/atoms/store" +import {buildScenarioTableData, buildScenarioTableRows} from "../assets/dataSourceBuilder" +import {buildAntdColumns} from "../assets/utils" + +const EMPTY_SCENARIOS: any[] = [] + +export const editColumnsFamily = atomFamily((runId: string) => atom([]), deepEqual) + +// Convert to atom family for run-scoped access +export const allScenariosLoadedFamily = atomFamily( + (runId: string) => + atom( + (get) => + (get(evaluationRunStateFamily(runId)).scenarios || EMPTY_SCENARIOS).map( + (s: any) => s.id, + )?.length > 0, + ), + deepEqual, +) + +// Run-scoped metrics from evaluators atom family +export const metricsFromEvaluatorsFamily = atomFamily( + (runId: string) => + selectAtom( + evaluationRunStateFamily(runId), + (state) => { + const evs = state?.enrichedRun?.evaluators + ? Object.values(state.enrichedRun.evaluators) + : [] + if (!evs || !Array.isArray(evs)) { + return {} + } + return groupBy( + evs.reduce((acc: any[], ev: any) => { + return [ + ...acc, + ...Object.entries(ev.metrics || {}).map( + ([metricName, metricInfo]: [string, any]) => { + return { + [metricName]: { + metricType: metricInfo.type, + }, + evaluatorSlug: ev.slug, + } + }, + ), + ] + }, []), + (def: any) => { + return def.evaluatorSlug + }, + ) + }, + deepEqual, + ), + deepEqual, +) + +const useTableDataSource = () => { + const runId = useRunId() + const store = evalAtomStore() + + // states + const [editColumns, setEditColumns] = useAtom(editColumnsFamily(runId), {store}) + + // Read from the same global store that writes are going to + const scenarioIds = useAtomValue(displayedScenarioIdsFamily(runId), {store}) || EMPTY_SCENARIOS + const allScenariosLoaded = useAtomValue(allScenariosLoadedFamily(runId), {store}) + + // const metricDistributions = useAtomValue(runMetricsStatsAtom) + const runIndex = useAtomValue(runIndexFamily(runId)) + const metricsFromEvaluators = + useAtomValue(metricsFromEvaluatorsFamily(runId)) || EMPTY_SCENARIOS + // temporary implementation to implement loading state for auto eval + const loadable = useAtomValue(loadableScenarioStepFamily({runId, scenarioId: scenarioIds?.[0]})) + const evaluationRunState = useAtomValue(evaluationRunStateFamily(runId), {store}) + const evaluators = evaluationRunState?.enrichedRun?.evaluators || [] + + const isLoadingSteps = useMemo( + () => loadable.state === "loading" || !allScenariosLoaded, + [loadable, allScenariosLoaded], + ) + + const rows = useMemo(() => { + return buildScenarioTableRows({ + scenarioIds, + allScenariosLoaded, + runId, + }) + }, [scenarioIds, allScenariosLoaded]) + + // New alternative data source built via shared helper + const builtColumns: ColumnDef[] = useMemo( + () => + buildScenarioTableData({ + runIndex, + runId, + metricsFromEvaluators, + evaluators, + }), + [runIndex, runId, metricsFromEvaluators, evaluators], + ) + + // Build Ant Design columns and make them resizable + const antColumns = useMemo(() => { + return buildAntdColumns(builtColumns, runId, {}) + }, [builtColumns, runId]) + + const visibleColumns = useMemo( + () => filterColumns(antColumns, editColumns), + [antColumns, editColumns], + ) + + const totalColumnWidth = useMemo(() => { + const calc = (cols: any[]): number => + cols.reduce((sum, col) => { + if (col?.children && col?.children.length) { + return sum + calc(col?.children) + } + return sum + (col?.width ?? col?.minWidth ?? 100) + }, 0) + return calc(antColumns) + }, [antColumns]) + + return { + rawColumns: antColumns, + antColumns: visibleColumns, + rows, + totalColumnWidth, + isLoadingSteps, + editColumns, + setEditColumns, + } +} + +export default useTableDataSource diff --git a/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/index.tsx b/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/index.tsx new file mode 100644 index 0000000000..19db92e1fa --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/index.tsx @@ -0,0 +1,23 @@ +import {memo} from "react" + +import {useAtomValue} from "jotai" +import dynamic from "next/dynamic" + +import {urlStateAtom} from "../../state/urlState" + +import ScenarioTable from "./ScenarioTable" + +const ComparisonTable = dynamic(() => import("./ComparisonScenarioTable"), {ssr: false}) + +const VirtualizedScenarioTable = () => { + const urlState = useAtomValue(urlStateAtom) + const isComparisonMode = Boolean(urlState.compare && urlState.compare.length > 0) + + if (isComparisonMode) { + return + } + + return +} + +export default VirtualizedScenarioTable diff --git a/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/types.ts b/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/types.ts new file mode 100644 index 0000000000..a1273dccd6 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/components/VirtualizedScenarioTable/types.ts @@ -0,0 +1,19 @@ +import {ColumnsType} from "antd/es/table" + +export interface TableRow { + key: string // scenarioId + scenarioIndex: number + status?: string + result?: string + baseRunId?: string + /** + * For skeleton rows shown while data is loading. + */ + isSkeleton?: boolean +} + +export interface VirtualizedScenarioTableProps { + columns?: ColumnsType + dataSource?: TableRow[] + totalColumnWidth?: number +} diff --git a/web/ee/src/components/EvalRunDetails/index.tsx b/web/ee/src/components/EvalRunDetails/index.tsx new file mode 100644 index 0000000000..d4957b4747 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/index.tsx @@ -0,0 +1,310 @@ +import {memo, useCallback, useEffect, useMemo} from "react" + +import {Spin, Typography} from "antd" +import clsx from "clsx" +import deepEqual from "fast-deep-equal" +import {createStore, getDefaultStore, Provider, useAtomValue, useSetAtom} from "jotai" +import {selectAtom} from "jotai/utils" +import {useRouter} from "next/router" + +import EvalRunDetails from "@/oss/components/EvalRunDetails/HumanEvalRun" +import ErrorState from "@/oss/components/ErrorState" +import SingleModelEvaluationTable from "@/oss/components/EvaluationTable/SingleModelEvaluationTable" +import {RunIdProvider} from "@/oss/contexts/RunIdContext" +import {useAppId} from "@/oss/hooks/useAppId" +import {appendBreadcrumbAtom, breadcrumbAtom, setBreadcrumbsAtom} from "@/oss/lib/atoms/breadcrumb" +import {isUuid} from "@/oss/lib/helpers/utils" +import useEvaluationRunData from "@/oss/lib/hooks/useEvaluationRunData" +import { + evalAtomStore, + evaluationRunStateFamily, + initializeRun, +} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms" +import {_EvaluationScenario, Evaluation} from "@/oss/lib/Types" +import {abortAll} from "@/oss/lib/utils/abortControllers" + +import EvaluationScenarios from "../pages/evaluations/evaluationScenarios/EvaluationScenarios" + +import AutoEvalRunDetails from "./AutoEvalRun" +import {ComparisonDataFetcher} from "./components/ComparisonDataFetcher" +import {evalTypeAtom, setEvalTypeAtom} from "./state/evalType" +import {runViewTypeAtom} from "./state/urlState" +import UrlSync from "./UrlSync" + +const EvaluationPageData = memo( + ({children, runId}: {children?: React.ReactNode; runId?: string}) => { + const router = useRouter() + + // Abort any in-flight data requests when navigating away + useEffect(() => { + if (runId) { + initializeRun(runId) + } + }, [runId]) + + // Abort any in-flight data requests when navigating away + useEffect(() => { + return () => { + abortAll() + } + }, [router.pathname]) + + useEvaluationRunData(runId || null, true, runId) + return runId ? children : null + }, +) + +const LegacyEvaluationPage = ({id: evaluationTableId}: {id: string}) => { + const evalType = useAtomValue(evalTypeAtom) + + const {legacyEvaluationSWR, legacyScenariosSWR} = useEvaluationRunData( + evaluationTableId || null, + true, + ) + + if (legacyEvaluationSWR.isLoading || legacyScenariosSWR.isLoading) { + return ( +
    +
    + + + Loading... + +
    +
    + ) + } + + const data = legacyEvaluationSWR.data + + return data ? ( + evalType === "auto" ? ( + + ) : evalType === "human" ? ( + + ) : null + ) : null +} + +const PreviewEvaluationPage = memo( + ({ + evalType, + name, + description, + id, + }: { + evalType: "auto" | "human" + name: string + description: string + id: string + }) => { + return evalType === "auto" ? ( + + ) : ( + + ) + }, +) + +const LoadingState = ({ + evalType, + name, + description, + id, +}: { + evalType: "auto" | "human" + name: string + description: string + id: string +}) => { + return evalType === "auto" ? ( + + ) : ( +
    +
    + + + Loading... + +
    +
    + ) +} + +const EvaluationPage = memo(({evalType, runId}: {evalType: "auto" | "human"; runId: string}) => { + const rootStore = getDefaultStore() + const breadcrumbs = useAtomValue(breadcrumbAtom, {store: rootStore}) + const appendBreadcrumb = useSetAtom(appendBreadcrumbAtom, {store: rootStore}) + const setEvalType = useSetAtom(setEvalTypeAtom) + const appId = useAppId() + + const {isPreview, name, description, id} = useAtomValue( + selectAtom( + evaluationRunStateFamily(runId!), + useCallback((v) => { + return { + isPreview: v.isPreview, + name: v.enrichedRun?.name, + description: v.enrichedRun?.description, + id: v.enrichedRun?.id, + } + }, []), + deepEqual, + ), + ) + + useEffect(() => { + setEvalType(evalType) + }, [evalType]) + + useEffect(() => { + // Try loaded name first; fallback to name in URL (when present as /results/:id/:name). + const base = (typeof window !== "undefined" ? window.location.pathname : "") || "" + const segs = base.split("/").filter(Boolean) + const resultsIdx = segs.findIndex((s) => s === "results") + const urlName = + resultsIdx !== -1 && segs[resultsIdx + 2] && !isUuid(segs[resultsIdx + 2]) + ? segs[resultsIdx + 2] + : undefined + + const label = name || urlName + if (!id || !label) return + + const existing = (breadcrumbs && (breadcrumbs["eval-detail"] as any)) || null + const currentLabel: string | undefined = existing?.label + if (currentLabel === label) return + + appendBreadcrumb({ + "eval-detail": { + label, + value: id as string, + }, + }) + }, [appendBreadcrumb, breadcrumbs, id, name]) + + useEffect(() => { + const base = (typeof window !== "undefined" ? window.location.pathname : "") || "" + const segs = base.split("/").filter(Boolean) + const desiredLabel = evalType === "auto" ? "auto evaluation" : "human annotation" + + const appsIdx = segs.findIndex((s) => s === "apps") + if (appsIdx !== -1) { + const appId = segs[appsIdx + 1] + if (!appId) return + const evaluationsHref = `/${segs.slice(0, appsIdx + 2).join("/")}/evaluations` + + const current = (rootStore.get(breadcrumbAtom) as any) || {} + const appPage = current["appPage"] as any + const needsHref = !appPage || !appPage.href || !appPage.href.endsWith("/evaluations") + const needsLabel = !appPage || appPage.label !== desiredLabel + if (!needsHref && !needsLabel) return + + rootStore.set(appendBreadcrumbAtom, { + appPage: { + ...(appPage || {}), + label: desiredLabel, + href: evaluationsHref, + }, + }) + return + } + + const evaluationsIdx = segs.findIndex((s) => s === "evaluations") + if (evaluationsIdx === -1) return + const evaluationsHref = `/${segs.slice(0, evaluationsIdx + 1).join("/")}` + + const current = (rootStore.get(breadcrumbAtom) as any) || {} + const projectPage = current["projectPage"] as any + const needsHref = !projectPage || projectPage.href !== evaluationsHref + const needsLabel = !projectPage || projectPage.label !== desiredLabel + if (!needsHref && !needsLabel) return + + rootStore.set(appendBreadcrumbAtom, { + projectPage: { + ...(projectPage || {}), + label: desiredLabel, + href: evaluationsHref, + }, + }) + }, [rootStore, appendBreadcrumb, evalType]) + + // Clean up eval-detail crumb when leaving the page to avoid stale breadcrumbs + useEffect(() => { + return () => { + const current = (rootStore.get(breadcrumbAtom) as any) || {} + if (current["eval-detail"]) { + const {"eval-detail": _omit, ...rest} = current + rootStore.set(setBreadcrumbsAtom, rest) + } + } + }, [rootStore]) + + const hasPreviewData = Boolean(id) + + if (isPreview && !hasPreviewData) { + return ( + router.reload()} + /> + ) + } + + return ( +
    + {/** TODO: improve the component state specially AutoEvalRunDetails */} + {isPreview === undefined ? ( + + ) : isPreview && id ? ( + <> + + + + ) : ( + + )} +
    + ) +}) + +const EvalRunDetailsPage = memo(({evalType}: {evalType: "auto" | "human"}) => { + const router = useRouter() + const runId = router.query.evaluation_id ? router.query.evaluation_id.toString() : "" + return ( + + + + + + ) +}) + +export default memo(EvalRunDetailsPage) diff --git a/web/ee/src/components/EvalRunDetails/state/evalType.ts b/web/ee/src/components/EvalRunDetails/state/evalType.ts new file mode 100644 index 0000000000..bef8a97447 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/state/evalType.ts @@ -0,0 +1,10 @@ +import {atom} from "jotai" + +// This atom is used to store the evaluation type (auto or human) for the current evaluation run. +// It is used to determine which evaluation page to render. +export const evalTypeAtom = atom<"auto" | "human" | null>(null) + +// This atom is used to set the evaluation type (auto or human) for the current evaluation run. +export const setEvalTypeAtom = atom(null, (get, set, update: "auto" | "human" | null) => { + set(evalTypeAtom, update) +}) diff --git a/web/ee/src/components/EvalRunDetails/state/focusScenarioAtom.ts b/web/ee/src/components/EvalRunDetails/state/focusScenarioAtom.ts new file mode 100644 index 0000000000..3940d1afea --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/state/focusScenarioAtom.ts @@ -0,0 +1,89 @@ +import {atom} from "jotai" +import {atomWithImmer} from "jotai-immer" + +export interface FocusTarget { + focusRunId: string | null + focusScenarioId: string | null +} + +interface FocusDrawerState extends FocusTarget { + open: boolean + isClosing: boolean +} + +export const initialFocusDrawerState: FocusDrawerState = { + open: false, + isClosing: false, + focusRunId: null, + focusScenarioId: null, +} + +export const focusDrawerAtom = atomWithImmer(initialFocusDrawerState) + +export const focusScenarioAtom = atom((get) => { + const {focusRunId, focusScenarioId} = get(focusDrawerAtom) + if (!focusScenarioId) return null + return {focusRunId, focusScenarioId} +}) + +export const isFocusDrawerOpenAtom = atom((get) => get(focusDrawerAtom).open) + +export const focusDrawerTargetAtom = atom((get) => { + const {focusRunId, focusScenarioId} = get(focusDrawerAtom) + return {focusRunId, focusScenarioId} +}) + +export const setFocusDrawerTargetAtom = atom(null, (_get, set, target: FocusTarget) => { + set(focusDrawerAtom, (draft) => { + if ( + draft.focusRunId === target.focusRunId && + draft.focusScenarioId === target.focusScenarioId + ) { + return + } + draft.focusRunId = target.focusRunId + draft.focusScenarioId = target.focusScenarioId + }) +}) + +export const openFocusDrawerAtom = atom(null, (_get, set, target: FocusTarget) => { + set(focusDrawerAtom, (draft) => { + const sameTarget = + draft.focusRunId === target.focusRunId && + draft.focusScenarioId === target.focusScenarioId && + draft.open + draft.open = true + draft.isClosing = false + if (!sameTarget) { + draft.focusRunId = target.focusRunId + draft.focusScenarioId = target.focusScenarioId + } + }) +}) + +export const closeFocusDrawerAtom = atom(null, (_get, set) => { + set(focusDrawerAtom, (draft) => { + if (!draft.open && !draft.focusScenarioId && !draft.focusRunId) { + return + } + draft.open = false + draft.isClosing = true + }) +}) + +export const resetFocusDrawerAtom = atom(null, (_get, set) => { + set(focusDrawerAtom, () => ({...initialFocusDrawerState})) +}) + +export const applyFocusDrawerStateAtom = atom( + null, + (_get, set, payload: Partial) => { + set(focusDrawerAtom, (draft) => { + const next = {...draft, ...payload} + draft.open = Boolean(next.open) + draft.isClosing = Boolean(next.isClosing) + draft.focusRunId = next.focusRunId ?? null + draft.focusScenarioId = next.focusScenarioId ?? null + }) + }, +) diff --git a/web/ee/src/components/EvalRunDetails/state/urlState.ts b/web/ee/src/components/EvalRunDetails/state/urlState.ts new file mode 100644 index 0000000000..a4d4e88a92 --- /dev/null +++ b/web/ee/src/components/EvalRunDetails/state/urlState.ts @@ -0,0 +1,36 @@ +import {atom} from "jotai" +import {atomWithImmer} from "jotai-immer" + +import {evalTypeAtom} from "../state/evalType" + +export interface EvalRunUrlState { + view?: "list" | "table" | "focus" + scenarioId?: string + compare?: string[] // Array of run IDs to compare against the base run +} + +// Holds the subset of query params we care about for EvalRunDetails page +export const urlStateAtom = atomWithImmer({}) + +type HumanEvalViewTypes = "focus" | "list" | "table" | "results" +type AutoEvalViewTypes = "overview" | "test-cases" | "prompt" + +// Derived UI atom: maps the URL state and eval type to a concrete view +export const runViewTypeAtom = atom((get) => { + const evalType = get(evalTypeAtom) + const view = get(urlStateAtom).view + + const humanViews: HumanEvalViewTypes[] = ["focus", "list", "table", "results"] + // Put "test-cases" first so it becomes the default for auto evaluations + const autoViews: AutoEvalViewTypes[] = ["test-cases", "overview", "prompt"] + + if (evalType === "auto") { + // default and validation for auto eval + const v = (view as AutoEvalViewTypes | undefined) ?? autoViews[0] + return autoViews.includes(v) ? v : undefined + } + + // default and validation for human eval + const v = (view as HumanEvalViewTypes | undefined) ?? humanViews[0] + return humanViews.includes(v) ? v : "focus" +}) diff --git a/web/ee/src/components/EvaluationTable/ABTestingEvaluationTable.tsx b/web/ee/src/components/EvaluationTable/ABTestingEvaluationTable.tsx new file mode 100644 index 0000000000..ce5467f572 --- /dev/null +++ b/web/ee/src/components/EvaluationTable/ABTestingEvaluationTable.tsx @@ -0,0 +1,823 @@ +// @ts-nocheck +import {useState, useEffect, useCallback, useMemo, useRef} from "react" + +import SecondaryButton from "@agenta/oss/src/components/SecondaryButton/SecondaryButton" +import {Button, Card, Col, Input, Radio, Row, Space, Statistic, Table, message} from "antd" +import type {ColumnType} from "antd/es/table" +import {getDefaultStore, useAtomValue} from "jotai" +import debounce from "lodash/debounce" +import {useRouter} from "next/router" + +import {useQueryParam} from "@/oss/hooks/useQuery" +import {EvaluationFlow} from "@/oss/lib/enums" +import {exportABTestingEvaluationData} from "@/oss/lib/helpers/evaluate" +import {isBaseResponse, isFuncResponse} from "@/oss/lib/helpers/playgroundResp" +import {testsetRowToChatMessages} from "@/oss/lib/helpers/testset" +import { + EvaluationTypeLabels, + batchExecute, + camelToSnake, + getStringOrJson, +} from "@/oss/lib/helpers/utils" +import {variantNameWithRev} from "@/oss/lib/helpers/variantHelper" +import useStatelessVariants from "@/oss/lib/hooks/useStatelessVariants" +import {getAllMetadata} from "@/oss/lib/hooks/useStatelessVariants/state" +import {extractInputKeysFromSchema} from "@/oss/lib/shared/variant/inputHelpers" +import {getRequestSchema} from "@/oss/lib/shared/variant/openapiUtils" +import {derivePromptsFromSpec} from "@/oss/lib/shared/variant/transformer/transformer" +import {transformToRequestBody} from "@/oss/lib/shared/variant/transformer/transformToRequestBody" +import type {BaseResponse, EvaluationScenario, KeyValuePair, Variant} from "@/oss/lib/Types" +import {callVariant} from "@/oss/services/api" +import {updateEvaluationScenario, updateEvaluation} from "@/oss/services/human-evaluations/api" +import {useEvaluationResults} from "@/oss/services/human-evaluations/hooks/useEvaluationResults" +import {customPropertiesByRevisionAtomFamily} from "@/oss/state/newPlayground/core/customProperties" +import { + stablePromptVariablesAtomFamily, + transformedPromptsAtomFamily, +} from "@/oss/state/newPlayground/core/prompts" +import {variantFlagsAtomFamily} from "@/oss/state/newPlayground/core/variantFlags" +import {appUriInfoAtom, appSchemaAtom} from "@/oss/state/variant/atoms/fetcher" + +import EvaluationCardView from "../Evaluations/EvaluationCardView" +import {VARIANT_COLORS} from "../Evaluations/EvaluationCardView/assets/styles" +import EvaluationVotePanel from "../Evaluations/EvaluationCardView/EvaluationVotePanel" +import VariantAlphabet from "../Evaluations/EvaluationCardView/VariantAlphabet" + +import {useABTestingEvaluationTableStyles} from "./assets/styles" +import ParamsFormWithRun from "./components/ParamsFormWithRun" +import type {ABTestingEvaluationTableProps, ABTestingEvaluationTableRow} from "./types" + +// Note: Avoid Typography.Title to prevent EllipsisMeasure/ResizeObserver loops + +/** + * + * @param evaluation - Evaluation object + * @param evaluationScenarios - Evaluation rows + * @param columnsCount - Number of variants to compare face to face (per default 2) + * @returns + */ +const ABTestingEvaluationTable: React.FC = ({ + evaluation, + evaluationScenarios, + isLoading, +}) => { + const classes = useABTestingEvaluationTableStyles() + const router = useRouter() + const appId = router.query.app_id as string + const uriObject = useAtomValue(appUriInfoAtom) + const store = getDefaultStore() + const evalVariants = [...evaluation.variants] + + const {variants: data, isLoading: isVariantsLoading} = useStatelessVariants() + + // // Select the correct variant revisions for this evaluation + const variantData = useMemo(() => { + const allVariantData = data || [] + if (!allVariantData.length) return [] + + return evaluation.variants.map((evVariant, idx) => { + const revisionId = evaluation.variant_revision_ids?.[idx] + const revisionNumber = evaluation.revisions?.[idx] + + // 1. Try to find by exact revision id + let selected = allVariantData.find((v) => v.id === revisionId) + + // 2. Try by variantId & revision number + if (!selected && revisionNumber !== undefined) { + selected = allVariantData.find( + (v) => v.variantId === evVariant.variantId && v.revision === revisionNumber, + ) + } + + // 3. Fallback – latest revision for that variant + if (!selected) { + selected = allVariantData.find( + (v) => v.variantId === evVariant.variantId && v.isLatestRevision, + ) + } + + return selected || evVariant + }) + }, [data, evaluation.variants, evaluation.variant_revision_ids, evaluation.revisions]) + + const [rows, setRows] = useState([]) + const [, setEvaluationStatus] = useState(evaluation.status) + const [viewMode, setViewMode] = useQueryParam("viewMode", "card") + const {data: evaluationResults, mutate} = useEvaluationResults({ + evaluationId: evaluation.id, + onSuccess: () => { + updateEvaluation(evaluation.id, {status: EvaluationFlow.EVALUATION_FINISHED}) + }, + onError: (err) => { + console.error("Failed to fetch results:", err) + }, + }) + + const {numOfRows, flagVotes, positiveVotes, appVariant1Votes, appVariant2Votes} = + useMemo(() => { + const votesData = evaluationResults?.votes_data || {} + const variantsVotesData = votesData.variants_votes_data || {} + + const [variant1, variant2] = evaluation.variants || [] + + return { + numOfRows: votesData.nb_of_rows || 0, + flagVotes: votesData.flag_votes?.number_of_votes || 0, + positiveVotes: votesData.positive_votes?.number_of_votes || 0, + appVariant1Votes: variantsVotesData?.[variant1?.variantId]?.number_of_votes || 0, + appVariant2Votes: variantsVotesData?.[variant2?.variantId]?.number_of_votes || 0, + } + }, [evaluationResults, evaluation.variants]) + + const depouncedUpdateEvaluationScenario = useCallback( + debounce((data: Partial, scenarioId) => { + updateEvaluationScenarioData(scenarioId, data) + }, 800), + [], + ) + + useEffect(() => { + if (evaluationScenarios) { + setRows(() => { + const obj = [...evaluationScenarios] + const spec = store.get(appSchemaAtom) as any + const routePath = uriObject?.routePath + + obj.forEach((item, rowIndex) => { + // Map outputs into row shape for table columns + item.outputs.forEach((op) => (item[op.variant_id] = op.variant_output)) + + try { + // Build a stable input name set from variants (schema for custom, stable prompts otherwise) + const names = new Set() + ;(variantData || []).forEach((v: any) => { + const rid = v?.id + if (!rid) return + const flags = store.get( + variantFlagsAtomFamily({revisionId: rid}), + ) as any + if (flags?.isCustom && spec) { + extractInputKeysFromSchema(spec as any, routePath).forEach((k) => + names.add(k), + ) + } else { + const vars = store.get( + stablePromptVariablesAtomFamily(rid), + ) as string[] + ;(vars || []).forEach((k) => names.add(k)) + } + }) + + const chatCol = evaluation?.testset?.testsetChatColumn || "" + const reserved = new Set(["correct_answer", chatCol]) + const testRow = evaluation?.testset?.csvdata?.[rowIndex] || {} + + const existing = new Set( + (Array.isArray(item.inputs) ? item.inputs : []) + .map((ip: any) => ip?.input_name) + .filter(Boolean), + ) + + const nextInputs = Array.isArray(item.inputs) ? [...item.inputs] : [] + Array.from(names) + .filter((k) => typeof k === "string" && k && !reserved.has(k)) + .forEach((k) => { + if (!existing.has(k)) { + nextInputs.push({ + input_name: k, + input_value: (testRow as any)?.[k] ?? "", + }) + } + }) + item.inputs = nextInputs + } catch { + // best-effort prepopulation only + } + }) + + return obj + }) + } + }, [evaluationScenarios, variantData, uriObject?.routePath, evaluation?.testset?.csvdata]) + + const handleInputChange = useCallback( + (e: React.ChangeEvent, id: string, inputIndex: number) => { + setRows((oldRows) => { + const rowIndex = oldRows.findIndex((row) => row.id === id) + const newRows = [...oldRows] + if (newRows[rowIndex] && newRows[rowIndex].inputs?.[inputIndex]) { + newRows[rowIndex].inputs[inputIndex].input_value = e.target.value + } + return newRows + }) + }, + [], + ) + + const setRowValue = useCallback( + (rowIndex: number, columnKey: keyof ABTestingEvaluationTableRow, value: any) => { + setRows((oldRows) => { + const newRows = [...oldRows] + newRows[rowIndex][columnKey] = value as never + return newRows + }) + }, + [], + ) + + // Upsert a single input value into a row by scenario id + const upsertRowInput = useCallback((rowId: string, name: string, value: any) => { + setRows((old) => { + const idx = old.findIndex((r) => r.id === rowId) + if (idx === -1) return old + const next = [...old] + const row = {...next[idx]} + const inputs = Array.isArray(row.inputs) ? [...row.inputs] : [] + const pos = inputs.findIndex((ip) => ip.input_name === name) + if (pos === -1) { + inputs.push({input_name: name, input_value: value}) + } else if (inputs[pos]?.input_value !== value) { + inputs[pos] = {...inputs[pos], input_value: value} + } + row.inputs = inputs + next[idx] = row as any + return next + }) + }, []) + + const updateEvaluationScenarioData = useCallback( + async (id: string, data: Partial, showNotification = true) => { + await updateEvaluationScenario( + evaluation.id, + id, + Object.keys(data).reduce( + (acc, key) => ({ + ...acc, + [camelToSnake(key)]: data[key as keyof EvaluationScenario], + }), + {}, + ), + evaluation.evaluationType, + ) + .then(() => { + setRows((prev) => { + const next = [...prev] + const idx = next.findIndex((r) => r.id === id) + if (idx >= 0) { + Object.keys(data).forEach((key) => { + // @ts-ignore + next[idx][key] = data[key as keyof EvaluationScenario] as any + }) + } + return next + }) + if (showNotification) message.success("Evaluation Updated!") + }) + .catch(console.error) + }, + [evaluation.evaluationType, evaluation.id], + ) + + const handleVoteClick = useCallback( + async (id: string, vote: string) => { + const rowIndex = rows.findIndex((row) => row.id === id) + const evaluation_scenario_id = rows[rowIndex]?.id + + if (evaluation_scenario_id) { + setRowValue(rowIndex, "vote", "loading") + const data = { + vote: vote, + outputs: evalVariants.map((v: Variant) => ({ + variant_id: v.variantId, + variant_output: rows[rowIndex][v.variantId], + })), + inputs: rows[rowIndex].inputs, + } + await updateEvaluationScenarioData(evaluation_scenario_id, data) + await mutate() + } + }, + [rows, setRowValue, updateEvaluationScenarioData, evalVariants], + ) + + // Keep stable refs to callback handlers to avoid re-creating table columns + // Initialize with no-ops to avoid TDZ when functions are declared below + const runEvaluationRef = useRef< + (id: string, count?: number, showNotification?: boolean) => void + >(() => {}) + const handleInputChangeRef = useRef< + (e: React.ChangeEvent, id: string, inputIndex: number) => void + >(() => {}) + const handleVoteClickRef = useRef<(id: string, vote: string) => void>(() => {}) + // // Note: assign .current values after handlers are defined (see below) + + const runEvaluation = useCallback( + async (id: string, count = 1, showNotification = true) => { + const _variantData = variantData + const rowIndex = rows.findIndex((row) => row.id === id) + const testRow = evaluation?.testset?.csvdata?.[rowIndex] || {} + + // Derive request schema once + const spec = store.get(appSchemaAtom) as any + const routePath = uriObject?.routePath + const requestSchema: any = spec ? getRequestSchema(spec as any, {routePath}) : undefined + const hasMessagesProp = Boolean(requestSchema?.properties?.messages) + + const outputs = rows[rowIndex].outputs.reduce( + (acc, op) => ({...acc, [op.variant_id]: op.variant_output}), + {}, + ) + + await Promise.all( + evalVariants.map(async (variant: Variant, idx: number) => { + setRowValue(rowIndex, variant.variantId, "loading...") + + const isChatTestset = !!evaluation?.testset?.testsetChatColumn + + const rawMessages = isChatTestset + ? testsetRowToChatMessages(evaluation.testset.csvdata[rowIndex], false) + : [] + + const sanitizedMessages = rawMessages.map((msg) => { + if (!Array.isArray(msg.content)) return msg + return { + ...msg, + content: msg.content.filter((part) => { + return part.type !== "image_url" || part.image_url.url.trim() !== "" + }), + } + }) + + try { + // Build stable optional parameters using atom-based prompts (stable params) + const revisionId = _variantData?.[idx]?.id as string | undefined + const flags = revisionId + ? (store.get(variantFlagsAtomFamily({revisionId})) as any) + : undefined + const isCustom = Boolean(flags?.isCustom) + // Determine effective input keys per variant + const schemaKeys = spec + ? extractInputKeysFromSchema(spec as any, routePath) + : [] + const stableFromParams: string[] = (() => { + try { + const params = (_variantData[idx] as any)?.parameters + const ag = params?.ag_config ?? params ?? {} + const s = new Set() + Object.values(ag || {}).forEach((cfg: any) => { + const arr = cfg?.input_keys + if (Array.isArray(arr)) { + arr.forEach((k) => { + if (typeof k === "string" && k) s.add(k) + }) + } + }) + return Array.from(s) + } catch { + return [] + } + })() + + console.log("stableFromParams", stableFromParams) + // Also include stable variables derived from saved prompts (handles cases where input_keys are not explicitly listed) + const stableFromPrompts: string[] = revisionId + ? (store.get(stablePromptVariablesAtomFamily(revisionId)) as string[]) + : [] + const effectiveKeys = isCustom + ? schemaKeys + : Array.from( + new Set([ + ...(stableFromParams || []), + ...(stableFromPrompts || []), + ]), + ).filter((k) => typeof k === "string" && k && k !== "chat") + + // Build input params strictly from effective keys using testcase (with row overrides) + let inputParamsDict: Record = {} + if (Array.isArray(effectiveKeys) && effectiveKeys.length > 0) { + effectiveKeys.forEach((key) => { + const fromRowInput = rows[rowIndex]?.inputs?.find( + (ip) => ip.input_name === key, + )?.input_value + const fromTestcase = (testRow as any)?.[key] + if (fromRowInput !== undefined) inputParamsDict[key] = fromRowInput + else if (fromTestcase !== undefined) + inputParamsDict[key] = fromTestcase + }) + } else { + // Fallback: preserve previous behavior if keys unavailable + inputParamsDict = rows[rowIndex].inputs.reduce( + (acc: Record, item) => { + acc[item.input_name] = item.input_value + return acc + }, + {}, + ) + } + // Fallback: if chat testset, hydrate from test row keys as needed + if (isChatTestset) { + const testRow = evaluation?.testset?.csvdata?.[rowIndex] || {} + const reserved = new Set([ + "correct_answer", + evaluation?.testset?.testsetChatColumn || "", + ]) + Object.keys(testRow) + .filter((k) => !reserved.has(k)) + .forEach((k) => { + if (!(k in inputParamsDict)) + inputParamsDict[k] = (testRow as any)[k] + }) + } + + const stableOptional = revisionId + ? store.get( + transformedPromptsAtomFamily({ + revisionId, + useStableParams: true, + }), + ) + : undefined + + const optionalParameters = + stableOptional || + (_variantData[idx]?.parameters + ? transformToRequestBody({ + variant: _variantData[idx], + allMetadata: getAllMetadata(), + prompts: + spec && _variantData[idx] + ? derivePromptsFromSpec( + _variantData[idx] as any, + spec as any, + uriObject?.routePath, + ) || [] + : [], + // Keep request shape aligned with OpenAPI schema + isChat: hasMessagesProp, + isCustom, + customProperties: undefined, + }) + : (_variantData[idx]?.promptOptParams as any)) + // For new arch, variable inputs must live under requestBody.inputs + // Mark them as non-"input" so callVariant places them under "inputs" + const synthesizedParamDef = Object.keys(inputParamsDict).map((name) => ({ + name, + input: false, + })) as any + + const result = await callVariant( + inputParamsDict, + synthesizedParamDef, + optionalParameters, + appId || "", + _variantData[idx].baseId || "", + sanitizedMessages, + undefined, + true, + !!_variantData[idx]._parentVariant, // isNewVariant (new arch if parent exists) + isCustom, + uriObject, + _variantData[idx].variantId, + ) + + let res: BaseResponse | undefined + + if (typeof result === "string") { + res = {version: "2.0", data: result} as BaseResponse + } else if (isFuncResponse(result)) { + res = {version: "2.0", data: result.message} as BaseResponse + } else if (isBaseResponse(result)) { + res = result as BaseResponse + } else if (result.data) { + res = {version: "2.0", data: result.data} as BaseResponse + } else { + res = {version: "2.0", data: ""} as BaseResponse + } + + const _result = getStringOrJson(res.data) + + setRowValue(rowIndex, variant.variantId, _result) + ;(outputs as KeyValuePair)[variant.variantId] = _result + setRowValue( + rowIndex, + "evaluationFlow", + EvaluationFlow.COMPARISON_RUN_STARTED, + ) + if (idx === evalVariants.length - 1) { + if (count === 1 || count === rowIndex) { + setEvaluationStatus(EvaluationFlow.EVALUATION_FINISHED) + } + } + + updateEvaluationScenarioData( + id, + { + outputs: Object.keys(outputs).map((key) => ({ + variant_id: key, + variant_output: outputs[key as keyof typeof outputs], + })), + inputs: rows[rowIndex].inputs, + }, + showNotification, + ) + } catch (err) { + console.error("Error running evaluation:", err) + setEvaluationStatus(EvaluationFlow.EVALUATION_FAILED) + setRowValue( + rowIndex, + variant.variantId, + err?.response?.data?.detail?.message || "Failed to run evaluation!", + ) + } + }), + ) + }, + [ + variantData, + rows, + evalVariants, + updateEvaluationScenarioData, + setRowValue, + appId, + evaluation.testset.csvdata, + ], + ) + + // Now that handlers are declared, update stable refs + useEffect(() => { + runEvaluationRef.current = runEvaluation + handleInputChangeRef.current = handleInputChange + handleVoteClickRef.current = handleVoteClick + }, [runEvaluation, handleInputChange, handleVoteClick]) + + const runAllEvaluations = useCallback(async () => { + setEvaluationStatus(EvaluationFlow.EVALUATION_STARTED) + batchExecute(rows.map((row) => () => runEvaluation(row.id!, rows.length - 1, false))) + .then(() => { + setEvaluationStatus(EvaluationFlow.EVALUATION_FINISHED) + mutate() + message.success("Evaluations Updated!") + }) + .catch((err) => console.error("An error occurred:", err)) + }, [runEvaluation, rows]) + + const dynamicColumns: ColumnType[] = useMemo( + () => + evalVariants.map((variant: Variant, ix) => { + const columnKey = variant.variantId + + return { + title: ( +
    + Variant: + + + {evalVariants + ? variantNameWithRev({ + variant_name: variant.variantName, + revision: evaluation.revisions[ix], + }) + : ""} + +
    + ), + dataIndex: columnKey, + key: columnKey, + width: "20%", + render: (text: any, record: ABTestingEvaluationTableRow) => { + const value = + text || + record?.[columnKey] || + record.outputs?.find((o: any) => o.variant_id === columnKey) + ?.variant_output || + "" + return ( +
    + {value} +
    + ) + }, + } + }), + [evalVariants, evaluation.revisions], + ) + + const columns = useMemo(() => { + return [ + { + key: "1", + title: ( +
    +
    + Inputs (Test set: + {evaluation.testset.name} + ) +
    +
    + ), + width: 300, + dataIndex: "inputs", + render: (_: any, record: ABTestingEvaluationTableRow, rowIndex: number) => { + return ( + runEvaluationRef.current(record.id!)} + onParamChange={(name, value) => upsertRowInput(record.id!, name, value)} + variantData={variantData} + isLoading={isVariantsLoading} + /> + ) + }, + }, + { + title: "Expected Output", + dataIndex: "expectedOutput", + key: "expectedOutput", + width: "25%", + render: (text: any, record: any, rowIndex: number) => { + const correctAnswer = + record.correctAnswer || evaluation.testset.csvdata[rowIndex].correct_answer + + return ( + <> + + depouncedUpdateEvaluationScenario( + { + correctAnswer: e.target.value, + }, + record.id, + ) + } + key={record.id} + /> + + ) + }, + }, + ...dynamicColumns, + { + title: "Score", + dataIndex: "score", + key: "score", + render: (text: any, record: any, rowIndex: number) => { + return ( + <> + { + handleVoteClickRef.current(record.id, vote)} + loading={record.vote === "loading"} + vertical + key={record.id} + outputs={record.outputs} + /> + } + + ) + }, + }, + { + title: "Additional Note", + dataIndex: "additionalNote", + key: "additionalNote", + render: (text: any, record: any, rowIndex: number) => { + return ( + <> + + depouncedUpdateEvaluationScenario( + {note: e.target.value}, + record.id, + ) + } + key={record.id} + /> + + ) + }, + }, + ] + }, [ + isVariantsLoading, + evaluation.testset.name, + classes.inputTestContainer, + classes.inputTest, + dynamicColumns, + evalVariants, + ]) + + return ( +
    +

    {EvaluationTypeLabels.human_a_b_testing}

    +
    + + + + + + exportABTestingEvaluationData( + evaluation, + evaluationScenarios, + rows, + ) + } + disabled={false} + > + Export Results + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + setViewMode(e.target.value)} + value={viewMode} + optionType="button" + /> +
    + + {viewMode === "tabular" ? ( + record.id!} + /> + ) : ( + handleVoteClick(id, vote as string)} + onInputChange={handleInputChange} + updateEvaluationScenarioData={updateEvaluationScenarioData} + evaluation={evaluation} + variantData={variantData} + isLoading={isLoading || isVariantsLoading} + /> + )} + + ) +} + +export default ABTestingEvaluationTable diff --git a/web/ee/src/components/EvaluationTable/SingleModelEvaluationTable.tsx b/web/ee/src/components/EvaluationTable/SingleModelEvaluationTable.tsx new file mode 100644 index 0000000000..8273f6aa2e --- /dev/null +++ b/web/ee/src/components/EvaluationTable/SingleModelEvaluationTable.tsx @@ -0,0 +1,752 @@ +// @ts-nocheck +import {useCallback, useEffect, useState, useMemo} from "react" + +import { + Button, + Card, + Col, + Input, + Radio, + Row, + Space, + Statistic, + Table, + Typography, + message, +} from "antd" +import type {ColumnType} from "antd/es/table" +import {getDefaultStore, useAtomValue} from "jotai" +import debounce from "lodash/debounce" +import {useRouter} from "next/router" + +import SecondaryButton from "@/oss/components/SecondaryButton/SecondaryButton" +import {useQueryParam} from "@/oss/hooks/useQuery" +import {EvaluationFlow} from "@/oss/lib/enums" +import {exportSingleModelEvaluationData} from "@/oss/lib/helpers/evaluate" +import {isBaseResponse, isFuncResponse} from "@/oss/lib/helpers/playgroundResp" +import {testsetRowToChatMessages} from "@/oss/lib/helpers/testset" +import { + EvaluationTypeLabels, + batchExecute, + camelToSnake, + getStringOrJson, +} from "@/oss/lib/helpers/utils" +import {variantNameWithRev} from "@/oss/lib/helpers/variantHelper" +import useStatelessVariants from "@/oss/lib/hooks/useStatelessVariants" +import {getAllMetadata} from "@/oss/lib/hooks/useStatelessVariants/state" +import {extractInputKeysFromSchema} from "@/oss/lib/shared/variant/inputHelpers" +import {getRequestSchema} from "@/oss/lib/shared/variant/openapiUtils" +import {derivePromptsFromSpec} from "@/oss/lib/shared/variant/transformer/transformer" +import {transformToRequestBody} from "@/oss/lib/shared/variant/transformer/transformToRequestBody" +import type {BaseResponse, EvaluationScenario, KeyValuePair, Variant} from "@/oss/lib/Types" +import {callVariant} from "@/oss/services/api" +import {updateEvaluation, updateEvaluationScenario} from "@/oss/services/human-evaluations/api" +import {customPropertiesByRevisionAtomFamily} from "@/oss/state/newPlayground/core/customProperties" +import { + stablePromptVariablesAtomFamily, + transformedPromptsAtomFamily, +} from "@/oss/state/newPlayground/core/prompts" +import {variantFlagsAtomFamily} from "@/oss/state/newPlayground/core/variantFlags" +import {appUriInfoAtom, appSchemaAtom} from "@/oss/state/variant/atoms/fetcher" + +import EvaluationCardView from "../Evaluations/EvaluationCardView" +import EvaluationVotePanel from "../Evaluations/EvaluationCardView/EvaluationVotePanel" +import SaveTestsetModal from "../SaveTestsetModal/SaveTestsetModal" + +import {useSingleModelEvaluationTableStyles} from "./assets/styles" +import ParamsFormWithRun from "./components/ParamsFormWithRun" +import type {EvaluationTableProps, SingleModelEvaluationRow} from "./types" + +const {Title} = Typography + +/** + * + * @param evaluation - Evaluation object + * @param evaluationScenarios - Evaluation rows + * @param columnsCount - Number of variants to compare face to face (per default 2) + * @returns + */ +const SingleModelEvaluationTable: React.FC = ({ + evaluation, + evaluationScenarios, + isLoading, +}) => { + const classes = useSingleModelEvaluationTableStyles() + const router = useRouter() + const appId = router.query.app_id as string + const uriObject = useAtomValue(appUriInfoAtom) + const store = getDefaultStore() + const variants = evaluation.variants + + const {variants: data, isLoading: isVariantsLoading} = useStatelessVariants() + + // Select the correct variant revisions for this evaluation + const variantData = useMemo(() => { + const allVariantData = data || [] + if (!allVariantData.length) return [] + + return evaluation.variants.map((evVariant, idx) => { + const revisionId = evaluation.variant_revision_ids?.[idx] + const revisionNumber = evaluation.revisions?.[idx] + + // 1. Try to find by exact revision id + let selected = allVariantData.find((v) => v.id === revisionId) + + // 2. Try by variantId & revision number + if (!selected && revisionNumber !== undefined) { + selected = allVariantData.find( + (v) => v.variantId === evVariant.variantId && v.revision === revisionNumber, + ) + } + + // 3. Fallback – latest revision for that variant + if (!selected) { + selected = allVariantData.find( + (v) => v.variantId === evVariant.variantId && v.isLatestRevision, + ) + } + + return selected || evVariant + }) + }, [data, evaluation.variants, evaluation.variant_revision_ids, evaluation.revisions]) + + const [rows, setRows] = useState([]) + const [evaluationStatus, setEvaluationStatus] = useState(evaluation.status) + const [viewMode, setViewMode] = useQueryParam("viewMode", "card") + const [accuracy, setAccuracy] = useState(0) + const [isTestsetModalOpen, setIsTestsetModalOpen] = useState(false) + + const depouncedUpdateEvaluationScenario = useCallback( + debounce((data: Partial, scenarioId) => { + updateEvaluationScenarioData(scenarioId, data) + }, 800), + [rows], + ) + + useEffect(() => { + if (evaluationScenarios) { + const obj = [...evaluationScenarios] + const spec = store.get(appSchemaAtom) as any + const routePath = uriObject?.routePath + + obj.forEach((item, rowIndex) => { + // Map outputs into row shape for table columns + item.outputs.forEach((op) => (item[op.variant_id] = op.variant_output)) + + try { + const names = new Set() + ;(variantData || []).forEach((v: any) => { + const rid = v?.id + if (!rid) return + const flags = store.get(variantFlagsAtomFamily({revisionId: rid})) as any + if (flags?.isCustom && spec) { + extractInputKeysFromSchema(spec as any, routePath).forEach((k) => + names.add(k), + ) + } else { + const vars = store.get(stablePromptVariablesAtomFamily(rid)) as string[] + ;(vars || []).forEach((k) => names.add(k)) + } + }) + + const chatCol = evaluation?.testset?.testsetChatColumn || "" + const reserved = new Set(["correct_answer", chatCol]) + const testRow = evaluation?.testset?.csvdata?.[rowIndex] || {} + + const existing = new Set( + (Array.isArray(item.inputs) ? item.inputs : []) + .map((ip: any) => ip?.input_name) + .filter(Boolean), + ) + + const nextInputs = Array.isArray(item.inputs) ? [...item.inputs] : [] + Array.from(names) + .filter((k) => typeof k === "string" && k && !reserved.has(k)) + .forEach((k) => { + if (!existing.has(k)) { + nextInputs.push({ + input_name: k, + input_value: (testRow as any)?.[k] ?? "", + }) + } + }) + item.inputs = nextInputs + } catch { + // best-effort only + } + }) + + setRows(obj) + } + }, [evaluationScenarios, variantData]) + + useEffect(() => { + const filtered = rows.filter((row) => typeof row.score === "number" && !isNaN(row.score)) + + if (filtered.length > 0) { + const avg = filtered.reduce((acc, val) => acc + Number(val.score), 0) / filtered.length + setAccuracy(avg) + } else { + setAccuracy(0) + } + }, [rows]) + + useEffect(() => { + if (evaluationStatus === EvaluationFlow.EVALUATION_FINISHED) { + updateEvaluation(evaluation.id, {status: EvaluationFlow.EVALUATION_FINISHED}).catch( + (err) => console.error("Failed to fetch results:", err), + ) + } + }, [evaluationStatus, evaluation.id]) + + const handleInputChange = ( + e: React.ChangeEvent, + id: string, + inputIndex: number, + ) => { + const rowIndex = rows.findIndex((row) => row.id === id) + const newRows = [...rows] + newRows[rowIndex].inputs[inputIndex].input_value = e.target.value + setRows(newRows) + } + + const handleScoreChange = (id: string, score: number) => { + const rowIndex = rows.findIndex((row) => row.id === id) + const evaluation_scenario_id = rows[rowIndex].id + + if (evaluation_scenario_id) { + setRowValue(rowIndex, "score", "loading") + const data = { + score: score ?? "", + outputs: variants.map((v: Variant) => ({ + variant_id: v.variantId, + variant_output: rows[rowIndex][v.variantId], + })), + inputs: rows[rowIndex].inputs, + } + + updateEvaluationScenarioData(evaluation_scenario_id, data) + } + } + + const depouncedHandleScoreChange = useCallback( + debounce((...args: Parameters) => { + handleScoreChange(...args) + }, 800), + [handleScoreChange], + ) + + const updateEvaluationScenarioData = async ( + id: string, + data: Partial, + showNotification = true, + ) => { + await updateEvaluationScenario( + evaluation.id, + id, + Object.keys(data).reduce( + (acc, key) => ({ + ...acc, + [camelToSnake(key)]: data[key as keyof EvaluationScenario], + }), + {}, + ), + evaluation.evaluationType, + ) + .then(() => { + Object.keys(data).forEach((key) => { + setRowValue( + rows.findIndex((item) => item.id === id), + key, + data[key as keyof EvaluationScenario], + ) + }) + if (showNotification) message.success("Evaluation Updated!") + }) + .catch(console.error) + } + + const runAllEvaluations = async () => { + setEvaluationStatus(EvaluationFlow.EVALUATION_STARTED) + batchExecute(rows.map((row) => () => runEvaluation(row.id!, rows.length - 1, false))) + .then(() => { + setEvaluationStatus(EvaluationFlow.EVALUATION_FINISHED) + message.success("Evaluations Updated!") + }) + .catch((err) => console.error("An error occurred:", err)) + } + + const runEvaluation = async (id: string, count = 1, showNotification = true) => { + const rowIndex = rows.findIndex((row) => row.id === id) + // Build input params from stable effective keys: schema keys for custom; stable prompt variables/parameters for non-custom + const testRow = evaluation?.testset?.csvdata?.[rowIndex] || {} + const spec = store.get(appSchemaAtom) as any + const routePath = uriObject?.routePath + const requestSchema: any = spec ? getRequestSchema(spec as any, {routePath}) : undefined + const hasMessagesProp = Boolean(requestSchema?.properties?.messages) + + const effectiveKeysForVariant = (idx: number): string[] => { + const v = variantData?.[idx] as any + const rid = v?.id + const flags = rid ? (store.get(variantFlagsAtomFamily({revisionId: rid})) as any) : null + const isCustom = Boolean(flags?.isCustom) + if (isCustom) { + return spec ? extractInputKeysFromSchema(spec as any, routePath) : [] + } + // Union of saved parameters input_keys and stable prompt variables + const fromParams: string[] = (() => { + try { + const params = v?.parameters + const ag = params?.ag_config ?? params ?? {} + const s = new Set() + Object.values(ag || {}).forEach((cfg: any) => { + const arr = cfg?.input_keys + if (Array.isArray(arr)) + arr.forEach((k) => typeof k === "string" && s.add(k)) + }) + return Array.from(s) + } catch { + return [] + } + })() + const fromPrompts: string[] = rid + ? (store.get(stablePromptVariablesAtomFamily(rid)) as string[]) || [] + : [] + return Array.from(new Set([...(fromParams || []), ...(fromPrompts || [])])).filter( + (k) => k && k !== (evaluation?.testset?.testsetChatColumn || ""), + ) + } + + let inputParamsDict: Record = {} + const keys = effectiveKeysForVariant(0) // single model uses one variant for inputs shape + if (Array.isArray(keys) && keys.length > 0) { + keys.forEach((key) => { + const fromScenario = rows[rowIndex]?.inputs?.find( + (ip) => ip.input_name === key, + )?.input_value + const fromTestcase = (testRow as any)?.[key] + if (fromScenario !== undefined) inputParamsDict[key] = fromScenario + else if (fromTestcase !== undefined) inputParamsDict[key] = fromTestcase + }) + } else { + // Fallback to backend-provided inputs + inputParamsDict = rows[rowIndex].inputs.reduce((acc: Record, item) => { + acc[item.input_name] = item.input_value + return acc + }, {}) + } + + const outputs = rows[rowIndex].outputs.reduce( + (acc, op) => ({...acc, [op.variant_id]: op.variant_output}), + {}, + ) + await Promise.all( + variants.map(async (variant: Variant, idx: number) => { + setRowValue(rowIndex, variant.variantId, "loading...") + + const isChatTestset = !!evaluation?.testset?.testsetChatColumn + const rawMessages = isChatTestset + ? testsetRowToChatMessages(evaluation.testset.csvdata[rowIndex], false) + : [] + + const sanitizedMessages = rawMessages.map((msg) => { + if (!Array.isArray(msg.content)) return msg + return { + ...msg, + content: msg.content.filter((part) => { + return part.type !== "image_url" || part.image_url.url.trim() !== "" + }), + } + }) + + try { + const revisionId = variantData?.[idx]?.id as string | undefined + const flags = revisionId + ? (store.get(variantFlagsAtomFamily({revisionId})) as any) + : undefined + const isCustom = Boolean(flags?.isCustom) + // Recompute effective keys for this variant index + const vKeys = effectiveKeysForVariant(idx) + if (Array.isArray(vKeys) && vKeys.length > 0) { + vKeys.forEach((key) => { + if (!(key in inputParamsDict)) { + const v = (testRow as any)?.[key] + if (v !== undefined) inputParamsDict[key] = v + } + }) + } + if (isChatTestset) { + const testRow = evaluation?.testset?.csvdata?.[rowIndex] || {} + const reserved = new Set([ + "correct_answer", + evaluation?.testset?.testsetChatColumn || "", + ]) + Object.keys(testRow) + .filter((k) => !reserved.has(k)) + .forEach((k) => { + if (!(k in inputParamsDict)) + inputParamsDict[k] = (testRow as any)[k] + }) + } + + // Prefer stable transformed parameters (saved revision + schema) + const stableOptional = revisionId + ? store.get( + transformedPromptsAtomFamily({ + revisionId, + useStableParams: true, + }), + ) + : undefined + const optionalParameters = + stableOptional || + (variantData[idx]?.parameters + ? transformToRequestBody({ + variant: variantData[idx], + allMetadata: getAllMetadata(), + prompts: + spec && variantData[idx] + ? derivePromptsFromSpec( + variantData[idx] as any, + spec as any, + uriObject?.routePath, + ) || [] + : [], + // Keep request shape aligned with OpenAPI schema + isChat: hasMessagesProp, + isCustom, + // stableOptional already includes custom props; fallback path keeps schema-aligned custom props + customProperties: undefined, + }) + : (variantData[idx]?.promptOptParams as any)) + + // For new arch, variable inputs must live under requestBody.inputs + // Mark them as non-"input" so callVariant places them under "inputs" + const synthesizedParamDef = Object.keys(inputParamsDict).map((name) => ({ + name, + input: false, + })) as any + + const result = await callVariant( + inputParamsDict, + synthesizedParamDef, + optionalParameters, + appId || "", + variantData[idx].baseId || "", + sanitizedMessages, + undefined, + true, + !!variantData[idx]._parentVariant, // isNewVariant + isCustom, + uriObject, + variantData[idx].variantId, + ) + + let res: BaseResponse | undefined + + if (typeof result === "string") { + res = {version: "2.0", data: result} as BaseResponse + } else if (isFuncResponse(result)) { + res = {version: "2.0", data: result.message} as BaseResponse + } else if (isBaseResponse(result)) { + res = result as BaseResponse + } else if (result.data) { + res = {version: "2.0", data: result.data} as BaseResponse + } else { + res = {version: "2.0", data: ""} as BaseResponse + console.error("Unknown response type:", result) + } + + const _result = getStringOrJson(res.data) + + setRowValue(rowIndex, variant.variantId, _result) + ;(outputs as KeyValuePair)[variant.variantId] = _result + setRowValue(rowIndex, "evaluationFlow", EvaluationFlow.COMPARISON_RUN_STARTED) + if (idx === variants.length - 1) { + if (count === 1 || count === rowIndex) { + setEvaluationStatus(EvaluationFlow.EVALUATION_FINISHED) + } + } + + updateEvaluationScenarioData( + id, + { + outputs: Object.keys(outputs).map((key) => ({ + variant_id: key, + variant_output: outputs[key as keyof typeof outputs], + })), + inputs: rows[rowIndex].inputs, + }, + showNotification, + ) + } catch (err) { + console.error("Error running evaluation:", err) + setEvaluationStatus(EvaluationFlow.EVALUATION_FAILED) + setRowValue( + rowIndex, + variant.variantId, + err?.response?.data?.detail?.message || "Failed to run evaluation!", + ) + } + }), + ) + } + + const setRowValue = ( + rowIndex: number, + columnKey: keyof SingleModelEvaluationRow, + value: any, + ) => { + const newRows = [...rows] + newRows[rowIndex][columnKey] = value as never + setRows(newRows) + } + + const dynamicColumns: ColumnType[] = variants.map( + (variant: Variant) => { + const columnKey = variant.variantId + + return { + title: ( +
    + App Variant: + + {variants + ? variantNameWithRev({ + variant_name: variant.variantName, + revision: evaluation.revisions[0], + }) + : ""} + +
    + ), + dataIndex: columnKey, + key: columnKey, + width: "25%", + render: (text: any, record: SingleModelEvaluationRow, rowIndex: number) => { + let outputValue = text + if (!outputValue && record.outputs && record.outputs.length > 0) { + outputValue = record.outputs.find( + (output: any) => output.variant_id === columnKey, + )?.variant_output + } + return ( +
    + {outputValue} +
    + ) + }, + } + }, + ) + + const columns = [ + { + key: "1", + title: ( +
    +
    + Inputs (Test set: + {evaluation.testset.name} + ) +
    +
    + ), + width: 300, + dataIndex: "inputs", + render: (_: any, record: SingleModelEvaluationRow, rowIndex: number) => { + return ( + runEvaluation(record.id!)} + onParamChange={(name, value) => + handleInputChange( + {target: {value}} as any, + record.id, + record?.inputs.findIndex((ip) => ip.input_name === name), + ) + } + variantData={variantData} + isLoading={isVariantsLoading} + /> + ) + }, + }, + { + title: "Expected Output", + dataIndex: "expectedOutput", + key: "expectedOutput", + width: "25%", + render: (text: any, record: any, rowIndex: number) => { + const correctAnswer = + record.correctAnswer || evaluation.testset.csvdata[rowIndex].correct_answer + + return ( + <> + + depouncedUpdateEvaluationScenario( + { + correctAnswer: e.target.value, + }, + record.id, + ) + } + key={record.id} + /> + + ) + }, + }, + ...dynamicColumns, + { + title: "Score", + dataIndex: "score", + key: "score", + render: (text: any, record: any, rowIndex: number) => { + return ( + <> + { + + depouncedHandleScoreChange(record.id, val[0].score as number) + } + loading={record.score === "loading"} + showVariantName={false} + key={record.id} + outputs={record.outputs} + /> + } + + ) + }, + }, + { + title: "Additional Note", + dataIndex: "additionalNote", + key: "additionalNote", + render: (text: any, record: any, rowIndex: number) => { + return ( + <> + + depouncedUpdateEvaluationScenario({note: e.target.value}, record.id) + } + key={record.id} + /> + + ) + }, + }, + ] + + return ( +
    + {EvaluationTypeLabels.single_model_test} +
    + +
    + + + + exportSingleModelEvaluationData( + evaluation, + evaluationScenarios, + rows, + ) + } + disabled={false} + > + Export Results + + + + + + + + + + + + + + + +
    + setViewMode(e.target.value)} + value={viewMode} + optionType="button" + /> +
    + + setIsTestsetModalOpen(false)} + onSuccess={(testsetName: string) => { + message.success(`Row added to the "${testsetName}" test set!`) + setIsTestsetModalOpen(false) + }} + rows={rows} + evaluation={evaluation} + /> + + {viewMode === "tabular" ? ( +
    record.id!} + /> + ) : ( + depouncedHandleScoreChange(id, score as number)} + onInputChange={handleInputChange} + updateEvaluationScenarioData={updateEvaluationScenarioData} + evaluation={evaluation} + variantData={variantData} + isLoading={isLoading || isVariantsLoading} + /> + )} + + ) +} + +export default SingleModelEvaluationTable diff --git a/web/ee/src/components/EvaluationTable/assets/styles.ts b/web/ee/src/components/EvaluationTable/assets/styles.ts new file mode 100644 index 0000000000..ba1413d743 --- /dev/null +++ b/web/ee/src/components/EvaluationTable/assets/styles.ts @@ -0,0 +1,140 @@ +import {createUseStyles} from "react-jss" + +export const useSingleModelEvaluationTableStyles = createUseStyles({ + appVariant: { + backgroundColor: "rgb(201 255 216)", + color: "rgb(0 0 0)", + padding: 4, + borderRadius: 5, + }, + inputTestContainer: { + display: "flex", + justifyContent: "space-between", + }, + inputTest: { + backgroundColor: "rgb(201 255 216)", + color: "rgb(0 0 0)", + padding: 4, + borderRadius: 5, + }, + inputTestBtn: { + width: "100%", + display: "flex", + justifyContent: "flex-end", + "& button": { + marginLeft: 10, + }, + marginTop: "0.75rem", + }, + recordInput: { + marginBottom: 10, + }, + card: { + marginBottom: 20, + }, + statCorrect: { + "& .ant-statistic-content-value": { + color: "#3f8600", + }, + }, + statWrong: { + "& .ant-statistic-content-value": { + color: "#cf1322", + }, + }, + viewModeRow: { + display: "flex", + justifyContent: "flex-end", + margin: "1rem 0", + position: "sticky", + top: 36, + zIndex: 1, + }, + sideBar: { + marginTop: "1rem", + display: "flex", + flexDirection: "column", + gap: "2rem", + border: "1px solid #d9d9d9", + borderRadius: 6, + padding: "1rem", + alignSelf: "flex-start", + "&>h4.ant-typography": { + margin: 0, + }, + flex: 0.35, + minWidth: 240, + maxWidth: 500, + }, +}) + +export const useABTestingEvaluationTableStyles = createUseStyles({ + appVariant: { + padding: 4, + borderRadius: 5, + }, + inputTestContainer: { + display: "flex", + justifyContent: "space-between", + }, + inputTest: { + backgroundColor: "rgb(201 255 216)", + color: "rgb(0 0 0)", + padding: 4, + borderRadius: 5, + }, + inputTestBtn: { + width: "100%", + display: "flex", + justifyContent: "flex-end", + "& button": { + marginLeft: 10, + }, + marginTop: "0.75rem", + }, + recordInput: { + marginBottom: 10, + }, + card: { + marginBottom: 20, + }, + statCorrect: { + "& .ant-statistic-content-value": { + color: "#3f8600", + }, + }, + stat: { + "& .ant-statistic-content-value": { + color: "#1677ff", + }, + }, + statWrong: { + "& .ant-statistic-content-value": { + color: "#cf1322", + }, + }, + viewModeRow: { + display: "flex", + justifyContent: "flex-end", + margin: "1rem 0", + position: "sticky", + top: 36, + zIndex: 1, + }, + sideBar: { + marginTop: "1rem", + display: "flex", + flexDirection: "column", + gap: "2rem", + border: "1px solid #d9d9d9", + borderRadius: 6, + padding: "1rem", + alignSelf: "flex-start", + "&>h4.ant-typography": { + margin: 0, + }, + flex: 0.35, + minWidth: 240, + maxWidth: 500, + }, +}) diff --git a/web/ee/src/components/EvaluationTable/components/ParamsFormWithRun.tsx b/web/ee/src/components/EvaluationTable/components/ParamsFormWithRun.tsx new file mode 100644 index 0000000000..9857286493 --- /dev/null +++ b/web/ee/src/components/EvaluationTable/components/ParamsFormWithRun.tsx @@ -0,0 +1,148 @@ +// @ts-nocheck +import {useMemo} from "react" + +import {CaretRightOutlined} from "@ant-design/icons" +import {Button, Form} from "antd" +import {atom, useAtomValue} from "jotai" + +import ParamsForm from "@/oss/components/ParamsForm" +import {useLegacyVariants} from "@/oss/lib/hooks/useLegacyVariant" +import type {Evaluation} from "@/oss/lib/Types" +import {inputParamsAtomFamily} from "@/oss/state/newPlayground/core/inputParams" +import {stablePromptVariablesAtomFamily} from "@/oss/state/newPlayground/core/prompts" +import {variantFlagsAtomFamily} from "@/oss/state/newPlayground/core/variantFlags" +import {appUriInfoAtom} from "@/oss/state/variant/atoms/fetcher" + +import {useSingleModelEvaluationTableStyles} from "../assets/styles" +import type {SingleModelEvaluationRow} from "../types" + +/** + * + * @param evaluation - Evaluation object + * @param evaluationScenarios - Evaluation rows + * @param columnsCount - Number of variants to compare face to face (per default 2) + * @returns + */ +const ParamsFormWithRun = ({ + evaluation, + record, + rowIndex, + onRun, + onParamChange, + variantData = [], + isLoading, +}: { + record: SingleModelEvaluationRow + rowIndex: number + evaluation: Evaluation + onRun: () => void + onParamChange: (name: string, value: any) => void + variantData: ReturnType + isLoading: boolean +}) => { + const classes = useSingleModelEvaluationTableStyles() + const [form] = Form.useForm() + const selectedVariant = variantData?.[0] + const routePath = useAtomValue(appUriInfoAtom)?.routePath + const hasRevision = Boolean(selectedVariant && (selectedVariant as any).id) + // Memoize the atom-family selector only when we have a proper revision and route + const inputParamsSelector = useMemo( + () => + (hasRevision && routePath + ? inputParamsAtomFamily({variant: selectedVariant as any, routePath}) + : atom([])) as any, + [hasRevision ? (selectedVariant as any).id : undefined, routePath], + ) + const baseInputParams = useAtomValue(inputParamsSelector) as any[] + // Stable variables derived from saved prompts (spec + saved parameters; no live mutations) + const stableVariableNames = useAtomValue( + selectedVariant?.id + ? (stablePromptVariablesAtomFamily((selectedVariant as any).id) as any) + : atom([]), + ) as string[] + const flags = useAtomValue( + selectedVariant?.id + ? (variantFlagsAtomFamily({revisionId: (selectedVariant as any).id}) as any) + : atom({}), + ) as any + + // Build input params similar to EvaluationCardView with robust fallbacks + const testsetRow = evaluation?.testset?.csvdata?.[rowIndex] || {} + const chatCol = evaluation?.testset?.testsetChatColumn + const reservedKeys = new Set(["correct_answer", chatCol || ""]) as Set + + const derivedInputParams = useMemo((): any[] => { + const haveSchema = Array.isArray(baseInputParams) && baseInputParams.length > 0 + let source: any[] + if (haveSchema) { + source = baseInputParams + } else if (Array.isArray(record?.inputs) && record.inputs.length > 0) { + source = record.inputs + .filter((ip: any) => (chatCol ? ip.input_name !== chatCol : true)) + .map((ip: any) => ({name: ip.input_name, type: "string"})) + } else { + source = Object.keys(testsetRow) + .filter((k) => !reservedKeys.has(k)) + .map((k) => ({name: k, type: "string"})) + } + // Filter to stable variables only for non-custom apps + if ( + !flags?.isCustom && + Array.isArray(stableVariableNames) && + stableVariableNames.length > 0 + ) { + const allow = new Set( + stableVariableNames.filter((name) => (chatCol ? name !== chatCol : true)), + ) + source = (source || []).filter((p: any) => allow.has(p?.name)) + } + + return (source || []).map((item: any) => ({ + ...item, + value: + record?.inputs?.find((ip: any) => ip.input_name === item.name)?.input_value ?? + (testsetRow as any)?.[item.name] ?? + "", + })) + }, [baseInputParams, record?.inputs, testsetRow, chatCol, stableVariableNames, flags?.isCustom]) + + return isLoading ? null : ( +
    +
    + {evaluation.testset.testsetChatColumn && ( +
    + {evaluation.testset.csvdata[rowIndex][ + evaluation.testset.testsetChatColumn + ] || " - "} +
    + )} + {derivedInputParams && derivedInputParams.length > 0 ? ( + { + // Ensure local row inputs are updated before invoking run + Object.entries(values || {}).forEach(([k, v]) => + onParamChange(k as string, v), + ) + onRun() + }} + key={`${record.id}-${rowIndex}`} + form={form} + /> + ) : null} +
    +
    + +
    +
    + ) +} + +export default ParamsFormWithRun diff --git a/web/ee/src/components/EvaluationTable/types.d.ts b/web/ee/src/components/EvaluationTable/types.d.ts new file mode 100644 index 0000000000..18006be8d6 --- /dev/null +++ b/web/ee/src/components/EvaluationTable/types.d.ts @@ -0,0 +1,21 @@ +import {EvaluationFlow} from "@/oss/lib/enums" +import {Evaluation, EvaluationScenario} from "@/oss/lib/Types" + +export interface EvaluationTableProps { + evaluation: Evaluation + evaluationScenarios: SingleModelEvaluationRow[] + isLoading: boolean +} + +export type SingleModelEvaluationRow = EvaluationScenario & { + evaluationFlow: EvaluationFlow +} & Record + +export interface ABTestingEvaluationTableProps extends EvaluationTableProps { + evaluationScenarios: ABTestingEvaluationTableRow[] + columnsCount: number +} + +export type ABTestingEvaluationTableRow = EvaluationScenario & { + evaluationFlow: EvaluationFlow +} & Record diff --git a/web/ee/src/components/Evaluations/EvaluationCardView/EvaluationCard.tsx b/web/ee/src/components/Evaluations/EvaluationCardView/EvaluationCard.tsx new file mode 100644 index 0000000000..4b825fc75f --- /dev/null +++ b/web/ee/src/components/Evaluations/EvaluationCardView/EvaluationCard.tsx @@ -0,0 +1,78 @@ +import {memo} from "react" + +import {createUseStyles} from "react-jss" + +import type {ABTestingEvaluationTableRow} from "@/oss/components/EvaluationTable/types" +import type {Evaluation, Variant} from "@/oss/lib/Types" + +import EvaluationChatResponse from "./EvaluationChatResponse" +import EvaluationVariantCard from "./EvaluationVariantCard" + +const useStyles = createUseStyles({ + root: { + display: "flex", + gap: "1rem", + flexWrap: "wrap", + }, +}) + +interface Props { + evaluationScenario: ABTestingEvaluationTableRow + variants: Variant[] + isChat?: boolean + showVariantName?: boolean + evaluation: Evaluation +} + +const EvaluationCard: React.FC = ({ + evaluationScenario, + variants, + isChat, + showVariantName = true, + evaluation, +}) => { + const classes = useStyles() + + return ( +
    + {variants.map((variant, ix) => + isChat ? ( + item.variant_id) + ?.variant_output || + "" + } + index={ix} + showVariantName={showVariantName} + evaluation={evaluation} + /> + ) : ( + item.variant_id) + ?.variant_output || + "" + } + index={ix} + showVariantName={showVariantName} + evaluation={evaluation} + //random image from unsplash + // outputImg={`https://fps.cdnpk.net/images/home/subhome-ai.webp?w=649&h=649`} + /> + ), + )} +
    + ) +} + +export default memo(EvaluationCard) diff --git a/web/ee/src/components/Evaluations/EvaluationCardView/EvaluationChatResponse.tsx b/web/ee/src/components/Evaluations/EvaluationCardView/EvaluationChatResponse.tsx new file mode 100644 index 0000000000..8e66303bd6 --- /dev/null +++ b/web/ee/src/components/Evaluations/EvaluationCardView/EvaluationChatResponse.tsx @@ -0,0 +1,69 @@ +import {memo, useMemo} from "react" + +import {Space, Typography} from "antd" +import {createUseStyles} from "react-jss" +import {v4 as uuidv4} from "uuid" + +import ChatInputs from "@/oss/components/ChatInputs/ChatInputs" +import {safeParse} from "@/oss/lib/helpers/utils" +import {ChatRole, Evaluation, Variant} from "@/oss/lib/Types" + +import {VARIANT_COLORS} from "./assets/styles" +import VariantAlphabet from "./VariantAlphabet" + +const useStyles = createUseStyles({ + title: { + fontSize: 20, + textAlign: "center", + }, +}) + +interface Props { + variant: Variant + outputText?: string + index?: number + showVariantName?: boolean + evaluation: Evaluation +} + +const EvaluationChatResponse: React.FC = ({ + variant, + outputText, + index = 0, + showVariantName = true, + evaluation, +}) => { + const classes = useStyles() + const color = VARIANT_COLORS[index] + const parsedOutput = safeParse(outputText || "", null) + const messageContent = + parsedOutput && typeof parsedOutput === "object" && "content" in parsedOutput + ? parsedOutput.content + : outputText || "" + + const chatValue = useMemo( + () => [{role: ChatRole.Assistant, content: messageContent, id: uuidv4()}], + [messageContent], + ) + + return ( + + {showVariantName && ( + + + + {variant.variantName}{" "} + {evaluation.revisions[index] && ( + + v{evaluation.revisions[index]} + + )} + + + )} + + + ) +} + +export default memo(EvaluationChatResponse) diff --git a/web/ee/src/components/Evaluations/EvaluationCardView/EvaluationInputs.tsx b/web/ee/src/components/Evaluations/EvaluationCardView/EvaluationInputs.tsx new file mode 100644 index 0000000000..21784abfde --- /dev/null +++ b/web/ee/src/components/Evaluations/EvaluationCardView/EvaluationInputs.tsx @@ -0,0 +1,50 @@ +import {Input, Typography} from "antd" +import {createUseStyles} from "react-jss" + +import {EvaluationScenario} from "@/oss/lib/Types" + +const useStyles = createUseStyles({ + root: { + display: "flex", + gap: "1rem", + flexDirection: "column", + }, + inputRow: { + display: "flex", + flexDirection: "column", + gap: "0.25rem", + "& .ant-typography": { + textTransform: "capitalize", + }, + "& textarea": { + width: "100%", + }, + }, +}) + +interface Props { + evaluationScenario: EvaluationScenario + onInputChange: Function +} + +const EvaluationInputs: React.FC = ({evaluationScenario, onInputChange}) => { + const classes = useStyles() + + return ( +
    + {evaluationScenario.inputs.map((ip, ix) => ( +
    + {ip.input_name}: + onInputChange(e, evaluationScenario.id, ix)} + /> +
    + ))} +
    + ) +} + +export default EvaluationInputs diff --git a/web/ee/src/components/Evaluations/EvaluationCardView/EvaluationVariantCard.tsx b/web/ee/src/components/Evaluations/EvaluationCardView/EvaluationVariantCard.tsx new file mode 100644 index 0000000000..58d487656c --- /dev/null +++ b/web/ee/src/components/Evaluations/EvaluationCardView/EvaluationVariantCard.tsx @@ -0,0 +1,105 @@ +import {Typography} from "antd" +import Image from "next/image" +import {createUseStyles} from "react-jss" + +import {useAppTheme} from "@/oss/components/Layout/ThemeContextProvider" +import {Evaluation, Variant, StyleProps} from "@/oss/lib/Types" + +import {VARIANT_COLORS} from "./assets/styles" + +const useStyles = createUseStyles({ + root: ({themeMode}: StyleProps) => ({ + flex: 1, + display: "flex", + flexDirection: "column", + alignItems: "center", + gap: "0.75rem", + border: `1px solid ${themeMode === "dark" ? "#424242" : "#d9d9d9"}`, + padding: "0.75rem", + paddingTop: "1.25rem", + borderRadius: 6, + "& img": { + maxHeight: 300, + width: "100%", + objectFit: "contain", + borderRadius: "inherit", + }, + position: "relative", + }), + title: { + fontSize: 20, + textAlign: "center", + }, + output: { + whiteSpace: "pre-line", + position: "relative", + maxHeight: 300, + overflow: "auto", + }, + variantType: { + position: "absolute", + top: 10, + left: 10, + borderRadius: "50%", + border: `1.5px solid`, + width: 32, + aspectRatio: "1/1", + display: "grid", + placeItems: "center", + + "& .ant-typography": { + fontSize: 18, + }, + }, +}) + +interface Props { + variant: Variant + outputText?: string + outputImg?: string + index?: number + showVariantName?: boolean + evaluation: Evaluation +} + +const EvaluationVariantCard: React.FC = ({ + variant, + outputText, + outputImg, + index = 0, + showVariantName = true, + evaluation, +}) => { + const {appTheme} = useAppTheme() + const classes = useStyles({themeMode: appTheme} as StyleProps) + const color = VARIANT_COLORS[index] + + return ( +
    + {showVariantName && ( + <> + {" "} +
    + + {String.fromCharCode(65 + index)} + +
    + + {variant.variantName}{" "} + {evaluation.revisions[index] && ( + + v{evaluation.revisions[index]} + + )} + {" "} + + )} + {outputImg && } + + {outputText || Click the "Run" icon to get variant output} + +
    + ) +} + +export default EvaluationVariantCard diff --git a/web/ee/src/components/Evaluations/EvaluationCardView/EvaluationVotePanel.tsx b/web/ee/src/components/Evaluations/EvaluationCardView/EvaluationVotePanel.tsx new file mode 100644 index 0000000000..8f309454d7 --- /dev/null +++ b/web/ee/src/components/Evaluations/EvaluationCardView/EvaluationVotePanel.tsx @@ -0,0 +1,405 @@ +import {StarFilled} from "@ant-design/icons" +import {Button, ConfigProvider, InputNumber, Rate, Spin, Typography, theme} from "antd" +import {createUseStyles} from "react-jss" + +import {Variant} from "@/oss/lib/Types" + +import {VARIANT_COLORS} from "./assets/styles" + +const useStyles = createUseStyles({ + root: { + display: "flex", + justifyContent: "center", + width: "100%", + }, + btnRow: { + display: "flex", + gap: "0.5rem", + }, + gradeRoot: { + display: "flex", + alignItems: "center", + gap: "1.5rem", + }, + variantName: { + display: "inline-block", + marginBottom: "0.25rem", + }, + btnsDividerHorizontal: { + height: 30, + borderRight: "1.2px solid", + alignSelf: "center", + margin: "0 4px", + }, + btnsDividerVertical: { + width: 120, + borderBottom: "1.2px solid", + alignSelf: "center", + margin: "4px 0", + }, +}) + +interface CommonProps { + onChange: (value: T) => void + value?: T + vertical?: boolean +} + +type BinaryVoteProps = CommonProps + +const BinaryVote: React.FC = ({onChange, value, vertical}) => { + const classes = useStyles() + + const getOnClick = (isGood: boolean) => () => { + onChange(isGood) + } + + return ( +
    + + +
    + ) +} + +type ComparisonVoteProps = { + variants: Variant[] + outputs: any +} & CommonProps + +const ComparisonVote: React.FC = ({ + variants, + onChange, + value, + vertical, + outputs, +}) => { + const classes = useStyles() + const {token} = theme.useToken() + const badId = "0" + const goodId = "1" + + const getOnClick = (variantId: string) => () => { + onChange(variantId) + } + + return ( +
    + {variants.map((variant, ix) => ( + + + + ))} +
    + + + + +
    + ) +} + +type GradingVoteProps = { + variants: Variant[] + maxGrade?: number +} & CommonProps< + { + grade: number | null + variantId: string + }[] +> + +const GradingVote: React.FC = ({ + variants, + onChange, + value = [], + maxGrade = 5, + vertical, +}) => { + const classes = useStyles() + + const getOnClick = (variantId: string, grade: number) => () => { + onChange( + variants.map((variant) => ({ + variantId: variant.variantId, + grade: variant.variantId === variantId ? grade : null, + })), + ) + } + + return ( +
    + {variants.map((variant, ix) => ( +
    + + {variant.variantName} + +
    + {Array.from({length: maxGrade}, (_, i) => i + 1).map((grade) => ( + + ))} +
    +
    + ))} +
    + ) +} + +type NumericScoreVoteProps = { + variants: Variant[] + min?: number + max?: number + showVariantName?: boolean + outputs: any +} & CommonProps< + { + score: number | null + variantId: string + }[] +> + +const NumericScoreVote: React.FC = ({ + variants, + onChange, + value = [], + min = 0, + max = 100, + vertical, + showVariantName = true, + outputs, +}) => { + const classes = useStyles() + + const _onChange = (variantId: string, score: number | null) => { + onChange( + variants.map((variant) => ({ + variantId: variant.variantId, + score: variant.variantId === variantId ? score : null, + })), + ) + } + + return ( +
    + {variants.map((variant, ix) => ( +
    + {showVariantName && ( + + {variant.variantName} + + )} +
    + item.variantId === variant.variantId)?.score ?? + undefined + } + min={min} + max={max} + onChange={(score) => _onChange(variant.variantId, score)} + disabled={!outputs?.length} + /> + / {max} +
    +
    + ))} +
    + ) +} + +type RatingVoteProps = NumericScoreVoteProps + +const RatingVote: React.FC = ({ + variants, + onChange, + value = [], + vertical, + showVariantName = true, + outputs, +}) => { + const classes = useStyles() + + const _onChange = (variantId: string, score: number | null) => { + onChange( + variants.map((variant) => ({ + variantId: variant.variantId, + score: variant.variantId === variantId ? score : null, + })), + ) + } + + return ( +
    + {variants.map((variant, ix) => { + const score = value.find((item) => item.variantId === variant.variantId)?.score + const finalValue = typeof score !== "number" ? null : score / 25 + 1 + + return ( +
    + {showVariantName && ( + + {variant.variantName} + + )} +
    + { + const rateColors: Record = { + 1: "#D61010", + 2: "#FFA940", + 3: "#FADB14", + 4: "#BAE637", + 5: "#73D13D", + } + + return ( + index + ? rateColors[value] || "#d9d9d9" + : "#d9d9d9", + }} + /> + ) + }} + onChange={(score) => { + const finalScore = (score - 1) * 25 + _onChange(variant.variantId, finalScore) + }} + disabled={!outputs?.length} + /> +
    +
    + ) + })} +
    + ) +} + +type Props = + | ({ + type: "binary" + } & BinaryVoteProps) + | ({ + type: "comparison" + } & ComparisonVoteProps) + | ({ + type: "grading" + } & GradingVoteProps) + | ({ + type: "numeric" + } & NumericScoreVoteProps) + | ({ + type: "rating" + } & RatingVoteProps) + +const EvaluationVotePanel: React.FC = ({type, loading, ...props}) => { + const classes = useStyles() + + return ( +
    + + {type === "binary" ? ( + + ) : type === "comparison" ? ( + + ) : type === "grading" ? ( + + ) : type === "rating" ? ( + + ) : ( + + )} + +
    + ) +} + +export default EvaluationVotePanel diff --git a/web/ee/src/components/Evaluations/EvaluationCardView/VariantAlphabet.tsx b/web/ee/src/components/Evaluations/EvaluationCardView/VariantAlphabet.tsx new file mode 100644 index 0000000000..da0e948a42 --- /dev/null +++ b/web/ee/src/components/Evaluations/EvaluationCardView/VariantAlphabet.tsx @@ -0,0 +1,44 @@ +import {Typography} from "antd" +import {createUseStyles} from "react-jss" + +import {VARIANT_COLORS} from "./assets/styles" + +interface StyleProps { + color: string + width: number +} + +const useStyles = createUseStyles({ + variantType: { + borderRadius: "50%", + border: `1.5px solid`, + borderColor: ({color}: StyleProps) => color, + width: ({width}: StyleProps) => width, + aspectRatio: "1/1", + display: "inline-flex", + justifyContent: "center", + alignItems: "center", + "& .ant-typography": { + fontSize: ({width}: StyleProps) => width / 1.75, + color: ({color}: StyleProps) => color, + }, + }, +}) + +interface Props { + index: number + width?: number +} + +const VariantAlphabet: React.FC = ({index, width = 28}) => { + const color = VARIANT_COLORS[index] + const classes = useStyles({width, color} as StyleProps) + + return ( +
    + {String.fromCharCode(65 + index)} +
    + ) +} + +export default VariantAlphabet diff --git a/web/ee/src/components/Evaluations/EvaluationCardView/assets/styles.ts b/web/ee/src/components/Evaluations/EvaluationCardView/assets/styles.ts new file mode 100644 index 0000000000..eb466a544e --- /dev/null +++ b/web/ee/src/components/Evaluations/EvaluationCardView/assets/styles.ts @@ -0,0 +1,108 @@ +import {createUseStyles} from "react-jss" + +export const VARIANT_COLORS = [ + "#297F87", // "#722ed1", + "#F6D167", //"#13c2c2", + "#4caf50", +] + +export const useStyles = createUseStyles({ + root: { + display: "flex", + gap: "1rem", + outline: "none", + }, + evaluation: { + flex: 1, + display: "flex", + flexDirection: "column", + padding: "1rem", + "& .ant-divider": { + margin: "2rem 0 1.5rem 0", + }, + "& h5.ant-typography": { + margin: 0, + marginBottom: "1rem", + }, + gap: "1rem", + }, + heading: { + width: "100%", + display: "flex", + justifyContent: "space-between", + alignItems: "center", + gap: "0.75rem", + "& .ant-typography": { + margin: 0, + fontWeight: 400, + }, + }, + headingDivider: { + position: "relative", + }, + helpIcon: { + position: "absolute", + right: 0, + top: 42, + fontSize: 16, + }, + instructions: { + paddingInlineStart: 0, + "& code": { + backgroundColor: "rgba(0, 0, 0, 0.05)", + padding: "0.1rem 0.3rem", + borderRadius: 3, + }, + "& li": { + marginBottom: "0.5rem", + }, + }, + note: { + marginTop: "1.25rem", + marginBottom: "-1rem", + whiteSpace: "pre-line", + display: "flex", + alignItems: "flex-start", + + "& .anticon": { + marginTop: 4, + }, + }, + chatInputsCon: { + marginTop: "0.5rem", + }, + correctAnswerCon: { + marginBottom: "0.5rem", + }, + toolBar: { + display: "flex", + alignItems: "center", + gap: "0.5rem", + justifyContent: "flex-end", + "& .anticon": { + fontSize: 18, + cursor: "pointer", + }, + }, + sideBar: { + marginTop: "1rem", + display: "flex", + flexDirection: "column", + gap: "2rem", + border: "1px solid #d9d9d9", + borderRadius: 6, + padding: "1rem", + alignSelf: "flex-start", + "&>h4.ant-typography": { + margin: 0, + }, + flex: 0.35, + minWidth: 240, + maxWidth: 500, + }, + centeredItem: { + display: "grid", + placeItems: "center", + width: "100%", + }, +}) diff --git a/web/ee/src/components/Evaluations/EvaluationCardView/index.tsx b/web/ee/src/components/Evaluations/EvaluationCardView/index.tsx new file mode 100644 index 0000000000..96aef26f30 --- /dev/null +++ b/web/ee/src/components/Evaluations/EvaluationCardView/index.tsx @@ -0,0 +1,504 @@ +// @ts-nocheck +import {useCallback, useEffect, useMemo, useRef} from "react" + +import { + LeftOutlined, + LoadingOutlined, + PlayCircleOutlined, + QuestionCircleOutlined, + RightOutlined, +} from "@ant-design/icons" +import {Button, Empty, Form, Input, Result, Space, Tooltip, Typography, theme} from "antd" +import {atom, useAtomValue} from "jotai" +import debounce from "lodash/debounce" +import {useLocalStorage} from "usehooks-ts" + +import AlertPopup from "@/oss/components/AlertPopup/AlertPopup" +import ParamsForm from "@/oss/components/ParamsForm" +import {useQueryParam} from "@/oss/hooks/useQuery" +import {EvaluationType} from "@/oss/lib/enums" +import {testsetRowToChatMessages} from "@/oss/lib/helpers/testset" +import useStatelessVariants from "@/oss/lib/hooks/useStatelessVariants" +import type {ChatMessage, EvaluationScenario} from "@/oss/lib/Types" +import {inputParamsAtomFamily} from "@/oss/state/newPlayground/core/inputParams" +import {stablePromptVariablesAtomFamily} from "@/oss/state/newPlayground/core/prompts" +import {variantFlagsAtomFamily} from "@/oss/state/newPlayground/core/variantFlags" +import {appUriInfoAtom} from "@/oss/state/variant/atoms/fetcher" + +import {useStyles} from "./assets/styles" +import EvaluationCard from "./EvaluationCard" +import EvaluationVotePanel from "./EvaluationVotePanel" +import type {EvaluationCardViewProps} from "./types" + +const EvaluationCardView: React.FC = ({ + variants, + evaluationScenarios, + onRun, + onVote, + onInputChange, + updateEvaluationScenarioData, + evaluation, + variantData = [], + isLoading, +}) => { + const classes = useStyles() + const {token} = theme.useToken() + const [evaluationsState, setEvaluationsState] = useLocalStorage< + Record + >("evaluationsState", {}) + + const [scenarioId, setScenarioId] = useQueryParam( + "evaluationScenario", + evaluationsState[evaluation.id]?.lastVisitedScenario || evaluationScenarios[0]?.id || "", + ) + const [instructionsShown, setInstructionsShown] = useLocalStorage( + "evalInstructionsShown", + false, + ) + const {scenario, scenarioIndex} = useMemo(() => { + const scenarioIndex = evaluationScenarios.findIndex( + (scenario) => scenario.id === scenarioId, + ) + return {scenario: evaluationScenarios[scenarioIndex], scenarioIndex} + }, [scenarioId, evaluationScenarios]) + + useEffect(() => { + setEvaluationsState((prevEvaluationsState) => ({ + ...prevEvaluationsState, + [evaluation.id]: { + ...(prevEvaluationsState[evaluation.id] || {}), + lastVisitedScenario: scenarioId, + }, + })) + }, [scenarioId]) + + const rootRef = useRef(null) + const opened = useRef(false) + const callbacks = useRef({ + onVote, + onRun, + onInputChange, + }) + const isChat = !!evaluation.testset.testsetChatColumn + const testsetRow = evaluation.testset.csvdata[scenarioIndex] + const isAbTesting = evaluation.evaluationType === EvaluationType.human_a_b_testing + const [form] = Form.useForm() + const {_variants: _allStatelessVariants} = useStatelessVariants() as any + + const loadPrevious = () => { + if (scenarioIndex === 0) return + setScenarioId(evaluationScenarios[scenarioIndex - 1].id) + } + + const loadNext = () => { + if (scenarioIndex === evaluationScenarios.length - 1) return + setScenarioId(evaluationScenarios[scenarioIndex + 1].id) + } + + const showInstructions = useCallback(() => { + if (opened.current) return + + opened.current = true + AlertPopup({ + title: "Instructions", + type: "info", + message: ( +
      +
    1. + Use the buttons Next and Prev or the arrow keys{" "} + {`Left (<)`} and {`Right (>)`} to navigate between + evaluations. +
    2. +
    3. + Click the Run{" "} + button on + right or press {`Enter (↵)`} key to generate the variants' + outputs. +
    4. + {isAbTesting && ( +
    5. + Vote by either clicking the evaluation buttons at the right + sidebar or pressing the key a for 1st Variant,{" "} + b for 2nd Variant and x if both are bad. +
    6. + )} +
    7. + Add a note to an evaluation from the Additional Notes input section{" "} + in the right sidebar. +
    8. +
    + ), + okText: Ok, + cancelText: null, + width: 500, + onCancel: () => (opened.current = false), + onOk: () => (opened.current = false), + }) + }, []) + + const depouncedUpdateEvaluationScenario = useCallback( + debounce((data: Partial) => { + updateEvaluationScenarioData(scenarioId, data) + }, 800), + [scenarioId], + ) + + const onChatChange = (chat: ChatMessage[]) => { + const stringified = JSON.stringify(chat) + testsetRow[evaluation.testset.testsetChatColumn] = stringified + + depouncedUpdateEvaluationScenario({ + inputs: [ + {input_name: "chat", input_value: stringified}, + ...scenario.inputs.filter( + (ip: {input_name: string; input_value: string}) => ip.input_name !== "chat", + ), + ], + [evaluation.testset.testsetChatColumn]: stringified, + }) + } + + //hack to always get the latest callbacks using ref + useEffect(() => { + callbacks.current = {onVote, onRun, onInputChange} + }, [onVote, onRun, onInputChange]) + + // focus the root element on mount + useEffect(() => { + if (rootRef.current) { + rootRef.current.focus() + } + }, []) + + useEffect(() => { + if (!instructionsShown) { + showInstructions() + setInstructionsShown(true) + } + }, [instructionsShown]) + + useEffect(() => { + if (typeof window === "undefined") return () => {} + + const listener = (e: KeyboardEvent) => { + if (document.activeElement !== rootRef.current) return + if (e.key === "ArrowLeft") loadPrevious() + else if (e.key === "ArrowRight") loadNext() + else if (e.key === "Enter") callbacks.current.onRun(scenarioId) + + if (isAbTesting) { + if (e.key === "a") callbacks.current.onVote(scenarioId, variants[0].variantId) + else if (e.key === "b") callbacks.current.onVote(scenarioId, variants[1].variantId) + else if (e.key === "x") callbacks.current.onVote(scenarioId, "0") + } + } + + document.addEventListener("keydown", listener) + return () => document.removeEventListener("keydown", listener) + }, [scenarioIndex]) + + useEffect(() => { + if (scenario) { + const chatStr = scenario?.inputs.find( + (ip: {input_name: string; input_value: string}) => ip.input_name === "chat", + )?.input_value + if (chatStr) testsetRow[evaluation.testset.testsetChatColumn] = chatStr + } + }, [scenario]) + + const correctAnswer = useMemo(() => { + if (scenario?.correctAnswer) return scenario.correctAnswer + const res = testsetRow?.correct_answer + return res || "" + }, [testsetRow?.correct_answer, scenario?.correctAnswer]) + + const chat = useMemo(() => { + const fromInput = scenario?.inputs.find( + (ip: {input_name: string; input_value: string}) => ip.input_name === "chat", + )?.input_value + if (!isChat) return [] + + return testsetRowToChatMessages( + fromInput + ? {chat: fromInput, correct_answer: testsetRow?.correct_answer} + : testsetRow || {}, + false, + ) + }, [scenarioIndex]) + + const routePath = useAtomValue(appUriInfoAtom)?.routePath + const selectedRevisionId = (variantData?.[0] as any)?.id as string | undefined + const hasRevision = Boolean(variantData?.[0] && selectedRevisionId) + const inputParamsSelector = useMemo( + () => + (hasRevision && routePath + ? inputParamsAtomFamily({variant: variantData[0] as any, routePath}) + : atom([])) as any, + [hasRevision ? (variantData?.[0] as any)?.id : undefined, routePath], + ) + const baseInputParams = useAtomValue(inputParamsSelector) as any[] + // // Stable variables derived from saved prompts (spec + saved parameters; no live mutations) + const variableNames = useAtomValue( + hasRevision ? (stablePromptVariablesAtomFamily(selectedRevisionId!) as any) : atom([]), + ) as string[] + // Avoid creating new atoms during render to prevent infinite update loops + const emptyObjAtom = useMemo(() => atom({}), []) + const stableFlagsParam = useMemo( + () => (selectedRevisionId ? {revisionId: selectedRevisionId} : undefined), + [selectedRevisionId], + ) + const flags = useAtomValue( + hasRevision && stableFlagsParam + ? (variantFlagsAtomFamily(stableFlagsParam) as any) + : (emptyObjAtom as any), + ) as any + + const derivedInputParams = useMemo(() => { + const haveSchemaParams = Array.isArray(baseInputParams) && baseInputParams.length > 0 + + // Determine candidate field names + let sourceParams: any[] = [] + if (haveSchemaParams) { + sourceParams = baseInputParams + } else if (Array.isArray(scenario?.inputs) && scenario.inputs.length > 0) { + sourceParams = scenario.inputs + .filter((ip: any) => (isChat ? ip.input_name !== "chat" : true)) + .map((ip: any) => ({name: ip.input_name, type: "string"})) + } else { + const reserved = new Set([ + "correct_answer", + evaluation?.testset?.testsetChatColumn || "", + ]) + const row = testsetRow || {} + sourceParams = Object.keys(row) + .filter((k) => !reserved.has(k)) + .map((k) => ({name: k, type: "string"})) + } + // Display only stable inputs: filter to stable variable names for non-custom apps + // For chat apps, exclude the reserved "chat" key (handled separately below). + if (!flags?.isCustom && Array.isArray(variableNames) && variableNames.length > 0) { + const allow = new Set(variableNames.filter((name) => (isChat ? name !== "chat" : true))) + sourceParams = (sourceParams || []).filter((p: any) => allow.has(p?.name)) + } + + const withValues = (sourceParams || []).map((item: any) => { + const fromScenario = scenario?.inputs.find( + (ip: {input_name: string; input_value: string}) => ip.input_name === item.name, + )?.input_value + const fromRow = (testsetRow as any)?.[item.name] + return { + ...item, + value: fromScenario ?? fromRow ?? "", + } + }) + + if (isChat) { + return [...withValues, {name: "chat", type: "string", value: chat}] + } + return withValues + }, [ + baseInputParams, + scenario?.inputs, + isChat, + chat, + evaluation?.testset?.testsetChatColumn, + testsetRow, + variableNames, + flags?.isCustom, + ]) + + const handleRun = useCallback(async () => { + try { + // Persist current derived inputs into scenario if missing, so runner sees them + const nextInputs = (derivedInputParams || []) + .filter((p: any) => p.name !== "chat") + .map((p: any) => ({input_name: p.name, input_value: p.value ?? ""})) + + if (Array.isArray(nextInputs) && nextInputs.length > 0) { + await updateEvaluationScenarioData(scenarioId, {inputs: nextInputs}) + } + } catch (e) { + console.warn("[EvaluationCardView] failed to persist inputs before run", e) + } + onRun(scenarioId) + }, [derivedInputParams, scenarioId, onRun, updateEvaluationScenarioData]) + + return ( +
    + {isLoading ? ( + } /> + ) : scenario ? ( + <> +
    +
    + +

    + Evaluation: {scenarioIndex + 1}/{evaluationScenarios.length} +

    + +
    + +
    + Inputs + {derivedInputParams.length > 0 || isChat ? ( + { + if (isChat && name === "chat") return onChatChange(value) + const idx = + scenario?.inputs?.findIndex( + (ip: any) => ip.input_name === name, + ) ?? -1 + if (idx === -1) { + // If the input key does not exist yet (cold load fallback), persist it + const nextInputs = [ + {input_name: name, input_value: value}, + ...((scenario?.inputs || []).filter( + (ip: any) => ip.input_name !== name, + ) as any[]), + ] + updateEvaluationScenarioData(scenarioId, { + inputs: nextInputs as any, + }) + } else { + onInputChange({target: {value}} as any, scenarioId, idx) + } + }} + inputParams={derivedInputParams} + key={`${scenarioId}-${(variantData?.[0] as any)?.id || ""}`} + useChatDefaultValue + form={form} + onFinish={handleRun} + imageSize="large" + /> + ) : null} +
    + +
    + + + + + onRun(scenarioId) : form.submit} + /> + +
    + +
    +
    + {!isAbTesting ? ( + + Model Response + + ) : ( + + Outputs + + )} +
    + + +
    +
    + +
    +

    Submit your feedback

    + {scenario.outputs.length > 0 && + scenario.outputs.every((item) => !!item.variant_output) && ( + + + {isAbTesting + ? "Which response is better?" + : "Rate the response"} + + {isAbTesting ? ( + onVote(scenarioId, vote)} + loading={scenario.vote === "loading"} + vertical + key={scenarioId} + outputs={scenario.outputs} + /> + ) : ( + onVote(scenarioId, val[0].score)} + loading={scenario.score === "loading"} + showVariantName={false} + key={scenarioId} + outputs={scenario.outputs} + /> + )} + + )} + + + Expected Answer + + depouncedUpdateEvaluationScenario({ + correctAnswer: e.target.value, + }) + } + key={scenarioId} + /> + + + + Additional Notes + + depouncedUpdateEvaluationScenario({note: e.target.value}) + } + key={scenarioId} + /> + +
    + + ) : ( + + )} +
    + ) +} + +export default EvaluationCardView diff --git a/web/ee/src/components/Evaluations/EvaluationCardView/types.d.ts b/web/ee/src/components/Evaluations/EvaluationCardView/types.d.ts new file mode 100644 index 0000000000..e0ad386f0b --- /dev/null +++ b/web/ee/src/components/Evaluations/EvaluationCardView/types.d.ts @@ -0,0 +1,15 @@ +import type {ABTestingEvaluationTableRow} from "@/oss/components/EvaluationTable/ABTestingEvaluationTable" +import {useLegacyVariants} from "@/oss/lib/hooks/useLegacyVariant" +import type {Evaluation, EvaluationScenario, Variant} from "@/oss/lib/Types" + +export interface EvaluationCardViewProps { + variants: Variant[] + evaluationScenarios: ABTestingEvaluationTableRow[] + onRun: (id: string) => void + onVote: (id: string, vote: string | number | null) => void + onInputChange: Function + updateEvaluationScenarioData: (id: string, data: Partial) => void + evaluation: Evaluation + variantData: ReturnType + isLoading: boolean +} diff --git a/web/ee/src/components/Evaluations/EvaluationErrorModal.tsx b/web/ee/src/components/Evaluations/EvaluationErrorModal.tsx new file mode 100644 index 0000000000..11f0fa2e1a --- /dev/null +++ b/web/ee/src/components/Evaluations/EvaluationErrorModal.tsx @@ -0,0 +1,48 @@ +import {Modal, Button} from "antd" +import {createUseStyles} from "react-jss" + +const useStyles = createUseStyles({ + container: { + display: "flex", + justifyContent: "flex-end", + gap: 10, + }, +}) + +interface Props { + isModalOpen: boolean + handleNavigate: () => void + message: string + btnText: string + onClose: () => void +} + +const EvaluationErrorModal: React.FC = ({ + isModalOpen, + handleNavigate, + message, + btnText, + onClose, +}) => { + const classes = useStyles() + const handleCloseModal = () => onClose() + + const handleCTAClick = () => { + handleNavigate() + handleCloseModal() + } + + return ( + +

    {message}

    +
    + + +
    +
    + ) +} + +export default EvaluationErrorModal diff --git a/web/ee/src/components/Evaluations/HumanEvaluationResult.tsx b/web/ee/src/components/Evaluations/HumanEvaluationResult.tsx new file mode 100644 index 0000000000..e69de29bb2 diff --git a/web/ee/src/components/Evaluations/ShareEvaluationModal.tsx b/web/ee/src/components/Evaluations/ShareEvaluationModal.tsx new file mode 100644 index 0000000000..4f6a1f647d --- /dev/null +++ b/web/ee/src/components/Evaluations/ShareEvaluationModal.tsx @@ -0,0 +1,61 @@ +import qs from "querystring" + +import {Input, Modal, ModalProps, Typography} from "antd" +import {useRouter} from "next/router" +import {createUseStyles} from "react-jss" + +import CopyButton from "@/oss/components/CopyButton/CopyButton" +import {EvaluationType} from "@/oss/lib/enums" +import {useOrgData} from "@/oss/state/org" + +const useStyles = createUseStyles({ + row: { + marginTop: "1rem", + display: "flex", + alignItems: "center", + gap: "0.5rem", + }, + input: { + pointerEvents: "none", + color: "rgba(0, 0, 0, 0.45)", + flex: 1, + }, +}) + +interface Props { + variantIds: string[] + testsetId: string + evaluationType: EvaluationType +} + +const ShareEvaluationModal: React.FC = ({...props}) => { + const classes = useStyles() + const {selectedOrg} = useOrgData() + const router = useRouter() + const appId = router.query.app_id as string + + const parmas = qs.stringify({ + type: props.evaluationType, + testset: props.testsetId, + variants: props.variantIds, + app: appId, + org: selectedOrg?.id, + }) + const link = `${window.location.origin}/evaluations/share?${parmas}` + + return ( + + + You can invite members of your organization to collaborate on this evaluation by + sharing the link below. + + +
    + + +
    +
    + ) +} + +export default ShareEvaluationModal diff --git a/web/ee/src/components/HumanEvaluationModal/HumanEvaluationModal.tsx b/web/ee/src/components/HumanEvaluationModal/HumanEvaluationModal.tsx new file mode 100644 index 0000000000..71af87eca4 --- /dev/null +++ b/web/ee/src/components/HumanEvaluationModal/HumanEvaluationModal.tsx @@ -0,0 +1,420 @@ +// @ts-nocheck +import {useEffect, useMemo, useState} from "react" + +import VariantDetailsWithStatus from "@agenta/oss/src/components/VariantDetailsWithStatus" +import {CaretDown, Play} from "@phosphor-icons/react" +import {Button, Col, Dropdown, MenuProps, Modal, Row, Spin, message} from "antd" +import {getDefaultStore} from "jotai" +import isEqual from "lodash/isEqual" +import dynamic from "next/dynamic" +import {useRouter} from "next/router" + +import EvaluationErrorModal from "@/oss/components/Evaluations/EvaluationErrorModal" +import {useAppTheme} from "@/oss/components/Layout/ThemeContextProvider" +import useURL from "@/oss/hooks/useURL" +import {PERMISSION_ERR_MSG} from "@/oss/lib/api/assets/axiosConfig" +import {EvaluationType} from "@/oss/lib/enums" +import {getErrorMessage} from "@/oss/lib/helpers/errorHandler" +import {isDemo} from "@/oss/lib/helpers/utils" +import {getAllVariantParameters, groupVariantsByParent} from "@/oss/lib/helpers/variantHelper" +import useStatelessVariants from "@/oss/lib/hooks/useStatelessVariants" +import type {GenericObject, Parameter, StyleProps, Variant} from "@/oss/lib/Types" +import {createNewEvaluation} from "@/oss/services/human-evaluations/api" +// import {currentAppAtom} from "@/oss/state/app" +import {promptVariablesAtomFamily} from "@/oss/state/newPlayground/core/prompts" +import {useTestsetsData} from "@/oss/state/testset" + +import {useStyles} from "./assets/styles" +import type {HumanEvaluationModalProps} from "./types" + +const ShareEvaluationModal = dynamic( + () => import("@/oss/components/Evaluations/ShareEvaluationModal"), + {ssr: false}, +) + +const store = getDefaultStore() + +const HumanEvaluationModal = ({ + isEvalModalOpen, + setIsEvalModalOpen, + evaluationType, +}: HumanEvaluationModalProps) => { + const router = useRouter() + const {appURL} = useURL() + const {appTheme} = useAppTheme() + const [isError, setIsError] = useState(false) + const classes = useStyles({themeMode: appTheme} as StyleProps) + const {projectURL} = useURL() + const [selectedTestset, setSelectedTestset] = useState<{ + _id?: string + name: string + }>({name: "Select a Test set"}) + const [testsetsList, setTestsetsList] = useState([]) + + const [selectedVariants, setSelectedVariants] = useState( + new Array(1).fill({variantName: "Select a variant"}), + ) + + const [_selectedCustomEvaluationID, _setSelectedCustomEvaluationID] = useState("") + + const appId = router.query.app_id?.toString() || "" + + const {testsets, isError: isTestsetsLoadingError} = useTestsetsData() + + const [variantsInputs, setVariantsInputs] = useState>({}) + + const [error, setError] = useState({message: "", btnText: "", endpoint: ""}) + + const [shareModalOpen, setShareModalOpen] = useState(false) + + const { + variants: data, + isLoading: areAppVariantsLoading, + specMap, + uriMap, + } = useStatelessVariants() + + const variants = useMemo(() => groupVariantsByParent(data || [], true), [data]) + + useEffect(() => { + if (variants.length > 0) { + const fetchAndSetSchema = async () => { + try { + let results: { + variantName: string + inputs: string[] + }[] + // Prefer deriving inputs from OpenAPI schema exposed by useStatelessVariants + results = variants.map((_variant) => { + const variant = _variant.revisions.sort( + (a, b) => b.updatedAtTimestamp - a.updatedAtTimestamp, + )[0] + const vId = variant.variantId || variant.id + const inputs = store.get(promptVariablesAtomFamily(vId)) + return { + variantName: variant.variantName, + inputs, + } + }) + + // Fallback: if some variants have no inputs from schema, try server-side parameters API + if (results.some((r) => (r.inputs || []).length === 0)) { + const promises = variants.map((variant) => + getAllVariantParameters(appId, variant).then((data) => ({ + variantName: variant.variantName, + inputs: + data?.inputs.map((inputParam: Parameter) => inputParam.name) || + [], + })), + ) + const fallback = await Promise.all(promises) + // Merge fallback only where empty + const map = Object.fromEntries( + fallback.map((f) => [f.variantName, f.inputs]), + ) as Record + results = results.map((r) => ({ + variantName: r.variantName, + inputs: + r.inputs && r.inputs.length > 0 + ? r.inputs + : map[r.variantName] || [], + })) + } + + // Reduce the results into the desired newVariantsInputs object structure + const newVariantsInputs: Record = results.reduce( + (acc: GenericObject, result) => { + acc[result.variantName] = result.inputs + return acc + }, + {}, + ) + + setVariantsInputs(newVariantsInputs) + } catch (e: any) { + setIsError("Failed to fetch some variants parameters. Error: " + e?.message) + } + } + + fetchAndSetSchema() + } + }, [appId, variants]) + + useEffect(() => { + if (!isTestsetsLoadingError && testsets) { + setTestsetsList((prev) => { + if (isEqual(prev, testsets)) { + return prev + } + + return testsets + }) + } + }, [testsets, isTestsetsLoadingError]) + + const onTestsetSelect = (selectedTestsetIndexInTestsetsList: number) => { + setSelectedTestset(testsetsList[selectedTestsetIndexInTestsetsList]) + } + + const getTestsetDropdownMenu = (): MenuProps => { + const items: MenuProps["items"] = testsetsList.map((testset, index) => { + return { + label: ( + <> +
    {testset.name}
    + + ), + key: `${testset.name}-${testset._id}`, + } + }) + + const menuProps: MenuProps = { + items, + onClick: ({key}) => { + const index = items.findIndex((item) => item?.key === key) + onTestsetSelect(index) + }, + } + + return menuProps + } + + const handleAppVariantsMenuClick = + (dropdownIndex: number) => + ({key}: {key: string}) => { + const data = { + variants: [ + selectedVariants[dropdownIndex]?.variantName, + selectedVariants[dropdownIndex]?.variantName, + ], + } + + data.variants[dropdownIndex] = key + const _selectedVariant = variants.find((variant) => variant.variantName === key) + const selectedVariant = (_selectedVariant?.revisions || []).sort( + (a, b) => b.updatedAtTimestamp - a.updatedAtTimestamp, + )[0] + if (!selectedVariant) { + console.error("Error: No variant found") + } + + setSelectedVariants((prevState) => { + const newState = [...prevState] + newState[dropdownIndex] = selectedVariant + return newState + }) + } + + const getVariantsDropdownMenu = (index: number): MenuProps => { + const selectedVariantsNames = selectedVariants.map( + (revision) => revision.__parentVariant?.variantName, + ) + + const items = variants.reduce((filteredVariants, variant, idx) => { + const label = variant.variantName + + if (!selectedVariantsNames.includes(label)) { + filteredVariants.push({ + label: ( + <> +
    + + + # + { + ( + variant.variantId || + variant.id || + variant.variant_id + ).split("-")[0] + } + +
    + + ), + key: label, + }) + } + + return filteredVariants + }, []) + + const menuProps: MenuProps = { + items, + onClick: handleAppVariantsMenuClick(index), + } + + return menuProps + } + + const onStartEvaluation = async () => { + const selectedVariant = selectedVariants[0] + // 1. We check all data is provided + if (selectedTestset === undefined || selectedTestset.name === "Select a Test set") { + message.error("Please select a Testset") + return + } else if (selectedVariant?.variantName === "Select a variant") { + message.error("Please select a variant") + return + } else if ( + evaluationType === EvaluationType.human_a_b_testing && + selectedVariants[1]?.variantName === "Select a variant" + ) { + message.error("Please select a second variant") + return + } + + const inputs = store.get( + promptVariablesAtomFamily(selectedVariant.variantId || selectedVariant.id), + ) + + // 2. We create a new app evaluation + const evaluationTableId = await createNewEvaluation({ + variant_ids: selectedVariants.map((variant) => variant.variantId || variant.id), + appId, + inputs, + evaluationType: EvaluationType[evaluationType as keyof typeof EvaluationType], + evaluationTypeSettings: {}, + llmAppPromptTemplate: "", + selectedCustomEvaluationID: _selectedCustomEvaluationID, + testsetId: selectedTestset._id!, + }).catch((err) => { + if (err.message !== PERMISSION_ERR_MSG) { + setError({ + message: getErrorMessage(err), + btnText: "Go to Test sets", + endpoint: `${projectURL}/testsets`, + }) + } + }) + + if (!evaluationTableId) { + return + } + + // 3 We set the variants + // setVariants(selectedVariants) + + if (evaluationType === EvaluationType.human_a_b_testing) { + router.push(`${appURL}/evaluations/human_a_b_testing/${evaluationTableId}`) + } else if (evaluationType === EvaluationType.single_model_test) { + router.push(`${appURL}/evaluations/single_model_test/${evaluationTableId}`) + } + } + + return ( + <> + { + setIsEvalModalOpen(false) + + setSelectedTestset({name: "Select a Test set"}) + setSelectedVariants(new Array(1).fill({variantName: "Select a variant"})) + }} + title="New Evaluation" + footer={null} + > + + {typeof isError === "string" ? ( +
    {isError}
    + ) : ( +
    +
    +

    Which testset you want to use?

    + + + +
    + +
    +

    Which variants would you like to evaluate

    + {Array.from({ + length: evaluationType === "human_a_b_testing" ? 2 : 1, + }).map((_, index) => ( + + + + ))} +
    + + + + {evaluationType === EvaluationType.human_a_b_testing && + isDemo() && ( +
    + + + )} + + + + + + )} + + + + setError({message: "", btnText: "", endpoint: ""})} + handleNavigate={() => router.push(error.endpoint)} + message={error.message} + btnText={error.btnText} + /> + + setShareModalOpen(false)} + destroyOnHidden + variantIds={selectedVariants.map((v) => v.variantId)} + testsetId={selectedTestset._id} + evaluationType={EvaluationType.human_a_b_testing} + /> + + ) +} + +export default HumanEvaluationModal diff --git a/web/ee/src/components/HumanEvaluationModal/assets/styles.ts b/web/ee/src/components/HumanEvaluationModal/assets/styles.ts new file mode 100644 index 0000000000..5fbdda1955 --- /dev/null +++ b/web/ee/src/components/HumanEvaluationModal/assets/styles.ts @@ -0,0 +1,105 @@ +import {createUseStyles} from "react-jss" + +import type {JSSTheme, StyleProps} from "@/oss/lib/Types" + +export const useStyles = createUseStyles((theme: JSSTheme) => ({ + evaluationContainer: { + border: "1px solid lightgrey", + padding: "20px", + borderRadius: "14px", + marginBottom: 50, + }, + evaluationImg: ({themeMode}: StyleProps) => ({ + width: 24, + height: 24, + marginRight: "8px", + filter: themeMode === "dark" ? "invert(1)" : "none", + }), + createCustomEvalBtn: { + color: "#fff !important", + backgroundColor: "#0fbf0f", + marginRight: "20px", + borderColor: "#0fbf0f !important", + }, + evaluationType: { + display: "flex", + alignItems: "center", + }, + dropdownStyles: { + display: "flex", + justifyContent: "space-between", + alignItems: "center", + width: "100%", + }, + dropdownBtn: { + marginRight: 10, + width: "100%", + }, + optionSelected: { + border: "1px solid #1668dc", + "& .ant-select-selection-item": { + color: "#1668dc !important", + }, + }, + radioGroup: { + width: "100%", + "& .ant-radio-button-wrapper": { + marginBottom: "0.5rem", + borderRadius: theme.borderRadius, + borderLeft: `1px solid ${theme.colorBorder}`, + "&::before": { + display: "none", + }, + }, + "& .ant-radio-button-wrapper-checked ": { + borderLeft: `1px solid ${theme.colorPrimary}`, + }, + }, + radioBtn: { + display: "block", + marginBottom: "10px", + }, + selectGroup: { + width: "100%", + display: "block", + "& .ant-select-selector": { + borderRadius: 0, + }, + "& .ant-select-selection-item": { + marginLeft: 34, + }, + }, + customCodeSelectContainer: { + position: "relative", + }, + customCodeIcon: { + position: "absolute", + left: 16, + top: 4.5, + pointerEvents: "none", + }, + thresholdStyles: { + paddingLeft: 10, + paddingRight: 10, + }, + variantDropdown: { + marginRight: 10, + width: "100%", + }, + newCodeEval: { + display: "flex", + alignItems: "center", + gap: 8, + color: "#1668dc", + }, + newCodeEvalList: { + display: "flex", + alignItems: "center", + justifyContent: "space-between", + }, + dropdownItemLabels: { + fontSize: theme.fontSizeSM, + lineHeight: theme.lineHeightSM, + color: theme.colorTextDescription, + }, +})) diff --git a/web/ee/src/components/HumanEvaluationModal/types.d.ts b/web/ee/src/components/HumanEvaluationModal/types.d.ts new file mode 100644 index 0000000000..baf1a2b734 --- /dev/null +++ b/web/ee/src/components/HumanEvaluationModal/types.d.ts @@ -0,0 +1,5 @@ +export interface HumanEvaluationModalProps { + isEvalModalOpen: boolean + setIsEvalModalOpen: React.Dispatch> + evaluationType: "single_model_test" | "human_a_b_testing" +} diff --git a/web/ee/src/components/HumanEvaluations/AbTestingEvaluation.tsx b/web/ee/src/components/HumanEvaluations/AbTestingEvaluation.tsx new file mode 100644 index 0000000000..e85bd50861 --- /dev/null +++ b/web/ee/src/components/HumanEvaluations/AbTestingEvaluation.tsx @@ -0,0 +1,551 @@ +import {type Key, useEffect, useState} from "react" + +import VariantDetailsWithStatus from "@agenta/oss/src/components/VariantDetailsWithStatus" +import {MoreOutlined, PlusOutlined} from "@ant-design/icons" +import {Database, Export, GearSix, Note, Plus, Rocket, Trash} from "@phosphor-icons/react" +import {Button, Dropdown, message, Space, Spin, Statistic, Table, Typography} from "antd" +import {ColumnsType} from "antd/es/table" +import {useAtomValue} from "jotai" +import Link from "next/link" +import {useRouter} from "next/router" +import {createUseStyles} from "react-jss" + +import DeleteEvaluationModal from "@/oss/components/DeleteEvaluationModal/DeleteEvaluationModal" +import HumanEvaluationModal from "@/oss/components/HumanEvaluationModal/HumanEvaluationModal" +import useURL from "@/oss/hooks/useURL" +import {EvaluationType} from "@/oss/lib/enums" +import {formatDate24} from "@/oss/lib/helpers/dateTimeHelper" +import {getVotesPercentage} from "@/oss/lib/helpers/evaluate" +import {convertToCsv, downloadCsv} from "@/oss/lib/helpers/fileManipulations" +import {buildRevisionsQueryParam} from "@/oss/lib/helpers/url" +import {variantNameWithRev} from "@/oss/lib/helpers/variantHelper" +import {abTestingEvaluationTransformer} from "@/oss/lib/transformers" +import {HumanEvaluationListTableDataType, JSSTheme} from "@/oss/lib/Types" +import { + deleteEvaluations, + fetchAllLoadEvaluations, + fetchEvaluationResults, +} from "@/oss/services/human-evaluations/api" +import {getAppValues, selectedAppIdAtom} from "@/oss/state/app" +import {projectIdAtom} from "@/oss/state/project" + +const {Title} = Typography + +const useStyles = createUseStyles((theme: JSSTheme) => ({ + container: { + display: "flex", + flexDirection: "column", + gap: theme.paddingXS, + "& > div h1.ant-typography": { + fontSize: theme.fontSize, + }, + }, + statFlag: { + lineHeight: theme.lineHeight, + "& .ant-statistic-content-value": { + fontSize: theme.fontSize, + color: theme.colorError, + }, + "& .ant-statistic-content-suffix": { + fontSize: theme.fontSize, + color: theme.colorError, + }, + }, + stat: { + lineHeight: theme.lineHeight, + "& .ant-statistic-content-value": { + fontSize: theme.fontSize, + color: theme.colorPrimary, + }, + "& .ant-statistic-content-suffix": { + fontSize: theme.fontSize, + color: theme.colorPrimary, + }, + }, + statGood: { + lineHeight: theme.lineHeight, + "& .ant-statistic-content-value": { + fontSize: theme.fontSize, + color: theme.colorSuccess, + }, + "& .ant-statistic-content-suffix": { + fontSize: theme.fontSize, + color: theme.colorSuccess, + }, + }, + button: { + display: "flex", + alignItems: "center", + }, +})) + +const AbTestingEvaluation = ({viewType}: {viewType: "evaluation" | "overview"}) => { + const classes = useStyles() + const router = useRouter() + const {appURL, projectURL} = useURL() + const projectId = useAtomValue(projectIdAtom) + const appId = useAtomValue(selectedAppIdAtom) + + const [evaluationsList, setEvaluationsList] = useState([]) + const [fetchingEvaluations, setFetchingEvaluations] = useState(false) + const [isEvalModalOpen, setIsEvalModalOpen] = useState(false) + const [selectedEvalRecord, setSelectedEvalRecord] = useState() + const [isDeleteEvalModalOpen, setIsDeleteEvalModalOpen] = useState(false) + const [isDeleteMultipleEvalModalOpen, setIsDeleteMultipleEvalModalOpen] = useState(false) + const [selectedRowKeys, setSelectedRowKeys] = useState([]) + + useEffect(() => { + if (!appId || !projectId) return + + const fetchEvaluations = async () => { + try { + setFetchingEvaluations(true) + const evals = await fetchAllLoadEvaluations(appId, projectId) + + const fetchPromises = evals.map(async (item: any) => { + return fetchEvaluationResults(item.id) + .then((results) => { + if (item.evaluation_type === EvaluationType.human_a_b_testing) { + if (Object.keys(results.votes_data).length > 0) { + return abTestingEvaluationTransformer({item, results}) + } + } + }) + .catch((err) => console.error(err)) + }) + + const results = (await Promise.all(fetchPromises)) + .filter((evaluation) => evaluation !== undefined) + .sort( + (a, b) => + new Date(b.createdAt || 0).getTime() - + new Date(a.createdAt || 0).getTime(), + ) + + setEvaluationsList(viewType === "overview" ? results.slice(0, 5) : results) + } catch (error) { + console.error(error) + } finally { + setFetchingEvaluations(false) + } + } + + fetchEvaluations() + }, [appId, projectId]) + + const handleNavigation = (variantRevisionId: string) => { + router.push({ + pathname: `${appURL}/playground`, + query: { + revisions: buildRevisionsQueryParam([variantRevisionId]), + }, + }) + } + + const rowSelection = { + onChange: (selectedRowKeys: Key[]) => { + setSelectedRowKeys(selectedRowKeys) + }, + } + + const handleDeleteMultipleEvaluations = async () => { + const evaluationsIds = selectedRowKeys.map((key) => key.toString()) + try { + setFetchingEvaluations(true) + await deleteEvaluations(evaluationsIds) + setEvaluationsList((prevEvaluationsList) => + prevEvaluationsList.filter( + (evaluation) => !evaluationsIds.includes(evaluation.key), + ), + ) + setSelectedRowKeys([]) + message.success("Evaluations Deleted") + } catch (error) { + console.error(error) + } finally { + setFetchingEvaluations(false) + } + } + + const handleDeleteEvaluation = async (record: HumanEvaluationListTableDataType) => { + try { + setFetchingEvaluations(true) + await deleteEvaluations([record.key]) + setEvaluationsList((prevEvaluationsList) => + prevEvaluationsList.filter((evaluation) => ![record.key].includes(evaluation.key)), + ) + message.success("Evaluation Deleted") + } catch (error) { + console.error(error) + } finally { + setFetchingEvaluations(false) + } + } + + const columns: ColumnsType = [ + { + title: "Variant 1", + dataIndex: "variantNames", + key: "variant1", + onHeaderCell: () => ({ + style: {minWidth: 160}, + }), + render: (value, record) => { + return ( + + ) + }, + }, + { + title: "Variant 2", + dataIndex: "variantNames", + key: "variant2", + onHeaderCell: () => ({ + style: {minWidth: 160}, + }), + render: (value, record) => { + return ( + + ) + }, + }, + { + title: "Test set", + dataIndex: "testsetName", + key: "testsetName", + onHeaderCell: () => ({ + style: {minWidth: 160}, + }), + render: (_, record: HumanEvaluationListTableDataType, index: number) => { + return {record.testset.name} + }, + }, + { + title: "Results", + key: "results", + onHeaderCell: () => ({ + style: {minWidth: 240}, + }), + render: (_, record: HumanEvaluationListTableDataType) => { + const stat1 = getVotesPercentage(record, 0) + const stat2 = getVotesPercentage(record, 1) + + return ( +
    + + | + +
    + ) + }, + }, + { + title: "Both are good", + dataIndex: "positive", + key: "positive", + onHeaderCell: () => ({ + style: {minWidth: 160}, + }), + render: (_, record: HumanEvaluationListTableDataType) => { + const percentage = record.votesData.positive_votes.percentage + return ( + + + + ) + }, + }, + { + title: "Flag", + dataIndex: "flag", + key: "flag", + onHeaderCell: () => ({ + style: {minWidth: 160}, + }), + render: (value: any, record: HumanEvaluationListTableDataType) => { + const percentage = record.votesData.flag_votes.percentage + return ( + + + + ) + }, + }, + ] + + columns.push( + ...([ + { + title: "Created on", + dataIndex: "createdAt", + key: "createdAt", + onHeaderCell: () => ({ + style: {minWidth: 160}, + }), + }, + { + title: , + key: "key", + width: 56, + fixed: "right", + align: "center", + render: (_: any, record: HumanEvaluationListTableDataType) => { + return ( + , + onClick: (e) => { + e.domEvent.stopPropagation() + router.push( + `${appURL}/evaluations/human_a_b_testing/${record.key}`, + ) + }, + }, + { + key: "variant1", + label: "View variant 1", + icon: , + onClick: (e) => { + e.domEvent.stopPropagation() + handleNavigation(record.variant_revision_ids[0]) + }, + }, + { + key: "variant2", + label: "View variant 2", + icon: , + onClick: (e) => { + e.domEvent.stopPropagation() + handleNavigation(record.variant_revision_ids[1]) + }, + }, + { + key: "view_testset", + label: "View test set", + icon: , + onClick: (e) => { + e.domEvent.stopPropagation() + router.push( + `${projectURL}/testsets/${record.testset._id}`, + ) + }, + }, + {type: "divider"}, + { + key: "delete_eval", + label: "Delete", + icon: , + danger: true, + onClick: (e) => { + e.domEvent.stopPropagation() + setSelectedEvalRecord(record) + setIsDeleteEvalModalOpen(true) + }, + }, + ], + }} + > + + + + + + ) : ( +
    + + + + + + +
    + )} + + +
    ({ + style: {cursor: "pointer"}, + onClick: () => + router.push(`${appURL}/evaluations/human_a_b_testing/${record.key}`), + })} + /> + + + + + {selectedEvalRecord && ( + setIsDeleteEvalModalOpen(false)} + onOk={async () => { + await handleDeleteEvaluation(selectedEvalRecord) + setIsDeleteEvalModalOpen(false) + }} + evaluationType={"a/b testing evaluation"} + /> + )} + + {isDeleteMultipleEvalModalOpen && ( + setIsDeleteMultipleEvalModalOpen(false)} + onOk={async () => { + await handleDeleteMultipleEvaluations() + setIsDeleteMultipleEvalModalOpen(false) + }} + evaluationType={"a/b testing evaluation"} + /> + )} + + ) +} + +export default AbTestingEvaluation diff --git a/web/ee/src/components/HumanEvaluations/SingleModelEvaluation.tsx b/web/ee/src/components/HumanEvaluations/SingleModelEvaluation.tsx new file mode 100644 index 0000000000..cdc664f9b2 --- /dev/null +++ b/web/ee/src/components/HumanEvaluations/SingleModelEvaluation.tsx @@ -0,0 +1,228 @@ +import {memo, useMemo, useCallback, useState, type Key} from "react" + +import {ColumnsType} from "antd/es/table" +import clsx from "clsx" +import {useRouter} from "next/router" + +import EnhancedTable from "@/oss/components/EnhancedUIs/Table" +import {useAppId} from "@/oss/hooks/useAppId" +import useURL from "@/oss/hooks/useURL" +import {EvaluationType} from "@/oss/lib/enums" +import {buildRevisionsQueryParam} from "@/oss/lib/helpers/url" +import useEvaluations from "@/oss/lib/hooks/useEvaluations" +import useRunMetricsMap from "@/oss/lib/hooks/useRunMetricsMap" +import {useAppsData} from "@/oss/state/app" + +import SingleModelEvaluationHeader from "./assets/SingleModelEvaluationHeader" +import {useStyles} from "./assets/styles" +import {getColumns} from "./assets/utils" +import {EvaluationRow} from "./types" +import { + buildAppScopedUrl, + buildEvaluationNavigationUrl, + extractEvaluationAppId, +} from "../pages/evaluations/utils" + +interface SingleModelEvaluationProps { + viewType: "evaluation" | "overview" + scope?: "app" | "project" +} + +const SingleModelEvaluation = ({viewType, scope = "app"}: SingleModelEvaluationProps) => { + const classes = useStyles() + const router = useRouter() + const {appURL, projectURL, baseAppURL} = useURL() + const routeAppId = useAppId() + const activeAppId = scope === "app" ? routeAppId || undefined : undefined + const {apps: availableApps = []} = useAppsData() + + const [selectedEvalRecord, setSelectedEvalRecord] = useState() + const [isDeleteEvalModalOpen, setIsDeleteEvalModalOpen] = useState(false) + const [selectedRowKeys, setSelectedRowKeys] = useState([]) + + const {mergedEvaluations, isLoadingPreview, isLoadingLegacy} = useEvaluations({ + withPreview: true, + types: [EvaluationType.single_model_test], + evalType: "human", + appId: activeAppId, + }) + + const runIds = useMemo( + () => mergedEvaluations.map((e) => ("id" in e ? e.id : e.key)), + [mergedEvaluations], + ) + const evaluatorSlugs = useMemo(() => { + const evaSlugs = new Set() + mergedEvaluations.forEach((e) => { + const key = e?.data.steps?.find((step) => step.type === "annotation")?.key + if (key) evaSlugs.add(key) + }) + return evaSlugs + }, [mergedEvaluations]) + + const {data: runMetricsMap} = useRunMetricsMap(runIds, evaluatorSlugs) + + const knownAppIds = useMemo(() => { + return new Set( + (availableApps as Array<{app_id?: string}>) + .map((app) => app?.app_id) + .filter(Boolean) as string[], + ) + }, [availableApps]) + + const resolveAppId = useCallback( + (record: EvaluationRow): string | undefined => { + const candidate = extractEvaluationAppId(record) || activeAppId + if (!candidate) return undefined + if (scope === "project" && !knownAppIds.has(candidate)) return undefined + return candidate + }, + [activeAppId, knownAppIds, scope], + ) + + const isRecordNavigable = useCallback( + (record: EvaluationRow): boolean => { + const evaluationId = "id" in record ? record.id : record.key + const recordAppId = resolveAppId(record) + return Boolean(evaluationId && recordAppId) + }, + [resolveAppId], + ) + + const rowSelection = useMemo(() => { + return { + onChange: (selectedRowKeys: Key[]) => { + setSelectedRowKeys(selectedRowKeys) + }, + getCheckboxProps: (record: EvaluationRow) => ({ + disabled: !isRecordNavigable(record), + }), + } + }, [isRecordNavigable]) + + const handleNavigation = useCallback( + ({revisionId, appId: recordAppId}: {revisionId: string; appId?: string}) => { + const targetAppId = recordAppId || activeAppId + if (!targetAppId) return + + router.push({ + pathname: buildAppScopedUrl(baseAppURL, targetAppId, "/playground"), + query: { + revisions: buildRevisionsQueryParam([revisionId]), + }, + }) + }, + [router, baseAppURL, activeAppId], + ) + + const columns: ColumnsType = useMemo(() => { + return getColumns({ + evaluations: mergedEvaluations, + onVariantNavigation: handleNavigation, + evalType: "human", + setSelectedEvalRecord, + setIsDeleteEvalModalOpen, + runMetricsMap, + scope, + baseAppURL, + extractAppId: extractEvaluationAppId, + projectURL, + resolveAppId, + }) + }, [ + mergedEvaluations, + handleNavigation, + setSelectedEvalRecord, + setIsDeleteEvalModalOpen, + runMetricsMap, + scope, + baseAppURL, + projectURL, + resolveAppId, + ]) + + const dataSource = useMemo(() => { + return viewType === "overview" ? mergedEvaluations.slice(0, 5) : mergedEvaluations + }, [viewType, mergedEvaluations]) + + return ( +
    + + +
    + { + return record.id || record.key + }} + className={clsx("ph-no-capture", "grow min-h-0", "eval-runs-table")} + showHorizontalScrollBar={true} + columns={columns} + dataSource={dataSource} + virtualized + loading={isLoadingPreview || isLoadingLegacy} + uniqueKey="human-annotation" + onRow={(record) => { + const evaluationId = "id" in record ? record.id : record.key + const recordAppId = resolveAppId(record) + const isNavigable = isRecordNavigable(record) + + return { + className: isNavigable ? undefined : "cursor-not-allowed opacity-60", + style: {cursor: isNavigable ? "pointer" : "not-allowed"}, + onClick: () => { + if (!isNavigable || !recordAppId || !evaluationId) return + + const pathname = buildEvaluationNavigationUrl({ + scope, + baseAppURL, + projectURL, + appId: recordAppId, + path: `/evaluations/single_model_test/${evaluationId}`, + }) + + if (scope === "project") { + router.push({ + pathname, + query: recordAppId ? {app_id: recordAppId} : undefined, + }) + } else { + router.push(pathname) + } + }, + } + }} + /> +
    +
    + ) +} + +export default memo(SingleModelEvaluation) diff --git a/web/ee/src/components/HumanEvaluations/assets/EvaluationStatusCell.tsx b/web/ee/src/components/HumanEvaluations/assets/EvaluationStatusCell.tsx new file mode 100644 index 0000000000..dc4b2afb3c --- /dev/null +++ b/web/ee/src/components/HumanEvaluations/assets/EvaluationStatusCell.tsx @@ -0,0 +1,147 @@ +import {memo, useEffect, useMemo, useRef} from "react" + +import {Tag, theme} from "antd" +import {useAtom, useAtomValue} from "jotai" +import {mutate} from "swr" + +import {EvaluationType} from "@/oss/lib/enums" +import useEvaluationRunScenarios, { + getEvaluationRunScenariosKey, +} from "@/oss/lib/hooks/useEvaluationRunScenarios" +import useEvaluations from "@/oss/lib/hooks/useEvaluations" +import {resourceStatusQueryFamily} from "@/oss/lib/hooks/usePreviewRunningEvaluations" +import {tempEvaluationAtom} from "@/oss/lib/hooks/usePreviewRunningEvaluations/states/runningEvalAtom" +import {EvaluationStatus} from "@/oss/lib/Types" + +import {statusMapper} from "../../pages/evaluations/cellRenderers/cellRenderers" + +import {extractEvaluationStatus} from "./utils" + +const EvaluationStatusCell = ({ + runId, + status, + evalType, +}: { + runId: string + status?: EvaluationStatus + evalType?: "auto" | "human" +}) => { + const swrData = useEvaluationRunScenarios(runId, undefined, { + syncAtom: false, + revalidateOnMount: true, + }) + const {token} = theme.useToken() + const {refetch} = useEvaluations({ + withPreview: true, + types: + evalType === "auto" + ? [EvaluationType.automatic, EvaluationType.auto_exact_match] + : [EvaluationType.human, EvaluationType.single_model_test], + evalType, + }) + const runningEvaluations = useAtomValue( + resourceStatusQueryFamily(evalType === "auto" ? runId : ""), + ) + const [tempEvaluation, setTempEvaluation] = useAtom(tempEvaluationAtom) + const handledCompletionRef = useRef>(new Set()) + const lastMutatedStatusRef = useRef<{runId?: string; status?: EvaluationStatus | null} | null>( + null, + ) + + // Force refetch once when component mounts (useful when returning from details page) + useEffect(() => { + if (!runId) return + + const key = getEvaluationRunScenariosKey(runId) + if (!key) return + + const status = runningEvaluations.data?.run?.status ?? null + const hasChanged = + !lastMutatedStatusRef.current || + lastMutatedStatusRef.current.runId !== runId || + lastMutatedStatusRef.current.status !== status + + if (!hasChanged) return + + lastMutatedStatusRef.current = {runId, status} + + mutate(`${key}-false`) + }, [runId, runningEvaluations.data?.run?.status]) + + // refresh the eval after a completed run + useEffect(() => { + if (evalType !== "auto") return + + const runIdToCheck = runningEvaluations.data?.run?.id + const runStatus = runningEvaluations.data?.run?.status + + if (!runIdToCheck || !runStatus) return + + const isTrackedTempEvaluation = tempEvaluation.some( + (evaluation) => evaluation.id === runIdToCheck, + ) + + if (!isTrackedTempEvaluation) { + handledCompletionRef.current.delete(runIdToCheck) + return + } + + const isTerminalStatus = ![ + EvaluationStatus.PENDING, + EvaluationStatus.RUNNING, + EvaluationStatus.CANCELLED, + EvaluationStatus.INITIALIZED, + ].includes(runStatus) + + if (!isTerminalStatus) { + handledCompletionRef.current.delete(runIdToCheck) + return + } + + const hasHandledCompletion = handledCompletionRef.current.has(runIdToCheck) + + if (hasHandledCompletion) return + + handledCompletionRef.current.add(runIdToCheck) + + setTempEvaluation((prev) => prev.filter((evaluation) => evaluation.id !== runIdToCheck)) + refetch() + }, [ + evalType, + refetch, + runningEvaluations.data?.run?.id, + runningEvaluations.data?.run?.status, + setTempEvaluation, + tempEvaluation, + ]) + + const {runStatus, scenarios} = useMemo(() => { + return extractEvaluationStatus(swrData.data?.scenarios || [], status, evalType) + }, [status, token, swrData.data?.scenarios, evalType]) + + const completedStatuses = [EvaluationStatus.SUCCESS] + const {completedCount, totalCount} = useMemo(() => { + return { + completedCount: scenarios.filter((s) => + completedStatuses.includes(s.status as EvaluationStatus), + ).length, + totalCount: scenarios.length, + } + }, [scenarios]) + + const _status = useMemo(() => { + if (evalType !== "auto") return runStatus + return runningEvaluations.data?.run?.status || runStatus + }, [runningEvaluations.data?.run?.status, runStatus]) + + return ( +
    + + {statusMapper(token)(_status).label} + +
    {`${completedCount} / ${totalCount}`}
    +
    + ) +} + +export default memo(EvaluationStatusCell) diff --git a/web/ee/src/components/HumanEvaluations/assets/LegacyEvalResultCell.tsx b/web/ee/src/components/HumanEvaluations/assets/LegacyEvalResultCell.tsx new file mode 100644 index 0000000000..3dda59ca5b --- /dev/null +++ b/web/ee/src/components/HumanEvaluations/assets/LegacyEvalResultCell.tsx @@ -0,0 +1,32 @@ +import {memo} from "react" + +import {Tag, Typography, Space} from "antd" + +import {getTypedValue} from "@/oss/lib/helpers/evaluate" + +import EvaluationErrorPopover from "../../pages/evaluations/EvaluationErrorProps/EvaluationErrorPopover" + +export const LegacyEvalResultCell = memo(({matchingResults}: {matchingResults: any}) => { + return ( + + {matchingResults?.map((result, index) => + result?.result?.error ? ( + + ) : ( + {getTypedValue(result?.result)} + ), + )} + + ) +}) + +export const LegacyEvalResultCellTitle = memo(({evaluator}: {evaluator: any}) => { + return ( +
    + {evaluator?.name} + + {evaluator?.evaluator?.name} + +
    + ) +}) diff --git a/web/ee/src/components/HumanEvaluations/assets/MetricDetailsPopover/assets/ChartAxis.tsx b/web/ee/src/components/HumanEvaluations/assets/MetricDetailsPopover/assets/ChartAxis.tsx new file mode 100644 index 0000000000..b548672a5c --- /dev/null +++ b/web/ee/src/components/HumanEvaluations/assets/MetricDetailsPopover/assets/ChartAxis.tsx @@ -0,0 +1,91 @@ +import {FC} from "react" + +import {format3Sig} from "./utils" + +interface ChartAxisProps { + svgWidth: number + svgHeight: number + plotWidth: number + plotHeight: number + margin: {top: number; right: number; bottom: number; left: number} + xLabels: (string | number)[] + yTicks?: number[] // for numeric axes + yLabels?: (string | number)[] // for categorical axes + xScale: (idx: number) => number + yScale: (value: number) => number + yLabelScale?: (idx: number) => number // for categorical axes +} + +export const ChartAxis: FC = ({ + svgWidth, + svgHeight, + plotWidth, + plotHeight, + margin, + xLabels, + yTicks, + yLabels, + xScale, + yScale, + yLabelScale, +}) => ( + + {/* X Axis Line */} + + {/* X Axis Labels */} + {xLabels.map((label, idx) => ( + + {label} + + ))} + {/* Y Axis Line */} + + {/* Y Axis Labels */} + {yLabels && yLabelScale + ? yLabels.map((label, idx) => ( + + {label} + + )) + : yTicks?.map((tick) => ( + + {format3Sig(tick)} + + ))} + +) diff --git a/web/ee/src/components/HumanEvaluations/assets/MetricDetailsPopover/assets/ChartFrame.tsx b/web/ee/src/components/HumanEvaluations/assets/MetricDetailsPopover/assets/ChartFrame.tsx new file mode 100644 index 0000000000..18bdb0fb4a --- /dev/null +++ b/web/ee/src/components/HumanEvaluations/assets/MetricDetailsPopover/assets/ChartFrame.tsx @@ -0,0 +1,71 @@ +import {type FC, type ReactNode, RefObject, useRef} from "react" + +import {useResizeObserver} from "usehooks-ts" + +export interface ChartFrameProps { + minWidth?: number + minHeight?: number + maxWidth?: number | string + maxHeight?: number | string + margin?: {top: number; right: number; bottom: number; left: number} + children: (frame: { + svgWidth: number + svgHeight: number + plotWidth: number + plotHeight: number + margin: {top: number; right: number; bottom: number; left: number} + }) => ReactNode +} + +const DEFAULT_MARGIN = {top: 8, right: 16, left: 40, bottom: 32} +const DEFAULT_MIN_WIDTH = 200 +const DEFAULT_MIN_HEIGHT = 120 + +const ChartFrame: FC = ({ + minWidth = DEFAULT_MIN_WIDTH, + minHeight = DEFAULT_MIN_HEIGHT, + maxWidth, + maxHeight, + margin = DEFAULT_MARGIN, + children, +}) => { + const containerRef = useRef(null) + const {width: chartWidth = 280, height: chartHeight = 120} = useResizeObserver({ + ref: containerRef as RefObject, + box: "border-box", + }) + const svgWidth = Math.max(chartWidth, minWidth) + const svgHeight = Math.max(chartHeight, minHeight) + const plotWidth = svgWidth - margin.left - margin.right + const plotHeight = svgHeight - margin.top - margin.bottom + + return ( +
    + {children({ + svgWidth, + svgHeight, + plotWidth, + plotHeight, + margin, + })} +
    + ) +} + +export default ChartFrame diff --git a/web/ee/src/components/HumanEvaluations/assets/MetricDetailsPopover/assets/ResponsiveFrequencyChart.tsx b/web/ee/src/components/HumanEvaluations/assets/MetricDetailsPopover/assets/ResponsiveFrequencyChart.tsx new file mode 100644 index 0000000000..bdc77ae83a --- /dev/null +++ b/web/ee/src/components/HumanEvaluations/assets/MetricDetailsPopover/assets/ResponsiveFrequencyChart.tsx @@ -0,0 +1,463 @@ +import {type FC, memo, useCallback, useState} from "react" + +import clsx from "clsx" + +import {ChartAxis} from "./ChartAxis" +import ChartFrame from "./ChartFrame" +import {getYTicks} from "./chartUtils" + +interface FrequencyDatum { + label: string | number + count: number +} + +interface ResponsiveFrequencyChartProps { + data: FrequencyDatum[] + highlightValues?: (string | number)[] + labelWidth?: number + direction?: "horizontal" | "vertical" + /** Optional: color for bars (also used for highlight when provided) */ + barColor?: string + /** Optional: disable gradient and use solid bars */ + disableGradient?: boolean + dynamicMargin?: Partial<{top: number; right: number; bottom: number; left: number}> +} + +// Resolve fills based on props (keep defaults when not provided) +const DEFAULTS = { + greenSolid: "#95DE64", + blueSolid: "#69B1FF", + graySolid: "#97A4B0", +} + +const CUSTOM_GRADIENT_ID = "barGradientCustom" + +/** + * ResponsiveFrequencyChart renders a vertical bar chart for categorical/frequency data. + * Bars to highlight are inferred automatically from highlightValues (if provided). + */ +const ResponsiveFrequencyChart: FC = memo( + ({ + data, + highlightValues = [], + labelWidth, + direction = "horizontal", + barColor, + disableGradient = false, + dynamicMargin: dynamicPropsMargin, + }) => { + const isVertical = direction === "vertical" + const xMax = Math.max(...data.map((d) => d.count), 1) + const yCount = data.length + const xTicks = getYTicks(xMax) + const yLabels = data.map((d) => d.label) + + // Tooltip state + const [hoveredBar, setHoveredBar] = useState(null) + const [mousePos, setMousePos] = useState<{x: number; y: number} | null>(null) + + // Dynamically calculate margins based on orientation + const defaultMargin = {top: 16, right: 16, bottom: 32, left: 40} + let dynamicMargin = defaultMargin + if (isVertical) { + const longestBottomLabel = yLabels.reduce( + (max: number, label) => Math.max(max, String(label).length), + 0, + ) + const bottomMargin = Math.max(32, Math.min(120, longestBottomLabel * 7 + 16)) + const longestCountLabel = xTicks.reduce( + (max: number, tick) => Math.max(max, String(tick).length), + 0, + ) + const leftMargin = Math.max(40, Math.min(120, longestCountLabel * 7 + 16)) + dynamicMargin = { + ...defaultMargin, + left: leftMargin, + bottom: bottomMargin, + ...dynamicPropsMargin, + } + } else { + const longestLabelLength = yLabels.reduce( + (max: number, label) => Math.max(max, String(label).length), + 0, + ) + const dynamicLeftMargin = Math.max(40, Math.min(120, longestLabelLength * 7 + 16)) + dynamicMargin = {...defaultMargin, left: dynamicLeftMargin, ...dynamicPropsMargin} + } + + // Calculate maxCount and maxCountOccurrences once + const countMap = data.map((d) => d.count) + const maxCount = Math.max(...countMap) + const maxCountOccurrences = countMap.filter((count) => count === maxCount).length + // Store maxCount for later use in rendering + const uniqueMaxCount = maxCountOccurrences === 1 ? maxCount : null + + // Compute highlighted bar indices from highlightValues + const computedHighlightBarIndices = + highlightValues.length > 0 + ? data + .map((d, i) => + highlightValues.some((hv) => String(hv) === String(d.label)) ? i : -1, + ) + .filter((i) => i !== -1) + : [] + + return ( + + {({svgWidth, svgHeight, plotWidth, plotHeight, margin}) => { + // Scales for both orientations + const yLabelScaleHorizontal = (idx: number) => + (idx + 0.5) * (plotHeight / yCount) + const barHeightHorizontal = plotHeight / yCount - 6 + const xScaleHorizontal = (count: number) => (count / xMax) * plotWidth + + const xLabelScaleVertical = (idx: number) => (idx + 0.5) * (plotWidth / yCount) + const barWidthVertical = plotWidth / yCount - 6 + const yScaleVertical = (value: number) => ((xMax - value) / xMax) * plotHeight + + const getFill = useCallback( + (isHighlighted: boolean, d: FrequencyDatum): string => { + // If user supplies barColor, it overrides category colors: + if (barColor) { + // highlighted also uses barColor (solid), mirroring prior component behavior + if (isHighlighted) return barColor + return disableGradient ? barColor : `url(#${CUSTOM_GRADIENT_ID})` + } + // Default behavior (no barColor override) + if (isHighlighted) return DEFAULTS.greenSolid + if (disableGradient) { + // Solid fallbacks + if (d.label === "true") return DEFAULTS.greenSolid + if (uniqueMaxCount !== null && d.count === uniqueMaxCount) + return DEFAULTS.blueSolid + return DEFAULTS.graySolid + } + // Gradient fallbacks + if (d.label === "true") return "url(#barGradientGreen)" + if (uniqueMaxCount !== null && d.count === uniqueMaxCount) + return "url(#barGradientBlue)" + return "url(#barGradientGray)" + }, + [barColor], + ) + + return ( + <> + + {/* Bar gradient defs */} + + {/* If a custom barColor is provided and gradient is enabled, use a single custom gradient */} + {!disableGradient && barColor && ( + + + + + )} + + {/* Otherwise keep the existing three gradients (when gradient is enabled) */} + {!disableGradient && !barColor && ( + <> + {/* Gradient for "true" state */} + + + + + + {/* Gradient for default/false state */} + + + + + + {/* Gradient for most-count (unique max) */} + + + + + + )} + + + {/* Grid and highlight lines */} + {isVertical ? ( + + {xTicks.map((tick) => ( + + ))} + {highlightValues.map((val, i) => { + const idx = data.findIndex( + (d) => + typeof d.label === "number" && d.label === val, + ) + if (idx === -1) return null + return ( + + ) + })} + + ) : ( + + {xTicks.map((tick) => ( + + ))} + {highlightValues.map((val, i) => { + const idx = data.findIndex( + (d) => + typeof d.label === "number" && d.label === val, + ) + if (idx === -1) return null + return ( + + ) + })} + + )} + + {/* Bars */} + + {data.map((d, idx) => { + const isHighlighted = + computedHighlightBarIndices.includes(idx) + const isMaxUnique = + uniqueMaxCount !== null && d.count === uniqueMaxCount + + if (isVertical) { + const barX = + margin.left + + xLabelScaleVertical(idx) - + barWidthVertical / 2 + const barHeight = plotHeight - yScaleVertical(d.count) + return ( + { + setHoveredBar(idx) + const svgRect = ( + e.target as SVGRectElement + ).ownerSVGElement?.getBoundingClientRect() + setMousePos({ + x: e.clientX - (svgRect?.left ?? 0), + y: e.clientY - (svgRect?.top ?? 0), + }) + }} + onMouseMove={(e) => { + const svgRect = ( + e.target as SVGRectElement + ).ownerSVGElement?.getBoundingClientRect() + setMousePos({ + x: e.clientX - (svgRect?.left ?? 0), + y: e.clientY - (svgRect?.top ?? 0), + }) + }} + onMouseLeave={() => { + setHoveredBar(null) + setMousePos(null) + }} + /> + ) + } + + return ( + { + setHoveredBar(idx) + const svgRect = ( + e.target as SVGRectElement + ).ownerSVGElement?.getBoundingClientRect() + setMousePos({ + x: e.clientX - (svgRect?.left ?? 0), + y: e.clientY - (svgRect?.top ?? 0), + }) + }} + onMouseMove={(e) => { + const svgRect = ( + e.target as SVGRectElement + ).ownerSVGElement?.getBoundingClientRect() + setMousePos({ + x: e.clientX - (svgRect?.left ?? 0), + y: e.clientY - (svgRect?.top ?? 0), + }) + }} + onMouseLeave={() => { + setHoveredBar(null) + setMousePos(null) + }} + /> + ) + })} + + + {/* Axes */} + {isVertical ? ( + xLabelScaleVertical(idx)} + yScale={yScaleVertical} + /> + ) : ( + xScaleHorizontal(xTicks[idx])} + yScale={() => 0} + /> + )} + + + {/* Tooltip rendered outside SVG, absolutely positioned */} + {hoveredBar !== null && data[hoveredBar] && mousePos && ( +
    + {/* Caret */} +
    +
    + Label: + {String(data[hoveredBar].label)} +
    +
    + Count: + {data[hoveredBar].count} +
    +
    + )} + + ) + }} + + ) + }, +) + +export default ResponsiveFrequencyChart diff --git a/web/ee/src/components/HumanEvaluations/assets/MetricDetailsPopover/assets/ResponsiveMetricChart.tsx b/web/ee/src/components/HumanEvaluations/assets/MetricDetailsPopover/assets/ResponsiveMetricChart.tsx new file mode 100644 index 0000000000..55594d96d4 --- /dev/null +++ b/web/ee/src/components/HumanEvaluations/assets/MetricDetailsPopover/assets/ResponsiveMetricChart.tsx @@ -0,0 +1,634 @@ +import {FC, memo, useState} from "react" + +import type {ChartDatum} from "../types" + +import {ChartAxis} from "./ChartAxis" +import ChartFrame from "./ChartFrame" +import {format3Sig} from "./utils" + +interface ResponsiveMetricChartProps { + chartData: ChartDatum[] + extraDimensions: Record + highlightValue?: number + labelWidth?: number + direction?: "horizontal" | "vertical" + dynamicMargin?: Partial<{top: number; right: number; bottom: number; left: number}> + /** Optional: color for bars (also used for highlight). Default keeps current blue. */ + barColor?: string + /** Optional: when true, disables gradient and uses a solid color for bars. */ + disableGradient?: boolean +} + +const DEFAULT_PRIMARY = "#69B1FF" + +/** + * ResponsiveMetricChart is a functional component that renders a responsive histogram + * visualization using SVG. This chart displays data as bars with optional highlighted + * bins, reference lines, and tooltips for detailed information. The chart adapts to + * its container's size and provides scale functions for accurately positioning elements. + */ +/** + * ResponsiveMetricChart is a functional component that renders a responsive histogram + * visualization using SVG. This chart displays data as bars with optional highlighted + * bins, reference lines, and tooltips for detailed information. The chart adapts to + * its container's size and provides scale functions for accurately positioning elements. + * + * The highlighted bin is automatically inferred from highlightValue (if provided). + */ +const ResponsiveMetricChart: FC = memo( + ({ + chartData, + extraDimensions, + highlightValue, + labelWidth, + direction = "horizontal", + dynamicMargin: dynamicPropsMargin, + barColor, + disableGradient = false, + }) => { + const binSize = extraDimensions.binSize || 1 + const yMin = Math.min(...(chartData.map((d) => d.edge) as number[])) + const yMax = Math.max(...(chartData.map((d) => d.edge) as number[])) + binSize + const xMax = Math.max(...chartData.map((d) => d.value)) + + // Y axis: bin midpoints + const yTicks: number[] = chartData.map((d) => (d.edge ?? 0) + binSize / 2) + // X axis: value ticks + const xTicks: number[] = [] + const xTickCount = Math.min(4, xMax) + for (let i = 0; i <= xTickCount; i++) { + xTicks.push((i / xTickCount) * xMax) + } + + const clipPathId = `clip-histogram-${Math.random().toString(36).substr(2, 9)}` + // Tooltip state + const [hoveredBin, setHoveredBin] = useState(null) + const [mousePos, setMousePos] = useState<{x: number; y: number} | null>(null) + + // Compute highlighted bin index from highlightValue + let computedHighlightBinIndex: number | null = null + if (typeof highlightValue === "number" && chartData.length > 0) { + const roundTo = (n: number, digits: number) => { + const factor = Math.pow(10, digits) + return Math.round(n * factor) / factor + } + const DECIMALS = 6 + computedHighlightBinIndex = chartData.findIndex((d, i) => { + const binStart = d.edge ?? 0 + const binEnd = (d.edge ?? 0) + binSize + if (i === chartData.length - 1) { + // Last bin: inclusive of upper edge, round both values for robust comparison + const closeEnough = Math.abs(highlightValue - binEnd) < Math.pow(10, -DECIMALS) + return ( + roundTo(highlightValue, DECIMALS) >= roundTo(binStart, DECIMALS) && + (roundTo(highlightValue, DECIMALS) <= roundTo(binEnd, DECIMALS) || + closeEnough) + ) + } + // Other bins: upper edge exclusive, round for robust comparison + return ( + roundTo(highlightValue, DECIMALS) >= roundTo(binStart, DECIMALS) && + roundTo(highlightValue, DECIMALS) < roundTo(binEnd, DECIMALS) + ) + }) + if (computedHighlightBinIndex === -1) computedHighlightBinIndex = null + } + + // Dynamically calculate left margin for long y-labels + const yLabelsFormatted = yTicks.map(format3Sig) + const defaultMargin = {top: 16, right: 16, bottom: 32, left: 40} + let dynamicMargin = defaultMargin + if (direction === "horizontal") { + const longestLabelLength = yLabelsFormatted.reduce( + (max, label) => Math.max(max, String(label).length), + 0, + ) + const dynamicLeftMargin = Math.max(40, Math.min(120, longestLabelLength * 7 + 16)) + dynamicMargin = {...defaultMargin, left: dynamicLeftMargin} + } else { + const yAxisLabels = xTicks.map(format3Sig) + const longestLeft = yAxisLabels.reduce( + (max, label) => Math.max(max, String(label).length), + 0, + ) + const dynamicLeftMargin = Math.max(40, Math.min(120, longestLeft * 7 + 16)) + const xAxisLabels = yTicks.map(format3Sig) + const longestBottom = xAxisLabels.reduce( + (max, label) => Math.max(max, String(label).length), + 0, + ) + const dynamicBottomMargin = Math.max(32, Math.min(120, longestBottom * 7 + 16)) + dynamicMargin = { + ...defaultMargin, + left: dynamicLeftMargin, + bottom: dynamicBottomMargin, + ...dynamicPropsMargin, + } + } + + // NEW: resolve fills (keep defaults) + const baseSolid = barColor || DEFAULT_PRIMARY + const baseFill = disableGradient ? baseSolid : "url(#barGradientBlue)" + const highlightFill = barColor || DEFAULT_PRIMARY + + return ( +
    + + {({svgWidth, svgHeight, plotWidth, plotHeight, margin}) => { + // Scales for both orientations + const xScaleHorizontal = (value: number) => (value / xMax) * plotWidth + const yScaleHorizontal = (value: number) => + ((yMax - value) / (yMax - yMin)) * plotHeight + + const xScaleVertical = (value: number) => + ((value - yMin) / (yMax - yMin)) * plotWidth + const yScaleVertical = (value: number) => + ((xMax - value) / xMax) * plotHeight + + const isVertical = direction === "vertical" + const xScale = isVertical ? xScaleVertical : xScaleHorizontal + const yScale = isVertical ? yScaleVertical : yScaleHorizontal + + return ( + <> + + {/* Bar gradient (use barColor if provided) */} + + {!disableGradient && ( + + + + + )} + + + {/* Bin size overlay */} + {typeof extraDimensions.binSize === "number" && ( + + bin {format3Sig(extraDimensions.binSize)} + + )} + + {/* Grid lines */} + + {(isVertical ? xTicks : yTicks).map((tick) => ( + + ))} + + + {/* Histogram bars */} + + {chartData.map((d, idx) => { + const isHighlighted = idx === computedHighlightBinIndex + if (isVertical) { + const barLeft = + margin.left + xScaleVertical(d.edge as number) + const barRight = + margin.left + xScaleVertical(d.edge + binSize) + const barWidth = Math.abs(barRight - barLeft) + const barHeight = + plotHeight - yScaleVertical(d.value) + return ( + + + { + setHoveredBin(idx) + const svgRect = ( + e.target as SVGRectElement + ).ownerSVGElement?.getBoundingClientRect() + setMousePos({ + x: + e.clientX - + (svgRect?.left ?? 0), + y: + e.clientY - + (svgRect?.top ?? 0), + }) + }} + onMouseMove={(e) => { + const svgRect = ( + e.target as SVGRectElement + ).ownerSVGElement?.getBoundingClientRect() + setMousePos({ + x: + e.clientX - + (svgRect?.left ?? 0), + y: + e.clientY - + (svgRect?.top ?? 0), + }) + }} + onMouseLeave={() => { + setHoveredBin(null) + setMousePos(null) + }} + /> + + ) + } + + const barTop = + margin.top + yScaleHorizontal(d.edge + binSize) + const barBottom = + margin.top + yScaleHorizontal(d.edge as number) + const barHeight = Math.abs(barBottom - barTop) + const rawBarWidth = xScaleHorizontal(d.value) + const barWidth = Math.min(rawBarWidth, plotWidth) + return ( + + + { + setHoveredBin(idx) + const svgRect = ( + e.target as SVGRectElement + ).ownerSVGElement?.getBoundingClientRect() + setMousePos({ + x: e.clientX - (svgRect?.left ?? 0), + y: e.clientY - (svgRect?.top ?? 0), + }) + }} + onMouseMove={(e) => { + const svgRect = ( + e.target as SVGRectElement + ).ownerSVGElement?.getBoundingClientRect() + setMousePos({ + x: e.clientX - (svgRect?.left ?? 0), + y: e.clientY - (svgRect?.top ?? 0), + }) + }} + onMouseLeave={() => { + setHoveredBin(null) + setMousePos(null) + }} + /> + + ) + })} + + + {/* Reference lines */} + {typeof extraDimensions.mean === "number" && + (isVertical ? ( + + + + {`μ=${format3Sig(extraDimensions.mean)}`} + + + ) : ( + + + + {`μ=${format3Sig(extraDimensions.mean)}`} + + + ))} + + {typeof highlightValue === "number" && + highlightValue !== extraDimensions.mean && + (isVertical ? ( + + + + {format3Sig(highlightValue)} + + + {format3Sig(highlightValue)} + + + ) : ( + + + + {format3Sig(highlightValue)} + + + {format3Sig(highlightValue)} + + + ))} + + {/* Y-axis */} + + + + + {/* X/Y Axes */} + {/* + y-axis: categorical labels (formatted bin midpoints) + const yLabels = yTicks.map(format3Sig) + const yLabelScale = (idx: number) => ((yTicks.length - idx - 0.5) * (plotHeight / yTicks.length)) + */} + + isVertical + ? xScaleVertical(yTicks[idx]) + : xScaleHorizontal(xTicks[idx]) + } + yScale={isVertical ? yScaleVertical : yScaleHorizontal} + yLabels={isVertical ? undefined : yTicks.map(format3Sig)} + yLabelScale={ + isVertical + ? undefined + : (idx: number) => + (yTicks.length - idx - 0.5) * + (plotHeight / yTicks.length) + } + /> + + + {/* Tooltip outside SVG */} + {hoveredBin !== null && + chartData[hoveredBin] && + mousePos && + (() => { + const total = chartData.reduce((sum, d) => sum + d.value, 0) + const count = chartData[hoveredBin].value + const percent = total > 0 ? (count / total) * 100 : 0 + const isHighlighted = + hoveredBin === computedHighlightBinIndex + return ( +
    + {/* Caret */} +
    +
    + Range: + + {format3Sig( + chartData[hoveredBin].edge as number, + )} + – + {format3Sig( + chartData[hoveredBin].edge + binSize, + )} + + {isHighlighted && ( + + Highlighted + + )} +
    +
    + Count:{" "} + {count} + + ({percent.toFixed(1)}%) + +
    +
    + ) + })()} + + ) + }} + +
    + ) + }, +) + +export default ResponsiveMetricChart diff --git a/web/ee/src/components/HumanEvaluations/assets/MetricDetailsPopover/assets/chartUtils.ts b/web/ee/src/components/HumanEvaluations/assets/MetricDetailsPopover/assets/chartUtils.ts new file mode 100644 index 0000000000..de84ed5fbd --- /dev/null +++ b/web/ee/src/components/HumanEvaluations/assets/MetricDetailsPopover/assets/chartUtils.ts @@ -0,0 +1,11 @@ +// Shared chart utility functions for both histogram and frequency charts + +export function getYTicks(yMax: number, nTicks = 3): number[] { + // Returns evenly spaced ticks from 0 to yMax + if (yMax === 0) return [0] + const step = yMax / (nTicks - 1) + return Array.from( + {length: nTicks}, + (_, i) => Math.round((i * step + Number.EPSILON) * 1000) / 1000, + ) +} diff --git a/web/ee/src/components/HumanEvaluations/assets/MetricDetailsPopover/assets/utils.ts b/web/ee/src/components/HumanEvaluations/assets/MetricDetailsPopover/assets/utils.ts new file mode 100644 index 0000000000..f08ccb95ff --- /dev/null +++ b/web/ee/src/components/HumanEvaluations/assets/MetricDetailsPopover/assets/utils.ts @@ -0,0 +1,170 @@ +import {ChartDatum, MetricFormatter} from "../types" + +/** + * Transforms the input data into an array of ChartDatum objects for chart rendering. + * - If `extra.distribution` is an array of numbers, returns them as ChartDatum with indices as names. + * - If `extra.distribution` is an array of objects, filters and maps them to ChartDatum based on `count` or `value`. + * - If `extra.percentiles` is an object, converts its entries to ChartDatum. + * - If `extra.iqrs` is an object, converts its entries to ChartDatum. + * + * @param {Record} extra - The input data containing distribution, percentiles, or iqrs. + * @returns {ChartDatum[]} An array of ChartDatum objects for use in charts. + */ +export const buildChartData = (extra: Record): ChartDatum[] => { + // distribution could be array of objects or numbers + // 1️⃣ Numeric histogram or object counts ------------------------------------ + if (Array.isArray(extra.distribution)) { + let data: ChartDatum[] = [] + if (extra.distribution.every((d) => typeof d === "number")) { + // If binSize & min are provided, label bins as ranges e.g. "0–0.1" + if (typeof extra.binSize === "number" && typeof extra.min === "number") { + data = extra.distribution.map((v: number, idx: number) => { + const minNum = Number(extra.min) + const start = minNum + idx * extra.binSize + const end = start + extra.binSize + return { + name: `${format3Sig(start)}–${format3Sig(end)}`, + value: v, + edge: start, // Changed from end to start + } + }) + } else { + data = extra.distribution.map((v: number, idx: number) => ({ + name: String(idx), + value: v, + })) + } + } else if (extra.distribution.every((d) => typeof d === "object" && d != null)) { + if (extra.distribution.every((d: any) => typeof d.value === "number")) { + // If binSize & min are provided, label bins as ranges e.g. "0–0.1" + if (typeof extra.binSize === "number" && typeof extra.min === "number") { + data = extra.distribution.map((d: any, idx: number) => { + const minNum = Number(extra.min) + const start = minNum + idx * extra.binSize + const end = start + extra.binSize + + return { + name: `${format3Sig(start)}–${format3Sig(end)}`, + value: d.count ?? d.value ?? 0, + edge: start, + } + }) + } else { + data = extra.distribution.map((d: any) => ({ + name: String(d.value), + value: d.count ?? d.value ?? 0, + })) + } + } else { + data = extra.distribution + .filter((d: any) => (d.count ?? d.value ?? 0) > 0) + .map((d: any, idx: number) => ({ + name: + typeof d.value === "number" + ? Number(d.value).toPrecision(3) + : String(idx), + value: Number(d.count ?? d.value ?? 0), + })) + } + } + // If we only have a single point, add a zero baseline to avoid Recharts/decimal.js errors + if (data.length === 1) { + data = [{name: "", value: 0}, ...data] + } + return data + } + + // 2️⃣ Categorical metrics: use frequency (all labels) falling back to rank --- + const catArray = Array.isArray(extra.frequency) + ? extra.frequency + : Array.isArray(extra.rank) + ? extra.rank + : null + if (Array.isArray(catArray)) { + const sorted = [...catArray].sort((a: any, b: any) => (b.count ?? 0) - (a.count ?? 0)) + return sorted.map((d: any) => ({name: String(d.value), value: Number(d.count ?? 0)})) + } + + // 3️⃣ Percentiles / IQRs ---------------------------------------------------- + if (extra.percentiles && typeof extra.percentiles === "object") { + return Object.entries(extra.percentiles).map(([k, v]) => ({name: k, value: Number(v)})) + } + if (extra.iqrs && typeof extra.iqrs === "object") { + return Object.entries(extra.iqrs).map(([k, v]) => ({name: k, value: Number(v)})) + } + return [] +} + +/** + * Registry mapping metric keys (full string match or RegExp string) to a formatter. + * Extend this map according to your metric naming conventions. + */ +export const METRIC_FORMATTERS: Record = { + // currency-like costs + cost: {prefix: "$", decimals: 6}, + costs: {prefix: "$", decimals: 6}, + price: {prefix: "$", decimals: 4}, + totalCost: {prefix: "$", decimals: 4}, + "attributes.ag.metrics.costs.cumulative.total": {prefix: "$", decimals: 4}, + // latency + latency: {decimals: 2, suffix: "s", multiplier: 0.001}, + duration: {decimals: 2, suffix: "s", multiplier: 0.001}, + "duration.total": {decimals: 2, suffix: "s", multiplier: 0.001}, + "attributes.ag.metrics.duration.cumulative": {decimals: 2, suffix: "s", multiplier: 0.001}, + "attributes.ag.metrics.tokens.cumulative.total": {decimals: 0}, + "attributes.ag.metrics.errors.cumulative": {decimals: 0}, + + // percentages + accuracy: {suffix: "%", decimals: 2}, + recall: {suffix: "%", decimals: 2}, + precision: {suffix: "%", decimals: 2}, +} + +export const format3Sig = (num: number | string): string => { + if (typeof num !== "number") return String(num) + if (!Number.isFinite(num)) return String(num) + + const abs = Math.abs(num) + if (abs === 0) return "0" + + const exponent = Math.floor(Math.log10(abs)) + + // Use scientific notation if exponent >= 10 or <= -10 + if (exponent >= 10 || exponent <= -10) { + return num.toExponential(2) + } + + // Use fixed-point notation with 3 significant digits + const decimals = Math.max(0, 2 - exponent) + const fixed = num.toFixed(decimals) + + // Strip trailing zeros and possible trailing decimal point + return fixed.replace(/\.?0+$/, "") +} + +/** + * Format a metric value using the mapping above. + * Falls back to the raw value when the metric has no formatter or value is non-numeric. + */ +export function formatMetricValue(metricKey: string, value: number | string): string { + const fmt = METRIC_FORMATTERS[metricKey] || { + decimals: 2, + } + + if (Array.isArray(value)) { + return value.map((v) => { + return formatMetricValue(metricKey, v) + }) + } + if (!fmt) return String(value) + + if (fmt.format) { + return fmt.format(value) + } + + let num = typeof value === "number" ? value : Number(value) + num = fmt.multiplier ? num * fmt.multiplier : num + const rounded = + Number.isFinite(num) && fmt.decimals !== undefined ? format3Sig(num) : format3Sig(value) + return `${fmt.prefix ?? ""}${rounded}${fmt.suffix ?? ""}` +} diff --git a/web/ee/src/components/HumanEvaluations/assets/MetricDetailsPopover/index.tsx b/web/ee/src/components/HumanEvaluations/assets/MetricDetailsPopover/index.tsx new file mode 100644 index 0000000000..5a7c03a731 --- /dev/null +++ b/web/ee/src/components/HumanEvaluations/assets/MetricDetailsPopover/index.tsx @@ -0,0 +1,387 @@ +import {memo, useCallback, useMemo, useState, type FC} from "react" + +import {Popover, Tag, Space} from "antd" +import clsx from "clsx" +import {useAtomValue} from "jotai" + +import {Expandable} from "@/oss/components/Tables/ExpandableCell" +import { + evalAtomStore, + runMetricsStatsCacheFamily, +} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms" +import {EvaluatorDto} from "@/oss/lib/hooks/useEvaluators/types" +import {extractPrimitive, inferMetricType} from "@/oss/lib/metricUtils" + +import ResponsiveFrequencyChart from "./assets/ResponsiveFrequencyChart" +import ResponsiveMetricChart from "./assets/ResponsiveMetricChart" +import {buildChartData, format3Sig, formatMetricValue} from "./assets/utils" +import {MetricDetailsPopoverProps} from "./types" + +/** + * MetricDetailsPopover is a React functional component that provides a detailed view + * of metric information within a popover. It displays both a tabular representation + * of primitive metric entries and a chart visualization based on the provided metric + * data. The component determines the appropriate chart type dynamically and supports + * categorical and continuous data representations. + * + * Props: + * - metricKey: The key associated with the metric being displayed. + * - extraDimensions: Additional dimensions or metadata for the metric. + * - highlightValue: Optional value for highlighting in the chart. + * - hidePrimitiveTable: Boolean flag to toggle the visibility of the primitive table. + * - children: ReactNode elements to be rendered inside the popover trigger. + */ +const MetricDetailsPopover: FC = memo( + ({ + metricKey, + metricType, + extraDimensions, + highlightValue, + hidePrimitiveTable, + children, + className, + }) => { + const [open, setOpen] = useState(false) + const handleOpenChange = useCallback((v: boolean) => setOpen(v), []) + + const extraEntries = useMemo(() => Object.entries(extraDimensions), [extraDimensions]) + + const chartData = useMemo( + () => (open ? buildChartData(extraDimensions) : []), + [open, extraDimensions], + ) + + // Dynamically compute the pixel width required for Y-axis labels + const labelWidth = useMemo(() => { + if (!chartData.length) return 0 + const canvas = document.createElement("canvas") + const ctx = canvas.getContext("2d") + if (!ctx) return 0 + ctx.font = "10px Inter, sans-serif" // must match tick font + const max = Math.max(...chartData.map((d) => ctx.measureText(String(d.name)).width)) + return Math.ceil(max) + 8 // + padding + }, [chartData]) + + const primitiveEntries = useMemo(() => { + if (!open || hidePrimitiveTable) return [] + // const order = ["mean", "std", "min", "max", "count", "total", "binSize"] + const order = ["mean", "std", "min", "max", "count", "sum", "binSize", "unique", "rank"] + const allowed = new Set(order) + const _primitiveEntries = extraEntries + .filter(([k]) => allowed.has(k as string)) + .sort(([a], [b]) => { + const ia = order.indexOf(a as string) + const ib = order.indexOf(b as string) + const sa = ia === -1 ? Number.POSITIVE_INFINITY : ia + const sb = ib === -1 ? Number.POSITIVE_INFINITY : ib + + return sa - sb || (a as string).localeCompare(b as string) + }) + return _primitiveEntries + }, [open, hidePrimitiveTable, extraEntries]) + + const tableNode = useMemo(() => { + if (!primitiveEntries.length) return null + + return ( +
    + + {primitiveEntries.map(([k, v]) => ( + + + + + ))} + +
    {k} + {(() => { + if (Array.isArray(v)) { + const limit = 5 + if (k === "unique") { + const items = (v as any[]).slice(0, limit) + return ( +
    + {items.map((itm, idx) => ( + + {String(itm)} + + ))} + {v.length > limit && ( + + … + + )} +
    + ) + } + if ((k === "rank" || k === "frequency") && v.length) { + const items = (v as any[]).slice(0, limit) + return ( +
    + {items.map((o: any, idx) => ( + {`${o.value} (${o.count})`} + ))} + {v.length > limit && ( + + … + + )} +
    + ) + } + } + return formatMetricValue(metricKey, v as any) + })()} +
    + ) + }, [primitiveEntries, metricKey]) + + // Chart type logic + const isCategoricalChart = + Array.isArray(extraDimensions.distribution) || + Array.isArray(extraDimensions.rank) || + Array.isArray(extraDimensions.frequency) + const hasEdge = + chartData.length > 0 && Object.prototype.hasOwnProperty.call(chartData[0], "edge") + + const frequencyData = useMemo(() => { + // Only build for categorical/frequency charts without edge + if (isCategoricalChart && !hasEdge) { + // buildChartData returns [{ name, value }] but ResponsiveFrequencyChart expects [{ label, count }] + return buildChartData(extraDimensions).map((d) => ({ + label: d.name, + count: d.value, + })) + } + return [] + }, [extraDimensions, isCategoricalChart, hasEdge]) + + const chartNode = useMemo(() => { + if (!open) return null + // Histogram (hasEdge): use ResponsiveMetricChart + if (chartData.length > 0 && isCategoricalChart && hasEdge) { + return ( + + ) + } + // Frequency/categorical: use ResponsiveFrequencyChart + if (frequencyData.length > 0 && isCategoricalChart && !hasEdge) { + return ( + + ) + } + // No valid chart type available + return null + }, [chartData, isCategoricalChart, hasEdge, labelWidth, highlightValue, extraDimensions]) + + const content = useMemo( + () => ( +
    + {tableNode} + {chartNode} +
    + ), + [tableNode, chartNode], + ) + if (!extraEntries.length || metricType === "string") { + return <>{children} + } + + return ( +
    + + {children} + +
    + ) + }, +) + +MetricDetailsPopover.displayName = "MetricDetailsPopover" + +/** + * A wrapper component around MetricDetailsPopover that: + * - fetches run metrics using useEvaluationRunMetrics + * - computes a summary of the metric + * - passes the extra dimensions to the MetricDetailsPopover + * - conditionally renders the MetricDetailsPopover if the metric is not null + * + * @param scenarioId - the scenario ID + * @param runId - the run ID + * @param evaluatorSlug - the evaluator slug + * @param evaluatorMetricKey - the metric key + * @param hidePrimitiveTable - whether to hide the primitive table + * @param metricType - the type of the metric (optional) + */ +export const MetricDetailsPopoverWrapper = memo( + ({ + scenarioId, + runId, + evaluatorSlug, + evaluatorMetricKey, + hidePrimitiveTable = false, + metricType, + className, + statsOverride, + debug, + evaluator, + }: { + scenarioId?: string | null + runId: string + evaluatorSlug: string + evaluatorMetricKey: string + hidePrimitiveTable?: boolean + metricType?: string + evaluator?: EvaluatorDto + className?: string + statsOverride?: Record + debug?: boolean + }) => { + const metricKey = useMemo( + () => `${evaluatorSlug}.${evaluatorMetricKey}`, + [evaluatorSlug, evaluatorMetricKey], + ) + + const store = evalAtomStore() + + // Use run-scoped stats cache instead of global cache + const runStatsCache = useAtomValue(runMetricsStatsCacheFamily(runId), {store}) + const stats = statsOverride ?? runStatsCache?.[metricKey] + + const rawPrimitive = useMemo(() => extractPrimitive(stats), [stats]) + + const explicitTypeFromEvaluator = useMemo(() => { + return ( + evaluator?.metrics?.[evaluatorMetricKey]?.type || + evaluator?.metrics?.[evaluatorMetricKey]?.anyOf + ) + // as SchemaMetricType | undefined + }, [evaluator, evaluatorMetricKey]) + const resolvedMetricType = useMemo( + () => explicitTypeFromEvaluator ?? inferMetricType(rawPrimitive, metricType), + [explicitTypeFromEvaluator, rawPrimitive, metricType], + ) + + const summary = useMemo(() => { + if (!stats) return "N/A" + // Numeric metrics → mean + if (typeof (stats as any).mean === "number") { + return format3Sig(Number((stats as any).mean)) + } + // Boolean metrics → proportion of `true` + if (resolvedMetricType === "boolean" && Array.isArray((stats as any).frequency)) { + const trueEntry = (stats as any).frequency.find((f: any) => f.value === true) + const total = (stats as any).count ?? 0 + if (total) { + return ( +
    +
    +
    +
    + true + false +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + {(((trueEntry?.count ?? 0) / total) * 100).toFixed(2)}% +
    +
    + ) + } + } + // Array metrics → show top 3 items + if (resolvedMetricType === "array" || resolvedMetricType === undefined) { + const items = + Array.isArray((stats as any).rank) && (stats as any).rank.length + ? (stats as any).rank + : Array.isArray((stats as any).unique) + ? (stats as any).unique.map((v: any) => ({value: v, count: undefined})) + : [] + const topItems = items.slice(0, 3) + return ( + + {topItems.map((it: any) => ( + + {String(it.value)} + {it.count !== undefined ? ` (${it.count})` : ""} + + ))} + + ) + } + // Categorical metrics → top rank + if (Array.isArray((stats as any).rank) && (stats as any).rank.length) { + const top = (stats as any).rank[0] + return `${top.value} (${top.count})` + } + if (Array.isArray((stats as any).unique) && (stats as any).unique.length) { + return `${(stats as any).unique.length} unique` + } + if (typeof (stats as any).count === "number") { + return (stats as any).count + } + return "–" + }, [stats, resolvedMetricType]) + + return stats ? ( + + {summary} + + ) : ( + "N/A" + ) + }, +) + +export default MetricDetailsPopover diff --git a/web/ee/src/components/HumanEvaluations/assets/MetricDetailsPopover/types.ts b/web/ee/src/components/HumanEvaluations/assets/MetricDetailsPopover/types.ts new file mode 100644 index 0000000000..1d06b45a69 --- /dev/null +++ b/web/ee/src/components/HumanEvaluations/assets/MetricDetailsPopover/types.ts @@ -0,0 +1,36 @@ +import type {ReactNode} from "react" + +export interface MetricDetailsPopoverProps { + metricKey: string + primaryLabel?: string + primaryValue?: number | string + extraDimensions: Record + /** Value to highlight (bin/bar will be inferred from this value) */ + highlightValue?: number | string + /** Hide primitives key‒value table; useful for lightweight popovers */ + hidePrimitiveTable?: boolean + /** Force using edge-axis (for debugging) */ + hasEdge?: boolean + className?: string + children: ReactNode +} + +// helper to transform objects to chart data +export interface ChartDatum { + name: string | number + value: number + edge?: number +} + +export interface MetricFormatter { + /** String to prepend before the numeric value, e.g. "$" */ + prefix?: string + /** String to append after the numeric value, e.g. "%" */ + suffix?: string + /** Number of decimal places to round to. If undefined, value is not rounded */ + decimals?: number + /** Multiplier to apply before formatting */ + multiplier?: number + /** Optional custom formatter receives numeric value and returns formatted string */ + format?: (value: number | string) => string +} diff --git a/web/ee/src/components/HumanEvaluations/assets/SingleModelEvaluationHeader/index.tsx b/web/ee/src/components/HumanEvaluations/assets/SingleModelEvaluationHeader/index.tsx new file mode 100644 index 0000000000..9e33f2450b --- /dev/null +++ b/web/ee/src/components/HumanEvaluations/assets/SingleModelEvaluationHeader/index.tsx @@ -0,0 +1,328 @@ +import {useCallback, useEffect, useMemo, useState, memo} from "react" + +import {Export, Plus, Trash} from "@phosphor-icons/react" +import {Button, message, Space, Typography} from "antd" +import clsx from "clsx" +import dynamic from "next/dynamic" +import Link from "next/link" +import {useSWRConfig} from "swr" + +import {statusMapper} from "@/oss/components/pages/evaluations/cellRenderers/cellRenderers" +import useURL from "@/oss/hooks/useURL" +import {EvaluationType} from "@/oss/lib/enums" +import {calculateAvgScore} from "@/oss/lib/helpers/evaluate" +import {convertToCsv, downloadCsv} from "@/oss/lib/helpers/fileManipulations" +import {getEvaluationRunScenariosKey} from "@/oss/lib/hooks/useEvaluationRunScenarios" +import useEvaluations from "@/oss/lib/hooks/useEvaluations" +import {summarizeMetric} from "@/oss/lib/metricUtils" +import {EvaluationStatus} from "@/oss/lib/Types" +import {getAppValues} from "@/oss/state/app" + +import {SingleModelEvaluationHeaderProps} from "../../types" +import {EvaluationRow} from "../../types" +import {useStyles} from "../styles" +import {extractEvaluationStatus, getMetricSummaryValue} from "../utils" + +const NewEvaluationModal = dynamic(() => import("../../../pages/evaluations/NewEvaluation"), { + ssr: false, +}) +const DeleteEvaluationModal = dynamic( + () => import("@/oss/components/DeleteEvaluationModal/DeleteEvaluationModal"), + {ssr: false}, +) + +const SingleModelEvaluationHeader = ({ + viewType, + selectedRowKeys, + mergedEvaluations, + runMetricsMap, + setSelectedRowKeys, + isDeleteEvalModalOpen, + setIsDeleteEvalModalOpen, + selectedEvalRecord, + setSelectedEvalRecord, + scope, + projectURL, + activeAppId, + extractAppId, +}: SingleModelEvaluationHeaderProps) => { + const classes = useStyles() + const {appURL} = useURL() + const {cache} = useSWRConfig() + const {refetch, handleDeleteEvaluations: deleteEvaluations} = useEvaluations({ + withPreview: true, + types: [EvaluationType.single_model_test], + appId: activeAppId, + }) + + const [isEvalModalOpen, setIsEvalModalOpen] = useState(false) + const [isDeletingEvaluations, setIsDeletingEvaluations] = useState(false) + const [isScrolled, setIsScrolled] = useState(false) + + useEffect(() => { + if (viewType === "overview") return + + const handleScroll = () => { + setIsScrolled(window.scrollY > 180) + } + + window.addEventListener("scroll", handleScroll) + + return () => { + window.removeEventListener("scroll", handleScroll) + } + }, [viewType]) + + const selectedEvaluations = useMemo(() => { + return selectedEvalRecord + ? (() => { + const found = mergedEvaluations.find( + (e) => ("id" in e ? e.id : e.key) === selectedEvalRecord?.id, + ) + return found && "name" in found ? found.name : (found?.key ?? "") + })() + : mergedEvaluations + .filter((e) => selectedRowKeys.includes("id" in e ? e.id : e.key)) + .map((e) => ("name" in e ? e.name : e.key)) + .join(" | ") + }, [selectedEvalRecord, selectedRowKeys]) + + const handleDelete = useCallback( + async (ids: string[]) => { + setIsDeletingEvaluations(true) + try { + await deleteEvaluations(ids) + message.success( + ids.length > 1 ? `${ids.length} Evaluations Deleted` : "Evaluation Deleted", + ) + } catch (err) { + message.error("Failed to delete evaluations") + console.error(err) + } finally { + setIsDeletingEvaluations(false) + setIsDeleteEvalModalOpen(false) + setSelectedRowKeys([]) + } + }, + [deleteEvaluations], + ) + + const runStatus = useCallback( + (runId: string, status: EvaluationStatus, isLegacyEval: boolean) => { + if (isLegacyEval) { + const statusLabel = statusMapper({} as any)(status as EvaluationStatus) + .label as EvaluationStatus + return statusLabel + } + + const key = `${getEvaluationRunScenariosKey(runId)}-false` + const cachedData = cache.get(key) + const scenarios = cachedData?.data?.scenarios + + const {runStatus: _status} = extractEvaluationStatus(scenarios, status) + return _status == "success" ? "completed" : _status + }, + [cache], + ) + + const onExport = useCallback(() => { + const exportEvals = mergedEvaluations.filter((e) => + selectedRowKeys.some((selected) => selected === ("id" in e ? e.id : e.key)), + ) + + try { + if (exportEvals.length) { + const {currentApp} = getAppValues() + const filenameBase = + currentApp?.app_name || + (scope === "project" ? "all_applications" : "evaluations") + const filename = `${filenameBase.replace(/\s+/g, "_")}_human_annotation.csv` + + const rows = exportEvals.map((item) => { + const id = "id" in item ? item.id : item.key + const metrics = runMetricsMap?.[id] + const applicationName = (item as any)?.variants?.[0]?.appName || "-" + const applicationId = extractAppId(item as EvaluationRow) || "-" + + // Note: all the 'in' conditions here are for legacy eval + const row: Record = { + Name: "name" in item ? item.name : item.key, + Variant: `${item.variants?.[0]?.variantName} v${"revisions" in item ? item.revisions?.[0] : item.variants?.[0]?.revision}`, + "Test set": + "testset" in item + ? item.testset.name + : (item.testsets?.[0]?.name ?? ""), + Status: + runStatus(id, item.status, item.status.includes("EVALUATION")) || "", + // legacy eval + ...("resultsData" in item + ? {"Average score": `${calculateAvgScore(item) || 0}%`} + : {}), + ...((item as any).createdBy?.user?.username + ? {"Created by": (item as any).createdBy?.user?.username} + : {}), + "Created on": item.createdAt, + } + + if (scope === "project") { + row.Application = applicationName + row["Application ID"] = applicationId + } + + // Track metric keys consumed by evaluator loop so we don't duplicate + const consumedKeys = new Set() + + if ("evaluators" in item && Array.isArray(item.evaluators)) { + item.evaluators.forEach((ev: any) => { + const metricDefs = + ev.data?.service?.format?.properties?.outputs?.properties || {} + Object.entries(metricDefs).forEach( + ([metricKey, def]: [string, any]) => { + const fullKey = `${ev.slug}.${metricKey}` + consumedKeys.add(fullKey) + const stat = metrics?.[fullKey] + const value = summarizeMetric(stat, def?.type) + row[`${ev.name} ${metricKey}`] = + value !== undefined && value !== null ? value : "N/A" + }, + ) + }) + } + + if (metrics) { + Object.entries(metrics).forEach(([metricKey, stat]) => { + if (consumedKeys.has(metricKey)) return + const value = summarizeMetric(stat as any) + row[metricKey] = value !== undefined && value !== null ? value : "N/A" + }) + } + + return row + }) + + const headerSet = new Set() + rows.forEach((r) => Object.keys(r).forEach((h) => headerSet.add(h))) + const headers = Array.from(headerSet) + + const csvData = convertToCsv(rows, headers) + downloadCsv(csvData, filename) + setSelectedRowKeys([]) + } + } catch (error) { + message.error("Failed to export results. Please try again later") + } + }, [mergedEvaluations, selectedRowKeys, runMetricsMap, scope, extractAppId]) + + return ( + <> + {viewType === "overview" ? ( +
    + + Human Annotation + + {(() => { + const href = + scope === "app" + ? appURL + ? `${appURL}/evaluations?selectedEvaluation=human_annotation` + : undefined + : `${projectURL}/evaluations?selectedEvaluation=human_annotation` + + if (!href) return null + + return ( + + ) + })()} + + + {(scope === "app" && activeAppId) || scope === "project" ? ( + + ) : null} +
    + ) : ( +
    + {(scope === "app" && activeAppId) || scope === "project" ? ( + + ) : null} + + + + + +
    + )} + + {((scope === "app" && activeAppId) || scope === "project") && ( + { + setIsEvalModalOpen(false) + }} + onSuccess={() => { + setIsEvalModalOpen(false) + refetch() + }} + preview={true} + evaluationType={"human"} + /> + )} + + { + setIsDeleteEvalModalOpen(false) + setSelectedEvalRecord(undefined) + }} + onOk={async () => { + const idsToDelete = selectedEvalRecord + ? [selectedEvalRecord.id] + : selectedRowKeys.map((key) => key?.toString()) + await handleDelete(idsToDelete.filter(Boolean)) + }} + evaluationType={selectedEvaluations} + isMultiple={!selectedEvalRecord && selectedRowKeys.length > 0} + /> + + ) +} + +export default memo(SingleModelEvaluationHeader) diff --git a/web/ee/src/components/HumanEvaluations/assets/TableDropdownMenu/index.tsx b/web/ee/src/components/HumanEvaluations/assets/TableDropdownMenu/index.tsx new file mode 100644 index 0000000000..c7210088fe --- /dev/null +++ b/web/ee/src/components/HumanEvaluations/assets/TableDropdownMenu/index.tsx @@ -0,0 +1,138 @@ +import {memo, useMemo} from "react" + +import {MoreOutlined} from "@ant-design/icons" +import {Database, Note, Rocket, Trash} from "@phosphor-icons/react" +import {Dropdown, Button, MenuProps} from "antd" +import {useRouter} from "next/router" + +import {EvaluationStatus} from "@/oss/lib/Types" +import { + buildAppScopedUrl, + buildEvaluationNavigationUrl, + extractPrimaryInvocation, +} from "../../../pages/evaluations/utils" + +import {TableDropdownMenuProps} from "./types" + +const TableDropdownMenu = ({ + record, + evalType, + setSelectedEvalRecord, + setIsDeleteEvalModalOpen, + onVariantNavigation, + baseAppURL, + extractAppId, + scope, + projectURL, + resolveAppId, +}: TableDropdownMenuProps) => { + const router = useRouter() + const primaryInvocation = extractPrimaryInvocation(record) + const resolvedAppId = resolveAppId ? resolveAppId(record) : undefined + const targetAppId = resolvedAppId || primaryInvocation?.appId || extractAppId(record) + const variantId = primaryInvocation?.revisionId || record.variants?.[0]?.id + + const items: MenuProps["items"] = useMemo( + () => [ + { + key: "details", + label: "Open details", + icon: , + disabled: + [ + EvaluationStatus.PENDING, + EvaluationStatus.RUNNING, + EvaluationStatus.CANCELLED, + EvaluationStatus.INITIALIZED, + ].includes(record.status) || !targetAppId, + onClick: (e) => { + e.domEvent.stopPropagation() + if ( + evalType === "auto" && + ![ + EvaluationStatus.PENDING, + EvaluationStatus.RUNNING, + EvaluationStatus.CANCELLED, + EvaluationStatus.INITIALIZED, + ].includes(record.status) && + targetAppId + ) { + const evaluationId = "id" in record ? record.id : record.key + const suffix = + evalType === "auto" + ? `/evaluations/results/${evaluationId}` + : `/evaluations/single_model_test/${evaluationId}` + const pathname = buildEvaluationNavigationUrl({ + scope, + baseAppURL, + projectURL, + appId: targetAppId, + path: suffix, + }) + + if (scope === "project") { + router.push({ + pathname, + query: targetAppId ? {app_id: targetAppId} : undefined, + }) + } else { + router.push(pathname) + } + } + }, + }, + { + key: "variant", + label: "View variant", + icon: , + disabled: !variantId || !targetAppId, + onClick: (e) => { + e.domEvent.stopPropagation() + if (!variantId) return + onVariantNavigation({revisionId: variantId, appId: targetAppId || undefined}) + }, + }, + { + key: "view_testset", + label: "View test set", + icon: , + onClick: (e) => { + e.domEvent.stopPropagation() + router.push(`${projectURL}/testsets/${record.testsets?.[0]?.id}`) + }, + }, + {type: "divider"}, + { + key: "delete_eval", + label: "Delete", + icon: , + danger: true, + onClick: (e) => { + e.domEvent.stopPropagation() + setSelectedEvalRecord(record) + setIsDeleteEvalModalOpen(true) + }, + }, + ], + [ + setSelectedEvalRecord, + setIsDeleteEvalModalOpen, + record, + onVariantNavigation, + evalType, + targetAppId, + baseAppURL, + variantId, + projectURL, + primaryInvocation, + scope, + ], + ) + return ( + + + + ), + }, + { + content: ( +
    +
    +
    + 2/2 + What brings you here? +
    + +
    + + + + {( + survey?.questions[3] as MultipleSurveyQuestion + )?.choices?.map((role: string) => ( + + {role} + + ))} + + + + + + + + {( + survey?.questions[4] as MultipleSurveyQuestion + )?.choices?.map((choice: string) => ( + + {choice} + + ))} + + + + + {selectedHearAboutUsOption == "Other" && ( + + + + )} +
    +
    + + +
    + ), + }, + ] + }, [ + classes.container, + classes.formItem, + classes.mainContainer, + form, + formData?.companySize, + formData?.hearAboutUs, + formData?.userExperience, + formData?.userInterests?.length, + formData?.userRole, + handleStepOneFormData, + handleSubmitFormData, + selectedHearAboutUsOption, + survey?.questions, + ]) + + const showSurveyForm = Boolean(survey?.questions?.length) + const isSurveyLoading = loading && !error + + return ( + <> +
    + agenta-ai + + +
    + + + {showSurveyForm ? steps[currentStep]?.content : null} + + + ) +} + +export default PostSignupForm diff --git a/web/ee/src/components/PostSignupForm/assets/styles.ts b/web/ee/src/components/PostSignupForm/assets/styles.ts new file mode 100644 index 0000000000..6a13fc6acb --- /dev/null +++ b/web/ee/src/components/PostSignupForm/assets/styles.ts @@ -0,0 +1,32 @@ +import {createUseStyles} from "react-jss" + +import {JSSTheme} from "@/oss/lib/Types" + +export const useStyles = createUseStyles((theme: JSSTheme) => ({ + mainContainer: { + width: 400, + marginInline: "auto", + height: "82vh", + display: "flex", + flexDirection: "column", + justifyContent: "space-between", + }, + container: { + padding: theme.paddingLG, + display: "grid", + gap: 32, + borderRadius: theme.borderRadiusLG, + boxShadow: + "0px 9px 28px 8px #0000000D, 0px 3px 6px -4px #0000001F, 0px 6px 16px 0px #00000014", + border: "1px solid", + borderColor: theme.colorBorder, + }, + formItem: { + gap: 8, + "& > .ant-form-item-row": { + "& > .ant-form-item-label": { + fontWeight: theme.fontWeightMedium, + }, + }, + }, +})) diff --git a/web/ee/src/components/PostSignupForm/assets/types.d.ts b/web/ee/src/components/PostSignupForm/assets/types.d.ts new file mode 100644 index 0000000000..3313e82c02 --- /dev/null +++ b/web/ee/src/components/PostSignupForm/assets/types.d.ts @@ -0,0 +1,8 @@ +export interface FormDataType { + companySize?: string + userRole?: string + userExperience?: string + userInterests?: string[] + hearAboutUs?: string + hearAboutUsInputOption: string +} diff --git a/web/ee/src/components/PromptVersioningDrawer/PromptVersioningDrawer.tsx b/web/ee/src/components/PromptVersioningDrawer/PromptVersioningDrawer.tsx new file mode 100644 index 0000000000..12530e2b99 --- /dev/null +++ b/web/ee/src/components/PromptVersioningDrawer/PromptVersioningDrawer.tsx @@ -0,0 +1,152 @@ +import {Button, Divider, Drawer, Empty, Space, Typography} from "antd" +import dayjs from "dayjs" +import duration from "dayjs/plugin/duration" +import relativeTime from "dayjs/plugin/relativeTime" +import {createUseStyles} from "react-jss" + +import {useAppTheme} from "@/oss/components/Layout/ThemeContextProvider" +import ResultComponent from "@/oss/components/ResultComponent/ResultComponent" +import {IPromptRevisions} from "@/oss/lib/Types" +dayjs.extend(relativeTime) +dayjs.extend(duration) + +const {Text} = Typography + +interface StyleProps { + themeMode: "dark" | "light" +} + +interface PromptVersioningDrawerProps { + historyStatus: { + loading: boolean + error: boolean + } + setIsDrawerOpen: React.Dispatch> + isDrawerOpen: boolean + onStateChange: (isDirty: boolean) => void + setRevisionNum: (val: string) => void + promptRevisions: IPromptRevisions[] | undefined +} + +const useStyles = createUseStyles({ + historyContainer: ({themeMode}: StyleProps) => ({ + display: "flex", + flexDirection: "column", + padding: "10px 20px 20px", + margin: "20px 0", + borderRadius: 10, + backgroundColor: themeMode === "dark" ? "#1f1f1f" : "#fff", + color: themeMode === "dark" ? "#fff" : "#000", + borderColor: themeMode === "dark" ? "#333" : "#eceff1", + border: "1px solid", + boxShadow: `0px 4px 8px ${ + themeMode === "dark" ? "rgba(255, 255, 255, 0.1)" : "rgba(0, 0, 0, 0.1)" + }`, + }), + tagText: { + color: "#656d76", + fontSize: 12, + }, + revisionText: { + fontWeight: "bold", + }, + emptyContainer: { + marginTop: "4rem", + }, + divider: { + margin: "15px 0", + }, +}) + +const PromptVersioningDrawer: React.FC = ({ + historyStatus, + setIsDrawerOpen, + isDrawerOpen, + onStateChange, + setRevisionNum, + promptRevisions, +}) => { + const {appTheme} = useAppTheme() + const classes = useStyles({themeMode: appTheme} as StyleProps) + return ( + setIsDrawerOpen(false)} + > + {historyStatus.loading ? ( +
    + +
    + ) : historyStatus.error ? ( +
    + +
    + ) : ( + <> + {promptRevisions?.length ? ( + promptRevisions + ?.map((item: IPromptRevisions) => ( +
    +
    + + {`# ${item.revision}`} + + + + {dayjs(item.created_at).fromNow()} + +
    + + + + + +
    + Config Name: + {item.config.config_name} +
    +
    + Modified By: + {item.modified_by} +
    +
    + +
    +
    + )) + .reverse() + ) : ( + + )} + + )} +
    + ) +} + +export default PromptVersioningDrawer diff --git a/web/ee/src/components/SaveTestsetModal/SaveTestsetModal.tsx b/web/ee/src/components/SaveTestsetModal/SaveTestsetModal.tsx new file mode 100644 index 0000000000..6cba0bc8fe --- /dev/null +++ b/web/ee/src/components/SaveTestsetModal/SaveTestsetModal.tsx @@ -0,0 +1,86 @@ +import {useCallback, useState} from "react" + +import EnhancedModal from "@agenta/oss/src/components/EnhancedUIs/Modal" +import {Input, message} from "antd" + +import useFocusInput from "@/oss/hooks/useFocusInput" +import {createNewTestset} from "@/oss/services/testsets/api" + +import {SaveTestsetModalProps} from "./types" + +const SaveTestsetModal: React.FC = ({ + evaluation, + rows, + onSuccess, + ...props +}) => { + const [submitLoading, setSubmitLoading] = useState(false) + const [testsetName, setTestsetName] = useState("") + const {inputRef} = useFocusInput({isOpen: props.open as boolean}) + + const onClose = useCallback(() => { + setTestsetName("") + setSubmitLoading(false) + props.onCancel?.({} as any) + }, [props]) + + const handleSave = useCallback(() => { + try { + setSubmitLoading(true) + + const newRows = rows.map((row, index) => { + if (evaluation.testset.testsetChatColumn) { + return { + chat: evaluation.testset.csvdata[index].chat, + correct_answer: row.correctAnswer, + annotation: row.note, + } + } + return { + [row.inputs[0].input_name]: row.inputs[0].input_value, + correct_answer: row.correctAnswer, + annotation: row.note, + } + }) + + createNewTestset(testsetName, newRows) + .then(() => onSuccess?.(testsetName)) + .catch(console.error) + .finally(() => { + setSubmitLoading(false) + }) + } catch (error) { + console.error("Error creating testset:", error) + message.error("Failed to create testset. Please try again!") + } finally { + setSubmitLoading(false) + } + }, [rows, evaluation, testsetName, onSuccess]) + + return ( + { + if (open) { + inputRef.current?.input?.focus() + } + }} + {...props} + > + setTestsetName(e.target.value)} + value={testsetName} + className="my-3" + /> + + ) +} + +export default SaveTestsetModal diff --git a/web/ee/src/components/SaveTestsetModal/types.d.ts b/web/ee/src/components/SaveTestsetModal/types.d.ts new file mode 100644 index 0000000000..83a6a6bcf0 --- /dev/null +++ b/web/ee/src/components/SaveTestsetModal/types.d.ts @@ -0,0 +1,13 @@ +import {ModalProps} from "antd" + +import {Evaluation, EvaluationFlow, EvaluationScenario} from "@/oss/lib/Types" + +export interface EvaluationRow extends EvaluationScenario, Record { + evaluationFlow: EvaluationFlow +} + +export interface SaveTestsetModalProps extends ModalProps { + evaluation: Evaluation + rows: EvaluationRow[] + onSuccess: (testsetName: string) => void +} diff --git a/web/ee/src/components/Scripts/assets/CloudScripts.tsx b/web/ee/src/components/Scripts/assets/CloudScripts.tsx new file mode 100644 index 0000000000..b4cb916c02 --- /dev/null +++ b/web/ee/src/components/Scripts/assets/CloudScripts.tsx @@ -0,0 +1,47 @@ +import {useEffect} from "react" + +import {Crisp} from "crisp-sdk-web" +import Head from "next/head" +import Script from "next/script" + +import {getEnv} from "@/oss/lib/helpers/dynamicEnv" + +const CloudScripts = () => { + useEffect(() => { + const isCrispEnabled = !!getEnv("NEXT_PUBLIC_CRISP_WEBSITE_ID") + + if (!isCrispEnabled) { + return + } + + Crisp.configure(getEnv("NEXT_PUBLIC_CRISP_WEBSITE_ID")) + }, []) + + return ( + <> + + Agenta: The LLMOps platform. + + + +
    + +
    + + ) +} + +export default CloudScripts diff --git a/web/ee/src/components/SidePanel/Subscription.tsx b/web/ee/src/components/SidePanel/Subscription.tsx new file mode 100644 index 0000000000..c05efdca56 --- /dev/null +++ b/web/ee/src/components/SidePanel/Subscription.tsx @@ -0,0 +1,29 @@ +import {useMemo} from "react" + +import FreePlanBanner from "@/oss/components/Banners/BillingPlanBanner/FreePlanBanner" +import FreeTrialBanner from "@/oss/components/Banners/BillingPlanBanner/FreeTrialBanner" +import {isDemo} from "@/oss/lib/helpers/utils" +import {Plan} from "@/oss/lib/Types" +import {useSubscriptionData} from "@/oss/services/billing" + +const SidePanelSubscription = () => { + const {subscription} = useSubscriptionData() + + const isShowFreePlanBannerVisible = useMemo( + () => isDemo() && !subscription?.free_trial && subscription?.plan === Plan.Hobby, + [subscription], + ) + const isShowFreeTrialBannerVisible = useMemo( + () => isDemo() && subscription?.free_trial, + [subscription], + ) + + return ( +
    + {isShowFreePlanBannerVisible ? : null} + {isShowFreeTrialBannerVisible ? : null} +
    + ) +} + +export default SidePanelSubscription diff --git a/web/ee/src/components/pages/app-management/components/ApiKeyInput.tsx b/web/ee/src/components/pages/app-management/components/ApiKeyInput.tsx new file mode 100644 index 0000000000..ad44cdb4ea --- /dev/null +++ b/web/ee/src/components/pages/app-management/components/ApiKeyInput.tsx @@ -0,0 +1,61 @@ +import {useMemo, useState} from "react" + +import {Button, Input, Space, Typography, message} from "antd" + +import {isDemo} from "@/oss/lib/helpers/utils" +import {createApiKey} from "@/oss/services/apiKeys/api" +import {useOrgData} from "@/oss/state/org" + +const {Text} = Typography + +interface ApiKeyInputProps { + apiKeyValue: string + onApiKeyChange: React.Dispatch> +} + +const ApiKeyInput: React.FC = ({apiKeyValue, onApiKeyChange}) => { + const [isLoadingApiKey, setIsLoadingApiKey] = useState(false) + const {selectedOrg} = useOrgData() + + const workspaceId: string = useMemo( + () => selectedOrg?.default_workspace.id || "", + [selectedOrg], + ) + + const handleGenerateApiKey = async () => { + try { + setIsLoadingApiKey(true) + + if (workspaceId && isDemo()) { + const {data} = await createApiKey(workspaceId) + onApiKeyChange(data) + message.success("Successfully generated API Key") + } + } catch (error) { + console.error(error) + message.error("Unable to generate API Key") + } finally { + setIsLoadingApiKey(false) + } + } + + return ( + + Create or enter your API key + + onApiKeyChange(e.target.value)} + /> + + + + + ) +} + +export default ApiKeyInput diff --git a/web/ee/src/components/pages/app-management/components/DemoApplicationsSection.tsx b/web/ee/src/components/pages/app-management/components/DemoApplicationsSection.tsx new file mode 100644 index 0000000000..605ef9a773 --- /dev/null +++ b/web/ee/src/components/pages/app-management/components/DemoApplicationsSection.tsx @@ -0,0 +1,96 @@ +import {Button, Card, Flex, Space, Typography} from "antd" +import Image from "next/image" +import {createUseStyles} from "react-jss" + +import {JSSTheme} from "@/oss/lib/Types" +import {useOrgData} from "@/oss/state/org" +import {useProjectData} from "@/oss/state/project" + +const useStyles = createUseStyles((theme: JSSTheme) => ({ + demoAppCard: { + width: 400, + "& .ant-card-body": { + padding: theme.paddingSM, + "& span.ant-typography": { + textOverflow: "ellipsis", + fontSize: theme.fontSizeLG, + fontWeight: theme.fontWeightMedium, + lineHeight: theme.lineHeightLG, + color: "inherit", + }, + "& div.ant-typography": { + fontSize: theme.fontSizeLG, + lineHeight: theme.lineHeightLG, + color: theme.colorTextSecondary, + }, + }, + }, +})) + +const {Text, Title, Paragraph} = Typography + +const DemoApplicationsSection = () => { + const classes = useStyles() + const {projects} = useProjectData() + const {changeSelectedOrg} = useOrgData() + + const handleViewDemoSwitch = () => { + const project = projects.find((p) => !!p.is_demo) + if (project && project.organization_id) { + changeSelectedOrg(project.organization_id) + } + } + + return ( +
    + + Explore demo applications + + See Agenta in action by exploring fully build prompts, evaluations, + observability and traces. Learn how to set your application by watching + tutorials. + + + +
    + + } + > + + + RAG Q&A with Wikipedia + + Use RAG to answer questions by fetching relevant information from + wikipedia + + + + + + + + +
    +
    + ) +} + +export default DemoApplicationsSection diff --git a/web/ee/src/components/pages/app-management/components/ObservabilityDashboardSection.tsx b/web/ee/src/components/pages/app-management/components/ObservabilityDashboardSection.tsx new file mode 100644 index 0000000000..d41ea8d433 --- /dev/null +++ b/web/ee/src/components/pages/app-management/components/ObservabilityDashboardSection.tsx @@ -0,0 +1,180 @@ +import {useMemo, type ComponentProps} from "react" + +import {AreaChart} from "@tremor/react" +import {Spin, Typography} from "antd" +import round from "lodash/round" +import {createUseStyles} from "react-jss" + +import {formatCurrency, formatLatency, formatNumber} from "@/oss/lib/helpers/formatters" +import {JSSTheme} from "@/oss/lib/Types" + +import {useObservabilityDashboard} from "../../../../state/observability" +import WidgetCard from "../../observability/dashboard/widgetCard" + +const useStyles = createUseStyles((theme: JSSTheme) => ({ + container: { + margin: "1.5rem 0", + display: "flex", + "& .ant-spin-nested-loading": { + width: "100%", + }, + }, + statText: { + "& span.ant-typography": { + fontSize: theme.fontSize, + lineHeight: theme.lineHeight, + fontWeight: "normal", + color: theme.colorTextSecondary, + }, + "& > span": { + fontWeight: theme.fontWeightMedium, + }, + }, + widgetContainer: { + display: "grid", + gridTemplateColumns: "repeat(2, 1fr)", + gap: 16, + "@media (min-width: 1360px)": { + gridTemplateColumns: "repeat(4, 1fr)", + }, + "@media (max-width: 850px)": { + gridTemplateColumns: "repeat(1, 1fr)", + }, + }, +})) + +const ObservabilityDashboardSection = () => { + const classes = useStyles() + const {data, loading, isFetching} = useObservabilityDashboard() + + const chartData = useMemo(() => (data?.data?.length ? data.data : [{}]), [data]) + + const defaultGraphProps = useMemo>( + () => ({ + className: "h-[168px] p-0", + colors: ["cyan", "red"], + connectNulls: true, + tickGap: 15, + curveType: "monotone", + showGridLines: false, + showLegend: false, + index: "timestamp", + data: chartData, + categories: [], + }), + [chartData], + ) + + return ( +
    + +
    +
    + + Total:{" "} + + {data?.total_count ? formatNumber(data?.total_count) : "-"} + +
    + } + rightSubHeading={ + (data?.failure_rate ?? 0) > 0 && ( +
    + Failed:{" "} + + {" "} + {data?.failure_rate + ? `${formatNumber(data?.failure_rate)}%` + : "-"} + +
    + ) + } + > + 0 + ? ["success_count", "failure_count"] + : ["success_count"] + } + /> + +
    +
    + + Avg:{" "} + + {data?.avg_latency + ? `${formatNumber(data.avg_latency)}ms` + : "-"} + +
    + } + > + + +
    +
    + + Total:{" "} + + {data?.total_cost ? formatCurrency(data.total_cost) : "-"} + +
    + } + rightSubHeading={ +
    + Avg:{" "} + + {data?.total_cost ? formatCurrency(data.avg_cost) : "-"} + +
    + } + > + + +
    +
    + + Total:{" "} + + {" "} + {data?.total_tokens + ? formatNumber(data?.total_tokens) + : "-"} + +
    + } + rightSubHeading={ +
    + Avg:{" "} + + {" "} + {data?.avg_tokens ? formatNumber(data?.avg_tokens) : "-"} + +
    + } + > + + +
    +
    + +
    + ) +} + +export default ObservabilityDashboardSection diff --git a/web/ee/src/components/pages/evaluations/EvaluationErrorProps/EvaluationErrorModal.tsx b/web/ee/src/components/pages/evaluations/EvaluationErrorProps/EvaluationErrorModal.tsx new file mode 100644 index 0000000000..b7b4b54b00 --- /dev/null +++ b/web/ee/src/components/pages/evaluations/EvaluationErrorProps/EvaluationErrorModal.tsx @@ -0,0 +1,77 @@ +import {ExclamationCircleOutlined} from "@ant-design/icons" +import {Collapse, Modal, Typography} from "antd" +import {createUseStyles} from "react-jss" + +import {JSSTheme} from "@/oss/lib/Types" + +interface EvaluationErrorModalProps { + isErrorModalOpen: boolean + setIsErrorModalOpen: (value: React.SetStateAction) => void + modalErrorMsg: { + message: string + stackTrace: string + errorType: "invoke" | "evaluation" + } +} + +const useStyles = createUseStyles((theme: JSSTheme) => ({ + errModalStackTrace: { + "& code": { + display: "block", + whiteSpace: "pre-wrap", + }, + maxHeight: 300, + overflow: "auto", + }, +})) + +const EvaluationErrorModal = ({ + isErrorModalOpen, + setIsErrorModalOpen, + modalErrorMsg, +}: EvaluationErrorModalProps) => { + const classes = useStyles() + + const errorText = + modalErrorMsg.errorType === "invoke" + ? "Failed to invoke the LLM application with the following exception:" + : "Failed to compute evaluation with the following exception:" + + return ( + + + Error + + } + onCancel={() => setIsErrorModalOpen(false)} + > + {errorText} + {modalErrorMsg.message && ( + {modalErrorMsg.message} + )} + {modalErrorMsg.stackTrace && ( + + {modalErrorMsg.stackTrace} + + ), + }, + ]} + /> + )} + + ) +} + +export default EvaluationErrorModal diff --git a/web/ee/src/components/pages/evaluations/EvaluationErrorProps/EvaluationErrorPopover.tsx b/web/ee/src/components/pages/evaluations/EvaluationErrorProps/EvaluationErrorPopover.tsx new file mode 100644 index 0000000000..642bc60c70 --- /dev/null +++ b/web/ee/src/components/pages/evaluations/EvaluationErrorProps/EvaluationErrorPopover.tsx @@ -0,0 +1,43 @@ +import {InfoCircleOutlined} from "@ant-design/icons" +import {Button, Popover, Typography} from "antd" +import {createUseStyles} from "react-jss" + +import {EvaluationError, JSSTheme, TypedValue} from "@/oss/lib/Types" + +const useStyles = createUseStyles((theme: JSSTheme) => ({ + errModalStackTrace: { + maxWidth: 300, + "& code": { + display: "block", + width: "100%", + }, + }, +})) + +const EvaluationErrorPopover = (result: { + result: TypedValue & { + error: null | EvaluationError + } +}) => { + const classes = useStyles() + + return ( + + {result.result.error?.stacktrace} + + } + title={result.result.error?.message} + > + + + ) +} + +export default EvaluationErrorPopover diff --git a/web/ee/src/components/pages/evaluations/EvaluationErrorProps/EvaluationErrorText.tsx b/web/ee/src/components/pages/evaluations/EvaluationErrorProps/EvaluationErrorText.tsx new file mode 100644 index 0000000000..017b065a3b --- /dev/null +++ b/web/ee/src/components/pages/evaluations/EvaluationErrorProps/EvaluationErrorText.tsx @@ -0,0 +1,19 @@ +import {Button, Typography} from "antd" + +interface EvaluationErrorTextProps { + text: string + handleOnClick: () => void +} + +const EvaluationErrorText = ({text, handleOnClick}: EvaluationErrorTextProps) => { + return ( + + {text}{" "} + + + ) +} + +export default EvaluationErrorText diff --git a/web/ee/src/components/pages/evaluations/EvaluationsView.tsx b/web/ee/src/components/pages/evaluations/EvaluationsView.tsx new file mode 100644 index 0000000000..69694f0205 --- /dev/null +++ b/web/ee/src/components/pages/evaluations/EvaluationsView.tsx @@ -0,0 +1,160 @@ +import {useEffect, useMemo} from "react" + +import {Radio, Typography} from "antd" +import clsx from "clsx" +import dynamic from "next/dynamic" +import {useRouter} from "next/router" +import {createUseStyles} from "react-jss" +import {useLocalStorage} from "usehooks-ts" + +import {useAppId} from "@/oss/hooks/useAppId" +import {useQueryParam} from "@/oss/hooks/useQuery" +import {useBreadcrumbsEffect} from "@/oss/lib/hooks/useBreadcrumbs" +import {JSSTheme} from "@/oss/lib/Types" + +const AutoEvaluation = dynamic( + () => import("@/oss/components/pages/evaluations/autoEvaluation/AutoEvaluation"), + {ssr: false}, +) +const SingleModelEvaluation = dynamic( + () => import("@/oss/components/HumanEvaluations/SingleModelEvaluation"), + {ssr: false}, +) +const AbTestingEvaluation = dynamic( + () => import("@/oss/components/HumanEvaluations/AbTestingEvaluation"), + {ssr: false}, +) + +const useStyles = createUseStyles((theme: JSSTheme) => ({ + container: { + display: "flex", + flexDirection: "column", + gap: theme.marginLG, + }, + title: { + fontSize: theme.fontSizeLG, + fontWeight: theme.fontWeightMedium, + lineHeight: theme.lineHeightHeading4, + }, +})) + +type EvaluationScope = "app" | "project" + +const formatLabel = (value: string) => value.replaceAll("_", " ") + +interface EvaluationsViewProps { + scope?: EvaluationScope +} + +const allowedOptionsByScope: Record> = { + app: [ + {value: "auto_evaluation", label: "Automatic"}, + {value: "human_annotation", label: "Human annotation"}, + {value: "human_ab_testing", label: "A/B Testing"}, + ], + project: [ + {value: "auto_evaluation", label: "Automatic"}, + {value: "human_annotation", label: "Human annotation"}, + ], +} + +const EvaluationsView = ({scope = "app"}: EvaluationsViewProps) => { + const classes = useStyles() + const router = useRouter() + const routeAppId = useAppId() + + const uniqueScopeKey = useMemo(() => { + if (scope !== "app") return "project" + if (!routeAppId) return "app" + const parts = routeAppId.split("-") + return parts[parts.length - 1] || "app" + }, [scope, routeAppId]) + + const [defaultKey, setDefaultKey] = useLocalStorage( + `${uniqueScopeKey}-last-visited-evaluation`, + "auto_evaluation", + ) + const [selectedEvaluation, setSelectedEvaluation] = useQueryParam( + "selectedEvaluation", + defaultKey, + ) + + // Ensure selected evaluation is valid for current scope + useEffect(() => { + const allowed = allowedOptionsByScope[scope].map((option) => option.value) + if (!selectedEvaluation || !router.query.selectedEvaluation) { + setSelectedEvaluation(defaultKey) + return + } + + if (!allowed.includes(selectedEvaluation)) { + const fallback = allowed.includes(defaultKey) ? defaultKey : allowed[0] + setSelectedEvaluation(fallback) + } + }, [ + selectedEvaluation, + defaultKey, + setSelectedEvaluation, + scope, + router.query.selectedEvaluation, + ]) + + useEffect(() => { + if (selectedEvaluation && selectedEvaluation !== defaultKey) { + setDefaultKey(selectedEvaluation) + } + }, [selectedEvaluation, defaultKey, setDefaultKey]) + + useBreadcrumbsEffect( + { + breadcrumbs: + scope === "app" + ? {appPage: {label: formatLabel(selectedEvaluation)}} + : {projectPage: {label: formatLabel(selectedEvaluation)}}, + type: "append", + condition: !!selectedEvaluation, + }, + [selectedEvaluation, scope, router.asPath], + ) + + const renderPage = useMemo(() => { + switch (selectedEvaluation) { + case "human_annotation": + return + case "human_ab_testing": + return scope === "app" ? ( + + ) : ( + + ) + case "auto_evaluation": + default: + return + } + }, [selectedEvaluation, scope]) + + const options = allowedOptionsByScope[scope] + + return ( +
    +
    + Evaluations + setSelectedEvaluation(e.target.value)} + > + {options.map((option) => ( + + {option.label} + + ))} + +
    + +
    {renderPage}
    +
    + ) +} + +export default EvaluationsView diff --git a/web/ee/src/components/pages/evaluations/FilterColumns/FilterColumns.tsx b/web/ee/src/components/pages/evaluations/FilterColumns/FilterColumns.tsx new file mode 100644 index 0000000000..d9d0c785d2 --- /dev/null +++ b/web/ee/src/components/pages/evaluations/FilterColumns/FilterColumns.tsx @@ -0,0 +1,88 @@ +import {type ColDef} from "@ag-grid-community/core" +import {CheckOutlined, DownOutlined} from "@ant-design/icons" +import {Button, Dropdown, Space} from "antd" +import {ItemType} from "antd/es/menu/interface" +import {createUseStyles} from "react-jss" + +import {JSSTheme} from "@/oss/lib/Types" + +const useStyles = createUseStyles((theme: JSSTheme) => ({ + dropdownMenu: { + "&>.ant-dropdown-menu-item": { + "& .anticon-check": { + display: "none", + }, + }, + "&>.ant-dropdown-menu-item-selected": { + "&:not(:hover)": { + backgroundColor: "transparent !important", + }, + "& .anticon-check": { + display: "inline-flex !important", + }, + }, + }, +})) + +export const generateFilterItems = (colDefs: ColDef[]) => { + return colDefs.map((configs) => ({ + key: configs.headerName as string, + label: ( + + + <>{configs.headerName} + + ), + })) +} + +interface FilterColumnsProps { + isOpen: boolean + handleOpenChange: ( + open: boolean, + info: { + source: "trigger" | "menu" + }, + ) => void + shownCols: string[] + items: ItemType[] + onClick: ({key}: {key: string}) => void + buttonText?: string +} + +const FilterColumns = ({ + isOpen, + handleOpenChange, + shownCols, + items, + onClick, + buttonText, +}: FilterColumnsProps) => { + const classes = useStyles() + + return ( + + + + ) +} + +export default FilterColumns diff --git a/web/ee/src/components/pages/evaluations/NewEvaluation/Components/AdvancedSettings.tsx b/web/ee/src/components/pages/evaluations/NewEvaluation/Components/AdvancedSettings.tsx new file mode 100644 index 0000000000..a0394ecc7c --- /dev/null +++ b/web/ee/src/components/pages/evaluations/NewEvaluation/Components/AdvancedSettings.tsx @@ -0,0 +1,112 @@ +import {memo, useCallback, useMemo} from "react" + +import {QuestionCircleOutlined} from "@ant-design/icons" +import {Button, Col, Flex, Form, Input, InputNumber, Row, Tooltip, Typography} from "antd" +import deepEqual from "fast-deep-equal" + +import {DEFAULT_ADVANCE_SETTINGS} from "../assets/constants" +import {AdvancedSettingsProps} from "../types" + +const AdvancedSettings = ({advanceSettings, setAdvanceSettings}: AdvancedSettingsProps) => { + const handleChange = (key: string, value: any) => { + setAdvanceSettings((prev) => ({ + ...prev, + [key]: value, + })) + } + + const handleResetDefaults = useCallback(() => { + setAdvanceSettings(DEFAULT_ADVANCE_SETTINGS) + }, []) + + const isAdvancedSettingsChanged = useMemo( + () => !deepEqual(advanceSettings, DEFAULT_ADVANCE_SETTINGS), + [advanceSettings], + ) + + const {correct_answer_column, ...rateLimitConfig} = advanceSettings + + return ( + +
    + + + Rate Limit Configuration + + {isAdvancedSettingsChanged && ( + + )} +
    + } + style={{marginBottom: 0}} + > + + {Object.entries(rateLimitConfig).map(([key, value]) => ( + + + {key + .replace(/_/g, " ") + .replace(/\b\w/g, (c) => c.toUpperCase())} +   + + + + + } + rules={[ + { + validator: (_, value) => { + if (value !== null) { + return Promise.resolve() + } + return Promise.reject("This field is required") + }, + }, + ]} + > + handleChange(key, value)} + style={{width: "100%"}} + min={0} + /> + + + ))} + + + + Correct Answer Column  + + + + + } + > + handleChange("correct_answer_column", e.target.value)} + style={{width: "50%"}} + /> + + + + ) +} + +export default memo(AdvancedSettings) diff --git a/web/ee/src/components/pages/evaluations/NewEvaluation/Components/NewEvaluationModalContent.tsx b/web/ee/src/components/pages/evaluations/NewEvaluation/Components/NewEvaluationModalContent.tsx new file mode 100644 index 0000000000..be0b94bde4 --- /dev/null +++ b/web/ee/src/components/pages/evaluations/NewEvaluation/Components/NewEvaluationModalContent.tsx @@ -0,0 +1,294 @@ +import {type FC, memo, useMemo} from "react" + +import {CloseCircleOutlined} from "@ant-design/icons" +import {Input, Typography, Tabs, Tag} from "antd" +import clsx from "clsx" +import dynamic from "next/dynamic" + +import useFocusInput from "@/oss/hooks/useFocusInput" + +import {useStyles} from "../assets/styles" +import TabLabel from "../assets/TabLabel" +import {NewEvaluationModalContentProps} from "../types" + +import SelectAppSection from "./SelectAppSection" + +const SelectEvaluatorSection = dynamic( + () => import("./SelectEvaluatorSection/SelectEvaluatorSection"), + {ssr: false}, +) + +const SelectTestsetSection = dynamic(() => import("./SelectTestsetSection"), { + ssr: false, +}) + +const SelectVariantSection = dynamic(() => import("./SelectVariantSection"), { + ssr: false, +}) + +const AdvancedSettings = dynamic(() => import("./AdvancedSettings"), { + ssr: false, +}) + +const NewEvaluationModalContent: FC = ({ + onSuccess, + handlePanelChange, + activePanel, + selectedTestsetId, + setSelectedTestsetId, + selectedVariantRevisionIds, + setSelectedVariantRevisionIds, + selectedEvalConfigs, + setSelectedEvalConfigs, + evaluationName, + setEvaluationName, + preview, + evaluationType, + testSets, + variants, + variantsLoading, + evaluators, + evaluatorConfigs, + advanceSettings, + setAdvanceSettings, + appOptions, + selectedAppId, + onSelectApp, + appSelectionDisabled, + ...props +}) => { + const classes = useStyles() + const {inputRef} = useFocusInput({isOpen: props.isOpen || false}) + const appSelectionComplete = Boolean(selectedAppId) + + const selectedTestset = useMemo( + () => testSets.find((ts) => ts._id === selectedTestsetId) || null, + [testSets, selectedTestsetId], + ) + + const selectedVariants = useMemo( + () => variants?.filter((v) => selectedVariantRevisionIds.includes(v.id)) || [], + [variants, selectedVariantRevisionIds], + ) + + const selectedEvalConfig = useMemo(() => { + const source = preview ? (evaluators as any[]) : (evaluatorConfigs as any[]) + return source.filter((cfg) => selectedEvalConfigs.includes(cfg.id)) + }, [preview, evaluators, evaluatorConfigs, selectedEvalConfigs]) + + const items = useMemo(() => { + const requireAppMessage = ( + + Select an application first to load this section. + + ) + + return [ + { + key: "appPanel", + label: ( + + {appSelectionComplete && ( + } + onClose={() => { + if (!appSelectionDisabled) onSelectApp("") + }} + > + {appOptions.find((opt) => opt.value === selectedAppId)?.label ?? + selectedAppId} + + )} + + ), + children: ( +
    + + {!appSelectionComplete && !appSelectionDisabled ? ( + + Please select an application to continue configuring the evaluation. + + ) : null} +
    + ), + }, + { + key: "variantPanel", + label: ( + 0}> + {selectedVariants.map((v) => ( + } + onClose={() => { + setSelectedVariantRevisionIds( + selectedVariantRevisionIds.filter((id) => id !== v.id), + ) + }} + > + {`${v.variantName} - v${v.revision}`} + + ))} + + ), + children: appSelectionComplete ? ( + + ) : ( + requireAppMessage + ), + }, + { + key: "testsetPanel", + label: ( + + {selectedTestset ? ( + } + onClose={() => { + setSelectedTestsetId("") + }} + > + {selectedTestset.name} + + ) : null} + + ), + children: appSelectionComplete ? ( + + ) : ( + requireAppMessage + ), + }, + { + key: "evaluatorPanel", + label: ( + 0}> + {selectedEvalConfig.map((cfg: any) => { + return ( + } + color={cfg.color} + onClose={() => { + setSelectedEvalConfigs( + selectedEvalConfigs.filter((id) => id !== cfg.id), + ) + }} + > + {cfg.name} + + ) + })} + + ), + children: appSelectionComplete ? ( + + ) : ( + requireAppMessage + ), + }, + ...(evaluationType === "auto" + ? [ + { + key: "advancedSettingsPanel", + label: ( + + {Object.entries(advanceSettings).map(([key, value]) => ( + + {key}: {value} + + ))} + + ), + children: appSelectionComplete ? ( + + ) : ( + requireAppMessage + ), + }, + ] + : []), + ] + }, [ + selectedTestset, + selectedVariants, + selectedEvalConfig, + handlePanelChange, + selectedTestsetId, + selectedVariantRevisionIds, + selectedEvalConfigs, + preview, + evaluationType, + testSets, + variants, + evaluators, + evaluatorConfigs, + advanceSettings, + appSelectionComplete, + appOptions, + selectedAppId, + onSelectApp, + appSelectionDisabled, + ]) + + return ( +
    +
    + Evaluation name + { + setEvaluationName(e.target.value) + }} + /> +
    + + +
    + ) +} + +export default memo(NewEvaluationModalContent) diff --git a/web/ee/src/components/pages/evaluations/NewEvaluation/Components/SelectAppSection.tsx b/web/ee/src/components/pages/evaluations/NewEvaluation/Components/SelectAppSection.tsx new file mode 100644 index 0000000000..890a9fa6a3 --- /dev/null +++ b/web/ee/src/components/pages/evaluations/NewEvaluation/Components/SelectAppSection.tsx @@ -0,0 +1,118 @@ +import {HTMLProps, useMemo} from "react" + +import {Table, Tag, Typography} from "antd" +import type {ColumnsType} from "antd/es/table" + +import {formatDay} from "@/oss/lib/helpers/dateTimeHelper" + +import type {NewEvaluationAppOption} from "../types" + +const formatAppType = (type?: string | null) => { + if (!type) return null + const normalized = type.replace(/_/g, " ") + return normalized.charAt(0).toUpperCase() + normalized.slice(1) +} + +interface SelectAppSectionProps extends HTMLProps { + apps: NewEvaluationAppOption[] + selectedAppId: string + onSelectApp: (value: string) => void + disabled?: boolean +} + +const SelectAppSection = ({ + apps, + selectedAppId, + onSelectApp, + disabled, + className, +}: SelectAppSectionProps) => { + const columns: ColumnsType = useMemo(() => { + return [ + { + title: "Application", + dataIndex: "label", + key: "label", + render: (value: string) => {value}, + }, + { + title: "Type", + dataIndex: "type", + key: "type", + width: 160, + render: (value: string | null | undefined) => { + const label = formatAppType(value) + return label ? ( + {label} + ) : ( + + ) + }, + }, + { + title: "Created", + dataIndex: "createdAt", + key: "createdAt", + width: 240, + render: (value: string, record) => { + const displayDate = value || record.updatedAt || "" + return displayDate ? ( + + {formatDay({date: displayDate, outputFormat: "DD MMM YYYY | h:mm a"})} + + ) : ( + + ) + }, + }, + ] + }, []) + + const dataSource = useMemo( + () => + apps.map((app) => ({ + key: app.value, + ...app, + })), + [apps], + ) + + return ( +
    + (disabled ? "" : "cursor-pointer")} + onRow={(record) => ({ + onClick: () => { + if (disabled || record.value === selectedAppId) return + onSelectApp(record.value) + }, + })} + rowSelection={{ + type: "radio", + columnWidth: 48, + selectedRowKeys: selectedAppId ? [selectedAppId] : [], + onChange: (selectedRowKeys) => { + if (disabled) return + const [key] = selectedRowKeys + onSelectApp(key as string) + }, + getCheckboxProps: () => ({disabled}), + }} + locale={{ + emptyText: disabled + ? "Application selection is locked in app scope" + : "No applications available", + }} + /> + + ) +} + +export default SelectAppSection diff --git a/web/ee/src/components/pages/evaluations/NewEvaluation/Components/SelectEvaluatorSection/SelectEvaluatorSection.tsx b/web/ee/src/components/pages/evaluations/NewEvaluation/Components/SelectEvaluatorSection/SelectEvaluatorSection.tsx new file mode 100644 index 0000000000..b87ad02813 --- /dev/null +++ b/web/ee/src/components/pages/evaluations/NewEvaluation/Components/SelectEvaluatorSection/SelectEvaluatorSection.tsx @@ -0,0 +1,360 @@ +import {memo, useEffect, useMemo, useRef, useState} from "react" + +import {PlusOutlined} from "@ant-design/icons" +import {Button, Input, Table, Tag, Space} from "antd" +import {ColumnsType} from "antd/es/table" +import clsx from "clsx" +import dynamic from "next/dynamic" + +import EnhancedDrawer from "@/oss/components/EnhancedUIs/Drawer" +import AnnotateDrawerTitle from "@/oss/components/pages/observability/drawer/AnnotateDrawer/assets/AnnotateDrawerTitle" +import CreateEvaluator from "@/oss/components/pages/observability/drawer/AnnotateDrawer/assets/CreateEvaluator" +import {AnnotateDrawerSteps} from "@/oss/components/pages/observability/drawer/AnnotateDrawer/assets/enum" +import {getMetricsFromEvaluator} from "@/oss/components/pages/observability/drawer/AnnotateDrawer/assets/transforms" +import {EvaluatorDto} from "@/oss/lib/hooks/useEvaluators/types" +import useFetchEvaluatorsData from "@/oss/lib/hooks/useFetchEvaluatorsData" +import {Evaluator, EvaluatorConfig} from "@/oss/lib/Types" + +import type {SelectEvaluatorSectionProps} from "../../types" + +const EvaluatorsModal = dynamic( + () => import("../../../autoEvaluation/EvaluatorsModal/EvaluatorsModal"), + { + ssr: false, + loading: () => null, // Prevent flash by not rendering until loaded + }, +) +const NoResultsFound = dynamic(() => import("@/oss/components/NoResultsFound/NoResultsFound"), { + ssr: false, +}) + +const EvaluatorMetrics = memo(({evaluator}: {evaluator: EvaluatorDto<"response">}) => { + const metrics = getMetricsFromEvaluator(evaluator) + return ( +
    + {Object.entries(metrics).map(([key, value]) => { + return ( + + {key} + + ) + })} +
    + ) +}) + +// Use a generic type variable Preview and conditionally type filteredEvalConfigs +const SelectEvaluatorSection = ({ + selectedEvalConfigs, + setSelectedEvalConfigs, + className, + handlePanelChange, + preview, + evaluators: propsEvaluators, + evaluatorConfigs: propsEvaluatorConfigs, + selectedAppId, + ...props +}: SelectEvaluatorSectionProps & {preview?: Preview}) => { + const fetchData = useFetchEvaluatorsData({ + preview: preview as boolean, + queries: {is_human: preview}, + appId: selectedAppId || "", + }) + + const evaluationData = useMemo(() => { + if (preview) { + const evaluators = (propsEvaluators || + fetchData.evaluatorsSwr.data || + []) as EvaluatorDto<"response">[] + const evaluatorConfigs = evaluators + const isLoadingEvaluators = fetchData.isLoadingEvaluators + const isLoadingEvaluatorConfigs = fetchData.isLoadingEvaluatorConfigs + return {evaluators, evaluatorConfigs, isLoadingEvaluators, isLoadingEvaluatorConfigs} + } else { + const evaluators = propsEvaluators?.length + ? propsEvaluators + : ((fetchData.evaluatorsSwr.data || []) as Evaluator[]) + const evaluatorConfigs = (propsEvaluatorConfigs || + fetchData.evaluatorConfigsSwr.data || + []) as EvaluatorConfig[] + const isLoadingEvaluators = fetchData.isLoadingEvaluators + const isLoadingEvaluatorConfigs = fetchData.isLoadingEvaluatorConfigs + return {evaluators, evaluatorConfigs, isLoadingEvaluators, isLoadingEvaluatorConfigs} + } + }, [fetchData, preview, propsEvaluators, propsEvaluatorConfigs]) + + const {evaluators, evaluatorConfigs, isLoadingEvaluators, isLoadingEvaluatorConfigs} = + evaluationData + + const [searchTerm, setSearchTerm] = useState("") + const [isEvaluatorsModalOpen, setIsEvaluatorsModalOpen] = useState(false) + const [current, setCurrent] = useState(0) + const prevSelectedAppIdRef = useRef() + const {refetchEvaluatorConfigs} = fetchData + + useEffect(() => { + if (!selectedAppId) { + prevSelectedAppIdRef.current = selectedAppId + return + } + + if (prevSelectedAppIdRef.current === selectedAppId) { + return + } + + prevSelectedAppIdRef.current = selectedAppId + refetchEvaluatorConfigs() + }, [selectedAppId, refetchEvaluatorConfigs]) + + useEffect(() => { + if (isLoadingEvaluators || isLoadingEvaluatorConfigs) return + + const availableIds = new Set( + (preview + ? (evaluators as EvaluatorDto<"response">[]) + : (evaluatorConfigs as EvaluatorConfig[]) + ).map((config) => config.id), + ) + + setSelectedEvalConfigs((prevSelected) => { + const nextSelected = prevSelected.filter((id) => availableIds.has(id)) + return nextSelected.length === prevSelected.length ? prevSelected : nextSelected + }) + }, [ + preview, + evaluators, + evaluatorConfigs, + isLoadingEvaluators, + isLoadingEvaluatorConfigs, + setSelectedEvalConfigs, + ]) + + const columnsPreview: ColumnsType> = useMemo( + () => [ + { + title: "Name", + dataIndex: "name", + key: "name", + render: (_, record: EvaluatorDto<"response">) => { + return
    {record.name}
    + }, + }, + { + title: "Slug", + dataIndex: "slug", + key: "slug", + render: (_, record: EvaluatorDto<"response">) => { + return
    {record.slug}
    + }, + }, + { + title: "Metrics", + dataIndex: "data", + key: "data", + render: (_, record: EvaluatorDto<"response">) => ( + + ), + }, + ], + [], + ) + + const columnsConfig: ColumnsType = useMemo( + () => [ + { + title: "Name", + dataIndex: "name", + key: "name", + render: (_, record: EvaluatorConfig) => { + return
    {record.name}
    + }, + }, + { + title: "Type", + dataIndex: "type", + key: "type", + render: (x, record: EvaluatorConfig) => { + // Find the evaluator by key to display its name + const evaluator = (evaluators as Evaluator[]).find( + (item) => item.key === record.evaluator_key, + ) + return {evaluator?.name} + }, + }, + ], + [evaluators], + ) + + // Conditionally type filteredEvalConfigs based on Preview + const filteredEvalConfigs: Preview extends true + ? EvaluatorDto<"response">[] + : EvaluatorConfig[] = useMemo(() => { + if (preview) { + // Explicitly narrow types for Preview = true + const data = evaluators as EvaluatorDto<"response">[] + if (!searchTerm) return data + return data.filter((item) => + item.name.toLowerCase().includes(searchTerm.toLowerCase()), + ) as any + } else { + // Explicitly narrow types for Preview = false + const data = evaluatorConfigs as EvaluatorConfig[] + if (!searchTerm) return data + return data.filter((item) => + item.name.toLowerCase().includes(searchTerm.toLowerCase()), + ) as any + } + }, [searchTerm, evaluatorConfigs, preview, evaluators]) + + const selectedEvalConfig = useMemo( + () => evaluatorConfigs.filter((config) => selectedEvalConfigs.includes(config.id)), + [evaluatorConfigs, selectedEvalConfigs], + ) + + const onSelectEvalConfig = (selectedRowKeys: React.Key[]) => { + const currentSelected = new Set(selectedEvalConfigs) + const configs = filteredEvalConfigs as EvaluatorDto<"response">[] + configs.forEach((item) => { + if (selectedRowKeys.includes(item.id)) { + currentSelected.add(item.id) + } else { + currentSelected.delete(item.id) + } + }) + setSelectedEvalConfigs(Array.from(currentSelected)) + } + + return ( + <> +
    +
    + setSearchTerm(e.target.value)} + /> + + + +
    + + {filteredEvalConfigs.length === 0 ? ( + { + setCurrent(1) + setIsEvaluatorsModalOpen(true) + }} + /> + ) : preview ? ( + > + rowSelection={{ + type: "checkbox", + columnWidth: 48, + selectedRowKeys: selectedEvalConfigs, + onChange: (selectedRowKeys) => { + onSelectEvalConfig(selectedRowKeys) + }, + }} + onRow={(record) => ({ + style: {cursor: "pointer"}, + onClick: () => { + if (selectedEvalConfigs.includes(record.id)) { + onSelectEvalConfig( + selectedEvalConfigs.filter((id) => id !== record.id), + ) + } else { + onSelectEvalConfig([...selectedEvalConfigs, record.id]) + } + }, + })} + className="ph-no-capture" + columns={columnsPreview} + rowKey={"id"} + dataSource={filteredEvalConfigs as EvaluatorDto<"response">[]} + scroll={{x: true}} + bordered + pagination={false} + /> + ) : ( + + rowSelection={{ + type: "checkbox", + columnWidth: 48, + selectedRowKeys: selectedEvalConfigs, + onChange: (selectedRowKeys) => { + onSelectEvalConfig(selectedRowKeys) + }, + }} + onRow={(record) => ({ + style: {cursor: "pointer"}, + onClick: () => { + if (selectedEvalConfigs.includes(record.id)) { + onSelectEvalConfig( + selectedEvalConfigs.filter((id) => id !== record.id), + ) + } else { + onSelectEvalConfig([...selectedEvalConfigs, record.id]) + } + }, + })} + className="ph-no-capture" + columns={columnsConfig} + rowKey={"id"} + dataSource={filteredEvalConfigs as EvaluatorConfig[]} + scroll={{x: true, y: 455}} + bordered + pagination={false} + /> + )} +
    + + {preview ? ( + setIsEvaluatorsModalOpen(false)} + onClose={() => setIsEvaluatorsModalOpen(false)} + /> + } + closeIcon={null} + width={400} + onClose={() => setIsEvaluatorsModalOpen(false)} + classNames={{body: "!p-0", header: "!p-4"}} + > + { + setSelectedEvalConfigs(updater) + setIsEvaluatorsModalOpen(false) + }} + /> + + ) : ( + setIsEvaluatorsModalOpen(false)} + current={current} + setCurrent={setCurrent} + appId={selectedAppId || null} + openedFromNewEvaluation={true} + /> + )} + + ) +} + +export default memo(SelectEvaluatorSection) diff --git a/web/ee/src/components/pages/evaluations/NewEvaluation/Components/SelectTestsetSection.tsx b/web/ee/src/components/pages/evaluations/NewEvaluation/Components/SelectTestsetSection.tsx new file mode 100644 index 0000000000..0a73c0c42b --- /dev/null +++ b/web/ee/src/components/pages/evaluations/NewEvaluation/Components/SelectTestsetSection.tsx @@ -0,0 +1,137 @@ +import {memo, useMemo, useState} from "react" + +import {Input} from "antd" +import Table, {ColumnsType} from "antd/es/table" +import clsx from "clsx" +import dayjs from "dayjs" +import dynamic from "next/dynamic" + +import {formatDate, formatDay} from "@/oss/lib/helpers/dateTimeHelper" +import {testset} from "@/oss/lib/Types" +import {useTestsetsData} from "@/oss/state/testset" + +import type {SelectTestsetSectionProps} from "../types" + +const NoResultsFound = dynamic(() => import("@/oss/components/NoResultsFound/NoResultsFound"), { + ssr: false, +}) + +const SelectTestsetSection = ({ + testSets: propsTestsets, + selectedTestsetId, + setSelectedTestsetId, + handlePanelChange, + className, + ...props +}: SelectTestsetSectionProps) => { + const [searchTerm, setSearchTerm] = useState("") + const {testsets: fetchedTestSets} = useTestsetsData() + const testSets = useMemo(() => { + return propsTestsets && propsTestsets.length > 0 ? propsTestsets : fetchedTestSets || [] + }, [propsTestsets, fetchedTestSets]) + + const columns: ColumnsType = useMemo(() => { + return [ + { + title: "Name", + dataIndex: "name", + key: "name", + onHeaderCell: () => ({ + style: {minWidth: 180}, + }), + }, + { + title: "Date Modified", + dataIndex: "updated_at", + key: "updated_at", + onHeaderCell: () => ({ + style: {minWidth: 180}, + }), + render: (date: string) => { + return formatDay({date, outputFormat: "DD MMM YYYY | h:mm a"}) + }, + }, + { + title: "Date created", + dataIndex: "created_at", + key: "created_at", + render: (date: string) => { + return formatDay({date, outputFormat: "DD MMM YYYY | h:mm a"}) + }, + onHeaderCell: () => ({ + style: {minWidth: 180}, + }), + }, + ] + }, []) + + const filteredTestset = useMemo(() => { + let allTestsets = testSets.sort( + (a: testset, b: testset) => + dayjs(b.updated_at).valueOf() - dayjs(a.updated_at).valueOf(), + ) + if (searchTerm) { + allTestsets = testSets.filter((item: testset) => + item.name.toLowerCase().includes(searchTerm.toLowerCase()), + ) + } + return allTestsets + }, [searchTerm, testSets]) + + const selectedTestset = useMemo( + () => testSets.find((testset) => testset._id === selectedTestsetId) || null, + [selectedTestsetId, testSets], + ) + + return ( +
    +
    + setSearchTerm(e.target.value)} + /> +
    +
    { + setSelectedTestsetId(selectedRowKeys[0] as string) + handlePanelChange("evaluatorPanel") + }, + }} + className={`ph-no-capture`} + columns={columns} + dataSource={filteredTestset} + rowKey="_id" + scroll={{x: "max-content", y: 455}} + bordered + pagination={false} + locale={{ + emptyText: ( + + ), + }} + onRow={(record) => ({ + style: {cursor: "pointer"}, + onClick: () => { + if (selectedTestset?._id === record._id) { + setSelectedTestsetId("") + } else { + setSelectedTestsetId(record._id) + handlePanelChange("evaluatorPanel") + } + }, + })} + /> + + ) +} + +export default memo(SelectTestsetSection) diff --git a/web/ee/src/components/pages/evaluations/NewEvaluation/Components/SelectVariantSection.tsx b/web/ee/src/components/pages/evaluations/NewEvaluation/Components/SelectVariantSection.tsx new file mode 100644 index 0000000000..6b7931d410 --- /dev/null +++ b/web/ee/src/components/pages/evaluations/NewEvaluation/Components/SelectVariantSection.tsx @@ -0,0 +1,113 @@ +import {memo, useCallback, useMemo, useState} from "react" + +import {Input} from "antd" +import clsx from "clsx" +import {useAtomValue} from "jotai" +import dynamic from "next/dynamic" + +import {useVariants} from "@/oss/lib/hooks/useVariants" +import {EnhancedVariant} from "@/oss/lib/shared/variant/transformer/types" +import {currentAppAtom} from "@/oss/state/app" + +import type {SelectVariantSectionProps} from "../types" + +const VariantsTable = dynamic(() => import("@/oss/components/VariantsComponents/Table"), { + ssr: false, +}) +const NoResultsFound = dynamic(() => import("@/oss/components/NoResultsFound/NoResultsFound"), { + ssr: false, +}) + +const SelectVariantSection = ({ + selectedVariantRevisionIds, + className, + setSelectedVariantRevisionIds, + handlePanelChange, + evaluationType, + variants: propsVariants, + isVariantLoading: propsVariantLoading, + ...props +}: SelectVariantSectionProps) => { + const currentApp = useAtomValue(currentAppAtom) + const {data, isLoading: fallbackLoading} = useVariants(currentApp) + const variants = useMemo(() => propsVariants || data, [propsVariants, data]) + const isVariantLoading = propsVariantLoading ?? fallbackLoading + + const [searchTerm, setSearchTerm] = useState("") + + const filteredVariant = useMemo(() => { + if (!searchTerm) return variants + return variants?.filter((item) => + item.variantName.toLowerCase().includes(searchTerm.toLowerCase()), + ) + }, [searchTerm, variants]) + + const onSelectVariant = useCallback( + (selectedRowKeys: React.Key[]) => { + const selectedId = selectedRowKeys[0] as string | undefined + if (selectedId) { + setSelectedVariantRevisionIds([selectedId]) + handlePanelChange("testsetPanel") + } else { + setSelectedVariantRevisionIds([]) + } + }, + [setSelectedVariantRevisionIds, handlePanelChange], + ) + + const onRowClick = useCallback( + (record: EnhancedVariant) => { + const _record = record as EnhancedVariant & { + children: EnhancedVariant[] + } + onSelectVariant([_record.id]) + }, + [selectedVariantRevisionIds, onSelectVariant], + ) + + return ( +
    +
    + setSearchTerm(e.target.value)} + /> +
    + { + onSelectVariant(selectedRowKeys) + }, + }} + onRow={(record) => { + return { + style: {cursor: "pointer"}, + onClick: () => onRowClick(record as EnhancedVariant), + } + }} + showActionsDropdown={false} + scroll={{x: "max-content", y: 455}} + isLoading={isVariantLoading} + variants={filteredVariant} + onRowClick={() => {}} + className="ph-no-capture" + rowKey={"id"} + locale={{ + emptyText: ( + + ), + }} + /> +
    + ) +} + +export default memo(SelectVariantSection) diff --git a/web/ee/src/components/pages/evaluations/NewEvaluation/assets/TabLabel/index.tsx b/web/ee/src/components/pages/evaluations/NewEvaluation/assets/TabLabel/index.tsx new file mode 100644 index 0000000000..d69cde5ff8 --- /dev/null +++ b/web/ee/src/components/pages/evaluations/NewEvaluation/assets/TabLabel/index.tsx @@ -0,0 +1,20 @@ +import {memo} from "react" + +import {CheckCircleOutlined} from "@ant-design/icons" +import {Typography} from "antd" + +import {TabLabelProps} from "./types" + +const TabLabel = ({children, tabTitle, completed}: TabLabelProps) => { + return ( +
    +
    + {tabTitle} + {completed ? : null} +
    + {completed &&
    {children}
    } +
    + ) +} + +export default memo(TabLabel) diff --git a/web/ee/src/components/pages/evaluations/NewEvaluation/assets/TabLabel/types.ts b/web/ee/src/components/pages/evaluations/NewEvaluation/assets/TabLabel/types.ts new file mode 100644 index 0000000000..8a15c81638 --- /dev/null +++ b/web/ee/src/components/pages/evaluations/NewEvaluation/assets/TabLabel/types.ts @@ -0,0 +1,6 @@ +import {HTMLProps} from "react" + +export interface TabLabelProps extends HTMLProps { + tabTitle: string + completed?: boolean +} diff --git a/web/ee/src/components/pages/evaluations/NewEvaluation/assets/constants.ts b/web/ee/src/components/pages/evaluations/NewEvaluation/assets/constants.ts new file mode 100644 index 0000000000..746f5d838f --- /dev/null +++ b/web/ee/src/components/pages/evaluations/NewEvaluation/assets/constants.ts @@ -0,0 +1,7 @@ +export const DEFAULT_ADVANCE_SETTINGS = { + batch_size: 10, + max_retries: 3, + retry_delay: 3, + delay_between_batches: 5, + correct_answer_column: "correct_answer", +} diff --git a/web/ee/src/components/pages/evaluations/NewEvaluation/assets/styles.ts b/web/ee/src/components/pages/evaluations/NewEvaluation/assets/styles.ts new file mode 100644 index 0000000000..24e40c0cd4 --- /dev/null +++ b/web/ee/src/components/pages/evaluations/NewEvaluation/assets/styles.ts @@ -0,0 +1,80 @@ +import {createUseStyles} from "react-jss" + +import {JSSTheme} from "@/oss/lib/Types" + +export const useStyles = createUseStyles((theme: JSSTheme) => ({ + modalContainer: { + height: 800, + overflowY: "hidden", + "& > div": { + height: "100%", + }, + "& .ant-modal-content": { + height: "100%", + display: "flex", + flexDirection: "column", + "& .ant-modal-body": { + overflowY: "auto", + flex: 1, + paddingTop: theme.padding, + paddingBottom: theme.padding, + }, + }, + }, + collapseContainer: { + "& .ant-collapse-header": { + alignItems: "center !important", + }, + "& .ant-collapse-content": { + maxHeight: 400, + height: "100%", + overflowY: "auto", + "& .ant-collapse-content-box": { + padding: 0, + }, + }, + }, + title: { + fontSize: theme.fontSizeHeading5, + lineHeight: theme.lineHeightHeading5, + fontWeight: theme.fontWeightMedium, + }, + subTitle: { + fontSize: theme.fontSize, + lineHeight: theme.lineHeight, + fontWeight: theme.fontWeightMedium, + }, + container: { + width: 400, + "& .ant-popover-title": { + marginBottom: theme.margin, + }, + "& .ant-popover-inner": { + padding: `${theme.paddingSM}px ${theme.padding}px`, + }, + }, + tabsContainer: { + height: "100%", + display: "flex", + "& .ant-tabs-content-holder": { + paddingLeft: theme.padding, + flex: 1, + overflow: "auto", + }, + "& .ant-tabs-tab": { + color: theme.colorTextSecondary, + "&:hover": { + backgroundColor: theme.colorInfoBg, + }, + }, + "& .ant-tabs-ink-bar": { + display: "none", + }, + "& .ant-tabs-tab-active": { + backgroundColor: theme.controlItemBgActive, + borderRight: `2px solid ${theme.colorPrimary}`, + color: theme.colorPrimary, + fontWeight: `${theme.fontWeightMedium} !important`, + }, + }, +})) diff --git a/web/ee/src/components/pages/evaluations/NewEvaluation/index.tsx b/web/ee/src/components/pages/evaluations/NewEvaluation/index.tsx new file mode 100644 index 0000000000..f1e0463f54 --- /dev/null +++ b/web/ee/src/components/pages/evaluations/NewEvaluation/index.tsx @@ -0,0 +1,551 @@ +import {useCallback, memo, useEffect, useMemo, useRef, useState} from "react" + +import {getDefaultStore} from "jotai" +import dynamic from "next/dynamic" +import {useRouter} from "next/router" + +import {message} from "@/oss/components/AppMessageContext" +import EnhancedModal from "@/oss/components/EnhancedUIs/Modal" +import {useAppId} from "@/oss/hooks/useAppId" +import useURL from "@/oss/hooks/useURL" +import {useVaultSecret} from "@/oss/hooks/useVaultSecret" +import {redirectIfNoLLMKeys} from "@/oss/lib/helpers/utils" +import useAppVariantRevisions from "@/oss/lib/hooks/useAppVariantRevisions" +import useFetchEvaluatorsData from "@/oss/lib/hooks/useFetchEvaluatorsData" +import usePreviewEvaluations from "@/oss/lib/hooks/usePreviewEvaluations" +import {extractInputKeysFromSchema} from "@/oss/lib/shared/variant/inputHelpers" +import {createEvaluation} from "@/oss/services/evaluations/api" +import {fetchTestset} from "@/oss/services/testsets/api" +import {useAppsData} from "@/oss/state/app/hooks" +import {stablePromptVariablesAtomFamily} from "@/oss/state/newPlayground/core/prompts" +import {variantFlagsAtomFamily} from "@/oss/state/newPlayground/core/variantFlags" +import {useTestsetsData} from "@/oss/state/testset" +import {appSchemaAtom, appUriInfoAtom} from "@/oss/state/variant/atoms/fetcher" + +import {buildEvaluationNavigationUrl} from "../utils" + +import {DEFAULT_ADVANCE_SETTINGS} from "./assets/constants" +import {useStyles} from "./assets/styles" +import type {LLMRunRateLimitWithCorrectAnswer, NewEvaluationModalGenericProps} from "./types" + +const NewEvaluationModalContent = dynamic(() => import("./Components/NewEvaluationModalContent"), { + ssr: false, +}) + +const NewEvaluationModal = ({ + onSuccess, + preview = false as Preview, + evaluationType, + ...props +}: NewEvaluationModalGenericProps) => { + const classes = useStyles() + const appId = useAppId() + const isAppScoped = Boolean(appId) + const {apps: availableApps = []} = useAppsData() + const [selectedAppId, setSelectedAppId] = useState(appId || "") + const appOptions = useMemo(() => { + const options = availableApps.map((app) => ({ + label: app.app_name, + value: app.app_id, + type: app.app_type ?? null, + createdAt: app.created_at ?? null, + updatedAt: app.updated_at ?? null, + })) + if (selectedAppId && !options.some((opt) => opt.value === selectedAppId)) { + options.push({ + label: selectedAppId, + value: selectedAppId, + type: null, + createdAt: null, + updatedAt: null, + }) + } + return options + }, [availableApps, selectedAppId]) + const router = useRouter() + const {baseAppURL, projectURL} = useURL() + + // Fetch evaluation data + const evaluationData = useFetchEvaluatorsData({ + preview, + queries: {is_human: evaluationType === "human"}, + appId: selectedAppId || "", + }) + + // Use useMemo to derive evaluators, evaluatorConfigs, and loading flags based on preview flag + const {evaluators, evaluatorConfigs, loadingEvaluators, loadingEvaluatorConfigs} = + useMemo(() => { + if (preview) { + return { + evaluators: evaluationData.evaluatorsSwr?.data || [], + evaluatorConfigs: [], + loadingEvaluators: evaluationData.evaluatorsSwr?.isLoading ?? false, + loadingEvaluatorConfigs: false, + } + } else { + return { + evaluators: [], + evaluatorConfigs: evaluationData.evaluatorConfigsSwr?.data || [], + loadingEvaluators: false, + loadingEvaluatorConfigs: evaluationData.evaluatorConfigsSwr?.isLoading ?? false, + } + } + }, [ + preview, + evaluationData.evaluatorsSwr?.data, + evaluationData.evaluatorsSwr?.isLoading, + evaluationData.evaluatorConfigsSwr?.data, + evaluationData.evaluatorConfigsSwr?.isLoading, + ]) + + const [submitLoading, setSubmitLoading] = useState(false) + const [selectedTestsetId, setSelectedTestsetId] = useState("") + const [selectedVariantRevisionIds, setSelectedVariantRevisionIds] = useState([]) + const [selectedEvalConfigs, setSelectedEvalConfigs] = useState([]) + const [activePanel, setActivePanel] = useState( + isAppScoped ? "variantPanel" : "appPanel", + ) + const [evaluationName, setEvaluationName] = useState("") + const [nameFocused, setNameFocused] = useState(false) + const [advanceSettings, setAdvanceSettings] = + useState(DEFAULT_ADVANCE_SETTINGS) + + useEffect(() => { + if (isAppScoped) { + setSelectedAppId(appId || "") + } else if (!props.open) { + setSelectedAppId("") + } + }, [appId, isAppScoped, props.open]) + + useEffect(() => { + if (!props.open) return + if (!isAppScoped) return + if (!selectedAppId) return + if (activePanel !== "appPanel") return + setActivePanel("variantPanel") + }, [props.open, isAppScoped, selectedAppId, activePanel]) + + const handleAppSelection = useCallback( + (value: string) => { + if (value === selectedAppId) return + setSelectedAppId(value) + setSelectedTestsetId("") + setSelectedVariantRevisionIds([]) + setSelectedEvalConfigs([]) + setEvaluationName("") + setActivePanel("variantPanel") + setAdvanceSettings(DEFAULT_ADVANCE_SETTINGS) + }, + [ + selectedAppId, + isAppScoped, + setSelectedTestsetId, + setSelectedVariantRevisionIds, + setSelectedEvalConfigs, + setEvaluationName, + setActivePanel, + setAdvanceSettings, + ], + ) + + const {variants: appVariantRevisions, isLoading: variantsLoading} = useAppVariantRevisions( + selectedAppId || null, + ) + const filteredVariants = useMemo(() => { + if (!selectedAppId) return [] + return appVariantRevisions || [] + }, [appVariantRevisions, selectedAppId]) + + const {createNewRun: createPreviewEvaluationRun} = usePreviewEvaluations({ + appId: selectedAppId || appId, + }) + const {testsets, isLoading: testsetsLoading} = useTestsetsData() + + const {secrets} = useVaultSecret() + + const handlePanelChange = useCallback((key: string | string[]) => { + setActivePanel(key as string) + }, []) + + const afterClose = useCallback(() => { + props?.afterClose?.() + setEvaluationName("") + setSelectedEvalConfigs([]) + setSelectedTestsetId("") + setSelectedVariantRevisionIds([]) + setAdvanceSettings(DEFAULT_ADVANCE_SETTINGS) + setActivePanel("appPanel") + if (!isAppScoped) { + setSelectedAppId("") + } + }, [props?.afterClose, isAppScoped]) + + // Track focus on any input within modal to avoid overriding user typing + useEffect(() => { + function handleFocusIn(e: FocusEvent) { + if ((e.target as HTMLElement).tagName === "INPUT") { + setNameFocused(true) + } + } + function handleFocusOut(e: FocusEvent) { + if ((e.target as HTMLElement).tagName === "INPUT") { + setNameFocused(false) + } + } + document.addEventListener("focusin", handleFocusIn) + document.addEventListener("focusout", handleFocusOut) + return () => { + document.removeEventListener("focusin", handleFocusIn) + document.removeEventListener("focusout", handleFocusOut) + } + }, []) + + // Memoised base (deterministic) part of generated name (without random suffix) + const generatedNameBase = useMemo(() => { + if (!selectedVariantRevisionIds.length || !selectedTestsetId) return "" + const variant = filteredVariants?.find((v) => selectedVariantRevisionIds.includes(v.id)) + const testset = testsets?.find((ts) => ts._id === selectedTestsetId) + if (!variant || !testset) return "" + return `${variant.variantName}-v${variant.revision}-${testset.name}` + }, [selectedVariantRevisionIds, selectedTestsetId, filteredVariants, testsets]) + + // Auto-generate / update evaluation name intelligently to avoid loops + const lastAutoNameRef = useRef("") + const lastBaseRef = useRef("") + const randomWordRef = useRef("") + + // Generate a short, readable random suffix (stable per modal open) + const genRandomWord = () => { + // Prefer Web Crypto for better entropy + const n = globalThis.crypto?.getRandomValues?.(new Uint32Array(1))?.[0] ?? 0 + if (n) return n.toString(36).slice(0, 5) + // Fallback to Math.random + return Math.random().toString(36).slice(2, 7) + } + + useEffect(() => { + if (!props.open) return + // New random suffix per open, and reset last suggestion trackers + randomWordRef.current = genRandomWord() + lastAutoNameRef.current = "" + lastBaseRef.current = "" + return () => { + randomWordRef.current = "" + } + }, [props.open]) + useEffect(() => { + if (!generatedNameBase) return + if (nameFocused) return // user typing + + // When base (variant/testset) changed → generate new suggestion + if (generatedNameBase !== lastBaseRef.current) { + // Ensure we have a random word for this session + if (!randomWordRef.current) randomWordRef.current = genRandomWord() + const randomWord = randomWordRef.current + const newName = `${generatedNameBase}-${randomWord}` + const shouldUpdate = !evaluationName || evaluationName === lastAutoNameRef.current + lastBaseRef.current = generatedNameBase + lastAutoNameRef.current = newName + if (shouldUpdate) { + setEvaluationName(newName) + } + return + } + + // If user cleared the field (blur) -> restore auto-name + if (!evaluationName) { + setEvaluationName(lastAutoNameRef.current) + } + }, [generatedNameBase, evaluationName, nameFocused, evaluationType]) + + const validateSubmission = useCallback(async () => { + if (!evaluationName) { + message.error("Please enter evaluation name") + return false + } + if (!selectedTestsetId) { + message.error("Please select a test set") + return false + } + if (selectedVariantRevisionIds.length === 0) { + message.error("Please select app variant") + return false + } + if (selectedEvalConfigs.length === 0) { + message.error("Please select evaluator configuration") + return false + } + if ( + !preview && + selectedEvalConfigs.some( + (id) => + evaluatorConfigs.find((config) => config.id === id)?.evaluator_key === + "auto_ai_critique", + ) && + (await redirectIfNoLLMKeys({secrets})) + ) { + message.error("LLM keys are required for AI Critique configuration") + return false + } + + // Validate variant + if (selectedVariantRevisionIds.length > 0) { + const revisions = filteredVariants?.filter((rev) => + selectedVariantRevisionIds.includes(rev.id), + ) + if (!revisions?.length) { + message.error("Please select variant") + return false + } + + const variantInputs = revisions + .map((rev) => { + const store = getDefaultStore() + const flags = store.get(variantFlagsAtomFamily({revisionId: rev.id})) as any + const spec = store.get(appSchemaAtom) as any + const routePath = store.get(appUriInfoAtom)?.routePath || "" + const schemaKeys = spec + ? extractInputKeysFromSchema(spec as any, routePath) + : [] + if (flags?.isCustom) { + // Custom workflows: strictly use schema-defined input keys + return schemaKeys + } + // Non-custom: use stable variables from saved parameters (ignore live edits) + const stableVars = store.get(stablePromptVariablesAtomFamily(rev.id)) || [] + return Array.from(new Set(stableVars)) + }) + .flat() + + const testset = await fetchTestset(selectedTestsetId) + if (!testset) { + message.error("Please select a test set") + return false + } + const testsetColumns = Object.keys(testset?.csvdata[0] || {}) + + if (!testsetColumns.length) { + message.error("Please select a correct testset which has test cases") + return false + } + + // Validate that testset contains required expected answer columns from selected evaluator configs + const missingColumnConfigs = selectedEvalConfigs + .map((configId) => evaluatorConfigs.find((config) => config.id === configId)) + .filter((config) => { + // Only check configs that have a correct_answer_key setting + if (!config?.settings_values?.correct_answer_key) return false + const expectedColumn = config.settings_values.correct_answer_key + return !testsetColumns.includes(expectedColumn) + }) + + if (missingColumnConfigs.length > 0) { + const missingColumns = missingColumnConfigs + .map((config) => config?.settings_values?.correct_answer_key) + .filter(Boolean) + .join(", ") + message.error( + `Please select a testset that has the required expected answer columns: ${missingColumns}`, + ) + return false + } + + if (variantInputs.length > 0) { + const isInputParamsAndTestsetColumnsMatch = variantInputs.every((input) => { + return testsetColumns.includes(input) + }) + if (!isInputParamsAndTestsetColumnsMatch) { + message.error( + "The testset columns do not match the selected variant input parameters", + ) + return false + } + } + } + return true + }, [ + selectedTestsetId, + selectedVariantRevisionIds, + selectedEvalConfigs, + evaluatorConfigs, + secrets, + preview, + evaluationName, + advanceSettings, + filteredVariants, + testsets, + evaluationType, + ]) + + const onSubmit = useCallback(async () => { + setSubmitLoading(true) + try { + if (!(await validateSubmission())) return + + const targetAppId = selectedAppId || appId + if (!targetAppId) { + message.error("Please select an application") + setSubmitLoading(false) + return + } + + const revisions = filteredVariants + const {correct_answer_column, ...rateLimitValues} = advanceSettings + + // Narrow evalDataSource with runtime guards for correct typing + let evalDataSource: typeof evaluatorConfigs | typeof evaluators + if (preview) { + evalDataSource = evaluators + + const selectionData = { + name: evaluationName, + revisions: revisions + ?.filter((rev) => selectedVariantRevisionIds.includes(rev.id)) + .filter(Boolean), + testset: testsets?.find((testset) => testset._id === selectedTestsetId), + evaluators: selectedEvalConfigs + .map((id) => + (evalDataSource || []).find((config) => { + return config.id === id + }), + ) + .filter(Boolean), + rate_limit: rateLimitValues, + correctAnswerColumn: correct_answer_column, + } + + if ( + !selectionData.revisions?.length || + !selectionData.testset || + !selectionData.evaluators?.length || + (evaluationType === "human" && !evaluationName) + ) { + message.error( + `Please select a test set, app variant, ${evaluationType === "human" ? "evaluation name, and" : " and"} evaluator configuration. Missing: ${ + !selectionData.revisions?.length ? "app revision" : "" + } ${!selectionData.testset ? "test set" : ""} ${ + !selectionData.evaluators?.length + ? "evaluators" + : evaluationType === "human" && !evaluationName + ? "evaluation name" + : "" + }`, + ) + setSubmitLoading(false) + return + } else { + const data = await createPreviewEvaluationRun(structuredClone(selectionData)) + + const runId = data.run.runs[0].id + const scope = isAppScoped ? "app" : "project" + const targetPath = buildEvaluationNavigationUrl({ + scope, + baseAppURL, + projectURL, + appId: targetAppId, + path: `/evaluations/single_model_test/${runId}`, + }) + + if (scope === "project") { + router.push({ + pathname: targetPath, + query: targetAppId ? {app_id: targetAppId} : undefined, + }) + } else { + router.push(targetPath) + } + } + } else { + createEvaluation(targetAppId, { + testset_id: selectedTestsetId, + revisions_ids: selectedVariantRevisionIds, + evaluators_configs: selectedEvalConfigs, + rate_limit: rateLimitValues, + correct_answer_column: correct_answer_column, + name: evaluationName, + }) + .then(onSuccess) + .catch(console.error) + .finally(() => { + // refetch + setSubmitLoading(false) + }) + } + } catch (error) { + console.error(error) + setSubmitLoading(false) + } finally { + setSubmitLoading(false) + } + + return + }, [ + appId, + selectedAppId, + selectedTestsetId, + selectedVariantRevisionIds, + selectedEvalConfigs, + advanceSettings, + evaluatorConfigs, + evaluationName, + filteredVariants, + testsets, + evaluators, + preview, + validateSubmission, + createPreviewEvaluationRun, + baseAppURL, + onSuccess, + ]) + + return ( + New {evaluationType === "auto" ? "Auto" : "Human"} Evaluation} + onOk={onSubmit} + okText="Start Evaluation" + maskClosable={false} + width={1200} + className={classes.modalContainer} + confirmLoading={submitLoading} + afterClose={afterClose} + {...props} + > + + + ) +} + +export default memo(NewEvaluationModal) diff --git a/web/ee/src/components/pages/evaluations/NewEvaluation/types.ts b/web/ee/src/components/pages/evaluations/NewEvaluation/types.ts new file mode 100644 index 0000000000..e40ebe0cc2 --- /dev/null +++ b/web/ee/src/components/pages/evaluations/NewEvaluation/types.ts @@ -0,0 +1,92 @@ +import type {Dispatch, HTMLProps, SetStateAction} from "react" + +import {ModalProps} from "antd" + +import {EvaluatorDto} from "@/oss/lib/hooks/useEvaluators/types" +import {EnhancedVariant} from "@/oss/lib/shared/variant/transformer/types" +import {LLMRunRateLimit, Evaluator, EvaluatorConfig, testset} from "@/oss/lib/Types" + +export interface NewEvaluationAppOption { + label: string + value: string + type?: string | null + createdAt?: string | null + updatedAt?: string | null +} + +export interface LLMRunRateLimitWithCorrectAnswer extends LLMRunRateLimit { + correct_answer_column: string +} + +export interface NewEvaluationModalProps extends ModalProps { + onSuccess?: () => void + evaluationType: "auto" | "human" + preview?: boolean +} + +export interface NewEvaluationModalContentProps extends HTMLProps { + evaluationType: "auto" | "human" + activePanel: string | null + selectedTestsetId: string + selectedVariantRevisionIds: string[] + selectedEvalConfigs: string[] + evaluationName: string + preview?: boolean + isLoading?: boolean + setSelectedTestsetId: Dispatch> + onSuccess?: () => void + handlePanelChange: (key: string | string[]) => void + setSelectedVariantRevisionIds: Dispatch> + setSelectedEvalConfigs: Dispatch> + setEvaluationName: Dispatch> + isOpen?: boolean + testSets: testset[] + variants?: EnhancedVariant[] + variantsLoading?: boolean + evaluators: Evaluator[] | EvaluatorDto<"response">[] + evaluatorConfigs: EvaluatorConfig[] + advanceSettings: LLMRunRateLimitWithCorrectAnswer + setAdvanceSettings: Dispatch> + appOptions: NewEvaluationAppOption[] + selectedAppId: string + onSelectApp: (value: string) => void + appSelectionDisabled?: boolean +} + +export interface SelectVariantSectionProps extends HTMLProps { + isVariantLoading?: boolean + variants?: EnhancedVariant[] + selectedVariantRevisionIds: string[] + setSelectedVariantRevisionIds: Dispatch> + handlePanelChange: (key: string | string[]) => void + evaluationType: "auto" | "human" +} + +export interface SelectTestsetSectionProps extends HTMLProps { + testSets: testset[] + selectedTestsetId: string + setSelectedTestsetId: Dispatch> + handlePanelChange: (key: string | string[]) => void + preview?: boolean +} + +export interface SelectEvaluatorSectionProps extends HTMLProps { + evaluatorConfigs: EvaluatorConfig[] + evaluators: Evaluator[] + selectedEvalConfigs: string[] + setSelectedEvalConfigs: Dispatch> + handlePanelChange: (key: string | string[]) => void + preview?: boolean + selectedAppId?: string +} + +export interface AdvancedSettingsProps { + advanceSettings: LLMRunRateLimitWithCorrectAnswer + setAdvanceSettings: Dispatch> + preview?: boolean +} + +export interface NewEvaluationModalGenericProps + extends Omit { + preview?: Preview +} diff --git a/web/ee/src/components/pages/evaluations/autoEvaluation/AutoEvaluation.tsx b/web/ee/src/components/pages/evaluations/autoEvaluation/AutoEvaluation.tsx new file mode 100644 index 0000000000..539197f20d --- /dev/null +++ b/web/ee/src/components/pages/evaluations/autoEvaluation/AutoEvaluation.tsx @@ -0,0 +1,318 @@ +import {useCallback, useMemo, useState} from "react" + +import {QueryClient, QueryClientProvider} from "@tanstack/react-query" +import {message} from "antd" +import {ColumnsType} from "antd/es/table" +import {useAtom} from "jotai" +import {useRouter} from "next/router" + +import DeleteEvaluationModal from "@/oss/components/DeleteEvaluationModal/DeleteEvaluationModal" +import EnhancedTable from "@/oss/components/EnhancedUIs/Table" +import {filterColumns} from "@/oss/components/Filters/EditColumns/assets/helper" +import {getColumns} from "@/oss/components/HumanEvaluations/assets/utils" +import {EvaluationRow} from "@/oss/components/HumanEvaluations/types" +import {useAppId} from "@/oss/hooks/useAppId" +import useURL from "@/oss/hooks/useURL" +import {EvaluationType} from "@/oss/lib/enums" +import {buildRevisionsQueryParam} from "@/oss/lib/helpers/url" +import useEvaluations from "@/oss/lib/hooks/useEvaluations" +import {tempEvaluationAtom} from "@/oss/lib/hooks/usePreviewRunningEvaluations/states/runningEvalAtom" +import useRunMetricsMap from "@/oss/lib/hooks/useRunMetricsMap" +import {EvaluationStatus} from "@/oss/lib/Types" +import {useAppsData} from "@/oss/state/app" + +import {buildAppScopedUrl, buildEvaluationNavigationUrl, extractEvaluationAppId} from "../utils" + +import AutoEvaluationHeader from "./assets/AutoEvaluationHeader" + +interface AutoEvaluationProps { + viewType?: "overview" | "evaluation" + scope?: "app" | "project" +} + +const AutoEvaluation = ({viewType = "evaluation", scope = "app"}: AutoEvaluationProps) => { + const routeAppId = useAppId() + const activeAppId = scope === "app" ? routeAppId || undefined : undefined + const router = useRouter() + const {baseAppURL, projectURL} = useURL() + + const [selectedRowKeys, setSelectedRowKeys] = useState([]) + + const [selectedEvalRecord, setSelectedEvalRecord] = useState() + const [isDeleteEvalModalOpen, setIsDeleteEvalModalOpen] = useState(false) + const [isDeletingEvaluations, setIsDeletingEvaluations] = useState(false) + const [hiddenColumns, setHiddenColumns] = useState([]) + const [tempEvaluation, setTempEvaluation] = useAtom(tempEvaluationAtom) + const {apps: availableApps = []} = useAppsData() + + const { + mergedEvaluations: _mergedEvaluations, + isLoadingPreview, + isLoadingLegacy, + refetch, + handleDeleteEvaluations: deleteEvaluations, + previewEvaluations, + } = useEvaluations({ + withPreview: true, + types: [EvaluationType.automatic, EvaluationType.auto_exact_match], + evalType: "auto", + appId: activeAppId, + }) + + const previewAutoEvals = useMemo(() => { + const evals = previewEvaluations.swrData?.data?.runs || [] + if (!evals.length) return [] + + return evals?.filter((run) => + run?.data?.steps.every( + (step) => step?.type !== "annotation" || step?.origin === "auto", + ), + ) + }, [previewEvaluations]) + + const mergedEvaluations = useMemo(() => { + const mergedIds = new Set(_mergedEvaluations?.map((e) => e.id)) + const filteredTempEvals = tempEvaluation.filter((e) => !mergedIds.has(e.id)) + return [..._mergedEvaluations, ...filteredTempEvals] + }, [_mergedEvaluations, tempEvaluation]) + + const runIds = useMemo(() => { + return mergedEvaluations + .map((evaluation) => { + const candidate = "id" in evaluation ? evaluation.id : evaluation.key + return typeof candidate === "string" ? candidate.trim() : undefined + }) + .filter((id): id is string => Boolean(id && id.length > 0)) + }, [mergedEvaluations]) + const evaluatorSlugs = useMemo(() => { + const evaSlugs = new Set() + previewAutoEvals.forEach((e) => { + const key = e?.data.steps?.find((step) => step.type === "annotation")?.key + if (key) evaSlugs.add(key) + }) + return evaSlugs + }, [previewAutoEvals]) + + const {data: runMetricsMap} = useRunMetricsMap(runIds, evaluatorSlugs) + + const resolveAppId = useCallback( + (record: EvaluationRow): string | undefined => { + const candidate = extractEvaluationAppId(record) || activeAppId + return candidate + }, + [activeAppId], + ) + + const isRecordNavigable = useCallback( + (record: EvaluationRow): boolean => { + const status = record.status?.value || record.status + const evaluationId = "id" in record ? record.id : record.key + const recordAppId = resolveAppId(record) + const isActionableStatus = ![ + EvaluationStatus.PENDING, + EvaluationStatus.RUNNING, + EvaluationStatus.CANCELLED, + EvaluationStatus.INITIALIZED, + ].includes(status) + return Boolean(isActionableStatus && evaluationId && recordAppId) + }, + [resolveAppId], + ) + + const handleVariantNavigation = useCallback( + ({revisionId, appId: recordAppId}: {revisionId: string; appId?: string}) => { + const targetAppId = recordAppId || activeAppId + if (!targetAppId) { + message.warning("This application's variant is no longer available.") + return + } + + router.push({ + pathname: buildAppScopedUrl(baseAppURL, targetAppId, "/playground"), + query: { + revisions: buildRevisionsQueryParam([revisionId]), + }, + }) + }, + [activeAppId, baseAppURL, router], + ) + + const handleDelete = useCallback( + async (ids: string[]) => { + setIsDeletingEvaluations(true) + try { + await deleteEvaluations(ids) + message.success( + ids.length > 1 ? `${ids.length} Evaluations Deleted` : "Evaluation Deleted", + ) + refetch() + } catch (err) { + message.error("Failed to delete evaluations") + console.error(err) + } finally { + setTempEvaluation((prev) => + prev.length > 0 ? prev.filter((e) => !ids.includes(e?.id)) : [], + ) + setIsDeletingEvaluations(false) + setIsDeleteEvalModalOpen(false) + setSelectedRowKeys([]) + } + }, + [refetch, deleteEvaluations], + ) + + const _columns: ColumnsType = useMemo(() => { + return getColumns({ + evaluations: mergedEvaluations, + onVariantNavigation: handleVariantNavigation, + setSelectedEvalRecord, + setIsDeleteEvalModalOpen, + runMetricsMap, + evalType: "auto", + scope, + baseAppURL, + extractAppId: extractEvaluationAppId, + projectURL, + resolveAppId, + }) + }, [ + mergedEvaluations, + handleVariantNavigation, + setSelectedEvalRecord, + setIsDeleteEvalModalOpen, + runMetricsMap, + scope, + baseAppURL, + projectURL, + resolveAppId, + ]) + + const visibleColumns = useMemo( + () => filterColumns(_columns, hiddenColumns), + [_columns, hiddenColumns], + ) + + const selectedEvaluations = useMemo(() => { + return selectedEvalRecord + ? (() => { + const found = mergedEvaluations.find( + (e) => ("id" in e ? e.id : e.key) === selectedEvalRecord?.id, + ) + return found && "name" in found ? found.name : (found?.key ?? "") + })() + : mergedEvaluations + .filter((e) => selectedRowKeys.includes("id" in e ? e.id : e.key)) + .map((e) => ("name" in e ? e.name : e.id)) + .join(" | ") + }, [selectedEvalRecord, selectedRowKeys, mergedEvaluations]) + + const dataSource = useMemo(() => { + return viewType === "overview" ? mergedEvaluations.slice(0, 5) : mergedEvaluations + }, [mergedEvaluations, viewType]) + + return ( +
    + + 0 && !mergedEvaluations?.length) + } + rowSelection={ + viewType === "evaluation" + ? { + type: "checkbox", + columnWidth: 48, + selectedRowKeys, + onChange: (selectedRowKeys: React.Key[]) => { + setSelectedRowKeys(selectedRowKeys) + }, + getCheckboxProps: (record: EvaluationRow) => ({ + disabled: !isRecordNavigable(record), + }), + } + : undefined + } + className="ph-no-capture" + showHorizontalScrollBar={true} + columns={visibleColumns} + rowKey={(record: any) => ("id" in record ? record.id : record.key)} + dataSource={dataSource} + tableLayout="fixed" + virtualized + onRow={(record) => { + const navigable = isRecordNavigable(record) + const recordAppId = resolveAppId(record) + const evaluationId = "id" in record ? record.id : record.key + return { + style: { + cursor: navigable ? "pointer" : "not-allowed", + }, + className: navigable ? undefined : "cursor-not-allowed opacity-60", + onClick: () => { + if (!navigable || !recordAppId || !evaluationId) { + message.warning( + "This evaluation's application is no longer available.", + ) + return + } + + const targetPath = buildEvaluationNavigationUrl({ + scope, + baseAppURL, + projectURL, + appId: recordAppId, + path: `/evaluations/results/${evaluationId}`, + }) + + if (scope === "project") { + router.push({ + pathname: targetPath, + query: recordAppId ? {app_id: recordAppId} : undefined, + }) + } else { + router.push(targetPath) + } + }, + } + }} + /> + { + setIsDeleteEvalModalOpen(false) + setSelectedEvalRecord(undefined) + }} + onOk={async () => { + const idsToDelete = selectedEvalRecord + ? [selectedEvalRecord.id] + : selectedRowKeys.map((key) => key?.toString()) + await handleDelete(idsToDelete.filter(Boolean)) + }} + evaluationType={selectedEvaluations} + isMultiple={!selectedEvalRecord && selectedRowKeys.length > 0} + /> +
    + ) +} + +export default AutoEvaluation diff --git a/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/ConfigureEvaluator/AdvancedSettings.tsx b/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/ConfigureEvaluator/AdvancedSettings.tsx new file mode 100644 index 0000000000..3a71dcb469 --- /dev/null +++ b/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/ConfigureEvaluator/AdvancedSettings.tsx @@ -0,0 +1,128 @@ +import {CaretRightOutlined, InfoCircleOutlined} from "@ant-design/icons" +import Editor from "@monaco-editor/react" +import { + Form, + Input, + InputNumber, + Switch, + Tooltip, + Collapse, + theme, + AutoComplete, + Select, +} from "antd" +import {createUseStyles} from "react-jss" + +import {useAppTheme} from "@/oss/components/Layout/ThemeContextProvider" +import {generatePaths} from "@/oss/lib/transformers" + +const useStyles = createUseStyles((theme: any) => ({ + label: { + display: "flex", + alignItems: "center", + gap: "0.5rem", + }, + editor: { + border: `1px solid ${theme.colorBorder}`, + borderRadius: theme.borderRadius, + overflow: "hidden", + }, +})) + +interface AdvancedSettingsProps { + settings: Record[] + selectedTestcase: { + testcase: Record | null + } +} + +const AdvancedSettings: React.FC = ({settings, selectedTestcase}) => { + const classes = useStyles() + const {appTheme} = useAppTheme() + const {token} = theme.useToken() + + return ( + ( + + )} + > + + {settings.map((field) => { + const rules = [ + {required: field.required ?? true, message: "This field is required"}, + ] + + return ( + + {field.label} + {field.description && ( + + + + )} + + } + initialValue={field.default} + rules={rules} + > + {(field.type === "string" || field.type === "regex") && + selectedTestcase.testcase ? ( + + option!.value + .toUpperCase() + .indexOf(inputValue.toUpperCase()) !== -1 + } + /> + ) : field.type === "string" || field.type === "regex" ? ( + + ) : field.type === "number" ? ( + + ) : field.type === "boolean" || field.type === "bool" ? ( + + ) : field.type === "text" ? ( + + ) : field.type === "code" ? ( + + ) : field.type === "multiple_choice" ? ( + + ) : type === "hidden" ? ( + + ) : type === "messages" ? ( + + ) : type === "number" ? ( + + ) : type === "boolean" || type === "bool" ? ( + + ) : type === "text" ? ( + + ) : type === "code" ? ( + + ) : type === "object" ? ( + + ) : null} + + )} + + {ExternalHelpInfo} + + ) +} diff --git a/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/ConfigureEvaluator/EvaluatorTestcaseModal.tsx b/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/ConfigureEvaluator/EvaluatorTestcaseModal.tsx new file mode 100644 index 0000000000..1f7904602d --- /dev/null +++ b/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/ConfigureEvaluator/EvaluatorTestcaseModal.tsx @@ -0,0 +1,174 @@ +import {useEffect, useMemo, useState} from "react" + +import {CloseOutlined} from "@ant-design/icons" +import {Play} from "@phosphor-icons/react" +import {Button, Divider, Input, Menu, Modal, Table, Typography} from "antd" +import {ColumnsType} from "antd/es/table" + +import {TestSet} from "@/oss/lib/Types" +import {fetchTestset} from "@/oss/services/testsets/api" + +import {useEvaluatorTestcaseModalStyles as useStyles} from "./assets/styles" +import {EvaluatorTestcaseModalProps} from "./types" + +const EvaluatorTestcaseModal = ({ + testsets, + setSelectedTestcase, + selectedTestset, + setSelectedTestset, + ...props +}: EvaluatorTestcaseModalProps) => { + const classes = useStyles() + const [isLoadingTestset, setIsLoadingTestset] = useState(false) + const [testsetCsvData, setTestsetCsvData] = useState([]) + const [selectedRowKeys, setSelectedRowKeys] = useState([]) + const [searchTerm, setSearchTerm] = useState("") + + const filteredTestset = useMemo(() => { + if (!searchTerm) return testsets + return testsets.filter((item) => item.name.toLowerCase().includes(searchTerm.toLowerCase())) + }, [searchTerm, testsets]) + + useEffect(() => { + const testsetFetcher = async () => { + try { + setIsLoadingTestset(true) + const data = await fetchTestset(selectedTestset) + if (data) { + setTestsetCsvData(data.csvdata) + } + } catch (error) { + console.error(error) + } finally { + setIsLoadingTestset(false) + } + } + + testsetFetcher() + }, [selectedTestset]) + + type TestcaseRow = Record & {id: number} + const columnDef = useMemo(() => { + const columns: ColumnsType = [] + + if (testsetCsvData.length > 0) { + const keys = Object.keys(testsetCsvData[0]) + + columns.push( + ...keys.map((key, index) => ({ + title: key, + dataIndex: key, + key: index, + width: 300, + onHeaderCell: () => ({ + style: {minWidth: 160}, + }), + render: (_: any, record: TestcaseRow) => { + return
    {record[key]}
    + }, + })), + ) + } + + return columns + }, [testsetCsvData]) + + const rowSelection = { + selectedRowKeys, + onChange: (keys: React.Key[]) => { + setSelectedRowKeys(keys) + }, + } + + const loadTestCase = () => { + const selectedTestCase = testsetCsvData.find((_, index) => index === selectedRowKeys[0]) + + if (selectedTestCase) { + setSelectedTestcase({testcase: selectedTestCase}) + props.onCancel?.({} as any) + } + } + + return ( + , + iconPosition: "end", + disabled: !selectedRowKeys.length, + onClick: loadTestCase, + loading: isLoadingTestset, + }} + className={classes.container} + title={ +
    + Load Testcase +
    + } + {...props} + > +
    +
    + setSearchTerm(e.target.value)} + /> + + + + ({ + key: testset._id, + label: testset.name, + }))} + onSelect={({key}) => { + setSelectedTestset(key) + setSelectedRowKeys([]) + }} + defaultSelectedKeys={[selectedTestset]} + className={classes.menu} + /> +
    + +
    + + Select a testcase + + +
    ({...data, id: index}) as TestcaseRow, + )} + columns={columnDef} + className="flex-1" + bordered + rowKey={"id"} + pagination={false} + scroll={{y: 500, x: "max-content"}} + onRow={(_, rowIndex) => ({ + className: "cursor-pointer", + onClick: () => { + if (rowIndex !== undefined) { + setSelectedRowKeys([rowIndex]) + } + }, + })} + /> + + + + ) +} + +export default EvaluatorTestcaseModal diff --git a/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/ConfigureEvaluator/EvaluatorVariantModal.tsx b/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/ConfigureEvaluator/EvaluatorVariantModal.tsx new file mode 100644 index 0000000000..71d67c7e1e --- /dev/null +++ b/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/ConfigureEvaluator/EvaluatorVariantModal.tsx @@ -0,0 +1,158 @@ +import { + useCallback, + useMemo, + useState, + useEffect, + type ComponentProps, + type Dispatch, + type SetStateAction, + type Key, +} from "react" + +import {CloseOutlined} from "@ant-design/icons" +import {Play} from "@phosphor-icons/react" +import {Button, Input, Modal, Typography} from "antd" +import {useAtomValue} from "jotai" +import {createUseStyles} from "react-jss" + +import VariantsTable from "@/oss/components/VariantsComponents/Table" +import type {EnhancedVariant} from "@/oss/lib/shared/variant/transformer/types" +import {JSSTheme, Variant as BaseVariant} from "@/oss/lib/Types" +import {revisionMapAtom} from "@/oss/state/variant/atoms/fetcher" + +type Variant = BaseVariant & {id?: string} +type EvaluatorVariantModalProps = { + variants: Variant[] | null + setSelectedVariant: Dispatch> + selectedVariant: Variant | null +} & ComponentProps + +const useStyles = createUseStyles((theme: JSSTheme) => ({ + title: { + fontSize: theme.fontSizeHeading4, + lineHeight: theme.lineHeightLG, + fontWeight: theme.fontWeightStrong, + }, + container: { + "& .ant-modal-body": { + height: 600, + }, + }, + table: { + "& .ant-table-thead > tr > th": { + height: 32, + padding: "0 16px", + }, + "& .ant-table-tbody > tr > td": { + height: 48, + padding: "0 16px", + }, + }, +})) + +const EvaluatorVariantModal = ({ + variants, + setSelectedVariant, + selectedVariant, + ...props +}: EvaluatorVariantModalProps) => { + const classes = useStyles() + const [searchTerm, setSearchTerm] = useState("") + const [selectedRowKeys, setSelectedRowKeys] = useState([]) + + // Build a list of latest revisions (EnhancedVariant) for each base variant + const revisionMap = useAtomValue(revisionMapAtom) + const latestRevisions: EnhancedVariant[] = useMemo(() => { + const list: EnhancedVariant[] = [] + ;(variants || []).forEach((v) => { + const arr = revisionMap[v.variantId] || [] + if (arr && arr.length > 0) list.push(arr[0]) + }) + return list + }, [variants, revisionMap]) + + // Clear selection when modal is opened + useEffect(() => { + if (props.open) { + // Preselect currently selected variant's latest revision id + const rev = latestRevisions.find((r) => r.variantId === selectedVariant?.variantId) + setSelectedRowKeys(rev?.id ? [rev.id] : []) + } + }, [props.open, selectedVariant?.variantId, latestRevisions]) + + const filtered = useMemo(() => { + const src = latestRevisions + if (!searchTerm) return src + return (src || []).filter((item) => + (item.variantName || "").toLowerCase().includes(searchTerm.toLowerCase()), + ) + }, [searchTerm, latestRevisions]) + + const loadVariant = useCallback(() => { + const selectedRevision = filtered?.find((rev) => rev.id === selectedRowKeys[0]) + if (selectedRevision) { + // Find the base variant matching this revision and pass it back + const base = (variants || []).find((v) => v.variantId === selectedRevision.variantId) + if (base) setSelectedVariant(base) + props.onCancel?.({} as any) + } + }, [filtered, selectedRowKeys, setSelectedVariant, props, variants]) + + return ( + , + iconPosition: "end", + disabled: !selectedRowKeys.length, + onClick: loadVariant, + }} + title={ +
    + + Select variant to run + +
    + } + centered + {...props} + > +
    + setSearchTerm(e.target.value)} + placeholder="Search" + allowClear + className="w-[240px]" + /> + + setSelectedRowKeys(value), + type: "radio", + }} + isLoading={false} + onRowClick={() => {}} + // Use revision id for table and selection, so the cell renderers resolve correctly + rowKey={"id"} + // Use stable name display to avoid showing Draft tag in selection UI + showStableName + className={classes.table} + showActionsDropdown={false} + /> +
    +
    + ) +} + +export default EvaluatorVariantModal diff --git a/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/ConfigureEvaluator/Messages.tsx b/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/ConfigureEvaluator/Messages.tsx new file mode 100644 index 0000000000..273bcf6f4d --- /dev/null +++ b/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/ConfigureEvaluator/Messages.tsx @@ -0,0 +1,158 @@ +import {useEffect, useMemo} from "react" + +import {PlusOutlined} from "@ant-design/icons" +import {MinusCircle} from "@phosphor-icons/react" +import {Button, Form, Input} from "antd" +import isEqual from "lodash/isEqual" + +import MessageEditor from "@/oss/components/Playground/Components/ChatCommon/MessageEditor" +import EnhancedButton from "@/oss/components/Playground/assets/EnhancedButton" + +interface Message { + role: string + content: string +} + +interface MessagesProps { + value?: Message[] + onChange?: (messages: Message[]) => void +} + +const roleOptions = [ + {label: "system", value: "system"}, + {label: "user", value: "user"}, + {label: "assistant", value: "assistant"}, +] + +const normalizeMessages = (messages?: Message[] | string): Message[] => { + if (typeof messages === "string") { + return [{role: "system", content: messages}] + } + if (Array.isArray(messages)) { + return messages.filter(Boolean).map((message) => ({ + role: message.role || "user", + content: message.content || "", + })) + } + return [] +} + +export const Messages: React.FC = ({value = [], onChange}) => { + const form = Form.useFormInstance() + const normalizedValue = useMemo(() => normalizeMessages(value), [value]) + const watchedMessages = Form.useWatch("messages", form) + const currentMessages = watchedMessages ?? normalizedValue + + useEffect(() => { + const currentMessages = form.getFieldValue("messages") + if (!isEqual(currentMessages, normalizedValue)) { + form.setFieldsValue({messages: normalizedValue}) + } + }, [normalizedValue, form]) + + const updateMessages = (updater: (messages: Message[]) => Message[]) => { + const existing = normalizeMessages(form.getFieldValue("messages")) + const updated = updater(existing) + form.setFieldsValue({messages: updated}) + onChange?.(updated) + } + + return ( + + {(fields, {add, remove}) => ( + <> + {fields.map(({key, name, ...restField}, index) => { + const message = currentMessages?.[index] ?? { + role: "user", + content: "", + } + + return ( +
    +
    + + + + + + + + updateMessages((prev) => { + const next = [...prev] + next[index] = { + ...next[index], + role, + } + return next + }) + } + onChangeText={(content) => + updateMessages((prev) => { + const next = [...prev] + next[index] = { + ...next[index], + content: content || "", + } + return next + }) + } + roleOptions={roleOptions} + editorType="border" + headerRight={ + fields.length > 1 ? ( +
    + } + type="text" + onClick={() => { + remove(name) + const updated = normalizeMessages( + form.getFieldValue("messages"), + ) + onChange?.(updated) + }} + tooltipProps={{title: "Remove"}} + /> +
    + ) : undefined + } + /> +
    +
    + ) + })} + + + + + )} +
    + ) +} diff --git a/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/ConfigureEvaluator/assets/styles.ts b/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/ConfigureEvaluator/assets/styles.ts new file mode 100644 index 0000000000..5449f65bdd --- /dev/null +++ b/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/ConfigureEvaluator/assets/styles.ts @@ -0,0 +1,32 @@ +import {createUseStyles} from "react-jss" + +import {JSSTheme} from "@/oss/lib/Types" +export const useEvaluatorTestcaseModalStyles = createUseStyles((theme: JSSTheme) => ({ + container: { + "& .ant-modal-body": { + height: 600, + overflowY: "auto", + }, + }, + title: { + fontSize: theme.fontSizeHeading4, + lineHeight: theme.lineHeightLG, + fontWeight: theme.fontWeightStrong, + }, + subTitle: { + fontSize: theme.fontSizeLG, + lineHeight: theme.lineHeightLG, + fontWeight: theme.fontWeightMedium, + }, + sidebar: { + display: "flex", + flexDirection: "column", + gap: theme.padding, + width: 200, + }, + menu: { + height: 500, + overflowY: "auto", + borderInlineEnd: `0px !important`, + }, +})) diff --git a/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/ConfigureEvaluator/index.tsx b/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/ConfigureEvaluator/index.tsx new file mode 100644 index 0000000000..55eaeabc18 --- /dev/null +++ b/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/ConfigureEvaluator/index.tsx @@ -0,0 +1,340 @@ +import {useEffect, useMemo, useState} from "react" + +import {CloseOutlined} from "@ant-design/icons" +import {ArrowLeft, CaretDoubleRight} from "@phosphor-icons/react" +import {Button, Flex, Form, Input, message, Space, Tooltip, Typography} from "antd" +import dynamic from "next/dynamic" +import {createUseStyles} from "react-jss" + +import {useAppId} from "@/oss/hooks/useAppId" +import {isDemo} from "@/oss/lib/helpers/utils" +import {Evaluator, EvaluatorConfig, JSSTheme, testset, Variant} from "@/oss/lib/Types" +import { + CreateEvaluationConfigData, + createEvaluatorConfig, + updateEvaluatorConfig, +} from "@/oss/services/evaluations/api" + +import AdvancedSettings from "./AdvancedSettings" +import {DynamicFormField} from "./DynamicFormField" + +const DebugSection: any = dynamic( + () => + import( + "@/oss/components/pages/evaluations/autoEvaluation/EvaluatorsModal/ConfigureEvaluator/DebugSection" + ), +) + +interface ConfigureEvaluatorProps { + setCurrent: React.Dispatch> + handleOnCancel: () => void + onSuccess: () => void + selectedEvaluator: Evaluator + variants: Variant[] | null + testsets: testset[] | null + selectedTestcase: { + testcase: Record | null + } + setSelectedVariant: React.Dispatch> + selectedVariant: Variant | null + editMode: boolean + editEvalEditValues: EvaluatorConfig | null + setEditEvalEditValues: React.Dispatch> + setEditMode: (value: React.SetStateAction) => void + cloneConfig: boolean + setCloneConfig: React.Dispatch> + setSelectedTestcase: React.Dispatch< + React.SetStateAction<{ + testcase: Record | null + }> + > + setDebugEvaluator: React.Dispatch> + debugEvaluator: boolean + setSelectedTestset: React.Dispatch> + selectedTestset: string + appId?: string | null +} + +const useStyles = createUseStyles((theme: JSSTheme) => ({ + headerText: { + "& .ant-typography": { + lineHeight: theme.lineHeightLG, + fontSize: theme.fontSizeHeading4, + fontWeight: theme.fontWeightStrong, + }, + }, + title: { + fontSize: theme.fontSizeLG, + fontWeight: theme.fontWeightMedium, + lineHeight: theme.lineHeightLG, + }, + formContainer: { + display: "flex", + flexDirection: "column", + gap: theme.padding, + height: "100%", + width: "100%", + maxWidth: "100%", + overflow: "hidden", + "& .ant-form-item": { + marginBottom: 0, + }, + "& .ant-form-item-label": { + paddingBottom: theme.paddingXXS, + }, + }, + formTitleText: { + fontSize: theme.fontSize, + lineHeight: theme.lineHeight, + fontWeight: theme.fontWeightMedium, + }, +})) + +const ConfigureEvaluator = ({ + setCurrent, + selectedEvaluator, + handleOnCancel, + variants, + testsets, + onSuccess, + selectedTestcase, + selectedVariant, + setSelectedVariant, + editMode, + editEvalEditValues, + setEditEvalEditValues, + setEditMode, + cloneConfig, + setCloneConfig, + setSelectedTestcase, + debugEvaluator, + setDebugEvaluator, + selectedTestset, + setSelectedTestset, + appId: appIdOverride, +}: ConfigureEvaluatorProps) => { + const routeAppId = useAppId() + const appId = appIdOverride ?? routeAppId + const classes = useStyles() + const [form] = Form.useForm() + const [submitLoading, setSubmitLoading] = useState(false) + const [traceTree, setTraceTree] = useState<{ + trace: Record | string | null + }>({ + trace: null, + }) + + const evalFields = useMemo( + () => + Object.keys(selectedEvaluator?.settings_template || {}) + .filter((key) => !!selectedEvaluator?.settings_template[key]?.type) + .map((key) => ({ + key, + ...selectedEvaluator?.settings_template[key]!, + advanced: selectedEvaluator?.settings_template[key]?.advanced || false, + })), + [selectedEvaluator], + ) + + const advancedSettingsFields = evalFields.filter((field) => field.advanced) + const basicSettingsFields = evalFields.filter((field) => !field.advanced) + + const onSubmit = (values: CreateEvaluationConfigData) => { + try { + setSubmitLoading(true) + if (!selectedEvaluator.key) throw new Error("No selected key") + const settingsValues = values.settings_values || {} + + const data = { + ...values, + evaluator_key: selectedEvaluator.key, + settings_values: settingsValues, + } + ;(editMode + ? updateEvaluatorConfig(editEvalEditValues?.id!, data) + : createEvaluatorConfig(appId, data) + ) + .then(onSuccess) + .catch(console.error) + .finally(() => setSubmitLoading(false)) + } catch (error: any) { + setSubmitLoading(false) + console.error(error) + message.error(error.message) + } + } + + useEffect(() => { + form.resetFields() + if (editMode) { + form.setFieldsValue(editEvalEditValues) + } else if (cloneConfig) { + form.setFieldValue("settings_values", editEvalEditValues?.settings_values) + } + }, [editMode, cloneConfig]) + + return ( +
    +
    + + {editMode ? ( + <> +
    + + +
    + + + + {selectedEvaluator.name} + + + + + + + + {selectedEvaluator.description} + + + +
    +
    + +
    + + + +
    +
    + + {basicSettingsFields.length ? ( + + + Parameters + + {basicSettingsFields.map((field) => ( + + ))} + + ) : ( + "" + )} + + {advancedSettingsFields.length > 0 && ( + + )} + +
    + + + + + +
    + + +
    +
    + ) +} + +export default ConfigureEvaluator diff --git a/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/ConfigureEvaluator/types.ts b/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/ConfigureEvaluator/types.ts new file mode 100644 index 0000000000..e8c600a519 --- /dev/null +++ b/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/ConfigureEvaluator/types.ts @@ -0,0 +1,14 @@ +import {Modal} from "antd" + +import {testset} from "@/oss/lib/Types" + +export type EvaluatorTestcaseModalProps = { + testsets: testset[] + setSelectedTestcase: React.Dispatch< + React.SetStateAction<{ + testcase: Record | null + }> + > + setSelectedTestset: React.Dispatch> + selectedTestset: string +} & React.ComponentProps diff --git a/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/Evaluators/DeleteModal.tsx b/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/Evaluators/DeleteModal.tsx new file mode 100644 index 0000000000..f9c76c2d33 --- /dev/null +++ b/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/Evaluators/DeleteModal.tsx @@ -0,0 +1,73 @@ +import {useState} from "react" + +import {ExclamationCircleOutlined} from "@ant-design/icons" +import {Modal, Space, theme, Typography} from "antd" +import {createUseStyles} from "react-jss" + +import {checkIfResourceValidForDeletion} from "@/oss/lib/helpers/evaluate" +import {EvaluatorConfig, JSSTheme} from "@/oss/lib/Types" +import {deleteEvaluatorConfig} from "@/oss/services/evaluations/api" + +type DeleteModalProps = { + selectedEvalConfig: EvaluatorConfig + onSuccess: () => void +} & React.ComponentProps + +const useStyles = createUseStyles((theme: JSSTheme) => ({ + title: { + fontSize: theme.fontSizeLG, + fontWeight: theme.fontWeightStrong, + lineHeight: theme.lineHeightLG, + }, +})) + +const DeleteModal = ({selectedEvalConfig, onSuccess, ...props}: DeleteModalProps) => { + const classes = useStyles() + const { + token: {colorWarning}, + } = theme.useToken() + const [isLoading, setIsLoading] = useState(false) + + const handleDelete = async () => { + try { + if ( + !(await checkIfResourceValidForDeletion({ + resourceType: "evaluator_config", + resourceIds: [selectedEvalConfig.id], + })) + ) + return + try { + setIsLoading(true) + await deleteEvaluatorConfig(selectedEvalConfig.id) + await onSuccess() + props.onCancel?.({} as any) + } catch (error) { + console.error(error) + } + } catch (error) { + console.error(error) + } finally { + setIsLoading(false) + } + } + return ( + + + Delete evaluator + + } + centered + okText={"Delete"} + okButtonProps={{danger: true, loading: isLoading}} + onOk={handleDelete} + {...props} + > + Are you sure you want to delete this evaluator? + + ) +} + +export default DeleteModal diff --git a/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/Evaluators/EvaluatorCard.tsx b/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/Evaluators/EvaluatorCard.tsx new file mode 100644 index 0000000000..4b83b35d1b --- /dev/null +++ b/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/Evaluators/EvaluatorCard.tsx @@ -0,0 +1,213 @@ +import {useState} from "react" + +import {MoreOutlined} from "@ant-design/icons" +import {Copy, Note, Trash} from "@phosphor-icons/react" +import {Button, Card, Dropdown, Empty, Tag, Typography} from "antd" +import {useAtom} from "jotai" +import {createUseStyles} from "react-jss" + +import {evaluatorsAtom} from "@/oss/lib/atoms/evaluation" +import {formatDay} from "@/oss/lib/helpers/dateTimeHelper" +import {Evaluator, EvaluatorConfig, JSSTheme} from "@/oss/lib/Types" + +import DeleteModal from "./DeleteModal" + +interface EvaluatorCardProps { + evaluatorConfigs: EvaluatorConfig[] + setEditMode: React.Dispatch> + setCloneConfig: React.Dispatch> + setCurrent: React.Dispatch> + setSelectedEvaluator: React.Dispatch> + setEditEvalEditValues: React.Dispatch> + onSuccess: () => void +} + +const useStyles = createUseStyles((theme: JSSTheme) => ({ + container: { + display: "flex", + flexWrap: "wrap", + gap: theme.padding, + height: "100%", + maxHeight: 600, + overflowY: "auto", + }, + cardTitle: { + fontSize: theme.fontSizeLG, + lineHeight: theme.lineHeightLG, + fontWeight: theme.fontWeightMedium, + }, + evaluatorCard: { + width: 276, + display: "flex", + height: "fit-content", + flexDirection: "column", + transition: "all 0.025s ease-in", + cursor: "pointer", + "& > .ant-card-head": { + minHeight: 0, + padding: theme.paddingSM, + + "& .ant-card-head-title": { + fontSize: theme.fontSize, + fontWeight: theme.fontWeightMedium, + lineHeight: theme.lineHeight, + }, + }, + "& > .ant-card-body": { + padding: theme.paddingSM, + display: "flex", + flexDirection: "column", + gap: theme.marginXS, + "& div": { + display: "flex", + alignItems: "center", + justifyContent: "space-between", + }, + }, + "&:hover": { + boxShadow: theme.boxShadowTertiary, + }, + }, + centeredItem: { + display: "grid", + placeItems: "center", + width: "100%", + height: 600, + }, +})) + +const EvaluatorCard = ({ + evaluatorConfigs, + setEditMode, + setCurrent, + setSelectedEvaluator, + setEditEvalEditValues, + onSuccess, + setCloneConfig, +}: EvaluatorCardProps) => { + const classes = useStyles() + const evaluators = useAtom(evaluatorsAtom)[0] + const [openDeleteModal, setOpenDeleteModal] = useState(false) + const [selectedDelEval, setSelectedDelEval] = useState(null) + + return ( +
    + {evaluatorConfigs.length ? ( + evaluatorConfigs.map((item) => { + const evaluator = evaluators.find((e) => e.key === item.evaluator_key) + + return ( + { + const selectedEval = evaluators.find( + (e) => e.key === item.evaluator_key, + ) + if (selectedEval) { + setEditMode(true) + setSelectedEvaluator(selectedEval) + setEditEvalEditValues(item) + setCurrent(2) + } + }} + title={item.name} + extra={ + , + onClick: (e: any) => { + e.domEvent.stopPropagation() + const selectedEval = evaluators.find( + (e) => e.key === item.evaluator_key, + ) + if (selectedEval) { + setEditMode(true) + setSelectedEvaluator(selectedEval) + setEditEvalEditValues(item) + setCurrent(2) + } + }, + }, + { + key: "clone", + label: "Clone", + icon: , + onClick: (e: any) => { + e.domEvent.stopPropagation() + const selectedEval = evaluators.find( + (e) => e.key === item.evaluator_key, + ) + if (selectedEval) { + setCloneConfig(true) + setSelectedEvaluator(selectedEval) + setEditEvalEditValues(item) + setCurrent(2) + } + }, + }, + {type: "divider"}, + { + key: "delete_app", + label: "Delete", + icon: , + danger: true, + onClick: (e: any) => { + e.domEvent.stopPropagation() + setOpenDeleteModal(true) + setSelectedDelEval(item) + }, + }, + ], + }} + > +
    + ) +} + +export default EvaluatorCard diff --git a/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/Evaluators/EvaluatorList.tsx b/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/Evaluators/EvaluatorList.tsx new file mode 100644 index 0000000000..da70be6772 --- /dev/null +++ b/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/Evaluators/EvaluatorList.tsx @@ -0,0 +1,172 @@ +import {useState} from "react" + +import {MoreOutlined} from "@ant-design/icons" +import {Copy, GearSix, Note, Trash} from "@phosphor-icons/react" +import {Button, Dropdown, Table, Tag} from "antd" +import {ColumnsType} from "antd/es/table" +import {useAtom} from "jotai" + +import {evaluatorsAtom} from "@/oss/lib/atoms/evaluation" +import {Evaluator, EvaluatorConfig} from "@/oss/lib/Types" + +import DeleteModal from "./DeleteModal" + +interface EvaluatorListProps { + evaluatorConfigs: EvaluatorConfig[] + setEditMode: React.Dispatch> + setCloneConfig: React.Dispatch> + setCurrent: React.Dispatch> + setSelectedEvaluator: React.Dispatch> + setEditEvalEditValues: React.Dispatch> + onSuccess: () => void +} + +const EvaluatorList = ({ + evaluatorConfigs, + setCloneConfig, + setCurrent, + setEditEvalEditValues, + setEditMode, + setSelectedEvaluator, + onSuccess, +}: EvaluatorListProps) => { + const evaluators = useAtom(evaluatorsAtom)[0] + const [openDeleteModal, setOpenDeleteModal] = useState(false) + const [selectedDelEval, setSelectedDelEval] = useState(null) + + const columns: ColumnsType = [ + // { + // title: "Version", + // dataIndex: "version", + // key: "version", + // onHeaderCell: () => ({ + // style: {minWidth: 80}, + // }), + // }, + { + title: "Name", + dataIndex: "name", + key: "name", + render: (_, record) => { + return
    {record.name}
    + }, + }, + { + title: "Type", + dataIndex: "type", + key: "type", + render: (_, record) => { + const evaluator = evaluators.find((item) => item.key === record.evaluator_key) + return {evaluator?.name} + }, + }, + { + title: , + key: "key", + width: 56, + fixed: "right", + align: "center", + render: (_, record) => { + return ( + , + onClick: (e: any) => { + e.domEvent.stopPropagation() + const selectedEval = evaluators.find( + (e) => e.key === record.evaluator_key, + ) + if (selectedEval) { + setEditMode(true) + setSelectedEvaluator(selectedEval) + setEditEvalEditValues(record) + setCurrent(2) + } + }, + }, + { + key: "clone", + label: "Clone", + icon: , + onClick: (e: any) => { + e.domEvent.stopPropagation() + const selectedEval = evaluators.find( + (e) => e.key === record.evaluator_key, + ) + if (selectedEval) { + setCloneConfig(true) + setSelectedEvaluator(selectedEval) + setEditEvalEditValues(record) + setCurrent(2) + } + }, + }, + {type: "divider"}, + { + key: "delete_app", + label: "Delete", + icon: , + danger: true, + onClick: (e: any) => { + e.domEvent.stopPropagation() + setOpenDeleteModal(true) + setSelectedDelEval(record) + }, + }, + ], + }} + > +
    ({ + style: {cursor: "pointer"}, + onClick: () => { + const selectedEval = evaluators.find((e) => e.key === record.evaluator_key) + if (selectedEval) { + setEditMode(true) + setSelectedEvaluator(selectedEval) + setEditEvalEditValues(record) + setCurrent(2) + } + }, + })} + /> + {selectedDelEval && ( + setOpenDeleteModal(false)} + selectedEvalConfig={selectedDelEval} + onSuccess={onSuccess} + /> + )} + + ) +} + +export default EvaluatorList diff --git a/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/Evaluators/index.tsx b/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/Evaluators/index.tsx new file mode 100644 index 0000000000..fbb9f81837 --- /dev/null +++ b/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/Evaluators/index.tsx @@ -0,0 +1,197 @@ +import {useMemo, useState} from "react" + +import {CloseOutlined, PlusOutlined} from "@ant-design/icons" +import {Cards, Table} from "@phosphor-icons/react" +import {Button, Divider, Flex, Input, Radio, Space, Spin, Typography} from "antd" +import {useAtom} from "jotai" +import {createUseStyles} from "react-jss" + +import {evaluatorsAtom} from "@/oss/lib/atoms/evaluation" +import {getEvaluatorTags} from "@/oss/lib/helpers/evaluate" +import {Evaluator, EvaluatorConfig, JSSTheme} from "@/oss/lib/Types" + +import EvaluatorCard from "./EvaluatorCard" +import EvaluatorList from "./EvaluatorList" + +interface EvaluatorsProps { + evaluatorConfigs: EvaluatorConfig[] + handleOnCancel: () => void + setCurrent: React.Dispatch> + setSelectedEvaluator: React.Dispatch> + fetchingEvalConfigs: boolean + setEditMode: React.Dispatch> + setCloneConfig: React.Dispatch> + setEditEvalEditValues: React.Dispatch> + onSuccess: () => void + setEvaluatorsDisplay: any + evaluatorsDisplay: string +} + +const useStyles = createUseStyles((theme: JSSTheme) => ({ + titleContainer: { + display: "flex", + alignItems: "center", + justifyContent: "space-between", + "& .ant-typography": { + fontSize: theme.fontSizeHeading4, + fontWeight: theme.fontWeightStrong, + lineHeight: theme.lineHeightLG, + }, + }, + header: { + display: "flex", + flexDirection: "column", + gap: theme.padding, + }, + radioBtnContainer: { + display: "flex", + alignItems: "center", + gap: theme.marginXS, + "& .ant-radio-button-wrapper": { + borderRadius: theme.borderRadius, + borderInlineStartWidth: "1px", + "&:before": { + width: 0, + }, + "&:not(.ant-radio-button-wrapper-checked)": { + border: "none", + "&:hover": { + backgroundColor: theme.colorBgTextHover, + }, + }, + }, + }, +})) + +const Evaluators = ({ + evaluatorConfigs, + handleOnCancel, + setCurrent, + setSelectedEvaluator, + fetchingEvalConfigs, + setEditMode, + setEditEvalEditValues, + onSuccess, + setCloneConfig, + setEvaluatorsDisplay, + evaluatorsDisplay, +}: EvaluatorsProps) => { + const classes = useStyles() + const [searchTerm, setSearchTerm] = useState("") + const evaluatorTags = getEvaluatorTags() + const evaluators = useAtom(evaluatorsAtom)[0] + const [selectedEvaluatorCategory, setSelectedEvaluatorCategory] = useState("view_all") + + const updatedEvaluatorConfigs = useMemo(() => { + return evaluatorConfigs.map((config) => { + const matchingEvaluator = evaluators.find( + (evaluator) => evaluator.key === config.evaluator_key, + ) + return matchingEvaluator ? {...config, tags: matchingEvaluator.tags} : config + }) + }, [evaluatorConfigs, evaluators]) + + const filteredEvaluators = useMemo(() => { + let filtered = updatedEvaluatorConfigs + + if (selectedEvaluatorCategory !== "view_all") { + filtered = filtered.filter((item) => item.tags?.includes(selectedEvaluatorCategory)) + } + + if (searchTerm) { + filtered = filtered.filter((item) => + item.name.toLowerCase().includes(searchTerm.toLowerCase()), + ) + } + + return filtered + }, [searchTerm, selectedEvaluatorCategory, updatedEvaluatorConfigs]) + + return ( +
    +
    +
    + Configure evaluators + + + +
    +
    +
    + setSelectedEvaluatorCategory(e.target.value)} + > + + View all + + + {evaluatorTags.map((val, idx) => ( + + {val.label} + + ))} + + + + setSearchTerm(e.target.value)} + /> + setEvaluatorsDisplay(e.target.value)} + className="shrink-0" + > + +
    + + + + + + + + + + + + + {evaluatorsDisplay === "list" ? ( + + ) : ( + + )} + + + ) +} + +export default Evaluators diff --git a/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/EvaluatorsModal.tsx b/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/EvaluatorsModal.tsx new file mode 100644 index 0000000000..99b6e9f1b6 --- /dev/null +++ b/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/EvaluatorsModal.tsx @@ -0,0 +1,201 @@ +// @ts-nocheck +import {memo, useEffect, useMemo, useState} from "react" + +import {ModalProps} from "antd" +import clsx from "clsx" +import {useAtom, useAtomValue} from "jotai" +import {useLocalStorage} from "usehooks-ts" + +import EnhancedModal from "@/oss/components/EnhancedUIs/Modal" +import {useAppId} from "@/oss/hooks/useAppId" +import {evaluatorConfigsAtom, evaluatorsAtom} from "@/oss/lib/atoms/evaluation" +import {groupVariantsByParent} from "@/oss/lib/helpers/variantHelper" +import useFetchEvaluatorsData from "@/oss/lib/hooks/useFetchEvaluatorsData" +import useStatelessVariants from "@/oss/lib/hooks/useStatelessVariants" +import {useVariants} from "@/oss/lib/hooks/useVariants" +import {Evaluator, EvaluatorConfig, Variant} from "@/oss/lib/Types" +import {currentAppAtom} from "@/oss/state/app" +import {useTestsetsData} from "@/oss/state/testset" + +import ConfigureEvaluator from "./ConfigureEvaluator" +import Evaluators from "./Evaluators" +import NewEvaluator from "./NewEvaluator" + +interface EvaluatorsModalProps extends ModalProps { + current: number + setCurrent: React.Dispatch> + openedFromNewEvaluation?: boolean + appId?: string | null +} + +const EvaluatorsModal = ({ + current, + setCurrent, + openedFromNewEvaluation = false, + appId: appIdOverride, + ...modalProps +}: EvaluatorsModalProps) => { + const routeAppId = useAppId() + const appId = appIdOverride ?? routeAppId + const [debugEvaluator, setDebugEvaluator] = useLocalStorage("isDebugSelectionOpen", false) + const [evaluators] = useAtom(evaluatorsAtom) + const [evaluatorConfigs] = useAtom(evaluatorConfigsAtom) + const [selectedEvaluator, setSelectedEvaluator] = useState(null) + const {refetchEvaluatorConfigs, isLoadingEvaluatorConfigs: fetchingEvalConfigs} = + useFetchEvaluatorsData({appId: appId ?? ""}) + const [selectedTestcase, setSelectedTestcase] = useState<{ + testcase: Record | null + }>({ + testcase: null, + }) + const currentApp = useAtomValue(currentAppAtom) + const [selectedVariant, setSelectedVariant] = useState(null) + const [editMode, setEditMode] = useState(false) + const [cloneConfig, setCloneConfig] = useState(false) + const [editEvalEditValues, setEditEvalEditValues] = useState(null) + const [evaluatorsDisplay, setEvaluatorsDisplay] = useLocalStorage<"card" | "list">( + "evaluator_view", + "list", + ) + const [selectedTestset, setSelectedTestset] = useState("") + const {testsets} = useTestsetsData() + + useEffect(() => { + if (testsets?.length) { + setSelectedTestset(testsets[0]._id) + } + }, [testsets]) + + const {variants: data} = useStatelessVariants() + + const variants = useMemo(() => groupVariantsByParent(data, true), [data]) + + useEffect(() => { + if (variants?.length) { + setSelectedVariant(variants[0]) + } + }, [data]) + + const steps = useMemo(() => { + return [ + { + content: ( + modalProps.onCancel?.({} as any)} + setCurrent={setCurrent} + setSelectedEvaluator={setSelectedEvaluator} + fetchingEvalConfigs={fetchingEvalConfigs} + setEditMode={setEditMode} + setEditEvalEditValues={setEditEvalEditValues} + onSuccess={refetchEvaluatorConfigs} + setCloneConfig={setCloneConfig} + setEvaluatorsDisplay={setEvaluatorsDisplay} + evaluatorsDisplay={evaluatorsDisplay} + /> + ), + }, + { + content: ( + modalProps.onCancel?.({} as any)} + setSelectedEvaluator={setSelectedEvaluator} + setEvaluatorsDisplay={setEvaluatorsDisplay} + evaluatorsDisplay={evaluatorsDisplay} + /> + ), + }, + ] + }, [ + evaluatorConfigs, + fetchingEvalConfigs, + evaluatorsDisplay, + evaluators, + modalProps.onCancel, + setCurrent, + setSelectedEvaluator, + debugEvaluator, + selectedTestcase, + selectedVariant, + selectedTestset, + editMode, + cloneConfig, + editEvalEditValues, + variants, + testsets, + ]) + + if (selectedEvaluator) { + steps.push({ + content: ( + { + modalProps.onCancel?.({} as any) + setEditMode(false) + setCloneConfig(false) + setEditEvalEditValues(null) + }} + variants={variants || []} + testsets={testsets || []} + onSuccess={() => { + refetchEvaluatorConfigs() + setEditMode(false) + if (openedFromNewEvaluation) { + modalProps.onCancel?.({} as any) + } else { + setCurrent(0) + } + }} + selectedTestcase={selectedTestcase} + selectedVariant={selectedVariant} + setSelectedVariant={setSelectedVariant} + editMode={editMode} + editEvalEditValues={editEvalEditValues} + setEditEvalEditValues={setEditEvalEditValues} + setEditMode={setEditMode} + cloneConfig={cloneConfig} + setCloneConfig={setCloneConfig} + setSelectedTestcase={setSelectedTestcase} + setDebugEvaluator={setDebugEvaluator} + debugEvaluator={debugEvaluator} + selectedTestset={selectedTestset} + setSelectedTestset={setSelectedTestset} + appId={appId} + /> + ), + }) + } + + return ( + +
    _div]:!h-full", + { + "max-w-[600px]": current === 2 && !debugEvaluator, + "max-w-[95vw]": current !== 2 || debugEvaluator, + }, + ])} + > + {steps[current]?.content} +
    +
    + ) +} + +export default memo(EvaluatorsModal) diff --git a/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/NewEvaluator/NewEvaluatorCard.tsx b/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/NewEvaluator/NewEvaluatorCard.tsx new file mode 100644 index 0000000000..5f40bcc974 --- /dev/null +++ b/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/NewEvaluator/NewEvaluatorCard.tsx @@ -0,0 +1,114 @@ +import {ArrowRight} from "@phosphor-icons/react" +import {Card, Empty, Typography} from "antd" +import {createUseStyles} from "react-jss" + +import {Evaluator, JSSTheme} from "@/oss/lib/Types" + +interface CreateEvaluatorCardProps { + evaluators: Evaluator[] + setSelectedEvaluator: React.Dispatch> + setCurrent: (value: React.SetStateAction) => void +} + +const useStyles = createUseStyles((theme: JSSTheme) => ({ + container: { + display: "flex", + flexWrap: "wrap", + gap: theme.padding, + height: "100%", + maxHeight: 600, + overflowY: "auto", + }, + cardTitle: { + fontSize: theme.fontSizeLG, + lineHeight: theme.lineHeightLG, + fontWeight: theme.fontWeightMedium, + }, + evaluatorCard: { + flexDirection: "column", + width: 276, + display: "flex", + height: "fit-content", + transition: "all 0.025s ease-in", + cursor: "pointer", + position: "relative", + "& > .ant-card-head": { + minHeight: 0, + padding: theme.paddingSM, + + "& .ant-card-head-title": { + fontSize: theme.fontSize, + fontWeight: theme.fontWeightMedium, + lineHeight: theme.lineHeight, + display: "flex", + justifyContent: "space-between", + alignItems: "center", + }, + }, + "& > .ant-card-body": { + height: 122, + overflowY: "auto", + padding: theme.paddingSM, + "& .ant-typography": { + color: theme.colorTextSecondary, + }, + }, + "&:hover": { + boxShadow: theme.boxShadowTertiary, + }, + }, + arrowIcon: { + opacity: 0, + transition: "opacity 0.3s", + }, + evaluatorCardHover: { + "&:hover $arrowIcon": { + opacity: 1, + }, + }, + centeredItem: { + display: "grid", + placeItems: "center", + width: "100%", + height: 600, + }, +})) + +const CreateEvaluatorCard = ({ + evaluators, + setSelectedEvaluator, + setCurrent, +}: CreateEvaluatorCardProps) => { + const classes = useStyles() + + return ( +
    + {evaluators.length ? ( + evaluators.map((evaluator) => ( + + {evaluator.name} + + + } + onClick={() => { + setSelectedEvaluator(evaluator) + setCurrent(2) + }} + > + {evaluator.description} + + )) + ) : ( +
    + +
    + )} +
    + ) +} + +export default CreateEvaluatorCard diff --git a/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/NewEvaluator/NewEvaluatorList.tsx b/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/NewEvaluator/NewEvaluatorList.tsx new file mode 100644 index 0000000000..790747250a --- /dev/null +++ b/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/NewEvaluator/NewEvaluatorList.tsx @@ -0,0 +1,85 @@ +import {ArrowRight} from "@phosphor-icons/react" +import {Table, Tag, Typography} from "antd" +import {ColumnsType} from "antd/es/table" +import {createUseStyles} from "react-jss" + +import {Evaluator, JSSTheme} from "@/oss/lib/Types" + +interface CreateEvaluatorListProps { + evaluators: Evaluator[] + setSelectedEvaluator: React.Dispatch> + setCurrent: (value: React.SetStateAction) => void +} + +const useStyles = createUseStyles((theme: JSSTheme) => ({ + arrowIcon: { + opacity: 0, + transition: "opacity 0.3s", + }, + evaluatorCardHover: { + "&:hover $arrowIcon": { + opacity: 1, + }, + }, +})) + +const CreateEvaluatorList = ({ + evaluators, + setSelectedEvaluator, + setCurrent, +}: CreateEvaluatorListProps) => { + const classes = useStyles() + + const columns: ColumnsType = [ + { + title: "Name", + dataIndex: "key", + key: "key", + width: 200, + render: (_, record) => { + return ( +
    + {record.name} +
    + ) + }, + }, + { + title: "Description", + dataIndex: "description", + key: "description", + render: (_, record) => { + return ( +
    + + {record.description} + + + +
    + ) + }, + }, + ] + return ( +
    ({ + className: classes.evaluatorCardHover, + onClick: () => { + setSelectedEvaluator(record) + setCurrent(2) + }, + })} + pagination={false} + /> + ) +} + +export default CreateEvaluatorList diff --git a/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/NewEvaluator/index.tsx b/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/NewEvaluator/index.tsx new file mode 100644 index 0000000000..6a6366d809 --- /dev/null +++ b/web/ee/src/components/pages/evaluations/autoEvaluation/EvaluatorsModal/NewEvaluator/index.tsx @@ -0,0 +1,142 @@ +import {useMemo, useState} from "react" + +import {CloseOutlined} from "@ant-design/icons" +import {ArrowLeft} from "@phosphor-icons/react" +import {Button, Divider, Flex, Input, Radio, Space, Typography} from "antd" +import {createUseStyles} from "react-jss" + +import {getEvaluatorTags} from "@/oss/lib/helpers/evaluate" +import {Evaluator, JSSTheme} from "@/oss/lib/Types" + +import NewEvaluatorList from "./NewEvaluatorList" + +interface NewEvaluatorProps { + setCurrent: React.Dispatch> + handleOnCancel: () => void + evaluators: Evaluator[] + setSelectedEvaluator: React.Dispatch> + setEvaluatorsDisplay: any + evaluatorsDisplay: string +} + +const useStyles = createUseStyles((theme: JSSTheme) => ({ + title: { + display: "flex", + alignItems: "center", + justifyContent: "space-between", + "& .ant-typography": { + fontSize: theme.fontSizeHeading4, + fontWeight: theme.fontWeightStrong, + lineHeight: theme.lineHeightLG, + }, + }, + subTitle: { + fontSize: theme.fontSizeLG, + lineHeight: theme.lineHeightLG, + fontWeight: theme.fontWeightMedium, + }, + radioBtnContainer: { + display: "flex", + alignItems: "center", + gap: theme.marginXS, + "& .ant-radio-button-wrapper": { + borderRadius: theme.borderRadius, + borderInlineStartWidth: "1px", + "&:before": { + width: 0, + }, + "&:not(.ant-radio-button-wrapper-checked)": { + border: "none", + "&:hover": { + backgroundColor: theme.colorBgTextHover, + }, + }, + }, + }, +})) + +const NewEvaluator = ({ + evaluators, + setCurrent, + handleOnCancel, + setSelectedEvaluator, + setEvaluatorsDisplay, + evaluatorsDisplay, +}: NewEvaluatorProps) => { + const classes = useStyles() + const [searchTerm, setSearchTerm] = useState("") + const evaluatorTags = getEvaluatorTags() + const [selectedEvaluatorCategory, setSelectedEvaluatorCategory] = useState("view_all") + + const filteredEvaluators = useMemo(() => { + let filtered = evaluators + + if (selectedEvaluatorCategory !== "view_all") { + filtered = filtered.filter((item) => item.tags.includes(selectedEvaluatorCategory)) + } + + if (searchTerm) { + filtered = filtered.filter((item) => + item.name.toLowerCase().includes(searchTerm.toLowerCase()), + ) + } + + return filtered + }, [searchTerm, selectedEvaluatorCategory, evaluators]) + + return ( +
    +
    +
    + +
    +
    +
    + setSelectedEvaluatorCategory(e.target.value)} + > + View all + + {evaluatorTags.map((val, idx) => ( + + {val.label} + + ))} + + + + setSearchTerm(e.target.value)} + placeholder="Search" + allowClear + /> + +
    +
    + +
    + +
    + +
    +
    + ) +} + +export default NewEvaluator diff --git a/web/ee/src/components/pages/evaluations/autoEvaluation/Filters/SearchFilter.tsx b/web/ee/src/components/pages/evaluations/autoEvaluation/Filters/SearchFilter.tsx new file mode 100644 index 0000000000..bdbdec8ecf --- /dev/null +++ b/web/ee/src/components/pages/evaluations/autoEvaluation/Filters/SearchFilter.tsx @@ -0,0 +1,78 @@ +import {Input, TableColumnType, DatePicker} from "antd" +import {FilterDropdownProps} from "antd/es/table/interface" +import dayjs from "dayjs" + +import {statusMapper} from "@/oss/components/pages/evaluations/cellRenderers/cellRenderers" +import {_Evaluation, EvaluationStatus} from "@/oss/lib/Types" + +type DataIndex = keyof _Evaluation + +type CellDataType = "number" | "text" | "date" + +export function getFilterParams( + dataIndex: DataIndex, + type: CellDataType, +): TableColumnType<_Evaluation> { + const filterDropdown = ({setSelectedKeys, selectedKeys, confirm}: FilterDropdownProps) => { + return ( +
    e.stopPropagation()}> + {type === "date" ? ( + { + setSelectedKeys(dateString ? [dateString] : []) + confirm() + }} + /> + ) : ( + { + setSelectedKeys(e.target.value ? [e.target.value] : []) + confirm({closeDropdown: false}) + }} + style={{display: "block"}} + step={0.1} + type={type} + /> + )} +
    + ) + } + + const onFilter = (value: any, record: any) => { + try { + const cellValue = record[dataIndex] + + if (type === "date") { + return dayjs(cellValue).isSame(dayjs(value), "day") + } + if (dataIndex === "status") { + const statusLabel = statusMapper({} as any)(record.status.value as EvaluationStatus) + .label as EvaluationStatus + return statusLabel.toLowerCase().includes(value.toLowerCase()) + } + + if (typeof cellValue === "object" && cellValue !== null) { + if (Array.isArray(cellValue)) { + return cellValue.some((item) => + item.variantName?.toLowerCase().includes(value.toLowerCase()), + ) + } else if (cellValue.hasOwnProperty("name")) { + return cellValue.name.toString().toLowerCase().includes(value.toLowerCase()) + } else if (cellValue.hasOwnProperty("value")) { + return cellValue.value.toString().toLowerCase().includes(value.toLowerCase()) + } + } + return cellValue?.toString().toLowerCase().includes(value.toLowerCase()) + } catch (error) { + console.error(error) + } + } + + return { + filterDropdown, + onFilter, + } +} diff --git a/web/ee/src/components/pages/evaluations/autoEvaluation/assets/AutoEvaluationHeader.tsx b/web/ee/src/components/pages/evaluations/autoEvaluation/assets/AutoEvaluationHeader.tsx new file mode 100644 index 0000000000..52ce792956 --- /dev/null +++ b/web/ee/src/components/pages/evaluations/autoEvaluation/assets/AutoEvaluationHeader.tsx @@ -0,0 +1,679 @@ +import {memo, useCallback, useMemo, useState} from "react" + +import {ArrowsLeftRight, Export, Gauge, Plus, Trash} from "@phosphor-icons/react" +import {Button, Space, Input, message, theme, Typography} from "antd" +import {ColumnsType} from "antd/es/table" +import {useAtom, useSetAtom} from "jotai" +import dynamic from "next/dynamic" +import Link from "next/link" +import {useRouter} from "next/router" + +import EditColumns from "@/oss/components/Filters/EditColumns" +import {formatColumnTitle} from "@/oss/components/Filters/EditColumns/assets/helper" +import {formatMetricValue} from "@/oss/components/HumanEvaluations/assets/MetricDetailsPopover/assets/utils" +import {EvaluationRow} from "@/oss/components/HumanEvaluations/types" +import {useQueryParam} from "@/oss/hooks/useQuery" +import useURL from "@/oss/hooks/useURL" +import {snakeToCamelCaseKeys} from "@/oss/lib/helpers/casing" +import {formatDate24, formatDay} from "@/oss/lib/helpers/dateTimeHelper" +import dayjs from "@/oss/lib/helpers/dateTimeHelper/dayjs" +import {getTypedValue} from "@/oss/lib/helpers/evaluate" +import {convertToCsv, downloadCsv} from "@/oss/lib/helpers/fileManipulations" +import {variantNameWithRev} from "@/oss/lib/helpers/variantHelper" +import {searchQueryAtom} from "@/oss/lib/hooks/usePreviewEvaluations/states/queryFilterAtoms" +import {tempEvaluationAtom} from "@/oss/lib/hooks/usePreviewRunningEvaluations/states/runningEvalAtom" +import {getMetricConfig} from "@/oss/lib/metrics/utils" +import {EvaluationStatus} from "@/oss/lib/Types" +import {getAppValues} from "@/oss/state/app" + +import {statusMapper} from "../../../evaluations/cellRenderers/cellRenderers" +import {useStyles} from "../assets/styles" +import EvaluatorsModal from "../EvaluatorsModal/EvaluatorsModal" + +import {buildAppScopedUrl, buildEvaluationNavigationUrl} from "../../utils" +import {AutoEvaluationHeaderProps} from "./types" + +const isLegacyEvaluation = (evaluation: any): boolean => "aggregated_results" in evaluation + +const getEvaluationKey = (evaluation: any): string | undefined => + (evaluation?.id ?? evaluation?.key)?.toString() + +const disallowedCompareStatuses = new Set([ + EvaluationStatus.RUNNING, + EvaluationStatus.PENDING, + EvaluationStatus.CANCELLED, + EvaluationStatus.INITIALIZED, + EvaluationStatus.STARTED, +]) + +const NewEvaluationModal = dynamic(() => import("../../NewEvaluation"), { + ssr: false, +}) + +const AutoEvaluationHeader = ({ + selectedRowKeys, + evaluations, + columns, + setSelectedRowKeys, + setHiddenColumns, + setIsDeleteEvalModalOpen, + viewType, + runMetricsMap, + refetch, + scope, + baseAppURL, + projectURL, + activeAppId, + extractAppId, +}: AutoEvaluationHeaderProps) => { + const classes = useStyles() + const router = useRouter() + + const {token} = theme.useToken() + const {appURL} = useURL() + // atoms + const [searchQuery, setSearchQuery] = useAtom(searchQueryAtom) + const setTempEvaluation = useSetAtom(tempEvaluationAtom) + + // local states + const [searchTerm, setSearchTerm] = useState("") + const [newEvalModalOpen, setNewEvalModalOpen] = useState(false) + const [current, setCurrent] = useState(0) + const [isConfigEvaluatorModalOpen, setIsConfigEvaluatorModalOpen] = useQueryParam( + "configureEvaluatorModal", + "", + ) + + const onExport = useCallback(() => { + try { + const selectedKeySet = new Set(selectedRowKeys.map((key) => key?.toString())) + const exportEvals = evaluations.filter((evaluation) => { + const key = getEvaluationKey(evaluation) + return key ? selectedKeySet.has(key) : false + }) + if (!exportEvals.length) return + + const legacyEvals = exportEvals.filter((e) => "aggregated_results" in e) + const newEvals = exportEvals.filter((e) => "name" in e) + + const {currentApp} = getAppValues() + const filenameBase = + currentApp?.app_name || (scope === "project" ? "all_applications" : "evaluations") + const filename = `${filenameBase.replace(/\s+/g, "_")}_evaluation_scenarios.csv` + + const exportableEvals = [] + + if (legacyEvals.length) { + const legacyEvalsData = legacyEvals.map((item) => { + const record: Record = {} + + // 1. variant name + record.Variant = variantNameWithRev({ + variant_name: item.variants[0].variantName ?? "", + revision: item.revisions?.[0], + }) + // 2. testset name + record.Testset = item.testset?.name + + // 3. status + record.Status = statusMapper(token)( + item.status?.value as EvaluationStatus, + ).label + + // 4. aggregated results for legacy evals + item.aggregated_results?.forEach((result) => { + record[result.evaluator_config.name] = getTypedValue(result?.result) + }) + + // 5. avg latency legacy evals + record["Avg. Latency"] = getTypedValue(item?.average_latency) + + // 6. total cost for legacy evals + record["Total Cost"] = getTypedValue(item?.average_cost) + + // 7. created at + record["Created At"] = formatDate24(item?.created_at) + + return record + }) + + exportableEvals.push(...legacyEvalsData) + } + + if (newEvals.length) { + const newEvalsData = newEvals.map((item) => { + // Instead of using a plain object, use a Map to maintain insertion order + const record = new Map() + + // Add properties in the desired order + record.set("Name", item.name) + + // 1. variant name + record.set( + "Variant", + variantNameWithRev({ + variant_name: item.variants[0].variantName ?? "", + revision: item.variants[0].revision, + }), + ) + + // 2. testset name + record.set("Testset", item.testsets?.[0]?.name) + + // 3. status + record.set("Status", statusMapper(token)(item.status as EvaluationStatus).label) + + // 5. evaluator metrics + // 5. metrics (evaluator and invocation) + const metrics = runMetricsMap?.[item.id] || {} + const evaluators = item.evaluators || [] + + // First, collect all metrics and sort them + const sortedMetrics = Object.entries(metrics).sort(([a], [b]) => { + // Evaluator metrics (with dots) come first + const aIsEvaluator = a.includes(".") + const bIsEvaluator = b.includes(".") + + // If both are evaluator metrics, sort them alphabetically + if (aIsEvaluator && bIsEvaluator) { + return a.localeCompare(b) + } + + // If one is evaluator and one is not, evaluator comes first + if (aIsEvaluator) return -1 + if (bIsEvaluator) return 1 + + // Both are not evaluator metrics, sort them alphabetically + return a.localeCompare(b) + }) + + // Then process them in the sorted order + for (const [k, v] of sortedMetrics) { + if (k.includes(".")) { + // Handle evaluator metrics + const [evaluatorSlug, metricKey] = k.split(".") + const evaluator = evaluators.find((e: any) => e.slug === evaluatorSlug) + if (!evaluator) continue + + const key = `${evaluator.name}.${metricKey}` + + if (v.mean !== undefined) { + record.set(key, v.mean) + } else if (v.unique) { + const trueEntry = v?.frequency?.find((f: any) => f?.value === true) + const total = v?.count ?? 0 + const pct = total ? ((trueEntry?.count ?? 0) / total) * 100 : 0 + record.set(key, `${pct.toFixed(2)}%`) + } + } else { + // Handle invocation metrics + const key = formatColumnTitle(k) + + if (v.mean !== undefined) { + const {primary: primaryKey, label} = getMetricConfig(k) + record.set(label || key, formatMetricValue(k, v?.[primaryKey])) + } else if (v.unique) { + const trueEntry = v?.frequency?.find((f: any) => f?.value === true) + const total = v?.count ?? 0 + const pct = total ? ((trueEntry?.count ?? 0) / total) * 100 : 0 + record.set(key, `${pct.toFixed(2)}%`) + } + } + } + // 6. created by + record.set("Created By", item?.createdBy?.user?.username) + + // 7. created at + record.set("Created At", item?.createdAt) + + return Object.fromEntries(record) + }) + + exportableEvals.push(...newEvalsData) + } + + // Get all unique column keys + const columnKeys = new Set() + exportableEvals.forEach((row) => { + Object.keys(row).forEach((key) => columnKeys.add(key)) + }) + + // Build ordered columns according to the desired export order + const startColumns = ["Name", "Variant", "Testset", "Status"].filter((k) => + columnKeys.has(k), + ) + const endColumns = ["Created By", "Created At"].filter((k) => columnKeys.has(k)) + + // Evaluator metrics first (keys with a dot), sorted alphabetically for stability + const evaluatorMetricColumns = Array.from(columnKeys) + .filter((k) => k.includes(".")) + .sort((a, b) => a.localeCompare(b)) + + // Remaining metrics/columns (excluding the above), sorted alphabetically + const remainingColumns = Array.from(columnKeys) + .filter( + (k) => !startColumns.includes(k) && !endColumns.includes(k) && !k.includes("."), + ) + .sort((a, b) => a.localeCompare(b)) + + const _columns = [ + ...startColumns, + ...evaluatorMetricColumns, + ...remainingColumns, + ...endColumns, + ] + + const csvData = convertToCsv(exportableEvals, _columns) + downloadCsv(csvData, filename) + message.success("Results exported successfully!") + } catch (error) { + message.error("Failed to export evaluations") + } + }, [evaluations, selectedRowKeys, runMetricsMap, scope]) + + const onSearch = useCallback( + (text: string) => { + if (!text && !searchQuery) return + if (text === searchQuery) return + + setSearchQuery(text) + }, + [searchQuery], + ) + + const selectedEvaluations = useMemo(() => { + if (!selectedRowKeys.length) return [] + const selectedSet = new Set(selectedRowKeys.map((key) => key?.toString())) + + return evaluations.filter((evaluation: any) => { + const key = getEvaluationKey(evaluation) + return key ? selectedSet.has(key) : false + }) + }, [evaluations, selectedRowKeys]) + + const selectedAppId = useMemo(() => { + const ids = (selectedEvaluations as EvaluationRow[]) + .map((evaluation) => extractAppId(evaluation)) + .filter((id): id is string => typeof id === "string" && id.length > 0) + const uniqueIds = Array.from(new Set(ids)) + const commonId = uniqueIds.length === 1 ? uniqueIds[0] : undefined + return commonId || activeAppId + }, [selectedEvaluations, activeAppId, extractAppId]) + + const selectionType = useMemo(() => { + if (!selectedEvaluations.length) return "none" + + const hasLegacy = selectedEvaluations.some((evaluation) => isLegacyEvaluation(evaluation)) + const hasModern = selectedEvaluations.some((evaluation) => !isLegacyEvaluation(evaluation)) + + if (hasLegacy && hasModern) return "mixed" + if (hasLegacy) return "legacy" + return "modern" + }, [selectedEvaluations]) + + const legacySelections = useMemo( + () => selectedEvaluations.filter((evaluation) => isLegacyEvaluation(evaluation)), + [selectedEvaluations], + ) + + const modernSelections = useMemo( + () => selectedEvaluations.filter((evaluation) => !isLegacyEvaluation(evaluation)), + [selectedEvaluations], + ) + + const legacyCompareDisabled = useMemo(() => { + if (selectionType !== "legacy") return true + if (scope === "app" && !selectedAppId) return true + if (legacySelections.length < 2) return true + + const [first] = legacySelections + + return legacySelections.some((item: any) => { + const status = item.status?.value as EvaluationStatus + return ( + status === EvaluationStatus.STARTED || + status === EvaluationStatus.INITIALIZED || + item.testset?.id !== first?.testset?.id + ) + }) + }, [selectionType, selectedAppId, scope, legacySelections]) + + const modernCompareDisabled = useMemo(() => { + if (selectionType !== "modern") return true + if (!selectedEvaluations.length) return true + // users can compare up to 5 evals at a time + if (selectedEvaluations.length > 5) return true + if (scope === "app" && !selectedAppId) return true + if (modernSelections.length < 2) return true + + const [first] = modernSelections + const baseTestsetId = first?.testsets?.[0]?.id + if (!baseTestsetId) return true + + if (process.env.NODE_ENV !== "production") { + console.debug("[AutoEvaluationHeader] modern compare check", { + scope, + selectedAppId, + baseTestsetId, + selectionCount: modernSelections.length, + statusList: modernSelections.map((run: any) => run?.status ?? run?.status?.value), + testsetIds: modernSelections.map((run: any) => run?.testsets?.[0]?.id), + }) + } + + return modernSelections.some((run: any) => { + const status = (run?.status?.value ?? run?.status) as EvaluationStatus | string + const testsetId = run?.testsets?.[0]?.id + + return ( + !testsetId || + testsetId !== baseTestsetId || + (status && disallowedCompareStatuses.has(status)) + ) + }) + }, [selectionType, selectedEvaluations, selectedAppId, scope, modernSelections]) + + const compareDisabled = useMemo(() => { + if (selectionType === "legacy") return legacyCompareDisabled + if (selectionType === "modern") return modernCompareDisabled + return true + }, [selectionType, legacyCompareDisabled, modernCompareDisabled]) + + const handleCompare = useCallback(() => { + if (compareDisabled) return + const selectedCommonAppId = selectedAppId + if (process.env.NODE_ENV !== "production") { + console.debug("[AutoEvaluationHeader] handleCompare invoked", { + scope, + selectionType, + selectedCommonAppId, + selectedCount: selectedEvaluations.length, + selectedIds: selectedRowKeys, + }) + } + + if (selectionType === "legacy") { + const legacyIds = selectedEvaluations + .filter((evaluation) => isLegacyEvaluation(evaluation)) + .map((evaluation: any) => evaluation.id) + + if (!legacyIds.length) return + + const primaryLegacyAppId = + selectedCommonAppId || + (legacySelections[0] ? extractAppId(legacySelections[0]) : undefined) + if (scope === "app" && !primaryLegacyAppId) return + + const pathname = buildEvaluationNavigationUrl({ + scope, + baseAppURL, + projectURL, + appId: primaryLegacyAppId, + path: "/evaluations/results/compare", + }) + + router.push({ + pathname, + query: { + evaluations: legacyIds.join(","), + ...(scope === "project" && primaryLegacyAppId + ? {app_id: primaryLegacyAppId} + : {}), + }, + }) + return + } + + if (selectionType === "modern") { + const modernSelectionSet = new Set( + selectedEvaluations + .filter((evaluation) => !isLegacyEvaluation(evaluation)) + .map((evaluation: any) => evaluation.id?.toString()), + ) + const modernIds = selectedRowKeys + .map((key) => key?.toString()) + .filter((id) => (id ? modernSelectionSet.has(id) : false)) + const [baseId, ...compareIds] = modernIds + if (!baseId) return + + const baseRun = + modernSelections.find((evaluation) => getEvaluationKey(evaluation) === baseId) || + undefined + const baseAppId = baseRun ? extractAppId(baseRun) : undefined + const effectiveAppId = selectedCommonAppId || baseAppId + if (process.env.NODE_ENV !== "production") { + console.debug("[AutoEvaluationHeader] navigating to compare view", { + baseId, + compareIds, + baseAppId, + selectedCommonAppId, + effectiveAppId, + }) + } + if (scope === "app" && !effectiveAppId) return + + const pathname = buildEvaluationNavigationUrl({ + scope, + baseAppURL, + projectURL, + appId: effectiveAppId, + path: `/evaluations/results/${baseId}`, + }) + + router.push({ + pathname, + query: { + ...(compareIds.length ? {compare: compareIds} : {}), + ...(scope === "project" && effectiveAppId ? {app_id: effectiveAppId} : {}), + }, + }) + } + }, [ + compareDisabled, + selectionType, + selectedEvaluations, + router, + baseAppURL, + projectURL, + selectedRowKeys, + scope, + extractAppId, + modernSelections, + legacySelections, + selectedAppId, + ]) + + return ( +
    + {viewType === "overview" ? ( +
    +
    + + Automatic Evaluation + + {(() => { + const href = + scope === "app" + ? appURL + ? `${appURL}/evaluations?selectedEvaluation=auto_evaluation` + : undefined + : `${projectURL}/evaluations?selectedEvaluation=auto_evaluation` + if (!href) return null + return ( + + + + ) + })()} +
    + {(scope === "app" || scope === "project") && ( + + )} +
    + ) : ( + <> +
    + + {(scope === "app" && activeAppId) || scope === "project" ? ( + <> + + + + ) : null} + + {/*
    + setPagination({page: p, size: s})} + className="flex items-center xl:hidden shrink-0 [&_.ant-pagination-options]:hidden lg:[&_.ant-pagination-options]:block [&_.ant-pagination-options]:!ml-2" + /> + setPagination({page: p, size: s})} + className="hidden xl:flex xl:items-center" + /> +
    */} +
    + +
    + setSearchTerm(e.target.value)} + onClear={() => { + setSearchTerm("") + if (searchQuery) { + setSearchQuery("") + } + }} + onKeyDown={(e) => { + if (e.key === "Enter") { + onSearch(searchTerm) + } + }} + /> +
    + + + + + { + setHiddenColumns(keys) + }} + /> +
    +
    + + setIsConfigEvaluatorModalOpen("")} + current={current} + setCurrent={setCurrent} + /> + + )} + + {(scope === "app" && activeAppId) || scope === "project" ? ( + { + setNewEvalModalOpen(false) + }} + onSuccess={(res) => { + const runningEvaluations = res.data.runs || [] + setTempEvaluation((prev) => { + const existingIds = new Set([ + ...prev.map((e) => e.id), + ...evaluations.map((e) => e.id), + ]) + const newEvaluations = runningEvaluations + .filter((e) => !existingIds.has(e.id)) + .map((e) => { + const camelCase = snakeToCamelCaseKeys(e) + return { + ...camelCase, + data: {steps: [{origin: "auto", type: "annotation"}]}, + status: "running", + createdAt: formatDay({ + date: camelCase.createdAt, + outputFormat: "DD MMM YYYY | h:mm a", + }), + createdAtTimestamp: dayjs( + camelCase.createdAt, + "YYYY/MM/DD H:mm:ssAZ", + ).valueOf(), + } + }) + + return [...prev, ...newEvaluations] + }) + + refetch() + setNewEvalModalOpen(false) + }} + evaluationType="auto" + preview={false} + /> + ) : null} +
    + ) +} + +export default memo(AutoEvaluationHeader) diff --git a/web/ee/src/components/pages/evaluations/autoEvaluation/assets/styles.ts b/web/ee/src/components/pages/evaluations/autoEvaluation/assets/styles.ts new file mode 100644 index 0000000000..6da350e19a --- /dev/null +++ b/web/ee/src/components/pages/evaluations/autoEvaluation/assets/styles.ts @@ -0,0 +1,8 @@ +import {createUseStyles} from "react-jss" + +export const useStyles = createUseStyles(() => ({ + button: { + display: "flex", + alignItems: "center", + }, +})) diff --git a/web/ee/src/components/pages/evaluations/autoEvaluation/assets/types.ts b/web/ee/src/components/pages/evaluations/autoEvaluation/assets/types.ts new file mode 100644 index 0000000000..c98818da34 --- /dev/null +++ b/web/ee/src/components/pages/evaluations/autoEvaluation/assets/types.ts @@ -0,0 +1,22 @@ +import {ColumnsType} from "antd/es/table" + +import {EvaluationRow} from "@/oss/components/HumanEvaluations/types" +import {BasicStats} from "@/oss/lib/metricUtils" + +export interface AutoEvaluationHeaderProps { + selectedRowKeys: React.Key[] + evaluations: EvaluationRow[] + columns: ColumnsType + setSelectedRowKeys: React.Dispatch> + setHiddenColumns: React.Dispatch> + selectedEvalRecord?: EvaluationRow + setIsDeleteEvalModalOpen: React.Dispatch> + viewType?: "overview" | "evaluation" + runMetricsMap: Record> | undefined + refetch: () => void + scope: "app" | "project" + baseAppURL: string + projectURL: string + activeAppId?: string + extractAppId: (evaluation: EvaluationRow) => string | undefined +} diff --git a/web/ee/src/components/pages/evaluations/cellRenderers/StatusRenderer.tsx b/web/ee/src/components/pages/evaluations/cellRenderers/StatusRenderer.tsx new file mode 100644 index 0000000000..7ba13179c0 --- /dev/null +++ b/web/ee/src/components/pages/evaluations/cellRenderers/StatusRenderer.tsx @@ -0,0 +1,62 @@ +import {InfoCircleOutlined} from "@ant-design/icons" +import {theme, Tooltip, Typography} from "antd" +import {createUseStyles} from "react-jss" + +import {useDurationCounter} from "@/oss/hooks/useDurationCounter" +import {_Evaluation, EvaluationStatus, JSSTheme} from "@/oss/lib/Types" + +import {runningStatuses, statusMapper} from "./cellRenderers" + +const useStyles = createUseStyles((theme: JSSTheme) => ({ + statusCell: { + display: "flex", + alignItems: "center", + gap: "0.25rem", + height: "100%", + marginBottom: 0, + + "& > div:nth-of-type(1)": { + height: 6, + aspectRatio: 1 / 1, + borderRadius: "50%", + }, + }, + dot: { + height: 3, + aspectRatio: 1 / 1, + borderRadius: "50%", + backgroundColor: "#8c8c8c", + marginTop: 2, + }, + date: { + color: "#8c8c8c", + }, +})) + +const StatusRenderer = (record: _Evaluation) => { + const classes = useStyles() + const {token} = theme.useToken() + const value = record.status.value + const duration = useDurationCounter(record.duration || 0, runningStatuses.includes(value)) + const {label, color} = statusMapper(token)(record.status.value as EvaluationStatus) + const errorMsg = record.status.error?.message + const errorStacktrace = record.status.error?.stacktrace + + return ( + +
    + {label} + {errorMsg && ( + + + + + + )} + + {duration} + + ) +} + +export default StatusRenderer diff --git a/web/ee/src/components/pages/evaluations/cellRenderers/cellRenderers.tsx b/web/ee/src/components/pages/evaluations/cellRenderers/cellRenderers.tsx new file mode 100644 index 0000000000..594a7a416b --- /dev/null +++ b/web/ee/src/components/pages/evaluations/cellRenderers/cellRenderers.tsx @@ -0,0 +1,270 @@ +import {memo, useCallback, useEffect, useState} from "react" + +import {type ICellRendererParams} from "@ag-grid-community/core" +import { + CopyOutlined, + FullscreenExitOutlined, + FullscreenOutlined, + InfoCircleOutlined, +} from "@ant-design/icons" +import {GlobalToken, Space, Tooltip, Typography, message, theme} from "antd" +import dayjs from "dayjs" +import duration from "dayjs/plugin/duration" +import relativeTime from "dayjs/plugin/relativeTime" +import Link from "next/link" +import {createUseStyles} from "react-jss" + +import {useDurationCounter} from "@/oss/hooks/useDurationCounter" +import {getTypedValue} from "@/oss/lib/helpers/evaluate" +import { + EvaluationStatus, + EvaluatorConfig, + JSSTheme, + _Evaluation, + _EvaluationScenario, +} from "@/oss/lib/Types" +dayjs.extend(relativeTime) +dayjs.extend(duration) + +const useStyles = createUseStyles((theme: JSSTheme) => ({ + statusCell: { + display: "flex", + alignItems: "center", + gap: "0.25rem", + height: "100%", + marginBottom: 0, + + "& > div:nth-of-type(1)": { + height: 6, + aspectRatio: 1 / 1, + borderRadius: "50%", + }, + }, + dot: { + height: 3, + aspectRatio: 1 / 1, + borderRadius: "50%", + backgroundColor: "#8c8c8c", + marginTop: 2, + }, + date: { + color: "#8c8c8c", + }, + longCell: { + height: "100%", + position: "relative", + overflow: "hidden", + textOverflow: "ellipsis", + whiteSpace: "nowrap", + "& .ant-space": { + position: "absolute", + bottom: 2, + right: 0, + height: 35, + backgroundColor: theme.colorBgContainer, + padding: "0.5rem", + borderRadius: theme.borderRadius, + border: `1px solid ${theme.colorBorder}`, + display: "none", + }, + "&:hover .ant-space": { + display: "inline-flex", + }, + }, +})) + +export function LongTextCellRenderer(params: ICellRendererParams, output?: any) { + const {value, api, node} = params + const [expanded, setExpanded] = useState( + node.rowHeight !== api.getSizesForCurrentTheme().rowHeight, + ) + const classes = useStyles() + + const onCopy = useCallback(() => { + navigator.clipboard + .writeText(value as string) + .then(() => { + message.success("Copied to clipboard") + }) + .catch(console.error) + }, [value]) + + const onExpand = useCallback(() => { + const cells = document.querySelectorAll(`[row-id='${node.id}'] .ag-cell > *`) + const cellsArr = Array.from(cells || []) + const defaultHeight = api.getSizesForCurrentTheme().rowHeight + if (!expanded) { + cellsArr.forEach((cell) => { + cell.setAttribute( + "style", + "overflow: visible; white-space: pre-wrap; text-overflow: unset;", + ) + }) + const height = Math.max(...cellsArr.map((cell) => cell.scrollHeight)) + node.setRowHeight(height <= defaultHeight ? defaultHeight * 2 : height + 10) + } else { + cellsArr.forEach((cell) => { + cell.setAttribute( + "style", + "overflow: hidden; white-space: nowrap; text-overflow: ellipsis;", + ) + }) + node.setRowHeight(defaultHeight) + } + api.onRowHeightChanged() + }, [expanded, api, node]) + + useEffect(() => { + node.addEventListener("heightChanged", () => { + setExpanded(node.rowHeight !== api.getSizesForCurrentTheme().rowHeight) + }) + }, [api, node]) + + return ( +
    + {output ? output : value} + + {expanded ? ( + + ) : ( + + )} + + +
    + ) +} + +export const ResultRenderer = memo( + ( + params: ICellRendererParams<_EvaluationScenario> & { + config: EvaluatorConfig + }, + ) => { + const result = params.data?.results.find( + (item) => item.evaluator_config === params.config.id, + )?.result + + return {getTypedValue(result)} + }, + (prev, next) => prev.value === next.value, +) + +export const runningStatuses = [EvaluationStatus.INITIALIZED, EvaluationStatus.STARTED] +export const statusMapper = (token: GlobalToken) => (status: EvaluationStatus) => { + const statusMap = { + [EvaluationStatus.PENDING]: { + label: "Pending", + color: token.colorTextSecondary, + }, + [EvaluationStatus.INCOMPLETE]: { + label: "Incomplete", + color: token.colorTextSecondary, + }, + [EvaluationStatus.INITIALIZED]: { + label: "Queued", + color: token.colorTextSecondary, + }, + [EvaluationStatus.RUNNING]: { + label: "Running", + color: token.colorTextSecondary, + }, + [EvaluationStatus.STARTED]: { + label: "Running", + color: token.colorWarning, + }, + [EvaluationStatus.FINISHED]: { + label: "Success", + color: token.colorSuccess, + }, + [EvaluationStatus.SUCCESS]: { + label: "Success", + color: token.colorSuccess, + }, + [EvaluationStatus.ERROR]: { + label: "Failure", + color: token.colorError, + }, + [EvaluationStatus.ERRORS]: { + label: "Failure", + color: token.colorError, + }, + [EvaluationStatus.FAILURE]: { + label: "Failure", + color: token.colorError, + }, + [EvaluationStatus.FINISHED_WITH_ERRORS]: { + label: "Completed with Errors", + color: token.colorWarning, + }, + [EvaluationStatus.AGGREGATION_FAILED]: { + label: "Result Aggregation Failed", + color: token.colorWarning, + }, + } + + return ( + statusMap[status] || { + label: "Unknown", + color: "purple", + } + ) +} + +export const StatusRenderer = memo( + (params: ICellRendererParams<_Evaluation>) => { + const classes = useStyles() + const {token} = theme.useToken() + const duration = useDurationCounter( + params.data?.duration || 0, + runningStatuses.includes(params.value), + ) + const {label, color} = statusMapper(token)(params.data?.status.value as EvaluationStatus) + const errorMsg = params.data?.status.error?.message + const errorStacktrace = params.data?.status.error?.stacktrace + + return ( + +
    + {label} + {errorMsg && ( + + + + + + )} + + {duration} + + ) + }, + (prev, next) => prev.value === next.value && prev.data?.duration === next.data?.duration, +) + +export const LinkCellRenderer = memo( + (params: ICellRendererParams & {href: string}) => { + const {value, href} = params + return {value} + }, + (prev, next) => prev.value === next.value && prev.href === next.href, +) + +export const DateFromNowRenderer = memo( + (params: ICellRendererParams) => { + const [date, setDate] = useState(params.value) + + useEffect(() => { + const interval = setInterval(() => { + setDate((date: any) => dayjs(date).add(1, "second").valueOf()) + }, 60000) + return () => clearInterval(interval) + }, []) + + return {dayjs(date).fromNow()} + }, + (prev, next) => prev.value === next.value, +) diff --git a/web/ee/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx b/web/ee/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx new file mode 100644 index 0000000000..118b35fb10 --- /dev/null +++ b/web/ee/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx @@ -0,0 +1,629 @@ +import {useEffect, useMemo, useState, type FC} from "react" + +import {type ColDef, type ICellRendererParams} from "@ag-grid-community/core" +import {CheckOutlined, CloseCircleOutlined, DownloadOutlined, UndoOutlined} from "@ant-design/icons" +import {Button, DropdownProps, Space, Spin, Tag, Tooltip, Typography} from "antd" +import {useAtom} from "jotai" +import uniqBy from "lodash/uniqBy" +import Link from "next/link" +import {useRouter} from "next/router" +import {createUseStyles} from "react-jss" + +import AgCustomHeader from "@/oss/components/AgCustomHeader/AgCustomHeader" +import CompareOutputDiff from "@/oss/components/CompareOutputDiff/CompareOutputDiff" +import {useAppTheme} from "@/oss/components/Layout/ThemeContextProvider" +import {useAppId} from "@/oss/hooks/useAppId" +import {useQueryParam} from "@/oss/hooks/useQuery" +import useURL from "@/oss/hooks/useURL" +import {evaluatorsAtom} from "@/oss/lib/atoms/evaluation" +import AgGridReact, {type AgGridReactType} from "@/oss/lib/helpers/agGrid" +import {getColorPairFromStr, getRandomColors} from "@/oss/lib/helpers/colors" +import {getFilterParams, getTypedValue, removeCorrectAnswerPrefix} from "@/oss/lib/helpers/evaluate" +import {escapeNewlines} from "@/oss/lib/helpers/fileManipulations" +import {formatCurrency, formatLatency} from "@/oss/lib/helpers/formatters" +import {getStringOrJson} from "@/oss/lib/helpers/utils" +import {variantNameWithRev} from "@/oss/lib/helpers/variantHelper" +import {useBreadcrumbsEffect} from "@/oss/lib/hooks/useBreadcrumbs" +import {ComparisonResultRow, EvaluatorConfig, JSSTheme, TestSet, _Evaluation} from "@/oss/lib/Types" +import {fetchAllComparisonResults} from "@/oss/services/evaluations/api" +import {getAppValues} from "@/oss/state/app" + +import {LongTextCellRenderer} from "../cellRenderers/cellRenderers" +import EvaluationErrorModal from "../EvaluationErrorProps/EvaluationErrorModal" +import EvaluationErrorText from "../EvaluationErrorProps/EvaluationErrorText" +import FilterColumns, {generateFilterItems} from "../FilterColumns/FilterColumns" + +const useStyles = createUseStyles((theme: JSSTheme) => ({ + table: { + height: "calc(100vh - 240px)", + }, + infoRow: { + marginTop: "1rem", + margin: "0.75rem 0", + display: "flex", + alignItems: "center", + justifyContent: "space-between", + }, + tag: { + "& a": { + color: "inherit !important", + fontWeight: 600, + "&:hover": { + color: "inherit !important", + textDecoration: "underline", + }, + }, + }, + dropdownMenu: { + "&>.ant-dropdown-menu-item": { + "& .anticon-check": { + display: "none", + }, + }, + "&>.ant-dropdown-menu-item-selected": { + "&:not(:hover)": { + backgroundColor: "transparent !important", + }, + "& .anticon-check": { + display: "inline-flex !important", + }, + }, + }, +})) + +interface Props {} + +const EvaluationCompareMode: FC = () => { + const router = useRouter() + const appId = useAppId() + const classes = useStyles() + const {appTheme} = useAppTheme() + const [evaluationIdsStr = ""] = useQueryParam("evaluations") + const evaluationIdsArray = evaluationIdsStr.split(",").filter((item) => !!item) + const [evalIds, setEvalIds] = useState(evaluationIdsArray) + const [hiddenVariants, setHiddenVariants] = useState([]) + const [fetching, setFetching] = useState(false) + const [scenarios, setScenarios] = useState<_Evaluation[]>([]) + const [rows, setRows] = useState([]) + const [testset, setTestset] = useState() + const [evaluators] = useAtom(evaluatorsAtom) + const [gridRef, setGridRef] = useState>() + const [isFilterColsDropdownOpen, setIsFilterColsDropdownOpen] = useState(false) + const [isDiffDropdownOpen, setIsDiffDropdownOpen] = useState(false) + const [selectedCorrectAnswer, setSelectedCorrectAnswer] = useState(["noDiffColumnIsSelected"]) + const [modalErrorMsg, setModalErrorMsg] = useState({ + message: "", + stackTrace: "", + errorType: "invoke" as "invoke" | "evaluation", + }) + const [isErrorModalOpen, setIsErrorModalOpen] = useState(false) + const {baseAppURL, projectURL} = useURL() + // breadcrumbs + const isAppScope = router.asPath.includes("/apps/") + const evaluationsHref = + isAppScope && appId + ? `${baseAppURL}/${appId}/evaluations?selectedEvaluation=auto_evaluation` + : `${projectURL}/evaluations?selectedEvaluation=auto_evaluation` + const breadcrumbKey = isAppScope && appId ? "appPage" : "projectPage" + + useBreadcrumbsEffect( + { + breadcrumbs: { + [breadcrumbKey]: { + label: "auto evaluation", + href: evaluationsHref, + }, + "eval-compare": { + label: "compare", + }, + }, + type: "append", + condition: evaluationIdsArray.length > 0, + }, + [evaluationIdsArray, evaluationsHref, breadcrumbKey], + ) + + const handleOpenChangeDiff: DropdownProps["onOpenChange"] = (nextOpen, info) => { + if (info.source === "trigger" || nextOpen) { + setIsDiffDropdownOpen(nextOpen) + } + } + + const handleOpenChangeFilterCols: DropdownProps["onOpenChange"] = (nextOpen, info) => { + if (info.source === "trigger" || nextOpen) { + setIsFilterColsDropdownOpen(nextOpen) + } + } + + const variants = useMemo(() => { + return rows[0]?.variants || [] + }, [rows]) + + const colors = useMemo(() => { + const previous = new Set() + const colors = getRandomColors() + return variants.map((v) => { + const {textColor} = getColorPairFromStr(v.evaluationId) + if (previous.has(textColor)) return colors.find((c) => !previous.has(c))! + previous.add(textColor) + return textColor + }) + }, [variants]) + + const evaluationIds = useMemo( + () => evaluationIdsStr.split(",").filter((item) => !!item), + [evaluationIdsStr], + ) + + const colDefs = useMemo(() => { + const colDefs: ColDef[] = [] + const {inputs, variants} = rows[0] || {} + + if (!rows.length || !variants.length) return [] + + inputs.forEach((input, ix) => { + colDefs.push({ + headerName: `Input: ${input.name}`, + headerComponent: (props: any) => { + return ( + + + {input.name} + Input + + + ) + }, + minWidth: 200, + flex: 1, + field: `inputs.${ix}.value` as any, + ...getFilterParams("text"), + pinned: "left", + cellRenderer: (params: any) => LongTextCellRenderer(params), + }) + }) + + Object.keys(rows[0]) + .filter((item) => item.startsWith("correctAnswer_")) + .forEach((key) => + colDefs.push({ + headerName: `${removeCorrectAnswerPrefix(key)}`, + hide: hiddenVariants.includes(`${removeCorrectAnswerPrefix(key)}`), + headerComponent: (props: any) => { + return ( + + + {removeCorrectAnswerPrefix(key)} + Ground Truth + + + ) + }, + minWidth: 280, + flex: 1, + field: key, + ...getFilterParams("text"), + cellRenderer: (params: any) => LongTextCellRenderer(params), + }), + ) + + variants.forEach((variant, vi) => { + colDefs.push({ + headerComponent: (props: any) => ( + + + Output + {variant.variantName} + + + ), + headerName: "Output", + minWidth: 300, + flex: 1, + field: `variants.${vi}.output` as any, + ...getFilterParams("text"), + hide: hiddenVariants.includes("Output"), + cellRenderer: (params: ICellRendererParams) => { + const result = params.data?.variants.find( + (item: any) => item.evaluationId === variant.evaluationId, + )?.output?.result + + if (result && result.error && result.type == "error") { + return ( + { + setModalErrorMsg({ + message: result.error?.message || "", + stackTrace: result.error?.stacktrace || "", + errorType: "invoke", + }) + setIsErrorModalOpen(true) + }} + /> + ) + } + + return ( + <> + {selectedCorrectAnswer[0] !== "noDiffColumnIsSelected" + ? LongTextCellRenderer( + params, + , + ) + : LongTextCellRenderer(params, getStringOrJson(result?.value))} + + ) + }, + valueGetter: (params) => { + return getStringOrJson( + params.data?.variants.find( + (item) => item.evaluationId === variant.evaluationId, + )?.output?.result.value, + ) + }, + }) + }) + + const confgisMap: Record< + string, + {config: EvaluatorConfig; variant: ComparisonResultRow["variants"][0]; color: string}[] + > = {} + variants.forEach((variant, vi) => { + variant.evaluatorConfigs.forEach(({evaluatorConfig: config}, ix) => { + if (!confgisMap[config.id]) confgisMap[config.id] = [] + confgisMap[config.id].push({variant, config, color: colors[vi]}) + }) + }) + + Object.entries(confgisMap).forEach(([_, configs]) => { + configs.forEach(({config, variant, color}, idx) => { + colDefs.push({ + flex: 1, + minWidth: 200, + headerComponent: (props: any) => { + const evaluator = evaluators.find( + (item) => item.key === config.evaluator_key, + ) + return ( + + + + {config.name} + {evaluator?.name} + + {variant.variantName} + + + ) + }, + headerName: config.name, + type: `evaluator_${idx}`, + field: "variants.0.evaluatorConfigs.0.result" as any, + ...getFilterParams("text"), + hide: hiddenVariants.includes(config.name), + cellRenderer: (params: ICellRendererParams) => { + const result = params.data?.variants + .find((item) => item.evaluationId === variant.evaluationId) + ?.evaluatorConfigs.find( + (item) => item.evaluatorConfig.id === config.id, + )?.result + + return result?.type === "error" && result.error ? ( + { + setModalErrorMsg({ + message: result.error?.message || "", + stackTrace: result.error?.stacktrace || "", + errorType: "evaluation", + }) + setIsErrorModalOpen(true) + }} + /> + ) : ( + {getTypedValue(result)} + ) + }, + valueGetter: (params) => { + return getTypedValue( + params.data?.variants + .find((item) => item.evaluationId === variant.evaluationId) + ?.evaluatorConfigs.find( + (item) => item.evaluatorConfig.id === config.id, + )?.result, + ) + }, + }) + }) + }) + + variants.forEach((variant, vi) => { + colDefs.push({ + headerComponent: (props: any) => ( + + + Latency + {variant.variantName} + + + ), + hide: hiddenVariants.includes("Latency"), + minWidth: 120, + headerName: "Latency", + field: `latency.${vi}` as any, + flex: 1, + valueGetter: (params) => { + const latency = params.data?.variants.find( + (item) => item.evaluationId === variant.evaluationId, + )?.output?.latency + return latency === undefined ? "-" : formatLatency(latency) + }, + ...getFilterParams("text"), + }) + }) + + variants.forEach((variant, vi) => { + colDefs.push({ + headerComponent: (props: any) => ( + + + Cost + {variant.variantName} + + + ), + field: `cost.${vi}` as any, + headerName: "Cost", + minWidth: 120, + hide: !evalIds.includes(variant.evaluationId) || hiddenVariants.includes("Cost"), + flex: 1, + valueGetter: (params) => { + const cost = params.data?.variants.find( + (item) => item.evaluationId === variant.evaluationId, + )?.output?.cost + return cost === undefined ? "-" : formatCurrency(cost) + }, + ...getFilterParams("text"), + }) + }) + + return colDefs + }, [rows, hiddenVariants, evalIds, selectedCorrectAnswer, colors, evaluators]) + + const fetcher = () => { + setFetching(true) + fetchAllComparisonResults(evaluationIds) + .then(({rows, testset, evaluations}) => { + setScenarios(evaluations) + setRows(rows) + setTestset(testset) + setTimeout(() => { + if (!gridRef) return + + const ids: string[] = + gridRef.api + .getColumns() + ?.filter((column) => column.getColDef().field?.endsWith("result")) + ?.map((item) => item.getColId()) || [] + gridRef.api.autoSizeColumns(ids, false) + setFetching(false) + }, 100) + }) + .catch(() => setFetching(false)) + } + + useEffect(() => { + if (!gridRef) return + fetcher() + }, [appId, evaluationIdsStr, gridRef]) + + const handleToggleVariantVisibility = (evalId: string) => { + if (!hiddenVariants.includes(evalId)) { + setHiddenVariants([...hiddenVariants, evalId]) + setEvalIds(evalIds.filter((val) => val !== evalId)) + } else { + setHiddenVariants(hiddenVariants.filter((item) => item !== evalId)) + if (evaluationIdsArray.includes(evalId)) { + setEvalIds([...evalIds, evalId]) + } + } + } + + const shownCols = useMemo( + () => + colDefs + .map((item) => item.headerName) + .filter((item) => item !== undefined && !hiddenVariants.includes(item)) as string[], + [colDefs, hiddenVariants], + ) + + const getDynamicHeaderName = (params: ColDef): string => { + const {headerName, field, type}: any = params + + const getVariantNameWithRev = (index: number): string => { + const scenario = scenarios[index] + const variantName = scenario?.variants[0]?.variantName ?? "" + const revision = scenario?.revisions[0] ?? "" + return variantNameWithRev({variant_name: variantName, revision}) + } + + if (headerName === "Output" || headerName === "Latency" || headerName === "Cost") { + const index = Number(field.split(".")[1]) + return `${headerName} ${getVariantNameWithRev(index)}` + } + + if (type && type.startsWith("evaluator")) { + const index = Number(type.split("_")[1]) + return `${headerName} ${getVariantNameWithRev(index)}` + } + + return headerName + } + + const onExport = (): void => { + const gridApi = gridRef?.api + if (!gridApi) return + + const {currentApp} = getAppValues() + const fileName = `${currentApp?.app_name ?? "export"}_${variants.map(({variantName}) => variantName).join("_")}.csv` + + gridApi.exportDataAsCsv({ + fileName, + processHeaderCallback: (params) => getDynamicHeaderName(params.column.getColDef()), + processCellCallback: (params) => + typeof params.value === "string" ? escapeNewlines(params.value) : params.value, + }) + } + + return ( +
    + Evaluations Comparison +
    + + + Testset: + // TODO: REPLACE WITH NEXT/LINK + + {testset?.name || ""} + + + + + Variants: +
    + {scenarios?.map((v, vi) => ( + + handleToggleVariantVisibility(v.id) + } + style={{cursor: "pointer"}} + /> + ) : ( + + handleToggleVariantVisibility(v.id) + } + style={{cursor: "pointer"}} + /> + ) + } + > + + {variantNameWithRev({ + variant_name: v.variants[0].variantName ?? "", + revision: v.revisions[0], + })} + + + ))} +
    +
    +
    +
    + + !item.headerName?.startsWith("Input")), + "headerName", + ), + )} + isOpen={isFilterColsDropdownOpen} + handleOpenChange={handleOpenChangeFilterCols} + shownCols={shownCols} + onClick={({key}) => { + handleToggleVariantVisibility(key) + setIsFilterColsDropdownOpen(true) + }} + /> + {!!rows.length && ( +
    + Apply difference with: + item.startsWith("correctAnswer_")) + .map((key) => ({ + key: key as string, + label: ( + + + <>{removeCorrectAnswerPrefix(key)} + + ), + }))} + buttonText={ + removeCorrectAnswerPrefix(selectedCorrectAnswer[0]) === + "noDiffColumnIsSelected" + ? "Select Ground Truth" + : removeCorrectAnswerPrefix(selectedCorrectAnswer[0]) + } + isOpen={isDiffDropdownOpen} + handleOpenChange={handleOpenChangeDiff} + shownCols={selectedCorrectAnswer} + onClick={({key}) => { + if (key === selectedCorrectAnswer[0]) { + setSelectedCorrectAnswer(["noDiffColumnIsSelected"]) + } else { + setSelectedCorrectAnswer([key]) + } + setIsDiffDropdownOpen(true) + }} + /> +
    + )} + + + +
    +
    + + +
    + + gridRef={setGridRef} + rowData={rows} + columnDefs={colDefs} + getRowId={(params) => params.data.rowId} + headerHeight={64} + /> +
    +
    + + +
    + ) +} + +export default EvaluationCompareMode diff --git a/web/ee/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx b/web/ee/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx new file mode 100644 index 0000000000..d627f7c75c --- /dev/null +++ b/web/ee/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx @@ -0,0 +1,474 @@ +import {type FC, useEffect, useMemo, useState} from "react" + +import {type ColDef, type ICellRendererParams} from "@ag-grid-community/core" +import {CheckOutlined, DeleteOutlined, DownloadOutlined} from "@ant-design/icons" +import {DropdownProps, Space, Spin, Tag, Tooltip, Typography} from "antd" +import {useAtom, useAtomValue} from "jotai" +import uniqBy from "lodash/uniqBy" +import {useRouter} from "next/router" +import {createUseStyles} from "react-jss" + +import AgCustomHeader from "@/oss/components/AgCustomHeader/AgCustomHeader" +import AlertPopup from "@/oss/components/AlertPopup/AlertPopup" +import CompareOutputDiff from "@/oss/components/CompareOutputDiff/CompareOutputDiff" +import {useAppTheme} from "@/oss/components/Layout/ThemeContextProvider" +import VariantDetailsWithStatus from "@/oss/components/VariantDetailsWithStatus" +import {useAppId} from "@/oss/hooks/useAppId" +import useURL from "@/oss/hooks/useURL" +import {evaluatorsAtom} from "@/oss/lib/atoms/evaluation" +import AgGridReact, {type AgGridReactType} from "@/oss/lib/helpers/agGrid" +import {formatDate} from "@/oss/lib/helpers/dateTimeHelper" +import {getFilterParams, getTypedValue} from "@/oss/lib/helpers/evaluate" +import {escapeNewlines} from "@/oss/lib/helpers/fileManipulations" +import {formatCurrency, formatLatency} from "@/oss/lib/helpers/formatters" +import {getStringOrJson} from "@/oss/lib/helpers/utils" +import {variantNameWithRev} from "@/oss/lib/helpers/variantHelper" +import {useBreadcrumbsEffect} from "@/oss/lib/hooks/useBreadcrumbs" +import {CorrectAnswer, EvaluatorConfig, JSSTheme, _EvaluationScenario} from "@/oss/lib/Types" +import {deleteEvaluations} from "@/oss/services/evaluations/api" +import {fetchAllEvaluators} from "@/oss/services/evaluators" +import {currentAppAtom} from "@/oss/state/app" + +import {LongTextCellRenderer, ResultRenderer} from "../cellRenderers/cellRenderers" +import EvaluationErrorModal from "../EvaluationErrorProps/EvaluationErrorModal" +import EvaluationErrorText from "../EvaluationErrorProps/EvaluationErrorText" +import FilterColumns, {generateFilterItems} from "../FilterColumns/FilterColumns" + +const useStyles = createUseStyles((theme: JSSTheme) => ({ + infoRow: { + marginTop: "1rem", + margin: "0.75rem 0", + display: "flex", + alignItems: "center", + justifyContent: "space-between", + }, + date: { + fontSize: "0.75rem", + color: "#8c8c8c", + display: "inline-block", + }, + table: { + height: "calc(100vh - 240px)", + }, +})) + +interface Props { + scenarios: _EvaluationScenario[] +} + +const EvaluationScenarios: FC = ({scenarios: _scenarios}) => { + const router = useRouter() + const appId = useAppId() + const currentApp = useAtomValue(currentAppAtom) + const classes = useStyles() + const {appTheme} = useAppTheme() + const evaluationId = router.query.evaluation_id as string + const [scenarios, setScenarios] = useState<_EvaluationScenario[]>([]) + const [fetching, setFetching] = useState(false) + const [evaluators, setEvaluators] = useAtom(evaluatorsAtom) + const [gridRef, setGridRef] = useState>() + const evalaution = scenarios?.[0]?.evaluation + const [selectedCorrectAnswer, setSelectedCorrectAnswer] = useState(["noDiffColumnIsSelected"]) + const [isFilterColsDropdownOpen, setIsFilterColsDropdownOpen] = useState(false) + const [isDiffDropdownOpen, setIsDiffDropdownOpen] = useState(false) + const [hiddenCols, setHiddenCols] = useState([]) + const {baseAppURL, projectURL} = useURL() + + // breadcrumbs + useBreadcrumbsEffect( + { + breadcrumbs: { + appPage: { + label: "auto evaluation", + href: `${baseAppURL}/${appId}/evaluations?selectedEvaluation=auto_evaluation`, + }, + "eval-detail": { + label: evaluationId, + value: evaluationId, + }, + }, + type: "append", + condition: !!evaluationId, + }, + [evaluationId, baseAppURL], + ) + + const handleOpenChangeFilterCols: DropdownProps["onOpenChange"] = (nextOpen, info) => { + if (info.source === "trigger" || nextOpen) { + setIsFilterColsDropdownOpen(nextOpen) + } + } + + const handleOpenChangeDiff: DropdownProps["onOpenChange"] = (nextOpen, info) => { + if (info.source === "trigger" || nextOpen) { + setIsDiffDropdownOpen(nextOpen) + } + } + + const uniqueCorrectAnswers: CorrectAnswer[] = uniqBy( + scenarios?.[0]?.correct_answers || [], + "key", + ) + const [modalErrorMsg, setModalErrorMsg] = useState({ + message: "", + stackTrace: "", + errorType: "evaluation" as "invoke" | "evaluation", + }) + const [isErrorModalOpen, setIsErrorModalOpen] = useState(false) + + const colDefs = useMemo(() => { + const colDefs: ColDef<_EvaluationScenario>[] = [] + if (!scenarios.length || !evalaution) return colDefs + + scenarios?.[0]?.inputs?.forEach((input, index) => { + colDefs.push({ + flex: 1, + minWidth: 240, + headerName: `Input: ${input.name}`, + hide: hiddenCols.includes(`Input: ${input.name}`), + headerComponent: (props: any) => { + return ( + + + {input.name} + Input + + + ) + }, + ...getFilterParams(input.type === "number" ? "number" : "text"), + field: `inputs.${index}`, + valueGetter: (params) => { + return getTypedValue(params.data?.inputs[index]) + }, + cellRenderer: (params: any) => LongTextCellRenderer(params), + }) + }) + + uniqueCorrectAnswers.forEach((answer: CorrectAnswer, index: number) => { + colDefs.push({ + headerName: answer.key, + hide: hiddenCols.includes(answer.key), + headerComponent: (props: any) => { + return ( + + + {answer.key} + Ground Truth + + + ) + }, + minWidth: 200, + flex: 1, + ...getFilterParams("text"), + valueGetter: (params) => params.data?.correct_answers?.[index]?.value || "", + cellRenderer: (params: any) => LongTextCellRenderer(params), + }) + }) + + const evalVariants = evalaution?.variants || [] + + evalVariants.forEach((_, index) => { + colDefs.push({ + flex: 1, + minWidth: 300, + headerName: "Output", + hide: hiddenCols.includes("Output"), + ...getFilterParams("text"), + field: `outputs.0`, + cellRenderer: (params: ICellRendererParams<_EvaluationScenario>) => { + const correctAnswer = params?.data?.correct_answers?.find( + (item: any) => item.key === selectedCorrectAnswer[0], + ) + const result = params.data?.outputs[index].result + + if (result && result.error && result.type == "error") { + return ( + { + setModalErrorMsg({ + message: result.error?.message || "", + stackTrace: result.error?.stacktrace || "", + errorType: "evaluation", + }) + setIsErrorModalOpen(true) + }} + /> + ) + } + return selectedCorrectAnswer[0] !== "noDiffColumnIsSelected" + ? LongTextCellRenderer( + params, + , + ) + : LongTextCellRenderer(params) + }, + valueGetter: (params: any) => { + const result = params.data?.outputs[index].result.value + return getStringOrJson(result) + }, + }) + }) + + const evaluatorConfigs = scenarios?.[0]?.evaluators_configs || [] + + evaluatorConfigs.forEach((config, index) => { + colDefs.push({ + headerName: config?.name, + hide: hiddenCols.includes(config.name), + headerComponent: (props: any) => { + const evaluator = evaluators.find((item) => item.key === config?.evaluator_key)! + return ( + + + {config.name} + {evaluator?.name} + + + ) + }, + autoHeaderHeight: true, + field: `results`, + ...getFilterParams("text"), + cellRenderer: ( + params: ICellRendererParams<_EvaluationScenario> & { + config: EvaluatorConfig + }, + ) => { + const result = params.data?.results.find( + (item) => item.evaluator_config === params.config.id, + )?.result + + return result?.type === "error" && result.error ? ( + { + setModalErrorMsg({ + message: result.error?.message || "", + stackTrace: result.error?.stacktrace || "", + errorType: "evaluation", + }) + setIsErrorModalOpen(true) + }} + /> + ) : ( + + ) + }, + cellRendererParams: { + config, + }, + valueGetter: (params) => { + return params.data?.results[index].result.value + }, + }) + }) + colDefs.push({ + flex: 1, + minWidth: 120, + headerName: "Cost", + hide: hiddenCols.includes("Cost"), + ...getFilterParams("text"), + valueGetter: (params) => { + return params.data?.outputs[0].cost == undefined + ? "-" + : formatCurrency(params.data.outputs[0].cost) + }, + }) + + colDefs.push({ + flex: 1, + minWidth: 120, + headerName: "Latency", + hide: hiddenCols.includes("Latency"), + ...getFilterParams("text"), + valueGetter: (params) => { + return params.data?.outputs[0].latency == undefined + ? "-" + : formatLatency(params.data.outputs[0].latency) + }, + }) + return colDefs + }, [evalaution, scenarios, selectedCorrectAnswer, hiddenCols, evaluators, uniqueCorrectAnswers]) + + const shownCols = useMemo( + () => + colDefs + .map((item) => item.headerName) + .filter((item) => item !== undefined && !hiddenCols.includes(item)) as string[], + [colDefs, hiddenCols], + ) + + const onToggleEvaluatorVisibility = (evalConfigId: string) => { + if (!hiddenCols.includes(evalConfigId)) { + setHiddenCols([...hiddenCols, evalConfigId]) + } else { + setHiddenCols(hiddenCols.filter((item) => item !== evalConfigId)) + } + } + + const fetcher = () => { + setFetching(true) + Promise.all([evaluators.length ? Promise.resolve(evaluators) : fetchAllEvaluators()]) + .then(([evaluators]) => { + setScenarios(_scenarios) + setEvaluators(evaluators) + setTimeout(() => { + if (!gridRef) return + + const ids: string[] = + gridRef.api + .getColumns() + ?.filter((column) => column.getColDef().field === "results") + ?.map((item) => item.getColId()) || [] + gridRef.api.autoSizeColumns(ids, false) + setFetching(false) + }, 100) + }) + .catch(console.error) + .finally(() => setFetching(false)) + } + + useEffect(() => { + if (!gridRef) return + fetcher() + }, [appId, gridRef, evaluationId]) + + const onExport = () => { + if (!gridRef) return + gridRef.api.exportDataAsCsv({ + fileName: `${currentApp?.app_name}_${evalaution.variants[0].variantName}.csv`, + processHeaderCallback: (params) => { + if (params.column.getColDef().headerName === "Output") { + return `Output ${variantNameWithRev({ + variant_name: evalaution?.variants[0].variantName ?? "", + revision: evalaution.revisions[0], + })}` + } + return params.column.getColDef().headerName as string + }, + processCellCallback: (params) => + typeof params.value === "string" ? escapeNewlines(params.value) : params.value, + }) + } + + const onDelete = () => { + AlertPopup({ + title: "Delete Evaluation", + message: "Are you sure you want to delete this evaluation?", + onOk: () => + deleteEvaluations([evaluationId]) + .then(() => router.push(`${baseAppURL}/${appId}/evaluations`)) + .catch(console.error), + }) + } + + return ( +
    + Evaluation Results +
    + + + {formatDate(evalaution?.created_at)} + + + Testset: + // TODO: REPLACE WITH NEXT/LINK + + {evalaution?.testset.name || ""} + + + + Variant: + + + + + + + { + onToggleEvaluatorVisibility(key) + setIsFilterColsDropdownOpen(true) + }} + /> + {!!scenarios.length && !!scenarios[0].correct_answers?.length && ( +
    + Apply difference with: + ({ + key: answer.key as string, + label: ( + + + <>{answer.key} + + ), + }))} + buttonText={ + selectedCorrectAnswer[0] === "noDiffColumnIsSelected" + ? "Select Ground Truth" + : selectedCorrectAnswer[0] + } + isOpen={isDiffDropdownOpen} + handleOpenChange={handleOpenChangeDiff} + shownCols={selectedCorrectAnswer} + onClick={({key}) => { + if (key === selectedCorrectAnswer[0]) { + setSelectedCorrectAnswer(["noDiffColumnIsSelected"]) + } else { + setSelectedCorrectAnswer([key]) + } + setIsDiffDropdownOpen(true) + }} + /> +
    + )} + + + + + + +
    +
    + + +
    + + gridRef={setGridRef} + rowData={scenarios} + columnDefs={colDefs} + getRowId={(params) => params.data.id} + /> +
    +
    + + +
    + ) +} + +export default EvaluationScenarios diff --git a/web/ee/src/components/pages/evaluations/utils.ts b/web/ee/src/components/pages/evaluations/utils.ts new file mode 100644 index 0000000000..af9d1c59ac --- /dev/null +++ b/web/ee/src/components/pages/evaluations/utils.ts @@ -0,0 +1,185 @@ +import {EvaluationRow} from "@/oss/components/HumanEvaluations/types" + +type Nullable = T | null | undefined + +const parseInvocationMetadata = ( + evaluation: EvaluationRow, +): { + appId?: string + appName?: string + revisionId?: string + variantName?: string + revisionLabel?: string | number +} | null => { + const dataSteps: any[] = (evaluation as any)?.data?.steps || [] + const invocationStep = dataSteps.find((step) => step?.type === "invocation") + if (!invocationStep) return null + + const references = invocationStep.references ?? invocationStep ?? {} + const applicationRevision = + references.applicationRevision || references.application_revision || references.revision + const applicationRef = + references.application || + applicationRevision?.application || + references.applicationRef || + references.application_ref + const variantRef = references.variant || references.variantRef || references.variant_ref + + const rawAppId = + applicationRef?.id || + applicationRef?.app_id || + applicationRef?.appId || + references.application?.id || + references.application?.app_id || + applicationRevision?.application_id || + applicationRevision?.applicationId + + const rawAppName = + applicationRef?.name || + applicationRef?.slug || + references.application?.name || + references.application?.slug + + const rawVariantName = + variantRef?.name || + variantRef?.slug || + variantRef?.variantName || + variantRef?.variant_name || + applicationRef?.name || + applicationRef?.slug || + references.application?.name || + references.application?.slug || + invocationStep.key + + const rawRevisionId = + variantRef?.id || + variantRef?.revisionId || + variantRef?.revision_id || + applicationRevision?.id || + applicationRevision?.revisionId || + applicationRevision?.revision_id + + const revisionLabel = + variantRef?.version ?? + variantRef?.revision ?? + variantRef?.revisionLabel ?? + applicationRevision?.revision ?? + applicationRevision?.version ?? + applicationRevision?.name ?? + null + + if (!rawAppId && !rawRevisionId && !rawVariantName) return null + + return { + appId: typeof rawAppId === "string" ? rawAppId : undefined, + appName: typeof rawAppName === "string" ? rawAppName : undefined, + revisionId: typeof rawRevisionId === "string" ? rawRevisionId : undefined, + variantName: typeof rawVariantName === "string" ? rawVariantName : undefined, + revisionLabel: revisionLabel ?? undefined, + } +} + +export const extractPrimaryInvocation = ( + evaluation: EvaluationRow, +): { + appId?: string + appName?: string + revisionId?: string + variantName?: string + revisionLabel?: string | number +} | null => { + if (!evaluation) return null + + const variants = (evaluation as any)?.variants + if (Array.isArray(variants) && variants.length) { + const variant = variants[0] + return { + appId: + variant?.appId || + (typeof variant?.app_id === "string" ? variant.app_id : undefined) || + (typeof variant?.applicationId === "string" ? variant.applicationId : undefined), + appName: (variant as any)?.appName || (variant as any)?.appSlug, + revisionId: + (variant as any)?.id || + (typeof variant?.revisionId === "string" ? variant.revisionId : undefined) || + (typeof variant?.revision_id === "string" ? variant.revision_id : undefined), + variantName: variant?.variantName || variant?.name || (variant as any)?.slug, + revisionLabel: + (variant as any)?.revisionLabel || + (variant as any)?.revision || + (variant as any)?.version, + } + } + + return parseInvocationMetadata(evaluation) +} + +export const extractEvaluationAppId = (evaluation: EvaluationRow): string | undefined => { + const invocation = extractPrimaryInvocation(evaluation) + if (invocation?.appId) return invocation.appId + + const directAppId: Nullable = (evaluation as any)?.appId + if (typeof directAppId === "string" && directAppId.length > 0) { + return directAppId + } + + const variants = (evaluation as any)?.variants + if (Array.isArray(variants) && variants.length) { + const candidate = variants[0] + const variantAppId = + (typeof candidate?.appId === "string" && + candidate.appId.length > 0 && + candidate.appId) || + (typeof candidate?.app_id === "string" && + candidate.app_id.length > 0 && + candidate.app_id) || + (typeof candidate?.applicationId === "string" && + candidate.applicationId.length > 0 && + candidate.applicationId) + if (variantAppId) return variantAppId + } + + return undefined +} + +export const getCommonEvaluationAppId = (evaluations: EvaluationRow[]): string | undefined => { + if (!Array.isArray(evaluations) || evaluations.length === 0) return undefined + const ids = new Set( + evaluations + .map((evaluation) => extractEvaluationAppId(evaluation)) + .filter((id): id is string => Boolean(id)), + ) + + if (ids.size !== 1) return undefined + const [only] = Array.from(ids) + return only +} + +export const buildAppScopedUrl = (baseAppURL: string, appId: string, path: string): string => { + const normalizedPath = path.startsWith("/") ? path : `/${path}` + return `${baseAppURL}/${encodeURIComponent(appId)}${normalizedPath}` +} + +export const buildProjectEvaluationUrl = (projectURL: string, path: string): string => { + const normalizedPath = path.startsWith("/") ? path : `/${path}` + return `${projectURL}${normalizedPath}` +} + +export const buildEvaluationNavigationUrl = ({ + scope, + baseAppURL, + projectURL, + appId, + path, +}: { + scope: "app" | "project" + baseAppURL: string + projectURL: string + appId?: string + path: string +}) => { + if (scope === "app" && appId) { + return buildAppScopedUrl(baseAppURL, appId, path) + } + return buildProjectEvaluationUrl(projectURL, path) +} diff --git a/web/ee/src/components/pages/observability/dashboard/widgetCard.tsx b/web/ee/src/components/pages/observability/dashboard/widgetCard.tsx new file mode 100644 index 0000000000..27038d1279 --- /dev/null +++ b/web/ee/src/components/pages/observability/dashboard/widgetCard.tsx @@ -0,0 +1,85 @@ +import {ReactNode, useState} from "react" + +import {Tabs, Typography} from "antd" +import {createUseStyles} from "react-jss" + +import {JSSTheme} from "@/oss/lib/Types" + +const useStyles = createUseStyles((theme: JSSTheme) => ({ + root: { + borderRadius: theme.borderRadiusLG, + border: `1px solid ${theme.colorBorder}`, + display: "flex", + flexDirection: "column", + padding: theme.padding, + }, + title: { + fontSize: theme.fontSizeLG, + lineHeight: theme.lineHeightLG, + fontWeight: theme.fontWeightMedium, + }, + subHeadingRoot: { + display: "flex", + gap: 8, + marginBottom: theme.padding, + }, +})) + +interface WidgetData { + leftSubHeading?: ReactNode + rightSubHeading?: ReactNode + children?: ReactNode + title: string +} + +interface Props extends WidgetData { + tabs?: WidgetData[] +} + +const WidgetInnerContent: React.FC & {loading?: boolean}> = ({ + leftSubHeading, + rightSubHeading, + children, +}) => { + const classes = useStyles() + + return ( + <> +
    + {leftSubHeading ?? null} + {rightSubHeading ?? null} +
    + {children ?? null} + + ) +} + +const WidgetCard: React.FC = ({title, leftSubHeading, rightSubHeading, tabs, children}) => { + const classes = useStyles() + const [tab, setTab] = useState(tabs?.[0]?.title ?? "") + + return ( +
    + {title} + {tabs?.length ? ( + ({ + key: tab.title, + label: tab.title, + children: , + }))} + /> + ) : ( + + )} +
    + ) +} + +export default WidgetCard diff --git a/web/ee/src/components/pages/overview/deployments/DeploymentHistoryModal.tsx b/web/ee/src/components/pages/overview/deployments/DeploymentHistoryModal.tsx new file mode 100644 index 0000000000..77af135044 --- /dev/null +++ b/web/ee/src/components/pages/overview/deployments/DeploymentHistoryModal.tsx @@ -0,0 +1,415 @@ +// @ts-nocheck +import {useCallback, useEffect, useMemo, useRef, useState} from "react" + +import {CloseOutlined, MoreOutlined, SwapOutlined} from "@ant-design/icons" +import {ClockCounterClockwise, GearSix} from "@phosphor-icons/react" +import {Button, Dropdown, message, Modal, Space, Spin, Table, Typography} from "antd" +import {ColumnsType} from "antd/es/table" +import {useRouter} from "next/router" +import {createUseStyles} from "react-jss" + +import VariantPopover from "@/oss/components/pages/overview/variants/VariantPopover" +import ContentSpinner from "@/oss/components/Spinner/ContentSpinner" +import {formatDay} from "@/oss/lib/helpers/dateTimeHelper" +import {Environment, JSSTheme, Variant} from "@/oss/lib/Types" +import {DeploymentRevision, DeploymentRevisionConfig, DeploymentRevisions} from "@/oss/lib/types_ee" + +import DeploymentRevertModal from "./DeploymentRevertModal" +import HistoryConfig from "./HistoryConfig" + +type DeploymentHistoryModalProps = { + setIsHistoryModalOpen: (value: React.SetStateAction) => void + selectedEnvironment: Environment + variant: Variant +} & React.ComponentProps + +const {Title} = Typography + +const useStyles = createUseStyles((theme: JSSTheme) => ({ + container: { + display: "flex", + gap: theme.paddingLG, + padding: `${theme.paddingLG}px 0`, + height: 760, + }, + title: { + fontSize: theme.fontSizeLG, + lineHeight: theme.lineHeightLG, + fontWeight: theme.fontWeightMedium, + }, + subTitle: { + fontSize: theme.fontSize, + lineHeight: theme.lineHeight, + fontWeight: theme.fontWeightMedium, + }, + modalTitle: { + "& h1.ant-typography": { + fontSize: theme.fontSizeHeading5, + fontWeight: theme.fontWeightMedium, + textTransform: "capitalize", + }, + }, +})) + +const DeploymentHistoryModal = ({ + selectedEnvironment, + setIsHistoryModalOpen, + variant, + ...props +}: DeploymentHistoryModalProps) => { + const classes = useStyles() + const router = useRouter() + const appId = router.query.app_id as string + + const [depRevisionsList, setDepRevisionsList] = useState(null) + const [depRevisionConfig, setDepRevisionConfig] = useState( + null, + ) + const [activeDepRevisionConfig, setActiveDepRevisionConfig] = + useState(null) + const [isDepRevisionLoading, setIsDepRevisionLoading] = useState(false) + const [isDepRevisionConfigLoading, setIsDepRevisionConfigLoading] = useState(false) + const [selectedDepRevision, setSelectedDepRevision] = useState(null) + const [compareDeployment, setCompareDeployment] = useState(false) + const [confirmDepModalOpen, setConfirmDepModalOpen] = useState(false) + + const [isRevertDeploymentLoading, setIsRevertDeploymentLoading] = useState(false) + const [selectedRevert, setSelectedRevert] = useState(null) + + const [selectedRevisionNumber, setSelectedRevisionNumber] = useState(null) + + const fetchControllerRef = useRef(null) + + const deployedAppRevisionId = useMemo(() => { + return depRevisionsList?.deployed_app_variant_revision_id || null + }, [depRevisionsList]) + + const deployedAppRevision = useMemo(() => { + return depRevisionsList?.revisions.find( + (rev) => rev.deployed_app_variant_revision === deployedAppRevisionId, + ) + }, [depRevisionsList, deployedAppRevisionId]) + + const fetchDevRevisionConfig = useCallback(async (record: string) => { + try { + const mod = await import("@/oss/services/deploymentVersioning/api") + const fetchAllDeploymentRevisionConfig = mod?.fetchAllDeploymentRevisionConfig + if (!mod || !fetchAllDeploymentRevisionConfig) return + + const data = await fetchAllDeploymentRevisionConfig(record, undefined, true) + setActiveDepRevisionConfig(data) + } catch (error) { + console.error("Failed to fetch deployment revision config:", error) + } + }, []) + + useEffect(() => { + if (deployedAppRevision?.id) { + fetchDevRevisionConfig(deployedAppRevision.id) + } + }, [deployedAppRevision, fetchDevRevisionConfig]) + + const isShowingCurrentDeployment = useMemo(() => { + return deployedAppRevisionId === selectedDepRevision?.deployed_app_variant_revision + }, [deployedAppRevisionId, selectedDepRevision]) + + const fetchDevRevisions = useCallback(async () => { + setIsDepRevisionLoading(true) + try { + const mod = await import("@/oss/services/deploymentVersioning/api") + const fetchAllDeploymentRevisions = mod?.fetchAllDeploymentRevisions + if (!mod || !fetchAllDeploymentRevisions) return + + const data = await fetchAllDeploymentRevisions(appId, selectedEnvironment.name) + setDepRevisionsList(data) + setSelectedDepRevision(data.revisions.reverse()[0] || null) + const totalRows = data?.revisions.length as number + setSelectedRevisionNumber(totalRows || null) + } catch (error) { + console.error("Failed to fetch deployment revisions:", error) + } finally { + setIsDepRevisionLoading(false) + } + }, [appId, selectedEnvironment]) + + const handleRevertDeployment = async (deploymentRevisionId: string) => { + try { + setIsRevertDeploymentLoading(true) + const mod = await import("@/oss/services/deploymentVersioning/api") + const createRevertDeploymentRevision = mod?.createRevertDeploymentRevision + if (!mod || !createRevertDeploymentRevision) return + + await createRevertDeploymentRevision(deploymentRevisionId) + await fetchDevRevisions() + message.success("Environment successfully reverted to deployment revision") + } catch (error) { + console.error(error) + } finally { + setIsRevertDeploymentLoading(false) + } + } + + const fetchDevRevisionConfigById = useCallback(async (revisionId: string) => { + fetchControllerRef.current?.abort() + const controller = new AbortController() + fetchControllerRef.current = controller + + try { + setIsDepRevisionConfigLoading(true) + const mod = await import("@/oss/services/deploymentVersioning/api") + const fetchAllDeploymentRevisionConfig = mod?.fetchAllDeploymentRevisionConfig + if (!mod || !fetchAllDeploymentRevisionConfig) return + + const data = await fetchAllDeploymentRevisionConfig(revisionId, controller.signal) + setDepRevisionConfig(data) + } catch (error) { + console.error(error) + } finally { + setIsDepRevisionConfigLoading(false) + } + }, []) + + useEffect(() => { + if (appId && selectedEnvironment) { + fetchDevRevisions() + } + }, [appId, selectedEnvironment, fetchDevRevisions]) + + useEffect(() => { + if (selectedDepRevision) { + fetchDevRevisionConfigById(selectedDepRevision.id) + } + }, [selectedDepRevision, fetchDevRevisionConfigById]) + + const columns: ColumnsType = [ + { + title: "Revision", + dataIndex: "revision", + key: "revision", + width: 48, + render: (_, record, index) => { + const totalRows = depRevisionsList?.revisions.length as number + const versionNumber = totalRows - index + return v{versionNumber} + }, + }, + { + title: "Modified by", + dataIndex: "modified_by", + key: "modified_by", + render: (_, record) => {record.modified_by}, + }, + { + title: "Created on", + dataIndex: "created_at", + key: "created_at", + render: (_, record) => {formatDay({date: record.created_at})}, + }, + { + title: , + key: "actions", + width: 56, + fixed: "right", + align: "center", + render: (_, record) => ( + , + onClick: (event) => { + event.domEvent.stopPropagation() + setConfirmDepModalOpen(true) + setSelectedRevert(record) + }, + disabled: + activeDepRevisionConfig?.current_version === record.revision, + }, + { + key: "compare_to_current", + label: "Compare to current", + icon: , + onClick: (event) => { + event.domEvent.stopPropagation() + setSelectedDepRevision(record) + setCompareDeployment(true) + }, + disabled: + activeDepRevisionConfig?.current_version === record.revision, + }, + ], + }} + > +
    ({ + onClick: () => { + const totalRows = depRevisionsList?.revisions + .length as number + setSelectedRevisionNumber(totalRows - (index ?? 0)) + setSelectedDepRevision(record) + }, + style: {cursor: "pointer"}, + })} + pagination={false} + /> + + )} + + +
    + {isDepRevisionConfigLoading || !depRevisionConfig ? ( + + ) : ( + <> + + + Revision v{selectedRevisionNumber} + + {isShowingCurrentDeployment ? ( + Current Deployment + ) : ( + + + {compareDeployment ? ( + + ) : ( + + )} + + )} + + + + Variant Deployed + + {variant && ( + + )} + + {variant ? ( + + ) : null} + + )} +
    + + + + {selectedRevert && ( + setConfirmDepModalOpen(false)} + onOk={async () => { + await handleRevertDeployment(selectedRevert.id) + setConfirmDepModalOpen(false) + }} + selectedRevert={selectedRevert} + selectedEnvironment={selectedEnvironment} + okButtonProps={{loading: isRevertDeploymentLoading}} + selectedDeployedVariant={variant} + /> + )} + + ) +} + +export default DeploymentHistoryModal diff --git a/web/ee/src/components/pages/overview/deployments/DeploymentRevertModal.tsx b/web/ee/src/components/pages/overview/deployments/DeploymentRevertModal.tsx new file mode 100644 index 0000000000..a4279b9136 --- /dev/null +++ b/web/ee/src/components/pages/overview/deployments/DeploymentRevertModal.tsx @@ -0,0 +1,79 @@ +import {Rocket} from "@phosphor-icons/react" +import {Modal, Typography} from "antd" +import {createUseStyles} from "react-jss" + +import {Environment, JSSTheme, Variant} from "@/oss/lib/Types" +import {DeploymentRevision} from "@/oss/lib/types_ee" + +type DeploymentModalProps = { + selectedRevert: DeploymentRevision + selectedEnvironment: Environment + selectedDeployedVariant: Variant +} & React.ComponentProps + +const useStyles = createUseStyles((theme: JSSTheme) => ({ + container: { + "& .ant-modal-footer": { + display: "flex", + alignItems: "center", + justifyContent: "flex-end", + }, + }, + wrapper: { + "& h1": { + fontSize: theme.fontSizeLG, + fontWeight: theme.fontWeightStrong, + lineHeight: theme.lineHeightLG, + marginBottom: 8, + }, + "& span": { + color: theme.colorPrimary, + fontSize: theme.fontSizeLG, + lineHeight: theme.lineHeightLG, + fontWeight: theme.fontWeightMedium, + }, + }, +})) + +const DeploymentModal = ({ + selectedEnvironment, + selectedRevert, + selectedDeployedVariant, + ...props +}: DeploymentModalProps) => { + const classes = useStyles() + + return ( + + + Deploy + + } + centered + destroyOnHidden + zIndex={3000} + {...props} + > +
    + Revert Deployment + +
    +
    + You are about to deploy {selectedDeployedVariant.variantName} to{" "} + {selectedEnvironment.name} environment. This will overwrite the existing + configuration. This change will affect all future calls to this environment. +
    +
    + You are about to deploy {selectedEnvironment.name} environment: + Revision v{selectedRevert.revision || 0} +
    +
    +
    +
    + ) +} + +export default DeploymentModal diff --git a/web/ee/src/components/pages/overview/deployments/HistoryConfig.tsx b/web/ee/src/components/pages/overview/deployments/HistoryConfig.tsx new file mode 100644 index 0000000000..5c915177a2 --- /dev/null +++ b/web/ee/src/components/pages/overview/deployments/HistoryConfig.tsx @@ -0,0 +1,112 @@ +import {useMemo} from "react" + +import {Typography} from "antd" +import {useAtomValue} from "jotai" +import {createUseStyles} from "react-jss" + +import {NewVariantParametersView} from "@/oss/components/VariantsComponents/Drawers/VariantDrawer/assets/Parameters" +import {filterVariantParameters} from "@/oss/lib/helpers/utils" +import {useVariants} from "@/oss/lib/hooks/useVariants" +import {JSSTheme, Variant} from "@/oss/lib/Types" +import {DeploymentRevisionConfig} from "@/oss/lib/types_ee" +import {currentAppAtom} from "@/oss/state/app" + +const useStyles = createUseStyles((theme: JSSTheme) => ({ + title: { + fontSize: theme.fontSizeLG, + lineHeight: theme.lineHeightLG, + fontWeight: theme.fontWeightMedium, + }, + subTitle: { + fontSize: theme.fontSize, + lineHeight: theme.lineHeight, + fontWeight: theme.fontWeightMedium, + }, + resultTag: { + minWidth: 150, + display: "flex", + borderRadius: theme.borderRadiusSM, + border: `1px solid ${theme.colorBorder}`, + textAlign: "center", + "& > div:nth-child(1)": { + backgroundColor: "rgba(0, 0, 0, 0.02)", + lineHeight: theme.lineHeight, + flex: 1, + minWidth: 50, + borderRight: `1px solid ${theme.colorBorder}`, + padding: "0 7px", + }, + "& > div:nth-child(2)": { + padding: "0 7px", + }, + }, + promptTextField: { + padding: theme.paddingXS, + backgroundColor: theme.colorBgContainerDisabled, + borderRadius: theme.borderRadius, + }, + noParams: { + color: theme.colorTextDescription, + fontWeight: theme.fontWeightMedium, + textAlign: "center", + marginTop: 48, + }, +})) + +interface HistoryConfigProps { + depRevisionConfig: DeploymentRevisionConfig + variant: Variant +} + +const HistoryConfig = ({depRevisionConfig, variant: propsVariant}: HistoryConfigProps) => { + const classes = useStyles() + + const currentApp = useAtomValue(currentAppAtom) + // @ts-ignore + const {data, isLoading} = useVariants(currentApp, [propsVariant]) + const variant = useMemo( + // @ts-ignore + () => data?.variants.find((v) => v.id === propsVariant.id), + [data?.variants, propsVariant.id], + ) + + return ( +
    + Configuration + + {Object.keys(depRevisionConfig.parameters).length ? ( +
    +
    + {!isLoading && !!variant ? ( + + ) : null} +
    + + {depRevisionConfig.parameters && + Object.entries( + filterVariantParameters({ + record: depRevisionConfig.parameters, + key: "prompt", + }), + ).map(([key, value], index) => ( +
    + + {key} + +
    + {JSON.stringify(value)} +
    +
    + ))} +
    + ) : ( + No Parameters + )} +
    + ) +} + +export default HistoryConfig diff --git a/web/ee/src/components/pages/overview/observability/ObservabilityOverview.tsx b/web/ee/src/components/pages/overview/observability/ObservabilityOverview.tsx new file mode 100644 index 0000000000..34ffe5bf56 --- /dev/null +++ b/web/ee/src/components/pages/overview/observability/ObservabilityOverview.tsx @@ -0,0 +1,135 @@ +import {useMemo} from "react" + +import {AreaChart} from "@tremor/react" +import {Col, Row, Spin, Typography} from "antd" +import round from "lodash/round" +import {createUseStyles} from "react-jss" + +import {formatCurrency, formatLatency, formatNumber} from "@/oss/lib/helpers/formatters" +import {JSSTheme} from "@/oss/lib/Types" + +import {useObservabilityDashboard} from "../../../../state/observability" +import WidgetCard from "../../observability/dashboard/widgetCard" + +const useStyles = createUseStyles((theme: JSSTheme) => ({ + statText: { + fontWeight: 400, + }, +})) + +const ObservabilityOverview = () => { + const classes = useStyles() + const {data, loading, isFetching} = useObservabilityDashboard() + + const chartData = useMemo(() => (data?.data?.length ? data.data : [{}]), [data]) + + const defaultGraphProps = useMemo>( + () => ({ + className: "h-[168px] p-0", + colors: ["cyan", "red"], + connectNulls: true, + tickGap: 15, + curveType: "monotone", + showGridLines: false, + showLegend: false, + index: "timestamp", + data: chartData, + categories: [], + }), + [chartData], + ) + + return ( +
    + + +
    + + Total:{" "} + {data?.total_count ? formatNumber(data?.total_count) : "-"} + + } + rightSubHeading={ + (data?.failure_rate ?? 0) > 0 && ( + + Failed:{" "} + {data?.failure_rate + ? `${formatNumber(data?.failure_rate)}%` + : "-"} + + ) + } + > + 0 + ? ["success_count", "failure_count"] + : ["success_count"] + } + /> + + + + + Avg:{" "} + {data?.avg_latency + ? `${formatNumber(data.avg_latency)}ms` + : "-"} + + } + > + + + + + + Total:{" "} + {data?.total_cost ? formatCurrency(data.total_cost) : "-"} + + } + rightSubHeading={ + + Avg:{" "} + {data?.total_cost ? formatCurrency(data.avg_cost) : "-"} + + } + > + + + + + + Total:{" "} + {data?.total_tokens ? formatNumber(data?.total_tokens) : "-"} + + } + rightSubHeading={ + + Avg:{" "} + {data?.avg_tokens ? formatNumber(data?.avg_tokens) : "-"} + + } + > + + + + + + + ) +} + +export default ObservabilityOverview diff --git a/web/ee/src/components/pages/settings/Billing/Modals/AutoRenewalCancelModal/assets/AutoRenewalCancelModalContent/index.tsx b/web/ee/src/components/pages/settings/Billing/Modals/AutoRenewalCancelModal/assets/AutoRenewalCancelModalContent/index.tsx new file mode 100644 index 0000000000..d793165378 --- /dev/null +++ b/web/ee/src/components/pages/settings/Billing/Modals/AutoRenewalCancelModal/assets/AutoRenewalCancelModalContent/index.tsx @@ -0,0 +1,33 @@ +import {memo} from "react" + +import {Input, Radio, Typography} from "antd" + +import {CANCEL_REASONS} from "../constants" +import {AutoRenewalCancelModalContentProps} from "../types" + +const AutoRenewalCancelModalContent = ({ + inputValue, + onChangeInput, + ...props +}: AutoRenewalCancelModalContentProps) => { + const _value = props.value + return ( +
    + + Please select one of the reasons + + + {CANCEL_REASONS.map((option) => ( + + {option.label} + + ))} + + {_value === "something-else" && ( + + )} +
    + ) +} + +export default memo(AutoRenewalCancelModalContent) diff --git a/web/ee/src/components/pages/settings/Billing/Modals/AutoRenewalCancelModal/assets/constants.ts b/web/ee/src/components/pages/settings/Billing/Modals/AutoRenewalCancelModal/assets/constants.ts new file mode 100644 index 0000000000..685ee31611 --- /dev/null +++ b/web/ee/src/components/pages/settings/Billing/Modals/AutoRenewalCancelModal/assets/constants.ts @@ -0,0 +1,10 @@ +export const CANCEL_REASONS = [ + {value: "dont-want-auto-renewal", label: "I don't want to continue with auto-renewal"}, + {value: "done-with-project", label: "I am done with my project"}, + {value: "switching-to-another-service", label: "I'm switching to another service"}, + {value: "technical-issues", label: "The product has technical issues"}, + {value: "missing-features", label: "The product doesn't have features I wanted"}, + {value: "too-expensive", label: "It's too expensive"}, + {value: "not-used-enough", label: "I don't use it enough"}, + {value: "something-else", label: "Something else"}, +] diff --git a/web/ee/src/components/pages/settings/Billing/Modals/AutoRenewalCancelModal/assets/types.d.ts b/web/ee/src/components/pages/settings/Billing/Modals/AutoRenewalCancelModal/assets/types.d.ts new file mode 100644 index 0000000000..4aa4b6530e --- /dev/null +++ b/web/ee/src/components/pages/settings/Billing/Modals/AutoRenewalCancelModal/assets/types.d.ts @@ -0,0 +1,8 @@ +import {ModalProps, RadioGroupProps} from "antd" + +export interface AutoRenewalCancelModalProps extends ModalProps {} + +export interface AutoRenewalCancelModalContentProps extends RadioGroupProps { + inputValue: string + onChangeInput: (e: ChangeEvent) => void +} diff --git a/web/ee/src/components/pages/settings/Billing/Modals/AutoRenewalCancelModal/index.tsx b/web/ee/src/components/pages/settings/Billing/Modals/AutoRenewalCancelModal/index.tsx new file mode 100644 index 0000000000..73523d2ce9 --- /dev/null +++ b/web/ee/src/components/pages/settings/Billing/Modals/AutoRenewalCancelModal/index.tsx @@ -0,0 +1,74 @@ +import {useCallback, useState} from "react" + +import {message} from "antd" +import dynamic from "next/dynamic" + +import EnhancedModal from "@/oss/components/EnhancedUIs/Modal" +import {cancelSubscription, useSubscriptionData, useUsageData} from "@/oss/services/billing" + +import {AutoRenewalCancelModalProps} from "./assets/types" + +const AutoRenewalCancelModalContent = dynamic( + () => import("./assets/AutoRenewalCancelModalContent"), + {ssr: false}, +) + +const AutoRenewalCancelModal = ({...props}: AutoRenewalCancelModalProps) => { + const [selectOption, setSelectOption] = useState("") + const [inputOption, setInputOption] = useState("") + const [isLoading, setIsLoading] = useState(false) + + const {mutateSubscription} = useSubscriptionData() + const {mutateUsage} = useUsageData() + + const onConfirmCancel = useCallback(async () => { + // TODO: add posthog here to send the select form option data + try { + setIsLoading(true) + const data = await cancelSubscription() + + if (data.data.status === "success") { + message.success("Your subscription has been successfully canceled.") + setTimeout(() => { + mutateUsage() + mutateSubscription() + props.onCancel?.({} as any) + }, 500) + } else { + message.error( + "We were unable to cancel your subscription. Please try again later or contact support if the issue persists.", + ) + } + } catch (error) { + message.error( + "An error occurred while processing your request. Please try again later or contact support if the issue persists.", + ) + } finally { + setIsLoading(false) + } + }, [mutateSubscription, mutateUsage, cancelSubscription]) + + return ( + setSelectOption("")} + {...props} + > + setSelectOption(e.target.value)} + inputValue={inputOption} + onChangeInput={(e) => setInputOption(e.target.value)} + /> + + ) +} + +export default AutoRenewalCancelModal diff --git a/web/ee/src/components/pages/settings/Billing/Modals/PricingModal/assets/PricingCard/index.tsx b/web/ee/src/components/pages/settings/Billing/Modals/PricingModal/assets/PricingCard/index.tsx new file mode 100644 index 0000000000..31d60e6dda --- /dev/null +++ b/web/ee/src/components/pages/settings/Billing/Modals/PricingModal/assets/PricingCard/index.tsx @@ -0,0 +1,96 @@ +import {memo, useMemo} from "react" + +import {Card, Button, Typography} from "antd" + +import {Plan} from "@/oss/lib/Types" + +import {PricingCardProps} from "../types" + +const PricingCard = ({plan, currentPlan, onOptionClick, isLoading}: PricingCardProps) => { + const _isLoading = isLoading === plan.plan + const isDisabled = useMemo( + () => + (isLoading !== null && isLoading !== plan.plan) || + currentPlan?.plan == plan.plan || + currentPlan?.plan == Plan.Business || + currentPlan?.plan == Plan.Enterprise, + [isLoading, currentPlan, plan], + ) + + return ( + + window.open("https://cal.com/mahmoud-mabrouk-ogzgey/demo", "_blank") + } + > + {currentPlan?.plan == Plan.Business || currentPlan?.plan == Plan.Enterprise + ? "Current plan" + : "Talk to us"} + + ) : ( + + ), + ]} + > +
    +
    + + {plan.price + ? `${plan.price.base?.starting_at ? "Starts at " : ""} $ + ${plan.price?.base?.amount} /month` + : "Contact us"} + + + + {plan.description} + +
    + +
      + {plan.features?.map((point, idx) => { + return ( +
    • + {point} +
    • + ) + })} +
    +
    +
    + ) +} + +export default memo(PricingCard) diff --git a/web/ee/src/components/pages/settings/Billing/Modals/PricingModal/assets/PricingModalContent/index.tsx b/web/ee/src/components/pages/settings/Billing/Modals/PricingModal/assets/PricingModalContent/index.tsx new file mode 100644 index 0000000000..12a1aad499 --- /dev/null +++ b/web/ee/src/components/pages/settings/Billing/Modals/PricingModal/assets/PricingModalContent/index.tsx @@ -0,0 +1,95 @@ +import {useCallback, useState} from "react" + +import {message, Spin, Typography} from "antd" + +import useURL from "@/oss/hooks/useURL" +import {getEnv} from "@/oss/lib/helpers/dynamicEnv" +import {Plan} from "@/oss/lib/Types" +import { + checkoutNewSubscription, + usePricingPlans, + useSubscriptionData, + useUsageData, +} from "@/oss/services/billing" +import {BillingPlan} from "@/oss/services/billing/types" + +import PricingCard from "../PricingCard" +import {PricingModalContentProps} from "../types" + +const PricingModalContent = ({onCancelSubscription, onCloseModal}: PricingModalContentProps) => { + const {plans, isLoadingPlan} = usePricingPlans() + const {subscription, mutateSubscription} = useSubscriptionData() + const {mutateUsage} = useUsageData() + const {projectURL} = useURL() + + const [isLoading, setIsLoading] = useState(null) + + const onOptionClick = useCallback( + async (plan: BillingPlan) => { + try { + setIsLoading(plan.plan) + // 1. if the selected plan is cloud_v0_hobby and the subscription-plan is not then we trigger the cancel endpoint + // 2. subscription-pan is cloud_v0_hobby then we trigger the checkout endpoint + // 3. if the user can custom plan like cloud_v0_business then we trigger the switch endpoint + + if (plan.plan === Plan.Hobby && subscription?.plan !== Plan.Hobby) { + onCancelSubscription() + return + } else { + const data = await checkoutNewSubscription({ + plan: plan.plan, + success_url: `${getEnv("NEXT_PUBLIC_AGENTA_WEB_URL")}${projectURL || ""}/settings?tab=billing`, + }) + + window.open(data.data.checkout_url, "_blank") + } + + setTimeout(() => { + mutateSubscription() + mutateUsage() + onCloseModal() + }, 500) + } catch (error) { + message.error( + "An error occurred while processing the checkout. Please try again later or contact support if the issue persists.", + ) + } finally { + setIsLoading(null) + } + }, + [ + onCancelSubscription, + checkoutNewSubscription, + mutateSubscription, + mutateUsage, + projectURL, + ], + ) + + if (isLoadingPlan) { + return ( +
    + +
    + ) + } + + return ( +
    + Choose your plan +
    + {plans?.map((plan) => ( + + ))} +
    +
    + ) +} + +export default PricingModalContent diff --git a/web/ee/src/components/pages/settings/Billing/Modals/PricingModal/assets/PricingModalTitle/index.tsx b/web/ee/src/components/pages/settings/Billing/Modals/PricingModal/assets/PricingModalTitle/index.tsx new file mode 100644 index 0000000000..b57ff2b041 --- /dev/null +++ b/web/ee/src/components/pages/settings/Billing/Modals/PricingModal/assets/PricingModalTitle/index.tsx @@ -0,0 +1,17 @@ +import {memo} from "react" + +import {Button, Typography} from "antd" + +const PricingModalTitle = () => { + return ( +
    + Plans + + +
    + ) +} + +export default memo(PricingModalTitle) diff --git a/web/ee/src/components/pages/settings/Billing/Modals/PricingModal/assets/SubscriptionPlanDetails/index.tsx b/web/ee/src/components/pages/settings/Billing/Modals/PricingModal/assets/SubscriptionPlanDetails/index.tsx new file mode 100644 index 0000000000..c6af8e86f8 --- /dev/null +++ b/web/ee/src/components/pages/settings/Billing/Modals/PricingModal/assets/SubscriptionPlanDetails/index.tsx @@ -0,0 +1,22 @@ +import dayjs from "dayjs" + +import {SubscriptionType} from "@/oss/services/billing/types" + +const SubscriptionPlanDetails = ({subscription}: {subscription: SubscriptionType}) => { + return ( + <> + {subscription?.plan?.split("_")[2]}{" "} + + {subscription.free_trial + ? `trial ends in ${dayjs.unix(subscription.period_end).diff(dayjs(), "day")} ${ + dayjs.unix(subscription.period_end).diff(dayjs(), "day") === 1 + ? "day" + : "days" + }` + : ""} + + + ) +} + +export default SubscriptionPlanDetails diff --git a/web/ee/src/components/pages/settings/Billing/Modals/PricingModal/assets/constants.ts b/web/ee/src/components/pages/settings/Billing/Modals/PricingModal/assets/constants.ts new file mode 100644 index 0000000000..8bf4b40d4c --- /dev/null +++ b/web/ee/src/components/pages/settings/Billing/Modals/PricingModal/assets/constants.ts @@ -0,0 +1,45 @@ +export const PRICING_PLANS_INFO = [ + { + key: "free", + title: "Free", + price: "Free", + description: "Great for hobby projects", + priceDescription: "2 users and 5k traces per month included", + bulletPoints: [ + "2 prompts", + "2 users included", + "5k traces per month included", + "20 evaluations / month included", + ], + }, + { + key: "pro", + title: "Pro", + price: "$49/month", + description: "For production projects", + priceDescription: "2 users and 5k traces per month included", + bulletPoints: [ + "Unlimited prompts", + "3 seats included then $20 per seat", + "Up to 10 seats", + "Unlimited evaluations", + "10k traces / month included", + ], + }, + { + key: "business", + title: "Business", + price: "$49/month", + description: "For teams with security and support needs", + priceDescription: "2 users and 5k traces per month included", + bulletPoints: ["2 prompts", "2 seats", "5k traces", "20 evaluations / month included"], + }, + { + key: "enterprise", + title: "Enterprise", + price: "$49/month", + description: "For teams with security and support needs", + priceDescription: "2 users and 5k traces per month included", + bulletPoints: ["2 prompts", "2 seats", "5k traces", "20 evaluations / month included"], + }, +] diff --git a/web/ee/src/components/pages/settings/Billing/Modals/PricingModal/assets/types.d.ts b/web/ee/src/components/pages/settings/Billing/Modals/PricingModal/assets/types.d.ts new file mode 100644 index 0000000000..5c34b9fa15 --- /dev/null +++ b/web/ee/src/components/pages/settings/Billing/Modals/PricingModal/assets/types.d.ts @@ -0,0 +1,28 @@ +import {ModalProps} from "antd" + +import {BillingPlan, SubscriptionType} from "@/oss/services/billing/types" + +export interface PricingModalProps extends ModalProps { + onCancelSubscription: () => void +} + +export interface PricingModalContentProps { + onCloseModal: () => void + onCancelSubscription: () => void +} + +export interface PricingPlan { + key: string + title: string + price: string + description: string + priceDescription: string + bulletPoints: string[] +} + +export interface PricingCardProps { + plan: BillingPlan + currentPlan: SubscriptionType | null + onOptionClick: (plan: BillingPlan) => void + isLoading: string | null +} diff --git a/web/ee/src/components/pages/settings/Billing/Modals/PricingModal/index.tsx b/web/ee/src/components/pages/settings/Billing/Modals/PricingModal/index.tsx new file mode 100644 index 0000000000..ace1e472be --- /dev/null +++ b/web/ee/src/components/pages/settings/Billing/Modals/PricingModal/index.tsx @@ -0,0 +1,27 @@ +import clsx from "clsx" +import dynamic from "next/dynamic" + +import EnhancedModal from "@/oss/components/EnhancedUIs/Modal" + +import PricingModalTitle from "./assets/PricingModalTitle" +import {PricingModalProps} from "./assets/types" +const PricingModalContent = dynamic(() => import("./assets/PricingModalContent"), {ssr: false}) + +const PricingModal = ({onCancelSubscription, ...props}: PricingModalProps) => { + return ( + } + footer={null} + {...props} + > + props.onCancel?.({} as any)} + onCancelSubscription={onCancelSubscription} + /> + + ) +} + +export default PricingModal diff --git a/web/ee/src/components/pages/settings/Billing/assets/UsageProgressBar/index.tsx b/web/ee/src/components/pages/settings/Billing/assets/UsageProgressBar/index.tsx new file mode 100644 index 0000000000..cbdf21f2f9 --- /dev/null +++ b/web/ee/src/components/pages/settings/Billing/assets/UsageProgressBar/index.tsx @@ -0,0 +1,33 @@ +import {memo} from "react" + +import {WarningFilled} from "@ant-design/icons" +import {Space, Typography} from "antd" + +import {UsageProgressBarProps} from "../types" + +const UsageProgressBar = ({ + label, + limit, + used: value, + isUnlimited = false, + free, +}: UsageProgressBarProps) => { + return ( +
    + + {label}{" "} + {!isUnlimited && value >= limit && } + + + + {`${value} / ${limit ? limit : "-"}`} + {`${free ? `(${value > free ? free : value} / ${free} free)` : ``}`} + +
    + ) +} + +export default memo(UsageProgressBar) diff --git a/web/ee/src/components/pages/settings/Billing/assets/types.d.ts b/web/ee/src/components/pages/settings/Billing/assets/types.d.ts new file mode 100644 index 0000000000..95e0578f1a --- /dev/null +++ b/web/ee/src/components/pages/settings/Billing/assets/types.d.ts @@ -0,0 +1,12 @@ +interface UsedMetric { + limit: number + used: number +} +export interface UsageProgressBarProps { + label: string + isUnlimited?: boolean + strict?: boolean + limit: number + used: number + free: number +} diff --git a/web/ee/src/components/pages/settings/Billing/index.tsx b/web/ee/src/components/pages/settings/Billing/index.tsx new file mode 100644 index 0000000000..5240c8c53c --- /dev/null +++ b/web/ee/src/components/pages/settings/Billing/index.tsx @@ -0,0 +1,177 @@ +import {useCallback, useState} from "react" + +import {Button, message, Spin, Typography} from "antd" +import dayjs from "dayjs" +import {useRouter} from "next/router" + +import {Plan} from "@/oss/lib/Types" +import {editSubscriptionInfo, useSubscriptionData, useUsageData} from "@/oss/services/billing" + +import UsageProgressBar from "./assets/UsageProgressBar" +import AutoRenewalCancelModal from "./Modals/AutoRenewalCancelModal" +import PricingModal from "./Modals/PricingModal" +import SubscriptionPlanDetails from "./Modals/PricingModal/assets/SubscriptionPlanDetails" +import useURL from "@/oss/hooks/useURL" + +const {Link} = Typography + +const Billing = () => { + const router = useRouter() + const {projectURL} = useURL() + const [isLoadingOpenBillingPortal, setIsLoadingOpenBillingPortal] = useState(false) + const {subscription, isSubLoading} = useSubscriptionData() + const {usage, isUsageLoading} = useUsageData() + const [isOpenPricingModal, setIsOpenPricingModal] = useState(false) + const [isOpenCancelModal, setIsOpenCancelModal] = useState(false) + + const onCancelSubscription = useCallback(() => { + setIsOpenCancelModal(true) + }, []) + + const handleOpenBillingPortal = useCallback(async () => { + try { + setIsLoadingOpenBillingPortal(true) + const data = await editSubscriptionInfo() + + window.open(data.data.portal_url, "_blank") + } catch (error) { + message.error( + "We encountered an issue while opening the Stripe portal. Please try again in a few minutes. If the problem persists, contact support.", + ) + } finally { + setIsLoadingOpenBillingPortal(false) + } + }, [editSubscriptionInfo]) + + const navigateToWorkspaceTab = useCallback(() => { + router.push(`${projectURL}/settings`, {query: {tab: "workspace"}}) + }, [router, projectURL]) + + if (isSubLoading || isUsageLoading) { + return ( +
    + +
    + ) + } + + return ( +
    +
    +
    + Current plan + + + + {subscription?.plan !== Plan.Hobby && ( + + {subscription?.free_trial + ? "Trial period will end on " + : "Auto renews on "} + + {dayjs.unix(subscription?.period_end).format("MMM D, YYYY")} + + + )} + + {subscription?.plan === Plan.Enterprise || + subscription?.plan === Plan.Business ? ( + + For queries regarding your plan,{" "} + + click here to contact us + + + ) : subscription?.plan === Plan.Pro ? ( +
    + + + setIsOpenCancelModal(true)}> + Cancel subscription + +
    + ) : ( + + )} +
    +
    + +
    + Limits + +
    + {Object.entries(usage) + ?.filter(([key]) => key !== "users") + ?.map(([key, info]) => { + return ( + + ) + })} +
    +
    + +
    +
    + Members + +
    + +
    + + + +
    +
    + +
    + + Billing information + + + +
    + + setIsOpenCancelModal(false)} + /> + setIsOpenPricingModal(false)} + onCancelSubscription={onCancelSubscription} + /> +
    + ) +} + +export default Billing diff --git a/web/ee/src/contexts/RunIdContext.tsx b/web/ee/src/contexts/RunIdContext.tsx new file mode 100644 index 0000000000..4c94ed92c4 --- /dev/null +++ b/web/ee/src/contexts/RunIdContext.tsx @@ -0,0 +1,40 @@ +import React, {createContext, useContext} from "react" + +/** + * Context for providing the current evaluation run ID to components. + * This enables components to use run-scoped atoms without prop drilling. + */ +export const RunIdContext = createContext(null) + +/** + * Provider component that supplies the run ID to all child components. + */ +export const RunIdProvider: React.FC<{ + runId: string + children: React.ReactNode +}> = ({runId, children}) => { + return {children} +} + +/** + * Hook to access the current run ID from context. + * Throws an error if used outside of a RunIdProvider. + */ +export const useRunId = (): string => { + const runId = useContext(RunIdContext) + if (!runId) { + throw new Error( + "useRunId must be used within a RunIdProvider. " + + "Make sure your component is wrapped with ", + ) + } + return runId +} + +/** + * Hook to safely access the run ID, returning null if not available. + * Useful for components that can work with or without a run ID. + */ +export const useOptionalRunId = (): string | null => { + return useContext(RunIdContext) +} diff --git a/web/ee/src/hooks/useCrispChat.ts b/web/ee/src/hooks/useCrispChat.ts new file mode 100644 index 0000000000..19db37e57f --- /dev/null +++ b/web/ee/src/hooks/useCrispChat.ts @@ -0,0 +1,43 @@ +import {useState, useCallback, useEffect} from "react" + +import {Crisp} from "crisp-sdk-web" + +import {getEnv} from "@/oss/lib/helpers/dynamicEnv" + +export const useCrispChat = () => { + const isCrispEnabled = !!getEnv("NEXT_PUBLIC_CRISP_WEBSITE_ID") + + const [isVisible, setIsVisible] = useState(false) + + const updateVisibility = useCallback( + (visible: boolean) => { + if (isCrispEnabled) { + if (visible) { + Crisp.chat.show() + Crisp.chat.open() + } else { + Crisp.chat.hide() + } + setIsVisible(visible) + } + }, + [isCrispEnabled], + ) + + const toggle = useCallback(() => { + if (isCrispEnabled) { + updateVisibility(!isVisible) + } + }, [isVisible, updateVisibility, isCrispEnabled]) + + useEffect(() => { + updateVisibility(false) + }, [updateVisibility]) + + return { + isVisible, + setVisible: updateVisibility, + toggle, + isCrispEnabled, + } +} diff --git a/web/ee/src/lib/helpers/evaluate.ts b/web/ee/src/lib/helpers/evaluate.ts new file mode 100644 index 0000000000..82a87f62a2 --- /dev/null +++ b/web/ee/src/lib/helpers/evaluate.ts @@ -0,0 +1,449 @@ +import {EvaluationType} from "@agenta/oss/src/lib/enums" +import {convertToCsv, downloadCsv} from "@agenta/oss/src/lib/helpers/fileManipulations" +import {formatCurrency, formatLatency} from "@agenta/oss/src/lib/helpers/formatters" +import {isDemo} from "@agenta/oss/src/lib/helpers/utils" +import { + Evaluation, + GenericObject, + TypedValue, + Variant, + _Evaluation, + EvaluationScenario, +} from "@agenta/oss/src/lib/Types" +import dayjs from "dayjs" +import capitalize from "lodash/capitalize" +import round from "lodash/round" + +import AlertPopup from "@/oss/components/AlertPopup/AlertPopup" +import {runningStatuses} from "@/oss/components/pages/evaluations/cellRenderers/cellRenderers" +import { + HumanEvaluationListTableDataType, + SingleModelEvaluationListTableDataType, +} from "@/oss/lib/Types" +import {fetchEvaluatonIdsByResource} from "@/oss/services/evaluations/api" + +export const exportExactEvaluationData = (evaluation: Evaluation, rows: GenericObject[]) => { + const exportRow = rows.map((data, ix) => { + return { + ["Inputs"]: + evaluation.testset.csvdata[ix]?.[evaluation.testset.testsetChatColumn] || + data.inputs[0].input_value, + [`App Variant ${evaluation.variants[0].variantName} Output`]: data?.columnData0 + ? data?.columnData0 + : data.outputs[0]?.variant_output, + ["Correct answer"]: data.correctAnswer, + ["Evaluation"]: data.score, + } + }) + const exportCol = Object.keys(exportRow[0]) + + const csvData = convertToCsv(exportRow, exportCol) + const filename = `${evaluation.appName}_${evaluation.variants[0].variantName}_${evaluation.evaluationType}.csv` + downloadCsv(csvData, filename) +} + +export const exportSimilarityEvaluationData = (evaluation: Evaluation, rows: GenericObject[]) => { + const exportRow = rows.map((data, ix) => { + return { + ["Inputs"]: + evaluation.testset.csvdata[ix]?.[evaluation.testset.testsetChatColumn] || + data.inputs[0].input_value, + [`App Variant ${evaluation.variants[0].variantName} Output`]: data?.columnData0 + ? data?.columnData0 + : data.outputs[0]?.variant_output, + ["Correct answer"]: data.correctAnswer, + ["Score"]: data.score, + ["Evaluation"]: data.similarity, + } + }) + const exportCol = Object.keys(exportRow[0]) + + const csvData = convertToCsv(exportRow, exportCol) + const filename = `${evaluation.appName}_${evaluation.variants[0].variantName}_${evaluation.evaluationType}.csv` + downloadCsv(csvData, filename) +} + +export const exportAICritiqueEvaluationData = (evaluation: Evaluation, rows: GenericObject[]) => { + const exportRow = rows.map((data, ix) => { + return { + ["Inputs"]: + evaluation.testset.csvdata[ix]?.[evaluation.testset.testsetChatColumn] || + data.inputs[0].input_value, + [`App Variant ${evaluation.variants[0].variantName} Output`]: data?.columnData0 + ? data?.columnData0 + : data.outputs[0]?.variant_output, + ["Correct answer"]: data.correctAnswer, + ["Score"]: data.score, + } + }) + const exportCol = Object.keys(exportRow[0]) + + const csvData = convertToCsv(exportRow, exportCol) + const filename = `${evaluation.appName}_${evaluation.variants[0].variantName}_${evaluation.evaluationType}.csv` + downloadCsv(csvData, filename) +} + +export const exportABTestingEvaluationData = ( + evaluation: Evaluation, + scenarios: EvaluationScenario[], + rows: GenericObject[], +) => { + const exportRow = rows.map((data, ix) => { + const inputColumns = evaluation.testset.testsetChatColumn + ? {Input: evaluation.testset.csvdata[ix]?.[evaluation.testset.testsetChatColumn]} + : data.inputs.reduce( + (columns: any, input: {input_name: string; input_value: string}) => { + columns[`${input.input_name}`] = input.input_value + return columns + }, + {}, + ) + return { + ...inputColumns, + [`App Variant ${evaluation.variants[0].variantName} Output 0`]: data?.columnData0 + ? data?.columnData0 + : data.outputs[0]?.variant_output, + [`App Variant ${evaluation.variants[1].variantName} Output 1`]: data?.columnData1 + ? data?.columnData1 + : data.outputs[1]?.variant_output, + ["Vote"]: + evaluation.variants.find((v: Variant) => v.variantId === data.vote)?.variantName || + data.vote, + ["Expected Output"]: + scenarios[ix]?.correctAnswer || evaluation.testset.csvdata[ix].correct_answer, + ["Additional notes"]: scenarios[ix]?.note, + } + }) + const exportCol = Object.keys(exportRow[0]) + + const csvData = convertToCsv(exportRow, exportCol) + const filename = `${evaluation.appName}_${evaluation.variants[0].variantName}_${evaluation.variants[1].variantName}_${evaluation.evaluationType}.csv` + downloadCsv(csvData, filename) +} + +export const exportSingleModelEvaluationData = ( + evaluation: Evaluation, + scenarios: EvaluationScenario[], + rows: GenericObject[], +) => { + const exportRow = rows.map((data, ix) => { + const inputColumns = evaluation.testset.testsetChatColumn + ? {Input: evaluation.testset.csvdata[ix]?.[evaluation.testset.testsetChatColumn]} + : data.inputs.reduce( + (columns: any, input: {input_name: string; input_value: string}) => { + columns[`${input.input_name}`] = input.input_value + return columns + }, + {}, + ) + const numericScore = parseInt(data.score) + return { + ...inputColumns, + [`App Variant ${evaluation.variants[0].variantName} Output 0`]: data?.columnData0 + ? data?.columnData0 + : data.outputs[0]?.variant_output, + ["Score"]: isNaN(numericScore) ? "-" : numericScore, + ["Expected Output"]: + scenarios[ix]?.correctAnswer || evaluation.testset.csvdata[ix].correct_answer, + ["Additional notes"]: scenarios[ix]?.note, + } + }) + const exportCol = Object.keys(exportRow[0]) + + const csvData = convertToCsv(exportRow, exportCol) + const filename = `${evaluation.appName}_${evaluation.variants[0].variantName}_${evaluation.evaluationType}.csv` + downloadCsv(csvData, filename) +} + +export const exportRegexEvaluationData = ( + evaluation: Evaluation, + rows: GenericObject[], + settings: GenericObject, +) => { + const exportRow = rows.map((data, ix) => { + const isCorrect = data.score === "correct" + const isMatch = settings.regexShouldMatch ? isCorrect : !isCorrect + + return { + ["Inputs"]: + evaluation.testset.csvdata[ix]?.[evaluation.testset.testsetChatColumn] || + data.inputs[0].input_value, + [`App Variant ${evaluation.variants[0].variantName} Output`]: data?.columnData0 + ? data?.columnData0 + : data.outputs[0]?.variant_output, + ["Match / Mismatch"]: isMatch ? "Match" : "Mismatch", + ["Evaluation"]: data.score, + } + }) + const exportCol = Object.keys(exportRow[0]) + + const csvData = convertToCsv(exportRow, exportCol) + const filename = `${evaluation.appName}_${evaluation.variants[0].variantName}_${evaluation.evaluationType}.csv` + downloadCsv(csvData, filename) +} + +export const exportWebhookEvaluationData = (evaluation: Evaluation, rows: GenericObject[]) => { + const exportRow = rows.map((data, ix) => { + return { + ["Inputs"]: + evaluation.testset.csvdata[ix]?.[evaluation.testset.testsetChatColumn] || + data.inputs[0].input_value, + [`App Variant ${evaluation.variants[0].variantName} Output`]: data?.columnData0 + ? data?.columnData0 + : data.outputs[0]?.variant_output, + ["Correct answer"]: data.correctAnswer, + ["Score"]: data.score, + } + }) + const exportCol = Object.keys(exportRow[0]) + + const csvData = convertToCsv(exportRow, exportCol) + const filename = `${evaluation.appName}_${evaluation.variants[0].variantName}_${evaluation.evaluationType}.csv` + downloadCsv(csvData, filename) +} + +export const exportCustomCodeEvaluationData = (evaluation: Evaluation, rows: GenericObject[]) => { + const exportRow = rows.map((data, ix) => { + return { + ["Inputs"]: + evaluation.testset.csvdata[ix]?.[evaluation.testset.testsetChatColumn] || + data.inputs[0].input_value, + [`App Variant ${evaluation.variants[0].variantName} Output`]: data?.columnData0 + ? data?.columnData0 + : data.outputs[0]?.variant_output, + ["Correct answer"]: data.correctAnswer, + ["Score"]: data.score, + } + }) + const exportCol = Object.keys(exportRow[0]) + + const csvData = convertToCsv(exportRow, exportCol) + const filename = `${evaluation.appName}_${evaluation.variants[0].variantName}_${evaluation.evaluationType}.csv` + downloadCsv(csvData, filename) +} + +export const calculateResultsDataAvg = (resultsData: Record, multiplier = 10) => { + const obj = {...resultsData} + Object.keys(obj).forEach((key) => { + if (isNaN(+key)) delete obj[key] + }) + + const count = Object.values(obj).reduce((acc, value) => acc + +value, 0) + const sum = Object.keys(obj).reduce((acc, key) => acc + (parseFloat(key) || 0) * +obj[key], 0) + return (sum / count) * multiplier +} + +export const getVotesPercentage = (record: HumanEvaluationListTableDataType, index: number) => { + const variant = record.votesData.variants[index] + return record.votesData.variants_votes_data[variant]?.percentage +} + +export const checkIfResourceValidForDeletion = async ( + data: Omit[0], "appId">, +) => { + if (isDemo()) { + const response = await fetchEvaluatonIdsByResource(data) + if (response.data.length > 0) { + const name = + (data.resourceType === "testset" + ? "Testset" + : data.resourceType === "evaluator_config" + ? "Evaluator" + : "Variant") + (data.resourceIds.length > 1 ? "s" : "") + + const suffix = response.data.length > 1 ? "s" : "" + AlertPopup({ + title: `${name} is in use`, + message: `The ${name} is currently in used by ${response.data.length} evaluation${suffix}. Please delete the evaluation${suffix} first.`, + cancelText: null, + okText: "Ok", + }) + return false + } + } + return true +} + +export function getTypedValue(res?: TypedValue) { + const {value, type, error} = res || {} + if (type === "error") { + return error?.message + } + + if (value === undefined) return "-" + + switch (type) { + case "number": + return round(Number(value), 2) + case "boolean": + case "bool": + return capitalize(value?.toString()) + case "cost": + return formatCurrency(Number(value)) + case "latency": + return formatLatency(Number(value)) + default: + return value?.toString() + } +} + +type CellDataType = "number" | "text" | "date" +export function getFilterParams(type: CellDataType) { + const filterParams: GenericObject = {} + if (type == "date") { + filterParams.comparator = function ( + filterLocalDateAtMidnight: Date, + cellValue: string | null, + ) { + if (cellValue == null) return -1 + const cellDate = dayjs(cellValue).startOf("day").toDate() + if (filterLocalDateAtMidnight.getTime() === cellDate.getTime()) { + return 0 + } + if (cellDate < filterLocalDateAtMidnight) { + return -1 + } + if (cellDate > filterLocalDateAtMidnight) { + return 1 + } + } + } + + return { + sortable: true, + floatingFilter: true, + filter: + type === "number" + ? "agNumberColumnFilter" + : type === "date" + ? "agDateColumnFilter" + : "agTextColumnFilter", + cellDataType: type === "number" ? "text" : type, + filterParams, + comparator: getCustomComparator(type), + } +} + +export const calcEvalDuration = (evaluation: _Evaluation) => { + return dayjs( + runningStatuses.includes(evaluation.status.value) ? Date.now() : evaluation.updated_at, + ).diff(dayjs(evaluation.created_at), "milliseconds") +} + +const getCustomComparator = (type: CellDataType) => (valueA: string, valueB: string) => { + const getNumber = (val: string) => { + const num = parseFloat(val || "0") + return isNaN(num) ? 0 : num + } + + valueA = String(valueA) + valueB = String(valueB) + + switch (type) { + case "date": + return dayjs(valueA).diff(dayjs(valueB)) + case "text": + return valueA.localeCompare(valueB) + case "number": + return getNumber(valueA) - getNumber(valueB) + default: + return 0 + } +} + +export const removeCorrectAnswerPrefix = (str: string) => { + return str.replace(/^correctAnswer_/, "") +} + +export const mapTestcaseAndEvalValues = ( + settingsValues: Record, + selectedTestcase: Record, +) => { + const testcaseObj: Record = {} + const evalMapObj: Record = {} + + Object.entries(settingsValues).forEach(([key, value]) => { + if (typeof value === "string" && value.startsWith("testcase.")) { + testcaseObj[key] = selectedTestcase[value.split(".")[1]] + } else { + evalMapObj[key] = value + } + }) + + return {testcaseObj, evalMapObj} +} + +export const transformTraceKeysInSettings = ( + settingsValues: Record, +): Record => { + return Object.keys(settingsValues).reduce( + (acc, curr) => { + if ( + !acc[curr] && + typeof settingsValues[curr] === "string" && + settingsValues[curr].startsWith("trace.") + ) { + acc[curr] = settingsValues[curr].replace("trace.", "") + } else { + acc[curr] = settingsValues[curr] + } + + return acc + }, + {} as Record, + ) +} + +export const getEvaluatorTags = () => { + const evaluatorTags = [ + { + label: "Classifiers", + value: "classifiers", + }, + { + label: "Similarity", + value: "similarity", + }, + { + label: "AI / LLM", + value: "ai_llm", + }, + { + label: "Functional", + value: "functional", + }, + ] + + if (isDemo()) { + evaluatorTags.unshift({ + label: "RAG", + value: "rag", + }) + } + + return evaluatorTags +} + +export const calculateAvgScore = (evaluation: SingleModelEvaluationListTableDataType) => { + let score = 0 + if (evaluation.scoresData) { + score = + ((evaluation.scoresData.correct?.length || evaluation.scoresData.true?.length || 0) / + evaluation.scoresData.nb_of_rows) * + 100 + } else if (evaluation.resultsData) { + const multiplier = { + [EvaluationType.auto_webhook_test]: 100, + [EvaluationType.single_model_test]: 1, + } + score = calculateResultsDataAvg( + evaluation.resultsData, + multiplier[evaluation.evaluationType as keyof typeof multiplier], + ) + score = isNaN(score) ? 0 : score + } else if (evaluation.avgScore) { + score = evaluation.avgScore * 100 + } + + return score +} diff --git a/web/ee/src/lib/helpers/hashUtils.ts b/web/ee/src/lib/helpers/hashUtils.ts new file mode 100644 index 0000000000..5c66724e5a --- /dev/null +++ b/web/ee/src/lib/helpers/hashUtils.ts @@ -0,0 +1,73 @@ +// Utility to generate a hash ID for annotation/invocation steps, aligned with backend make_hash_id +// Uses blake2b if available, otherwise falls back to SHA-256 + +import blake from "blakejs" +// import { v4 as uuidv4 } from "uuid" // Use this for UUIDs if needed + +const REFERENCE_KEYS = [ + "application", + "application_variant", + "application_revision", + "testset", + "testcase", + "evaluator", +] + +// Recursively stable, whitespace-free JSON stringifier +function stableStringifyRecursive(obj: any): string { + if (obj === null || typeof obj !== "object") { + return JSON.stringify(obj) + } + if (Array.isArray(obj)) { + return `[${obj.map(stableStringifyRecursive).join(",")}]` + } + const keys = Object.keys(obj).sort() + const entries = keys.map( + (key) => `${JSON.stringify(key)}:${stableStringifyRecursive(obj[key])}`, + ) + return `{${entries.join(",")}}` +} + +export function makeHashId({ + references, + links, +}: { + references?: Record + links?: Record +}): string { + if (!references && !links) return "" + const payload: Record = {} + + for (const k of Object.keys(references || {})) { + if (REFERENCE_KEYS.includes(k)) { + const v = references![k] + // Only include 'id' field, not 'slug' + if (v.id != null) { + payload[k] = {id: v.id} + } + } + } + for (const k of Object.keys(links || {})) { + const v = links![k] + payload[k] = { + span_id: v.span_id, + trace_id: v.trace_id, + } + } + // Stable, deep, whitespace-free JSON + const serialized = stableStringifyRecursive(payload) + + // blake2b hash (digest_size=16) + try { + // Use blakejs (same as backend example) + return blake.blake2bHex(serialized, null, 16) + } catch (e) { + // Fallback: SHA-256 + if (window.crypto?.subtle) { + throw new Error( + "blake2b not available and crypto.subtle is async. Provide a polyfill or use a sync fallback.", + ) + } + return btoa(serialized) + } +} diff --git a/web/ee/src/lib/helpers/traceUtils.ts b/web/ee/src/lib/helpers/traceUtils.ts new file mode 100644 index 0000000000..17909bddcb --- /dev/null +++ b/web/ee/src/lib/helpers/traceUtils.ts @@ -0,0 +1,146 @@ +import {uuidToTraceId} from "@/oss/lib/hooks/useAnnotations/assets/helpers" + +import {TraceData, TraceTree} from "../hooks/useEvaluationRunScenarioSteps/types" + +export function findTraceForStep(traces: any[] | undefined, traceId?: string): any | undefined { + if (!traces?.length || !traceId) return undefined + const noDash = uuidToTraceId(traceId) + + return traces.find((t) => { + // Case 1: wrapper with trees array (new shape) + if (t?.trees?.length) { + const firstTree = t.trees[0] + if (firstTree?.tree?.id === traceId) return true + if (firstTree?.nodes?.[0]?.trace_id === noDash) return true + } + // Case 2: flat shape { tree, nodes } + if (t?.tree?.id === traceId) return true + if (t?.nodes?.[0]?.trace_id === noDash) return true + return false + }) +} + +// generic safe path resolver +export function resolvePath(obj: any, path: string): any { + const parts = path.split(".") + let current: any = obj + for (let i = 0; i < parts.length && current !== undefined; i++) { + const key = parts[i] + if (key in current) { + current = current[key] + continue + } + // if the exact key not found, try joining the remaining parts as a whole key (to support dots inside actual key names) + const remainder = parts.slice(i).join(".") + if (remainder in current) { + current = current[remainder] + return current + } + return undefined + } + return current +} + +// Unified helper to obtain trace and response value for a specific invocation step +// Manual mapping for legacy/compatibility keys to canonical keys +const INVOCATION_OUTPUT_KEY_MAP: Record = { + "attributes.ag.data.outputs": "data.outputs", + // Add more mappings here if needed +} + +export function readInvocationResponse({ + scenarioData, + stepKey, + path, + optimisticResult, + forceTrace, + scenarioId, +}: { + scenarioData: any + stepKey: string + path?: string + optimisticResult?: any + forceTrace?: TraceTree + scenarioId?: string +}): {trace?: any; value?: any; rawValue?: any; testsetId?: string; testcaseId?: string} { + if (!scenarioData) return {} + + const invocationSteps: any[] = Array.isArray(scenarioData.invocationSteps) + ? scenarioData.invocationSteps + : [] + const stepByKey = stepKey ? invocationSteps.find((s: any) => s?.stepKey === stepKey) : undefined + const stepByScenario = + !stepByKey && scenarioId + ? invocationSteps.find((s: any) => s?.scenarioId === scenarioId) + : undefined + const invocationStep = stepByKey ?? stepByScenario ?? invocationSteps[0] + const effectiveStepKey = invocationStep?.stepKey ?? stepKey + + // --- PATH RESOLUTION LOGIC --- + let resolvedPath: string | undefined = undefined + if (path) { + resolvedPath = path + } else if (scenarioData.mappings && Array.isArray(scenarioData.mappings) && effectiveStepKey) { + const mapEntry = scenarioData.mappings.find((m: any) => m.step?.key === effectiveStepKey) + if (mapEntry?.step?.path) { + resolvedPath = mapEntry.step.path + } + } + // After resolving, apply legacy/custom mapping if needed + if (resolvedPath && INVOCATION_OUTPUT_KEY_MAP[resolvedPath]) { + resolvedPath = INVOCATION_OUTPUT_KEY_MAP[resolvedPath] + } + // --- END PATH RESOLUTION LOGIC --- + + // --- MAPPING LOGIC FOR TESTSET/TESTCASE INFERENCE --- + let testsetId: string | undefined = undefined + let testcaseId: string | undefined = undefined + if (scenarioData.mappings && Array.isArray(scenarioData.mappings) && effectiveStepKey) { + const mapping = scenarioData.mappings.find( + (m: any) => + m.invocationStep?.stepKey === effectiveStepKey || + m.step?.stepKey === effectiveStepKey, + ) + if (mapping && mapping.inputStep?.stepKey) { + const inputStep = scenarioData.inputSteps?.find( + (s: any) => s.stepKey === mapping.inputStep.stepKey, + ) + if (inputStep) { + testsetId = inputStep.testsetId + testcaseId = inputStep.testcaseId + } + } + } + // ----------------------------------------------------- + + // Access trace directly attached to the invocation step (set during enrichment) + const trace = (forceTrace || invocationStep?.trace?.nodes?.[0]) ?? undefined + + // First priority: optimistic result override (e.g., UI enqueue) + let rawValue = optimisticResult + + if (rawValue === undefined && resolvedPath) { + rawValue = resolvePath(trace, resolvedPath) + } + + // Convert raw value to displayable string where possible + let value: any = rawValue + if ( + typeof rawValue === "string" || + typeof rawValue === "number" || + typeof rawValue === "boolean" + ) { + value = String(rawValue) + } else if (rawValue && typeof rawValue === "object") { + if (typeof (rawValue as any).content === "string") { + value = (rawValue as any).content + } else { + try { + value = JSON.stringify(rawValue, null, 2) + } catch { + value = String(rawValue as any) + } + } + } + return {trace, value, rawValue, testsetId, testcaseId} +} diff --git a/web/ee/src/lib/hooks/useEvalScenarioQueue/index.ts b/web/ee/src/lib/hooks/useEvalScenarioQueue/index.ts new file mode 100644 index 0000000000..9843fedbee --- /dev/null +++ b/web/ee/src/lib/hooks/useEvalScenarioQueue/index.ts @@ -0,0 +1,348 @@ +import {useCallback, useEffect, useMemo, useRef} from "react" + +import {loadable} from "jotai/utils" + +// import {triggerScenarioRevalidation} from "@/oss/components/EvalRunDetails/assets/annotationUtils" +// import {getCurrentProject} from "@/oss/contexts/project.context" +// import {useAppId} from "@/oss/hooks/useAppId" +// import {getAgentaApiUrl} from "@/oss/lib/helpers/api" +// import {evalAtomStore} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms" +// Import EE run-scoped atoms for multi-run support +import {triggerScenarioRevalidation} from "@/oss/components/EvalRunDetails/HumanEvalRun/assets/annotationUtils" +import {setOptimisticStepData} from "@/oss/components/EvalRunDetails/HumanEvalRun/assets/optimisticUtils" +import {useAppId} from "@/oss/hooks/useAppId" +import {getAgentaApiUrl} from "@/oss/lib/helpers/api" +import {evaluationRunStateFamily} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms/runScopedAtoms" +import {useJwtRefresher} from "@/oss/lib/hooks/useJWT" +import {EvaluationStatus} from "@/oss/lib/Types" +import {slugify} from "@/oss/lib/utils/slugify" +import type {ConfigMessage, ResultMessage, RunEvalMessage} from "@/oss/lib/workers/evalRunner/types" +import {getProjectValues} from "@/oss/state/project" + +// import {setOptimisticStepData} from "../../../components/EvalRunDetails/assets/optimisticUtils" +import {evalAtomStore} from "../useEvaluationRunData/assets/atoms" +import {triggerMetricsFetch} from "../useEvaluationRunData/assets/atoms/runScopedMetrics" +import {scenarioStepFamily} from "../useEvaluationRunData/assets/atoms/runScopedScenarios" +import {IInvocationStep} from "../useEvaluationRunScenarioSteps/types" + +import {BatchingQueue} from "./responseQueue" + +let sharedWorker: Worker | null = null +let isWorkerInitialized = false + +const MAX_RETRIES = 1 + +export function useEvalScenarioQueue(options?: {concurrency?: number; runId?: string}) { + const {jwt} = useJwtRefresher() + const {runId: optionsRunId} = options || {} + + /* -------- helpers that read atoms lazily -------- */ + const getRunMeta = useCallback(() => { + const store = evalAtomStore() + const effectiveRunId = optionsRunId + if (!effectiveRunId) { + console.warn("[useEvalScenarioQueue] No runId provided, cannot get run metadata") + return {runId: undefined, revision: undefined} + } + const runState = store.get(evaluationRunStateFamily(effectiveRunId)) + const run = runState?.enrichedRun + return { + runId: effectiveRunId, + revision: run?.variants?.[0], + } + }, [optionsRunId]) + + const workerRef = useRef(null) + const retryCountRef = useRef>(new Map()) + const abortedRef = useRef>(new Set()) + // New refs for timestamps and transitions + const timestampsRef = useRef>(new Map()) + const transitionsRef = useRef>(new Map()) + const appId = useAppId() + + // placeholder for batching queue ref – will init after handleResult + const queueRef = useRef>(undefined) + + // ---- handle single worker message ---- + const handleResult = useCallback( + (data: ResultMessage) => { + const {runId} = getRunMeta() + const {invocationStepTarget, invocationKey, scenarioId, status, result} = data + + if (abortedRef.current.has(scenarioId)) return + if (!invocationStepTarget) return + + if (status === EvaluationStatus.FAILURE) { + const retryCount = retryCountRef.current.get(scenarioId) ?? 0 + if (retryCount < MAX_RETRIES) { + if (!runId) return + const nextRetry = retryCount + 1 + retryCountRef.current.set(scenarioId, nextRetry) + setOptimisticStepData( + scenarioId, + [ + { + ...structuredClone(invocationStepTarget), + status: EvaluationStatus.RUNNING, + }, + ], + runId, + ) + + workerRef.current?.postMessage({ + type: "run-invocation", + jwt, + appId, + scenarioId, + runId, + requestBody: result?.requestBody ?? {}, + endpoint: result?.endpoint ?? "", + apiUrl: getAgentaApiUrl(), + projectId: getProjectValues().projectId, + invocationKey, + invocationStepTarget, + }) + return + } + } else { + retryCountRef.current.delete(scenarioId) + } + + try { + const optimisticData: IInvocationStep = { + ...structuredClone(invocationStepTarget), + status, + traceId: result.traceId, + trace: result?.tree, + } + + if ("invocationParameters" in invocationStepTarget) { + optimisticData.invocationParameters = + status === EvaluationStatus.SUCCESS + ? undefined + : (invocationStepTarget as IInvocationStep).invocationParameters + } + + if (runId) { + // Apply optimistic updates directly to maintain loading state continuity + setOptimisticStepData(scenarioId, [optimisticData], runId) + } + + // Delay the server revalidation to allow optimistic state to be visible + // This prevents immediate overwrite of the "running" status + triggerScenarioRevalidation(runId, scenarioId, [optimisticData]) + } catch (err) { + console.error("Failed to trigger scenario step refetch", err) + } + + const now = Date.now() + const existingTransitions = transitionsRef.current.get(scenarioId) ?? [] + transitionsRef.current.set(scenarioId, [ + ...existingTransitions, + {status, timestamp: now}, + ]) + const existingTimestamps = timestampsRef.current.get(scenarioId) ?? {} + if (status === "pending" && existingTimestamps.startedAt === undefined) { + timestampsRef.current.set(scenarioId, {...existingTimestamps, startedAt: now}) + } + if ( + (status === EvaluationStatus.SUCCESS || status === EvaluationStatus.FAILURE) && + existingTimestamps.endedAt === undefined + ) { + timestampsRef.current.set(scenarioId, {...existingTimestamps, endedAt: now}) + + // Trigger metrics refresh when scenario completes (success or failure) + if (runId) { + triggerMetricsFetch(runId) + } + } + }, + [jwt, retryCountRef, abortedRef, appId], + ) + + // initialize queue after we have stable handleResult + if (!queueRef.current) { + queueRef.current = new BatchingQueue((batch) => { + batch.forEach((item) => handleResult(item.payload)) + }) + } + + useEffect(() => { + if (!sharedWorker) { + sharedWorker = new Worker( + new URL("@/oss/lib/workers/evalRunner/evalRunner.worker.ts", import.meta.url), + ) + } + + workerRef.current = sharedWorker + + if (!isWorkerInitialized) { + const concurrency = options?.concurrency ?? 5 + const configMsg: ConfigMessage = {type: "config", maxConcurrent: concurrency} + sharedWorker.postMessage(configMsg) + isWorkerInitialized = true + } + + sharedWorker.onmessage = (e: MessageEvent) => { + handleResult(e.data) + // if (e.data.type === "result") { + // queueRef.current?.push(e.data) + // } + } + }, [jwt, options?.concurrency, appId]) + + const enqueueScenario = useCallback( + (scenarioId: string, stepKey?: string) => { + const store = evalAtomStore() + // Use run-scoped atom - runId should always be available in EE version + if (!optionsRunId) { + console.warn( + "[useEvalScenarioQueue] No runId provided, cannot get scenario step data", + ) + return undefined + } + + const stepLoadable = store.get( + loadable(scenarioStepFamily({scenarioId, runId: optionsRunId})), + ) + + if (stepLoadable.state === "hasData") { + const stepData = stepLoadable.data + // use data safely here + const invSteps = stepData?.invocationSteps ?? [] + const target = stepKey + ? invSteps.find((s) => s.stepKey === stepKey) + : invSteps.find((s) => s.invocationParameters) + + if (!target?.invocationParameters) return + const {runId, revision} = getRunMeta() + if (!jwt || !runId) return + + const invocationSteps: any[] | undefined = stepData?.invocationSteps + let requestBody: any, endpoint: string | undefined + let invocationStepTarget: any | undefined + if (invocationSteps) { + if (stepKey) { + invocationStepTarget = invocationSteps.find((s) => s.stepKey === stepKey) + } else { + invocationStepTarget = invocationSteps.find((s) => s.invocationParameters) + } + if (invocationStepTarget?.invocationParameters) { + requestBody = structuredClone( + invocationStepTarget.invocationParameters?.requestBody, + ) + endpoint = invocationStepTarget.invocationParameters?.endpoint + } + } + // Optimistic running override using shared helper + queueMicrotask(() => { + setOptimisticStepData( + scenarioId, + [ + { + ...structuredClone(invocationStepTarget), + status: EvaluationStatus.RUNNING, + }, + ], + runId, + ) + }) + retryCountRef.current.set(scenarioId, 0) + abortedRef.current.delete(scenarioId) + + let invocationKey: string | undefined + if (revision) { + invocationKey = slugify( + revision.name ?? revision.variantName ?? "invocation", + revision.id, + ) + } + + // Append required references to invocation request body before sending to worker + // invocationStepTarget is defined above in this scope + try { + if (requestBody && typeof requestBody === "object") { + const references: Record = + (requestBody.references as any) || {} + + // Testset id – derive from graph: find input step with same testcaseId + let testsetId: string | undefined + const inputSteps: any[] | undefined = stepData?.inputSteps + if (Array.isArray(inputSteps) && invocationStepTarget) { + const matchingInput = inputSteps.find( + (s) => s.testcaseId === (invocationStepTarget as any).testcaseId, + ) + testsetId = + matchingInput?.testcase?.testset_id || + matchingInput?.references?.testset?.id || + matchingInput?.refs?.testset?.id + } + if (testsetId) { + references.testset = {id: testsetId} + } + + // Application related references + if (appId) references.application = {id: appId} + const variantId = revision?.variantId || revision?.id || undefined + if (variantId) references.application_variant = {id: String(variantId)} + if (revision?.id) + references.application_revision = {id: String(revision.id)} + + requestBody.references = references + } + } catch (err) { + console.error("Failed to append references to invocation payload", err) + } + + if (endpoint) { + const message: RunEvalMessage = { + type: "run-invocation", + appId: appId, + jwt, + scenarioId, + runId, + requestBody, + endpoint, + invocationKey, + invocationStepTarget, + apiUrl: getAgentaApiUrl(), + projectId: getProjectValues().projectId, + } + + workerRef.current?.postMessage(message) + + // Update timestamps and transitions on enqueue + const now = Date.now() + const existingTransitions = transitionsRef.current.get(scenarioId) ?? [] + transitionsRef.current.set(scenarioId, [ + ...existingTransitions, + {status: "pending", timestamp: now}, + ]) + const existingTimestamps = timestampsRef.current.get(scenarioId) ?? {} + if (existingTimestamps.startedAt === undefined) { + timestampsRef.current.set(scenarioId, { + ...existingTimestamps, + startedAt: now, + }) + } + } + } + }, + [jwt, getRunMeta], + ) + + const cancelScenario = useCallback((scenarioId: string) => { + if (process.env.NODE_ENV !== "production") { + console.debug(`[EvalQueue] Cancelling scenario ${scenarioId}`) + } + abortedRef.current.add(scenarioId) + }, []) + + return useMemo( + () => ({ + enqueueScenario, + cancelScenario, + }), + [enqueueScenario, cancelScenario], + ) +} diff --git a/web/ee/src/lib/hooks/useEvalScenarioQueue/responseQueue.ts b/web/ee/src/lib/hooks/useEvalScenarioQueue/responseQueue.ts new file mode 100644 index 0000000000..b575de18ce --- /dev/null +++ b/web/ee/src/lib/hooks/useEvalScenarioQueue/responseQueue.ts @@ -0,0 +1,48 @@ +export interface QueueItem { + payload: T + receivedAt: number +} + +/** + * Generic in-memory batching queue. Push items and they will be flushed + * either when we reach `maxBatch` length or after `maxWaitMs` timeout, + * whichever comes first. The consumer provides a `processBatch` callback + * that receives all pending items in the order they were received. + */ +export class BatchingQueue { + private pending: QueueItem[] = [] + private flushTimer: ReturnType | null = null + + constructor( + private readonly processBatch: (items: QueueItem[]) => void, + private readonly maxBatch = 20, + private readonly maxWaitMs = 150, + ) {} + + push(item: T) { + this.pending.push({payload: item, receivedAt: Date.now()}) + // If we already reached the batch size, flush synchronously + if (this.pending.length >= this.maxBatch) { + this.flush() + return + } + // Otherwise ensure a timer exists + if (!this.flushTimer) { + this.flushTimer = setTimeout(() => this.flush(), this.maxWaitMs) + } + } + + flush() { + if (this.flushTimer) { + clearTimeout(this.flushTimer) + this.flushTimer = null + } + if (this.pending.length === 0) return + const batch = this.pending.splice(0, this.pending.length) + try { + this.processBatch(batch) + } catch (err) { + console.error("[BatchingQueue] processBatch failed", err) + } + } +} diff --git a/web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/bulkFetch.ts b/web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/bulkFetch.ts new file mode 100644 index 0000000000..bd13a5dab0 --- /dev/null +++ b/web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/bulkFetch.ts @@ -0,0 +1,96 @@ +import {createStore} from "jotai" + +import {UseEvaluationRunScenarioStepsFetcherResult} from "../../../useEvaluationRunScenarioSteps/types" +import {fetchScenarioViaWorkerAndCache} from "../helpers/fetchScenarioViaWorker" + +import { + bulkStepsStatusFamily, + bulkStepsCacheFamily, + evaluationRunStateFamily, + enrichedRunFamily, +} from "./runScopedAtoms" + +/* + Bulk scenario-step prefetching for Evaluation Run screen. + Updated to work with run-scoped atom families instead of global atoms. + This allows multiple evaluation runs to have independent bulk fetch states. +*/ + +// Legacy exports for backward compatibility during migration +// These will be removed once all components are migrated +export const bulkStepsStatusAtom = bulkStepsStatusFamily("__legacy__") + +// Bulk fetch logic updated to work with run-scoped atom families +export async function runBulkFetch( + store: ReturnType, + runId: string, + scenarioIds: string[], + opts: { + force?: boolean + onComplete?: (map: Map) => void + } = {}, +): Promise> { + if (!scenarioIds || !scenarioIds.length) { + return new Map() + } + + const status = store.get(bulkStepsStatusFamily(runId)) + + if (!opts.force && (status === "loading" || status === "done")) { + const cachedData = store.get(bulkStepsCacheFamily(runId)) + + return cachedData + } + + const enrichedRun = store.get(enrichedRunFamily(runId)) + const evaluationRunState = store.get(evaluationRunStateFamily(runId)) + const runIndex = evaluationRunState?.runIndex + + // Validate scenario IDs and filter out skeleton/placeholder IDs + const validScenarioIds = scenarioIds.filter((id) => { + if (!id || typeof id !== "string") return false + + // Skip skeleton/placeholder IDs gracefully + if (id.startsWith("skeleton-") || id.startsWith("placeholder-")) { + return false + } + + const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i + return uuidRegex.test(id) + }) + + // Use filtered valid IDs + scenarioIds = validScenarioIds + + // Early return if no valid scenario IDs remain after filtering + if (scenarioIds.length === 0) { + return store.get(bulkStepsCacheFamily(runId)) + } + + if (!runId || !enrichedRun || !runIndex) { + return store.get(bulkStepsCacheFamily(runId)) + } + + store.set(bulkStepsStatusFamily(runId), "loading") + // return + try { + const params = {runId, evaluation: enrichedRun, runIndex} + + const workerResult = + (await fetchScenarioViaWorkerAndCache(params, scenarioIds)) || new Map() + + // Write all results to the bulk cache atom at once + store.set(bulkStepsCacheFamily(runId), (draft) => { + for (const [scenarioId, scenarioSteps] of workerResult?.entries() || []) { + if (scenarioSteps) { + draft.set(scenarioId, scenarioSteps) + } + } + }) + + store.set(bulkStepsStatusFamily(runId), "done") + } catch (err) { + console.error("[bulk-steps] bulk fetch ERROR", err) + store.set(bulkStepsStatusFamily(runId), "error") + } +} diff --git a/web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/cache.ts b/web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/cache.ts new file mode 100644 index 0000000000..50338bd00a --- /dev/null +++ b/web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/cache.ts @@ -0,0 +1,6 @@ +import {atom} from "jotai" + +import type {TraceData} from "../../../useEvaluationRunScenarioSteps/types" + +// traceId -> TraceData +export const traceCacheAtom = atom(new Map()) diff --git a/web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/index.ts b/web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/index.ts new file mode 100644 index 0000000000..474aab8bef --- /dev/null +++ b/web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/index.ts @@ -0,0 +1,19 @@ +import {atom} from "jotai" + +// New run-scoped atoms +export * from "./runScopedAtoms" +export * from "./runScopedScenarios" + +// Migration helper for backward compatibility - only export specific functions +export {getCurrentRunId} from "./migrationHelper" + +// Legacy atoms and functions (for backward compatibility during migration) +import {evalAtomStore, initializeRun} from "./store" + +// re-export legacy store helpers (will be deprecated) +export {evalAtomStore, initializeRun} + +export * from "./utils" +export * from "./bulkFetch" +export * from "./progress" +export * from "./cache" diff --git a/web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/migrationHelper.ts b/web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/migrationHelper.ts new file mode 100644 index 0000000000..52e43467c5 --- /dev/null +++ b/web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/migrationHelper.ts @@ -0,0 +1,18 @@ +/** + * Migration helper for gradual transition from global atoms to run-scoped atoms + * + * This provides compatibility layers that allow existing components to work + * while we gradually migrate them to use the new run-scoped atom families. + */ + +// Current active run ID - this is a temporary bridge during migration +let currentRunId: string | null = null + +export const getCurrentRunId = (): string => { + if (!currentRunId) { + throw new Error( + "No current run ID set. Make sure to call setCurrentRunId() before using legacy atoms.", + ) + } + return currentRunId +} diff --git a/web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/progress.ts b/web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/progress.ts new file mode 100644 index 0000000000..be83fcba04 --- /dev/null +++ b/web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/progress.ts @@ -0,0 +1,263 @@ +import deepEqual from "fast-deep-equal" +import {Atom, atom} from "jotai" +import {atomFamily, loadable, selectAtom} from "jotai/utils" +import {eagerAtom} from "jotai-eager" +import {atomWithImmer} from "jotai-immer" + +import {evalTypeAtom} from "@/oss/components/EvalRunDetails/state/evalType" + +import {EvaluationLoadingState} from "../../types" +import {defaultLoadingState} from "../constants" + +// import {bulkStepsCacheAtom} from "./bulkFetch" + +import {evaluationRunStateFamily} from "./runScopedAtoms" +import { + displayedScenarioIdsFamily, + scenarioIdsFamily, + scenarioStepFamily, + scenarioStepLocalFamily, +} from "./runScopedScenarios" +import {ScenarioCounts, StatusCounters} from "./types" + +// ---------------- Shared counter helper ---------------- +const emptyCounters = (): StatusCounters => ({ + pending: 0, + running: 0, + completed: 0, + cancelled: 0, + unannotated: 0, + failed: 0, +}) + +const tallyStatus = (counters: StatusCounters, status: string): void => { + switch (status) { + case "pending": + case "revalidating": + counters.pending += 1 + break + case "running": + counters.running += 1 + break + case "success": + case "done": + counters.completed += 1 + break + case "incomplete": + counters.unannotated += 1 + break + case "failed": + case "failure": + case "error": + counters.failed += 1 + break + case "cancelled": + counters.cancelled += 1 + break + default: + counters.pending += 1 + } +} + +export const progressFamily = atomFamily( + (runId: string) => + eagerAtom((get) => { + const scenarios = get(evaluationRunStateFamily(runId)).scenarios || [] + const counters = emptyCounters() + + scenarios.forEach((s) => { + const statusLoadable = get( + loadable(scenarioStatusFamily({scenarioId: s.id, runId})), + ) + const status = + statusLoadable.state === "hasData" ? statusLoadable.data.status : "pending" + tallyStatus(counters, status) + }) + + const percentComplete = + counters.completed + counters.failed + counters.cancelled + counters.unannotated > 0 + ? Math.round((counters.completed / scenarios.length) * 100) + : 0 + + return { + total: scenarios.length, + pending: counters.pending, + inProgress: counters.running, + completed: counters.completed, + error: counters.failed, + cancelled: counters.cancelled, + percentComplete, + } + }), + deepEqual, +) + +export const loadingStateAtom = atomWithImmer(defaultLoadingState) + +// Run-scoped atom family to compute scenario step progress for displayedScenarioIds +export const scenarioStepProgressFamily = atomFamily( + (runId: string) => + atom((get) => { + const loadingStates = get(loadingStateAtom) + // If we're still fetching the evaluation or scenarios list, reflect that first + if ( + loadingStates.activeStep && + ["eval-run", "scenarios"].includes(loadingStates.activeStep) + ) { + return { + completed: 0, + total: 0, + percent: 0, + loadingStep: loadingStates.activeStep, + } + } + const loadableIds = get(loadable(displayedScenarioIdsFamily(runId))) + + if (loadableIds.state !== "hasData") { + return {completed: 0, total: 0, percent: 0, loadingStep: null} + } + const scenarioIds: string[] = Array.isArray(loadableIds.data) ? loadableIds.data : [] + const total = scenarioIds.length + + let completed = 0 + scenarioIds.forEach((scenarioId: string) => { + if (get(scenarioStepLocalFamily({runId, scenarioId}))) completed++ + }) + const percent = total > 0 ? Math.round((completed / total) * 100) : 0 + return { + completed, + total, + percent, + allStepsFetched: completed === total && total > 0, + loadingStep: completed < total ? "scenario-steps" : null, + } + }), + deepEqual, +) + +export const scenarioStatusFamily = atomFamily((params: {scenarioId: string; runId: string}) => { + return atom(async (get) => { + const data = await get(scenarioStepFamily(params)) + const evalType = get(evalTypeAtom) + + const invocationSteps: any[] = Array.isArray(data?.invocationSteps) + ? data.invocationSteps + : [] + const annotationSteps: any[] = Array.isArray(data?.annotationSteps) + ? data.annotationSteps + : [] + + const isRunning = + data?.invocationSteps.some((s) => s.status === "running") || + data?.annotationSteps.some((s) => s.status === "running") || + data?.inputSteps.some((s) => s.status === "running") + + const isAnnotating = data?.annotationSteps.some((s) => s.status === "annotating") + const isRevalidating = data?.annotationSteps.some((s) => s.status === "revalidating") + + // Determine scenario status based on step outcomes + let computedStatus = "pending" + const allInvSucceeded = + invocationSteps.length > 0 && invocationSteps.every((s) => s.status === "success") + const allAnnSucceeded = + annotationSteps.length > 0 && annotationSteps.every((s) => s.status === "success") + const anyFailed = + data?.invocationSteps.some((s) => s.status === "failure") || + data?.annotationSteps.some((s) => s.status === "failure") || + data?.inputSteps.some((s) => s.status === "failure") + + if (isRunning) { + computedStatus = "running" + } else if (isAnnotating) { + computedStatus = "annotating" + } else if (isRevalidating) { + computedStatus = "revalidating" + } else if (allAnnSucceeded) { + computedStatus = "success" + } else if (allInvSucceeded) { + // In auto eval we don't have any annotation steps for now + computedStatus = evalType === "auto" ? "success" : "incomplete" + } else if (anyFailed) { + computedStatus = "failure" + } else { + computedStatus = "pending" + } + + return { + status: computedStatus, + isAnnotating, + isRevalidating, + } + }) +}, deepEqual) + +export const scenarioStatusAtomFamily = atomFamily((params: {scenarioId: string; runId: string}) => + atom((get) => { + const loadableStatus = get(loadable(scenarioStatusFamily(params))) + return loadableStatus.state === "hasData" ? loadableStatus.data : {status: "pending"} + }), +) + +// Aggregate all scenario steps into a single object keyed by scenarioId (loadable) +// Convenience wrapper so components can safely read status without suspending +export const loadableScenarioStatusFamily = atomFamily( + (params: {scenarioId: string; runId: string}) => loadable(scenarioStatusFamily(params)), + deepEqual, +) + +// Lightweight UI flags derived from scenario status +export const scenarioUiFlagsFamily = atomFamily((params: {scenarioId: string; runId: string}) => { + return atom((get) => { + const statusLoadable = get(loadable(scenarioStatusFamily(params))) + if (statusLoadable.state !== "hasData") { + return {isAnnotating: false, isRevalidating: false} + } + const {isAnnotating, isRevalidating, status} = statusLoadable.data as any + return { + isAnnotating: isAnnotating ?? status === "annotating", + isRevalidating: isRevalidating ?? status === "revalidating", + } + }) +}, deepEqual) + +export const scenarioCountsFamily = atomFamily((runId: string) => { + return atom((get) => { + const ids = get(scenarioIdsFamily(runId)) + const c = emptyCounters() + for (const id of ids) { + const st = get(scenarioStatusAtomFamily({scenarioId: id, runId})) as any + tallyStatus(c, st?.status ?? "pending") + } + return { + total: ids.length, + pending: c.pending, + unannotated: c.unannotated, + failed: c.failed, + } + }) +}, deepEqual) + +// Run-scoped count atoms +export const pendingCountFamily = atomFamily((runId: string) => { + return selectAtom( + scenarioCountsFamily(runId), + (c) => c.pending, + deepEqual, + ) +}, deepEqual) + +export const unannotatedCountFamily = atomFamily((runId: string) => { + return selectAtom( + scenarioCountsFamily(runId), + (c) => c.unannotated, + deepEqual, + ) +}, deepEqual) + +export const failedCountFamily = atomFamily((runId: string) => { + return selectAtom( + scenarioCountsFamily(runId), + (c) => c.failed, + deepEqual, + ) +}, deepEqual) diff --git a/web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/runScopedAtoms.ts b/web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/runScopedAtoms.ts new file mode 100644 index 0000000000..882e4b169f --- /dev/null +++ b/web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/runScopedAtoms.ts @@ -0,0 +1,105 @@ +import deepEqual from "fast-deep-equal" +import {atom} from "jotai" +import {atomFamily} from "jotai/utils" +import {atomWithImmer} from "jotai-immer" + +import {UseEvaluationRunScenarioStepsFetcherResult} from "../../../useEvaluationRunScenarioSteps/types" +import {EvaluationRunState} from "../../types" +import {initialState} from "../constants" +import type {BasicStats} from "../types" + +/** + * Run-scoped atom families + * + * These atoms replace the global atoms that were previously tied to a single "active" run. + * Each atom family is keyed by runId, allowing multiple evaluation runs to coexist + * without interfering with each other. + */ + +// Core evaluation run state - replaces global evaluationRunStateAtom +export const evaluationRunStateFamily = atomFamily((runId: string) => { + if (runId === undefined || runId === null || runId === "") { + console.error(`[evaluationRunStateFamily] ERROR: Invalid runId received: ${runId}`) + console.trace("Stack trace for invalid runId:") + } + return atomWithImmer(initialState) +}, deepEqual) + +// Bulk fetch status - replaces global bulkStepsStatusAtom +export const bulkStepsStatusFamily = atomFamily( + (runId: string) => atom<"idle" | "loading" | "done" | "error">("idle"), + deepEqual, +) + +// Bulk fetch cache - replaces global bulkStepsCacheAtom +export const bulkStepsCacheFamily = atomFamily( + (runId: string) => atom>(new Map()), + deepEqual, +) + +// Bulk fetch requested flag - for tracking if bulk fetch has been initiated +export const bulkStepsRequestedFamily = atomFamily((runId: string) => atom(false), deepEqual) + +// Bulk started flag - guard so init fires once per run +export const bulkStartedFamily = atomFamily((runId: string) => atom(false), deepEqual) + +// Derived atoms that depend on run state +export const enrichedRunFamily = atomFamily( + (runId: string) => atom((get) => get(evaluationRunStateFamily(runId)).enrichedRun), + deepEqual, +) + +export const runIndexFamily = atomFamily( + (runId: string) => atom((get) => get(evaluationRunStateFamily(runId)).runIndex), + deepEqual, +) + +export const evaluationRunIdFamily = atomFamily( + (runId: string) => + atom(() => { + // Use runId directly since it's the identifier we need + return runId + }), + deepEqual, +) + +// Loading state family - replaces global loadingStateAtom +export const loadingStateFamily = atomFamily( + (runId: string) => + atomWithImmer({ + isLoadingEvaluation: false, + isLoadingScenarios: false, + isLoadingMetrics: false, + activeStep: null as string | null, + }), + deepEqual, +) + +// Run-scoped metric atom families - replaces global metric atoms +export const runMetricsRefreshFamily = atomFamily((runId: string) => atom(0), deepEqual) + +export const runMetricsCacheFamily = atomFamily((runId: string) => atom([]), deepEqual) + +export const runMetricsStatsCacheFamily = atomFamily( + (runId: string) => atom>({}), + deepEqual, +) + +/** + * Helper type for accessing all run-scoped atoms for a specific run + */ +export interface RunScopedAtoms { + runId: string + evaluationRunState: ReturnType + bulkStepsStatus: ReturnType + bulkStepsCache: ReturnType + bulkStepsRequested: ReturnType + bulkStarted: ReturnType + enrichedRun: ReturnType + runIndex: ReturnType + evaluationRunId: ReturnType + loadingState: ReturnType + runMetricsRefresh: ReturnType + runMetricsCache: ReturnType + runMetricsStatsCache: ReturnType +} diff --git a/web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/runScopedMetrics.ts b/web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/runScopedMetrics.ts new file mode 100644 index 0000000000..ab029794bc --- /dev/null +++ b/web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/runScopedMetrics.ts @@ -0,0 +1,546 @@ +import deepEqual from "fast-deep-equal" +import {Atom} from "jotai" +import {atomFamily, selectAtom} from "jotai/utils" +import {eagerAtom} from "jotai-eager" + +import {getAgentaApiUrl} from "@/oss/lib/helpers/api" +import {BasicStats, canonicalizeMetricKey, getMetricValueWithAliases} from "@/oss/lib/metricUtils" +import {slugify} from "@/oss/lib/utils/slugify" +import {getJWT} from "@/oss/services/api" +import {getProjectValues} from "@/oss/state/project" + +import { + evaluationRunStateFamily, + loadingStateFamily, + runMetricsCacheFamily, + runMetricsRefreshFamily, + runMetricsStatsCacheFamily, +} from "./runScopedAtoms" +import {evalAtomStore} from "./store" + +// Re-export the atom families for external use +export {runMetricsCacheFamily, runMetricsStatsCacheFamily} + +import {fetchRunMetricsViaWorker} from "@/agenta-oss-common/lib/workers/evalRunner/runMetricsWorker" + +// Helper: flatten acc object and nested metrics similar to legacy mergedMetricsAtom +export function flattenMetrics(raw: Record): Record { + const flat: Record = {} + Object.entries(raw || {}).forEach(([k, v]) => { + if (k === "acc" && v && typeof v === "object") { + const acc: any = v + if (acc?.costs?.total !== undefined) flat.totalCost = acc.costs.total + if (acc?.duration?.total !== undefined) + flat["duration.total"] = Number((acc.duration.total / 1000).toFixed(6)) + if (acc?.tokens?.total !== undefined) flat.totalTokens = acc.tokens.total + if (acc?.tokens?.prompt !== undefined) flat.promptTokens = acc.tokens.prompt + if (acc?.tokens?.completion !== undefined) flat.completionTokens = acc.tokens.completion + } else if (v && typeof v === "object" && !Array.isArray(v)) { + Object.entries(v).forEach(([sub, sv]) => { + flat[`${k}.${sub}`] = sv + }) + } else { + flat[k] = v + } + }) + return flat +} + +// Deduplicate inflight requests per runId +const inFlight = new Map>() + +const runFetchMetrics = async ( + store: any, + runId: string, + evaluatorSlugs: string[] = [], + revisionSlugs: string[] = [], +) => { + if (inFlight.has(runId)) return inFlight.get(runId)! as Promise + + const promise = (async () => { + evalAtomStore().set(loadingStateFamily(runId), (draft) => { + draft.isLoadingMetrics = true + }) + try { + const apiUrl = getAgentaApiUrl() + const jwt = await getJWT() + const proj = getProjectValues() as any + const projectId = (proj?.id ?? proj?.projectId ?? "") as string + + if (!projectId || !jwt || !apiUrl) { + console.error(`[runScopedMetrics] Missing context for runId: ${runId}`, { + hasProjectId: !!projectId, + hasJwt: !!jwt, + hasApiUrl: !!apiUrl, + }) + throw new Error("Project ID, JWT or API URL not found") + } + + const {metrics, stats} = await fetchRunMetricsViaWorker(runId, { + apiUrl, + jwt, + projectId, + evaluatorSlugs, + revisionSlugs, + }) + + const scenarioMetrics = Array.isArray(metrics) ? metrics : [] + + // Update run-scoped cache atoms + store.set(runMetricsCacheFamily(runId), scenarioMetrics) + store.set(runMetricsStatsCacheFamily(runId), stats || {}) + + // Reset refresh counter back to 0 + store.set(runMetricsRefreshFamily(runId), 0) + } catch (err) { + console.error(`[runScopedMetrics] Error fetching metrics for runId: ${runId}:`, err) + } finally { + inFlight.delete(runId) // cleanup + evalAtomStore().set(loadingStateFamily(runId), (draft) => { + draft.isLoadingMetrics = false + }) + } + })() + inFlight.set(runId, promise) + return promise +} + +// Run-scoped metrics atom family that fetches metrics for a specific runId +export const runMetricsFamily = atomFamily>((runId: string) => { + return eagerAtom((get) => { + if (!runId) { + return [] + } + + // Depend on refresh signal + const refresh = get(runMetricsRefreshFamily(runId)) + + const cached = get(runMetricsCacheFamily(runId)) + + // Normal path: no refresh requested + if (refresh === 0) { + return cached || [] + } + + // Refresh requested (stale-while-revalidate) + if (cached && cached.length > 0) { + // Kick off background revalidation if not already running + if (!inFlight.has(runId)) { + runFetchMetrics(evalAtomStore(), runId) + } + return cached // serve stale data while revalidating + } + + // No cached data → start background fetch and return empty list (no suspense) + if (!inFlight.has(runId)) { + const state = get(evaluationRunStateFamily(runId)) + const evaluators = state?.enrichedRun?.evaluators + if (!evaluators) return [] + + // Handle both array and object formats + const evaluatorsList = Array.isArray(evaluators) + ? evaluators + : Object.values(evaluators) + + const evaluatorSlugs = evaluatorsList.map((ev: any) => ev.slug || ev.id || ev.name) + + const revisions = state?.enrichedRun?.variants + const revisionSlugs = revisions + ? revisions.map((v: any) => slugify(v.name, v.id)) + : // ? revisions.map((v: any) => slugify("comp-1", v.id)) + [] + + const p = runFetchMetrics(evalAtomStore(), runId, evaluatorSlugs, revisionSlugs) + inFlight.set(runId, p) + } + return [] + }) +}, deepEqual) + +// Run-scoped scenario metrics map atom family +const scenarioMetricsCache = new WeakMap>>() + +const normalizeStatValue = (value: any) => { + if (!value || typeof value !== "object" || Array.isArray(value)) return value + const next: any = {...value} + + if (Array.isArray(next.freq)) { + next.frequency = next.freq + delete next.freq + } + if (Array.isArray(next.uniq)) { + next.unique = next.uniq + delete next.uniq + } + + if (Array.isArray(next.frequency)) { + next.frequency = next.frequency.map((entry: any) => ({ + value: entry?.value, + count: entry?.count ?? entry?.frequency ?? 0, + })) + + const sorted = [...next.frequency].sort( + (a, b) => b.count - a.count || (a.value === true ? -1 : 1), + ) + next.rank = sorted + if (!Array.isArray(next.unique) || !next.unique.length) { + next.unique = sorted.map((entry) => entry.value) + } + } else if (Array.isArray(next.rank)) { + next.rank = next.rank.map((entry: any) => ({ + value: entry?.value, + count: entry?.count ?? entry?.frequency ?? 0, + })) + } + + return next +} + +export const scenarioMetricsMapFamily = atomFamily< + string, + Atom>> +>((runId: string) => { + return eagerAtom>>((get) => { + // Explicitly depend on refresh signal to ensure reactivity + const refresh = get(runMetricsRefreshFamily(runId)) + + const arr = get(runMetricsFamily(runId)) as any[] + + if (!arr) { + return {} + } + + const cached = scenarioMetricsCache.get(arr) + if (cached && refresh === 0) { + return cached + } + + const map: Record> = {} + arr.forEach((entry: any, index: number) => { + const sid = entry?.scenarioId || entry?.scenario_id || entry?.scenarioID || entry?.id + if (!sid) { + return + } + // The data might already be processed/flattened or still nested + const rawData = entry?.data || {} + + // Check if data is already flat (has direct metric values) or nested (has variant objects) + const firstNonEmptyKey = Object.keys(rawData).find((key) => { + const value = rawData[key] + return ( + value !== null && + value !== undefined && + (typeof value === "object" ? Object.keys(value).length > 0 : true) + ) + }) + + // If you want the first non-empty value: + const firstValue = firstNonEmptyKey ? rawData[firstNonEmptyKey] : undefined + const isAlreadyFlat = + typeof firstValue === "number" || + (typeof firstValue === "object" && (firstValue?.mean || firstValue?.unique)) + + if (isAlreadyFlat) { + // Data is already flat, ensure canonical aliases are present + const normalized: Record = {...rawData} + Object.keys(rawData).forEach((rawKey) => { + normalized[rawKey] = normalizeStatValue(normalized[rawKey]) + const canonical = canonicalizeMetricKey(rawKey) + if (canonical !== rawKey && normalized[canonical] === undefined) { + normalized[canonical] = normalizeStatValue(rawData[rawKey]) + } + }) + map[String(sid)] = normalized + } else { + // Data is nested, process it + const processedData: Record = {} + + // Extract metrics from all variants (usually just one) + Object.values(rawData).forEach((variantData: any) => { + if (variantData && typeof variantData === "object") { + Object.entries(variantData).forEach( + ([metricKey, metricValue]: [string, any]) => { + // Extract the mean value from metric objects like {"mean": 0.000059} + const value = metricValue?.mean ?? metricValue + + // Apply key mapping for common metrics + let mappedKey = metricKey + if (metricKey === "costs.total") mappedKey = "totalCost" + else if (metricKey === "tokens.total") mappedKey = "totalTokens" + else if (metricKey === "tokens.prompt") mappedKey = "promptTokens" + else if (metricKey === "tokens.completion") + mappedKey = "completionTokens" + + const canonical = canonicalizeMetricKey(mappedKey) + processedData[mappedKey] = normalizeStatValue(value) + if (canonical !== mappedKey) { + processedData[canonical] = processedData[canonical] ?? value + } + }, + ) + } + }) + + map[String(sid)] = processedData + } + }) + + scenarioMetricsCache.set(arr, map) + return map + }) +}, deepEqual) + +/** + * Run-scoped scenario metrics selector + * Returns a single metric primitive for a given scenario without triggering wide re-renders. + * Specialized for the case where you only need a single metric value. like table cells + */ +export const scenarioMetricSelectorFamily = atomFamily< + {runId: string; scenarioId: string}, + Atom>> +>(({runId, scenarioId}) => { + return selectAtom(scenarioMetricsMapFamily(runId), (s) => s?.[scenarioId], deepEqual) +}, deepEqual) + +/** + * Run-scoped single metric value selector + * Mirrors the legacy scenarioMetricValueFamily but adds runId and optional stepSlug support. + * Returns a single metric primitive for a given scenario without triggering wide re-renders. + */ +export const scenarioMetricValueFamily = atomFamily( + ({ + runId, + scenarioId, + metricKey, + stepSlug, + }: { + runId: string + scenarioId: string + metricKey: string + stepSlug?: string + }) => + selectAtom( + scenarioMetricsMapFamily(runId), + (map) => { + const metrics = map?.[scenarioId] || {} + + const buildCandidateKeys = (base: string): string[] => { + const candidates: string[] = [] + const push = (candidate?: string) => { + if (!candidate) return + if (candidates.includes(candidate)) return + candidates.push(candidate) + } + + push(base) + const slug = stepSlug || base.split(".")[0] + const withoutSlug = + slug && base.startsWith(`${slug}.`) ? base.slice(slug.length + 1) : base + + if (slug) { + push(`${slug}.${withoutSlug}`) + push(`${slug}.attributes.ag.data.outputs.${withoutSlug}`) + push(`${slug}.attributes.ag.metrics.${withoutSlug}`) + } + + push(`attributes.ag.data.outputs.${withoutSlug}`) + push(`attributes.ag.metrics.${withoutSlug}`) + + return candidates + } + + const needsPrefix = Boolean(stepSlug && !metricKey.startsWith(`${stepSlug}.`)) + const key = needsPrefix ? `${stepSlug}.${metricKey}` : metricKey + const candidateKeys = Array.from( + new Set([...buildCandidateKeys(metricKey), ...buildCandidateKeys(key)]), + ) + + for (const candidate of candidateKeys) { + const resolved = getMetricValueWithAliases(metrics, candidate) + if (resolved !== undefined) return resolved + } + return undefined + }, + deepEqual, + ), +) + +// Helper function to trigger metric fetch for a specific runId +export const triggerMetricsFetch = (targetRunId: string) => { + const store = evalAtomStore() + store.set(runMetricsRefreshFamily(targetRunId), (prev) => prev + 1) +} + +/** + * Run-scoped metrics prefetch attachment + * This replaces the legacy attachRunMetricsPrefetch for multi-run support + */ +export function attachRunMetricsPrefetchForRun( + runId: string, + store: ReturnType, +) { + const fetched = new Set() + + // Subscribe to changes in evaluation run state for this specific run + const unsubscribe = store.sub(evaluationRunStateFamily(runId), () => { + const state = store.get(evaluationRunStateFamily(runId)) + const currentRunId = runId + + if (!currentRunId) { + return + } + + if (!state?.enrichedRun?.evaluators) { + return // wait until evaluators are loaded + } + + // Check if metrics are already cached using the actual currentRunId + const cached = store.get(runMetricsCacheFamily(currentRunId)) + if (cached && cached.length > 0) { + if (!fetched.has(currentRunId)) { + fetched.add(currentRunId) // Mark as fetched since cache exists + } + return + } + + // Check if we're already in the process of fetching + if (fetched.has(currentRunId)) { + return + } + + fetched.add(currentRunId) + + // Trigger metrics fetch for the actual currentRunId + triggerMetricsFetch(currentRunId) + }) + + return unsubscribe +} + +/** + * Run-scoped metric data family + * This replaces the legacy metricDataFamily for multi-run support + * Returns { value, distInfo } for a specific metric key on a scenario within a run + */ +export const runScopedMetricDataFamily = atomFamily( + ({ + runId, + scenarioId, + stepSlug, + metricKey, + }: { + runId: string + scenarioId: string + stepSlug?: string + metricKey: string + }) => + eagerAtom<{value: any; distInfo?: any}>((get) => { + // Get the scenario metrics map for this run + const scenarioMetricsMap = get(scenarioMetricsMapFamily(runId)) + // Get the metrics for this specific scenario + const scenarioMetrics = scenarioMetricsMap[scenarioId] + + if (!scenarioMetrics) { + return {value: undefined, distInfo: undefined} + } + + const metricPath = stepSlug ? `${stepSlug}.${metricKey}` : metricKey + + const buildCandidateKeys = (base: string): string[] => { + const candidates: string[] = [] + const push = (candidate?: string) => { + if (!candidate) return + if (candidates.includes(candidate)) return + candidates.push(candidate) + } + + push(base) + + const slug = stepSlug || base.split(".")[0] + const withoutSlug = + slug && base.startsWith(`${slug}.`) ? base.slice(slug.length + 1) : base + + if (slug) { + push(`${slug}.${withoutSlug}`) + push(`${slug}.attributes.ag.data.outputs.${withoutSlug}`) + push(`${slug}.attributes.ag.metrics.${withoutSlug}`) + } + + push(`attributes.ag.data.outputs.${withoutSlug}`) + push(`attributes.ag.metrics.${withoutSlug}`) + + return candidates + } + + const candidateKeys = Array.from( + new Set([...buildCandidateKeys(metricKey), ...buildCandidateKeys(metricPath)]), + ) + + const resolveFromSource = (source?: Record) => { + if (!source) return undefined + for (const candidate of candidateKeys) { + const resolved = getMetricValueWithAliases(source, candidate) + if (resolved !== undefined) return resolved + } + return undefined + } + + const value = resolveFromSource(scenarioMetrics) + + // Get distribution info from stats cache (if available) + const statsCache = get(runMetricsStatsCacheFamily(runId)) + const distInfo = resolveFromSource(statsCache) + + return {value, distInfo} + }), +) + +// Cache for computed stats maps (adds binSize lazily) to preserve identity per raw object +const computedStatsCache = new WeakMap, Record>() + +// Atom family to read the entire stats map for a run, lazily adding binSize per entry. +// IMPORTANT: It also subscribes to runMetricsFamily(runId) to ensure that refresh triggers +// fetching even when only stats are being read by the UI. +export const runMetricStatsFamily = atomFamily( + ({runId}: {runId: string}) => + eagerAtom>((get) => { + // Wire up to metrics array to drive fetching on refresh + // This ensures that setting runMetricsRefreshFamily(runId) will cause + // runMetricsFamily(runId) to evaluate and kick off the background fetch. + // We ignore its value here and continue to return the stats map. + get(runMetricsFamily(runId)) + + const obj = get(runMetricsStatsCacheFamily(runId)) as Record + if (!obj) return obj + + const cached = computedStatsCache.get(obj) + if (cached) return cached + + let mutated = false + const result: Record = {} + for (const [key, s] of Object.entries(obj)) { + if ( + s && + (s as any).binSize === undefined && + (s as any).distribution && + (s as any).distribution.length + ) { + const bins = (s as any).distribution.length + const range = ((s as any).max ?? 0) - ((s as any).min ?? 0) + result[key] = { + ...(s as any), + binSize: bins ? (range !== 0 ? range / bins : 1) : 1, + } as BasicStats + mutated = true + } else { + result[key] = s as BasicStats + } + } + + const finalMap = mutated ? result : obj + // memoize for this raw object identity + computedStatsCache.set(obj, finalMap) + return finalMap + }), + deepEqual, +) diff --git a/web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/runScopedScenarios.ts b/web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/runScopedScenarios.ts new file mode 100644 index 0000000000..61a77a362d --- /dev/null +++ b/web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/runScopedScenarios.ts @@ -0,0 +1,376 @@ +import deepEqual from "fast-deep-equal" +import {Atom, atom} from "jotai" +import {atomFamily, loadable} from "jotai/utils" +import {Loadable} from "jotai/vanilla/utils/loadable" +import {atomWithImmer} from "jotai-immer" + +import {urlStateAtom} from "@/oss/components/EvalRunDetails/state/urlState" +import {getAgentaApiUrl} from "@/oss/lib/helpers/api" +import { + evalAtomStore, + evalScenarioFilterAtom, +} from "@/oss/lib/hooks/useEvaluationRunData/assets/atoms" +import {getJWT} from "@/oss/services/api" +import {getProjectValues} from "@/oss/state/project" + +import {UseEvaluationRunScenarioStepsFetcherResult} from "../../../useEvaluationRunScenarioSteps/types" +import {fetchScenarioListViaWorker} from "../helpers/fetchScenarioListViaWorker" +import {fetchScenarioViaWorkerAndCache} from "../helpers/fetchScenarioViaWorker" + +import {scenarioStatusAtomFamily} from "./progress" +import {bulkStepsStatusFamily, enrichedRunFamily, evaluationRunStateFamily} from "./runScopedAtoms" + +/** + * Run-scoped scenario atoms + * + * These atoms replace the global scenario atoms and are scoped to specific evaluation runs. + * Each atom family is keyed by runId, allowing multiple evaluation runs to have + * independent scenario state. + */ + +// Atom family to force refetch of scenario steps - now scoped by runId +export const scenarioStepRefreshFamily = atomFamily( + (params: {runId: string; scenarioId: string}) => atom(0), + deepEqual, +) + +// Per-scenario local cache that can be mutated independently - now scoped by runId +export const scenarioStepLocalFamily = atomFamily( + (params: {runId: string; scenarioId: string}) => + atomWithImmer({}), + deepEqual, +) + +// Deduplicate in-flight fetches for scenario steps - now per runId +const scenarioStepInFlightMap = new Map>>() + +export const scenarioStepFamily = atomFamily< + {runId: string; scenarioId: string}, + Atom> +>((params) => { + const {runId, scenarioId} = params + return atom(async (get): Promise => { + // Depend on refresh version so that incrementing it triggers refetch + const refresh = get(scenarioStepRefreshFamily(params)) + + // Access data directly from run-scoped atom instead of derived atoms + const runState = get(evaluationRunStateFamily(runId)) + const evaluation = runState?.enrichedRun + const runIndex = runState?.runIndex + + const testsetData = evaluation?.testsets?.[0] + if (!runId || !evaluation || !testsetData || !runIndex) { + console.warn( + `[scenarioStepFamily] Missing runId/evaluation/testsetData for ${scenarioId}`, + ) + return undefined + } + + // Wait if bulk fetch in-flight to avoid duplicate per-scenario fetches + const status = get(bulkStepsStatusFamily(runId)) + if (status === "loading") { + while (get(bulkStepsStatusFamily(runId)) === "loading") { + await new Promise((r) => setTimeout(r, 16)) + } + } + + const fetchParams = { + runId, + evaluation, + runIndex, + } + + // Get or create in-flight map for this runId + if (!scenarioStepInFlightMap.has(runId)) { + scenarioStepInFlightMap.set(runId, new Map()) + } + const inFlightMap = scenarioStepInFlightMap.get(runId)! + + // Local cached value first + const local = get(scenarioStepLocalFamily(params)) + if (local && Object.keys(local).length > 0) { + if (refresh > 0 && !inFlightMap.has(scenarioId)) { + const bgPromise = (async () => { + await fetchScenarioViaWorkerAndCache(fetchParams, [scenarioId]) + evalAtomStore().set(scenarioStepRefreshFamily(params), 0) + })() + inFlightMap.set(scenarioId, bgPromise) + bgPromise.finally(() => inFlightMap.delete(scenarioId)) + } + return local + } + + // Fallback to bulk cache - return undefined if not cached + return undefined + }) +}, deepEqual) + +// Loadable version of scenario step family - scoped by runId +export const loadableScenarioStepFamily = atomFamily( + (params: {runId: string; scenarioId: string}) => loadable(scenarioStepFamily(params)), + deepEqual, +) + +// Scenarios atom - scoped by runId +export const scenariosFamily = atomFamily( + (runId: string) => + atom((get) => { + const state = get(evaluationRunStateFamily(runId)) + const scenarios = state.scenarios || [] + return scenarios + }), + deepEqual, +) + +// Scenario IDs atom - scoped by runId +export const scenarioIdsFamily = atomFamily( + (runId: string) => + atom((get) => { + const scenarios = get(scenariosFamily(runId)) + return scenarios.map((s) => s.id) + }), + deepEqual, +) + +// Total count atom - scoped by runId +export const totalCountFamily = atomFamily( + (runId: string) => + atom((get) => { + const scenarios = get(scenariosFamily(runId)) + return scenarios.length + }), + deepEqual, +) + +// Scenario steps atom - aggregates all scenario steps for a run +export const scenarioStepsFamily = atomFamily( + (runId: string) => + atom((get) => { + const scenarioIds = get(scenarioIdsFamily(runId)) + const stepsMap: Record< + string, + Loadable + > = {} + + scenarioIds.forEach((scenarioId) => { + stepsMap[scenarioId] = get(loadableScenarioStepFamily({runId, scenarioId})) + }) + + return stepsMap + }), + deepEqual, +) + +// Displayed scenario IDs with filtering - scoped by runId +export const displayedScenarioIdsFamily = atomFamily( + (runId: string) => + atom((get) => { + const scenarios = get(scenariosFamily(runId)) + const scenarioIds = scenarios.map((s: any) => s.id || s._id) + + // Get the current filter value from the global filter atom + // Note: evalScenarioFilterAtom is global but that's OK since filter preference is shared across runs + const filter = get(evalScenarioFilterAtom) + + // If filter is "all", return all scenarios + if (filter === "all") { + return scenarioIds + } + + // Filter scenarios based on their status + const filteredScenarioIds = scenarioIds.filter((scenarioId: string) => { + const statusData = get(scenarioStatusAtomFamily({scenarioId, runId})) + const status = statusData?.status || "pending" + + switch (filter) { + case "pending": + return status === "pending" || status === "revalidating" + case "unannotated": + return status === "incomplete" + case "failed": + return status === "failure" + default: + return true + } + }) + return filteredScenarioIds + }), + deepEqual, +) + +/** + * Helper functions for run-scoped scenario operations + */ + +// Revalidate scenario function - now requires runId +export async function revalidateScenarioForRun( + runId: string, + scenarioId: string, + store: ReturnType, + updatedSteps?: UseEvaluationRunScenarioStepsFetcherResult["steps"], +) { + // Apply optimistic override if requested + if (updatedSteps) { + // Apply optimistic updates to maintain continuous loading state + store.set(scenarioStepLocalFamily({runId, scenarioId}), (draft: any) => { + if (!draft) return draft + updatedSteps.forEach((updatedStep) => { + const targetStep = + draft.invocationSteps?.find((s: any) => s.stepKey === updatedStep.stepKey) || + draft.inputSteps?.find((s: any) => s.stepKey === updatedStep.stepKey) || + draft.annotationSteps?.find((s: any) => s.stepKey === updatedStep.stepKey) + if (!targetStep) return + // Merge updated step data + Object.entries(updatedStep).forEach(([k, v]) => { + // @ts-ignore – dynamic merge + targetStep[k] = v as any + }) + }) + return draft + }) + } + + // Bump refresh counter so the specific scenario refetches + try { + store.set(scenarioStepRefreshFamily({runId, scenarioId}), (v = 0) => v + 1) + } catch (err) { + console.error("[atoms] failed to bump scenario refresh counter", err) + } + + // Return a promise that resolves when the refreshed data is available + return store.get(scenarioStepFamily({runId, scenarioId})) +} + +// Bulk prefetch function for run-scoped scenarios +export function attachBulkPrefetchForRun( + runId: string, + store: ReturnType, +) { + // Subscribe to changes in displayed scenario IDs for this specific run + const unsubscribe = store.sub(displayedScenarioIdsFamily(runId), () => { + const scenarioIds = store.get(displayedScenarioIdsFamily(runId)) + if (scenarioIds.length > 0) { + // Trigger bulk fetch for this specific run + // The bulk fetch logic should work with run-scoped atoms + try { + // Import the bulk fetch function + import("./bulkFetch").then(({runBulkFetch}) => { + runBulkFetch(store, runId, scenarioIds) + }) + } catch (error) { + console.error( + `attachBulkPrefetchForRun: Error triggering bulk fetch for ${runId.slice(0, 8)}:`, + error, + ) + } + } + }) + + return unsubscribe +} + +// Scenario list prefetch function for run-scoped scenarios +// This fetches the scenarios for a run when the enriched run becomes available +export function attachScenarioListPrefetchForRun( + runId: string, + store: ReturnType, +) { + // Subscribe to changes in enriched run for this specific run + const unsubscribe = store.sub(enrichedRunFamily(runId), () => { + const enrichedRun = store.get(enrichedRunFamily(runId)) + const currentScenarios = store.get(scenariosFamily(runId)) + + // Only fetch scenarios if we have an enriched run but no scenarios yet + if (enrichedRun && currentScenarios.length === 0) { + const fetchScenarios = async () => { + try { + const {projectId} = getProjectValues() + const apiUrl = getAgentaApiUrl() + const jwt = await getJWT() + + if (!jwt) { + console.warn( + `[attachScenarioListPrefetchForRun] No JWT available for ${runId}`, + ) + return + } + + const scenarios = await fetchScenarioListViaWorker({ + apiUrl, + jwt, + projectId, + runId, + }) + store.set(evaluationRunStateFamily(runId), (draft: any) => { + draft.scenarios = scenarios.map((s, idx) => ({ + ...s, + scenarioIndex: idx + 1, + })) + }) + } catch (error) { + console.error( + `[attachScenarioListPrefetchForRun] Error fetching scenarios for ${runId}:`, + error, + ) + } + } + + fetchScenarios() + } + }) + + return unsubscribe +} + +// Neighbor prefetch function for run-scoped scenarios +export function attachNeighbourPrefetchForRun( + runId: string, + store: ReturnType, +) { + let lastScenarioId: string | null = null + let latestUrl = store.get(urlStateAtom) + let latestIds = store.get(scenarioIdsFamily(runId)) + + const maybePrefetch = () => { + const {view, scenarioId} = latestUrl + if (view !== "focus" || !scenarioId) return + if (!latestIds.length) return + if (scenarioId === lastScenarioId) return + + const idx = latestIds.indexOf(scenarioId) + if (idx === -1) return + + lastScenarioId = scenarioId + const neighbours = latestIds.filter((_, i) => Math.abs(i - idx) === 1) + const allIds = [scenarioId, ...neighbours] + const toFetch = allIds.filter( + (id) => !store.get(scenarioStepLocalFamily({runId, scenarioId: id})), + ) + if (!toFetch.length) { + return + } + + // Import and use run-scoped bulk fetch + import("./bulkFetch").then(({runBulkFetch}) => { + runBulkFetch(store, runId, toFetch, {force: true}) + }) + } + + // Subscribe to URL changes + const unsubscribeUrl = store.sub(urlStateAtom, () => { + latestUrl = store.get(urlStateAtom) + maybePrefetch() + }) + + // Subscribe to scenario IDs availability/changes for this specific run + const unsubscribeScenarios = store.sub(scenarioIdsFamily(runId), () => { + latestIds = store.get(scenarioIdsFamily(runId)) + maybePrefetch() + }) + + // Return cleanup function that unsubscribes from both subscriptions + return () => { + unsubscribeUrl() + unsubscribeScenarios() + } +} diff --git a/web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/store.ts b/web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/store.ts new file mode 100644 index 0000000000..bb2014fd41 --- /dev/null +++ b/web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/store.ts @@ -0,0 +1,74 @@ +import {createStore, getDefaultStore} from "jotai" + +import {attachRunMetricsPrefetchForRun} from "./runScopedMetrics" +import { + attachBulkPrefetchForRun, + attachNeighbourPrefetchForRun, + attachScenarioListPrefetchForRun, +} from "./runScopedScenarios" + +/** + * Single global Jotai store for all evaluation runs. + * Uses run-scoped atom families instead of multiple stores. + * This is the proper Jotai pattern for multi-entity state management. + */ +const globalStoreKey = "__agenta_globalEvalStore__" + +// Create or retrieve the single global store +function createGlobalStore() { + const store = getDefaultStore() + + return store +} + +// Global singleton store that persists across HMR +const globalStore: ReturnType = + (globalThis as any)[globalStoreKey] || createGlobalStore() +;(globalThis as any)[globalStoreKey] = globalStore + +// Track which runs have been initialized to avoid duplicate subscriptions +const initializedRuns = new Set() + +/** + * Returns the single global Jotai store. + * All evaluation runs use the same store with run-scoped atom families. + */ +export function evalAtomStore(): ReturnType { + return getDefaultStore() +} + +/** + * Initialize a run in the global store. + * This ensures that run-scoped atoms are properly set up for the given runId. + * Sets up run-specific subscriptions for prefetching. + */ +export function initializeRun(runId: string): void { + if (!runId) { + console.warn("[initializeRun] No runId provided") + return + } + + // Avoid duplicate initialization + if (initializedRuns.has(runId)) { + return + } + + // Mark as initialized + initializedRuns.add(runId) + + // Set up run-specific subscriptions for prefetching + // These will work with run-scoped atom families + try { + // Attach scenario list prefetch to fetch scenarios when enriched run is available + attachScenarioListPrefetchForRun(runId, globalStore) + attachBulkPrefetchForRun(runId, globalStore) + attachNeighbourPrefetchForRun(runId, globalStore) + + // Attach metrics prefetch to auto-fetch metrics when evaluators are available + attachRunMetricsPrefetchForRun(runId, globalStore) + } catch (error) { + console.error(`[initializeRun] Error setting up subscriptions for ${runId}:`, error) + // Remove from initialized set if setup failed + initializedRuns.delete(runId) + } +} diff --git a/web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/types.ts b/web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/types.ts new file mode 100644 index 0000000000..bf9f8b7124 --- /dev/null +++ b/web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/types.ts @@ -0,0 +1,16 @@ +// Aggregated scenario counts used in filters +export interface ScenarioCounts { + total: number + pending: number + unannotated: number + failed: number +} + +export interface StatusCounters { + pending: number + running: number + completed: number + cancelled: number + unannotated: number + failed: number +} diff --git a/web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/utils.ts b/web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/utils.ts new file mode 100644 index 0000000000..609da22ebe --- /dev/null +++ b/web/ee/src/lib/hooks/useEvaluationRunData/assets/atoms/utils.ts @@ -0,0 +1,24 @@ +import deepEqual from "fast-deep-equal" +import {Atom, atom} from "jotai" +import {atomFamily} from "jotai/utils" + +import {EvaluatorDto} from "@/oss/lib/hooks/useEvaluators/types" + +import {evaluationRunStateFamily} from "./runScopedAtoms" + +type HumanEvalViewTypes = "focus" | "list" | "table" | "results" +type AutoEvalViewTypes = "overview" | "test-cases" | "prompt" + +// UI atom to track current scenario view type ("focus" or "table") +// export const runViewTypeAtom = atom("focus") + +export const evaluationEvaluatorsFamily = atomFamily( + (runId: string) => + atom((get) => get(evaluationRunStateFamily(runId)).enrichedRun?.evaluators) as Atom< + EvaluatorDto[] + >, + deepEqual, +) + +export type ScenarioFilter = "all" | "pending" | "unannotated" | "failed" +export const evalScenarioFilterAtom = atom("all") diff --git a/web/ee/src/lib/hooks/useEvaluationRunData/assets/constants.ts b/web/ee/src/lib/hooks/useEvaluationRunData/assets/constants.ts new file mode 100644 index 0000000000..4aed7b3526 --- /dev/null +++ b/web/ee/src/lib/hooks/useEvaluationRunData/assets/constants.ts @@ -0,0 +1,25 @@ +import type {EvaluationLoadingState, EvaluationRunState, IStatusMeta} from "../types" + +export const initialState: EvaluationRunState = { + rawRun: undefined, + isPreview: undefined, + enrichedRun: undefined, + isComparison: false, + isBase: false, + compareIndex: undefined, + scenarios: undefined, + statusMeta: {} as IStatusMeta, + steps: undefined, + metrics: undefined, + isLoading: {run: false, scenarios: false, steps: false, metrics: false}, + isError: {run: false, scenarios: false, steps: false, metrics: false}, +} + +export const defaultLoadingState: EvaluationLoadingState = { + isLoadingEvaluation: true, + isLoadingScenarios: false, + isLoadingSteps: false, + isLoadingMetrics: false, + activeStep: null, + scenarioStepProgress: {completed: 0, total: 0, percent: 0}, +} diff --git a/web/ee/src/lib/hooks/useEvaluationRunData/assets/helpers/buildRunIndex.ts b/web/ee/src/lib/hooks/useEvaluationRunData/assets/helpers/buildRunIndex.ts new file mode 100644 index 0000000000..4574658171 --- /dev/null +++ b/web/ee/src/lib/hooks/useEvaluationRunData/assets/helpers/buildRunIndex.ts @@ -0,0 +1,124 @@ +/** + * Step roles we care about in the evaluation workflow. + */ +export type StepKind = "input" | "invocation" | "annotation" + +/** Mapping entry for a single column extracted from a step */ +export interface ColumnDef { + /** Column (human-readable) name e.g. "country" or "outputs" */ + name: string + /** "input" | "invocation" | "annotation" */ + kind: StepKind + /** Optional evaluator metric primitive type ("number", "boolean", etc.) */ + metricType?: string + /** Dot-path used to resolve the value inside the owning step payload / testcase */ + path: string + /** Key of the step that owns this column */ + stepKey: string + /** Unique column key used by UI tables */ + key?: string +} + +/** Metadata we store per step key */ +export interface StepMeta { + key: string + kind: StepKind + /** List of upstream step keys declared in `inputs` */ + upstream: string[] + /** Raw references blob – may contain application, evaluator, etc. */ + refs: Record +} + +export interface RunIndex { + /** Map stepKey -> meta */ + steps: Record + /** Map stepKey -> array of ColumnDefs */ + columnsByStep: Record + /** Convenience sets for quick lookup */ + invocationKeys: Set + annotationKeys: Set + inputKeys: Set +} + +/** + * Build a ready-to-use index for an evaluation run. + * Call this **once** right after fetching the raw run and cache the result. + * The index can then be shared by single-scenario and bulk fetchers. + */ +export function buildRunIndex(rawRun: any): RunIndex { + const steps: Record = {} + const columnsByStep: Record = {} + + // Build evaluator slug->key set later + const evaluatorSlugToId = new Map() + + // 1️⃣ Index steps ------------------------------------------------------- + for (const s of rawRun?.data?.steps ?? []) { + let kind: StepKind = "annotation" + if (s.references?.testset) { + kind = "input" + } else if (s.references?.applicationRevision || s.references?.application) { + kind = "invocation" + } else if (s.references?.evaluator) { + kind = "annotation" + if (s.references.evaluator.slug) { + evaluatorSlugToId.set(s.references.evaluator.slug, s.references.evaluator.id) + } + } + + steps[s.key] = { + key: s.key, + kind, + upstream: (s.inputs ?? []).map((i: any) => i.key), + refs: s.references ?? {}, + } + } + + // 2️⃣ Group column defs by step --------------------------------------- + for (const m of rawRun?.data?.mappings ?? []) { + const colKind: StepKind = + m.column.kind === "testset" + ? "input" + : m.column.kind === "invocation" + ? "invocation" + : "annotation" + const col: ColumnDef = { + name: m.column.name, + kind: colKind, + path: m.step.path, + stepKey: m.step.key, + } + ;(columnsByStep[col.stepKey] ||= []).push(col) + } + + // 3️⃣ Precompute key sets by role ---------------------- + const invocationKeys = new Set() + const annotationKeys = new Set() + const inputKeys = new Set() + + for (const meta of Object.values(steps)) { + if (meta.kind === "invocation") invocationKeys.add(meta.key) + if (meta.kind === "annotation") annotationKeys.add(meta.key) + if (meta.kind === "input") inputKeys.add(meta.key) + } + + return {steps, columnsByStep, invocationKeys, annotationKeys, inputKeys} +} + +export function serializeRunIndex(idx: RunIndex) { + return { + ...idx, + invocationKeys: [...idx.invocationKeys], + annotationKeys: [...idx.annotationKeys], + inputKeys: [...idx.inputKeys], + } +} + +export function deserializeRunIndex(idx: any): RunIndex { + return { + ...idx, + invocationKeys: new Set(idx.invocationKeys), + annotationKeys: new Set(idx.annotationKeys), + inputKeys: new Set(idx.inputKeys), + } +} diff --git a/web/ee/src/lib/hooks/useEvaluationRunData/assets/helpers/fetchScenarioListViaWorker.ts b/web/ee/src/lib/hooks/useEvaluationRunData/assets/helpers/fetchScenarioListViaWorker.ts new file mode 100644 index 0000000000..026e609c2b --- /dev/null +++ b/web/ee/src/lib/hooks/useEvaluationRunData/assets/helpers/fetchScenarioListViaWorker.ts @@ -0,0 +1,48 @@ +import {v4 as uuid} from "uuid" + +import type {IScenario} from "@/oss/lib/hooks/useEvaluationRunScenarios/types" + +// Dynamically imported to avoid main bundle weight +let _worker: Worker | null = null +function getWorker() { + if (!_worker) { + _worker = new Worker( + new URL("@/oss/lib/workers/evalRunner/scenarioListWorker.ts", import.meta.url), + { + type: "module", + }, + ) + } + return _worker +} + +interface Params { + apiUrl: string + jwt: string + projectId: string + runId: string +} + +export async function fetchScenarioListViaWorker( + params: Params, + timeoutMs = 120000, +): Promise { + const worker = getWorker() + const requestId = uuid() + return new Promise((resolve, reject) => { + const handle = (e: MessageEvent) => { + const {requestId: rid, ok, data, error} = e.data + if (rid !== requestId) return + worker.removeEventListener("message", handle) + clearTimeout(timer) + if (ok) resolve(data as IScenario[]) + else reject(new Error(error)) + } + worker.addEventListener("message", handle) + const timer = setTimeout(() => { + worker.removeEventListener("message", handle) + reject(new Error("scenario list worker timeout")) + }, timeoutMs) + worker.postMessage({requestId, payload: params}) + }) +} diff --git a/web/ee/src/lib/hooks/useEvaluationRunData/assets/helpers/fetchScenarioViaWorker.ts b/web/ee/src/lib/hooks/useEvaluationRunData/assets/helpers/fetchScenarioViaWorker.ts new file mode 100644 index 0000000000..667b7858ba --- /dev/null +++ b/web/ee/src/lib/hooks/useEvaluationRunData/assets/helpers/fetchScenarioViaWorker.ts @@ -0,0 +1,184 @@ +import {UseEvaluationRunScenarioStepsFetcherResult} from "../../../useEvaluationRunScenarioSteps/types" +import {evalAtomStore} from "../atoms" + +import {buildAuthContext, buildEvalWorkerContext} from "./workerContext" + +/** + * Fetch one or more scenarios' steps via the Web-Worker in bulk and cache the + * results inside `bulkStepsCacheAtom`. + * + * The helper returns the `Map` produced by the worker where each key is a + * `scenarioId` and the value is the enriched steps result for that scenario. + * If the worker fails to return data for a given scenario the entry will be + * missing from the map – callers should handle that case by falling back to a + * direct network request. + */ +// Deduplication cache to prevent multiple simultaneous calls for the same run +const inFlightFetches = new Map< + string, + Promise> +>() + +export const fetchScenarioViaWorkerAndCache = async ( + params: { + runId: string + evaluation: any + runIndex: any + }, + scenarioIds: string[], +): Promise> => { + // Safety checks for parameters + if (!params || !params.runId) { + return new Map() + } + + // Ensure scenarioIds is an array + const scenarioIdsArray = Array.isArray(scenarioIds) ? scenarioIds : [] + const cacheKey = `${params.runId}-${scenarioIdsArray.join(",")}` + + if (scenarioIdsArray.length === 0) { + return new Map() + } + + // Check if there's already an in-flight fetch for this exact request + if (inFlightFetches.has(cacheKey)) { + return inFlightFetches.get(cacheKey)! + } + + // Create the promise and cache it immediately + const fetchPromise = performFetch(params, scenarioIdsArray) + inFlightFetches.set(cacheKey, fetchPromise) + + try { + const result = await fetchPromise + return result + } finally { + // Clean up the cache entry when done + inFlightFetches.delete(cacheKey) + } +} + +const performFetch = async ( + params: { + runId: string + evaluation: any + runIndex: any + }, + scenarioIds: string[], +): Promise> => { + // Import run-scoped atoms at the top level + + const {scenarioStepLocalFamily: runScopedLocalFamily} = await import( + "../atoms/runScopedScenarios" + ) + + let context + try { + context = buildEvalWorkerContext({ + runId: params.runId, + evaluation: params.evaluation, + runIndex: params.runIndex, + }) + } catch (error) { + throw error + } + + const {jwt, apiUrl, projectId} = await buildAuthContext() + const {fetchStepsViaWorker} = await import( + "@/agenta-oss-common/lib/workers/evalRunner/bulkWorker" + ) + + const store = evalAtomStore() + + // Create a map to collect processed data for return + const processedResults = new Map() + + await fetchStepsViaWorker({ + context: { + ...context, + jwt, + apiUrl, + projectId, + }, + scenarioIds, + onChunk: (chunk) => { + chunk.forEach((val, key) => { + // Save to individual scenario atoms + store.set(runScopedLocalFamily({runId: params.runId, scenarioId: key}), (draft) => { + if (!draft) { + draft = { + steps: [], + annotationSteps: [], + invocationSteps: [], + inputSteps: [], + } + } + + // Store existing optimistic step statuses before overwriting + const preserveOptimisticStatuses = (existingSteps: any[], newSteps: any[]) => { + if (!existingSteps || !newSteps) return newSteps + + const shouldHoldOptimistic = ( + existingStatus: string, + serverStatus?: string, + ) => { + if (!existingStatus) return false + const optimisticStates = ["running", "revalidating"] + if (!optimisticStates.includes(existingStatus)) return false + + if (!serverStatus) return true + + // Only keep optimistic states while the server still reports a non-final status + const transitionalStates = new Set([ + "pending", + "running", + "annotating", + "revalidating", + ]) + + return transitionalStates.has(serverStatus) + } + + return newSteps.map((newStep: any) => { + const existingStep = existingSteps.find( + (s: any) => s.stepKey === newStep.stepKey, + ) + if ( + existingStep?.status && + shouldHoldOptimistic(existingStep.status, newStep.status) + ) { + return {...newStep, status: existingStep.status} + } + return newStep + }) + } + + // Merge server data while preserving optimistic statuses + for (const [k, v] of Object.entries(val)) { + if ( + k === "invocationSteps" || + k === "annotationSteps" || + k === "inputSteps" + ) { + ;(draft as any)[k] = preserveOptimisticStatuses( + (draft as any)[k], + v as any[], + ) + } else { + ;(draft as any)[k] = v + } + } + }) + + // Also collect the processed data for bulk cache return + processedResults.set(key, { + state: "hasData", + data: val, + }) + }) + }, + }) + + // Return the aggregated results map so callers receive data + return processedResults +} diff --git a/web/ee/src/lib/hooks/useEvaluationRunData/assets/helpers/scenarioFilters.ts b/web/ee/src/lib/hooks/useEvaluationRunData/assets/helpers/scenarioFilters.ts new file mode 100644 index 0000000000..6b5aef797f --- /dev/null +++ b/web/ee/src/lib/hooks/useEvaluationRunData/assets/helpers/scenarioFilters.ts @@ -0,0 +1,66 @@ +import {Getter} from "jotai" +import {loadable} from "jotai/utils" + +import {IScenario} from "@/oss/lib/hooks/useEvaluationRunScenarios/types" + +import {scenarioStatusFamily} from "../atoms/progress" +import {scenarioStepFamily} from "../atoms/runScopedScenarios" + +export type ScenarioFilter = "all" | "pending" | "failed" | "unannotated" + +/** + * Determine whether a scenario matches the active filter. + * + * All atoms that need scenario filtering (counts, displayed list, etc.) should + * use this utility to guarantee that numbers and UI stay in sync. + */ +export const scenarioMatchesFilter = ( + get: Getter, + scenario: IScenario, + filter: ScenarioFilter, + runId: string, +): boolean => { + if (filter === "all") return true + + const scenarioId = (scenario as any).id || (scenario as any)._id + + if (filter === "pending") { + const statusLoad = get(loadable(scenarioStatusFamily({runId, scenarioId}))) + if (statusLoad.state !== "hasData") return true // treat unknown as pending while loading + const st = statusLoad.data.status + return ["pending", "running", "initialized", "started"].includes(st) + } + + if (filter === "failed") { + const statusLoad = get(loadable(scenarioStatusFamily({runId, scenarioId}))) + if (statusLoad.state !== "hasData") return false + const st = statusLoad.data.status + return st === "failure" || st === "error" + } + + if (filter === "unannotated") { + const stepLoad = get(loadable(scenarioStepFamily({runId, scenarioId}))) + if (stepLoad.state !== "hasData") return true // include while loading + const data = stepLoad.data + const hasAnn = + Array.isArray(data?.annotationSteps) && + data.annotationSteps.length > 0 && + data.annotationSteps.every((s: any) => !!s?.annotation) + const allInvSucceeded = + Array.isArray(data?.invocationSteps) && + data.invocationSteps.every((s) => s.status === "success") + return allInvSucceeded && !hasAnn + } + + return true +} + +export const filterScenarios = ( + get: Getter, + scenarios: IScenario[], + filter: ScenarioFilter, + runId: string, +): IScenario[] => { + if (!filter || filter === "all") return scenarios + return scenarios.filter((s) => scenarioMatchesFilter(get, s, filter, runId)) +} diff --git a/web/ee/src/lib/hooks/useEvaluationRunData/assets/helpers/workerContext/index.ts b/web/ee/src/lib/hooks/useEvaluationRunData/assets/helpers/workerContext/index.ts new file mode 100644 index 0000000000..5328207590 --- /dev/null +++ b/web/ee/src/lib/hooks/useEvaluationRunData/assets/helpers/workerContext/index.ts @@ -0,0 +1,145 @@ +import {getDefaultStore} from "jotai" + +import {getAgentaApiUrl} from "@/oss/lib/helpers/api" +import {EnrichedEvaluationRun} from "@/oss/lib/hooks/usePreviewEvaluations/types" +import {transformToRequestBody} from "@/oss/lib/shared/variant/transformer/transformToRequestBody" +import type {WorkspaceMember} from "@/oss/lib/Types" +import {getJWT} from "@/oss/services/api" +import {currentAppAtom} from "@/oss/state/app" +import {currentAppContextAtom} from "@/oss/state/app/selectors/app" +import {transformedPromptsAtomFamily} from "@/oss/state/newPlayground/core/prompts" +import {requestSchemaMetaAtomFamily} from "@/oss/state/newPlayground/core/requestSchemaMeta" +import {getOrgValues} from "@/oss/state/org" +import {getProjectValues} from "@/oss/state/project" +import {appUriInfoAtom, appSchemaAtom} from "@/oss/state/variant/atoms/fetcher" + +import {RunIndex} from "../buildRunIndex" + +import {EvalWorkerContextBase, WorkerAuthContext} from "./types" + +/** + * Build the evaluation-specific context for a worker fetch based on the current jotai store state. + */ +export const buildEvalWorkerContext = (params: { + runId: string + evaluation: EnrichedEvaluationRun + runIndex: RunIndex +}): EvalWorkerContextBase => { + const {selectedOrg} = getOrgValues() + const members = (selectedOrg?.default_workspace?.members as WorkspaceMember[]) || [] + + const store = getDefaultStore() + const appType = store.get(currentAppAtom)?.app_type + + const chatVariantIds: string[] = (params.evaluation?.variants || []) + .filter(Boolean) + .map((v: any) => { + const routePath = store.get(appUriInfoAtom)?.routePath + const meta = store.get(requestSchemaMetaAtomFamily({variant: v as any, routePath})) + return meta?.hasMessages ? (v as any).id : undefined + }) + .filter(Boolean) as string[] + + // Build a stable parameters map per revision using transformedPromptsAtomFamily(useStableParams) + const parametersByRevisionId: Record = {} + const revisionIds = (params.evaluation?.variants || []) + .map((v: any) => v?.id) + .filter(Boolean) as string[] + for (const rid of revisionIds) { + const stable = store.get( + transformedPromptsAtomFamily({revisionId: rid, useStableParams: true}), + ) + if (stable) parametersByRevisionId[rid] = stable + } + + return { + runId: params.runId, + mappings: params.evaluation?.data?.mappings ?? [], + members, + appType, + evaluators: params.evaluation?.evaluators || [], + testsets: params.evaluation?.testsets || [], + variants: (params.evaluation?.variants || []).map((v) => { + try { + const routePath = store.get(appUriInfoAtom)?.routePath + const spec = store.get(appSchemaAtom) + const meta = store.get(requestSchemaMetaAtomFamily({variant: v as any, routePath})) + // Custom workflow detection: + // - no messages container, and no `inputs` container => top-level custom inputs + // Completion apps usually have `inputs`; treat them as non-custom. + const hasInputsContainer = Array.isArray(meta?.inputKeys) + ? meta.inputKeys.includes("inputs") + : false + const isCustom = Boolean(!meta?.hasMessages && !hasInputsContainer) + const appType = (store.get(currentAppContextAtom)?.appType as any) || undefined + const rid = (v as any)?.id as string | undefined + const stableOptional = rid + ? store.get( + transformedPromptsAtomFamily({ + revisionId: rid, + useStableParams: true, + }), + ) + : undefined + return { + ...v, + isCustom, + // precompute optionalParameters to avoid metadata lookup in worker + optionalParameters: + stableOptional || + transformToRequestBody({ + variant: v, + isChat: meta?.hasMessages, + isCustom, + appType, + spec: spec as any, + routePath, + }), + } + } catch { + return { + ...v, + optionalParameters: transformToRequestBody({ + variant: v, + appType: + ((() => { + try { + return store.get(currentAppContextAtom)?.appType as any + } catch { + return undefined + } + })() as any) || undefined, + spec: ((): any => { + try { + return store.get(appSchemaAtom) + } catch { + return undefined + } + })(), + routePath: ((): any => { + try { + return store.get(appUriInfoAtom)?.routePath + } catch { + return undefined + } + })(), + }), + } + } + }), + runIndex: params.runIndex, + chatVariantIds, + uriObject: store.get(appUriInfoAtom) || undefined, + parametersByRevisionId, + } +} + +/** + * Resolve JWT, apiUrl and projectId in a single place. + */ +export const buildAuthContext = async (): Promise => { + const jwt = (await getJWT()) || "" + const apiUrl = getAgentaApiUrl() + const {projectId} = getProjectValues() ?? "" + return {jwt, apiUrl, projectId} +} diff --git a/web/ee/src/lib/hooks/useEvaluationRunData/assets/helpers/workerContext/types.ts b/web/ee/src/lib/hooks/useEvaluationRunData/assets/helpers/workerContext/types.ts new file mode 100644 index 0000000000..55296ce340 --- /dev/null +++ b/web/ee/src/lib/hooks/useEvaluationRunData/assets/helpers/workerContext/types.ts @@ -0,0 +1,31 @@ +import type {EvaluatorDto} from "@/oss/lib/hooks/useEvaluators/types" +import {EnhancedVariant} from "@/oss/lib/shared/variant/transformer/types" +import type {PreviewTestSet, WorkspaceMember} from "@/oss/lib/Types" + +import {RunIndex} from "../buildRunIndex" + +/** + * Minimal context object that the evaluation worker expects for enrichment. + * It purposefully contains only clone-safe data (no functions, Dates, etc.). + */ +export interface EvalWorkerContextBase { + runId: string + mappings: unknown[] + members: WorkspaceMember[] + evaluators: EvaluatorDto[] + testsets: PreviewTestSet[] + variants: EnhancedVariant[] + runIndex: RunIndex + uriObject?: {runtimePrefix: string; routePath?: string} + /** Stable transformed parameters keyed by revision id */ + parametersByRevisionId?: Record +} + +/** + * Authentication / environment info passed separately to the worker. + */ +export interface WorkerAuthContext { + jwt: string + apiUrl: string + projectId: string +} diff --git a/web/ee/src/lib/hooks/useEvaluationRunData/index.ts b/web/ee/src/lib/hooks/useEvaluationRunData/index.ts new file mode 100644 index 0000000000..dd333d153c --- /dev/null +++ b/web/ee/src/lib/hooks/useEvaluationRunData/index.ts @@ -0,0 +1,272 @@ +import {useCallback, useMemo} from "react" + +import deepEqual from "fast-deep-equal" +import {type WritableDraft} from "immer" +import {atom, useAtomValue, useSetAtom} from "jotai" +import {selectAtom} from "jotai/utils" +import useSWR from "swr" + +import {evalTypeAtom} from "@/oss/components/EvalRunDetails/state/evalType" +import {useAppId} from "@/oss/hooks/useAppId" +import axios from "@/oss/lib/api/assets/axiosConfig" +import {snakeToCamelCaseKeys} from "@/oss/lib/helpers/casing" +import {isDemo} from "@/oss/lib/helpers/utils" +import useEnrichEvaluationRun from "@/oss/lib/hooks/usePreviewEvaluations/assets/utils" +import {Evaluation, GenericObject, PreviewTestSet} from "@/oss/lib/Types" +import { + fetchAllEvaluationScenarios as fetchAllLegacyAutoEvaluationScenarios, + fetchEvaluation as fetchLegacyAutoEvaluation, +} from "@/oss/services/evaluations/api" +import { + fetchAllLoadEvaluationsScenarios, + fetchLoadEvaluation as fetchLegacyEvaluationData, +} from "@/oss/services/human-evaluations/api" +import {fetchTestset} from "@/oss/services/testsets/api" +import {userAtom} from "@/oss/state/profile/selectors/user" +import {projectIdAtom} from "@/oss/state/project/selectors/project" +import { + prefetchProjectVariantConfigs, + setProjectVariantReferencesAtom, +} from "@/oss/state/projectVariantConfig" + +import {evalAtomStore, evaluationRunStateFamily, loadingStateAtom} from "./assets/atoms" +import {buildRunIndex} from "./assets/helpers/buildRunIndex" +import {collectProjectVariantReferences} from "../usePreviewEvaluations/projectVariantConfigs" + +const fetchLegacyScenariosData = async ( + evaluationId: string, + evaluationObj: Evaluation, + type: "auto" | "human" | null, +): Promise => { + if (type === "auto") { + return fetchAllLegacyAutoEvaluationScenarios(evaluationId) + } else { + return new Promise((resolve) => { + fetchAllLoadEvaluationsScenarios(evaluationId, evaluationObj).then((data) => { + resolve( + data.map((item: GenericObject) => { + const numericScore = parseInt(item.score) + return {...item, score: isNaN(numericScore) ? null : numericScore} + }), + ) + }) + }) + } +} + +/** + * Hook to manage and fetch evaluation run data and scenarios. + * + * This hook supports both preview and legacy evaluation runs, providing + * functionality to fetch, enrich, and manage the state of evaluation data. + * It utilizes SWR for data fetching and caching, and Jotai for state management. + * + * @param {string | null} evaluationTableId - The ID of the evaluation table to fetch data for. + * @param {boolean} [debug=false] - Flag for enabling debug mode, which might provide additional logging or behavior. + * @param {() => void} [onScenariosLoaded] - Optional callback to be invoked when scenarios are successfully loaded. + * + * @returns {object} An object containing SWR mutate functions and methods to refetch evaluation and scenarios data. + */ +const useEvaluationRunData = (evaluationTableId: string | null, debug = false, runId?: string) => { + const evalType = useAtomValue(evalTypeAtom) + const routeAppId = useAppId() + // Get isPreview from run-scoped atom if runId is available + const isPreviewSelector = useCallback((state: any) => state.isPreview, []) + const isPreview = useAtomValue( + useMemo(() => { + if (!runId) return atom(false) + return selectAtom(evaluationRunStateFamily(runId), isPreviewSelector, deepEqual) + }, [runId, isPreviewSelector]), + ) + + const projectId = useAtomValue(projectIdAtom) + const setProjectVariantReferences = useSetAtom(setProjectVariantReferencesAtom) + const user = useAtomValue(userAtom) + const requireUser = isDemo() + const enrichRun = useEnrichEvaluationRun({debug, evalType}) + + // New fetcher for preview runs that fetches and enriches with testsetData + const fetchAndEnrichPreviewRun = useCallback(async () => { + if (!evaluationTableId || !projectId || (requireUser && !user?.id)) { + evalAtomStore().set(loadingStateAtom, (draft) => { + draft.isLoadingEvaluation = false + draft.activeStep = null + }) + return null + } + + evalAtomStore().set(loadingStateAtom, (draft) => { + draft.isLoadingEvaluation = true + draft.activeStep = "eval-run" + }) + + try { + const runRes = await axios.get( + `/preview/evaluations/runs/${evaluationTableId}?project_id=${projectId}`, + ) + const rawRun = snakeToCamelCaseKeys(runRes.data?.run) + const runIndex = buildRunIndex(rawRun) + + const testsetIds = Array.from( + Object.values(runIndex.steps || {}) + .map((m: any) => m?.refs?.testset?.id) + .filter(Boolean) + .reduce((acc: Set, id: string) => acc.add(id), new Set()), + ) as string[] + + const fetchedTestsets = ( + await Promise.all( + testsetIds.map((tid) => fetchTestset(tid, true).catch(() => null)), + ) + ).filter(Boolean) as PreviewTestSet[] + + if (!fetchedTestsets.length) { + evalAtomStore().set( + evaluationRunStateFamily(runId || evaluationTableId), + (draft: any) => { + draft.rawRun = runRes.data?.run + draft.enrichedRun = rawRun + draft.runIndex = runIndex + draft.isPreview = true + }, + ) + return rawRun + } + + if (!rawRun) { + if (runId) { + evalAtomStore().set(evaluationRunStateFamily(runId), (draft) => { + draft.isPreview = false + }) + } + return null + } + + const enrichedRun = enrichRun ? enrichRun(rawRun, fetchedTestsets, runIndex) : null + if (enrichedRun && (runId || evaluationTableId)) { + const effectiveRunId = runId || evaluationTableId + evalAtomStore().set( + evaluationRunStateFamily(effectiveRunId), + (draft: WritableDraft) => { + draft.rawRun = runRes.data?.run + draft.isPreview = true + draft.enrichedRun = enrichedRun + draft.runIndex = runIndex + }, + ) + } + + if (!routeAppId && projectId && enrichedRun) { + const references = collectProjectVariantReferences([enrichedRun], projectId) + setProjectVariantReferences(references) + prefetchProjectVariantConfigs(references) + } + + return enrichedRun + } catch (error: any) { + if (axios.isCancel?.(error) || error?.code === "ERR_CANCELED") { + return null + } + throw error + } finally { + evalAtomStore().set(loadingStateAtom, (draft) => { + draft.isLoadingEvaluation = false + draft.activeStep = null + }) + } + }, [enrichRun, evaluationTableId, projectId, runId, user?.id, requireUser]) + + const swrKey = + !!enrichRun && evaluationTableId && (!requireUser || !!user?.id) + ? [ + "previewRun", + evaluationTableId, + evalType, + projectId ?? "none", + requireUser ? (user?.id ?? "anon") : "no-user", + ] + : null + + const previewRunSwr = useSWR(swrKey, fetchAndEnrichPreviewRun, { + revalidateIfStale: false, + revalidateOnFocus: false, + revalidateOnReconnect: false, + }) + + // New fetcher for legacy runs that fetches and enriches with testsetData + const fetchAndEnrichLegacyRun = async () => { + const rawRun = + evalType === "auto" + ? await fetchLegacyAutoEvaluation(evaluationTableId as string) + : await fetchLegacyEvaluationData(evaluationTableId as string) + if (!rawRun) return null + + if (evalType === "auto") { + return rawRun + } + + const testsetId = (rawRun?.testset as any)?._id + let testsetData = testsetId ? await fetchTestset(testsetId) : null + + if (testsetData) { + // @ts-ignore + rawRun.testset = testsetData + } + return rawRun + } + + // Legacy: Use SWR to load evaluation data if not a preview + const legacyEvaluationSWR = useSWR( + !!enrichRun && previewRunSwr.data === null && evaluationTableId + ? ["legacyEval", evaluationTableId, evalType] + : null, + fetchAndEnrichLegacyRun, + { + onSuccess(data, key, config) { + if (!data) return + // Populate run-scoped atoms + if (runId) { + evalAtomStore().set(evaluationRunStateFamily(runId), (draft) => { + draft.rawRun = data + draft.isPreview = false + // @ts-ignore + draft.enrichedRun = data + }) + } + }, + }, + ) + + // Legacy: Load scenarios once legacyEvaluation is available + const legacyScenariosSWR = useSWR( + !(isPreview ?? true) && legacyEvaluationSWR.data?.id && !!projectId + ? ["legacyScenarios", evaluationTableId, projectId] + : null, + () => + fetchLegacyScenariosData( + evaluationTableId as string, + legacyEvaluationSWR.data as Evaluation, + evalType, + ), + ) + + return { + // Mutate functions + legacyEvaluationSWR, + legacyScenariosSWR, + refetchEvaluation() { + if (isPreview) { + previewRunSwr.mutate() + } else { + legacyEvaluationSWR.mutate() + } + }, + refetchScenarios() { + if (!isPreview) { + legacyScenariosSWR.mutate() + } + }, + } +} + +export default useEvaluationRunData diff --git a/web/ee/src/lib/hooks/useEvaluationRunData/types.ts b/web/ee/src/lib/hooks/useEvaluationRunData/types.ts new file mode 100644 index 0000000000..23b28f7915 --- /dev/null +++ b/web/ee/src/lib/hooks/useEvaluationRunData/types.ts @@ -0,0 +1,141 @@ +import {EvaluationStatus, PreviewTestSet, WorkspaceMember} from "@/oss/lib/Types" + +import {Evaluation} from "../../Types" +import type {Metric} from "../useEvaluationRunMetrics/types" +import type {IScenario} from "../useEvaluationRunScenarios/types" +import type { + IStepResponse, + UseEvaluationRunScenarioStepsFetcherResult, +} from "../useEvaluationRunScenarioSteps/types" +import {EvaluatorDto} from "../useEvaluators/types" +import type {EnrichedEvaluationRun, EvaluationRun} from "../usePreviewEvaluations/types" + +import {RunIndex} from "./assets/helpers/buildRunIndex" + +export interface ScenarioStatus { + status: + | "pending" + | "running" + | "revalidating" + | "success" + | "error" + | "cancelled" + | "done" + | "failed" + result?: { + data?: unknown + } + error?: string +} + +export interface ScenarioStatusCounts { + total: number + pending: number + running: number + done: number + success: number + failed: number + cancelled: number +} + +export type ScenarioStatusMap = Record + +export interface IStatusMeta { + total: number + completed: number + pending: number + inProgress: number + error: number + cancelled: number + success: number + percentComplete: number + statusSummary: Record + timeline: {scenarioId: string; status: string}[] + timestamps: Record + transitions: Record + durations: Record + statusDurations: Record> +} + +export interface EvaluationRunState { + rawRun?: EvaluationRun | Evaluation + isPreview?: boolean + enrichedRun?: EnrichedEvaluationRun + /** Whether this evaluation is being used for comparison */ + isComparison?: boolean + /** Whether this is the base evaluation being compared against */ + isBase?: boolean + /** Position in comparison view (1 for base, 2+ for comparisons) */ + compareIndex?: number + scenarios?: IScenario[] + /** Summary of scenario statuses and timings */ + statusMeta: IStatusMeta + steps?: { + inputStep?: IStepResponse + invocationStep?: IStepResponse + annotationSteps?: IStepResponse[] + mainInputParams: any + secondaryInputParams: any + scenarioIndex: string + count: number + next?: string + } + metrics?: { + data: Metric[] + count: number + next?: string + } + isLoading: {run: boolean; scenarios: boolean; steps: boolean; metrics: boolean} + isError: {run: boolean; scenarios: boolean; steps: boolean; metrics: boolean} + /** + * Map of scenarioId to scenario steps and related data + */ + scenarioSteps?: Record + /** Pre-computed index of steps and mappings for this run */ + runIndex?: import("./assets/helpers/buildRunIndex").RunIndex +} + +export type LoadingStep = "eval-run" | "scenarios" | "scenario-steps" | null +export interface ScenarioStepProgress { + completed: number + total: number + percent: number +} + +export interface EvaluationLoadingState { + isLoadingEvaluation: boolean + isLoadingScenarios: boolean + isLoadingSteps: boolean + isLoadingMetrics: boolean + activeStep: LoadingStep + scenarioStepProgress: ScenarioStepProgress +} + +export interface OptimisticScenarioOverride { + status: EvaluationStatus + /** + * UI-only status used to indicate intermediate states like + * "revalidating" or "annotating" that are not recognised by the backend + */ + uiStatus?: "revalidating" | "annotating" + result?: any +} + +export interface EvalRunDataContextType { + runId: string + mappings: any + members: WorkspaceMember[] + evaluators: EvaluatorDto[] + testsets: PreviewTestSet[] + variants: any[] + /** + * Given an array of scenario IDs, fetches step data for each, and then + * enriches each step list with inputStep, invocationStep, trace, annotationSteps, + * and invocationParameters. Caches the results in `bulkStepsCacheAtom`. + * + * @param scenarioIds array of scenario IDs + * @param context the `EvalRunDataContextType` object containing runId, mappings, members, evaluators, testsets, and variants + * @param set the jotai `set` callback + */ + runIndex?: RunIndex +} diff --git a/web/ee/src/lib/hooks/useEvaluationRunData/useEvalRunScenarioData.tsx b/web/ee/src/lib/hooks/useEvaluationRunData/useEvalRunScenarioData.tsx new file mode 100644 index 0000000000..85c5bf75c2 --- /dev/null +++ b/web/ee/src/lib/hooks/useEvaluationRunData/useEvalRunScenarioData.tsx @@ -0,0 +1,43 @@ +import {useMemo} from "react" + +import {useAtomValue} from "jotai" +import {loadable} from "jotai/utils" + +import {UseEvaluationRunScenarioStepsFetcherResult} from "../useEvaluationRunScenarioSteps/types" + +import {getCurrentRunId} from "./assets/atoms/migrationHelper" +import {scenarioStepFamily} from "./assets/atoms/runScopedScenarios" +import {evalAtomStore} from "./assets/atoms/store" + +const useEvalRunScenarioData = (scenarioId: string, runId?: string) => { + const store = evalAtomStore() + + // Memoize runId calculation to prevent infinite loops + const effectiveRunId = useMemo(() => { + if (runId) return runId + try { + return getCurrentRunId() + } catch (error) { + console.warn("[useEvalRunScenarioData] No run ID available:", error) + return null + } + }, [runId]) + + // Read from the same global store that writes are going to + const stepLoadable = useAtomValue( + loadable(scenarioStepFamily({scenarioId, runId: effectiveRunId || ""})), + {store}, + ) + + return useMemo(() => { + let data: UseEvaluationRunScenarioStepsFetcherResult | undefined = + stepLoadable.state === "hasData" ? stepLoadable.data : undefined + + if (stepLoadable.state === "hasData" && stepLoadable.data?.trace) { + data = stepLoadable.data + } + return data + }, [stepLoadable]) +} + +export default useEvalRunScenarioData diff --git a/web/ee/src/lib/hooks/useEvaluationRunMetrics/assets/utils.ts b/web/ee/src/lib/hooks/useEvaluationRunMetrics/assets/utils.ts new file mode 100644 index 0000000000..b990f89ad6 --- /dev/null +++ b/web/ee/src/lib/hooks/useEvaluationRunMetrics/assets/utils.ts @@ -0,0 +1,24 @@ +import axios from "@/oss/lib/api/assets/axiosConfig" + +import type {MetricResponse} from "../types" + +/** + * SWR fetcher for fetching metrics from the API. + * + * Given a URL, this function performs a GET request to the URL, extracts the + * `metrics` array, `count`, and `next` properties from the response, and + * returns them in an object. + * + * @param {string} url The URL to fetch + * @return {Promise<{metrics: MetricResponse[], count: number, next?: string}>} + */ +export const fetcher = (url: string) => + axios.get(url).then((res) => { + const raw = res.data + const metrics: MetricResponse[] = Array.isArray(raw.metrics) ? raw.metrics : [] + return { + metrics, + count: raw.count as number, + next: raw.next as string | undefined, + } + }) diff --git a/web/ee/src/lib/hooks/useEvaluationRunMetrics/index.ts b/web/ee/src/lib/hooks/useEvaluationRunMetrics/index.ts new file mode 100644 index 0000000000..3f5f158ef0 --- /dev/null +++ b/web/ee/src/lib/hooks/useEvaluationRunMetrics/index.ts @@ -0,0 +1,112 @@ +import {useMemo} from "react" + +import useSWR from "swr" + +import { + METRICS_ENDPOINT, + createScenarioMetrics, + updateMetric, + updateMetrics, + computeRunMetrics, +} from "@/oss/services/runMetrics/api" + +import {fetcher} from "./assets/utils" +import type { + MetricResponse, + Metric, + UseEvaluationRunMetricsOptions, + UseEvaluationRunMetricsResult, +} from "./types" + +/** + * Hook to fetch and create metrics for a specific evaluation run (and optionally scenario). + * + * @param runId The UUID of the evaluation run. If falsy, fetching is skipped. + * @param options Optional filters/pagination: { limit, next, scenarioIds, statuses }. + */ +const useEvaluationRunMetrics = ( + runIds: string | string[] | null | undefined, + scenarioId?: string | null, + options?: UseEvaluationRunMetricsOptions, +): UseEvaluationRunMetricsResult => { + // Build query parameters + const queryParams = new URLSearchParams() + + // Append one or many run_ids query params + if (runIds) { + if (Array.isArray(runIds) && runIds.length > 0) { + // Ensure deterministic ordering for SWR key stability + const sorted = [...runIds].sort() + sorted.forEach((id) => queryParams.append("run_ids", id)) + } else { + queryParams.append("run_ids", runIds) + } + } + if (options?.limit !== undefined) { + queryParams.append("limit", options.limit.toString()) + } + if (options?.next) { + queryParams.append("next", options.next) + } + if (scenarioId) { + queryParams.append("scenario_ids", scenarioId) + } else if (options?.scenarioIds) { + options.scenarioIds.forEach((sid) => queryParams.append("scenario_ids", sid)) + } + if (options?.statuses) { + options.statuses.forEach((st) => queryParams.append("status", st)) + } + + const swrKey = useMemo(() => { + const queryRunIds = queryParams.getAll("run_ids").filter((a) => a !== "undefined" && !!a) + const queryScenarioIds = queryParams + .getAll("scenario_ids") + .filter((a) => a !== "undefined" && !!a) + + return queryRunIds.length > 0 || queryScenarioIds.length > 0 + ? `${METRICS_ENDPOINT}?${queryParams.toString()}` + : null + }, [queryParams]) + + // SWR response typed to raw MetricResponse[] + const swrData = useSWR<{ + metrics: MetricResponse[] + count: number + next?: string + }>(swrKey, fetcher) + + // Convert raw MetricResponse[] to camelCase Metric[] + const rawMetrics = swrData.data?.metrics + const camelMetrics: Metric[] | undefined = rawMetrics + ? rawMetrics.map((item) => item) + : undefined + + const totalCount = swrData.data?.count + const nextToken = swrData.data?.next + + return { + get metrics() { + return camelMetrics + }, + get count() { + return totalCount + }, + get next() { + return nextToken + }, + get isLoading() { + return !swrData.error && !swrData.data + }, + get isError() { + return !!swrData.error + }, + swrData, + mutate: () => swrData.mutate(), + createScenarioMetrics, + updateMetric, + updateMetrics, + computeRunMetrics, + } +} + +export default useEvaluationRunMetrics diff --git a/web/ee/src/lib/hooks/useEvaluationRunMetrics/types.ts b/web/ee/src/lib/hooks/useEvaluationRunMetrics/types.ts new file mode 100644 index 0000000000..20de372a60 --- /dev/null +++ b/web/ee/src/lib/hooks/useEvaluationRunMetrics/types.ts @@ -0,0 +1,75 @@ +import {EvaluationStatus, SnakeToCamelCaseKeys} from "@/oss/lib/Types" + +// Raw API response type for one metric (snake_case) +export interface MetricResponse { + id: string + run_id: string + scenario_id?: string + status?: EvaluationStatus + data: { + outputs: Record + } + created_at?: string + // …other fields in snake_case if backend adds more… +} + +// CamelCased version of MetricResponse +export type Metric = SnakeToCamelCaseKeys + +// Options for fetching metrics (pagination & filters) +export interface UseEvaluationRunMetricsOptions { + limit?: number + next?: string + scenarioIds?: string[] + statuses?: string[] +} + +// Result returned by useEvaluationRunMetrics hook +export interface UseEvaluationRunMetricsResult { + metrics: Metric[] | undefined + count?: number + next?: string + isLoading: boolean + isError: boolean + swrData: import("swr").SWRResponse< + { + metrics: MetricResponse[] + count: number + next?: string + }, + any + > + mutate: () => Promise + createScenarioMetrics: ( + apiUrl: string, + jwt: string, + runId: string, + entries: { + scenarioId: string + data: Record + }[], + ) => Promise + updateMetric: ( + apiUrl: string, + jwt: string, + metricId: string, + changes: { + data?: Record + status?: string + tags?: Record + meta?: Record + }, + ) => Promise + updateMetrics: ( + apiUrl: string, + jwt: string, + metrics: { + id: string + data?: Record + status?: string + tags?: Record + meta?: Record + }[], + ) => Promise + computeRunMetrics: (metrics: {data: Record}[]) => Record +} diff --git a/web/ee/src/lib/hooks/useEvaluationRunScenarioSteps/types.ts b/web/ee/src/lib/hooks/useEvaluationRunScenarioSteps/types.ts new file mode 100644 index 0000000000..df4a15447b --- /dev/null +++ b/web/ee/src/lib/hooks/useEvaluationRunScenarioSteps/types.ts @@ -0,0 +1,162 @@ +import {SWRResponse, SWRConfiguration} from "swr" + +import type {PreviewTestSet, SnakeToCamelCaseKeys} from "../../Types" +import {AnnotationDto} from "../useAnnotations/types" +import {RunIndex} from "../useEvaluationRunData/assets/helpers/buildRunIndex" + +// Step type for useEvaluationRunScenarioSteps fetcher result (camelCase, derived from StepResponseStep) +// Options for fetching steps (pagination, filters) +export interface UseEvaluationRunScenarioStepsOptions { + limit?: number + next?: string + keys?: string[] + statuses?: string[] +} + +// Result type returned by the hook +export interface UseEvaluationRunScenarioStepsResult { + isLoading: boolean + swrData: SWRResponse + // Function to revalidate + mutate: () => Promise +} + +export interface UseEvaluationRunScenarioStepsConfig extends SWRConfiguration { + concurrency?: number +} + +// --- Types for useEvaluationRunScenarioSteps fetcher result --- +export interface StepResponse { + steps: StepResponseStep[] + count: number + next?: string +} +export interface StepResponseStep { + id: string + // + run_id: string + scenario_id: string + step_key: string + repeat_idx?: number + timestamp?: string + interval?: number + // + status: string + // + // hash_id?: string + trace_id?: string + testcase_id?: string + error?: Record + // + created_at?: string + created_by_id?: string + // + is_legacy?: boolean + inputs?: Record + ground_truth?: Record +} +export type IStepResponse = SnakeToCamelCaseKeys + +export interface TraceNode { + trace_id: string + span_id: string + lifecycle: { + created_at: string + } + root: { + id: string + } + tree: { + id: string + } + node: { + id: string + name: string + type: string + } + parent?: { + id: string + } + time: { + start: string + end: string + } + status: { + code: string + } + data: Record + metrics: Record + refs: Record + otel: { + kind: string + attributes: Record + } + nodes?: Record +} + +export interface TraceData { + trees: TraceTree[] + version: string + count: number +} + +export interface TraceTree { + tree: { + id: string + } + nodes: TraceNode[] +} + +export type InvocationParameters = Record< + string, + { + requestBody: { + ag_config: { + prompt: { + messages: {role: string; content: string}[] + template_format: string + input_keys: string[] + llm_config: { + model: string + tools: any[] + } + } + } + inputs: Record + } + endpoint: string + } | null +> + +export interface IInvocationStep extends IStepResponse { + trace?: TraceTree + invocationParameters?: InvocationParameters +} + +export interface IInputStep extends IStepResponse { + inputs?: Record + groundTruth?: Record + testcase?: PreviewTestSet["data"]["testcases"][number] +} +export interface IAnnotationStep extends IStepResponse { + annotation?: AnnotationDto +} + +export interface UseEvaluationRunScenarioStepsFetcherResult { + steps: IStepResponse[] + mappings?: any[] + + // Single primary steps (kept for backward compatibility) + // invocationStep?: IStepResponse + annotationSteps: IAnnotationStep[] + invocationSteps: IInvocationStep[] + inputSteps: IInputStep[] + annotations?: AnnotationDto[] | null + + // NEW: support multiple role steps per scenario + inputStep?: IStepResponse + scenarioId?: string + trace?: TraceTree | TraceData | null + // annotation?: AnnotationDto | null + invocationParameters?: InvocationParameters +} diff --git a/web/ee/src/lib/hooks/useEvaluationRunScenarios/index.ts b/web/ee/src/lib/hooks/useEvaluationRunScenarios/index.ts new file mode 100644 index 0000000000..5b4396480b --- /dev/null +++ b/web/ee/src/lib/hooks/useEvaluationRunScenarios/index.ts @@ -0,0 +1,133 @@ +import {useCallback} from "react" + +import {useSetAtom} from "jotai" +import useSWR, {SWRConfiguration} from "swr" + +import axios from "@/oss/lib/api/assets/axiosConfig" +import {snakeToCamelCaseKeys} from "@/oss/lib/helpers/casing" + +import {evalAtomStore, loadingStateAtom} from "../useEvaluationRunData/assets/atoms" +import {evaluationRunStateFamily} from "../useEvaluationRunData/assets/atoms/runScopedAtoms" + +import {IScenario, ScenarioResponse, UseEvaluationRunScenariosOptions} from "./types" + +// Fetcher factory that posts a query to the new endpoint and syncs atoms of current store +const makeFetcher = ( + endpoint: string, + syncAtom: boolean, + setLoading: ReturnType, + runId?: string | null, + params?: UseEvaluationRunScenariosOptions, +): (() => Promise<{ + scenarios: IScenario[] + count: number + next?: string +}>) => { + return () => { + if (syncAtom) { + setLoading((draft) => { + draft.isLoadingScenarios = true + draft.isLoadingEvaluation = false + draft.activeStep = "scenarios" + }) + } + + // Build request body for /preview/evaluations/scenarios/query + const body: Record = { + scenario: { + ...(runId ? {run_ids: [runId]} : {}), + }, + windowing: { + ...(params?.limit !== undefined ? {limit: params.limit} : {}), + ...(params?.next ? {next: params.next} : {}), + }, + } + + return axios.post(endpoint, body).then((res) => { + const raw = res.data + const scenarios = Array.isArray(raw.scenarios) + ? (raw.scenarios.map((scenario: ScenarioResponse, index: number) => ({ + ...snakeToCamelCaseKeys(scenario), + scenarioIndex: (scenario.meta?.index || 0) + 1, + })) as IScenario[]) + : ([] as IScenario[]) + + if (syncAtom) { + setLoading((draft) => { + draft.isLoadingScenarios = false + draft.activeStep = null + }) + // Only sync to run-scoped atom if runId is available + if (runId) { + evalAtomStore().set(evaluationRunStateFamily(runId), (draft) => { + draft.scenarios = scenarios + }) + } + } + return { + scenarios, + count: raw.count as number, + next: raw.next as string | undefined, + } + }) + } +} + +/** + * @deprecated + * @param runId + * @param params + * @returns + */ +export const getEvaluationRunScenariosKey = ( + runId?: string | null | undefined, + params?: UseEvaluationRunScenariosOptions, +) => { + if (!runId) return null + const parts: string[] = ["scenarios-query", `run:${runId}`] + if (params?.limit !== undefined) parts.push(`limit:${params.limit}`) + if (params?.next) parts.push(`next:${params.next}`) + return parts.join("|") +} +/** + * @deprecated + * Hook to fetch scenarios belonging to a specific evaluation run, + * plus some “progress” aggregates (pending vs. completed). + * + * @param runId The UUID of the run. If falsy, fetching is skipped. + * @param params Optional pagination: { limit, next }. + */ + +interface UseEvaluationRunScenariosHookOptions extends SWRConfiguration { + syncAtom?: boolean +} +const useEvaluationRunScenarios = ( + runId: string | null | undefined, + params?: UseEvaluationRunScenariosOptions, + {syncAtom = true, ...options}: UseEvaluationRunScenariosHookOptions = {}, +) => { + const setLoading = useSetAtom(loadingStateAtom) + + // Build query string only if runId is provided + const swrKey = getEvaluationRunScenariosKey(runId, params) + + const fetcher = useCallback( + makeFetcher("/preview/evaluations/scenarios/query", syncAtom, setLoading, runId, params), + [syncAtom, setLoading, runId, params?.limit, params?.next], + ) + + const swrData = useSWR<{ + scenarios: IScenario[] + count: number + next?: string + }>(swrKey ? `${swrKey}-${syncAtom}` : null, swrKey ? fetcher : null, { + ...options, + revalidateIfStale: false, + revalidateOnFocus: false, + revalidateOnReconnect: false, + }) + + return swrData +} + +export default useEvaluationRunScenarios diff --git a/web/ee/src/lib/hooks/useEvaluationRunScenarios/types.ts b/web/ee/src/lib/hooks/useEvaluationRunScenarios/types.ts new file mode 100644 index 0000000000..3a83ebc6ef --- /dev/null +++ b/web/ee/src/lib/hooks/useEvaluationRunScenarios/types.ts @@ -0,0 +1,24 @@ +import {SnakeToCamelCaseKeys} from "../../Types" + +// Raw API response type for one scenario (snake_case) +export interface ScenarioResponse { + id: string + run_id: string + status: string + created_by_id: string + created_at: string + // …other fields in snake_case if backend adds more… +} + +// CamelCased version of ScenarioResponse +export interface IScenario extends SnakeToCamelCaseKeys { + scenarioIndex: number +} + +// +// Pagination/options for the hook: +// +export interface UseEvaluationRunScenariosOptions { + limit?: number + next?: string +} diff --git a/web/ee/src/lib/hooks/useEvaluations.ts b/web/ee/src/lib/hooks/useEvaluations.ts new file mode 100644 index 0000000000..b7a40bf875 --- /dev/null +++ b/web/ee/src/lib/hooks/useEvaluations.ts @@ -0,0 +1,345 @@ +import {useMemo, useCallback} from "react" + +// import {useAppId} from "@/oss/hooks/useAppId" + +import axios from "@agenta/oss/src/lib/api/assets/axiosConfig" +import {EvaluationType} from "@agenta/oss/src/lib/enums" +import { + abTestingEvaluationTransformer, + fromEvaluationResponseToEvaluation, + singleModelTestEvaluationTransformer, +} from "@agenta/oss/src/lib/transformers" +import {Evaluation, EvaluationResponseType, ListAppsItem} from "@agenta/oss/src/lib/Types" +import {useAtomValue} from "jotai" +import useSWR from "swr" + +import {useAppId} from "@/oss/hooks/useAppId" +import {deleteEvaluations as deleteAutoEvaluations} from "@/oss/services/evaluations/api" +import {fetchAllEvaluations} from "@/oss/services/evaluations/api" +import {deleteEvaluations as deleteHumanEvaluations} from "@/oss/services/human-evaluations/api" +import {fetchAllLoadEvaluations, fetchEvaluationResults} from "@/oss/services/human-evaluations/api" +import {useAppsData} from "@/oss/state/app" +import {getProjectValues, projectIdAtom} from "@/oss/state/project" + +import usePreviewEvaluations from "./usePreviewEvaluations" + +const deleteRuns = async (ids: string[]) => { + const {projectId} = getProjectValues() + await axios.delete(`/preview/evaluations/runs/?project_id=${projectId}`, { + data: { + run_ids: ids, + }, + }) + + return ids +} + +/** + * Custom hook to manage evaluations, combining legacy evaluations and preview evaluations. + * + * @param {Object} params - Configuration object. + * @param {boolean} [params.withPreview] - Whether to include preview evaluations. + * @param {EvaluationType[]} params.types - List of evaluation types to filter. + * + * @returns {Object} An object containing: + * - `legacyEvaluations`: SWR object with data, error, and loading state for legacy evaluations. + * - `previewEvaluations`: Object with data and loading state for preview evaluations. + * - `mergedEvaluations`: Combined list of legacy and preview evaluations. + * - `isLoadingLegacy`: Loading state of legacy evaluations. + * - `isLoadingPreview`: Loading state of preview evaluations. + * - `refetch`: Function to refetch both legacy and preview evaluations. + * - `handleDeleteEvaluations`: Function to delete evaluations by IDs. + */ +const useEvaluations = ({ + withPreview, + types, + evalType, + appId: appIdOverride, +}: { + withPreview?: boolean + types: EvaluationType[] + evalType?: "human" | "auto" + appId?: string | null +}) => { + const routeAppId = useAppId() + const appId = (appIdOverride ?? routeAppId) || undefined + const {apps: availableApps = []} = useAppsData() + const projectId = useAtomValue(projectIdAtom) + + const appIdsForScope = useMemo(() => { + if (appId) return [appId] + return (availableApps as ListAppsItem[]) + .map((application) => application.app_id) + .filter((id): id is string => typeof id === "string" && id.length > 0) + }, [appId, availableApps]) + + /** + * Fetches legacy evaluations for the given appId and transforms them into the required format. + * Also fetches auto evaluations if the selected types require it. + * Returns an object containing human and auto evaluations. + */ + const legacyFetcher = useCallback(async () => { + if (!projectId || appIdsForScope.length === 0) { + return { + humanEvals: [], + autoEvals: [], + } + } + + const needsAutoEvaluations = types.some((type) => + [ + EvaluationType.human_a_b_testing, + EvaluationType.single_model_test, + EvaluationType.human_scoring, + EvaluationType.auto_exact_match, + EvaluationType.automatic, + ].includes(type), + ) + + const responses = await Promise.all( + appIdsForScope.map(async (targetAppId) => { + const rawEvaluations: EvaluationResponseType[] = await fetchAllLoadEvaluations( + targetAppId, + projectId, + ) + + const preparedEvaluations = rawEvaluations + .map((evaluationResponse) => ({ + evaluation: { + ...fromEvaluationResponseToEvaluation(evaluationResponse), + appId: targetAppId, + }, + raw: evaluationResponse, + })) + .filter(({evaluation}) => types.includes(evaluation.evaluationType)) + + const results = await Promise.all( + preparedEvaluations.map(({evaluation}) => + fetchEvaluationResults(evaluation.id), + ), + ) + + const humanEvaluations = results + .map((result, index) => { + const {evaluation, raw} = preparedEvaluations[index] + if (!result) return undefined + + if (evaluation.evaluationType === EvaluationType.single_model_test) { + const transformed = singleModelTestEvaluationTransformer({ + item: evaluation, + result, + }) + return { + ...transformed, + appId: targetAppId, + appName: evaluation.appName, + } + } + + if (evaluation.evaluationType === EvaluationType.human_a_b_testing) { + if (Object.keys(result.votes_data || {}).length > 0) { + const transformed = abTestingEvaluationTransformer({ + item: raw, + results: result.votes_data, + }) + return { + ...transformed, + appId: targetAppId, + appName: evaluation.appName, + } + } + } + + return undefined + }) + .filter((item): item is Record => Boolean(item)) + .filter( + (item: any) => + item.resultsData !== undefined || + !(Object.keys(item.scoresData || {}).length === 0) || + item.avgScore !== undefined, + ) + + const autoEvaluations = needsAutoEvaluations + ? (await fetchAllEvaluations(targetAppId)) + .sort( + (a, b) => + new Date(b.created_at || 0).getTime() - + new Date(a.created_at || 0).getTime(), + ) + .map((evaluation) => ({ + ...evaluation, + appId: targetAppId, + })) + : [] + + return { + humanEvals: humanEvaluations, + autoEvals: autoEvaluations, + } + }), + ) + + const humanEvals = responses + .flatMap((response) => response.humanEvals) + .sort( + (a, b) => + new Date(b?.createdAt ?? 0).getTime() - new Date(a?.createdAt ?? 0).getTime(), + ) + const autoEvals = responses.flatMap((response) => response.autoEvals) + + return { + humanEvals, + autoEvals, + } + }, [appIdsForScope, projectId, types]) + + /** + * SWR hook for fetching and caching legacy evaluations using the legacyFetcher. + */ + const legacyEvaluations = useSWR( + !projectId || appIdsForScope.length === 0 + ? null + : ["legacy-evaluations", projectId, ...appIdsForScope], + legacyFetcher, + ) + + /** + * Hook for fetching preview evaluations if withPreview is enabled. + */ + const previewEvaluations = usePreviewEvaluations({ + skip: !withPreview, + types, + appId, + }) + + // Extract runs from preview evaluations + const {runs} = previewEvaluations || {} + + /** + * Lazily combines legacy and preview evaluations into a single array. + * Returns an empty array if either source is not yet loaded. + */ + const computeMergedEvaluations = useCallback( + (evalType?: "human" | "auto") => { + const legacyData = legacyEvaluations.data || {autoEvals: [], humanEvals: []} + const legacyAuto = legacyData.autoEvals || [] + const legacyHuman = legacyData.humanEvals || [] + let filteredLegacy = [] + if (types.includes(EvaluationType.single_model_test)) { + filteredLegacy = legacyHuman + } else { + filteredLegacy = legacyAuto + } + + if (!runs || !Array.isArray(runs)) { + return filteredLegacy + } + + // Filtering out evaluations based on eval type + let filteredRuns = [] + if (evalType === "human") { + filteredRuns = runs.filter((run) => + run?.data?.steps.some( + (step) => step.type === "annotation" && step.origin === "human", + ), + ) + if (filteredLegacy.length > 0) { + const autoEvalLagecyRuns = filteredLegacy.filter( + (run) => run?.evaluation_type === "single_model_test", + ) + + filteredRuns = [...filteredRuns, ...autoEvalLagecyRuns] + } + } else if (evalType === "auto") { + filteredRuns = runs.filter((run) => + run?.data?.steps.every( + (step) => + step.type !== "annotation" || + step.origin === "auto" || + step.origin === undefined, + ), + ) + if (filteredLegacy.length > 0) { + const autoEvalLagecyRuns = filteredLegacy.filter( + (run) => "aggregated_results" in run, + ) + + filteredRuns = [...filteredRuns, ...autoEvalLagecyRuns] + } + } else { + filteredRuns = [...filteredLegacy, ...runs] + } + + return filteredRuns.sort((a, b) => { + return b.createdAtTimestamp - a.createdAtTimestamp + }) + }, + [legacyEvaluations.data, runs, types, evalType], + ) + + /** + * Refetches both legacy and preview evaluations in parallel. + * Use this after mutations that affect evaluation data. + */ + const refetchAll = useCallback(async () => { + await Promise.all([legacyEvaluations.mutate(), previewEvaluations.swrData.mutate()]) + }, [legacyEvaluations, previewEvaluations]) + + /** + * Deletes evaluations by IDs, handling both legacy and preview evaluations. + * Determines which IDs correspond to legacy or preview runs, deletes them accordingly, and refetches all data. + * @param _ids - Single ID or array of IDs to delete + */ + const handleDeleteEvaluations = useCallback( + async (_ids: string[] | string) => { + const ids = Array.isArray(_ids) ? _ids : typeof _ids === "string" ? [_ids] : [] + const listOfLegacyEvals = + evalType === "auto" + ? legacyEvaluations.data?.autoEvals || [] + : legacyEvaluations.data?.humanEvals || [] + + // Determine which IDs are legacy evaluations + const legacyEvals = listOfLegacyEvals + .filter((e) => ids.includes(e.key || e.id)) + .map((e) => e.key || e.id) + + // IDs that are preview runs + const runsIds = ids.filter((id) => !legacyEvals.includes(id)) + try { + if (legacyEvals.length > 0) { + if (evalType === "auto") { + await deleteAutoEvaluations(ids) + } else { + await deleteHumanEvaluations(ids) + } + } + + if (runsIds.length > 0) { + await deleteRuns(runsIds) + } + await refetchAll() + } catch (error) { + console.error(error) + } + }, + [legacyEvaluations, refetchAll], + ) + + const mergedEvaluations = useMemo( + () => computeMergedEvaluations(evalType), + [computeMergedEvaluations, evalType], + ) + + return { + legacyEvaluations, + previewEvaluations, + mergedEvaluations, + isLoadingLegacy: legacyEvaluations.isLoading, + isLoadingPreview: previewEvaluations?.swrData?.isLoading ?? false, + refetch: refetchAll, + handleDeleteEvaluations, + } +} + +export default useEvaluations diff --git a/web/ee/src/lib/hooks/useInvocationResult/index.ts b/web/ee/src/lib/hooks/useInvocationResult/index.ts new file mode 100644 index 0000000000..118137f9ea --- /dev/null +++ b/web/ee/src/lib/hooks/useInvocationResult/index.ts @@ -0,0 +1,143 @@ +import {useMemo} from "react" + +import {useAtomValue} from "jotai" + +import {renderChatMessages} from "@/oss/components/EvalRunDetails/assets/renderChatMessages" +import {evalTypeAtom} from "@/oss/components/EvalRunDetails/state/evalType" +import {useRunId} from "@/oss/contexts/RunIdContext" +import {readInvocationResponse} from "@/oss/lib/helpers/traceUtils" + +import {getCurrentRunId} from "../useEvaluationRunData/assets/atoms/migrationHelper" +import {scenarioStatusAtomFamily} from "../useEvaluationRunData/assets/atoms/progress" +import {evalAtomStore} from "../useEvaluationRunData/assets/atoms/store" +import useEvalRunScenarioData from "../useEvaluationRunData/useEvalRunScenarioData" + +import type {UseInvocationResult, UseInvocationResultArgs} from "./types" + +export function useInvocationResult({ + scenarioId, + stepKey, + runId: maybeRunId, + editorType = "shared", + viewType = "single", +}: UseInvocationResultArgs): UseInvocationResult { + const store = evalAtomStore() + + // Use provided runId or fallback to current run context (memoized to prevent infinite loops) + const contextRunId = useRunId() + const runId = useMemo(() => { + if (maybeRunId) return maybeRunId + if (contextRunId) return contextRunId + try { + return getCurrentRunId() + } catch (error) { + console.warn("[useInvocationResult] No run ID available:", error) + return null + } + }, [maybeRunId, contextRunId]) + + const evalType = useAtomValue(evalTypeAtom) + // Call all hooks before any early returns + const data = useEvalRunScenarioData(scenarioId, runId || "") + // Read from the same global store that writes are going to + const status = useAtomValue( + useMemo( + () => scenarioStatusAtomFamily({scenarioId, runId: runId || ""}), + [scenarioId, runId], + ), + {store}, + ) as any + + // Early return if no runId is available + if (!runId) { + return { + trace: undefined, + value: undefined, + rawValue: undefined, + messageNodes: null, + status: undefined, + } + } + + const { + trace: _trace, + value: derivedVal, + rawValue, + } = readInvocationResponse({ + scenarioData: data, + stepKey, + forceTrace: status?.trace, + optimisticResult: status?.result, + scenarioId, + }) + + const trace = status?.trace || _trace + // For auto evaluation only + const errorMessage = useMemo(() => { + if (evalType !== "auto") return "" + const findInvocation = data?.invocationSteps?.find((d) => d.scenarioId === scenarioId) + return findInvocation?.error?.stacktrace ?? "" + }, [data, scenarioId, evalType]) + + const {messageNodes, value, hasError} = useMemo(() => { + // Determine chat vs primitive + let messageNodes: React.ReactNode[] | null = null + let value: string | object | undefined = undefined + let hasError = false + + if (trace?.exception) { + value = trace?.exception?.message + hasError = true + } else if (errorMessage) { + value = errorMessage + hasError = true + } else { + const processChat = (jsonStr: string) => { + try { + const arr = JSON.parse(jsonStr) + if ( + Array.isArray(arr) && + arr.every((m: any) => "role" in m && "content" in m) + ) { + return renderChatMessages({ + keyPrefix: `${scenarioId}-${stepKey}`, + rawJson: jsonStr, + view: viewType, + editorType, + }) + } + + return null + } catch (err) {} + } + + if (rawValue) { + if (typeof rawValue === "string") { + messageNodes = processChat(rawValue) + if (!messageNodes) value = rawValue + } else if ( + typeof rawValue === "object" && + "role" in rawValue && + "content" in rawValue + ) { + messageNodes = renderChatMessages({ + keyPrefix: `${scenarioId}-${stepKey}-${trace?.trace_id ?? ""}`, + rawJson: JSON.stringify([rawValue]), + view: viewType, + editorType, + }) + } else { + value = rawValue as any + } + } + + if (!messageNodes) { + value = value ?? derivedVal + } + } + + return {messageNodes, value, hasError} + }, [trace, errorMessage]) + + return {trace, value, rawValue, messageNodes, status, hasError} +} diff --git a/web/ee/src/lib/hooks/useInvocationResult/types.ts b/web/ee/src/lib/hooks/useInvocationResult/types.ts new file mode 100644 index 0000000000..32646e425f --- /dev/null +++ b/web/ee/src/lib/hooks/useInvocationResult/types.ts @@ -0,0 +1,18 @@ +import {ScenarioStatusMap} from "../useEvaluationRunData/types" + +export interface UseInvocationResultArgs { + scenarioId: string + stepKey: string + runId?: string // Optional: for multi-run support + editorType?: "simple" | "shared" + viewType?: "single" | "table" +} + +export interface UseInvocationResult { + trace?: any + value?: string | object + rawValue?: any + messageNodes: React.ReactNode[] | null + status?: ScenarioStatusMap[string] + hasError?: boolean +} diff --git a/web/ee/src/lib/hooks/usePreviewEvaluations/assets/utils.ts b/web/ee/src/lib/hooks/usePreviewEvaluations/assets/utils.ts new file mode 100644 index 0000000000..3ffc624ec7 --- /dev/null +++ b/web/ee/src/lib/hooks/usePreviewEvaluations/assets/utils.ts @@ -0,0 +1,396 @@ +import {useCallback, useMemo} from "react" + +import {getDefaultStore} from "jotai" + +import {useAppId} from "@/oss/hooks/useAppId" +import {formatDay} from "@/oss/lib/helpers/dateTimeHelper" +import dayjs from "@/oss/lib/helpers/dateTimeHelper/dayjs" +import {RunIndex, StepMeta} from "@/oss/lib/hooks/useEvaluationRunData/assets/helpers/buildRunIndex" +import useEvaluators from "@/oss/lib/hooks/useEvaluators" +import {EvaluatorDto} from "@/oss/lib/hooks/useEvaluators/types" +import { + EnrichedEvaluationRun, + EvaluationRun, + IEvaluationRunDataStep, +} from "@/oss/lib/hooks/usePreviewEvaluations/types" +import useStatelessVariants from "@/oss/lib/hooks/useStatelessVariants" +import {EnhancedObjectConfig} from "@/oss/lib/shared/variant/genericTransformer/types" +import {AgentaConfigPrompt, EnhancedVariant} from "@/oss/lib/shared/variant/transformer/types" +import {WorkspaceMember, SnakeToCamelCaseKeys, PreviewTestSet} from "@/oss/lib/Types" +import {useAppList} from "@/oss/state/app/hooks" +import {transformedPromptsAtomFamily} from "@/oss/state/newPlayground/core/prompts" +import {variantFlagsAtomFamily} from "@/oss/state/newPlayground/core/variantFlags" +import {useOrgData} from "@/oss/state/org" +import {getProjectValues} from "@/oss/state/project" + +export const enrichEvaluationRun = ({ + run: _run, + testsets, + variantsData, + evaluators, + members, + runIndex, + extras, + appNameById, + projectScope = false, +}: { + run: SnakeToCamelCaseKeys + testsets: PreviewTestSet[] + variantsData: any + evaluators: EvaluatorDto[] + members: WorkspaceMember[] + runIndex?: RunIndex + extras?: { + parametersByRevisionId?: Record + flagsByRevisionId?: Record + variantConfigs?: Record + } + appNameById?: Map + projectScope?: boolean +}) => { + const run: Partial = _run + // Convert snake_case keys to camelCase recursively + run.createdAtTimestamp = dayjs(run.createdAt, "YYYY/MM/DD H:mm:ssAZ").valueOf() + // Format creation date for display + run.createdAt = formatDay({date: run.createdAt, outputFormat: "DD MMM YYYY | h:mm a"}) + // Derive potential ids via runIndex – allow multiple + const testsetIds: string[] = [] + const revisionIds: string[] = [] + + if (runIndex) { + for (const meta of Object.values(runIndex.steps) as StepMeta[]) { + if (meta.refs?.testset) { + testsetIds.push(meta.refs.testset.id) + } + if (meta.refs?.applicationRevision) { + revisionIds.push(meta.refs.applicationRevision.id) + } + } + } + + const uniqueTestsetIds = Array.from(new Set(testsetIds)) + const uniqueRevisionIds = Array.from(new Set(revisionIds)) + + // Resolve testset objects + const resolvedTestsets = testsets + ? (uniqueTestsetIds + .flatMap((id) => + testsets + ?.filter((ts) => ts.id === id) + .map((ts) => ({ + ...ts, + name: ts.name, + createdAt: ts.created_at, + createdAtTimestamp: dayjs( + ts.created_at, + "YYYY/MM/DD H:mm:ssAZ", + ).valueOf(), + })), + ) + .filter(Boolean) as PreviewTestSet[]) + : [] + + // Support both shapes: array or { variants: [...] } + const variantList: EnhancedVariant>[] = Array.isArray( + variantsData, + ) + ? variantsData + : (variantsData?.variants as EnhancedVariant>[]) || + [] + + const configVariants: EnhancedVariant>[] = + extras?.variantConfigs + ? Object.entries(extras.variantConfigs) + .map(([key, config]) => { + if (!config) return null + const variantRef = config.variant_ref || {} + const applicationRef = config.application_ref || {} + const id = variantRef.id || key + if (!id) return null + return { + id, + variantId: variantRef.id || id, + variantName: + variantRef.slug || + variantRef.id || + variantRef.name || + config?.service_ref?.slug || + key, + name: + variantRef.slug || + variantRef.id || + variantRef.name || + config?.service_ref?.slug || + key, + configName: variantRef.slug || variantRef.name, + appId: applicationRef?.id, + appSlug: applicationRef?.slug, + appStatus: undefined, + uri: config.url, + revision: variantRef.version ?? null, + revisionLabel: variantRef.version ?? null, + createdAtTimestamp: run.createdAtTimestamp, + createdAt: run.createdAt, + configParams: config.params, + } as any + }) + .filter(Boolean) + : [] + + const variantMap = new Map() + variantList.forEach((variant: any) => { + if (!variant?.id) return + variantMap.set(String(variant.id), variant) + }) + configVariants.forEach((variant: any) => { + if (!variant?.id) return + const key = String(variant.id) + if (!variantMap.has(key)) { + variantMap.set(key, variant) + return + } + const existing = variantMap.get(key) + variantMap.set(key, { + ...existing, + ...variant, + variantName: variant.variantName || existing?.variantName, + configName: variant.configName || existing?.configName, + name: variant.name || existing?.name, + }) + }) + const combinedVariantList: EnhancedVariant>[] = + Array.from(variantMap.values()) + + const filteredVariants = combinedVariantList.filter((v) => uniqueRevisionIds.includes(v.id)) + + const fallbackVariants = + filteredVariants.length || !runIndex + ? [] + : Array.from(runIndex.invocationKeys) + .map((key) => { + const meta = runIndex.steps[key] + if (!meta) return null + const refs = meta.refs || {} + const application = + refs.application || refs.applicationRevision?.application || {} + const revision = refs.applicationRevision || {} + + const appId = + application?.id || + application?.app_id || + application?.application_id || + revision?.application_id || + undefined + + const variantName = + application?.name || application?.slug || refs.variant?.name || meta.key + + const revisionId = + revision?.id || revision?.revision_id || revision?.revisionId || meta.key + + const revisionLabel = + revision?.name || revision?.revision || revision?.version || undefined + + return { + id: revisionId, + variantId: revisionId, + appId, + appName: application?.name, + variantName, + revision: revisionLabel, + revisionLabel, + createdAt: run.createdAt, + createdAtTimestamp: run.createdAtTimestamp, + } + }) + .filter((item): item is Record => Boolean(item)) + + const projectId = getProjectValues().projectId + + const baseVariants = filteredVariants.length ? filteredVariants : [] + const combinedVariants = (baseVariants.length ? baseVariants : fallbackVariants).map( + (variant) => { + const mappedName = variant.appId ? appNameById?.get(variant.appId) : undefined + if (mappedName && (!variant.appName || variant.appName === variant.appId)) { + return { + ...variant, + appName: mappedName, + } + } + return variant + }, + ) as typeof fallbackVariants + + const normalizedVariants = combinedVariants + .map((variant) => { + const fallbackId = + variant.id || variant.variantId || (variant as any).revisionId || undefined + if (fallbackId && variant.id !== fallbackId) { + return { + ...variant, + id: fallbackId, + variantId: variant.variantId || fallbackId, + } + } + return variant.id + ? variant + : { + ...variant, + variantId: variant.variantId || fallbackId, + id: fallbackId, + } + }) + .filter((variant) => Boolean(variant.id)) + + const primaryVariant = normalizedVariants[0] + + const returnValue = { + ...run, + appId: (run as any).appId || primaryVariant?.appId, + appName: (run as any).appName || primaryVariant?.appName, + variants: normalizedVariants, + testsets: resolvedTestsets, + createdBy: members.find((member) => member.user.id === run.createdById), + parametersByRevisionId: extras?.parametersByRevisionId || {}, + flagsByRevisionId: extras?.flagsByRevisionId || {}, + } + + normalizedVariants.forEach((variant: any) => { + const revisionKey = variant.id || variant.variantId + if (!revisionKey) return + if (variant.configParams) { + returnValue.parametersByRevisionId[revisionKey] = + returnValue.parametersByRevisionId[revisionKey] || variant.configParams + } + if (!returnValue.appId && variant.appId) { + returnValue.appId = variant.appId + } + if (!returnValue.appName && variant.appName) { + returnValue.appName = variant.appName + } + }) + if (!returnValue.appName && returnValue.appId && appNameById) { + const mappedName = appNameById.get(returnValue.appId) + if (mappedName) { + returnValue.appName = mappedName + } + } + if (runIndex) { + // Find all annotation steps via index if available + const annotationSteps = Array.from(runIndex.annotationKeys) + .map((k) => { + // locate original step for richer data + return (run.data?.steps || []).find((s) => s.key === k) as + | IEvaluationRunDataStep + | undefined + }) + .filter(Boolean) + + // Extract all evaluator slugs or IDs from those steps + const evaluatorRefs = annotationSteps + .map((step) => step?.references?.evaluator?.id) + .filter((id): id is string => !!id) + // Match evaluator objects using slug or id + const matchedEvaluators = evaluatorRefs + .map((id: string) => evaluators?.find((e) => e.slug === id || e.id === id)) + .filter(Boolean) + + returnValue.evaluators = matchedEvaluators as EvaluatorDto[] + } + + return returnValue as EnrichedEvaluationRun +} + +const useEnrichEvaluationRun = ({ + evalType = "human", +}: { + evalType?: "human" | "auto" +} = {}): + | (( + run: SnakeToCamelCaseKeys, + testsetData?: PreviewTestSet[], + runIndex?: RunIndex, + ) => EnrichedEvaluationRun) + | undefined => { + const {selectedOrg} = useOrgData() + const members = selectedOrg?.default_workspace?.members || [] + const routeAppId = useAppId() + const isProjectScope = !routeAppId + const appList = useAppList() + const appNames = useMemo(() => { + return new Map((appList || []).map((item) => [item.app_id, item.app_name])) + }, [appList]) + + const {data: evaluators, isLoading: _loadingEvaluators} = useEvaluators({ + preview: true, + queries: {is_human: evalType === "human"}, + }) + const {revisions: variantsData, isLoading: _variantsLoading} = useStatelessVariants({ + lightLoading: true, + }) + const effectiveVariantsData = isProjectScope ? (variantsData ?? []) : variantsData + + const enrichRun = useCallback( + ( + run: SnakeToCamelCaseKeys, + testsetData?: PreviewTestSet[], + runIndex?: RunIndex, + options?: {variantConfigs?: Record}, + ) => { + // Derive transformed parameters and flags per revision on-demand from atoms + const store = getDefaultStore() + const revisionIds: string[] = runIndex + ? Array.from( + new Set( + Object.values(runIndex.steps) + .map((m: any) => m?.refs?.applicationRevision?.id) + .filter(Boolean) as string[], + ), + ) + : [] + + const parametersByRevisionId: Record = {} + const flagsByRevisionId: Record = {} + for (const rid of revisionIds) { + parametersByRevisionId[rid] = store.get( + transformedPromptsAtomFamily({revisionId: rid, useStableParams: true}), + ) + flagsByRevisionId[rid] = store.get(variantFlagsAtomFamily({revisionId: rid})) + } + + const result = enrichEvaluationRun({ + run, + testsets: testsetData || [], + variantsData: effectiveVariantsData || [], + evaluators: (evaluators as EvaluatorDto[]) || [], + members, + runIndex, + extras: { + parametersByRevisionId, + flagsByRevisionId, + variantConfigs: options?.variantConfigs, + }, + projectScope: isProjectScope, + appNameById: appNames, + }) as EnrichedEvaluationRun + + if (process.env.NODE_ENV !== "production") { + const variantSummary = (result?.variants || []).map((v: any) => ({ + id: v?.id, + variantId: v?.variantId, + name: v?.variantName ?? v?.name, + appStatus: v?.appStatus, + })) + } + + return result + }, + [effectiveVariantsData, evaluators, members, isProjectScope, appNames], + ) + + const evaluatorsReady = Array.isArray(evaluators) + + return !_variantsLoading && evaluatorsReady ? enrichRun : undefined +} + +export default useEnrichEvaluationRun diff --git a/web/ee/src/lib/hooks/usePreviewEvaluations/index.ts b/web/ee/src/lib/hooks/usePreviewEvaluations/index.ts new file mode 100644 index 0000000000..65438ca047 --- /dev/null +++ b/web/ee/src/lib/hooks/usePreviewEvaluations/index.ts @@ -0,0 +1,459 @@ +import {useCallback, useEffect, useMemo} from "react" + +import {useAtomValue, useSetAtom} from "jotai" +import {atomFamily} from "jotai/utils" +import {atomWithQuery} from "jotai-tanstack-query" +import {useSWRConfig} from "swr" +import {v4 as uuidv4} from "uuid" + +import {useAppId} from "@/oss/hooks/useAppId" +import axios from "@/oss/lib/api/assets/axiosConfig" +import {EvaluationType} from "@/oss/lib/enums" +import {snakeToCamelCaseKeys} from "@/oss/lib/helpers/casing" +import useEvaluators from "@/oss/lib/hooks/useEvaluators" +import {EvaluationStatus, SnakeToCamelCaseKeys, TestSet} from "@/oss/lib/Types" +import {slugify} from "@/oss/lib/utils/slugify" +import {createEvaluationRunConfig} from "@/oss/services/evaluationRuns/api" +import {CreateEvaluationRunInput} from "@/oss/services/evaluationRuns/api/types" +import {fetchTestset} from "@/oss/services/testsets/api" +import {getProjectValues} from "@/oss/state/project" +import { + prefetchProjectVariantConfigs, + setProjectVariantReferencesAtom, +} from "@/oss/state/projectVariantConfig" +import {usePreviewTestsetsData, useTestsetsData} from "@/oss/state/testset" + +import {buildRunIndex} from "../useEvaluationRunData/assets/helpers/buildRunIndex" +import {getEvaluationRunScenariosKey} from "../useEvaluationRunScenarios" + +import useEnrichEvaluationRun from "./assets/utils" +import {collectProjectVariantReferences} from "./projectVariantConfigs" + +const EMPTY_RUNS: any[] = [] +interface PreviewEvaluationRunsData { + runs: SnakeToCamelCaseKeys[] + count: number +} + +interface PreviewEvaluationRunsQueryParams { + projectId?: string + appId?: string + searchQuery?: string + references: any[] + typesKey: string + debug: boolean + enabled: boolean +} + +const previewEvaluationRunsQueryAtomFamily = atomFamily((serializedParams: string) => + atomWithQuery(() => { + const params = JSON.parse(serializedParams) as PreviewEvaluationRunsQueryParams + const {projectId, appId, searchQuery, references, typesKey, debug, enabled} = params + + return { + queryKey: [ + "previewEvaluationRuns", + projectId ?? "none", + appId ?? "all", + typesKey, + searchQuery ?? "", + JSON.stringify(references ?? []), + ], + enabled, + refetchOnWindowFocus: false, + refetchOnReconnect: false, + queryFn: async () => { + if (!projectId) { + return {runs: [], count: 0} + } + + const payload: Record = { + run: {}, + } + payload.run.references = references ?? [] + if (searchQuery) { + payload.run.search = searchQuery + } + + const queryParams: Record = {project_id: projectId} + if (appId) queryParams.app_id = appId + + const response = await axios.post(`/preview/evaluations/runs/query`, payload, { + params: queryParams, + }) + + return { + runs: (response.data?.runs || []).map((run: EvaluationRun) => + snakeToCamelCaseKeys(run), + ), + count: response.data?.count || 0, + } + }, + } + }), +) + +interface PreviewEvaluationsQueryState { + data?: PreviewEvaluationRunsData + mutate: () => Promise + refetch: () => Promise + isLoading: boolean + isPending: boolean + isError: boolean + error: unknown +} +import {searchQueryAtom} from "./states/queryFilterAtoms" +import {EnrichedEvaluationRun, EvaluationRun} from "./types" + +const SCENARIOS_ENDPOINT = "/preview/evaluations/scenarios/" + +/** + * Custom hook to manage and enrich preview evaluation runs. + * Fetches preview runs via a shared atom query, enriches them with related metadata (testset, variant, evaluators), + * and sorts them by creation timestamp descending. + * + * @param skip - Optional flag to skip fetching preview evaluations. + * @returns Object containing SWR response, enriched runs, and a function to trigger new evaluation creation. + */ +const usePreviewEvaluations = ({ + skip, + types: propsTypes = [], + debug, + appId: appIdOverride, +}: { + skip?: boolean + types?: EvaluationType[] + debug?: boolean + appId?: string | null +} = {}): { + swrData: PreviewEvaluationsQueryState + createNewRun: (paramInputs: CreateEvaluationRunInput) => Promise + runs: EnrichedEvaluationRun[] +} => { + // atoms + const searchQuery = useAtomValue(searchQueryAtom) + const projectId = getProjectValues().projectId + + const debugEnabled = debug ?? process.env.NODE_ENV !== "production" + + const types = useMemo(() => { + return propsTypes.map((type) => { + switch (type) { + case EvaluationType.single_model_test: + case EvaluationType.human: + return EvaluationType.human + case EvaluationType.auto_exact_match: + case EvaluationType.automatic: + return EvaluationType.automatic + default: + return type + } + }) + }, [propsTypes]) + const {mutate: globalMutate} = useSWRConfig() + const routeAppId = useAppId() + const appId = (appIdOverride ?? routeAppId) || undefined + + const {data: humanEvaluators} = useEvaluators({ + preview: true, + queries: { + is_human: !types.includes(EvaluationType.automatic), + }, + }) + + const referenceFilters = useMemo(() => { + const filters: any[] = [] + if (appId) { + filters.push({ + application: {id: appId}, + }) + } + if (types.includes(EvaluationType.human)) { + if (Array.isArray(humanEvaluators) && humanEvaluators.length > 0) { + humanEvaluators.forEach((ev) => { + filters.push({ + evaluator: {id: ev.id}, + }) + }) + } else { + filters.push({ + evaluator: {}, + }) + } + } + return filters + }, [appId, humanEvaluators, types]) + + const typesKey = useMemo(() => types.slice().sort().join("|"), [types]) + const queryEnabled = !skip && Boolean(projectId) + + const serializedQueryParams = useMemo( + () => + JSON.stringify({ + projectId, + appId, + searchQuery, + references: referenceFilters, + typesKey, + debug: debugEnabled, + enabled: queryEnabled, + }), + [projectId, appId, searchQuery, referenceFilters, typesKey, debugEnabled, queryEnabled], + ) + + const evaluationRunsAtom = useMemo( + () => previewEvaluationRunsQueryAtomFamily(serializedQueryParams), + [serializedQueryParams], + ) + + const evaluationRunsQuery = useAtomValue(evaluationRunsAtom) + + const rawRuns = queryEnabled ? (evaluationRunsQuery.data?.runs ?? EMPTY_RUNS) : EMPTY_RUNS + + const evaluationRunsState = useMemo(() => { + const isPending = (evaluationRunsQuery as any).isPending ?? false + const isLoading = + (evaluationRunsQuery as any).isLoading ?? + (evaluationRunsQuery as any).isFetching ?? + isPending + const data = queryEnabled ? evaluationRunsQuery.data : {runs: [], count: 0} + return { + data, + mutate: async () => evaluationRunsQuery.refetch(), + refetch: evaluationRunsQuery.refetch, + isLoading, + isPending, + isError: queryEnabled ? ((evaluationRunsQuery as any).isError ?? false) : false, + error: queryEnabled ? evaluationRunsQuery.error : undefined, + } + }, [evaluationRunsQuery, queryEnabled]) + const setProjectVariantReferences = useSetAtom(setProjectVariantReferencesAtom) + + useEffect(() => { + if (!projectId) { + setProjectVariantReferences([]) + return + } + if (appId) { + setProjectVariantReferences([]) + return + } + const references = collectProjectVariantReferences(rawRuns, projectId) + setProjectVariantReferences(references) + prefetchProjectVariantConfigs(references) + }, [appId, projectId, rawRuns, setProjectVariantReferences]) + /** + * Hook to fetch testsets data. + */ + const {testsets} = useTestsetsData() + const {testsets: previewTestsets} = usePreviewTestsetsData() + const enrichRun = useEnrichEvaluationRun({ + evalType: types.includes(EvaluationType.automatic) ? "auto" : "human", + }) + + /** + * Helper to create scenarios for a given run and testset. + * Each CSV row becomes its own scenario. + */ + const createScenarios = useCallback( + async ( + runId: string, + testset: TestSet & {data: {testcaseIds?: string[]; testcases?: {id: string}[]}}, + ): Promise => { + if (!testset?.id) { + throw new Error(`Testset with id ${testset.id} not found.`) + } + + // 1. Build payload: each row becomes a scenario + const payload = { + scenarios: ( + testset.data.testcaseIds ?? + testset.data.testcases?.map((tc) => tc.id) ?? + [] + ).map((_id, index) => ({ + run_id: runId, + // meta: {index}, + })), + } + + // 2. Invoke the scenario endpoint + const response = await axios.post(SCENARIOS_ENDPOINT, payload) + + // Extract and return new scenario IDs + return response.data.scenarios.map((s: any) => s.id) + }, + [testsets, debug], + ) + + /** + * Helper to compute enriched and sorted runs (lazy) when accessed. + */ + const computeRuns = useCallback((): EnrichedEvaluationRun[] => { + if (!rawRuns.length || !enrichRun) return [] + const enriched: EnrichedEvaluationRun[] = rawRuns + .map((_run) => { + const runClone = structuredClone(_run) + const runIndex = buildRunIndex(runClone) + return enrichRun(runClone, previewTestsets?.testsets || [], runIndex) + }) + .filter((run): run is EnrichedEvaluationRun => Boolean(run)) + + // Sort enriched runs by timestamp, descending + return enriched.sort((a, b) => { + const tA = new Date(a.createdAtTimestamp || 0).getTime() + const tB = new Date(b.createdAtTimestamp || 0).getTime() + return tB - tA + }) + }, [rawRuns, previewTestsets, enrichRun, debug]) + + const createNewRun = useCallback( + async (paramInputs: CreateEvaluationRunInput) => { + // JIT migrate old testsets before creating a new run + if (!paramInputs.testset || !paramInputs.testset._id) { + throw new Error("Testset is required and must have an _id for migration.") + } + try { + // 1. Converts the old testset to the new format + const existingPreviewQuery = await axios.get( + `/preview/simple/testsets/${paramInputs.testset._id}`, + ) + const existingQuery = await fetchTestset(paramInputs.testset._id, false) + const existingPreview = existingPreviewQuery.data?.testset + const existing = existingQuery + let testset + if (!existingPreview) { + const result = await axios.post( + `/preview/simple/testsets/${paramInputs.testset._id}/transfer`, + ) + testset = result.data.testset + } else { + testset = existingPreview + } + + if (testset) { + paramInputs.testset = snakeToCamelCaseKeys(testset) + } + } catch (migrationErr: any) { + throw new Error( + `Failed to migrate testset before creating run: ${migrationErr?.message || migrationErr}`, + ) + } + + // 2. Creates the the payload schema + const params = createEvaluationRunConfig(paramInputs) + + // 3. Invokes run endpoint + const response = await axios.post("/preview/evaluations/runs/", params) + + // Extract the newly created runId + const runId = response.data.runs?.[0]?.id + if (!runId) { + throw new Error("createNewRun: runId not returned in response.") + } + // Now create scenarios for each row in the specified testset + if (!paramInputs.testset) { + throw new Error("Testset is required to create scenarios") + } + // 4. Creates the scenarios + const scenarioIds = await createScenarios(runId, paramInputs.testset) + + // Fire off input, invocation, and annotation steps together in one request (non-blocking) + try { + // const repeatId = uuidv4() + // const retryId = uuidv4() + // 5. First generate step keys & IDs per scenario + const revision = paramInputs.revisions?.[0] + const evaluators = paramInputs.evaluators || [] + const inputKey = slugify( + paramInputs.testset.name ?? paramInputs.testset.slug ?? "testset", + paramInputs.testset.id, + ) + const invocationKey = revision + ? slugify( + (revision as any).name ?? + (revision as any).variantName ?? + (revision as any)._parentVariant?.variantName ?? + "invocation", + revision.id, + ) + : "invocation" + + const scenarioStepsData = scenarioIds.map((scenarioId, index) => { + const hashId = uuidv4() + return { + testcaseId: + paramInputs.testset?.data?.testcaseIds?.[index] ?? + paramInputs.testset?.data?.testcases?.[index]?.id, + scenarioId, + hashId, + } + }) + + // 6. Build a single steps array combining input, invocation, and evaluator steps + const allSteps = scenarioStepsData.flatMap( + ({scenarioId, testcaseId, repeatId, retryIdInput, hashId}) => { + const base = { + testcase_id: testcaseId, + scenario_id: scenarioId, + run_id: runId, + } + const stepsArray: any[] = [ + { + ...base, + status: EvaluationStatus.SUCCESS, + step_key: inputKey, + }, + { + ...base, + step_key: invocationKey, + }, + ] + + evaluators.forEach((ev) => { + stepsArray.push({ + ...base, + step_key: `${invocationKey}.${ev.slug}`, + }) + }) + return stepsArray + }, + ) + // 7. Invoke the /results endpoint + await axios + .post(`/preview/evaluations/results/?project_id=${projectId}`, { + results: allSteps, + }) + .then((res) => { + // Revalidate scenarios data + globalMutate(getEvaluationRunScenariosKey(runId)) + }) + .catch((err) => { + console.error( + "[usePreviewEvaluations] createNewRun: failed to create steps", + err, + ) + }) + } catch (err) { + console.error("[usePreviewEvaluations] createNewRun: error scheduling steps", err) + } + // 8. Refresh SWR data for runs + await evaluationRunsState.mutate() + // Return both run response and scenario IDs + return { + run: response.data, + scenarios: scenarioIds, + } + }, + [debug, createScenarios, globalMutate, evaluationRunsState, projectId, appId], + ) + + return { + swrData: evaluationRunsState, + createNewRun, + get runs() { + return enrichRun ? computeRuns() : [] + }, + } +} + +export default usePreviewEvaluations diff --git a/web/ee/src/lib/hooks/usePreviewEvaluations/projectVariantConfigs.ts b/web/ee/src/lib/hooks/usePreviewEvaluations/projectVariantConfigs.ts new file mode 100644 index 0000000000..1961184254 --- /dev/null +++ b/web/ee/src/lib/hooks/usePreviewEvaluations/projectVariantConfigs.ts @@ -0,0 +1,131 @@ +import {ProjectVariantConfigKey} from "@/oss/state/projectVariantConfig" + +interface InvocationReference { + appId?: string + appSlug?: string + revisionId?: string + revisionVersion?: number | null + variantSlug?: string + fallbackKey?: string +} + +const normalizeReference = (refs: any, fallbackKey?: string): InvocationReference | null => { + if (!refs) return null + + const applicationRevision = + refs.applicationRevision || refs.application_revision || refs.application_ref?.revision + const applicationRef = + refs.application || + applicationRevision?.application || + refs.application_ref || + refs.applicationRef + const variantRef = refs.variant || refs.variant_ref || refs.variantRef + + const appId = + applicationRef?.id || + applicationRevision?.application_id || + applicationRevision?.applicationId + const appSlug = applicationRef?.slug || applicationRef?.name + + const revisionId = + applicationRevision?.id || + applicationRevision?.revisionId || + applicationRevision?.revision_id || + variantRef?.id || + variantRef?.revisionId || + variantRef?.revision_id + const revisionVersion = + applicationRevision?.revision ?? + applicationRevision?.version ?? + variantRef?.version ?? + variantRef?.revision + let variantSlug = + variantRef?.slug || variantRef?.name || variantRef?.variantName || variantRef?.variant_name + + if (!variantSlug) { + variantSlug = + refs.application?.slug || + refs.application?.name || + refs.applicationRef?.slug || + refs.applicationRef?.name || + fallbackKey + } + + if (!appId && !appSlug) return null + + return { + appId, + appSlug, + revisionId: revisionId || fallbackKey, + revisionVersion, + variantSlug: variantSlug || fallbackKey, + fallbackKey, + } +} + +const extractInvocationReference = (run: any): InvocationReference | null => { + const steps: any[] = run?.data?.steps || [] + const invocationStep = steps.find((step: any) => { + if (step?.type === "invocation") return true + const refs = step?.references ?? step + return Boolean( + refs?.application || + refs?.applicationRevision || + refs?.application_revision || + refs?.applicationRef || + refs?.application_ref, + ) + }) + + if (!invocationStep) return null + const refs = invocationStep.references ?? invocationStep + return normalizeReference(refs, invocationStep.key) +} + +export const collectProjectVariantReferences = ( + runs: any[], + projectId?: string, +): ProjectVariantConfigKey[] => { + if (!Array.isArray(runs) || !projectId) return [] + const collected = new Map() + + runs.forEach((run) => { + const invocation = extractInvocationReference(run) + let reference: ProjectVariantConfigKey | undefined + + if (invocation) { + reference = { + projectId, + appId: invocation.appId, + appSlug: invocation.appSlug, + variantId: invocation.revisionId, + variantSlug: invocation.variantSlug, + variantVersion: invocation.revisionVersion ?? null, + } + } else if (Array.isArray((run as any)?.variants) && (run as any).variants.length) { + const variant = (run as any).variants[0] + reference = { + projectId, + appId: variant?.appId || variant?.app_id, + appSlug: variant?.appSlug || variant?.app_slug, + variantId: variant?.id || variant?.revisionId || variant?.revision_id, + variantSlug: + variant?.variantSlug || variant?.variantName || variant?.slug || variant?.name, + variantVersion: + (variant?.revision as number | null | undefined) ?? + (variant?.revisionLabel as number | string | null | undefined) ?? + null, + } + } + + if (!reference) return + if (!reference.variantId && !reference.variantSlug) return + + const key = JSON.stringify(reference) + if (!collected.has(key)) { + collected.set(key, reference) + } + }) + + return Array.from(collected.values()) +} diff --git a/web/ee/src/lib/hooks/usePreviewEvaluations/states/queryFilterAtoms.ts b/web/ee/src/lib/hooks/usePreviewEvaluations/states/queryFilterAtoms.ts new file mode 100644 index 0000000000..5a99f2bcf5 --- /dev/null +++ b/web/ee/src/lib/hooks/usePreviewEvaluations/states/queryFilterAtoms.ts @@ -0,0 +1,7 @@ +import {atom} from "jotai" + +// search query atom +export const searchQueryAtom = atom("") + +// pagination atom +export const paginationAtom = atom({size: 20, page: 1}) diff --git a/web/ee/src/lib/hooks/usePreviewEvaluations/types.ts b/web/ee/src/lib/hooks/usePreviewEvaluations/types.ts new file mode 100644 index 0000000000..f8b684c348 --- /dev/null +++ b/web/ee/src/lib/hooks/usePreviewEvaluations/types.ts @@ -0,0 +1,84 @@ +import {EvaluatorDto} from "@/oss/lib/hooks/useEvaluators/types" +import {EnhancedVariant} from "@/oss/lib/shared/variant/transformer/types" +import {PreviewTestSet, SnakeToCamelCaseKeys, WorkspaceMember} from "@/oss/lib/Types" + +/** + * Interface representing a single evaluation run as returned from the backend API. + * Contains metadata and structured evaluation logic steps including input, + * invocation (application), and annotation (evaluation) stages. + */ + +export type EvaluationRunDataStep = + | { + /** First step: define the test input and optionally the testset variant/revision */ + key: string + type: "input" + /** References to testset and optionally its variant/revision */ + references: Record + } + | { + /** Invocation step: connects the application variant to the input */ + key: string + type: "invocation" + /** Defines which previous steps this step takes input from */ + inputs: {key: string}[] + /** References to application, variant, and revision IDs */ + references: Record + } + | { + /** Annotation step: applies an evaluator to the input + invocation results */ + key: string + type: "annotation" + /** Usually takes input from both the "input" and "invocation" steps */ + inputs: {key: string}[] + /** References to evaluator slug and evaluator variant ID */ + references: Record + } + +export type IEvaluationRunDataStep = SnakeToCamelCaseKeys +export interface EvaluationRun { + /** Unique identifier for the evaluation run */ + id: string + /** Display name for the run */ + name: string + /** Optional description text for the run */ + description: string + /** ISO timestamp of when the run was created */ + created_at: string + /** ID of the user who created the run */ + created_by_id: string + /** Optional metadata object (arbitrary key-value pairs) */ + meta: Record + /** Flags associated with the run (internal use) */ + flags: Record + /** Current status of the run (e.g., "pending", "completed") */ + status: string + data: { + /** Array of evaluation steps that define execution flow */ + steps: EvaluationRunDataStep[] + /** Mappings define how to extract values from steps for display or evaluation */ + mappings: { + /** Type of the mapping, determines what the value represents */ + kind: "input" | "ground_truth" | "application" | "evaluator" + /** Display name for the mapped value */ + name: string + /** Path reference to the data inside a step */ + step: { + /** The step key this mapping belongs to */ + key: string + /** Path within the step data (e.g., 'country' or 'data.outputs.metric') */ + path: string + } + }[] + } +} + +export interface EnrichedEvaluationRun extends SnakeToCamelCaseKeys { + /** All distinct testsets referenced in this run */ + testsets: PreviewTestSet[] + createdBy?: WorkspaceMember + createdAtTimestamp?: number + /** All distinct application revisions (variants) referenced */ + variants?: EnhancedVariant[] + evaluators?: EvaluatorDto[] +} diff --git a/web/ee/src/lib/hooks/usePreviewRunningEvaluations/index.ts b/web/ee/src/lib/hooks/usePreviewRunningEvaluations/index.ts new file mode 100644 index 0000000000..d73f381a85 --- /dev/null +++ b/web/ee/src/lib/hooks/usePreviewRunningEvaluations/index.ts @@ -0,0 +1,58 @@ +import {atomFamily} from "jotai/utils" +import {atomWithQuery} from "jotai-tanstack-query" + +import axios from "@/oss/lib/api/assets/axiosConfig" +import {EvaluationStatus} from "@/oss/lib/Types" +import {getProjectValues} from "@/oss/state/project" + +import {EnrichedEvaluationRun} from "../usePreviewEvaluations/types" + +const REFETCH_INTERVAL = 10000 + +export const resourceStatusQueryFamily = atomFamily((id) => + atomWithQuery((get) => { + const projectId = getProjectValues().projectId + + return { + queryKey: ["resourceStatus", id, projectId], + queryFn: async () => { + const res = await axios.get( + `/preview/evaluations/runs/${id}?project_id=${projectId}`, + ) + return res.data + }, + + // Poll every 5s until success; then stop polling. + refetchInterval: (query) => { + const data = query.state.data as EnrichedEvaluationRun | undefined + + if ( + ![ + EvaluationStatus.PENDING, + EvaluationStatus.RUNNING, + EvaluationStatus.CANCELLED, + EvaluationStatus.INITIALIZED, + ].includes(data?.run?.status) + ) + return false // stop polling + return REFETCH_INTERVAL // keep polling + }, + + enabled: Boolean(id) && Boolean(projectId), + + // Avoid accidental refetches after success + refetchOnWindowFocus: false, + refetchOnReconnect: false, + + // Reasonable cache/stale settings + staleTime: 10_000, + gcTime: 5 * 60 * 1000, + } + }), +) + +// export const allResourceStatusesAtom = atom((get) => { +// const ids = get(runningEvaluationIdsAtom) +// const uniqueIds = Array.from(new Set(ids)) +// return uniqueIds.map((id) => get(resourceStatusQueryFamily(id))) +// }) diff --git a/web/ee/src/lib/hooks/usePreviewRunningEvaluations/states/runningEvalAtom.ts b/web/ee/src/lib/hooks/usePreviewRunningEvaluations/states/runningEvalAtom.ts new file mode 100644 index 0000000000..058724f731 --- /dev/null +++ b/web/ee/src/lib/hooks/usePreviewRunningEvaluations/states/runningEvalAtom.ts @@ -0,0 +1,10 @@ +import {atom} from "jotai" + +import {EnrichedEvaluationRun} from "../../usePreviewEvaluations/types" + +// Collect all the running evaluation ids +export const runningEvaluationIdsAtom = atom([]) + +// This atom collects the running evaluations a store it temporarily +// until we fix the issue on backend +export const tempEvaluationAtom = atom([]) diff --git a/web/ee/src/lib/hooks/useRunMetricsMap/index.ts b/web/ee/src/lib/hooks/useRunMetricsMap/index.ts new file mode 100644 index 0000000000..2595ab2e55 --- /dev/null +++ b/web/ee/src/lib/hooks/useRunMetricsMap/index.ts @@ -0,0 +1,171 @@ +import useSWR from "swr" + +import axios from "@/oss/lib/api/assets/axiosConfig" +import {METRICS_ENDPOINT, computeRunMetrics} from "@/oss/services/runMetrics/api" +import {BasicStats} from "@/oss/services/runMetrics/api/types" + +import type {MetricResponse} from "../useEvaluationRunMetrics/types" + +// Returns aggregated advanced stats per run +const fetchRunMetricsMap = async ( + runIds: string[], + evaluatorSlugs: Set | undefined, +): Promise>> => { + // POST to query endpoint with body { metrics: { run_ids: [...] }, windowing: {...} } + const endpoint = `${METRICS_ENDPOINT}query` + const body: Record = { + metrics: { + ...(Array.isArray(runIds) && runIds.length ? {run_ids: runIds} : {}), + }, + windowing: {}, + } + const res = await axios.post(endpoint, body) + + const rawMetrics: MetricResponse[] = Array.isArray(res.data?.metrics) ? res.data.metrics : [] + + // Process evaluator metrics to ensure they have the correct prefix important for auto eval + const processedMetrics = rawMetrics.map((metric) => { + if (!metric.data) return metric + + const processedData: Record = {} + + // add evaluator metrics to processed data + Object.entries(metric.data as Record>).forEach( + ([stepKey, stepData]) => { + const parts = stepKey.split(".") + if (parts.length === 1) { + const slug = parts[0] + if (evaluatorSlugs?.has(slug)) { + // This is an evaluator metric, ensure all keys are prefixed + const newStepData: Record = {} + Object.entries(stepData).forEach(([key, value]) => { + const prefixedKey = key.startsWith(`${slug}.`) ? key : `${slug}.${key}` + newStepData[prefixedKey] = value + }) + processedData[stepKey] = newStepData + } else { + // Keep non-evaluator data as is + processedData[stepKey] = stepData + } + } else { + // Keep invocation data as is + processedData[stepKey] = stepData + } + }, + ) + + return { + ...metric, + data: processedData, + } + }) + + // Helper to classify & flatten metric payload (mirrors fetchRunMetrics.worker) + const transformData = (data: Record): Record => { + const flat: Record = {} + Object.entries(data || {}).forEach(([stepKey, metrics]) => { + // Pass-through for analytics keys like ag.metrics.* + if (stepKey.startsWith("ag.")) { + const raw = metrics + let value: any = raw + if (typeof raw === "object" && raw !== null) { + if ("mean" in raw) value = (raw as any).mean + else if ("value" in raw) value = (raw as any).value + } + flat[stepKey] = value + return + } + + const isAnalyticsPath = stepKey.startsWith("attributes.ag.") + + const parts = stepKey.split(".") + const isInvocation = parts.length === 1 + const slug = isInvocation ? undefined : parts[1] + Object.entries(metrics as Record).forEach(([metricKey, raw]) => { + let value: any = raw + if (typeof raw === "object" && raw !== null) { + if ("mean" in raw) { + value = (raw as any).mean + } else if ("value" in raw) { + value = (raw as any).value + } else if ("freq" in raw || "uniq" in raw) { + const mapped: any = {...raw} + if (Array.isArray(mapped.freq)) { + mapped.frequency = mapped.freq.map((entry: any) => ({ + value: entry?.value, + count: entry?.count ?? entry?.frequency ?? 0, + })) + mapped.frequency.sort( + (a: any, b: any) => + b.count - a.count || (a.value === true ? -1 : 1), + ) + delete mapped.freq + mapped.rank = mapped.frequency + } + if (Array.isArray(mapped.uniq)) { + mapped.unique = mapped.uniq + delete mapped.uniq + } + if (!Array.isArray(mapped.unique) && Array.isArray(mapped.frequency)) { + mapped.unique = mapped.frequency.map((entry: any) => entry.value) + } + value = mapped + } + } + if (isAnalyticsPath) { + const canonicalKey = `${stepKey}.${metricKey}` + flat[canonicalKey] = value + // Legacy fallback for evaluator display (last segment only) + const legacyKey = metricKey + if (!(legacyKey in flat)) { + flat[legacyKey] = value + } + } else if (isInvocation) { + let newKey = metricKey + if (metricKey.startsWith("tokens.")) { + newKey = metricKey.slice(7) + "Tokens" // tokens.prompt -> promptTokens + } else if (metricKey.startsWith("cost")) { + newKey = "totalCost" + } + flat[newKey] = value + } else { + const pref = slug ? `${slug}.` : "" + flat[`${pref}${metricKey}`] = value + } + }) + }) + return flat + } + + const buckets: Record}[]> = {} + processedMetrics.forEach((m) => { + const metric = m + if (!metric.scenario_id || !metric.run_id) return + const key = metric.run_id + if (!buckets[key]) buckets[key] = [] + const flattened = transformData(metric.data as any) + buckets[key].push({data: flattened}) + }) + + const result: Record> = {} + Object.entries(buckets).forEach(([runId, entries]) => { + const agg = computeRunMetrics(entries) + result[runId] = agg + }) + + return result +} + +const useRunMetricsMap = ( + runIds: string[] | undefined, + evaluatorSlugs: Set | undefined, +) => { + const swrKey = runIds && runIds.length ? ["runMetricsMap", ...runIds] : null + const {data, error, isLoading} = useSWR>>( + swrKey, + () => fetchRunMetricsMap(runIds!, evaluatorSlugs!), + ) + return {data, isLoading, isError: !!error} +} + +export default useRunMetricsMap diff --git a/web/ee/src/lib/metricColumnFactory.tsx b/web/ee/src/lib/metricColumnFactory.tsx new file mode 100644 index 0000000000..72503b77c3 --- /dev/null +++ b/web/ee/src/lib/metricColumnFactory.tsx @@ -0,0 +1,112 @@ +import React from "react" + +import {ColumnsType} from "antd/es/table" + +import {MetricDetailsPopoverWrapper} from "@/oss/components/HumanEvaluations/assets/MetricDetailsPopover" +import {EvaluatorDto} from "@/oss/lib/hooks/useEvaluators/types" +import {buildMetricSorter} from "@/oss/lib/metricSorter" +import { + isSortableMetricType, + BasicStats, + canonicalizeMetricKey, + getMetricValueWithAliases, +} from "@/oss/lib/metricUtils" + +const resolveMetricStats = ( + metrics: Record | undefined, + candidates: (string | undefined)[], + fallbackSuffix?: string, +): BasicStats | undefined => { + if (!metrics) return undefined + const allCandidates = [...candidates] + if (fallbackSuffix) { + candidates.forEach((key) => { + if (!key || key.endsWith(fallbackSuffix)) return + allCandidates.push(`${key}.${fallbackSuffix}`) + }) + } + for (const key of allCandidates) { + if (!key) continue + if (metrics[key]) return metrics[key] + const canonical = canonicalizeMetricKey(key) + if (canonical !== key && metrics[canonical]) return metrics[canonical] + const alias = getMetricValueWithAliases(metrics, key) + if (alias) return alias + } + return undefined +} + +import {EvaluationRow} from "../components/HumanEvaluations/types" + +export interface BuildEvaluatorMetricColumnsParams { + evaluator: EvaluatorDto + runMetricsMap?: Record> + hidePrimitiveTable?: boolean + debug?: boolean +} + +export function buildEvaluatorMetricColumns({ + evaluator, + runMetricsMap, + hidePrimitiveTable = false, + debug = false, +}: BuildEvaluatorMetricColumnsParams): ColumnsType { + const metricKeys = Object.keys(evaluator.metrics || {}) + return metricKeys.map((metricKey) => { + const schemaType = evaluator.metrics?.[metricKey]?.type + const sortable = isSortableMetricType(schemaType) + + const analyticsCandidates = [ + `attributes.ag.data.outputs.${metricKey}`, + `attributes.ag.metrics.${metricKey}`, + ] + const baseCandidates = [ + `${evaluator.slug}.${metricKey}`, + metricKey, + ...analyticsCandidates, + ...analyticsCandidates.map((path) => `${evaluator.slug}.${path}`), + ] + + return { + key: `${evaluator.slug}:${metricKey}`, + dataIndex: metricKey, + title: ( +
    + {metricKey} +
    + ), + sorter: sortable + ? buildMetricSorter((row) => { + const runId = "id" in row ? row.id : (row as any).key + const metrics = runMetricsMap?.[runId] + return resolveMetricStats(metrics, baseCandidates) + }) + : undefined, + render: (_: any, record: EvaluationRow) => { + const hasEvaluator = Array.isArray((record as any).evaluators) + ? (record as any).evaluators.some( + (e: EvaluatorDto) => e.slug === evaluator.slug, + ) + : false + + const runMetric = + runMetricsMap?.[("id" in record ? record.id : (record as any).key) as string] + const stats = resolveMetricStats(runMetric, baseCandidates) + + return hasEvaluator ? ( + + ) : ( +
    + ) + }, + } as any + }) as ColumnsType +} diff --git a/web/ee/src/lib/metricSorter.ts b/web/ee/src/lib/metricSorter.ts new file mode 100644 index 0000000000..e6edc9bd70 --- /dev/null +++ b/web/ee/src/lib/metricSorter.ts @@ -0,0 +1,19 @@ +import {extractPrimitive, metricCompare} from "./metricUtils" + +/** + * Build an Ant Design-compatible sorter object that compares metric values in a row-agnostic way. + * Provide a getter that receives the table row (any shape) and returns the raw metric value. + * + * This isolates the shared compare logic so that different tables only need to supply + * their own way of fetching the raw value (from atoms, maps, etc.). When the metric + * payload shape changes we only have to update `extractPrimitive` / `metricCompare`. + */ +export function buildMetricSorter(getRaw: (row: RowType) => unknown) { + return { + compare: (a: RowType, b: RowType) => { + const primA = extractPrimitive(getRaw(a)) + const primB = extractPrimitive(getRaw(b)) + return metricCompare(primA, primB) + }, + } +} diff --git a/web/ee/src/lib/metricUtils.ts b/web/ee/src/lib/metricUtils.ts new file mode 100644 index 0000000000..65a4e2183e --- /dev/null +++ b/web/ee/src/lib/metricUtils.ts @@ -0,0 +1,278 @@ +/* + * Shared metric-handling utilities for Agenta Cloud front-end. + * --------------------------------------------------------------------------- + * These helpers consolidate common logic that previously lived in multiple + * table utilities (HumanEvaluations, VirtualizedScenarioTable, MetricCell …). + * Any future change to the metric data shape (e.g. new statistical fields) can + * now be implemented in a single place. + */ + +// --------------------------------------------------------------------------- +// Type definitions +// --------------------------------------------------------------------------- + +/** Simple histogram entry returned by backend */ +export interface FrequencyEntry { + value: T + count: number +} + +/** Stats object returned by backend `GET /runs/:id/metrics` */ +export interface BasicStats { + mean?: number + sum?: number + /** Ordered frequency list (most common first) */ + frequency?: FrequencyEntry[] + /** Total sample count */ + count?: number + // backend may add extra fields – index signature keeps type-safety while + // allowing unknown additions. + [key: string]: unknown +} + +/** Metric primitive or stats wrapper */ +export type MetricValue = BasicStats | unknown + +/** Union of recognised primitive metric types */ +export type PrimitiveMetricType = "number" | "boolean" | "string" | "array" | "object" | "null" + +/** + * An explicit metric type coming from evaluator schema can be either a single + * string or a JSON-Schema union array (e.g. ["string","null"]). + */ +export type SchemaMetricType = PrimitiveMetricType | PrimitiveMetricType[] + +// --------------------------------------------------------------------------- +// Helpers +// --------------------------------------------------------------------------- + +const METRIC_KEY_SYNONYMS: string[][] = [ + ["attributes.ag.metrics.costs.cumulative.total", "totalCost", "costs.total", "cost"], + ["attributes.ag.metrics.duration.cumulative", "duration", "duration.total"], + ["attributes.ag.metrics.tokens.cumulative.total", "totalTokens", "tokens.total", "tokens"], + ["attributes.ag.metrics.errors.cumulative", "errors"], +] + +const aliasToCanonical = new Map() +const canonicalToGroup = new Map() + +METRIC_KEY_SYNONYMS.forEach((group) => { + const [canonical] = group + canonicalToGroup.set(canonical, group) + group.forEach((alias) => { + aliasToCanonical.set(alias, canonical) + }) +}) + +/** + * Return the canonical metric key for the provided alias. If the key is not a + * recognised alias it is returned unchanged. + */ +export const canonicalizeMetricKey = (key: string): string => { + return aliasToCanonical.get(key) ?? key +} + +const resolveMetricCandidates = (key: string): string[] => { + const canonical = canonicalizeMetricKey(key) + const group = canonicalToGroup.get(canonical) + return group ? group : [canonical] +} + +/** + * Fetch a metric value from a flat metrics map using canonical aliases. + * Returns the first non-undefined candidate. + */ +export const getMetricValueWithAliases = ( + metrics: Record, + key: string, +): T | undefined => { + if (!metrics) return undefined + const candidates = resolveMetricCandidates(key) + for (const candidate of candidates) { + if (candidate in metrics && metrics[candidate] !== undefined) { + return metrics[candidate] as T + } + } + return undefined +} + +/** + * Helper used by table headers to provide a human friendly label for well known + * metrics regardless of whether we receive the legacy or the new analytics key. + */ +export const getMetricDisplayName = (key: string): string => { + const canonical = canonicalizeMetricKey(key) + switch (canonical) { + case "attributes.ag.metrics.costs.cumulative.total": + return "Cost (Total)" + case "attributes.ag.metrics.duration.cumulative": + return "Duration (Total)" + case "attributes.ag.metrics.tokens.cumulative.total": + return "Total tokens" + case "attributes.ag.metrics.errors.cumulative": + return "Errors" + default: { + const cleaned = canonical + .replace(/[_\.]/g, " ") + .replace(/\s+/g, " ") + .trim() + .toLowerCase() + return cleaned.replace(/\b\w/g, (c) => c.toUpperCase()) + } + } +} + +/** + * Extract a single primitive value from a metric payload. + * + * The backend may return either: + * • a plain primitive (number | string | boolean | array) + * • a {@link BasicStats} object containing statistical fields. + * + * This helper applies the heuristics used in several places: + * 1. mean + * 2. sum + * 3. first frequency value + * 4. fallback to raw object + */ +export function extractPrimitive(metric: MetricValue): T | undefined { + if (metric === null || metric === undefined) return undefined as any + + // Plain primitives / arrays are returned verbatim. + if (typeof metric !== "object" || Array.isArray(metric)) return metric as any + + const stats = metric as BasicStats + if (stats.mean !== undefined) return stats.mean as any + if (stats.sum !== undefined) return stats.sum as any + if (stats.frequency?.length) return stats.frequency[0].value as any + + // As a last resort return the object itself (caller decides what to do). + return metric as any +} + +/** + * Infer the metric primitive type when evaluator schema does not provide one. + * + * Mainly used by table renderers to decide formatting & sorter eligibility. + */ +export function inferMetricType(raw: unknown, schemaType?: SchemaMetricType): PrimitiveMetricType { + if (schemaType) { + // When evaluator schema provides a union array we choose the first non-null type. + if (Array.isArray(schemaType)) { + const withoutNull = schemaType.filter((t) => t !== "null") + return (withoutNull[0] ?? "string") as PrimitiveMetricType + } + return schemaType as PrimitiveMetricType + } + + if (raw === null) return "null" + if (Array.isArray(raw)) return "array" + const t = typeof raw + if (t === "number" || t === "boolean" || t === "string") return t + return "object" +} + +/** + * Determine if a column with the given metric type should expose sorting. + * + * Current UX policy: only numeric and boolean primitives are sortable. + */ +export function isSortableMetricType(metricType: SchemaMetricType | undefined): boolean { + if (!metricType) return true // fallback + + const types = Array.isArray(metricType) ? metricType : [metricType] + return !types.includes("string") && !types.includes("array") +} + +/** + * Generic comparator function used by AntD Table sorter. + * Returns negative / zero / positive like `Array.prototype.sort` expects. + */ +export function summarizeMetric( + stats: BasicStats | undefined, + schemaType?: SchemaMetricType, +): string | number | undefined { + if (!stats) return undefined + + // 1. mean for numeric metrics (latency etc.) + if (typeof (stats as any).mean === "number") { + return (stats as any).mean + } + + // 2. boolean metrics – proportion of true (percentage) + if (schemaType === "boolean" && Array.isArray((stats as any).frequency)) { + const trueEntry = (stats as any).frequency.find((f: any) => f.value === true) + const total = (stats as any).count ?? 0 + if (total) { + return ((trueEntry?.count ?? 0) / total) * 100 + } + } + + // 3. ranked categorical metrics – show top value and count + if (Array.isArray((stats as any).rank) && (stats as any).rank.length) { + const top = (stats as any).rank[0] + return `${top.value} (${top.count})` + } + + // 4. plain count fallback + if (typeof (stats as any).count === "number") { + return (stats as any).count + } + + return undefined +} + +export function metricCompare(a: unknown, b: unknown): number { + // undefined / null handling – push to bottom + if (a === undefined || a === null) return 1 + if (b === undefined || b === null) return -1 + + // Normalize boolean-like values so categorical metrics sort correctly. + // Accept true/false, "true"/"false" (case-insensitive), and 1/0. + const normalizeBool = (v: unknown): boolean | undefined => { + if (typeof v === "boolean") return v + if (typeof v === "number") { + if (v === 1) return true + if (v === 0) return false + return undefined + } + if (typeof v === "string") { + const s = v.trim().toLowerCase() + if (s === "true") return true + if (s === "false") return false + if (s === "1") return true + if (s === "0") return false + } + return undefined + } + + const boolA = normalizeBool(a) + const boolB = normalizeBool(b) + if (boolA !== undefined && boolB !== undefined) { + // false < true when sorting ascending + return Number(boolA) - Number(boolB) + } + + const numA = Number(a as any) + const numB = Number(b as any) + const bothNumeric = !Number.isNaN(numA) && !Number.isNaN(numB) + if (bothNumeric) return numA - numB + + return String(a).localeCompare(String(b)) +} + +/** + * Compute maximum width among children columns. Used when a metrics group is + * collapsed into one column. + */ +export function maxChildWidth( + children: {key?: string; dataIndex?: string; width?: number}[], + distMap: Record, + fallback = 160, +): number { + return Math.max( + ...children.map( + (ch) => distMap[ch.key ?? ch.dataIndex ?? ""]?.width ?? ch.width ?? fallback, + ), + ) +} diff --git a/web/ee/src/lib/metrics/utils.ts b/web/ee/src/lib/metrics/utils.ts new file mode 100644 index 0000000000..e3255eed26 --- /dev/null +++ b/web/ee/src/lib/metrics/utils.ts @@ -0,0 +1,93 @@ +import {canonicalizeMetricKey, getMetricDisplayName} from "../metricUtils" + +// Shared helpers for metric key humanisation and sorting +// ------------------------------------------------------ +// This centralises the logic used in various tables (virtualised scenario table, +// human-evaluation runs table, etc.) so we have a single source of truth when we +// add new invocation-level metrics. + +export interface MetricConfig { + /** Which field in BasicStats to use when sorting / displaying primary value */ + primary: string + /** Human-readable column title */ + label: string +} + +const TOKEN_ORDER = ["promptTokens", "completionTokens", "totalTokens"] as const + +/** + * Given a flattened invocation metric key (e.g. "latency", "totalCost", + * "duration.total", "promptTokens" …) return: + * 1. primary aggregation key to read from BasicStats + * 2. human-friendly title string used for column headers + */ +export const getMetricConfig = (key: string): MetricConfig => { + const canonical = canonicalizeMetricKey(key) + if (canonical === "attributes.ag.metrics.costs.cumulative.total") { + return {primary: "sum", label: getMetricDisplayName(canonical)} + } + if (canonical === "attributes.ag.metrics.duration.cumulative") { + return {primary: "mean", label: getMetricDisplayName(canonical)} + } + if (canonical === "attributes.ag.metrics.tokens.cumulative.total") { + return {primary: "sum", label: getMetricDisplayName(canonical)} + } + if (canonical === "attributes.ag.metrics.errors.cumulative") { + return {primary: "count", label: getMetricDisplayName(canonical)} + } + + if (canonical !== key) { + return getMetricConfig(canonical) + } + + // Common most-used names first for performance/readability + if (key === "latency") { + return {primary: "mean", label: "Latency (mean)"} + } + if (key === "totalCost" || key === "cost") { + return {primary: "sum", label: "Cost (total)"} + } + + // Token counts (camelCase like promptTokens -> "Prompt tokens (total)") + if (key.endsWith("Tokens")) { + const words = key + .replace(/Tokens$/, " tokens") + .replace(/([A-Z])/g, " $1") + .trim() + const capitalised = words.charAt(0).toUpperCase() + words.slice(1) + return {primary: "sum", label: `${capitalised} (total)`} + } + + // Dotted keys from step summariser e.g. duration.total => Duration (total) + if (key.includes(".")) { + const [base, sub] = key.split(".") + const capitalised = base.charAt(0).toUpperCase() + base.slice(1) + const primary = sub === "total" ? "sum" : sub + return {primary, label: `${capitalised} (${sub})`} + } + + // Fallback – treat as numeric mean + const capitalised = getMetricDisplayName(key) + const primary = key === "errors" ? "count" : "mean" + return {primary, label: `${capitalised} (${primary})`} +} + +/** + * Provide a stable sort priority for invocation metric keys so that tables show + * them in a predictable order: + * 0. cost + * 1. duration.* + * 2. token metrics (prompt, completion, total, then any other token key) + * 3. others alphabetical + */ +export const metricPriority = (key: string): [number, number] => { + const canonical = canonicalizeMetricKey(key) + const target = canonical ?? key + const lc = target.toLowerCase() + if (lc.includes("cost")) return [0, 0] + if (lc.includes("duration")) return [1, 0] + const tokenIdx = TOKEN_ORDER.indexOf(target as (typeof TOKEN_ORDER)[number]) + if (tokenIdx !== -1) return [2, tokenIdx] + if (target.endsWith("Tokens") || lc.includes("token")) return [2, 99] + return [3, 0] +} diff --git a/web/ee/src/lib/tableUtils.ts b/web/ee/src/lib/tableUtils.ts new file mode 100644 index 0000000000..fee6f354bc --- /dev/null +++ b/web/ee/src/lib/tableUtils.ts @@ -0,0 +1,36 @@ +/** + * Generic table-helper utilities shared between Scenario & Human-Evaluation tables. + * Keeping them here ensures we only tweak one place if the backend payload shape changes. + */ + +/** Lightweight lodash.get replacement for simple "a.b.c" paths */ +export function deepGet(obj: any, path: string): any { + if (!obj || typeof obj !== "object") return undefined + return path.split(".").reduce((acc: any, key: string) => (acc ? acc[key] : undefined), obj) +} + +/** + * Recursively collect dotted paths to every leaf value inside a nested object. + * Example: {a:{b:1,c:{d:2}}, e:3} -> ['a.b', 'a.c.d', 'e'] + */ +export function collectLeafPaths(obj: any, prefix = ""): string[] { + if (!obj || typeof obj !== "object") return [] + const paths: string[] = [] + Object.entries(obj).forEach(([k, v]) => { + const p = prefix ? `${prefix}.${k}` : k + if (v && typeof v === "object") { + paths.push(...collectLeafPaths(v, p)) + } else { + paths.push(p) + } + }) + return paths +} + +/** Build placeholder skeleton rows so the table height stays stable while data fetches. */ +export function buildSkeletonRows(count: number): {key: string; isSkeleton: true}[] { + return Array.from({length: count}, (_, idx) => ({ + key: `skeleton-${idx}`, + isSkeleton: true as const, + })) +} diff --git a/web/ee/src/lib/types_ee.ts b/web/ee/src/lib/types_ee.ts new file mode 100644 index 0000000000..92fb607149 --- /dev/null +++ b/web/ee/src/lib/types_ee.ts @@ -0,0 +1,165 @@ +import {GenericObject, RequestMetadata} from "@/oss/lib/Types" +import {Environment, IPromptRevisions} from "@/oss/lib/Types" + +export enum GenerationStatus { + UNSET = "UNSET", + OK = "OK", + ERROR = "ERROR", +} + +export enum GenerationKind { + TOOL = "TOOL", + CHAIN = "CHAIN", + LLM = "LLM", + WORKFLOW = "WORKFLOW", + RETRIEVER = "RETRIEVER", + EMBEDDING = "EMBEDDING", + AGENT = "AGENT", + UNKNOWN = "UNKNOWN", +} + +export interface Generation { + id: string + created_at: string + variant: { + variant_id: string + variant_name: string + revision: number + } + environment: string | null + status: GenerationStatus + error?: string + spankind: GenerationKind + metadata?: RequestMetadata + user_id?: string + children?: [] + parent_span_id?: string + name?: string + content: { + inputs: Record + internals: Record + outputs: string[] | Record + } +} + +export interface GenerationTreeNode { + title: React.ReactElement + key: string + children?: GenerationTreeNode[] +} + +export interface GenerationDetails extends Generation { + config: GenericObject +} + +export interface GenerationDashboardData { + data: { + timestamp: number | string + success_count: number + failure_count: number + cost: number + latency: number + total_tokens: number + prompt_tokens: number + completion_tokens: number + enviornment: string + variant: string + }[] + total_count: number + failure_rate: number + total_cost: number + avg_cost: number + avg_latency: number + total_tokens: number + avg_tokens: number +} + +export interface TracingDashboardData { + buckets: { + errors: { + costs: number + count: number + duration: number + tokens: number + } + timestamp: string + total: { + costs: number + count: number + duration: number + tokens: number + } + window: number + }[] + count: number + version: string +} + +export interface Trace extends Generation {} + +export interface TraceDetails extends GenerationDetails { + spans: Generation[] +} + +export interface DeploymentRevisionConfig { + config_name: string + current_version: number + parameters: Record +} + +export interface IEnvironmentRevision { + revision: number + modified_by: string + created_at: string +} + +export interface IPromptVersioning { + app_id: string + app_name: string + base_id: string + base_name: string + config_name: string + organization_id: string + parameters: Record + previous_variant_name: string | null + revision: number + revisions: [IPromptRevisions] + uri: string + user_id: string + variant_id: string + variant_name: string +} + +export interface DeploymentRevision { + created_at: string + deployed_app_variant_revision: string + deployment: string + id: string + deployed_variant_name: string | null + modified_by: string + revision: number + commit_message: string | null +} + +export interface DeploymentRevisions extends Environment { + revisions: DeploymentRevision[] +} + +export interface EvaluatorMappingInput { + inputs: Record + mapping: Record +} + +export interface EvaluatorMappingOutput { + outputs: Record +} + +export interface EvaluatorInputInterface { + inputs: Record + settings?: Record + credentials?: Record +} + +export interface EvaluatorOutputInterface { + outputs: Record +} diff --git a/web/ee/src/lib/workers/evalRunner/bulkWorker.ts b/web/ee/src/lib/workers/evalRunner/bulkWorker.ts new file mode 100644 index 0000000000..61211ad36c --- /dev/null +++ b/web/ee/src/lib/workers/evalRunner/bulkWorker.ts @@ -0,0 +1,143 @@ +/* + * Main-thread helper for the evalRunner bulk-fetch web-worker. + * Lazily spins up a single instance of the worker and multiplexes requests + * by a generated requestId. + */ + +import type {WorkerEvalContext} from "./workerFetch" + +import {serializeRunIndex} from "@/agenta-oss-common/lib/hooks/useEvaluationRunData/assets/helpers/buildRunIndex" +import {UseEvaluationRunScenarioStepsFetcherResult} from "@/agenta-oss-common/lib/hooks/useEvaluationRunScenarioSteps/types" + +type RawEntry = [string, UseEvaluationRunScenarioStepsFetcherResult] + +interface FetchBulkChunkMessage { + type: "chunk" + requestId: string + json: string // stringified RawEntry[] +} + +interface FetchBulkDoneMessage { + type: "done" + requestId: string +} + +interface FetchBulkErrorMessage { + type: "error" + requestId: string + error: string +} + +type WorkerMessage = FetchBulkChunkMessage | FetchBulkDoneMessage | FetchBulkErrorMessage + +interface Pending { + resolve: (v: Map) => void + reject: (e: unknown) => void + timer: ReturnType + buffer: Map + onChunk?: (chunk: Map) => void +} + +let worker: Worker | null = null +const pendings = new Map() + +function ensureWorker() { + if (worker) return + + // @ts-ignore + worker = new Worker(new URL("./fetchSteps.worker.ts", import.meta.url), {type: "module"}) + worker.onmessage = (event: MessageEvent) => { + const msg = event.data as WorkerMessage + const pending = pendings.get(msg.requestId) + if (!pending) return + + switch (msg.type) { + case "chunk": { + queueMicrotask(() => { + const entries: RawEntry[] = JSON.parse(msg.json) + const chunkMap = new Map() + for (const [id, data] of entries) { + pending.buffer.set(id, data) + chunkMap.set(id, data) + } + if (pending.onChunk) { + try { + pending.onChunk(chunkMap) + } catch (err) { + console.error("[bulkWorker] onChunk error", err) + } + } + }) + break + } + case "done": { + clearTimeout(pending.timer) + pendings.delete(msg.requestId) + pending.resolve(pending.buffer) + break + } + case "error": { + clearTimeout(pending.timer) + pendings.delete(msg.requestId) + console.error(`[bulkWorker] error from worker`, msg.error) + pending.reject(new Error(msg.error)) + break + } + default: + break + } + } +} + +const DEFAULT_WORKER_TIMEOUT_MS = 300_000 // 5 minutes + +export async function fetchStepsViaWorker({ + scenarioIds, + context, + timeoutMs = DEFAULT_WORKER_TIMEOUT_MS, + onChunk, +}: { + scenarioIds: string[] + context: WorkerEvalContext + timeoutMs?: number + onChunk?: (chunk: Map) => void +}): Promise> { + if (typeof Worker === "undefined") { + throw new Error("Web Workers not supported in this environment") + } + ensureWorker() + const requestId = (crypto.randomUUID?.() ?? Math.random().toString(36).slice(2)) as string + return new Promise((resolve, reject) => { + const timer = setTimeout(() => { + pendings.delete(requestId) + reject(new Error(`Worker request timed out after ${timeoutMs} ms`)) + }, timeoutMs) + pendings.set(requestId, { + resolve, + reject, + timer, + buffer: new Map(), + onChunk, + }) + worker!.postMessage({ + type: "fetch-bulk", + requestId, + scenarioIds, + context: { + apiUrl: context.apiUrl, + evaluators: context.evaluators, + jwt: context.jwt, + projectId: context.projectId, + runIndex: serializeRunIndex(context.runIndex), + members: context.members, + runId: context.runId, + mappings: context.mappings, + testsets: context.testsets, + variants: context.variants, + uriObject: context.uriObject, + parametersByRevisionId: context.parametersByRevisionId, + appType: context.appType, + }, + }) + }) +} diff --git a/web/ee/src/lib/workers/evalRunner/evalRunner.worker.ts b/web/ee/src/lib/workers/evalRunner/evalRunner.worker.ts new file mode 100644 index 0000000000..f4ed98c750 --- /dev/null +++ b/web/ee/src/lib/workers/evalRunner/evalRunner.worker.ts @@ -0,0 +1,259 @@ +// evalRunner.worker.ts + +import {snakeToCamelCaseKeys} from "@agenta/oss/src/lib/helpers/casing" +import {BaseResponse, EvaluationStatus} from "@agenta/oss/src/lib/Types" + +import { + updateScenarioStatusRemote, + upsertScenarioStep, +} from "@/oss/services/evaluations/workerUtils" +import {createScenarioMetrics, computeRunMetrics} from "@/oss/services/runMetrics/api" + +import {RunEvalMessage, ResultMessage, WorkerMessage} from "./types" + +async function updateScenarioStatus( + apiUrl: string, + jwt: string, + scenarioId: string, + status: EvaluationStatus, + projectId: string, +) { + await updateScenarioStatusRemote(apiUrl, jwt, scenarioId, status, projectId) +} + +const queue: RunEvalMessage[] = [] +let isProcessing = false +let MAX_CONCURRENT = 5 +let activeRequests = 0 + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +let jwt: string | null = null + +self.onmessage = (event: MessageEvent) => { + const msg = event.data + switch (msg.type) { + case "UPDATE_JWT": + jwt = msg.jwt + break + case "run-invocation": + if (msg.jwt) jwt = msg.jwt + queue.push(msg) + if (!isProcessing) processQueue() + break + case "config": + MAX_CONCURRENT = msg.maxConcurrent + if (!isProcessing && queue.length > 0) processQueue() + break + } +} + +async function handleRequest(message: RunEvalMessage) { + const { + jwt, + invocationStepTarget, + scenarioId, + projectId, + runId, + appId, + requestBody, + invocationKey, + endpoint, + apiUrl, + } = message + try { + await updateScenarioStatus(apiUrl, jwt, scenarioId, EvaluationStatus.RUNNING, projectId) + const response = await fetch( + `${endpoint}?application_id=${appId}&project_id=${projectId}`, + { + method: "POST", + headers: { + "Content-Type": "application/json", + "ngrok-skip-browser-warning": "1", + Authorization: `Bearer ${jwt}`, + }, + body: JSON.stringify(requestBody), + }, + ) + + const _result = (await response.json()) as BaseResponse + const result = snakeToCamelCaseKeys(_result) + + const message: ResultMessage = { + type: "result", + scenarioId, + status: response.status === 200 ? EvaluationStatus.SUCCESS : EvaluationStatus.FAILURE, + invocationStepTarget, + invocationKey, + result: { + ...result, + requestBody, + endpoint, + }, + // @ts-ignore + error: response.status !== 200 ? result.detail.message : null, + } + + const tryCreateScenarioInvocationMetrics = async (result: any, error?: string | null) => { + const statsMap: Record = {} + + // 1. Flatten numeric leaves into dot-notation keys + const flattenNumeric = (obj: any, prefix = "", out: Record = {}) => { + if (!obj || typeof obj !== "object") return out + Object.entries(obj).forEach(([k, v]) => { + const path = prefix ? `${prefix}.${k}` : k + if (typeof v === "number") { + out[path] = v + } else if (v && typeof v === "object") { + flattenNumeric(v, path, out) + } + }) + return out + } + + if (error) { + const metricsAcc = result?.detail?.tree?.nodes?.[0]?.metrics?.acc + const flatMetrics = flattenNumeric({ + ...(metricsAcc || {}), + errors: 1, + }) + if (!Object.keys(flatMetrics).length) return + + // 2. Compute statistics for each metric + const statsMapRaw = computeRunMetrics([{data: flatMetrics}]) + // 3. If only one value, keep the mean instead of full stats object + Object.entries(statsMapRaw).forEach(([k, v]) => { + const stats = structuredClone(v) + if ("distribution" in stats) delete stats.distribution + if ("iqrs" in stats) delete stats.iqrs + if ("percentiles" in stats) delete stats.percentiles + if ("binSize" in stats) delete stats.binSize + statsMap[k] = stats + }) + } else { + const metricsAcc = result?.tree?.nodes?.[0]?.metrics?.acc + if (!metricsAcc) return + + const flatMetrics = flattenNumeric(metricsAcc) + if (!Object.keys(flatMetrics).length) return + + // 2. Compute statistics for each metric + const statsMapRaw = computeRunMetrics([{data: flatMetrics}]) + + // 3. If only one value, keep the mean instead of full stats object + Object.entries(statsMapRaw).forEach(([k, v]) => { + const stats = structuredClone(v) + if ("distribution" in stats) delete stats.distribution + if ("iqrs" in stats) delete stats.iqrs + if ("percentiles" in stats) delete stats.percentiles + if ("binSize" in stats) delete stats.binSize + statsMap[k] = stats + }) + } + + const stepKey = invocationKey ?? "invocation" + const nestedData = {[stepKey]: statsMap} + + try { + await createScenarioMetrics( + apiUrl, + jwt, + runId, + [{scenarioId, data: nestedData}], + projectId, + ) + } catch (err) { + console.error("INVOCATION METRICS FAILED:", err) + } + } + + if (response.status === 200) { + tryCreateScenarioInvocationMetrics(result) + try { + await upsertScenarioStep({ + apiUrl, + jwt, + runId, + scenarioId, + status: EvaluationStatus.SUCCESS, + projectId, + key: invocationKey ?? "invocation", + traceId: (_result as any)?.trace_id ?? null, + spanId: (_result as any)?.span_id ?? null, + references: {application: {id: appId}}, + }) + message.result.trace = result?.tree + } catch (err) {} + + postMessage(message) + } else { + tryCreateScenarioInvocationMetrics(result, _result?.detail?.message || _result) + updateScenarioStatus(apiUrl, jwt, scenarioId, EvaluationStatus.FAILURE, projectId) + const traceId = result?.detail?.traceId + const spanId = result?.detail?.spanId + + await upsertScenarioStep({ + apiUrl, + jwt, + runId, + scenarioId, + status: EvaluationStatus.FAILURE, + projectId, + key: invocationKey ?? "invocation", + traceId, + spanId, + references: {application: {id: appId}}, + }) + + postMessage(message) + } + } catch (err: any) { + await upsertScenarioStep({ + apiUrl, + jwt, + runId, + scenarioId, + status: EvaluationStatus.FAILURE, + projectId, + key: invocationKey ?? "invocation", + references: {application: {id: appId}}, + }) + const message: ResultMessage = { + type: "result", + scenarioId, + status: EvaluationStatus.FAILURE, + error: err.message ?? "Unknown error", + result: { + requestBody, + endpoint, + }, + invocationStepTarget, + invocationKey, + endpoint, + appId, + } + await updateScenarioStatus(apiUrl, jwt, scenarioId, EvaluationStatus.FAILURE, projectId) + + postMessage(message) + } +} + +async function processQueue() { + isProcessing = true + + while (queue.length > 0 || activeRequests > 0) { + while (activeRequests < MAX_CONCURRENT && queue.length > 0) { + const message = queue.shift()! + activeRequests++ + handleRequest(message).finally(() => { + activeRequests-- + if (!isProcessing && queue.length > 0) { + processQueue() + } + }) + } + // Wait a short time to yield control and allow activeRequests to update + await new Promise((resolve) => setTimeout(resolve, 10)) + } + + isProcessing = false +} diff --git a/web/ee/src/lib/workers/evalRunner/fetchRunMetrics.worker.ts b/web/ee/src/lib/workers/evalRunner/fetchRunMetrics.worker.ts new file mode 100644 index 0000000000..d60df729ab --- /dev/null +++ b/web/ee/src/lib/workers/evalRunner/fetchRunMetrics.worker.ts @@ -0,0 +1,151 @@ +/* +Web Worker: Fetch run-level metrics for a single evaluation run. +Receives a message of form: + { requestId: string, payload: { apiUrl: string; jwt: string; projectId: string; runId: string } } +Responds with: + { requestId, ok: true, data: metrics[] } or { requestId, ok:false, error } +*/ + +interface WorkerRequest { + requestId: string + payload: { + apiUrl: string + jwt: string + projectId: string + runId: string + evaluatorSlugs?: string[] + revisionSlugs?: string[] + } +} + +interface WorkerResponse { + requestId: string + ok: boolean + data?: any[] + stats?: Record + error?: string +} + +self.onmessage = async (e: MessageEvent) => { + const {requestId, payload} = e.data + try { + const {apiUrl, jwt, projectId, runId, evaluatorSlugs = [], revisionSlugs = []} = payload + const url = `${apiUrl}/preview/evaluations/metrics/query?project_id=${projectId}` + const body: Record = { + metrics: {run_ids: [runId]}, + windowing: {}, + } + const resp = await fetch(url, { + method: "POST", + headers: { + Authorization: jwt ? `Bearer ${jwt}` : "", + "Content-Type": "application/json", + }, + body: JSON.stringify(body), + }) + if (!resp.ok) throw new Error(`fetch ${resp.status}`) + const json = (await resp.json()) as {metrics?: any[]} + const camel = Array.isArray(json.metrics) ? json.metrics.map((m) => m) : [] + + // Utility to extract slug and category from stepKey + const classifyKey = ( + key: string, + ): {type: "invocation" | "evaluator" | "revision"; slug?: string} => { + const parts = key.split(".") + if (parts.length === 1 && !evaluatorSlugs.includes(parts[0])) + return {type: "invocation"} + const slug = parts[1] + if (evaluatorSlugs.includes(slug)) return {type: "evaluator", slug} + if (revisionSlugs.includes(slug)) return {type: "revision", slug} + // default treat as evaluator + return {type: "evaluator", slug: slug ?? parts[0]} + } + const transformData = (data: Record): Record => { + const flat: Record = {} + Object.entries(data || {}).forEach(([stepKey, metrics]) => { + // // Pass-through for analytics keys like ag.metrics.* + // if (stepKey.startsWith("ag.")) { + // const raw = metrics + // let value: any = raw + // if (typeof raw === "object" && raw !== null) { + // if ("mean" in raw) value = (raw as any).mean + // else if ("value" in raw) value = (raw as any).value + // } + // flat[stepKey] = value + // return + // } + + const {type, slug} = classifyKey(stepKey) + Object.entries(metrics as Record).forEach(([metricKey, raw]) => { + let value: any = structuredClone(raw) + if (typeof raw === "object" && raw !== null) { + if ("mean" in raw) { + value = (raw as any).mean + } else if ("freq" in raw) { + value.frequency = raw.freq + // value.rank = raw.freq + value.unique = raw.uniq + + delete value.freq + delete value.uniq + } else if ("value" in raw) { + value = (raw as any).value + } + } + if (stepKey.startsWith("attributes.ag.")) { + const normalizedKey = `${stepKey}.${metricKey}` + flat[normalizedKey] = value + return + } + // Map invocation-level metrics + if (type === "invocation") { + let newKey = metricKey + if (metricKey.startsWith("tokens.")) { + newKey = metricKey.slice(7) + "Tokens" // tokens.prompt -> promptTokens + } else if (metricKey.startsWith("cost")) { + newKey = "totalCost" // cost or costs.total -> totalCost + } + flat[newKey] = value + } else { + const pref = slug ? `${slug}.` : "" + flat[`${pref}${metricKey}`] = value + } + }) + }) + return flat + } + + camel.forEach((entry: any) => { + // removing the run level metrics from the scenario metrics + if (!entry?.scenario_id) { + // Object.entries(entry.data || {}).forEach(([stepKey, metrics]) => { + // const {type, slug} = classifyKey(stepKey) + // Object.entries(metrics as Record).forEach(([metricKey, raw]) => { + // let value: any = raw + // if (typeof raw === "object" && raw !== null) { + // if ("freq" in raw) { + // value.frequency = raw.freq + // value.rank = raw.freq + // delete value.freq + // entry.data[`${slug}.${metricKey}`] = value + // } + // } + // }) + // }) + return + } + entry.data = transformData(entry.data || {}) + }) + + // Dynamically import to keep worker bundle lean until needed + const {computeRunMetrics} = await import("@/oss/services/runMetrics/api") + const stats = computeRunMetrics(camel.map((m: any) => ({data: m.data || {}}))) + const res: WorkerResponse = {requestId, ok: true, data: camel, stats} + // @ts-ignore + self.postMessage(res) + } catch (err: any) { + const res: WorkerResponse = {requestId, ok: false, error: err.message || "unknown"} + // @ts-ignore + self.postMessage(res) + } +} diff --git a/web/ee/src/lib/workers/evalRunner/fetchSteps.worker.ts b/web/ee/src/lib/workers/evalRunner/fetchSteps.worker.ts new file mode 100644 index 0000000000..44f315d01d --- /dev/null +++ b/web/ee/src/lib/workers/evalRunner/fetchSteps.worker.ts @@ -0,0 +1,75 @@ +// Web Worker for bulk scenario steps fetching & enrichment +// Receives {type: "fetch-bulk", requestId, scenarioIds, context} +// Responds with {type: "result", requestId, entries: [ [scenarioId, enrichedResult] ] } + +import {fetchScenarioStepsBulkWorker} from "./workerFetch" +import type {WorkerEvalContext} from "./workerFetch" + +export interface FetchBulkMessage { + type: "fetch-bulk" + requestId: string + scenarioIds: string[] + context: WorkerEvalContext +} + +export interface FetchBulkChunkMessage { + type: "chunk" + requestId: string + json: string // stringified RawEntry[] +} + +export interface FetchBulkDoneMessage { + type: "done" + requestId: string +} + +type OutgoingMessage = + | FetchBulkChunkMessage + | FetchBulkDoneMessage + | { + type: "error" + requestId: string + error: string + } + +self.onmessage = (event: MessageEvent) => { + const msg = event.data + if (msg.type !== "fetch-bulk") return + + const {requestId, scenarioIds, context} = msg + + fetchScenarioStepsBulkWorker(scenarioIds, context) + .then((map) => { + const CHUNK_SIZE = 200 + + const entries = Array.from(map.entries()) + ;(async () => { + for (let i = 0; i < entries.length; i += CHUNK_SIZE) { + const chunkEntries = entries.slice(i, i + CHUNK_SIZE) + const msg: OutgoingMessage = { + type: "chunk", + requestId, + json: JSON.stringify(chunkEntries), + } + // @ts-ignore + self.postMessage(msg) + + // allow main thread to breathe + await new Promise((r) => setTimeout(r, 300)) // ~1 frame @60fps + } + const done: OutgoingMessage = {type: "done", requestId} + // @ts-ignore + self.postMessage(done) + })() + }) + .catch((err) => { + // Post error back so main thread can handle + const errorMsg: OutgoingMessage = { + type: "error", + requestId, + error: err && err.message ? err.message : String(err ?? "unknown"), + } + // @ts-ignore + self.postMessage(errorMsg) + }) +} diff --git a/web/ee/src/lib/workers/evalRunner/pureEnrichment.ts b/web/ee/src/lib/workers/evalRunner/pureEnrichment.ts new file mode 100644 index 0000000000..d9f8436396 --- /dev/null +++ b/web/ee/src/lib/workers/evalRunner/pureEnrichment.ts @@ -0,0 +1,610 @@ +/* + * Worker-friendly clone of `hooks/useEvaluationRunData/assets/enrichment`. + * It removes React / cookie / axios dependencies and relies solely on data + * passed from the main thread via the worker context. + */ + +import {uuidToTraceId, uuidToSpanId} from "@/oss/lib/hooks/useAnnotations/assets/helpers" +import {transformApiData} from "@/oss/lib/hooks/useAnnotations/assets/transformer" +import type {AnnotationDto} from "@/oss/lib/hooks/useAnnotations/types" +import type {RunIndex} from "@/oss/lib/hooks/useEvaluationRunData/assets/helpers/buildRunIndex" +import type { + IStepResponse, + StepResponseStep, + UseEvaluationRunScenarioStepsFetcherResult, +} from "@/oss/lib/hooks/useEvaluationRunScenarioSteps/types" +import type {EvaluatorDto} from "@/oss/lib/hooks/useEvaluators/types" +import {constructPlaygroundTestUrl} from "@/oss/lib/shared/variant/stringUtils" +import type {EnhancedVariant} from "@/oss/lib/shared/variant/transformer/types" +import type {PreviewTestSet, WorkspaceMember} from "@/oss/lib/Types" + +function collectTraceIds({steps, invocationKeys}: {steps: any[]; invocationKeys: Set}) { + const traceIds: string[] = [] + steps.forEach((st: any) => { + if (invocationKeys.has(st.stepKey) && st.traceId) traceIds.push(st.traceId) + }) + return traceIds +} + +function buildAnnotationLinks({ + annotationSteps, + uuidToTraceId: toTrace, + uuidToSpanId: toSpan, +}: { + annotationSteps: any[] + uuidToTraceId: (uuid: string) => string | undefined + uuidToSpanId: (uuid: string) => string | undefined +}) { + return annotationSteps + .filter((s) => s.traceId) + .map((s) => ({trace_id: toTrace(s.traceId) || s.traceId, span_id: toSpan(s.traceId)})) +} + +export function buildAnnotationMap({ + rawAnnotations, + members, +}: { + rawAnnotations: any[] + members?: any[] +}): Map { + const map = new Map() + if (!rawAnnotations?.length) return map + const normalized = rawAnnotations.map((ann: any) => + transformApiData({data: ann, members: members || []}), + ) + normalized.forEach((a: any) => { + if (a?.trace_id) map.set(a.trace_id, a) + }) + return map +} + +/** Simple dot-path resolver ("a.b.c") */ +export function resolvePath(obj: any, path: string): any { + return path.split(".").reduce((o: any, key: string) => (o ? o[key] : undefined), obj) +} + +export function computeInputsAndGroundTruth({ + testcase, + mappings, + inputKey, + inputParamNames, +}: { + testcase: any + mappings: any[] + inputKey: string + inputParamNames: string[] +}) { + const isRevisionKnown = Array.isArray(inputParamNames) && inputParamNames.length > 0 + + // Heuristic fallback names for ground truth columns when revision input params are unknown + const GT_NAMES = new Set(["correct_answer", "expected_output", "ground_truth", "label"]) + + const inputMappings = (mappings ?? []).filter((m) => { + if (m.step.key !== inputKey) return false + const name = m.column?.name + if (isRevisionKnown) return inputParamNames.includes(name) + // Fallback: treat testset columns not matching GT names as inputs + return m.column?.kind === "testset" && !GT_NAMES.has(name) + }) + + const groundTruthMappings = (mappings ?? []).filter((m) => { + if (m.step.key !== inputKey) return false + const name = m.column?.name + if (isRevisionKnown) return m.column?.kind === "testset" && !inputParamNames.includes(name) + // Fallback: treat well-known GT names as ground truth + return m.column?.kind === "testset" && GT_NAMES.has(name) + }) + + const objFor = (filtered: any[]) => + filtered.reduce((acc: any, m: any) => { + let val = resolvePath(testcase, m.step.path) + if (val === undefined && m.step.path.startsWith("data.")) { + val = resolvePath(testcase, m.step.path.slice(5)) + } + if (val !== undefined) acc[m.column?.name || m.name] = val + return acc + }, {}) + + let inputs = objFor(inputMappings) + let groundTruth = objFor(groundTruthMappings) + + // Fallback: if no mappings for inputs, derive directly from testcase.data keys + if (!Object.keys(inputs).length && testcase && typeof testcase === "object") { + const dataObj = (testcase as any).data || {} + if (dataObj && typeof dataObj === "object") { + Object.keys(dataObj).forEach((k) => { + if (!GT_NAMES.has(k) && k !== "messages") { + inputs[k] = dataObj[k] + } + }) + // Ground truth fallback: pick a known GT field if present + if (!Object.keys(groundTruth).length) { + for (const name of Array.from(GT_NAMES)) { + if (name in dataObj) { + ;(groundTruth as any)[name] = dataObj[name] + break + } + } + } + } + } + + return {inputs, groundTruth} +} + +export function identifyScenarioSteps({ + steps, + runIndex, + evaluators, +}: { + steps: StepResponseStep[] + runIndex?: {inputKeys: Set; invocationKeys: Set; steps: Record} + evaluators: EvaluatorDto[] +}) { + const inputSteps = steps.filter((s) => runIndex?.inputKeys?.has(s.stepKey)) + + const invocationKeys = runIndex?.invocationKeys ?? new Set() + const invocationSteps = steps.filter((s) => invocationKeys.has(s.stepKey)) + + const annotationSteps = steps.filter((s) => { + const keyParts = (s.stepKey || "").split(".") + const evaluatorSlug = keyParts.length > 1 ? keyParts[keyParts.length - 1] : undefined + return evaluatorSlug ? evaluators.some((e) => e.slug === evaluatorSlug) : false + }) + + return {inputSteps, invocationSteps, annotationSteps} +} + +export function deriveTestsetAndRevision({ + inputSteps, + invocationSteps, + runIndex, + testsets, + variants, +}: { + inputSteps: any[] + invocationSteps: any[] + runIndex?: {steps: Record} + testsets: PreviewTestSet[] + variants: EnhancedVariant[] +}): {testsets: PreviewTestSet[]; revisions: EnhancedVariant[]} { + const referencedTestsetIds = new Set() + const referencedRevisionIds = new Set() + + if (runIndex) { + inputSteps.forEach((step) => { + const meta = runIndex.steps[step.stepKey] + const tsId = meta?.refs?.testset?.id + if (tsId) referencedTestsetIds.add(tsId) + }) + invocationSteps.forEach((step) => { + const meta = runIndex.steps[step.stepKey] + const revId = meta?.refs?.applicationRevision?.id + if (revId) referencedRevisionIds.add(revId) + }) + } + + const resolvedTestsets = testsets.filter((t: any) => { + const id = (t as any).id ?? (t as any)._id + return referencedTestsetIds.has(id as string) + }) + const resolvedRevisions = variants.filter((v) => referencedRevisionIds.has(v.id)) + + return {testsets: resolvedTestsets, revisions: resolvedRevisions} +} + +export function enrichInputSteps({ + inputSteps, + testsets, + revisions, + mappings, +}: { + inputSteps: any[] + testsets?: any[] + revisions?: any[] + mappings?: any +}) { + const findTestsetForTestcase = (tcId: string) => + testsets?.find( + (ts: any) => + Array.isArray(ts.data?.testcases) && + ts.data.testcases.some((tc: any) => tc.id === tcId), + ) + + const enrichStep = (step: any) => { + const ts = findTestsetForTestcase(step.testcaseId) + + let inputs = step.inputs ? {...step.inputs} : {} + const groundTruth = step.groundTruth ?? {} + + const canComputeFromTestset = + mappings && Array.isArray(testsets) && testsets.length > 0 && ts + if (canComputeFromTestset) { + const testcase = ts?.data?.testcases?.find((tc: any) => tc.id === step.testcaseId) + if (testcase) { + // We no longer rely on revision.inputParams in worker context. + // Passing an empty list will trigger heuristic fallback in computeInputsAndGroundTruth. + const inputParamNames: string[] = [] + const computed = computeInputsAndGroundTruth({ + testcase, + mappings, + inputKey: step.stepKey, + inputParamNames, + }) + for (const [k, v] of Object.entries(computed.inputs)) { + if (!(k in inputs)) (inputs as Record)[k] = v + } + } + } + + const testcase = testsets + ?.flatMap((t: any) => t.data?.testcases || []) + .find((tc: any) => tc.id === step.testcaseId) + return {...step, inputs, groundTruth, testcase} + } + + const richInputSteps = inputSteps.map((s) => enrichStep(s)) + return {richInputSteps, richInputStep: richInputSteps[0]} +} + +export const prepareRequest = ({ + revision, + inputParametersDict, + uriObject, + precomputedParameters, + appType, +}: { + revision: EnhancedVariant + inputParametersDict: Record + uriObject?: {runtimePrefix: string; routePath?: string} + /** Parameters computed on main thread via transformedPromptsAtomFamily({useStableParams: true}) */ + precomputedParameters?: any +}) => { + if (!revision || !inputParametersDict) return null + + // We no longer store chat flags on the revision; infer from inputs + const isChatVariant = Object.prototype.hasOwnProperty.call( + inputParametersDict || {}, + "messages", + ) + const isCustomVariant = !!appType && appType === "custom" + + const mainInputParams: Record = {} + const secondaryInputParams: Record = {} + + // Derive splitting without relying on deprecated revision.inputParams: + // - messages => top-level (main) param for chat variants + // - everything else => goes under `inputs` + Object.keys(inputParametersDict).forEach((key) => { + const val = inputParametersDict[key] + if (key === "messages") { + mainInputParams[key] = val + } else { + secondaryInputParams[key] = val + } + }) + + // Start from stable precomputed parameters (main-thread transformed prompts) + const baseParams = (precomputedParameters as Record) || {} + const requestBody: Record = { + ...baseParams, + ...mainInputParams, + } + + if (isCustomVariant) { + for (const key of Object.keys(inputParametersDict)) { + if (key !== "inputs") requestBody[key] = inputParametersDict[key] + } + } else { + requestBody["inputs"] = {...(requestBody["inputs"] || {}), ...secondaryInputParams} + } + + if (isChatVariant) { + if (typeof requestBody["messages"] === "string") { + try { + requestBody["messages"] = JSON.parse(requestBody["messages"]) + } catch { + throw new Error("content not valid for messages") + } + } + } + + // Ensure we never crash on missing uriObject; default to empty values + const safeUri = uriObject ?? {runtimePrefix: "", routePath: ""} + + return { + requestBody, + endpoint: constructPlaygroundTestUrl(safeUri, "/test", true), + } +} + +export function buildInvocationParameters({ + invocationSteps, + inputSteps, + uriObject, + parametersByRevisionId, + appType, +}: { + invocationSteps: (IStepResponse & {revision?: any})[] + inputSteps: (IStepResponse & {inputs?: Record})[] + uriObject?: {runtimePrefix: string; routePath?: string} + /** Map of revisionId -> transformed prompts (stable) */ + parametersByRevisionId?: Record +}) { + const map: Record = {} + invocationSteps.forEach((step) => { + const revision = (step as any).revision + const matchInput = inputSteps.find((r) => r.testcaseId === step.testcaseId && r.inputs) + if (step.status !== "success") { + const pre = revision?.id ? parametersByRevisionId?.[revision.id] : undefined + + const params = prepareRequest({ + revision, + inputParametersDict: matchInput?.inputs ?? {}, + uriObject, + precomputedParameters: pre?.ag_config ? pre : pre, + appType, + }) + map[step.stepKey] = params + ;(step as any).invocationParameters = params + } else { + map[step.stepKey] = undefined + ;(step as any).invocationParameters = undefined + } + }) + return map +} + +// ------------------- public worker-friendly funcs ------------------- + +export function computeTraceAndAnnotationRefs({ + steps, + runIndex, + evaluators, +}: { + steps: StepResponseStep[] + runIndex?: {invocationKeys: Set; annotationKeys: Set} + evaluators: EvaluatorDto[] +}) { + const invocationKeys = runIndex?.invocationKeys ?? new Set() + const annotationKeys = runIndex?.annotationKeys ?? new Set() + + const traceIds = collectTraceIds({steps, invocationKeys}) + + // simple evaluator-based identification + const annotationSteps = steps.filter((s) => annotationKeys.has(s.stepKey)) + + const annotationLinks = buildAnnotationLinks({ + annotationSteps, + uuidToTraceId, + uuidToSpanId, + }) + return {traceIds, annotationSteps, annotationLinks} +} + +export async function fetchTraceAndAnnotationMaps({ + traceIds, + annotationLinks, + members, + invocationSteps, + apiUrl, + jwt, + projectId, +}: { + traceIds: string[] + annotationLinks: {trace_id: string; span_id?: string}[] + members: WorkspaceMember[] + invocationSteps: any[] + apiUrl: string + jwt: string + projectId: string +}): Promise<{traceMap: Map; annotationMap: Map}> { + const traceMap = new Map() + const annotationMap = new Map() + + if (traceIds.length) { + try { + const filtering = JSON.stringify({ + conditions: [{key: "tree.id", operator: "in", value: traceIds}], + }) + const params = new URLSearchParams() + params.append("filtering", filtering) + params.append("project_id", projectId) + const resp = await fetch(`${apiUrl}/observability/v1/traces?${params.toString()}`, { + headers: {Authorization: `Bearer ${jwt}`}, + }) + if (resp.ok) { + const data = await resp.json() + const trees = data?.trees || [] + trees.forEach((t: any) => { + if (t.tree?.id) traceMap.set(t.tree.id, t) + }) + } + } catch (err) { + console.error("[pureEnrichment] trace fetch error", err) + } + } + + if (annotationLinks && annotationLinks.length > 0) { + try { + const resp = await fetch( + `${apiUrl}/preview/annotations/query?project_id=${projectId}`, + { + method: "POST", + headers: {"Content-Type": "application/json", Authorization: `Bearer ${jwt}`}, + body: JSON.stringify({annotation_links: annotationLinks}), + }, + ) + if (resp.ok) { + const data = await resp.json() + const annMap = buildAnnotationMap({ + rawAnnotations: data?.annotations || [], + members, + }) + annMap.forEach((v, k) => annotationMap.set(k, v)) + } + } catch (err) { + console.error("[pureEnrichment] annotation fetch error", err) + } + } + + return {traceMap, annotationMap} +} + +// ------------------- pure implementations ------------------- + +export function buildScenarioCore({ + steps, + runIndex, + evaluators, + testsets, + variants, + mappings, + uriObject, + parametersByRevisionId, + appType, +}: { + steps: StepResponseStep[] + runIndex?: RunIndex + evaluators: EvaluatorDto[] + testsets: PreviewTestSet[] + variants: EnhancedVariant[] + mappings?: unknown + uriObject?: {runtimePrefix: string; routePath?: string} + parametersByRevisionId?: Record + appType?: string +}): UseEvaluationRunScenarioStepsFetcherResult { + const {inputSteps, invocationSteps, annotationSteps} = identifyScenarioSteps({ + steps, + runIndex, + evaluators, + }) + + const {testsets: derivedTestsets, revisions} = deriveTestsetAndRevision({ + inputSteps, + invocationSteps, + runIndex, + testsets, + variants, + }) + + const {richInputSteps: enrichedInputSteps} = enrichInputSteps({ + inputSteps, + testsets: derivedTestsets, + revisions, + mappings, + }) + + // Attach revision object to each invocation step + const revisionMap: Record = {} + revisions.forEach((rev: any) => { + revisionMap[rev.id] = rev + }) + const enrichedInvocationSteps = invocationSteps.map((inv) => { + let revObj: any + if (runIndex) { + const meta = (runIndex as any).steps?.[inv.stepKey] + const revId = meta?.refs?.applicationRevision?.id + if (revId) revObj = revisionMap[revId] + } + return revObj ? {...inv, revision: revObj} : inv + }) + + buildInvocationParameters({ + invocationSteps: enrichedInvocationSteps, + inputSteps: enrichedInputSteps, + uriObject, + parametersByRevisionId, + appType, + }) + + return { + inputSteps: enrichedInputSteps, + invocationSteps: enrichedInvocationSteps, + annotationSteps, + } +} + +export function decorateScenarioResult({ + result, + traceMap, + annotationMap, + runIndex, + uuidToTraceId: _uuidToTraceId, +}: { + result: any + traceMap: Map + annotationMap: Map + runIndex?: {invocationKeys: Set; annotationKeys: Set; inputKeys?: Set} + uuidToTraceId: (uuid: string) => string | undefined +}) { + const invocationKeys = runIndex?.invocationKeys ?? new Set() + result.steps?.forEach((st: any) => { + const rawTrace = st.traceId ?? st.trace_id + const traceKey = rawTrace + const traceHex = rawTrace?.includes("-") ? _uuidToTraceId(rawTrace) : rawTrace + + // Invocation steps + if (invocationKeys.has(st.stepKey) || Boolean(st.references?.application)) { + st.isInvocation = true + if (traceKey) { + const tw = traceMap.get(traceKey) + if (tw) { + st.trace = tw.trees ? tw.trees[0] : tw + } + } + } + + // Annotation steps + if (runIndex?.annotationKeys?.has(st.stepKey)) { + if (traceHex) { + st.annotation = annotationMap.get(traceHex) + const tw = traceMap.get(traceKey) + if (tw) { + st.trace = tw.trees ? tw.trees[0] : tw + } + } + } + + // Input steps + if (runIndex?.inputKeys?.has(st.stepKey) && Array.isArray(result.inputSteps)) { + const enriched = result.inputSteps.find( + (inp: any) => inp.stepKey === st.stepKey && inp.inputs, + ) + if (enriched) { + st.inputs = enriched.inputs + st.groundTruth = enriched.groundTruth + if (st.testcaseId && enriched.testcase) { + st.testcase = enriched.testcase + } + } + } + }) + + // Ensure invocationSteps have trace + if (Array.isArray(result.invocationSteps)) { + result.invocationSteps.forEach((inv: any) => { + if (!inv.trace) { + const tid = inv.traceId || inv.trace_id + const tw = tid ? traceMap.get(tid) : undefined + if (tw) { + inv.trace = tw.trees ? tw.trees[0] : tw + } + } + }) + } + // Propagate testcase objects + if (Array.isArray(result.inputSteps)) { + result.inputSteps.forEach((inp: any) => { + if (inp.testcaseId && inp.testcase) { + const testcaseMap: Record = {} + testcaseMap[inp.testcaseId] = inp.testcase + result.steps?.forEach((st: any) => { + if (st.testcaseId && testcaseMap[st.testcaseId]) { + st.testcase = testcaseMap[st.testcaseId] + } + }) + } + }) + } +} diff --git a/web/ee/src/lib/workers/evalRunner/runMetricsWorker.ts b/web/ee/src/lib/workers/evalRunner/runMetricsWorker.ts new file mode 100644 index 0000000000..4d9c4bbdea --- /dev/null +++ b/web/ee/src/lib/workers/evalRunner/runMetricsWorker.ts @@ -0,0 +1,78 @@ +/* +Main-thread helper to communicate with fetchRunMetrics.worker.ts. +Ensures single worker instance and multiplexes requests by requestId. +*/ + +// import {snakeToCamelCaseKeys} from "@/oss/lib/helpers/casing" + +interface FetchResultMessage { + requestId: string + ok: boolean + data?: any[] + stats?: Record + error?: string +} + +interface Pending { + resolve: (v: {metrics: any[]; stats: Record}) => void + reject: (e: unknown) => void + timer: ReturnType +} + +let worker: Worker | null = null +const pendings = new Map() + +function ensureWorker() { + if (worker) return + // @ts-ignore + worker = new Worker(new URL("./fetchRunMetrics.worker.ts", import.meta.url), {type: "module"}) + worker.onmessage = (event: MessageEvent) => { + const msg = event.data + const pending = pendings.get(msg.requestId) + if (!pending) return + clearTimeout(pending.timer) + pendings.delete(msg.requestId) + if (!msg.ok) { + pending.reject(new Error(msg.error || "worker error")) + return + } + pending.resolve({metrics: msg.data || [], stats: msg.stats || {}}) + } +} + +export async function fetchRunMetricsViaWorker( + runId: string, + context: { + apiUrl: string + jwt: string + projectId: string + evaluatorSlugs: string[] + revisionSlugs: string[] + }, + timeoutMs = 30000, +): Promise<{metrics: any[]; stats: Record}> { + if (typeof Worker === "undefined") throw new Error("Workers unsupported") + ensureWorker() + const requestId = (crypto.randomUUID?.() ?? Math.random().toString(36).slice(2)) as string + + return new Promise((resolve, reject) => { + const timer = setTimeout(() => { + console.error(`[runMetricsWorker] Timeout for runId: ${runId}, requestId: ${requestId}`) + pendings.delete(requestId) + reject(new Error("Worker timeout")) + }, timeoutMs) + + pendings.set(requestId, { + resolve: (result) => { + resolve(result) + }, + reject: (error) => { + console.error(`[runMetricsWorker] Error for runId: ${runId}:`, error) + reject(error) + }, + timer, + }) + + worker!.postMessage({requestId, payload: {...context, runId}}) + }) +} diff --git a/web/ee/src/lib/workers/evalRunner/scenarioListWorker.ts b/web/ee/src/lib/workers/evalRunner/scenarioListWorker.ts new file mode 100644 index 0000000000..fce789f9a5 --- /dev/null +++ b/web/ee/src/lib/workers/evalRunner/scenarioListWorker.ts @@ -0,0 +1,116 @@ +/* +Web Worker: Fetch full scenario list for a preview evaluation run in the background. +It expects a message of shape: +{ + requestId: string; + payload: { + apiUrl: string; + jwt: string; + projectId: string; + runId: string; + } +} +It will paginate through the /preview/evaluations/scenarios/ endpoint and post back: +{ requestId, ok: true, data: scenarios[] } or { requestId, ok:false, error } +*/ + +import type {IScenario} from "@/oss/lib/hooks/useEvaluationRunScenarios/types" + +interface WorkerRequest { + requestId: string + payload: { + apiUrl: string + jwt: string + projectId: string + runId: string + } +} + +interface WorkerResponse { + requestId: string + ok: boolean + data?: IScenario[] + error?: string +} + +// Backend supports cursor-based pagination (windowing with `next`) but not +// an explicit numeric `offset`. Fetch scenarios in smaller batches to +// reduce main-thread work when large evaluations load. +const PAGE_SIZE = 100 + +interface FetchArgs { + apiUrl: string + jwt: string + projectId: string + runId: string + next?: string | null + limit: number +} + +async function fetchPage({ + apiUrl, + jwt, + projectId, + runId, + next, + limit, +}: FetchArgs): Promise<{scenarios: IScenario[]; next?: string}> { + // POST to query endpoint + const url = `${apiUrl}/preview/evaluations/scenarios/query?project_id=${encodeURIComponent(projectId)}` + const body: Record = { + scenario: { + ...(runId ? {run_ids: [runId]} : {}), + }, + windowing: { + limit, + ...(next ? {next} : {}), + }, + } + + const res = await fetch(url, { + method: "POST", + headers: { + Authorization: `Bearer ${jwt}`, + "Content-Type": "application/json", + }, + body: JSON.stringify(body), + }) + if (!res.ok) throw new Error(`fetch ${res.status}`) + const json = (await res.json()) as {scenarios?: IScenario[]; next?: string} + return {scenarios: json.scenarios ?? [], next: json.next} +} + +self.onmessage = async (e: MessageEvent) => { + const {requestId, payload} = e.data + try { + const scenarios: IScenario[] = [] + let next: string | null | undefined = null + let _batch = 0 + do { + const page = await fetchPage({ + ...payload, + next, + limit: PAGE_SIZE, + }) + scenarios.push(...page.scenarios) + _batch += 1 + next = page.next ?? null + } while (next) + + // Deduplicate scenarios by id in case backend returned duplicates + const seen = new Set() + const uniqueScenarios = scenarios.filter((s) => { + if (seen.has(s.id)) return false + seen.add(s.id) + return true + }) + + const resp: WorkerResponse = {requestId, ok: true, data: uniqueScenarios} + // @ts-ignore + self.postMessage(resp) + } catch (err: any) { + const resp: WorkerResponse = {requestId, ok: false, error: err.message || "unknown"} + // @ts-ignore + self.postMessage(resp) + } +} diff --git a/web/ee/src/lib/workers/evalRunner/types.ts b/web/ee/src/lib/workers/evalRunner/types.ts new file mode 100644 index 0000000000..1b98796efd --- /dev/null +++ b/web/ee/src/lib/workers/evalRunner/types.ts @@ -0,0 +1,39 @@ +import {EvaluationStatus} from "@/oss/lib/Types" + +import {IStepResponse} from "../../hooks/useEvaluationRunScenarioSteps/types" + +export interface RunEvalMessage { + type: "run-invocation" + jwt: string + appId: string + scenarioId: string + runId: string + apiUrl: string + requestBody: Record + projectId: string + endpoint: string + invocationKey?: string + invocationStepTarget?: IStepResponse +} + +export interface ResultMessage { + type: "result" + scenarioId: string + status: EvaluationStatus + result?: any + error?: string + invocationStepTarget?: IStepResponse + invocationKey?: string +} + +export interface JwtUpdateMessage { + type: "UPDATE_JWT" + jwt: string +} + +export interface ConfigMessage { + type: "config" + maxConcurrent: number +} + +export type WorkerMessage = RunEvalMessage | ConfigMessage | JwtUpdateMessage diff --git a/web/ee/src/lib/workers/evalRunner/workerFetch.ts b/web/ee/src/lib/workers/evalRunner/workerFetch.ts new file mode 100644 index 0000000000..0848d2b1a2 --- /dev/null +++ b/web/ee/src/lib/workers/evalRunner/workerFetch.ts @@ -0,0 +1,298 @@ +/* + * Web-worker compatible utilities for fetching & enriching scenario steps in bulk. + * + * These functions mirror the logic in `fetchScenarioStepsBulk` but avoid any + * main-thread specifics (Jotai atoms, React hooks). They can be executed inside + * a dedicated Web Worker to offload CPU-heavy enrichment for thousands of + * scenarios. + */ + +import {snakeToCamelCaseKeys} from "@/oss/lib/helpers/casing" +import {uuidToTraceId} from "@/oss/lib/hooks/useAnnotations/assets/helpers" // relative to this file +import type { + IStepResponse, + StepResponse, + StepResponseStep, + UseEvaluationRunScenarioStepsFetcherResult, +} from "@/oss/lib/hooks/useEvaluationRunScenarioSteps/types" +import {PreviewTestCase, PreviewTestSet} from "@/oss/lib/Types" + +import { + deserializeRunIndex, + RunIndex, +} from "../../hooks/useEvaluationRunData/assets/helpers/buildRunIndex" +import {EvalRunDataContextType} from "../../hooks/useEvaluationRunData/types" + +import { + buildScenarioCore, + computeTraceAndAnnotationRefs, + decorateScenarioResult, + fetchTraceAndAnnotationMaps, +} from "./pureEnrichment" + +export const DEFAULT_BATCH_SIZE = 100 +export const DEFAULT_BATCH_CONCURRENCY = 2 + +/** + * Simplified, serialisable context passed from main thread to the worker. + * (It extends the original `EvalRunDataContextType` but removes any functions + * and non-cloneable structures.) + */ +export interface WorkerEvalContext extends Omit { + runIndex: RunIndex + jwt: string + apiUrl: string + projectId: string + /** IDs of variants that are chat-based (hasMessages in request schema) */ + chatVariantIds?: string[] + uriObject?: {runtimePrefix: string; routePath?: string} + /** Stable transformed parameters keyed by revision id */ + parametersByRevisionId?: Record +} + +// ------------- helpers ------------- +function chunkArray(arr: T[], size: number): T[][] { + return Array.from({length: Math.ceil(arr.length / size)}, (_, i) => + arr.slice(i * size, i * size + size), + ) +} + +/** + * Fetch & enrich steps for one batch of scenarios. + * Pure function without side-effects beyond network requests. + */ +async function processScenarioBatchWorker( + scenarioIds: string[], + context: WorkerEvalContext, +): Promise> { + const {runId, members, jwt, apiUrl, projectId, appType} = context + + // Validate required parameters + if (!runId || !projectId || !jwt || !apiUrl) { + throw new Error("Missing required parameters for worker fetch") + } + + // Validate scenario IDs and filter out skeleton/placeholder IDs + const validScenarioIds = scenarioIds.filter((id) => { + if (!id || typeof id !== "string") return false + + // Skip skeleton/placeholder IDs gracefully + if (id.startsWith("skeleton-") || id.startsWith("placeholder-")) { + return false + } + + const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i + return uuidRegex.test(id) + }) + + if (validScenarioIds.length === 0) { + return new Map() + } + + // POST to results query endpoint with body { result: { run_id, run_ids, scenario_ids }, windowing: {} } + const resultsUrl = `${apiUrl}/preview/evaluations/results/query?project_id=${encodeURIComponent( + projectId, + )}` + const body: Record = { + result: { + run_id: runId, + run_ids: [runId], + scenario_ids: validScenarioIds, + }, + windowing: {}, + } + + const resp = await fetch(resultsUrl, { + method: "POST", + headers: { + "Content-Type": "application/json", + Authorization: jwt ? `Bearer ${jwt}` : "", + }, + credentials: "include", + body: JSON.stringify(body), + }) + + if (!resp.ok) { + throw new Error(`Worker fetch failed ${resp.status}`) + } + + const raw = (await resp.json()) as StepResponse + + // Convert to camelCase once + const camelStepsAll = (raw.results ?? []).map((st) => + snakeToCamelCaseKeys(st), + ) + + // Group steps by scenarioId + const perScenarioSteps = new Map() + for (const step of camelStepsAll) { + const sid = (step as any).scenarioId as string + if (!perScenarioSteps.has(sid)) perScenarioSteps.set(sid, []) + perScenarioSteps.get(sid)!.push(step) + } + + // Collect testcase ids + const testcaseIds = new Set() + for (const [_, stepsArr] of perScenarioSteps.entries()) { + for (const s of stepsArr) { + if (s.testcaseId) testcaseIds.add(s.testcaseId) + } + } + + // Fetch testcase data (updated endpoint) + const testcaseResp = await fetch( + `${apiUrl}/preview/testcases/query?project_id=${encodeURIComponent(projectId)}`, + { + method: "POST", + headers: { + "Content-Type": "application/json", + Authorization: jwt ? `Bearer ${jwt}` : "", + }, + credentials: "include", + body: JSON.stringify({testcase_ids: Array.from(testcaseIds)}), + }, + ) + const testcases = (await testcaseResp.json()) as {count: number; testcases: PreviewTestCase[]} + + // Group testcases by their testset_id for easier lookup + const testcasesByTestsetId = (testcases.testcases || []).reduce( + (acc, testcase) => { + if (!acc[testcase.testset_id]) { + acc[testcase.testset_id] = [] + } + acc[testcase.testset_id].push(testcase) + return acc + }, + {} as Record, + ) + + // Update testsets with their matching testcases + const updatedTestsets = context.testsets?.map((testset) => { + const matchingTestcases = testcasesByTestsetId[testset.id] || [] + + if (matchingTestcases.length > 0) { + return { + ...testset, + data: { + ...testset.data, + testcase_ids: matchingTestcases?.map((tc) => tc.id), + testcases: matchingTestcases, + }, + } + } + + // Return testset as is if no matching testcases found + return testset + }) as PreviewTestSet[] + + // Update the context with the new testsets which have the fetched testcases + context.testsets = updatedTestsets + + const scenarioMap = new Map() + + const runIndex = deserializeRunIndex(context.runIndex) + for (const [sid, stepsArr] of perScenarioSteps.entries()) { + const core = buildScenarioCore({ + steps: stepsArr, + runIndex: runIndex, + evaluators: context.evaluators, + testsets: context.testsets, + variants: context.variants, + mappings: context.mappings, + uriObject: context.uriObject, + parametersByRevisionId: context.parametersByRevisionId, + appType: appType, + }) + + const result: UseEvaluationRunScenarioStepsFetcherResult = { + ...core, + steps: stepsArr, + count: stepsArr.length, + next: undefined, + mappings: context.mappings, + } as any + scenarioMap.set(sid, result) + } + + // Enrich traces / annotations + const {traceIds, annotationLinks} = computeTraceAndAnnotationRefs({ + steps: camelStepsAll, + runIndex: runIndex, + evaluators: context.evaluators || [], + }) + + const invocationStepsList = (raw.steps ?? []).filter((s: any) => + runIndex?.invocationKeys?.has?.(s.stepKey), + ) + + const {traceMap, annotationMap} = await fetchTraceAndAnnotationMaps({ + traceIds, + annotationLinks, + members, + invocationSteps: invocationStepsList, + apiUrl, + jwt, + projectId, + }) + + for (const result of scenarioMap.values()) { + decorateScenarioResult({ + result, + traceMap, + annotationMap, + runIndex: runIndex, + uuidToTraceId, + }) + } + + return scenarioMap +} + +/** + * Process all batches with limited concurrency. Returns a merged Map. + */ +async function processAllBatchesWorker( + scenarioIds: string[], + context: WorkerEvalContext, + concurrency: number, + batchSize: number, +): Promise> { + const batches = chunkArray(scenarioIds, batchSize) + const results: Map[] = [] + let idx = 0 + while (idx < batches.length) { + const running = batches + .slice(idx, idx + concurrency) + .map((batch) => processScenarioBatchWorker(batch, context)) + const batchResults = await Promise.all(running) + results.push(...batchResults) + idx += concurrency + } + + return mergeMaps(results) +} + +// Helper: merge many Maps into one. +function mergeMaps(maps: Map[]): Map { + const merged = new Map() + for (const m of maps) { + for (const [k, v] of m) merged.set(k, v) + } + return merged +} + +/** + * Public API for worker usage. Returns a serialisable array of entries. + */ +export async function fetchScenarioStepsBulkWorker( + scenarioIds: string[], + context: WorkerEvalContext, + options?: {batchSize?: number; concurrency?: number}, +): Promise> { + if (scenarioIds.length === 0) + return new Map() + const batchSize = options?.batchSize ?? DEFAULT_BATCH_SIZE + const concurrency = options?.concurrency ?? DEFAULT_BATCH_CONCURRENCY + const map = await processAllBatchesWorker(scenarioIds, context, concurrency, batchSize) + return map +} diff --git a/web/ee/src/pages/_app.tsx b/web/ee/src/pages/_app.tsx new file mode 100644 index 0000000000..92dfb3e135 --- /dev/null +++ b/web/ee/src/pages/_app.tsx @@ -0,0 +1,11 @@ +import "@ant-design/v5-patch-for-react-19" +import "@/oss/styles/globals.css" +import "@/oss/assets/custom-resize-handle.css" +import "react-resizable/css/styles.css" +import "@ag-grid-community/styles/ag-grid.css" +import "@ag-grid-community/styles/ag-theme-alpine.css" +import "jotai-devtools/styles.css" + +import AppPage from "@/oss/components/pages/_app" + +export default AppPage diff --git a/web/ee/src/pages/_document.tsx b/web/ee/src/pages/_document.tsx new file mode 100644 index 0000000000..9351309131 --- /dev/null +++ b/web/ee/src/pages/_document.tsx @@ -0,0 +1,3 @@ +import _DocumentPage from "@agenta/oss/src/pages/_document" + +export default _DocumentPage diff --git a/web/ee/src/pages/auth/[[...path]].tsx b/web/ee/src/pages/auth/[[...path]].tsx new file mode 100644 index 0000000000..7e5a27ad9a --- /dev/null +++ b/web/ee/src/pages/auth/[[...path]].tsx @@ -0,0 +1,3 @@ +import Auth from "@agenta/oss/src/pages/auth/[[...path]]" + +export default Auth diff --git a/web/ee/src/pages/auth/callback/[[...callback]].tsx b/web/ee/src/pages/auth/callback/[[...callback]].tsx new file mode 100644 index 0000000000..5751a67bb0 --- /dev/null +++ b/web/ee/src/pages/auth/callback/[[...callback]].tsx @@ -0,0 +1,3 @@ +import Callback from "@agenta/oss/src/pages/auth/callback/[[...callback]]" + +export default Callback diff --git a/web/ee/src/pages/post-signup/index.tsx b/web/ee/src/pages/post-signup/index.tsx new file mode 100644 index 0000000000..3e73089f76 --- /dev/null +++ b/web/ee/src/pages/post-signup/index.tsx @@ -0,0 +1,5 @@ +import PostSignupForm from "@/oss/components/PostSignupForm/PostSignupForm" + +export default function Apps() { + return +} diff --git a/web/ee/src/pages/w/[workspace_id]/index.tsx b/web/ee/src/pages/w/[workspace_id]/index.tsx new file mode 100644 index 0000000000..24b7e01d2e --- /dev/null +++ b/web/ee/src/pages/w/[workspace_id]/index.tsx @@ -0,0 +1,3 @@ +import WorkspaceRedirect from "@/oss/components/pages/WorkspaceRedirect" + +export default WorkspaceRedirect diff --git a/web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/deployments/index.tsx b/web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/deployments/index.tsx new file mode 100644 index 0000000000..15d4a5ea5f --- /dev/null +++ b/web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/deployments/index.tsx @@ -0,0 +1,3 @@ +import DeploymentPage from "@agenta/oss/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/deployments" + +export default DeploymentPage diff --git a/web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/endpoints/index.tsx b/web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/endpoints/index.tsx new file mode 100644 index 0000000000..5dccd2cacb --- /dev/null +++ b/web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/endpoints/index.tsx @@ -0,0 +1,5 @@ +import AppEndpointsPage from "@agenta/oss/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/endpoints" +import {createParams} from "@agenta/oss/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/endpoints" + +export {createParams} +export default AppEndpointsPage diff --git a/web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/evaluations/human_a_b_testing/[evaluation_id]/index.tsx b/web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/evaluations/human_a_b_testing/[evaluation_id]/index.tsx new file mode 100644 index 0000000000..76e6526898 --- /dev/null +++ b/web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/evaluations/human_a_b_testing/[evaluation_id]/index.tsx @@ -0,0 +1,115 @@ +import {useEffect, useState} from "react" + +import {useAtom, useAtomValue} from "jotai" +import dynamic from "next/dynamic" +import {useRouter} from "next/router" + +// Avoid SSR for this heavy component to prevent server-side ReferenceErrors from client-only libs +const ABTestingEvaluationTable = dynamic( + () => import("@/oss/components/EvaluationTable/ABTestingEvaluationTable"), + {ssr: false}, +) +import useURL from "@/oss/hooks/useURL" +import {evaluationAtom, evaluationScenariosAtom} from "@/oss/lib/atoms/evaluation" +import {getTestsetChatColumn} from "@/oss/lib/helpers/testset" +import {useBreadcrumbsEffect} from "@/oss/lib/hooks/useBreadcrumbs" +import type {Evaluation} from "@/oss/lib/Types" +import { + fetchLoadEvaluation, + fetchAllLoadEvaluationsScenarios, +} from "@/oss/services/human-evaluations/api" +import {fetchTestset} from "@/oss/services/testsets/api" +import {projectIdAtom} from "@/oss/state/project" +import {variantsAtom} from "@/oss/state/variant/atoms/fetcher" + +export default function Evaluation() { + const router = useRouter() + const projectId = useAtomValue(projectIdAtom) + const evaluationTableId = router.query.evaluation_id + ? router.query.evaluation_id.toString() + : "" + const [evaluationScenarios, setEvaluationScenarios] = useAtom(evaluationScenariosAtom) + const [evaluation, setEvaluation] = useAtom(evaluationAtom) + const [isLoading, setIsLoading] = useState(true) + const appId = router.query.app_id as string + const columnsCount = 2 + const {baseAppURL} = useURL() + // variants from global store + const variantsStore = useAtomValue(variantsAtom) + + useEffect(() => { + if (!evaluation || !projectId) { + return + } + const init = async () => { + setIsLoading(true) + try { + const data = await fetchAllLoadEvaluationsScenarios(evaluationTableId, evaluation) + setEvaluationScenarios(data) + } finally { + setTimeout(() => setIsLoading(false), 1000) + } + } + init() + }, [evaluation, projectId]) + + useEffect(() => { + if (!evaluationTableId) { + return + } + const init = async () => { + const evaluation: Evaluation = await fetchLoadEvaluation(evaluationTableId) + const backendVariants = variantsStore + const testset = await fetchTestset(evaluation.testset._id) + // Create a map for faster access to first array elements + const backendVariantsMap = new Map() + backendVariants.forEach((obj) => backendVariantsMap.set(obj.variantId, obj)) + + // Update variants in second object + evaluation.variants = evaluation.variants.map((variant) => { + const backendVariant = backendVariantsMap.get(variant.variantId) + return backendVariant ? backendVariant : variant + }) + evaluation.testset = { + ...evaluation.testset, + ...testset, + testsetChatColumn: getTestsetChatColumn(testset.csvdata), + } + setEvaluation(evaluation) + } + + init() + }, [evaluationTableId]) + + // breadcrumbs + useBreadcrumbsEffect( + { + breadcrumbs: { + appPage: { + label: "human ab testing", + href: `${baseAppURL}/${appId}/evaluations?selectedEvaluation=human_ab_testing`, + }, + "eval-detail": { + label: evaluationTableId, + value: evaluationTableId, + }, + }, + type: "append", + condition: !!evaluationTableId, + }, + [evaluationTableId], + ) + + return ( +
    + {evaluationTableId && evaluationScenarios && evaluation && ( + + )} +
    + ) +} diff --git a/web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/evaluations/index.tsx b/web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/evaluations/index.tsx new file mode 100644 index 0000000000..5f9c0ce406 --- /dev/null +++ b/web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/evaluations/index.tsx @@ -0,0 +1,7 @@ +import EvaluationsView from "@/oss/components/pages/evaluations/EvaluationsView" + +const AppEvaluationsPage = () => { + return +} + +export default AppEvaluationsPage diff --git a/web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/evaluations/results/[evaluation_id]/index.tsx b/web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/evaluations/results/[evaluation_id]/index.tsx new file mode 100644 index 0000000000..761464975d --- /dev/null +++ b/web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/evaluations/results/[evaluation_id]/index.tsx @@ -0,0 +1,7 @@ +import EvalRunDetailsPage from "@/oss/components/EvalRunDetails" + +const EvaluationPage = () => { + return +} + +export default EvaluationPage diff --git a/web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/evaluations/results/compare/index.tsx b/web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/evaluations/results/compare/index.tsx new file mode 100644 index 0000000000..9a24e505d7 --- /dev/null +++ b/web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/evaluations/results/compare/index.tsx @@ -0,0 +1,7 @@ +import EvaluationCompare from "@/oss/components/pages/evaluations/evaluationCompare/EvaluationCompare" + +const EvaluationCompareDetails = () => { + return +} + +export default EvaluationCompareDetails diff --git a/web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/evaluations/single_model_test/[evaluation_id]/index.tsx b/web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/evaluations/single_model_test/[evaluation_id]/index.tsx new file mode 100644 index 0000000000..209e1772ec --- /dev/null +++ b/web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/evaluations/single_model_test/[evaluation_id]/index.tsx @@ -0,0 +1,7 @@ +import EvalRunDetailsPage from "@/oss/components/EvalRunDetails" + +const EvaluationPage = () => { + return +} + +export default EvaluationPage diff --git a/web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/overview/index.tsx b/web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/overview/index.tsx new file mode 100644 index 0000000000..cc56265403 --- /dev/null +++ b/web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/overview/index.tsx @@ -0,0 +1,3 @@ +import OverviewPage from "@agenta/oss/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/overview" + +export default OverviewPage diff --git a/web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/playground/index.tsx b/web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/playground/index.tsx new file mode 100644 index 0000000000..47c2fd3659 --- /dev/null +++ b/web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/playground/index.tsx @@ -0,0 +1,3 @@ +import PlaygroundPage from "@agenta/oss/src/components/PlaygroundRouter" + +export default PlaygroundPage diff --git a/web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/traces/index.tsx b/web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/traces/index.tsx new file mode 100644 index 0000000000..128eb8aa0f --- /dev/null +++ b/web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/traces/index.tsx @@ -0,0 +1,3 @@ +import TracesPage from "@agenta/oss/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/traces" + +export default TracesPage diff --git a/web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/variants/index.tsx b/web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/variants/index.tsx new file mode 100644 index 0000000000..96ba4c5973 --- /dev/null +++ b/web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/variants/index.tsx @@ -0,0 +1,3 @@ +import VariantsPage from "@agenta/oss/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/variants" + +export default VariantsPage diff --git a/web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/index.tsx b/web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/index.tsx new file mode 100644 index 0000000000..df81bc9d9d --- /dev/null +++ b/web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/index.tsx @@ -0,0 +1,3 @@ +import AppsPage from "@agenta/oss/src/pages/w/[workspace_id]/p/[project_id]/apps" + +export default AppsPage diff --git a/web/ee/src/pages/w/[workspace_id]/p/[project_id]/evaluations/index.tsx b/web/ee/src/pages/w/[workspace_id]/p/[project_id]/evaluations/index.tsx new file mode 100644 index 0000000000..b01b145bb4 --- /dev/null +++ b/web/ee/src/pages/w/[workspace_id]/p/[project_id]/evaluations/index.tsx @@ -0,0 +1,7 @@ +import EvaluationsView from "@/oss/components/pages/evaluations/EvaluationsView" + +const ProjectEvaluationsPage = () => { + return +} + +export default ProjectEvaluationsPage diff --git a/web/ee/src/pages/w/[workspace_id]/p/[project_id]/evaluations/results/[evaluation_id]/index.tsx b/web/ee/src/pages/w/[workspace_id]/p/[project_id]/evaluations/results/[evaluation_id]/index.tsx new file mode 100644 index 0000000000..91c5d13e40 --- /dev/null +++ b/web/ee/src/pages/w/[workspace_id]/p/[project_id]/evaluations/results/[evaluation_id]/index.tsx @@ -0,0 +1,7 @@ +import EvalRunDetailsPage from "@/oss/components/EvalRunDetails" + +const ProjectAutoEvaluationPage = () => { + return +} + +export default ProjectAutoEvaluationPage diff --git a/web/ee/src/pages/w/[workspace_id]/p/[project_id]/evaluations/results/compare/index.tsx b/web/ee/src/pages/w/[workspace_id]/p/[project_id]/evaluations/results/compare/index.tsx new file mode 100644 index 0000000000..4fc96755ce --- /dev/null +++ b/web/ee/src/pages/w/[workspace_id]/p/[project_id]/evaluations/results/compare/index.tsx @@ -0,0 +1,7 @@ +import EvaluationCompare from "@/oss/components/pages/evaluations/evaluationCompare/EvaluationCompare" + +const ProjectEvaluationCompareDetails = () => { + return +} + +export default ProjectEvaluationCompareDetails diff --git a/web/ee/src/pages/w/[workspace_id]/p/[project_id]/evaluations/single_model_test/[evaluation_id]/index.tsx b/web/ee/src/pages/w/[workspace_id]/p/[project_id]/evaluations/single_model_test/[evaluation_id]/index.tsx new file mode 100644 index 0000000000..67c0827984 --- /dev/null +++ b/web/ee/src/pages/w/[workspace_id]/p/[project_id]/evaluations/single_model_test/[evaluation_id]/index.tsx @@ -0,0 +1,7 @@ +import EvalRunDetailsPage from "@/oss/components/EvalRunDetails" + +const ProjectHumanEvaluationPage = () => { + return +} + +export default ProjectHumanEvaluationPage diff --git a/web/ee/src/pages/w/[workspace_id]/p/[project_id]/observability/index.tsx b/web/ee/src/pages/w/[workspace_id]/p/[project_id]/observability/index.tsx new file mode 100644 index 0000000000..73d6cb12eb --- /dev/null +++ b/web/ee/src/pages/w/[workspace_id]/p/[project_id]/observability/index.tsx @@ -0,0 +1,3 @@ +import ObservabilityPage from "@agenta/oss/src/pages/w/[workspace_id]/p/[project_id]/observability" + +export default ObservabilityPage diff --git a/web/ee/src/pages/w/[workspace_id]/p/[project_id]/settings/index.tsx b/web/ee/src/pages/w/[workspace_id]/p/[project_id]/settings/index.tsx new file mode 100644 index 0000000000..2ce2ce1d4a --- /dev/null +++ b/web/ee/src/pages/w/[workspace_id]/p/[project_id]/settings/index.tsx @@ -0,0 +1,3 @@ +import SettingsPage from "@agenta/oss/src/pages/w/[workspace_id]/p/[project_id]/settings" + +export default SettingsPage diff --git a/web/ee/src/pages/w/[workspace_id]/p/[project_id]/share/index.tsx b/web/ee/src/pages/w/[workspace_id]/p/[project_id]/share/index.tsx new file mode 100644 index 0000000000..8a46c8ffae --- /dev/null +++ b/web/ee/src/pages/w/[workspace_id]/p/[project_id]/share/index.tsx @@ -0,0 +1,86 @@ +import {useEffect, useRef} from "react" + +import {useAtomValue} from "jotai" +import {useRouter} from "next/router" + +import ProtectedRoute from "@/oss/components/ProtectedRoute/ProtectedRoute" +import ContentSpinner from "@/oss/components/Spinner/ContentSpinner" +import useURL from "@/oss/hooks/useURL" +import {EvaluationType} from "@/oss/lib/enums" +import {getAllVariantParameters} from "@/oss/lib/helpers/variantHelper" +import {GenericObject, Variant} from "@/oss/lib/Types" +import {createNewEvaluation} from "@/oss/services/human-evaluations/api" +import {useOrgData} from "@/oss/state/org" +import {variantsAtom} from "@/oss/state/variant/atoms/fetcher" + +const EvaluationShare: React.FC = () => { + const router = useRouter() + const {changeSelectedOrg, selectedOrg, loading} = useOrgData() + const called = useRef(false) + const {baseAppURL} = useURL() + + useEffect(() => { + const {app, org, variants: variantIds, testset, type} = router.query + + //1. check all the required params are present + if (app && org && testset && type && Array.isArray(variantIds) && !loading) { + const executor = async () => { + //make sure this is only called once + if (called.current) { + return + } + called.current = true + + // variants from global store + const allVariants = useAtomValue(variantsAtom) + const variants = variantIds + .map((id) => allVariants.find((item) => item.variantId === id)) + .filter((item) => item !== undefined) as Variant[] + + //get the inputs for each variant + const results = await Promise.all( + variants.map((variant) => + getAllVariantParameters(app as string, variant).then((data) => ({ + variantName: variant.variantName, + inputs: data?.inputs.map((inputParam) => inputParam.name) || [], + })), + ), + ) + const inputs: Record = results.reduce( + (acc: GenericObject, result) => { + acc[result.variantName] = result.inputs + return acc + }, + {}, + ) + + //create the evaluation + const evalId = await createNewEvaluation({ + variant_ids: variantIds, + inputs: inputs[variants[0].variantName], + evaluationType: type as EvaluationType, + evaluationTypeSettings: {}, + llmAppPromptTemplate: "", + selectedCustomEvaluationID: "", + testsetId: testset as string, + }) + + //redirect to the evaluation detail page once all work is done + router.push(`${baseAppURL}/${app}/annotations/${type}/${evalId}`) + } + + if (selectedOrg?.id !== org) { + //2. change the selected org to the one in the query + changeSelectedOrg(org as string, () => { + executor() + }) + } else { + executor() + } + } + }, [router.query, loading]) + + return +} + +export default () => diff --git a/web/ee/src/pages/w/[workspace_id]/p/[project_id]/testsets/[testset_id]/index.tsx b/web/ee/src/pages/w/[workspace_id]/p/[project_id]/testsets/[testset_id]/index.tsx new file mode 100644 index 0000000000..157e0d2acc --- /dev/null +++ b/web/ee/src/pages/w/[workspace_id]/p/[project_id]/testsets/[testset_id]/index.tsx @@ -0,0 +1,3 @@ +import TestsetPage from "@agenta/oss/src/pages/w/[workspace_id]/p/[project_id]/testsets/[testset_id]" + +export default TestsetPage diff --git a/web/ee/src/pages/w/[workspace_id]/p/[project_id]/testsets/index.tsx b/web/ee/src/pages/w/[workspace_id]/p/[project_id]/testsets/index.tsx new file mode 100644 index 0000000000..0f0dad4db6 --- /dev/null +++ b/web/ee/src/pages/w/[workspace_id]/p/[project_id]/testsets/index.tsx @@ -0,0 +1,3 @@ +import TestsetsPage from "@agenta/oss/src/pages/w/[workspace_id]/p/[project_id]/testsets" + +export default TestsetsPage diff --git a/web/ee/src/pages/w/[workspace_id]/p/index.tsx b/web/ee/src/pages/w/[workspace_id]/p/index.tsx new file mode 100644 index 0000000000..06971bcc49 --- /dev/null +++ b/web/ee/src/pages/w/[workspace_id]/p/index.tsx @@ -0,0 +1,3 @@ +import WorkspaceProjectRedirect from "@/oss/components/pages/WorkspaceProjectRedirect" + +export default WorkspaceProjectRedirect diff --git a/web/ee/src/pages/w/index.tsx b/web/ee/src/pages/w/index.tsx new file mode 100644 index 0000000000..cea69f3950 --- /dev/null +++ b/web/ee/src/pages/w/index.tsx @@ -0,0 +1,3 @@ +import WorkspaceSelection from "@/oss/components/pages/WorkspaceSelection" + +export default WorkspaceSelection diff --git a/web/ee/src/pages/workspaces/accept.tsx b/web/ee/src/pages/workspaces/accept.tsx new file mode 100644 index 0000000000..105b9dd603 --- /dev/null +++ b/web/ee/src/pages/workspaces/accept.tsx @@ -0,0 +1,3 @@ +import Accept from "@agenta/oss/src/pages/workspaces/accept" + +export default Accept diff --git a/web/ee/src/services/billing/index.tsx b/web/ee/src/services/billing/index.tsx new file mode 100644 index 0000000000..7adf4fda77 --- /dev/null +++ b/web/ee/src/services/billing/index.tsx @@ -0,0 +1,58 @@ +// Re-export the new atom-based billing hooks and actions +export { + useUsageData, + useSubscriptionData, + usePricingPlans, + useSubscriptionActions, + useBilling, +} from "../../state/billing" + +// Legacy function exports for backward compatibility +// These now use direct API calls for backward compatibility +import axios from "@/oss/lib/api/assets/axiosConfig" +import {getAgentaApiUrl} from "@/oss/lib/helpers/api" +import {getProjectValues} from "@/oss/state/project" + +/** + * @deprecated Use useSubscriptionActions().switchSubscription instead + * Legacy function for switching subscription plans + */ +export const switchSubscription = async (payload: {plan: string}) => { + const {projectId} = getProjectValues() + const response = await axios.post( + `${getAgentaApiUrl()}/billing/plans/switch?plan=${payload.plan}&project_id=${projectId}`, + ) + return response +} + +/** + * @deprecated Use useSubscriptionActions().cancelSubscription instead + * Legacy function for canceling subscription + */ +export const cancelSubscription = async () => { + const {projectId} = getProjectValues() + const response = await axios.post( + `${getAgentaApiUrl()}/billing/subscription/cancel?project_id=${projectId}`, + ) + return response +} + +/** + * @deprecated Use useSubscriptionActions().checkoutSubscription instead + * Legacy function for creating new subscription checkout + */ +export const checkoutNewSubscription = async (payload: {plan: string; success_url: string}) => { + const response = await axios.post( + `${getAgentaApiUrl()}/billing/stripe/checkouts/?plan=${payload.plan}&success_url=${payload.success_url}`, + ) + return response +} + +/** + * @deprecated Use useSubscriptionActions().editSubscription instead + * Legacy function for editing subscription info + */ +export const editSubscriptionInfo = async () => { + const response = await axios.post(`${getAgentaApiUrl()}/billing/stripe/portals/`) + return response +} diff --git a/web/ee/src/services/billing/types.d.ts b/web/ee/src/services/billing/types.d.ts new file mode 100644 index 0000000000..22489b0fb0 --- /dev/null +++ b/web/ee/src/services/billing/types.d.ts @@ -0,0 +1,45 @@ +export type Plan = "cloud_v0_hobby" | "cloud_v0_pro" | "cloud_v0_business" | "cloud_v0_enterprise" + +export interface SubscriptionType { + plan: Plan + period_start: number + period_end: number + free_trial: boolean +} + +interface UsageKeyType { + value: number + limit: number | null + free: number + monthly: boolean + strict: boolean +} + +export interface DataUsageType { + traces: UsageKeyType + users: UsageKeyType + prompts: UsageKeyType + jobs: UsageKeyType +} + +interface PriceInfo { + base?: { + amount: number + currency: string + starting_at?: boolean + } + users?: { + tiers: {limit?: number; amount: number; rate?: number}[] + } + traces?: { + tiers: {limit?: number; amount: number; rate?: number}[] + } +} + +export interface BillingPlan { + title: string + description: string + price?: PriceInfo + features: string[] + plan: Plan +} diff --git a/web/ee/src/services/evaluationRuns/api/index.ts b/web/ee/src/services/evaluationRuns/api/index.ts new file mode 100644 index 0000000000..b67ed17d23 --- /dev/null +++ b/web/ee/src/services/evaluationRuns/api/index.ts @@ -0,0 +1,332 @@ +import {getDefaultStore} from "jotai" + +import {getMetricsFromEvaluator} from "@/oss/components/pages/observability/drawer/AnnotateDrawer/assets/transforms" +import {EvaluatorDto} from "@/oss/lib/hooks/useEvaluators/types" +import {extractInputKeysFromSchema} from "@/oss/lib/shared/variant/inputHelpers" +import {getRequestSchema} from "@/oss/lib/shared/variant/openapiUtils" +import {EnhancedVariant} from "@/oss/lib/shared/variant/transformer/types" +import {slugify} from "@/oss/lib/utils/slugify" +import {getAppValues} from "@/oss/state/app" +import {stablePromptVariablesAtomFamily} from "@/oss/state/newPlayground/core/prompts" +import {variantFlagsAtomFamily} from "@/oss/state/newPlayground/core/variantFlags" +import {appSchemaAtom, appUriInfoAtom} from "@/oss/state/variant/atoms/fetcher" + +import {CreateEvaluationRunInput, TestSet} from "./types" + +const extractColumnsFromTestset = (testset?: TestSet): string[] => { + if (!testset) return [] + + const columns = new Set() + + const addColumnsFromObject = (obj?: Record) => { + if (!obj || typeof obj !== "object") return + Object.keys(obj).forEach((key) => { + if (!key || typeof key !== "string") return + if (key.startsWith("__")) return + columns.add(key) + }) + } + + const csvRows = (testset as any)?.csvdata + if (Array.isArray(csvRows) && csvRows.length > 0) { + addColumnsFromObject(csvRows[0] as Record) + } + + const data = (testset as any)?.data + if (data) { + const testcases = data.testcases || data.testCases + if (Array.isArray(testcases) && testcases.length > 0) { + addColumnsFromObject( + (testcases[0] && (testcases[0].data || testcases[0])) as Record, + ) + } + + const columnsList = data.columns || data.columnNames + if (Array.isArray(columnsList)) { + columnsList.forEach((col: any) => { + if (typeof col === "string" && col && !col.startsWith("__")) { + columns.add(col) + } + }) + } + } + + return Array.from(columns) +} + +/** + * Constructs the input step for a given testset, pulling variantId and revisionId + * directly from the testset object. Any undefined reference keys are omitted. + */ + +const buildInputStep = (testset?: TestSet) => { + if (!testset) return + const inputKey = slugify(testset.name ?? (testset as any).slug ?? "testset", testset.id) + if (!testset) { + return + } + + const references: Record = { + testset: {id: testset.id}, + } + + // TODO: after new testsets + // if (testset.variantId) { + // references.testset_variant = {id: testset.variantId} + // } + // if (testset.revisionId) { + // references.testset_revision = {id: testset.revisionId} + // } + + return { + key: inputKey, + type: "input", + origin: "auto", + references, + } +} + +/** + * Constructs the invocation step for a given revision. + * Only includes reference keys if their IDs are defined. + */ +const buildInvocationStep = (revision: EnhancedVariant, inputKey: string) => { + const invocationKey = slugify( + (revision as any).name ?? (revision as any).variantName ?? "invocation", + revision.id, + ) + const references: Record = {} + + const {currentApp} = getAppValues() + const appId = currentApp?.app_id as string + references.application = {id: appId} + + if (revision.variantId !== undefined) { + references.application_variant = {id: revision.variantId} + } + if (revision.id !== undefined) { + references.application_revision = {id: revision.id} + } + return { + key: invocationKey, + type: "invocation", + origin: "human", + references, + inputs: [{key: inputKey}], + } +} + +/** + * Constructs annotation steps for all evaluators. + * Uses each evaluator's slug and id for references. + */ +const buildAnnotationStepsFromEvaluators = ( + evaluators: EvaluatorDto[] | undefined, + inputKey: string, + invocationKey: string, +) => { + if (!evaluators) return [] + return evaluators.map((evaluator) => { + const references: Record = {} + if (evaluator.slug !== undefined) { + references.evaluator = {id: evaluator.id} + } + + // TODO: Enable when we have this information + // if (evaluator.id !== undefined) { + // references.evaluator_variant = {id: evaluator.id} + // } + return { + key: `${invocationKey}.${evaluator.slug}`, + references, + type: "annotation", + origin: "human", + inputs: [{key: inputKey}, {key: invocationKey}], + } + }) +} + +/** + * Constructs the array of mappings for extracting data from steps. + * Uses the revision's inputParams to generate "input" mappings automatically. + * + * @param revision - The EnhancedVariant object containing inputParams. + * @param correctAnswerColumn - The property name in the input step for ground truth. + * @param evaluators - Optional list of evaluators to generate evaluator mappings. + * @param testset - The testset object to conditionally add mappings based on variantId and revisionId. + * @returns An array of mapping objects. + */ +const buildMappings = ( + revision: EnhancedVariant, + correctAnswerColumn: string, + evaluators: EvaluatorDto[] | undefined, + testset?: TestSet, +) => { + const testsetKey = testset + ? slugify(testset.name ?? (testset as any).slug ?? "testset", testset.id) + : "input" + const invocationKey = slugify( + (revision as any).name ?? + (revision as any).variantName ?? + ((revision as any)._parentVariant as any)?.variantName ?? + "invocation", + revision.id, + ) + const mappings: { + column: {kind: "testset" | "invocation" | "evaluator"; name: string} + step: {key: string; path: string} + }[] = [] + const pushedTestsetColumns = new Set() + + // Generate input mappings aligned with Playground (schema + initial prompt vars for custom; prompt tokens for non-custom) + { + const store = getDefaultStore() + const flags = store.get(variantFlagsAtomFamily({revisionId: revision.id})) as any + const isCustom = Boolean(flags?.isCustom) + const spec = store.get(appSchemaAtom) as any + const routePath = store.get(appUriInfoAtom)?.routePath || "" + + let variableNames: string[] = [] + if (isCustom) { + // Custom workflows: strictly use schema-defined input keys + variableNames = spec ? extractInputKeysFromSchema(spec as any, routePath) : [] + } else { + // Non-custom: use stable variables from saved parameters (ignore live prompt edits) + variableNames = store.get(stablePromptVariablesAtomFamily(revision.id)) || [] + } + + variableNames.forEach((name) => { + if (!name || typeof name !== "string") return + pushedTestsetColumns.add(name) + mappings.push({ + column: {kind: "testset", name}, + step: {key: testsetKey, path: `data.${name}`}, + }) + }) + + const req = spec ? (getRequestSchema as any)(spec, {routePath}) : undefined + if (req?.properties?.messages && !pushedTestsetColumns.has("messages")) { + pushedTestsetColumns.add("messages") + mappings.push({ + column: {kind: "testset", name: "messages"}, + step: {key: testsetKey, path: "data.messages"}, + }) + } + } + + if (testset && pushedTestsetColumns.size === 0) { + const normalizedCorrectAnswer = (correctAnswerColumn || "") + .replace(/[\W_]/g, "") + .toLowerCase() + const derivedColumns = extractColumnsFromTestset(testset) + derivedColumns.forEach((name) => { + if (!name || typeof name !== "string") return + const normalized = name.trim() + if (!normalized || normalized.startsWith("__")) return + const normalizedSafe = normalized.replace(/[\W_]/g, "").toLowerCase() + if (normalizedSafe === normalizedCorrectAnswer) return + if (normalizedSafe.includes("correctanswer")) return + if (normalizedSafe.startsWith("testcase") || normalizedSafe.includes("dedup")) return + if (pushedTestsetColumns.has(name) || pushedTestsetColumns.has(normalizedSafe)) return + pushedTestsetColumns.add(name) + pushedTestsetColumns.add(normalizedSafe) + mappings.push({ + column: {kind: "testset", name}, + step: {key: testsetKey, path: `data.${name}`}, + }) + }) + } + + // Application output mapping should use canonical column name "outputs" to align with backend + mappings.push({ + column: {kind: "invocation", name: "outputs"}, + step: {key: invocationKey, path: "attributes.ag.data.outputs"}, + }) + + // Add mappings for testset variantId and revisionId if available + // Additional metadata mappings if available + if (testset?.variantId !== undefined) { + mappings.push({ + column: {kind: "testset", name: "testset_variant_id"}, + step: {key: testsetKey, path: "data.variantId"}, + }) + } + if (testset?.revisionId !== undefined) { + mappings.push({ + column: {kind: "testset", name: "testset_revision_id"}, + step: {key: testsetKey, path: "data.revisionId"}, + }) + } + + // Evaluator output mappings generated dynamically per evaluator + if (evaluators && evaluators.length > 0) { + evaluators?.forEach((evaluator) => { + const metrics = getMetricsFromEvaluator(evaluator) + Object.keys(metrics).forEach((key) => { + mappings.push({ + column: {kind: "evaluator", name: `${evaluator.slug}.${key}`}, + step: {key: `${invocationKey}.${evaluator.slug}`, path: `data.outputs.${key}`}, + }) + }) + }) + } + + return mappings +} + +/** + * Builds the payload required for submitting multiple evaluation runs to the backend. + * Each revision will be wrapped in its own run configuration. + * This function returns an object with a `runs` array that can be sent to + * the POST `/preview/evaluations/runs/` endpoint. + * + * @param name - Base name used in each run + * @param testset - The test set being used in this evaluation (must include variantId & revisionId). + * @param revisions - List of enhanced variant revisions; one run will be generated per revision. + * @param evaluators - List of available evaluators used in annotation. + * @param correctAnswerColumn - The property name in the input step that holds the ground truth value. + * @param meta - Optional metadata object to attach to each run. + * @returns Object containing `runs` array, ready to be POSTed to the backend. + */ +export const createEvaluationRunConfig = ({ + name, + testset, + revisions, + evaluators, + correctAnswerColumn, + meta = {}, // Default to empty object if not provided +}: CreateEvaluationRunInput) => { + // Pre-build the input step (which now includes variantId & revisionId) and mappings + const inputStep = buildInputStep(testset) + const inputKey = slugify(testset?.name ?? (testset as any)?.slug ?? "testset", testset!.id) + const invocationKeysCache: Record = {} + + // Create one run configuration per revision + const runs = revisions.map((revision) => { + const invocationKey = + invocationKeysCache[revision.id] ?? + slugify( + (revision as any).name ?? (revision as any).variantName ?? "invocation", + revision.id, + ) + + invocationKeysCache[revision.id] = invocationKey + + const steps = [ + inputStep, + buildInvocationStep(revision, inputKey), + ...buildAnnotationStepsFromEvaluators(evaluators, inputKey, invocationKey), + ] + // Build mappings for this revision, passing testset as well + const mappings = buildMappings(revision, correctAnswerColumn, evaluators, testset) + return { + key: `evaluation-${revision.variantId}`, + name: `${name}`, + description: "auto-generated evaluation run", + meta, // Include the passed-in meta object + data: {steps, mappings}, + } + }) + + return {runs} +} diff --git a/web/ee/src/services/evaluationRuns/api/types.ts b/web/ee/src/services/evaluationRuns/api/types.ts new file mode 100644 index 0000000000..8c5b6d95ec --- /dev/null +++ b/web/ee/src/services/evaluationRuns/api/types.ts @@ -0,0 +1,18 @@ +import {EvaluatorDto} from "@/oss/lib/hooks/useEvaluators/types" +import {EnhancedVariant} from "@/oss/lib/shared/variant/transformer/types" +import type {TestSet as BaseTestSet} from "@/oss/lib/Types" + +// Extend the base TestSet to include optional variantId and revisionId +export interface TestSet extends BaseTestSet { + variantId?: string + revisionId?: string +} + +export interface CreateEvaluationRunInput { + name: string + testset: TestSet | testset | undefined + revisions: EnhancedVariant[] + evaluators?: EvaluatorDto[] + correctAnswerColumn: string + meta?: Record // Optional meta object to include in each run +} diff --git a/web/ee/src/services/evaluationRuns/utils.ts b/web/ee/src/services/evaluationRuns/utils.ts new file mode 100644 index 0000000000..e69de29bb2 diff --git a/web/ee/src/services/evaluations/api/index.ts b/web/ee/src/services/evaluations/api/index.ts new file mode 100644 index 0000000000..65354426ed --- /dev/null +++ b/web/ee/src/services/evaluations/api/index.ts @@ -0,0 +1,328 @@ +import uniqBy from "lodash/uniqBy" +import {v4 as uuidv4} from "uuid" + +import axios from "@/oss/lib/api/assets/axiosConfig" +import {getTagColors} from "@/oss/lib/helpers/colors" +import {calcEvalDuration} from "@/oss/lib/helpers/evaluate" +import {isDemo, stringToNumberInRange} from "@/oss/lib/helpers/utils" +import { + ComparisonResultRow, + EvaluationStatus, + Evaluator, + EvaluatorConfig, + KeyValuePair, + LLMRunRateLimit, + TestSet, + _Evaluation, + _EvaluationScenario, +} from "@/oss/lib/Types" +import aiImg from "@/oss/media/artificial-intelligence.png" +import bracketCurlyImg from "@/oss/media/bracket-curly.png" +import codeImg from "@/oss/media/browser.png" +import webhookImg from "@/oss/media/link.png" +import regexImg from "@/oss/media/programming.png" +import exactMatchImg from "@/oss/media/target.png" +import similarityImg from "@/oss/media/transparency.png" +import {fetchTestset} from "@/oss/services/testsets/api" +import {getProjectValues} from "@/oss/state/project" + +//Prefix convention: +// - fetch: GET single entity from server +// - fetchAll: GET all entities from server +// - create: POST data to server +// - update: PUT data to server +// - delete: DELETE data from server + +const evaluatorIconsMap = { + auto_exact_match: exactMatchImg, + auto_similarity_match: similarityImg, + auto_regex_test: regexImg, + field_match_test: exactMatchImg, + auto_webhook_test: webhookImg, + auto_ai_critique: aiImg, + auto_custom_code_run: codeImg, + auto_json_diff: bracketCurlyImg, + auto_semantic_similarity: similarityImg, + auto_contains_json: bracketCurlyImg, + rag_faithfulness: codeImg, + rag_context_relevancy: codeImg, +} + +//Evaluators +// export const fetchAllEvaluators = async () => { +// const tagColors = getTagColors() +// const {projectId} = getProjectValues() + +// const response = await axios.get(`/evaluators?project_id=${projectId}`) +// const evaluators = (response.data || []) +// .filter((item: Evaluator) => !item.key.startsWith("human")) +// .filter((item: Evaluator) => isDemo() || item.oss) +// .map((item: Evaluator) => ({ +// ...item, +// icon_url: evaluatorIconsMap[item.key as keyof typeof evaluatorIconsMap], +// color: tagColors[stringToNumberInRange(item.key, 0, tagColors.length - 1)], +// })) as Evaluator[] + +// return evaluators +// } + +// Evaluator Configs +export const fetchAllEvaluatorConfigs = async ( + appId?: string | null, + projectIdOverride?: string | null, +) => { + const tagColors = getTagColors() + const {projectId: projectIdFromStore} = getProjectValues() + const projectId = projectIdOverride ?? projectIdFromStore + + if (!projectId) { + return [] as EvaluatorConfig[] + } + + const response = await axios.get("/evaluators/configs", { + params: { + project_id: projectId, + ...(appId ? {app_id: appId} : {}), + }, + }) + const evaluatorConfigs = (response.data || []).map((item: EvaluatorConfig) => ({ + ...item, + icon_url: evaluatorIconsMap[item.evaluator_key as keyof typeof evaluatorIconsMap], + color: tagColors[stringToNumberInRange(item.evaluator_key, 0, tagColors.length - 1)], + })) as EvaluatorConfig[] + return evaluatorConfigs +} + +export type CreateEvaluationConfigData = Omit +export const createEvaluatorConfig = async ( + appId: string | null | undefined, + config: CreateEvaluationConfigData, +) => { + const {projectId} = getProjectValues() + void appId + + return axios.post(`/evaluators/configs?project_id=${projectId}`, { + ...config, + }) +} + +export const updateEvaluatorConfig = async ( + configId: string, + config: Partial, +) => { + const {projectId} = getProjectValues() + + return axios.put(`/evaluators/configs/${configId}?project_id=${projectId}`, config) +} + +export const deleteEvaluatorConfig = async (configId: string) => { + const {projectId} = getProjectValues() + + return axios.delete(`/evaluators/configs/${configId}?project_id=${projectId}`) +} + +// Evaluations +const evaluationTransformer = (item: any) => ({ + id: item.id, + appId: item.app_id, + created_at: item.created_at, + updated_at: item.updated_at, + duration: calcEvalDuration(item), + status: item.status, + testset: { + id: item.testset_id, + name: item.testset_name, + }, + user: { + id: item.user_id, + username: item.user_username, + }, + variants: item.variant_ids.map((id: string, ix: number) => ({ + variantId: id, + variantName: item.variant_names[ix], + })), + aggregated_results: item.aggregated_results || [], + revisions: item.revisions, + variant_revision_ids: item.variant_revision_ids, + variant_ids: item.variant_ids, + average_cost: item.average_cost, + total_cost: item.total_cost, + average_latency: item.average_latency, +}) +export const fetchAllEvaluations = async (appId: string) => { + const {projectId} = getProjectValues() + + const response = await axios.get(`/evaluations?project_id=${projectId}`, { + params: {app_id: appId}, + }) + return response.data.map(evaluationTransformer) as _Evaluation[] +} + +export const fetchEvaluation = async (evaluationId: string) => { + const {projectId} = getProjectValues() + + const response = await axios.get(`/evaluations/${evaluationId}?project_id=${projectId}`) + return evaluationTransformer(response.data) as _Evaluation +} + +export const fetchEvaluationStatus = async (evaluationId: string) => { + const {projectId} = getProjectValues() + + const response = await axios.get(`/evaluations/${evaluationId}/status?project_id=${projectId}`) + return response.data as {status: _Evaluation["status"]} +} + +export type CreateEvaluationData = + | { + testset_id: string + variant_ids?: string[] + evaluators_configs: string[] + rate_limit: LLMRunRateLimit + lm_providers_keys?: KeyValuePair + correct_answer_column: string + } + | { + testset_id: string + revisions_ids?: string[] + evaluators_configs: string[] + rate_limit: LLMRunRateLimit + lm_providers_keys?: KeyValuePair + correct_answer_column: string + name: string + } +export const createEvaluation = async (appId: string, evaluation: CreateEvaluationData) => { + const {projectId} = getProjectValues() + + // TODO: new AUTO-EVAL trigger + return await axios.post(`/evaluations/preview/start?project_id=${projectId}`, { + ...evaluation, + app_id: appId, + }) + // return await axios.post(`/evaluations?project_id=${projectId}`, {...evaluation, app_id: appId}) +} + +export const deleteEvaluations = async (evaluationsIds: string[]) => { + const {projectId} = getProjectValues() + + return axios.delete(`/evaluations?project_id=${projectId}`, { + data: {evaluations_ids: evaluationsIds}, + }) +} + +// Evaluation Scenarios +export const fetchAllEvaluationScenarios = async (evaluationId: string) => { + const {projectId} = getProjectValues() + + const [{data: evaluationScenarios}, evaluation] = await Promise.all([ + axios.get(`/evaluations/${evaluationId}/evaluation_scenarios?project_id=${projectId}`), + fetchEvaluation(evaluationId), + ]) + + evaluationScenarios.forEach((scenario: _EvaluationScenario) => { + scenario.evaluation = evaluation + scenario.evaluators_configs = evaluation.aggregated_results.map( + (item) => item.evaluator_config, + ) + }) + return evaluationScenarios as _EvaluationScenario[] +} + +export const updateScenarioStatus = async ( + scenario: _EvaluationScenario, + status: EvaluationStatus, +) => { + const {projectId} = getProjectValues() + return axios.patch(`/preview/evaluations/scenarios/?project_id=${projectId}`, { + scenarios: [{...scenario, status}], + }) +} + +// Comparison +export const fetchAllComparisonResults = async (evaluationIds: string[]) => { + const scenarioGroups = await Promise.all(evaluationIds.map(fetchAllEvaluationScenarios)) + const testset: TestSet = await fetchTestset(scenarioGroups[0][0].evaluation?.testset?.id) + + const inputsNameSet = new Set() + scenarioGroups.forEach((group) => { + group.forEach((scenario) => { + scenario.inputs.forEach((input) => inputsNameSet.add(input.name)) + }) + }) + + const rows: ComparisonResultRow[] = [] + const inputNames = Array.from(inputsNameSet) + const inputValuesSet = new Set() + const variants = scenarioGroups.map((group) => group[0].evaluation.variants[0]) + const correctAnswers = uniqBy( + scenarioGroups.map((group) => group[0].correct_answers).flat(), + "key", + ) + + for (const data of testset.csvdata) { + const inputValues = inputNames + .filter((name) => data[name] !== undefined) + .map((name) => ({name, value: data[name]})) + const inputValuesStr = inputValues.map((ip) => ip.value).join("") + if (inputValuesSet.has(inputValuesStr)) continue + else inputValuesSet.add(inputValuesStr) + + rows.push({ + id: inputValuesStr, + rowId: uuidv4(), + inputs: inputNames + .map((name) => ({name, value: data[name]})) + .filter((ip) => ip.value !== undefined), + ...correctAnswers.reduce((acc, curr) => { + return {...acc, [`correctAnswer_${curr?.key}`]: data[curr?.key!]} + }, {}), + variants: variants.map((variant, ix) => { + const group = scenarioGroups[ix] + const scenario = group.find((scenario) => + scenario.inputs.every((input) => + inputValues.some( + (ip) => ip.name === input.name && ip.value === input.value, + ), + ), + ) + return { + variantId: variant.variantId, + variantName: variant.variantName, + output: scenario?.outputs[0] || { + result: {type: "string", value: "", error: null}, + }, + evaluationId: scenario?.evaluation.id || "", + evaluatorConfigs: (scenario?.evaluators_configs || []).map((config) => ({ + evaluatorConfig: config, + result: scenario?.results.find( + (result) => result.evaluator_config === config.id, + )?.result || {type: "string", value: "", error: null}, // Adjust this line + })), + } + }), + }) + } + + return { + rows, + testset, + evaluations: scenarioGroups.map((group) => group[0].evaluation), + } +} + +// Evaluation IDs by resource +export const fetchEvaluatonIdsByResource = async ({ + resourceIds, + resourceType, +}: { + resourceIds: string[] + resourceType: "testset" | "evaluator_config" | "variant" +}) => { + const {projectId} = getProjectValues() + + return axios.get(`/evaluations/by_resource?project_id=${projectId}`, { + params: {resource_ids: resourceIds, resource_type: resourceType}, + paramsSerializer: { + indexes: null, //no brackets in query params + }, + }) +} diff --git a/web/ee/src/services/evaluations/api_ee/index.ts b/web/ee/src/services/evaluations/api_ee/index.ts new file mode 100644 index 0000000000..4ae4376f4d --- /dev/null +++ b/web/ee/src/services/evaluations/api_ee/index.ts @@ -0,0 +1,44 @@ +import axios from "@/oss/lib/api/assets/axiosConfig" +import {getAgentaApiUrl} from "@/oss/lib/helpers/api" +import {getProjectValues} from "@/oss/state/project" + +//Prefix convention: +// - fetch: GET single entity from server +// - fetchAll: GET all entities from server +// - create: POST data to server +// - update: PUT data to server +// - delete: DELETE data from server + +import { + EvaluatorInputInterface, + EvaluatorMappingInput, + EvaluatorMappingOutput, + EvaluatorOutputInterface, +} from "../../../lib/types_ee" + +export const createEvaluatorDataMapping = async ( + config: EvaluatorMappingInput, +): Promise => { + const {projectId} = getProjectValues() + + const response = await axios.post( + `${getAgentaApiUrl()}/evaluators/map?project_id=${projectId}`, + {...config}, + ) + return response.data +} + +export const createEvaluatorRunExecution = async ( + evaluatorKey: string, + config: EvaluatorInputInterface, +): Promise => { + const {projectId} = getProjectValues() + + const response = await axios.post( + `${getAgentaApiUrl()}/evaluators/${evaluatorKey}/run?project_id=${projectId}`, + { + ...config, + }, + ) + return response.data +} diff --git a/web/ee/src/services/evaluations/workerUtils.ts b/web/ee/src/services/evaluations/workerUtils.ts new file mode 100644 index 0000000000..f48a2cba9e --- /dev/null +++ b/web/ee/src/services/evaluations/workerUtils.ts @@ -0,0 +1,157 @@ +import {EvaluationStatus} from "@/oss/lib/Types" + +/** + * Update scenario status from a WebWorker / non-axios context. + */ +export async function updateScenarioStatusRemote( + apiUrl: string, + jwt: string, + scenarioId: string, + status: EvaluationStatus, + projectId: string, + runId?: string, +): Promise { + try { + // 1. Query results to validate scenario context (scenarios GET is deprecated) + const res = await fetch( + `${apiUrl}/preview/evaluations/results/query?project_id=${projectId}`, + { + method: "POST", + headers: { + "Content-Type": "application/json", + Authorization: `Bearer ${jwt}`, + }, + body: JSON.stringify({ + result: { + scenario_ids: [scenarioId], + ...(runId ? {run_ids: [runId]} : {}), + }, + windowing: {}, + }), + }, + ) + let scenarioFull: any | null = null + if (res.ok) { + // We no longer rely on the scenario payload; server requires id for PATCH + // Keep minimal object; if server returns extra data in future, parse here + scenarioFull = {id: scenarioId} + } + if (!scenarioFull) scenarioFull = {id: scenarioId} + scenarioFull.status = status + await fetch(`${apiUrl}/preview/evaluations/scenarios/?project_id=${projectId}`, { + method: "PATCH", + headers: { + "Content-Type": "application/json", + Authorization: `Bearer ${jwt}`, + }, + body: JSON.stringify({scenarios: [scenarioFull]}), + }) + } catch { + /* swallow */ + } +} + +/** + * Upsert (create or update) a generic scenario step. Can be used for invocation or annotation steps. + */ +export async function upsertScenarioStep(params: { + apiUrl: string + jwt: string + runId: string + scenarioId: string + status: EvaluationStatus + projectId: string + key: string + traceId?: string | null + spanId?: string | null + references?: Record +}): Promise { + const { + apiUrl, + jwt, + runId, + scenarioId, + status, + projectId, + key, + traceId, + spanId, + references = {}, + } = params + try { + const res = await fetch( + `${apiUrl}/preview/evaluations/results/query?project_id=${projectId}`, + { + method: "POST", + headers: { + "Content-Type": "application/json", + Authorization: `Bearer ${jwt}`, + }, + body: JSON.stringify({ + result: { + run_ids: [runId], + scenario_ids: [scenarioId], + step_keys: [key], + }, + windowing: {}, + }), + }, + ) + if (res.ok) { + const data = await res.json() + const list = Array.isArray(data.results) + ? data.results + : Array.isArray(data.steps) + ? data.steps + : [] + const existing = list.find((s: any) => s.step_key === key || s.stepKey === key) + if (existing) { + const updated = { + ...existing, + status, + trace_id: traceId, + span_id: spanId, + references: {...((existing as any)?.references || {}), ...references}, + } + await fetch(`${apiUrl}/preview/evaluations/results/?project_id=${projectId}`, { + method: "PATCH", + headers: { + "Content-Type": "application/json", + Authorization: `Bearer ${jwt}`, + }, + // API expects bulk-style body: { results: [ { id, ...fields } ] } + body: JSON.stringify({results: [updated]}), + }) + return + } + } + } catch { + /* fallthrough to creation */ + } + + const body = { + results: [ + { + status, + step_key: key, + trace_id: traceId, + span_id: spanId, + scenario_id: scenarioId, + run_id: runId, + references, + }, + ], + } + try { + await fetch(`${apiUrl}/preview/evaluations/results/?project_id=${projectId}`, { + method: "POST", + headers: { + "Content-Type": "application/json", + Authorization: `Bearer ${jwt}`, + }, + body: JSON.stringify(body), + }) + } catch { + /* ignore */ + } +} diff --git a/web/ee/src/services/human-evaluations/api/index.ts b/web/ee/src/services/human-evaluations/api/index.ts new file mode 100644 index 0000000000..769582e3c3 --- /dev/null +++ b/web/ee/src/services/human-evaluations/api/index.ts @@ -0,0 +1,294 @@ +import axios from "@/oss/lib/api/assets/axiosConfig" +import {EvaluationFlow, EvaluationType} from "@/oss/lib/enums" +import {getAgentaApiUrl} from "@/oss/lib/helpers/api" +import { + abTestingEvaluationTransformer, + fromEvaluationResponseToEvaluation, + fromEvaluationScenarioResponseToEvaluationScenario, + singleModelTestEvaluationTransformer, +} from "@/oss/lib/transformers" +import { + EvaluationResponseType, + Evaluation, + GenericObject, + CreateCustomEvaluation, + ExecuteCustomEvalCode, + AICritiqueCreate, +} from "@/oss/lib/Types" +import {getProjectValues} from "@/oss/state/project" + +//Prefix convention: +// - fetch: GET single entity from server +// - fetchAll: GET all entities from server +// - create: POST data to server +// - update: PUT data to server +// - delete: DELETE data from server + +export const fetchAllLoadEvaluations = async ( + appId: string, + projectId: string, + ignoreAxiosError = false, +) => { + const response = await axios.get( + `${getAgentaApiUrl()}/human-evaluations?project_id=${projectId}&app_id=${appId}`, + { + _ignoreError: ignoreAxiosError, + } as any, + ) + return response.data +} + +export const fetchLoadEvaluation = async (evaluationId: string) => { + const {projectId} = getProjectValues() + try { + return await axios + .get(`${getAgentaApiUrl()}/human-evaluations/${evaluationId}?project_id=${projectId}`) + .then((responseData) => { + return fromEvaluationResponseToEvaluation(responseData.data) + }) + } catch (error) { + if (axios.isCancel?.(error) || (error as any)?.code === "ERR_CANCELED") { + return null + } + console.error(`Error fetching evaluation ${evaluationId}:`, error) + return null + } +} + +export const deleteEvaluations = async (ids: string[]) => { + const {projectId} = getProjectValues() + + const response = await axios({ + method: "delete", + url: `${getAgentaApiUrl()}/human-evaluations?project_id=${projectId}`, + data: {evaluations_ids: ids}, + }) + return response.data +} + +export const fetchAllLoadEvaluationsScenarios = async ( + evaluationTableId: string, + evaluation: Evaluation, +) => { + const {projectId} = getProjectValues() + + return await axios + .get( + `${getAgentaApiUrl()}/human-evaluations/${evaluationTableId}/evaluation_scenarios?project_id=${projectId}`, + ) + .then((responseData) => { + const evaluationsRows = responseData.data.map((item: any) => { + return fromEvaluationScenarioResponseToEvaluationScenario(item, evaluation) + }) + + return evaluationsRows + }) +} + +export const createNewEvaluation = async ( + { + appId, + variant_ids, + evaluationType, + evaluationTypeSettings, + inputs, + llmAppPromptTemplate, + selectedCustomEvaluationID, + testsetId, + }: { + appId: string + variant_ids: string[] + evaluationType: string + evaluationTypeSettings: Partial + inputs: string[] + llmAppPromptTemplate?: string + selectedCustomEvaluationID?: string + testsetId: string + }, + ignoreAxiosError = false, +) => { + const data = { + variant_ids, + inputs: inputs, + app_id: appId, + evaluation_type: evaluationType, + evaluation_type_settings: { + ...evaluationTypeSettings, + custom_code_evaluation_id: selectedCustomEvaluationID, + llm_app_prompt_template: llmAppPromptTemplate, + }, + testset_id: testsetId, + status: EvaluationFlow.EVALUATION_INITIALIZED, + } + + const {projectId} = getProjectValues() + + const response = await axios.post( + `${getAgentaApiUrl()}/human-evaluations?project_id=${projectId}`, + data, + { + _ignoreError: ignoreAxiosError, + } as any, + ) + return response.data.id +} + +export const updateEvaluation = async (evaluationId: string, data: GenericObject) => { + const {projectId} = getProjectValues() + + const response = await axios.put( + `${getAgentaApiUrl()}/human-evaluations/${evaluationId}?project_id=${projectId}`, + data, + ) + return response.data +} + +export const updateEvaluationScenario = async ( + evaluationTableId: string, + evaluationScenarioId: string, + data: GenericObject, + evaluationType: EvaluationType, +) => { + const {projectId} = getProjectValues() + + const response = await axios.put( + `${getAgentaApiUrl()}/human-evaluations/${evaluationTableId}/evaluation_scenario/${evaluationScenarioId}/${evaluationType}?project_id=${projectId}`, + data, + ) + return response.data +} + +export const createEvaluationScenario = async (evaluationTableId: string, data: GenericObject) => { + const {projectId} = getProjectValues() + + const response = await axios.post( + `${getAgentaApiUrl()}/human-evaluations/${evaluationTableId}/evaluation_scenario?project_id=${projectId}`, + data, + ) + return response.data +} + +export const createEvaluateAICritiqueForEvalScenario = async ( + data: AICritiqueCreate, + ignoreAxiosError = false, +) => { + const {projectId} = getProjectValues() + + const response = await axios.post( + `${getAgentaApiUrl()}/human-evaluations/evaluation_scenario/ai_critique?project_id=${projectId}`, + data, + {_ignoreError: ignoreAxiosError} as any, + ) + return response +} + +export const fetchEvaluationResults = async (evaluationId: string, ignoreAxiosError = false) => { + const {projectId} = getProjectValues() + + const response = await axios.get( + `${getAgentaApiUrl()}/human-evaluations/${evaluationId}/results?project_id=${projectId}`, + { + _ignoreError: ignoreAxiosError, + } as any, + ) + return response.data as EvaluationResponseType +} + +export const fetchEvaluationScenarioResults = async (evaluation_scenario_id: string) => { + const {projectId} = getProjectValues() + + const response = await axios.get( + `${getAgentaApiUrl()}/human-evaluations/evaluation_scenario/${evaluation_scenario_id}/score?project_id=${projectId}`, + ) + return response +} + +export const createCustomCodeEvaluation = async ( + payload: CreateCustomEvaluation, + ignoreAxiosError = false, +) => { + const {projectId} = getProjectValues() + + const response = await axios.post( + `${getAgentaApiUrl()}/human-evaluations/custom_evaluation?project_id=${projectId}`, + payload, + {_ignoreError: ignoreAxiosError} as any, + ) + return response +} + +export const updateCustomEvaluationDetail = async ( + id: string, + payload: CreateCustomEvaluation, + ignoreAxiosError = false, +) => { + const {projectId} = getProjectValues() + + const response = await axios.put( + `${getAgentaApiUrl()}/human-evaluations/custom_evaluation/${id}?project_id=${projectId}`, + payload, + {_ignoreError: ignoreAxiosError} as any, + ) + return response +} + +export const fetchCustomEvaluations = async (app_id: string, ignoreAxiosError = false) => { + const {projectId} = getProjectValues() + + const response = await axios.get( + `${getAgentaApiUrl()}/human-evaluations/custom_evaluation/list/${app_id}?project_id=${projectId}`, + {_ignoreError: ignoreAxiosError} as any, + ) + return response +} + +export const fetchCustomEvaluationDetail = async (id: string, ignoreAxiosError = false) => { + const {projectId} = getProjectValues() + + const response = await axios.get( + `${getAgentaApiUrl()}/human-evaluations/custom_evaluation/${id}?project_id=${projectId}`, + {_ignoreError: ignoreAxiosError} as any, + ) + return response.data +} + +export const fetchCustomEvaluationNames = async (app_id: string, ignoreAxiosError = false) => { + const {projectId} = getProjectValues() + + const response = await axios.get( + `${getAgentaApiUrl()}/human-evaluations/custom_evaluation/${app_id}/names?project_id=${projectId}`, + {_ignoreError: ignoreAxiosError} as any, + ) + return response +} + +export const createExecuteCustomEvaluationCode = async ( + payload: ExecuteCustomEvalCode, + ignoreAxiosError = false, +) => { + const {projectId} = getProjectValues() + + const response = await axios.post( + `${getAgentaApiUrl()}/human-evaluations/custom_evaluation/execute/${ + payload.evaluation_id + }?project_id=${projectId}`, + payload, + {_ignoreError: ignoreAxiosError} as any, + ) + return response +} + +export const updateEvaluationScenarioScore = async ( + evaluation_scenario_id: string, + score: number, + ignoreAxiosError = false, +) => { + const {projectId} = getProjectValues() + + const response = await axios.put( + `${getAgentaApiUrl()}/human-evaluations/evaluation_scenario/${evaluation_scenario_id}/score?project_id=${projectId}`, + {score}, + {_ignoreError: ignoreAxiosError} as any, + ) + return response +} diff --git a/web/ee/src/services/human-evaluations/hooks/useEvaluationResults.ts b/web/ee/src/services/human-evaluations/hooks/useEvaluationResults.ts new file mode 100644 index 0000000000..609baeb737 --- /dev/null +++ b/web/ee/src/services/human-evaluations/hooks/useEvaluationResults.ts @@ -0,0 +1,26 @@ +import type {SWRConfiguration} from "swr" +import useSWR from "swr" + +import {getAgentaApiUrl} from "@/oss/lib/helpers/api" +import {getProjectValues} from "@/oss/state/project" + +interface UseEvaluationResultsOptions extends SWRConfiguration { + evaluationId?: string +} + +export const useEvaluationResults = ({evaluationId, ...rest}: UseEvaluationResultsOptions = {}) => { + const {projectId} = getProjectValues() + + const swr = useSWR( + evaluationId && projectId + ? `${getAgentaApiUrl()}/human-evaluations/${evaluationId}/results?project_id=${projectId}` + : null, + { + ...rest, + revalidateOnFocus: false, + shouldRetryOnError: false, + }, + ) + + return swr +} diff --git a/web/ee/src/services/observability/api/helper.ts b/web/ee/src/services/observability/api/helper.ts new file mode 100644 index 0000000000..11b6616843 --- /dev/null +++ b/web/ee/src/services/observability/api/helper.ts @@ -0,0 +1,61 @@ +import {GenerationDashboardData, TracingDashboardData} from "@/oss/lib/types_ee" +import dayjs from "dayjs" + +export const normalizeDurationSeconds = (d = 0) => d / 1_000 + +export const formatTick = (ts: number | string, range: string) => + dayjs(ts).format(range === "24_hours" ? "h:mm a" : range === "7_days" ? "ddd" : "D MMM") + +export function tracingToGeneration( + tracing: TracingDashboardData, + range: string, +): GenerationDashboardData { + const buckets = tracing.buckets ?? [] + + let successCount = 0 + let errorCount = 0 + let totalCost = 0 + let totalTokens = 0 + let totalSuccessDuration = 0 + + const data = buckets.map((b) => { + const succC = b.total?.count ?? 0 + const errC = b.errors?.count ?? 0 + + const succCost = b.total?.costs ?? 0 + const errCost = b.errors?.costs ?? 0 + + const succTok = b.total?.tokens ?? 0 + const errTok = b.errors?.tokens ?? 0 + + const succDurS = normalizeDurationSeconds(b.total?.duration ?? 0) + + successCount += succC + errorCount += errC + totalCost += succCost + errCost + totalTokens += succTok + errTok + totalSuccessDuration += succDurS + + return { + timestamp: formatTick(b.timestamp, range), + success_count: succC, + failure_count: errC, + cost: succCost + errCost, + latency: succC ? succDurS / Math.max(succC, 1) : 0, // avg latency per success in the bucket + total_tokens: succTok + errTok, + } + }) + + const totalCount = successCount + errorCount + + return { + data, + total_count: totalCount, + failure_rate: totalCount ? errorCount / totalCount : 0, + total_cost: totalCost, + avg_cost: totalCount ? totalCost / totalCount : 0, + avg_latency: successCount ? totalSuccessDuration / successCount : 0, + total_tokens: totalTokens, + avg_tokens: totalCount ? totalTokens / totalCount : 0, + } +} diff --git a/web/ee/src/services/observability/api/index.ts b/web/ee/src/services/observability/api/index.ts new file mode 100644 index 0000000000..2dabfe1c40 --- /dev/null +++ b/web/ee/src/services/observability/api/index.ts @@ -0,0 +1,168 @@ +import axios from "@/oss/lib/api/assets/axiosConfig" +import {delay, pickRandom} from "@/oss/lib/helpers/utils" +import {GenericObject, WithPagination} from "@/oss/lib/Types" +import {Generation, GenerationDetails, Trace, TracingDashboardData} from "@/oss/lib/types_ee" +import {getProjectValues} from "@/oss/state/project" + +import {tracingToGeneration} from "./helper" +import {ObservabilityMock} from "./mock" + +//Prefix convention: +// - fetch: GET single entity from server +// - fetchAll: GET all entities from server +// - create: POST data to server +// - update: PUT data to server +// - delete: DELETE data from server + +const mock = false + +interface TableParams { + pagination?: { + page: number + pageSize: number + } + sorters?: GenericObject + filters?: GenericObject +} + +function tableParamsToApiParams(options?: Partial) { + const {page = 1, pageSize = 20} = options?.pagination || {} + const res: GenericObject = {page, pageSize} + if (options?.sorters) { + Object.entries(options.sorters).forEach( + ([key, val]) => (res[key] = val === "ascend" ? "asc" : "desc"), + ) + } + if (options?.filters) { + Object.entries(options.filters).forEach(([key, val]) => (res[key] = val)) + } + return res +} + +const generations = pickRandom(ObservabilityMock.generations, 100).map((item, ix) => ({ + ...item, + id: ix + 1 + "", +})) + +export const fetchAllGenerations = async (appId: string, options?: Partial) => { + const {projectId} = getProjectValues() + + const params = tableParamsToApiParams(options) + if (mock) { + const {page, pageSize} = params + await delay(800) + return { + data: generations.slice((page - 1) * pageSize, page * pageSize), + total: generations.length, + page, + pageSize, + } as WithPagination + } + + const response = await axios.get(`/observability/spans?project_id=${projectId}`, { + params: {app_id: appId, type: "generation", ...params}, + }) + return response.data as WithPagination +} + +export const fetchGeneration = async (generationId: string) => { + const {projectId} = getProjectValues() + + if (mock) { + await delay(800) + const generation = generations.find((item) => item.id === generationId) + if (!generation) throw new Error("not found!") + + return { + ...generation, + ...ObservabilityMock.generationDetail, + } as GenerationDetails + } + + const response = await axios.get( + `/observability/spans/${generationId}?project_id=${projectId}`, + { + params: {type: "generation"}, + }, + ) + return response.data as GenerationDetails +} + +export const fetchGenerationsDashboardData = async ( + appId: string | null | undefined, + _options: { + range: string + environment?: string + variant?: string + projectId?: string + signal?: AbortSignal + }, +) => { + const {projectId: propsProjectId, signal, ...options} = _options + const {projectId: _projectId} = getProjectValues() + const projectId = propsProjectId || _projectId + + const {range} = options + + if (signal?.aborted) { + throw new DOMException("Aborted", "AbortError") + } + + const responseTracing = await axios.post( + `/preview/tracing/spans/analytics?project_id=${projectId}`, + { + focus: "trace", + interval: 720, + filter: { + conditions: [ + { + field: "references", + operator: "in", + value: [ + { + id: appId, + }, + ], + }, + ], + }, + }, + ) + + const valTracing = responseTracing.data as TracingDashboardData + return tracingToGeneration(valTracing, range) +} + +export const deleteGeneration = async ( + generationIds: string[], + type = "generation", + ignoreAxiosError = true, +) => { + const {projectId} = getProjectValues() + + await axios.delete(`/observability/spans?project_id=${projectId}`, { + data: generationIds, + _ignoreError: ignoreAxiosError, + } as any) + return true +} + +export const fetchAllTraces = async (appId: string, options?: Partial) => { + const {projectId} = getProjectValues() + + const params = tableParamsToApiParams(options) + if (mock) { + const {page, pageSize} = params + await delay(800) + return { + data: generations.slice((page - 1) * pageSize, page * pageSize), + total: generations.length, + page, + pageSize, + } as WithPagination + } + const response = await axios.get(`/observability/traces?project_id=${projectId}`, { + params: {app_id: appId, type: "generation", ...params}, + }) + return response.data as WithPagination +} diff --git a/web/ee/src/services/observability/api/mock.ts b/web/ee/src/services/observability/api/mock.ts new file mode 100644 index 0000000000..a13e172d46 --- /dev/null +++ b/web/ee/src/services/observability/api/mock.ts @@ -0,0 +1,148 @@ +import dayjs from "dayjs" + +import {randNum} from "@/oss/lib/helpers/utils" +import { + Generation, + GenerationKind, + GenerationDashboardData, + GenerationStatus, +} from "@/oss/lib/types_ee" + +const generations: Generation[] = [ + { + id: "1", + created_at: "2021-10-01T00:00:00Z", + variant: { + variant_id: "1", + variant_name: "default", + revision: 1, + }, + environment: "production", + status: GenerationStatus.OK, + spankind: GenerationKind.LLM, + metadata: { + cost: 0.0001, + latency: 0.32, + usage: { + total_tokens: 72, + prompt_tokens: 25, + completion_tokens: 47, + }, + }, + user_id: "u-8k3j4", + content: { + inputs: [ + {input_name: "country", input_value: "Pakistan"}, + {input_name: "criteria", input_value: "Most population"}, + ], + outputs: ["The most populous city in Pakistan is Karachi"], + internals: [], + }, + }, + { + id: "2", + created_at: "2023-10-01T00:00:00Z", + variant: { + variant_id: "2", + variant_name: "test", + revision: 1, + }, + environment: "staging", + status: GenerationStatus.ERROR, + spankind: GenerationKind.LLM, + metadata: { + cost: 0.0004, + latency: 0.845, + usage: { + total_tokens: 143, + prompt_tokens: 25, + completion_tokens: 118, + }, + }, + user_id: "u-8k3j4", + content: { + inputs: [], + outputs: [], + internals: [], + }, + }, + { + id: "3", + created_at: "2024-10-01T00:00:00Z", + variant: { + variant_id: "1", + variant_name: "default", + revision: 2, + }, + environment: "development", + status: GenerationStatus.OK, + spankind: GenerationKind.LLM, + metadata: { + cost: 0.0013, + latency: 0.205, + usage: { + total_tokens: 61, + prompt_tokens: 25, + completion_tokens: 36, + }, + }, + user_id: "u-7tij2", + content: { + inputs: [], + outputs: [], + internals: [], + }, + }, +] + +const generationDetail = { + content: { + inputs: [ + {input_name: "country", input_value: "Pakistan"}, + {input_name: "criteria", input_value: "Most population"}, + ], + outputs: ["The most populous city in Pakistan is Karachi"], + internals: [], + }, + config: { + system: "You are an expert in geography.", + user: "What is the city of {country} with the criteria {criteria}?", + variables: [ + {name: "country", type: "string"}, + {name: "criteria", type: "string"}, + ], + temperature: 0.7, + model: "gpt-3.5-turbo", + max_tokens: 100, + top_p: 0.9, + frequency_penalty: 0.5, + presence_penalty: 0, + }, +} + +const dashboardData = (count = 300): GenerationDashboardData["data"] => { + return Array(count) + .fill(true) + .map(() => { + const totalTokens = randNum(0, 600) + const promptTokens = randNum(0, 150) + return { + timestamp: randNum(dayjs().subtract(30, "days").valueOf(), dayjs().valueOf()), // b/w last 30 days + success_count: randNum(0, 20), + failure_count: randNum(0, 5), + latency: Math.random() * 1.5, + cost: Math.random() * 0.01, + total_tokens: totalTokens, + prompt_tokens: promptTokens, + completion_tokens: totalTokens - promptTokens, + enviornment: ["production", "staging", "development"][randNum(0, 2)], + variant: "default", + } + }) +} + +export const ObservabilityMock = { + generations, + generationDetail, + dashboardData, +} diff --git a/web/ee/src/services/promptVersioning/api/index.ts b/web/ee/src/services/promptVersioning/api/index.ts new file mode 100644 index 0000000000..d51cd8ac75 --- /dev/null +++ b/web/ee/src/services/promptVersioning/api/index.ts @@ -0,0 +1,41 @@ +import axios from "@/oss/lib/api/assets/axiosConfig" +import {getAgentaApiUrl} from "@/oss/lib/helpers/api" +import {getProjectValues} from "@/oss/state/project" + +//Prefix convention: +// - fetch: GET single entity from server +// - fetchAll: GET all entities from server +// - create: POST data to server +// - update: PUT data to server +// - delete: DELETE data from server + +// versioning +export const fetchAllPromptVersioning = async (variantId: string, ignoreAxiosError = false) => { + const {projectId} = getProjectValues() + + const {data} = await axios.get( + `${getAgentaApiUrl()}/variants/${variantId}/revisions?project_id=${projectId}`, + { + _ignoreError: ignoreAxiosError, + } as any, + ) + + return data +} + +export const fetchPromptRevision = async ( + variantId: string, + revisionNumber: number, + ignoreAxiosError = false, +) => { + const {projectId} = getProjectValues() + + const {data} = await axios.get( + `${getAgentaApiUrl()}/variants/${variantId}/revisions/${revisionNumber}?project_id=${projectId}`, + { + _ignoreError: ignoreAxiosError, + } as any, + ) + + return data +} diff --git a/web/ee/src/services/runMetrics/api/assets/contants.ts b/web/ee/src/services/runMetrics/api/assets/contants.ts new file mode 100644 index 0000000000..f1d8278bd0 --- /dev/null +++ b/web/ee/src/services/runMetrics/api/assets/contants.ts @@ -0,0 +1,18 @@ +export const PERCENTILE_STOPS = [ + 0.05, 0.1, 0.5, 1, 2.5, 5, 10, 12.5, 20, 25, 30, 37.5, 40, 50, 60, 62.5, 70, 75, 80, 87.5, 90, + 95, 97.5, 99, 99.5, 99.9, 99.95, +] + +// Inter-quartile ranges aligned with backend mapping +export const iqrsLevels: Record = { + iqr25: ["p37.5", "p62.5"], + iqr50: ["p25", "p75"], + iqr60: ["p20", "p80"], + iqr75: ["p12.5", "p87.5"], + iqr80: ["p10", "p90"], + iqr90: ["p5", "p95"], + iqr95: ["p2.5", "p97.5"], + iqr98: ["p1", "p99"], + iqr99: ["p0.5", "p99.5"], + "iqr99.9": ["p0.05", "p99.95"], +} diff --git a/web/ee/src/services/runMetrics/api/index.ts b/web/ee/src/services/runMetrics/api/index.ts new file mode 100644 index 0000000000..2ba88cad4a --- /dev/null +++ b/web/ee/src/services/runMetrics/api/index.ts @@ -0,0 +1,696 @@ +import {iqrsLevels, PERCENTILE_STOPS} from "./assets/contants" +import {BasicStats} from "./types" + +export const METRICS_ENDPOINT = "/preview/evaluations/metrics/" + +const fetchJSON = async (url: string, options: RequestInit) => { + const res = await fetch(url, options) + if (!res.ok) throw new Error(res.statusText) + return res.json() +} + +// /** +// * Create a new run-level metric entry. +// * +// * @param apiUrl The URL of the API service to create the metric against. +// * @param jwt The JWT token to authenticate the request. +// * @param runId The UUID of the evaluation run to associate with the metric. +// * @param data A dictionary of string keys to numeric values representing the +// * metric data. +// * +// * @returns The newly created metric object (snake_case). +// */ +// export const createRunMetrics = async ( +// apiUrl: string, +// jwt: string, +// runId: string, +// data: Record, +// projectId: string, +// ) => { +// const payload = {metrics: [{run_id: runId, data}]} +// return fetchJSON(`${apiUrl}${METRICS_ENDPOINT}?project_id=${projectId}`, { +// method: "POST", +// headers: { +// "Content-Type": "application/json", +// Authorization: `Bearer ${jwt}`, +// }, +// body: JSON.stringify(payload), +// }) +// } + +/** + * Creates a new run-level metric or updates an existing one. + * + * This function will first attempt to fetch the existing metric associated + * with the given runId. If a metric is found, it will be updated with the + * new data. If no existing metric is found, a new metric entry will be + * created. + * + * @param apiUrl The base URL of the API service. + * @param jwt The JWT token used for authenticating the request. + * @param runId The UUID of the evaluation run to associate with the metrics. + * @param data A dictionary of string keys to numeric values representing the + * metric data. + * + * @returns The newly created or updated metric object (snake_case). + */ +// export const upsertRunMetrics = async ( +// apiUrl: string, +// jwt: string, +// runId: string, +// data: Record, +// projectId: string, +// ) => { +// try { +// const params = new URLSearchParams({ +// run_ids: runId, +// }) +// const res = await fetchJSON(`${apiUrl}${METRICS_ENDPOINT}?${params.toString()}`, { +// headers: {Authorization: `Bearer ${jwt}`}, +// }) +// const existing = Array.isArray(res.metrics) ? res.metrics[0] : undefined +// if (existing) { +// const merged = {...(existing.data || {}), ...data} +// return updateMetric(apiUrl, jwt, existing.id, { +// data: merged, +// status: existing.status || "finished", +// tags: existing.tags, +// meta: existing.meta, +// }) +// } +// } catch { +// /* ignore lookup errors and fall back to creation */ +// } +// return createRunMetrics(apiUrl, jwt, runId, data, projectId) +// } + +/** + * Create or update scenario-level metrics for a specific evaluation run. + * + * This function takes a list of scenario metric entries and attempts to + * either create new metrics or update existing ones based on the provided + * runId and scenarioId. If a metric already exists for a given scenario, + * it is updated with the new data. If no existing metric is found, a new + * metric entry is created. + * + * @param apiUrl The base URL of the API service. + * @param jwt The JWT token used for authenticating the request. + * @param runId The UUID of the evaluation run to associate with the metrics. + * @param entries An array of objects containing scenarioId and data to + * be stored as metrics. + * + * @returns A promise that resolves when all create or update operations + * have been completed. + */ +export const createScenarioMetrics = async ( + apiUrl: string, + jwt: string, + runId: string, + entries: {scenarioId: string; data: Record}[], + projectId: string, +) => { + const toCreate: {run_id: string; scenario_id: string; data: Record}[] = [] + const toUpdate: { + id: string + data: Record + status?: string + tags?: Record + meta?: Record + }[] = [] + + const queryUrl = `${apiUrl}${METRICS_ENDPOINT}query?project_id=${projectId}` + const existingByScenario: Record = {} + + try { + const payload = { + metrics: { + run_ids: [runId], + scenario_ids: entries.map((entry) => entry.scenarioId), + }, + windowing: {}, + } + + const queryResponse = await fetchJSON(queryUrl, { + method: "POST", + headers: { + "Content-Type": "application/json", + Authorization: `Bearer ${jwt}`, + }, + body: JSON.stringify(payload), + }) + + const existingMetrics = Array.isArray(queryResponse?.metrics) ? queryResponse.metrics : [] + + existingMetrics.forEach((metric: any) => { + const scenarioId = metric?.scenario_id || metric?.scenarioId + if (scenarioId) { + existingByScenario[scenarioId] = metric + } + }) + } catch (error) { + console.warn("[createScenarioMetrics] Failed to query existing metrics", error) + } + + for (const entry of entries) { + const existing = existingByScenario[entry.scenarioId] + if (existing) { + const mergedData = { + ...(existing.data || {}), + ...entry.data, + } + if (existing.id) { + toUpdate.push({ + id: existing.id, + data: mergedData, + status: existing.status, + tags: existing.tags, + meta: existing.meta, + }) + continue + } + } + toCreate.push({run_id: runId, scenario_id: entry.scenarioId, data: entry.data}) + } + + const promises: Promise[] = [] + if (toCreate.length) { + promises.push( + fetchJSON(`${apiUrl}${METRICS_ENDPOINT}?project_id=${projectId}`, { + method: "POST", + headers: { + "Content-Type": "application/json", + Authorization: `Bearer ${jwt}`, + }, + body: JSON.stringify({metrics: toCreate}), + }), + ) + } + if (toUpdate.length) { + promises.push( + fetchJSON(`${apiUrl}${METRICS_ENDPOINT}?project_id=${projectId}`, { + method: "PATCH", + headers: { + "Content-Type": "application/json", + Authorization: `Bearer ${jwt}`, + }, + body: JSON.stringify({metrics: toUpdate}), + }), + ) + } + return Promise.all(promises) +} + +/** + * Update a single metric entry. + * + * @param apiUrl The URL of the API service to create the metric against. + * @param jwt The JWT token to authenticate the request. + * @param metricId The UUID of the metric to update. + * @param changes A dictionary of changes to apply to the metric. + * + * @returns The updated metric object (snake_case). + */ +export const updateMetric = async ( + apiUrl: string, + jwt: string, + metricId: string, + changes: { + data?: Record + status?: string + tags?: Record + meta?: Record + }, + projectId: string, +) => { + const payload = {metric: {id: metricId, ...changes}} + return fetchJSON(`${apiUrl}${METRICS_ENDPOINT}${metricId}?project_id=${projectId}`, { + method: "PATCH", + headers: { + "Content-Type": "application/json", + Authorization: `Bearer ${jwt}`, + }, + body: JSON.stringify(payload), + }) +} + +/** + * Update multiple metric entries. + * + * @param apiUrl The URL of the API service to update the metrics against. + * @param jwt The JWT token to authenticate the request. + * @param metrics An array of metric objects to update. Each object should contain + * at least an 'id' property and may contain additional properties + * to update ('data', 'status', 'tags', 'meta'). + * + * @returns An array of the updated metric objects (snake_case). + */ +export const updateMetrics = async ( + apiUrl: string, + jwt: string, + metrics: { + id: string + data?: Record + status?: string + tags?: Record + meta?: Record + }[], + projectId: string, +) => { + return fetchJSON(`${apiUrl}${METRICS_ENDPOINT}?project_id=${projectId}`, { + method: "PATCH", + headers: { + "Content-Type": "application/json", + Authorization: `Bearer ${jwt}`, + }, + body: JSON.stringify({metrics}), + }) +} + +// --- Statistics helpers -------------------------------------------------- + +/** + * Calculates the p-th percentile of a sorted array of numbers. + * + * @param sorted - An array of numbers sorted in ascending order. + * @param p - The percentile to calculate (between 0 and 100). + * @returns The calculated percentile value. + * If the array is empty, returns 0. + */ +function percentile(sorted: number[], p: number): number { + if (sorted.length === 0) return 0 + const idx = (p / 100) * (sorted.length - 1) + const lower = Math.floor(idx) + const upper = Math.ceil(idx) + if (lower === upper) return sorted[lower] + const weight = idx - lower + return sorted[lower] * (1 - weight) + sorted[upper] * weight +} + +// Helper: round to 'p' decimal places (default 6) and coerce back to number +// Smart rounding: for numbers < 0.001 use significant–figure precision to +// avoid long binary tails; otherwise use fixed decimal rounding. +const round = (v: number, p = 6, sig = 6): number => { + if (Number.isNaN(v)) return v + const abs = Math.abs(v) + if (abs !== 0 && abs < 1e-3) { + return Number(v.toPrecision(sig)) + } + return Number(v.toFixed(p)) +} + +/** + * Builds a histogram distribution from an array of numbers. + * + * This function calculates a histogram by determining the optimal number of bins + * based on the square root of the number of input values. It then computes the + * bin size and assigns each number to a bin. The resulting histogram is returned + * as an array of objects, each containing a bin start value and the count of + * numbers in that bin. + * + * @param values - An array of numbers to create the distribution from. + * @returns An array of objects where each object represents a bin with the + * 'value' as the bin start and 'count' as the number of elements + * in that bin. If all values are the same, returns a single bin + * with the value and the count of elements. + */ +function buildDistribution(values: number[]): {value: number; count: number}[] { + if (!values.length) return [] + + const n = values.length + const bins = Math.ceil(Math.sqrt(n)) + const min = Math.min(...values) + const max = Math.max(...values) + + if (min === max) { + return [{value: round(min, 6), count: n}] + } + + const binSize = (max - min) / bins + // precision = number of decimal places required to keep bin starts stable + const precision = binSize ? Math.max(0, -Math.floor(Math.log10(binSize))) : 0 + + const hist = new Map() + + values.forEach((v) => { + let binIndex = Math.floor((v - min) / binSize) + if (binIndex === bins) binIndex -= 1 // edge case when v === max + const binStart = Number((min + binIndex * binSize).toFixed(precision)) + hist.set(binStart, (hist.get(binStart) ?? 0) + 1) + }) + + return Array.from(hist.entries()) + .sort((a, b) => a[0] - b[0]) + .map(([value, count]) => ({value, count})) +} + +/** + * Computes various statistical measures for a given array of numbers. + * + * @param values - An array of numbers for which statistics are to be computed. + * @returns An object containing the following statistical measures: + * - count: The number of elements in the array. + * - sum: The total sum of the elements. + * - mean: The average value of the elements. + * - min: The minimum value in the array. + * - max: The maximum value in the array. + * - range: The difference between the maximum and minimum values. + * - distribution: A histogram representation of the values. + * - percentiles: An object containing percentile values for defined stops. + * - iqrs: An object containing inter-quartile ranges as per backend mapping. + */ +function computeStats(values: number[]): BasicStats { + const count = values.length + if (count === 0) { + return { + count: 0, + sum: 0, + mean: 0, + min: 0, + max: 0, + range: 0, + distribution: [], + percentiles: {}, + iqrs: {}, + } + } + + const sorted = [...values].sort((a, b) => a - b) + const sum = values.reduce((acc, v) => acc + v, 0) + const mean = sum / count + const min = sorted[0] + const max = sorted[sorted.length - 1] + const range = max - min + + // Percentiles with rounded output + const percentiles: Record = {} + PERCENTILE_STOPS.forEach((p) => { + percentiles[`p${p}`] = round(percentile(sorted, p), 4) + }) + + const iqrs: Record = {} + Object.entries(iqrsLevels).forEach(([label, [low, high]]) => { + iqrs[label] = round(percentiles[high] - percentiles[low], 4) + }) + + const distribution = buildDistribution(values) + const bins = distribution.length + const binSize = bins ? (range !== 0 ? range / bins : 1) : undefined + + return { + count, + sum: round(sum, 6), + mean: round(mean, 6), + min: round(min, 6), + max: round(max, 6), + range: round(range, 6), + distribution, + percentiles, + iqrs, + binSize: binSize !== undefined ? round(binSize, 6) : undefined, + } +} + +// --- Additional helpers for non-numeric metrics ------------------------- + +// Count of values +function count(values: unknown[]): number { + return values.length +} + +// Build frequency list [{value,count}] +function buildFrequency(values: unknown[]): {value: any; count: number}[] { + const freqMap = new Map() + values.forEach((v) => freqMap.set(v, (freqMap.get(v) ?? 0) + 1)) + return Array.from(freqMap.entries()).map(([value, count]) => ({value, count})) +} + +function buildRank(values: unknown[], topK = 10): {value: any; count: number}[] { + return buildFrequency(values) + .sort((a, b) => b.count - a.count) + .slice(0, topK) +} + +function processBinary(values: (boolean | null)[]): BasicStats { + const filtered = values.map((v) => (v === null || v === undefined ? null : v)) + return { + count: count(filtered), + frequency: buildFrequency(filtered), + unique: Array.from(new Set(filtered)), + rank: buildRank(filtered), + } +} + +function processClass(values: (string | number | boolean | null)[]): BasicStats { + return { + count: count(values), + frequency: buildFrequency(values), + unique: Array.from(new Set(values)), + rank: buildRank(values), + } +} + +function processLabels(values: ((string | number | boolean | null)[] | null)[]): BasicStats { + // Flatten labels list + const flat: (string | number | boolean | null)[] = [] + values.forEach((arr) => { + if (Array.isArray(arr)) flat.push(...arr) + else flat.push(null) + }) + // Additionally compute distribution of label counts per record + // const labelCounts = values.map((arr) => (Array.isArray(arr) ? arr.length : 0)) + // const distStats = computeStats(labelCounts) + // const labelValueDistribution = buildFrequency(flat).map((f) => ({ + // value: f.value, + // count: f.count, + // })) + const returnData = { + count: count(flat), + frequency: buildFrequency(flat), + unique: Array.from(new Set(flat)), + rank: buildRank(flat), + } + return returnData +} + +// TODO: Clean this up Ashraf +// Implemented this to handle boolean metric for auto eval +interface BoolCount { + count: number + value: boolean +} +interface ItemShape { + rank?: BoolCount[] + frequency?: BoolCount[] + count?: number // not required for aggregation + unique?: boolean[] // not required for aggregation +} + +interface Summary { + rank: BoolCount[] + count: number + unique: boolean[] + frequency: BoolCount[] +} + +export function aggregateBooleanSummaryByVote(items: ItemShape[]): Summary { + let totalItems = 0 + let votesTrue = 0 + let votesFalse = 0 + + for (const item of items) { + // Prefer rank if present, else fall back to frequency + const source = (item.rank?.length ? item.rank : item.frequency) ?? [] + + if (!source.length) continue + + // Pick the winner for THIS item: + // - If item.rank was provided, assume it's already sorted (winner is source[0]) + // - Otherwise, find the max by count from frequency + let winner: BoolCount | undefined + + if (item.rank?.length) { + winner = source[0] + } else { + winner = source.reduce((best, cur) => { + if (!best) return cur + if (cur.count > best.count) return cur + if (cur.count === best.count) { + // Tie-break: prefer the one that appears first (stable), or prefer true. + // To prefer true on ties, use the following line instead: + // return cur.value === true ? cur : best; + return best + } + return best + }, undefined) + } + + if (winner && typeof winner.value === "boolean") { + totalItems += 1 // this item contributes exactly one vote + if (winner.value) votesTrue += 1 + else votesFalse += 1 + } + } + + // Build totals; keep rank/frequency consistent and sorted by count desc (tie: true first) + const totals: BoolCount[] = [ + {value: true, count: votesTrue}, + {value: false, count: votesFalse}, + ].sort((a, b) => b.count - a.count || (a.value === true ? -1 : 1)) + + return { + rank: totals, + count: totalItems, // <= items.length + unique: [true, false], + frequency: totals, + } +} + +// ------------------------------------------------------------------------ + +/** + * Computes a map of metrics to their computed statistics, given a list of + * objects with `data` properties containing key-value pairs of metric names + * to their respective values. + * + * It will group values by metric key, and compute the following statistics + * for each key: + * + * - `count`: The number of values. + * - `sum`: The sum of all values. + * - `mean`: The mean of all values. + * - `min`: The minimum value. + * - `max`: The maximum value. + * - `range`: The difference between the maximum and minimum values. + * - `distribution`: An array of 11 values representing the distribution of + * values between the minimum and maximum. + * - `percentiles`: An object with keys `pX` where `X` is a percentile (e.g. + * `p25`, `p50`, `p75`), and values that are the corresponding percentiles + * of the values. + * - `iqrs`: An object with keys that are the names of interquartile ranges + * (e.g. `iqr25`, `iqr50`, `iqr75`), and values that are the corresponding + * interquartile ranges of the values. + * + * @param metrics An array of objects with `data` properties containing key-value pairs of metric names to their respective values. + * @returns An object with metric names as keys, and their computed statistics as values. + */ +export const computeRunMetrics = (metrics: {data: Record}[]): Record => { + if (!metrics?.length) return {} + + const result: Record = {} + const valueBuckets: Record = {} + + metrics.forEach((m) => { + Object.entries(m.data || {}).forEach(([k, v]) => { + if (v !== undefined) { + valueBuckets[k] = valueBuckets[k] || [] + valueBuckets[k].push(v) + } + }) + }) + + // Process non-special keys + Object.entries(valueBuckets).forEach(([k, values]) => { + const allNumbers = values.every((v) => typeof v === "number" && !isNaN(v)) + const allBooleans = values.every((v) => typeof v === "boolean" || v === null) + const proccesdBooleans = values.every( + (v) => v?.unique?.length && typeof v?.unique?.[0] === "boolean", + ) + const allArrays = values.every((v) => Array.isArray(v)) + const allStatsObjects = values.every( + (v) => + v && + typeof v === "object" && + !Array.isArray(v) && + ("mean" in (v as any) || + "sum" in (v as any) || + "count" in (v as any) || + "frequency" in (v as any) || + "rank" in (v as any)), + ) + + if (allNumbers) { + result[k] = computeStats(values as number[]) + } else if (allBooleans) { + result[k] = processBinary(values as (boolean | null)[]) + } else if (proccesdBooleans) { + result[k] = aggregateBooleanSummaryByVote(values) + } else if (allArrays) { + result[k] = processLabels(values as any[][]) // treat as labels metric + } else if (allStatsObjects) { + const merged = values.reduce((acc: any, current: any) => { + if (!acc) return current + const next: any = {...acc} + if (typeof current.mean === "number") next.mean = current.mean + if (typeof current.sum === "number") next.sum = current.sum + if (typeof current.count === "number") { + next.count = (next.count ?? 0) + (current.count ?? 0) + } + if (Array.isArray(current.frequency)) next.frequency = current.frequency + if (Array.isArray(current.rank)) next.rank = current.rank + if (Array.isArray(current.unique)) next.unique = current.unique + if (Array.isArray(current.distribution)) next.distribution = current.distribution + if (current.percentiles) next.percentiles = current.percentiles + if (current.iqrs) next.iqrs = current.iqrs + if (typeof current.binSize === "number") next.binSize = current.binSize + return next + }, null) + const finalStats = merged ?? values[0] + if (finalStats && Array.isArray(finalStats.frequency)) { + finalStats.frequency = finalStats.frequency.map((entry: any) => ({ + value: entry?.value, + count: entry?.count ?? entry?.frequency ?? 0, + })) + finalStats.frequency.sort( + (a: any, b: any) => b.count - a.count || (a.value === true ? -1 : 1), + ) + finalStats.rank = finalStats.frequency + if (!Array.isArray(finalStats.unique) || !finalStats.unique.length) { + finalStats.unique = finalStats.frequency.map((entry: any) => entry.value) + } + } + result[k] = finalStats + } else { + // Default to class metric for strings / mixed primitives + // result[k] = processClass(values as any[]) + } + }) + + return result +} + +export interface MetricDistribution { + distribution: {value: number; count: number}[] + mean: number + min: number + max: number + binSize: number +} + +export const computeMetricDistribution = ( + values: number[], + stats?: BasicStats, +): MetricDistribution | undefined => { + let computed = stats + if (!computed) { + if (!values.length) return undefined + const tmpKey = "__metric" + const agg = computeRunMetrics(values.map((v) => ({data: {[tmpKey]: v}}))) + computed = agg[tmpKey] + } + if (!computed?.distribution || !computed.distribution.length) { + return computed + } + let binSize = computed.binSize + if (binSize === undefined) { + const bins = computed.distribution.length + const range = computed.range ?? (computed.max ?? 0) - (computed.min ?? 0) + binSize = bins ? (range !== 0 ? range / bins : 1) : 1 + } + return { + distribution: computed.distribution, + mean: computed.mean ?? 0, + min: computed.min ?? 0, + max: computed.max ?? 0, + binSize, + } +} diff --git a/web/ee/src/services/runMetrics/api/types.ts b/web/ee/src/services/runMetrics/api/types.ts new file mode 100644 index 0000000000..97a59c2a22 --- /dev/null +++ b/web/ee/src/services/runMetrics/api/types.ts @@ -0,0 +1,22 @@ +// Aggregated statistics for a metric. +// Only a subset of these properties will be present depending on the metric type. +export interface BasicStats { + // Always present --------------------------------------------------------- + count: number + + // Numeric metrics ------------------------------------------------------- + sum?: number + mean?: number + min?: number + max?: number + range?: number + distribution?: {value: number; count: number}[] + percentiles?: Record + iqrs?: Record + binSize?: number + + // Categorical / binary metrics ----------------------------------------- + frequency?: {value: string | number | boolean | null; count: number}[] + unique?: (string | number | boolean | null)[] + rank?: {value: string | number | boolean | null; count: number}[] +} diff --git a/web/ee/src/services/variantConfigs/api/index.ts b/web/ee/src/services/variantConfigs/api/index.ts new file mode 100644 index 0000000000..1190123367 --- /dev/null +++ b/web/ee/src/services/variantConfigs/api/index.ts @@ -0,0 +1,77 @@ +import axios from "@/oss/lib/api/assets/axiosConfig" + +export interface VariantReferenceRequest { + projectId: string + application: { + id?: string + slug?: string + } + variant: { + id?: string + slug?: string + version?: number | null + } +} + +export interface VariantConfigResponse { + params?: Record + url?: string | null + application_ref?: { + id?: string + slug?: string + } + variant_ref?: { + id?: string + slug?: string + version?: number | null + } + service_ref?: { + id?: string + slug?: string + version?: number | null + } +} + +const isEmpty = (obj: Record) => + Object.values(obj).every((value) => value === undefined || value === null) + +export const fetchVariantConfig = async ({ + projectId, + application, + variant, +}: VariantReferenceRequest): Promise => { + if (!projectId) { + throw new Error("Project id is required to fetch variant config") + } + + const payload: Record = {} + + if (!isEmpty(application)) { + payload.application_ref = application + } + + if (!isEmpty(variant)) { + payload.variant_ref = variant + } + + if (!payload.variant_ref) { + throw new Error("Variant reference is required to fetch variant config") + } + + try { + const response = await axios.post( + `/variants/configs/fetch?project_id=${projectId}`, + payload, + { + _ignoreError: true, + } as any, + ) + + return (response.data as VariantConfigResponse) ?? null + } catch (error: any) { + if (error?.response?.status === 404) { + return null + } + throw error + } +} diff --git a/web/ee/src/state/billing/atoms.ts b/web/ee/src/state/billing/atoms.ts new file mode 100644 index 0000000000..a6e2fc02b8 --- /dev/null +++ b/web/ee/src/state/billing/atoms.ts @@ -0,0 +1,239 @@ +import {atom} from "jotai" +import {atomWithMutation, atomWithQuery} from "jotai-tanstack-query" + +import axios from "@/oss/lib/api/assets/axiosConfig" +import {getAgentaApiUrl} from "@/oss/lib/helpers/api" +import {User} from "@/oss/lib/Types" +import {selectedOrgIdAtom} from "@/oss/state/org" +import {profileQueryAtom} from "@/oss/state/profile/selectors/user" +import {projectIdAtom} from "@/oss/state/project" + +import {BillingPlan, DataUsageType, SubscriptionType} from "../../services/billing/types" + +/** + * Query atom for fetching billing usage data + * Only enabled when user is authenticated and project is not default + */ +export const usageQueryAtom = atomWithQuery((get) => { + const profileQuery = get(profileQueryAtom) + const user = profileQuery.data as User | undefined + const projectId = get(projectIdAtom) + + return { + queryKey: ["billing", "usage", projectId, user?.id], + queryFn: async () => { + const response = await axios.get( + `${getAgentaApiUrl()}/billing/usage?project_id=${projectId}`, + ) + return response.data as DataUsageType + }, + staleTime: 1000 * 60 * 2, // 2 minutes + refetchOnWindowFocus: false, + refetchOnReconnect: false, + refetchOnMount: true, + enabled: !!user && !!projectId, + retry: (failureCount, error) => { + // Don't retry on client errors + if ((error as any)?.response?.status >= 400 && (error as any)?.response?.status < 500) { + return false + } + return failureCount < 2 + }, + } +}) + +/** + * Query atom for fetching subscription data + * Only enabled when user is authenticated and project is not default + */ +export const subscriptionQueryAtom = atomWithQuery((get) => { + const profileQuery = get(profileQueryAtom) + const user = profileQuery.data as User | undefined + const projectId = get(projectIdAtom) + const orgId = get(selectedOrgIdAtom) + + return { + queryKey: ["billing", "subscription", projectId, user?.id, orgId], + queryFn: async () => { + const response = await axios.get( + `${getAgentaApiUrl()}/billing/subscription?project_id=${projectId}`, + ) + return response.data as SubscriptionType + }, + staleTime: 1000 * 60 * 5, // 5 minutes + refetchOnWindowFocus: false, + refetchOnReconnect: false, + refetchOnMount: true, + enabled: !!orgId && !!user && !!projectId, + retry: (failureCount, error) => { + // Don't retry on client errors + if ((error as any)?.response?.status >= 400 && (error as any)?.response?.status < 500) { + return false + } + return failureCount < 2 + }, + } +}) + +/** + * Query atom for fetching pricing plans + * Only enabled when user is authenticated and project is not default + */ +export const pricingPlansQueryAtom = atomWithQuery((get) => { + const profileQuery = get(profileQueryAtom) + const user = profileQuery.data as User | undefined + const projectId = get(projectIdAtom) + + return { + queryKey: ["billing", "plans", projectId, user?.id], + queryFn: async () => { + const response = await axios.get( + `${getAgentaApiUrl()}/billing/plans?project_id=${projectId}`, + ) + return response.data as BillingPlan[] + }, + staleTime: 1000 * 60 * 10, // 10 minutes - plans don't change often + refetchOnWindowFocus: false, + refetchOnReconnect: false, + refetchOnMount: true, + enabled: !!user && !!projectId, + retry: (failureCount, error) => { + // Don't retry on client errors + if ((error as any)?.response?.status >= 400 && (error as any)?.response?.status < 500) { + return false + } + return failureCount < 2 + }, + } +}) + +/** + * Mutation atom for switching subscription plans + */ +export const switchSubscriptionMutationAtom = atomWithMutation(() => ({ + mutationFn: async (payload: {plan: string}) => { + const store = await import("jotai").then((m) => m.getDefaultStore()) + const projectId = store.get(projectIdAtom) + + const response = await axios.post( + `${getAgentaApiUrl()}/billing/plans/switch?plan=${payload.plan}&project_id=${projectId}`, + ) + return response.data + }, + onSuccess: () => { + // Subscription data will be invalidated by the hook + }, +})) + +/** + * Mutation atom for canceling subscription + */ +export const cancelSubscriptionMutationAtom = atomWithMutation(() => ({ + mutationFn: async () => { + const store = await import("jotai").then((m) => m.getDefaultStore()) + const projectId = store.get(projectIdAtom) + + const response = await axios.post( + `${getAgentaApiUrl()}/billing/subscription/cancel?project_id=${projectId}`, + ) + return response.data + }, + onSuccess: () => { + // Subscription data will be invalidated by the hook + }, +})) + +/** + * Mutation atom for creating new subscription checkout + */ +export const checkoutSubscriptionMutationAtom = atomWithMutation(() => ({ + mutationFn: async (payload: {plan: string; success_url: string}) => { + const response = await axios.post( + `${getAgentaApiUrl()}/billing/stripe/checkouts/?plan=${payload.plan}&success_url=${payload.success_url}`, + ) + return response.data + }, +})) + +/** + * Mutation atom for editing subscription info (Stripe portal) + */ +export const editSubscriptionMutationAtom = atomWithMutation(() => ({ + mutationFn: async () => { + const response = await axios.post(`${getAgentaApiUrl()}/billing/stripe/portals/`) + return response.data + }, +})) + +/** + * Action atom for switching subscription with automatic data refresh + */ +export const switchSubscriptionAtom = atom(null, async (get, set, payload: {plan: string}) => { + const switchMutation = get(switchSubscriptionMutationAtom) + + try { + const result = await switchMutation.mutateAsync(payload) + + // Refetch subscription and usage data after successful switch + set(subscriptionQueryAtom) + set(usageQueryAtom) + + return result + } catch (error) { + console.error("Failed to switch subscription:", error) + throw error + } +}) + +/** + * Action atom for canceling subscription with automatic data refresh + */ +export const cancelSubscriptionAtom = atom(null, async (get, set) => { + const cancelMutation = get(cancelSubscriptionMutationAtom) + + try { + const result = await cancelMutation.mutateAsync() + + // Refetch subscription and usage data after successful cancellation + set(subscriptionQueryAtom) + set(usageQueryAtom) + + return result + } catch (error) { + console.error("Failed to cancel subscription:", error) + throw error + } +}) + +/** + * Action atom for checkout with no automatic refresh (redirect expected) + */ +export const checkoutSubscriptionAtom = atom( + null, + async (get, set, payload: {plan: string; success_url: string}) => { + const checkoutMutation = get(checkoutSubscriptionMutationAtom) + + try { + const result = await checkoutMutation.mutateAsync(payload) + return result + } catch (error) { + console.error("Failed to create checkout:", error) + throw error + } + }, +) + +/** + * Action atom for editing subscription info (Stripe portal) + */ +export const editSubscriptionAtom = atom(null, async (get, set) => { + const editMutation = get(editSubscriptionMutationAtom) + + try { + const result = await editMutation.mutateAsync() + return result + } catch (error) { + console.error("Failed to open subscription portal:", error) + throw error + } +}) diff --git a/web/ee/src/state/billing/hooks.ts b/web/ee/src/state/billing/hooks.ts new file mode 100644 index 0000000000..050234db73 --- /dev/null +++ b/web/ee/src/state/billing/hooks.ts @@ -0,0 +1,137 @@ +import {useCallback} from "react" + +import {useAtom, useAtomValue} from "jotai" + +import { + usageQueryAtom, + subscriptionQueryAtom, + pricingPlansQueryAtom, + switchSubscriptionAtom, + cancelSubscriptionAtom, + checkoutSubscriptionAtom, + editSubscriptionAtom, +} from "./atoms" + +/** + * Hook for managing billing usage data + * Provides the same interface as the original SWR-based useUsageData hook + */ +export const useUsageData = () => { + const usageQuery = useAtomValue(usageQueryAtom) + + return { + usage: usageQuery.data, + isUsageLoading: usageQuery.isPending, + mutateUsage: usageQuery.refetch, + error: usageQuery.error, + isError: usageQuery.isError, + isSuccess: usageQuery.isSuccess, + } +} + +/** + * Hook for managing subscription data + * Provides the same interface as the original SWR-based useSubscriptionData hook + */ +export const useSubscriptionData = () => { + const subscriptionQuery = useAtomValue(subscriptionQueryAtom) + + return { + subscription: subscriptionQuery.data, + isSubLoading: subscriptionQuery.isPending, + mutateSubscription: subscriptionQuery.refetch, + error: subscriptionQuery.error, + isError: subscriptionQuery.isError, + isSuccess: subscriptionQuery.isSuccess, + } +} + +/** + * Hook for managing pricing plans data + * Provides the same interface as the original SWR-based usePricingPlans hook + */ +export const usePricingPlans = () => { + const plansQuery = useAtomValue(pricingPlansQueryAtom) + + return { + plans: plansQuery.data, + isLoadingPlan: plansQuery.isPending, + error: plansQuery.error, + isError: plansQuery.isError, + isSuccess: plansQuery.isSuccess, + refetch: plansQuery.refetch, + } +} + +/** + * Hook for managing subscription actions + * Provides mutation functions for subscription management + */ +export const useSubscriptionActions = () => { + const [, switchSubscription] = useAtom(switchSubscriptionAtom) + const [, cancelSubscription] = useAtom(cancelSubscriptionAtom) + const [, checkoutSubscription] = useAtom(checkoutSubscriptionAtom) + const [, editSubscription] = useAtom(editSubscriptionAtom) + + const handleSwitchSubscription = useCallback( + async (payload: {plan: string}) => { + return await switchSubscription(payload) + }, + [switchSubscription], + ) + + const handleCancelSubscription = useCallback(async () => { + return await cancelSubscription() + }, [cancelSubscription]) + + const handleCheckoutSubscription = useCallback( + async (payload: {plan: string; success_url: string}) => { + return await checkoutSubscription(payload) + }, + [checkoutSubscription], + ) + + const handleEditSubscription = useCallback(async () => { + return await editSubscription() + }, [editSubscription]) + + return { + switchSubscription: handleSwitchSubscription, + cancelSubscription: handleCancelSubscription, + checkoutSubscription: handleCheckoutSubscription, + editSubscription: handleEditSubscription, + } +} + +/** + * Combined hook for all billing functionality + * Provides a comprehensive interface for billing management + */ +export const useBilling = () => { + const usage = useUsageData() + const subscription = useSubscriptionData() + const plans = usePricingPlans() + const actions = useSubscriptionActions() + + return { + // Usage data + usage: usage.usage, + isUsageLoading: usage.isUsageLoading, + mutateUsage: usage.mutateUsage, + usageError: usage.error, + + // Subscription data + subscription: subscription.subscription, + isSubLoading: subscription.isSubLoading, + mutateSubscription: subscription.mutateSubscription, + subscriptionError: subscription.error, + + // Plans data + plans: plans.plans, + isLoadingPlan: plans.isLoadingPlan, + plansError: plans.error, + + // Actions + ...actions, + } +} diff --git a/web/ee/src/state/billing/index.ts b/web/ee/src/state/billing/index.ts new file mode 100644 index 0000000000..e49d36ee3b --- /dev/null +++ b/web/ee/src/state/billing/index.ts @@ -0,0 +1,23 @@ +// Billing atoms +export { + usageQueryAtom, + subscriptionQueryAtom, + pricingPlansQueryAtom, + switchSubscriptionMutationAtom, + cancelSubscriptionMutationAtom, + checkoutSubscriptionMutationAtom, + editSubscriptionMutationAtom, + switchSubscriptionAtom, + cancelSubscriptionAtom, + checkoutSubscriptionAtom, + editSubscriptionAtom, +} from "./atoms" + +// Billing hooks +export { + useUsageData, + useSubscriptionData, + usePricingPlans, + useSubscriptionActions, + useBilling, +} from "./hooks" diff --git a/web/ee/src/state/observability/dashboard.ts b/web/ee/src/state/observability/dashboard.ts new file mode 100644 index 0000000000..a21cbd2950 --- /dev/null +++ b/web/ee/src/state/observability/dashboard.ts @@ -0,0 +1,61 @@ +import {useAtom} from "jotai" +import {eagerAtom} from "jotai-eager" +import {atomWithQuery} from "jotai-tanstack-query" + +import {GenerationDashboardData} from "@/oss/lib/types_ee" +import {fetchGenerationsDashboardData} from "@/oss/services/observability/api" +import {routerAppIdAtom} from "@/oss/state/app/atoms/fetcher" +import {projectIdAtom} from "@/oss/state/project" + +const DEFAULT_RANGE = "30_days" + +export const observabilityDashboardQueryAtom = atomWithQuery( + (get) => { + const appId = get(routerAppIdAtom) + const projectId = get(projectIdAtom) + + return { + queryKey: [ + "observability", + "dashboard", + appId ?? "__global__", + projectId ?? null, + DEFAULT_RANGE, + ], + queryFn: async ({signal}) => { + if (!projectId) return null + return fetchGenerationsDashboardData(appId, { + range: DEFAULT_RANGE, + projectId, + signal, + }) + }, + enabled: Boolean(projectId), + staleTime: 1000 * 60, + refetchOnWindowFocus: false, + } + }, +) + +export const observabilityDashboardAtom = eagerAtom((get) => { + const result = (get(observabilityDashboardQueryAtom) as any) + ?.data as GenerationDashboardData | null + return result ?? null +}) + +export const useObservabilityDashboard = () => { + const [query] = useAtom(observabilityDashboardQueryAtom) + + const {data, isPending, isFetching, isLoading, error, refetch, fetchStatus} = query as any + + const fetching = fetchStatus === "fetching" + const loading = Boolean(fetching || isPending || isLoading) + + return { + data: (data as GenerationDashboardData | null) ?? null, + loading, + isFetching: Boolean(isFetching) || fetching, + error, + refetch, + } +} diff --git a/web/ee/src/state/observability/index.ts b/web/ee/src/state/observability/index.ts new file mode 100644 index 0000000000..fec8ad0fe4 --- /dev/null +++ b/web/ee/src/state/observability/index.ts @@ -0,0 +1 @@ +export * from "./dashboard" diff --git a/web/ee/src/state/url/focusDrawer.ts b/web/ee/src/state/url/focusDrawer.ts new file mode 100644 index 0000000000..0a87387caf --- /dev/null +++ b/web/ee/src/state/url/focusDrawer.ts @@ -0,0 +1,131 @@ +import {getDefaultStore} from "jotai" +import Router from "next/router" + +import { + focusDrawerAtom, + openFocusDrawerAtom, + resetFocusDrawerAtom, + setFocusDrawerTargetAtom, +} from "@/oss/components/EvalRunDetails/state/focusScenarioAtom" +import {navigationRequestAtom, type NavigationCommand} from "@/oss/state/appState" + +const isBrowser = typeof window !== "undefined" + +export const FOCUS_SCENARIO_QUERY_KEY = "focusScenarioId" +export const FOCUS_RUN_QUERY_KEY = "focusRunId" + +const ensureCleanFocusParams = (url: URL) => { + let mutated = false + if (url.searchParams.get(FOCUS_SCENARIO_QUERY_KEY)?.trim() === "") { + url.searchParams.delete(FOCUS_SCENARIO_QUERY_KEY) + mutated = true + } + if (url.searchParams.get(FOCUS_RUN_QUERY_KEY)?.trim() === "") { + url.searchParams.delete(FOCUS_RUN_QUERY_KEY) + mutated = true + } + if (!mutated) return false + + const newPath = `${url.pathname}${url.search}${url.hash}` + void Router.replace(newPath, undefined, {shallow: true}).catch((error) => { + console.error("Failed to normalize focus drawer query params:", error) + }) + return true +} + +export const syncFocusDrawerStateFromUrl = (nextUrl?: string) => { + if (!isBrowser) return + + try { + const store = getDefaultStore() + const url = new URL(nextUrl ?? window.location.href, window.location.origin) + + const rawScenario = url.searchParams.get(FOCUS_SCENARIO_QUERY_KEY) + const rawRun = url.searchParams.get(FOCUS_RUN_QUERY_KEY) + const pendingNav = store.get(navigationRequestAtom) as NavigationCommand | null + + const scenarioId = rawScenario?.trim() || undefined + const runId = rawRun?.trim() || undefined + + const currentState = store.get(focusDrawerAtom) + + // Clean up empty params before processing + if (ensureCleanFocusParams(url)) { + // After normalising the URL we bail out; the router callback will re-run with clean params + return + } + + if (!scenarioId) { + const pendingScenarioPatch = + pendingNav?.type === "patch-query" + ? pendingNav.patch[FOCUS_SCENARIO_QUERY_KEY] + : undefined + const hasPendingScenario = + pendingScenarioPatch !== undefined && + (Array.isArray(pendingScenarioPatch) + ? pendingScenarioPatch.length > 0 + : String(pendingScenarioPatch ?? "").length > 0) + if (hasPendingScenario) { + return + } + + const hasStoredTarget = + currentState.focusScenarioId != null || currentState.focusRunId != null + const urlProvided = typeof nextUrl === "string" && nextUrl.length > 0 + // Avoid racing against local open actions (no URL yet) while still reacting to + // deliberate URL transitions that remove the focus params. + const shouldReset = + currentState.isClosing || + (!currentState.open && hasStoredTarget) || + (urlProvided && currentState.open && hasStoredTarget && !currentState.isClosing) + + if (shouldReset) { + store.set(resetFocusDrawerAtom, null) + } + return + } + + const nextTarget = { + focusScenarioId: scenarioId, + focusRunId: runId ?? currentState.focusRunId ?? null, + } + + const alreadyOpen = + currentState.open && + currentState.focusScenarioId === nextTarget.focusScenarioId && + currentState.focusRunId === nextTarget.focusRunId + + if (alreadyOpen && !currentState.isClosing) { + return + } + + // Ensure target is up to date before opening (helps preserve data during transitions) + store.set(setFocusDrawerTargetAtom, nextTarget) + store.set(openFocusDrawerAtom, nextTarget) + } catch (err) { + console.error("Failed to sync focus drawer state from URL:", nextUrl, err) + } +} + +export const clearFocusDrawerQueryParams = () => { + if (!isBrowser) return + try { + const url = new URL(window.location.href) + let mutated = false + if (url.searchParams.has(FOCUS_SCENARIO_QUERY_KEY)) { + url.searchParams.delete(FOCUS_SCENARIO_QUERY_KEY) + mutated = true + } + if (url.searchParams.has(FOCUS_RUN_QUERY_KEY)) { + url.searchParams.delete(FOCUS_RUN_QUERY_KEY) + mutated = true + } + if (!mutated) return + const newPath = `${url.pathname}${url.search}${url.hash}` + void Router.replace(newPath, undefined, {shallow: true}).catch((error) => { + console.error("Failed to clear focus drawer query params:", error) + }) + } catch (err) { + console.error("Failed to clear focus drawer query params:", err) + } +} diff --git a/web/ee/tailwind.config.ts b/web/ee/tailwind.config.ts new file mode 100644 index 0000000000..50a9d02fe3 --- /dev/null +++ b/web/ee/tailwind.config.ts @@ -0,0 +1,3 @@ +import {createConfig} from "@agenta/oss/tailwind.config" + +export default createConfig(["../oss/src/**/*.{js,ts,jsx,tsx}"]) diff --git a/web/ee/tests/1-settings/api-keys-management.spec.ts b/web/ee/tests/1-settings/api-keys-management.spec.ts new file mode 100644 index 0000000000..1395cba61f --- /dev/null +++ b/web/ee/tests/1-settings/api-keys-management.spec.ts @@ -0,0 +1,4 @@ +import {test} from "@agenta/web-tests/tests/fixtures/base.fixture" +import apiKeysTests from "@agenta/oss/tests/1-settings/api-keys" + +test.skip("Settings: API Keys Management", apiKeysTests) diff --git a/web/ee/tests/1-settings/model-hub.spec.ts b/web/ee/tests/1-settings/model-hub.spec.ts new file mode 100644 index 0000000000..186de6222c --- /dev/null +++ b/web/ee/tests/1-settings/model-hub.spec.ts @@ -0,0 +1,4 @@ +import {test} from "@agenta/web-tests/tests/fixtures/base.fixture" +import modelHubTests from "@agenta/oss/tests/1-settings/model-hub" + +test.describe("Settings: Model Hub", modelHubTests) diff --git a/web/ee/tests/2-app/create.spec.ts b/web/ee/tests/2-app/create.spec.ts new file mode 100644 index 0000000000..de0137e3cd --- /dev/null +++ b/web/ee/tests/2-app/create.spec.ts @@ -0,0 +1,5 @@ +import tests, {test} from "@agenta/oss/tests/2-app" + +test.describe(`EE App Creation Flow`, () => { + tests() +}) diff --git a/web/ee/tests/3-playground/run-variant.spec.ts b/web/ee/tests/3-playground/run-variant.spec.ts new file mode 100644 index 0000000000..5fc8618686 --- /dev/null +++ b/web/ee/tests/3-playground/run-variant.spec.ts @@ -0,0 +1,4 @@ +import {test} from "@agenta/web-tests/tests/fixtures/base.fixture" +import playgroundTests from "@agenta/oss/tests/3-playground" + +test.describe("Playground: Run Variant", playgroundTests) diff --git a/web/ee/tests/4-prompt-registry/prompt-registry-flow.spec.ts b/web/ee/tests/4-prompt-registry/prompt-registry-flow.spec.ts new file mode 100644 index 0000000000..511bd060ef --- /dev/null +++ b/web/ee/tests/4-prompt-registry/prompt-registry-flow.spec.ts @@ -0,0 +1,4 @@ +import {test} from "@agenta/web-tests/tests/fixtures/base.fixture" +import promptRegistryTests from "@agenta/oss/tests/4-prompt-registry" + +test.describe("Prompt Registry Flow", promptRegistryTests) diff --git a/web/ee/tests/5-testsset/testset.spec.ts b/web/ee/tests/5-testsset/testset.spec.ts new file mode 100644 index 0000000000..5f5ed87486 --- /dev/null +++ b/web/ee/tests/5-testsset/testset.spec.ts @@ -0,0 +1,4 @@ +import {test} from "@agenta/web-tests/tests/fixtures/base.fixture" +import testsetTests from "@agenta/oss/tests/5-testsset" + +test.describe("Testsets: Interact with testsets", testsetTests) diff --git a/web/ee/tests/6-auto-evaluation/assets/README.md b/web/ee/tests/6-auto-evaluation/assets/README.md new file mode 100644 index 0000000000..e5e43460b4 --- /dev/null +++ b/web/ee/tests/6-auto-evaluation/assets/README.md @@ -0,0 +1,67 @@ +# Auto Evaluation Test Fixtures + +This directory contains test fixtures for automating the evaluation process in the Agenta platform. These fixtures provide reusable functions to interact with the evaluation UI and perform common evaluation tasks. + +## Available Fixtures + +### 1. `navigateToEvaluation` + +Navigates to the Automatic Evaluation section for a specific application. + +**Parameters:** + +- `appId` (string): The ID of the application to evaluate + +**Usage:** + +```typescript +await test("navigate to evaluation", async ({navigateToEvaluation}) => { + await navigateToEvaluation("your-app-id") +}) +``` + +### 2. `runAutoEvaluation` + +Runs an automatic evaluation with the specified configuration. + +**Parameters (object):** + +- `evaluators` (string[]): List of evaluator names to use +- `testset` (string, optional): Name of the testset to evaluate against +- `variants` (string[]): List of variant names to evaluate + +**Usage:** + +```typescript +await test("run evaluation", async ({runAutoEvaluation}) => { + await runAutoEvaluation({ + evaluators: ["factual-accuracy", "relevance"], + testset: "my-testset", + variants: ["variant-1", "variant-2"], + }) +}) +``` + +## How It Works + +1. **Test Setup**: The fixtures extend the base test fixture with evaluation-specific functionality. +2. **UI Automation**: They handle all the necessary UI interactions, including: + - Navigating to the evaluation section + - Selecting testsets + - Choosing variants + - Configuring evaluators + - Managing the evaluation creation flow +3. **State Management**: The fixtures handle waiting for async operations and ensure the UI is in the correct state before proceeding. + +## Best Practices + +- Always wait for navigation and UI updates to complete +- Use the provided helper methods instead of direct page interactions +- Keep test data (evaluators, testsets, variants) in separate configuration files +- Combine fixtures for complex test scenarios + +## Dependencies + +- Base test fixtures from `@agenta/web-tests` +- Playwright test runner +- Agenta UI components and API helpers diff --git a/web/ee/tests/6-auto-evaluation/assets/types.ts b/web/ee/tests/6-auto-evaluation/assets/types.ts new file mode 100644 index 0000000000..9160b106d5 --- /dev/null +++ b/web/ee/tests/6-auto-evaluation/assets/types.ts @@ -0,0 +1,42 @@ +import {GenerationChatRow, GenerationInputRow} from "@/oss/components/Playground/state/types" +import {ConfigMetadata, OpenAPISpec} from "@/oss/lib/shared/variant/genericTransformer/types" +import {EnhancedVariant} from "@/oss/lib/shared/variant/transformer/types" +import {BaseFixture} from "@agenta/web-tests/tests/fixtures/base.fixture/types" + +export type InvokedVariant = { + variant: EnhancedVariant + allMetadata: Record + inputRow: GenerationInputRow + messageRow?: GenerationChatRow + rowId: string + appId: string + uri: { + runtimePrefix: string + routePath?: string + status?: boolean + } + headers: Record + projectId: string + messageId?: string + chatHistory?: any[] + spec: OpenAPISpec + runId: string +} + +export enum Role { + SYSTEM = "system", + USER = "user", + ASSISTANT = "assistant", + TOOL = "tool", + FUNCTION = "function", +} +export type RunAutoEvalFixtureType = { + evaluators: string[] + testset?: string + variants: string[] +} + +export interface EvaluationFixtures extends BaseFixture { + navigateToEvaluation: (appId: string) => Promise + runAutoEvaluation: (config: RunAutoEvalFixtureType) => Promise +} diff --git a/web/ee/tests/6-auto-evaluation/index.ts b/web/ee/tests/6-auto-evaluation/index.ts new file mode 100644 index 0000000000..420a98798e --- /dev/null +++ b/web/ee/tests/6-auto-evaluation/index.ts @@ -0,0 +1,92 @@ +import {test as baseAutoEvalTest} from "./tests" + +import {expect} from "@agenta/web-tests/utils" +import { + createTagString, + TestCoverage, + TestPath, + TestScope, +} from "@agenta/web-tests/playwright/config/testTags" + +const testAutoEval = () => { + baseAutoEvalTest( + "should run a single evaluation", + { + tag: [ + createTagString("scope", TestScope.EVALUATIONS), + createTagString("coverage", TestCoverage.SMOKE), + createTagString("coverage", TestCoverage.LIGHT), + createTagString("coverage", TestCoverage.FULL), + createTagString("path", TestPath.HAPPY), + ], + }, + async ({page, apiHelpers, runAutoEvaluation, navigateToEvaluation}) => { + // 1. Fetch apps, variants from API + const app = await apiHelpers.getApp("completion") + const appId = app.app_id + + const variants = await apiHelpers.getVariants(appId) + const variantName = variants[0].name || variants[0].variant_name + + // 2. Navigate to evaluation + await navigateToEvaluation(appId) + + // 4. Run auto evaluation + await runAutoEvaluation({ + evaluators: ["Exact Match"], + variants: [variantName], + }) + + await expect(page.locator(".ant-modal").first()).toHaveCount(0) + + // 10. Check evaluation table + const evalTable = page.getByRole("table") + await evalTable.waitFor({state: "visible"}) + + const newRow = evalTable.getByRole("row").first() + await newRow.waitFor({state: "visible"}) + // const evaLoadingState = page.getByText("Running").first() + // await expect(evaLoadingState).toBeVisible() + // await expect(evaLoadingState).not.toBeVisible() + await expect(page.getByText("Completed").first()).toBeVisible() + }, + ) + + baseAutoEvalTest( + "should show an error when attempting to create an evaluation with a mismatched test set", + { + tag: [ + createTagString("scope", TestScope.EVALUATIONS), + createTagString("coverage", TestCoverage.SMOKE), + createTagString("coverage", TestCoverage.LIGHT), + createTagString("coverage", TestCoverage.FULL), + createTagString("path", TestPath.HAPPY), + ], + }, + async ({page, apiHelpers, runAutoEvaluation, navigateToEvaluation}) => { + // 1. Fetch apps, variants from API + const app = await apiHelpers.getApp("chat") + const appId = app.app_id + + const variants = await apiHelpers.getVariants(appId) + const variantName = variants[0].name || variants[0].variant_name + + // 2. Navigate to evaluation + await navigateToEvaluation(appId) + + // 4. Run auto evaluation + await runAutoEvaluation({ + evaluators: ["Exact Match"], + variants: [variantName], + }) + + const message = page.locator(".ant-message").first() + await expect(message).toBeVisible() + await expect(message).toHaveText( + "The testset columns do not match the selected variant input parameters", + ) + }, + ) +} + +export default testAutoEval diff --git a/web/ee/tests/6-auto-evaluation/run-auto-evaluation.spec.ts b/web/ee/tests/6-auto-evaluation/run-auto-evaluation.spec.ts new file mode 100644 index 0000000000..b295d76ced --- /dev/null +++ b/web/ee/tests/6-auto-evaluation/run-auto-evaluation.spec.ts @@ -0,0 +1,4 @@ +import {test} from "@agenta/web-tests/tests/fixtures/base.fixture" +import testAutoEval from "." + +test.describe("Auto Evaluation: Run evaluation", testAutoEval) diff --git a/web/ee/tests/6-auto-evaluation/tests.ts b/web/ee/tests/6-auto-evaluation/tests.ts new file mode 100644 index 0000000000..7a29a28a3a --- /dev/null +++ b/web/ee/tests/6-auto-evaluation/tests.ts @@ -0,0 +1,97 @@ +import {test as baseTest} from "@agenta/web-tests/tests/fixtures/base.fixture" +import {expect} from "@agenta/web-tests/utils" +import {EvaluationFixtures, RunAutoEvalFixtureType} from "./assets/types" + +/** + * Evaluation-specific test fixtures extending the base test fixture. + * Provides high-level actions for evaluation tests. + */ +const testWithEvaluationFixtures = baseTest.extend({ + navigateToEvaluation: async ({page, uiHelpers}, use) => { + await use(async (appId: string) => { + await page.goto(`/apps/${appId}/evaluations`) + await uiHelpers.expectPath(`/apps/${appId}/evaluations`) + + // Move to Automatic Evaluation tab + await uiHelpers.clickTab("Automatic Evaluation") + await page.locator("span").filter({hasText: /^Evaluations$/}) + + // Wait for Evaluations to load + const spinner = page.locator(".ant-spin").first() + if (await spinner.count()) { + await spinner.waitFor({state: "hidden"}) + } + }) + }, + + runAutoEvaluation: async ({page, uiHelpers}, use) => { + await use(async ({evaluators, testset, variants}: RunAutoEvalFixtureType) => { + // 1. Open modal + await uiHelpers.clickButton("Start new Evaluation") + const modal = page.locator(".ant-modal").first() + await expect(modal).toBeVisible() + + // Helper: Select tab by name + const goToStep = async (step: string) => { + const tab = modal.getByRole("tab", {name: step}) + await tab.click() + } + + // 2. Select Testset + const selectedTestset = testset + + await goToStep("Testset") + await uiHelpers.selectTableRowInput({ + rowText: selectedTestset, + inputType: "radio", + checked: true, + }) + await expect( + page + .locator(".ant-tabs-tab", {hasText: "Testset"}) + .locator(".ant-tag", {hasText: selectedTestset}), + ).toBeVisible() + + // 3. Select Variant(s) + await goToStep("Variant") + const variantRow = page.getByRole("row").filter({ + has: page + .locator("td", {hasText: variants[0]}) + .locator(".ant-tag", {hasText: "v1"}), + }) + + await expect(variantRow).toBeVisible() + await variantRow.getByRole("radio").check() + + // 4. Select Evaluator(s) + await goToStep("Evaluator") + for (const evaluator of evaluators) { + await uiHelpers.selectTableRowInput({ + rowText: evaluator, + inputType: "checkbox", + checked: true, + }) + await expect( + page + .locator(".ant-tabs-tab", {hasText: "Evaluator"}) + .locator(".ant-tag", {hasText: evaluator}), + ).toBeVisible() + } + + await expect + .poll(async () => { + return await page.locator(".ant-tabs-nav-list .ant-tag").count() + }) + .toBe(3) + + // 5. Create Evaluation + const createButton = page.getByRole("button", {name: "Create"}).last() + await createButton.scrollIntoViewIfNeeded() + await createButton.click() + + await expect(createButton).toHaveClass(/ant-btn-loading/) + }) + }, +}) + +export {testWithEvaluationFixtures as test} diff --git a/web/ee/tests/7-observability/observability.spec.ts b/web/ee/tests/7-observability/observability.spec.ts new file mode 100644 index 0000000000..98908200a9 --- /dev/null +++ b/web/ee/tests/7-observability/observability.spec.ts @@ -0,0 +1,4 @@ +import {test} from "@agenta/web-tests/tests/fixtures/base.fixture" +import observabilityTests from "@agenta/oss/tests/7-observability" + +test.describe("Observability: test observability", observabilityTests) diff --git a/web/ee/tests/8-deployment/deploy-variant.spec.ts b/web/ee/tests/8-deployment/deploy-variant.spec.ts new file mode 100644 index 0000000000..0f613a356e --- /dev/null +++ b/web/ee/tests/8-deployment/deploy-variant.spec.ts @@ -0,0 +1,4 @@ +import {test} from "@agenta/web-tests/tests/fixtures/base.fixture" +import deploymentTests from "@agenta/oss/tests/8-deployment" + +test.describe("Deployment: test deployment", deploymentTests) diff --git a/web/ee/tests/9-human-annotation/assets/types.ts b/web/ee/tests/9-human-annotation/assets/types.ts new file mode 100644 index 0000000000..968f6d2a00 --- /dev/null +++ b/web/ee/tests/9-human-annotation/assets/types.ts @@ -0,0 +1,22 @@ +import type {BaseFixture} from "@agenta/web-tests/tests/fixtures/base.fixture/types" +import {Locator} from "@agenta/web-tests/utils" + +export type HumanEvaluationConfig = { + testset?: string + variants: string + name: string + skipEvaluatorCreation?: boolean +} + +export interface HumanEvaluationFixtures extends BaseFixture { + navigateToHumanEvaluation: (appId: string) => Promise + navigateToHumanAnnotationRun: (appId: string) => Promise + createHumanEvaluationRun: (config: HumanEvaluationConfig) => Promise + runAllScenarios: () => Promise + verifyStatusUpdate: (row: Locator) => Promise + switchToTableView: () => Promise + runScenarioFromFocusView: () => Promise + navigateBetweenScenarios: () => Promise + annotateFromFocusView: () => Promise + annotateFromTableView: () => Promise +} diff --git a/web/ee/tests/9-human-annotation/human-annotation.spec.ts b/web/ee/tests/9-human-annotation/human-annotation.spec.ts new file mode 100644 index 0000000000..6c26f40717 --- /dev/null +++ b/web/ee/tests/9-human-annotation/human-annotation.spec.ts @@ -0,0 +1,4 @@ +import {test} from "@agenta/web-tests/tests/fixtures/base.fixture" +import humanAnnotationTests from "." + +test.describe("Human Annotation", humanAnnotationTests) diff --git a/web/ee/tests/9-human-annotation/index.ts b/web/ee/tests/9-human-annotation/index.ts new file mode 100644 index 0000000000..4448434e2c --- /dev/null +++ b/web/ee/tests/9-human-annotation/index.ts @@ -0,0 +1,181 @@ +import {test as baseHumanTest, expect} from "./tests" +import { + createTagString, + TestCoverage, + TestPath, + TestScope, +} from "@agenta/web-tests/playwright/config/testTags" + +const humanAnnotationTests = () => { + baseHumanTest( + "should show an error when attempting to create an evaluation with a mismatched test set", + { + tag: [ + createTagString("scope", TestScope.EVALUATIONS), + createTagString("coverage", TestCoverage.SMOKE), + createTagString("coverage", TestCoverage.LIGHT), + createTagString("coverage", TestCoverage.FULL), + createTagString("path", TestPath.HAPPY), + ], + }, + async ({page, apiHelpers, navigateToHumanEvaluation, createHumanEvaluationRun}) => { + const app = await apiHelpers.getApp("chat") + const appId = app.app_id + + const variants = await apiHelpers.getVariants(appId) + const variantName = variants[0].name || variants[0].variant_name + + await navigateToHumanEvaluation(appId) + + await createHumanEvaluationRun({ + variants: variantName, + name: `e2e-human-${Date.now()}`, + }) + + const message = page.locator(".ant-message").first() + await expect(message).toBeVisible() + await expect(message).toHaveText( + "The testset columns do not match the selected variant input parameters", + ) + }, + ) + + baseHumanTest( + "should create human evaluation run", + { + tag: [ + createTagString("scope", TestScope.EVALUATIONS), + createTagString("coverage", TestCoverage.SMOKE), + createTagString("coverage", TestCoverage.LIGHT), + createTagString("coverage", TestCoverage.FULL), + createTagString("path", TestPath.HAPPY), + ], + }, + async ({page, apiHelpers, navigateToHumanEvaluation, createHumanEvaluationRun}) => { + const app = await apiHelpers.getApp() + const appId = app.app_id + + const variants = await apiHelpers.getVariants(appId) + const variantName = variants[0].name || variants[0].variant_name + + await navigateToHumanEvaluation(appId) + + await createHumanEvaluationRun({ + variants: variantName, + name: `e2e-human-${Date.now()}`, + skipEvaluatorCreation: true, + }) + + await expect(page.locator(".ant-modal").first()).toHaveCount(0) + + await expect(page).toHaveURL(/single_model_test\/.*scenarioId=.*/) + }, + ) + + baseHumanTest( + "should run scenarios and update status", + { + tag: [ + createTagString("scope", TestScope.EVALUATIONS), + createTagString("coverage", TestCoverage.LIGHT), + createTagString("coverage", TestCoverage.FULL), + createTagString("path", TestPath.HAPPY), + ], + }, + async ({ + navigateToHumanAnnotationRun, + page, + apiHelpers, + verifyStatusUpdate, + switchToTableView, + runScenarioFromFocusView, + }) => { + const app = await apiHelpers.getApp() + const appId = app.app_id + + await navigateToHumanAnnotationRun(appId) + + // --- Focus View: Single Scenario --- + await runScenarioFromFocusView() + + // --- Focus View: Run All --- + // await page.getByRole("button", {name: "Run All"}).click() + // await expect(page.locator("span").filter({hasText: "Running"})).toBeVisible() + // await expect(page.locator("span").filter({hasText: "Success"})).toBeVisible() + + // --- Table View --- + await switchToTableView() + + // Table Row: Run Individual + const row = page.locator(".ant-table-row").nth(1) + await row.getByRole("button", {name: "Run"}).click() + await verifyStatusUpdate(row) + + // Table View: Run All + await page.getByRole("button", {name: "Run All"}).click() + + const rows = page.locator(".ant-table-row") + const rowCount = await rows.count() + + for (let i = 0; i < rowCount; i++) { + const currentRow = rows.nth(i) + await verifyStatusUpdate(currentRow) + } + }, + ) + + baseHumanTest( + "should allow annotating scenarios", + { + tag: [ + createTagString("scope", TestScope.EVALUATIONS), + createTagString("coverage", TestCoverage.LIGHT), + createTagString("coverage", TestCoverage.FULL), + createTagString("path", TestPath.HAPPY), + ], + }, + async ({ + navigateToHumanAnnotationRun, + apiHelpers, + page, + switchToTableView, + annotateFromFocusView, + annotateFromTableView, + }) => { + const app = await apiHelpers.getApp() + const appId = app.app_id + + await navigateToHumanAnnotationRun(appId) + + await page.locator(".ant-segmented-item").nth(2).click() + + await annotateFromFocusView() + + await switchToTableView() + + // await annotateFromTableView() + }, + ) + + baseHumanTest( + "should navigate scenarios with filters", + { + tag: [ + createTagString("scope", TestScope.EVALUATIONS), + createTagString("coverage", TestCoverage.LIGHT), + createTagString("coverage", TestCoverage.FULL), + createTagString("path", TestPath.HAPPY), + ], + }, + async ({apiHelpers, navigateToHumanAnnotationRun, navigateBetweenScenarios}) => { + const app = await apiHelpers.getApp() + const appId = app.app_id + + await navigateToHumanAnnotationRun(appId) + + await navigateBetweenScenarios() + }, + ) +} + +export default humanAnnotationTests diff --git a/web/ee/tests/9-human-annotation/tests.ts b/web/ee/tests/9-human-annotation/tests.ts new file mode 100644 index 0000000000..ce017df4b7 --- /dev/null +++ b/web/ee/tests/9-human-annotation/tests.ts @@ -0,0 +1,244 @@ +import {test as baseTest} from "@agenta/web-tests/tests/fixtures/base.fixture" +import {expect, Locator} from "@agenta/web-tests/utils" + +import type {HumanEvaluationFixtures, HumanEvaluationConfig} from "./assets/types" +import {waitForApiResponse} from "tests/tests/fixtures/base.fixture/apiHelpers" +import {EvaluationRun} from "@/oss/lib/hooks/usePreviewEvaluations/types" +import {SnakeToCamelCaseKeys} from "@/oss/lib/Types" + +const testWithHumanFixtures = baseTest.extend({ + navigateToHumanEvaluation: async ({page, uiHelpers, apiHelpers}, use) => { + await use(async (appId: string) => { + await page.goto(`/apps/${appId}/evaluations?selectedEvaluation=human_annotation`) + await expect(page).toHaveURL( + `/apps/${appId}/evaluations?selectedEvaluation=human_annotation`, + ) + + const evaluationRunsResponse = await waitForApiResponse<{ + runs: SnakeToCamelCaseKeys[] + count: number + }>(page, { + route: `/api/preview/evaluations/runs/query`, + method: "POST", + }) + + const evaluationRuns = await evaluationRunsResponse + + expect(Array.isArray(evaluationRuns.runs)).toBe(true) + + await expect(page.locator("span").filter({hasText: /^Evaluations$/})).toBeVisible() + + await uiHelpers.clickTab("Human annotation") + + if (evaluationRunsResponse.runs.length > 0) { + await page.locator(".ant-checkbox").first().click() + + // click delete button + await uiHelpers.clickButton("Delete") + + // confirm delete in modal + await uiHelpers.confirmModal("Delete") + } + + await expect(evaluationRunsResponse.runs.length).toBe(0) + + await expect( + page.locator(".ant-btn-primary", {hasText: "Start new evaluation"}).first(), + ).toBeVisible() + }) + }, + + navigateToHumanAnnotationRun: async ({page, uiHelpers, apiHelpers}, use) => { + await use(async (appId: string) => { + await page.goto(`/apps/${appId}/evaluations?selectedEvaluation=human_annotation`) + await expect(page).toHaveURL( + `/apps/${appId}/evaluations?selectedEvaluation=human_annotation`, + ) + + const runs = await apiHelpers.getEvaluationRuns() + + await expect(page.locator("span").filter({hasText: /^Evaluations$/})).toBeVisible() + + await uiHelpers.clickTab("Human annotation") + + await page.locator(`tr[data-row-key="${runs[0].id}"]`).click() + + await expect(page).toHaveURL( + new RegExp(`/apps/${appId}/evaluations/single_model_test/${runs[0].id}(\\?|$)`), + ) + + await expect(page.locator("h4").filter({hasText: runs[0].name})).toBeVisible() + }) + }, + + createHumanEvaluationRun: async ({page, uiHelpers}, use) => { + await use(async (config: HumanEvaluationConfig) => { + await uiHelpers.clickButton("Start new evaluation") + const modal = page.locator(".ant-modal").first() + await expect(modal).toBeVisible() + + const goToStep = async (step: string) => { + await modal.getByRole("tab", {name: step}).click() + } + + await uiHelpers.typeWithDelay('input[placeholder="Enter a name"]', config.name) + + await goToStep("Testset") + await uiHelpers.selectTableRowInput({ + rowText: config.testset, + inputType: "radio", + checked: true, + }) + + await goToStep("Variant") + const variantRow = page.getByRole("row").filter({ + has: page + .locator("td", {hasText: config.variants}) + .locator(".ant-tag", {hasText: "v1"}), + }) + + await expect(variantRow).toBeVisible() + await variantRow.getByRole("radio").check() + + await goToStep("Evaluator") + + const evaluatorName = "evaluator_test" + + if (!config.skipEvaluatorCreation) { + await uiHelpers.clickButton("Create new") + const evalDrawer = page.locator(".ant-drawer-content") + await expect(evalDrawer).toBeVisible() + await expect(evalDrawer).toContainText("Create new evaluator") + + await uiHelpers.typeWithDelay("#evaluatorName", evaluatorName) + await expect(page.locator("#evaluatorSlug")).toHaveValue(evaluatorName) + + await uiHelpers.typeWithDelay("#metrics_0_name", "isTestWorking") + + await page.locator(".ant-select").click() + + const dropdownOption = page.locator('div[title="Boolean (True/False)"]') + await expect(dropdownOption).toBeVisible() + + await dropdownOption.click() + + await uiHelpers.clickButton("Save") + + await expect(evalDrawer).toHaveCount(0) + + const successMessage = page + .locator(".ant-message") + .getByText("Evaluator created successfully") + await expect(successMessage).toBeVisible() + } + + await uiHelpers.selectTableRowInput({ + rowText: evaluatorName, + inputType: "checkbox", + checked: true, + }) + + await expect + .poll(async () => { + return await page.locator(".ant-tabs-nav-list .ant-tag").count() + }) + .toBe(3) + + const createButton = modal.getByRole("button", {name: "Create"}).last() + await createButton.click() + await expect(createButton).toHaveClass(/ant-btn-loading/) + }) + }, + + verifyStatusUpdate: async ({page, uiHelpers}, use) => { + await use(async (row: Locator) => { + await expect(row.locator(".ant-table-cell").nth(1)).toHaveText(/Running|Incomplete/) + await expect(row.getByRole("button", {name: "Annotate"})).toBeVisible() + }) + }, + + switchToTableView: async ({page, uiHelpers}, use) => { + await use(async () => { + await page.locator(".ant-radio-button-wrapper", {hasText: "Table View"}).click() + await expect(page).toHaveURL(/view=table/) + }) + }, + + runScenarioFromFocusView: async ({page, uiHelpers}, use) => { + await use(async () => { + await expect(page.locator("span").filter({hasText: "Pending"})).toBeVisible() + await page.getByRole("button", {name: "Run Scenario"}).first().click() + await expect(page.locator("span").filter({hasText: "Running"})).toBeVisible() + await expect(page.locator("span").filter({hasText: "Incomplete"}).first()).toBeVisible() + }) + }, + + annotateFromFocusView: async ({page}, use) => { + await use(async () => { + const collapseBox = page.locator(".ant-collapse-content-box") + await expect(collapseBox.getByText("isTestWorking")).toBeVisible() + + await collapseBox.locator(".ant-radio-button-wrapper").first().click() + + const annotateBtn = page.getByRole("button", {name: "Annotate"}) + await expect(annotateBtn).toBeEnabled() + + await annotateBtn.click() + + await expect(page.locator("span", {hasText: "Annotating"}).first()).toBeVisible() + + await expect(page.locator("span", {hasText: "Success"})).toHaveCount(2) + }) + }, + + annotateFromTableView: async ({page}, use) => { + await use(async () => { + const row = page.locator(".ant-table-row").first() + + await row.getByRole("button", {name: "Annotate"}).click() + + const drawer = page.locator(".ant-drawer-content") + await expect(drawer).toBeVisible() + await expect(drawer).toContainText("Annotate scenario") + await expect(drawer.getByText("isTestWorking")).toBeVisible() + + await drawer.locator(".ant-radio-button-wrapper").first().click() + + const annotateBtn = drawer.getByRole("button", {name: "Annotate"}) + await expect(annotateBtn).toBeEnabled() + await annotateBtn.click() + + await expect(drawer).toHaveCount(0) + }) + }, + + navigateBetweenScenarios: async ({page}, use) => { + await use(async () => { + const prevBtn = page.getByRole("button", {name: "Prev"}) + const nextBtn = page.getByRole("button", {name: "Next"}) + + // Initial state + await expect(prevBtn).toBeDisabled() + await expect(nextBtn).toBeEnabled() + + // Navigate: 1 → 2 + await expect(page.locator('span[title="Test case: 1"]').first()).toBeVisible() + await nextBtn.click() + await expect(page.locator('span[title="Test case: 2"]').first()).toBeVisible() + + // Navigate: 2 → 3 + await nextBtn.click() + await expect(page.locator('span[title="Test case: 3"]').first()).toBeVisible() + + // Backward: 3 → 2 + await prevBtn.click() + await expect(page.locator('span[title="Test case: 2"]').first()).toBeVisible() + + // Backward: 2 → 1 + await prevBtn.click() + await expect(page.locator('span[title="Test case: 1"]').first()).toBeVisible() + }) + }, +}) + +export {testWithHumanFixtures as test, expect} diff --git a/web/ee/tsconfig.json b/web/ee/tsconfig.json new file mode 100644 index 0000000000..3ded438dae --- /dev/null +++ b/web/ee/tsconfig.json @@ -0,0 +1,12 @@ +{ + "extends": "../oss/tsconfig.json", + "compilerOptions": { + "baseUrl": "..", + "paths": { + "@/oss/*": ["./ee/src/*", "./oss/src/*"], + "@/agenta-oss-common/*": ["./ee/src/*", "./oss/src/*"] + } + }, + "include": ["next-env.d.ts", "**/*.d.ts", "**/*.ts", "**/*.tsx"], + "exclude": ["node_modules"] +} diff --git a/web/oss/package.json b/web/oss/package.json index 970fb92b2b..bf2e603365 100644 --- a/web/oss/package.json +++ b/web/oss/package.json @@ -1,6 +1,6 @@ { "name": "@agenta/oss", - "version": "0.57.2", + "version": "0.58.0", "private": true, "engines": { "node": ">=18" diff --git a/web/package.json b/web/package.json index 6a31901223..641cbc9e9f 100644 --- a/web/package.json +++ b/web/package.json @@ -1,6 +1,6 @@ { "name": "agenta-web", - "version": "0.57.2", + "version": "0.58.0", "workspaces": [ "ee", "oss", From 79aa900ac06cc9140ed8688e7cd13d70e1428875 Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Wed, 15 Oct 2025 13:49:41 +0200 Subject: [PATCH 2/2] added service validation --- .../evaluationCompare/EvaluationCompare.tsx | 7 +- web/ee/src/services/evaluations/api/index.ts | 34 +++- .../services/human-evaluations/api/index.ts | 145 ++++++++++++------ 3 files changed, 136 insertions(+), 50 deletions(-) diff --git a/web/ee/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx b/web/ee/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx index 118b35fb10..653d405753 100644 --- a/web/ee/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx +++ b/web/ee/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx @@ -32,6 +32,7 @@ import {LongTextCellRenderer} from "../cellRenderers/cellRenderers" import EvaluationErrorModal from "../EvaluationErrorProps/EvaluationErrorModal" import EvaluationErrorText from "../EvaluationErrorProps/EvaluationErrorText" import FilterColumns, {generateFilterItems} from "../FilterColumns/FilterColumns" +import {isValidId} from "@/oss/lib/helpers/serviceValidations" const useStyles = createUseStyles((theme: JSSTheme) => ({ table: { @@ -79,7 +80,9 @@ const EvaluationCompareMode: FC = () => { const classes = useStyles() const {appTheme} = useAppTheme() const [evaluationIdsStr = ""] = useQueryParam("evaluations") - const evaluationIdsArray = evaluationIdsStr.split(",").filter((item) => !!item) + const evaluationIdsArray = evaluationIdsStr + .split(",") + .filter((item) => !!item && isValidId(item)) const [evalIds, setEvalIds] = useState(evaluationIdsArray) const [hiddenVariants, setHiddenVariants] = useState([]) const [fetching, setFetching] = useState(false) @@ -151,7 +154,7 @@ const EvaluationCompareMode: FC = () => { }, [variants]) const evaluationIds = useMemo( - () => evaluationIdsStr.split(",").filter((item) => !!item), + () => evaluationIdsStr.split(",").filter((item) => !!item && isValidId(item)), [evaluationIdsStr], ) diff --git a/web/ee/src/services/evaluations/api/index.ts b/web/ee/src/services/evaluations/api/index.ts index 65354426ed..926b5bb108 100644 --- a/web/ee/src/services/evaluations/api/index.ts +++ b/web/ee/src/services/evaluations/api/index.ts @@ -25,6 +25,7 @@ import exactMatchImg from "@/oss/media/target.png" import similarityImg from "@/oss/media/transparency.png" import {fetchTestset} from "@/oss/services/testsets/api" import {getProjectValues} from "@/oss/state/project" +import {assertValidId, isValidId} from "@/oss/lib/helpers/serviceValidations" //Prefix convention: // - fetch: GET single entity from server @@ -159,16 +160,28 @@ export const fetchAllEvaluations = async (appId: string) => { } export const fetchEvaluation = async (evaluationId: string) => { + if (!isValidId(evaluationId)) { + throw new Error("Invalid evaluationId parameter") + } const {projectId} = getProjectValues() + const id = assertValidId(evaluationId) - const response = await axios.get(`/evaluations/${evaluationId}?project_id=${projectId}`) + const response = await axios.get(`/evaluations/${encodeURIComponent(id)}`, { + params: {project_id: projectId}, + }) return evaluationTransformer(response.data) as _Evaluation } export const fetchEvaluationStatus = async (evaluationId: string) => { + if (!isValidId(evaluationId)) { + throw new Error("Invalid evaluationId parameter") + } const {projectId} = getProjectValues() + const id = assertValidId(evaluationId) - const response = await axios.get(`/evaluations/${evaluationId}/status?project_id=${projectId}`) + const response = await axios.get(`/evaluations/${encodeURIComponent(id)}/status`, { + params: {project_id: projectId}, + }) return response.data as {status: _Evaluation["status"]} } @@ -211,11 +224,17 @@ export const deleteEvaluations = async (evaluationsIds: string[]) => { // Evaluation Scenarios export const fetchAllEvaluationScenarios = async (evaluationId: string) => { + if (!isValidId(evaluationId)) { + throw new Error("Invalid evaluationId parameter") + } const {projectId} = getProjectValues() + const id = assertValidId(evaluationId) const [{data: evaluationScenarios}, evaluation] = await Promise.all([ - axios.get(`/evaluations/${evaluationId}/evaluation_scenarios?project_id=${projectId}`), - fetchEvaluation(evaluationId), + axios.get(`/evaluations/${encodeURIComponent(id)}/evaluation_scenarios`, { + params: {project_id: projectId}, + }), + fetchEvaluation(id), ]) evaluationScenarios.forEach((scenario: _EvaluationScenario) => { @@ -239,7 +258,12 @@ export const updateScenarioStatus = async ( // Comparison export const fetchAllComparisonResults = async (evaluationIds: string[]) => { - const scenarioGroups = await Promise.all(evaluationIds.map(fetchAllEvaluationScenarios)) + // Defensive check: Only accept valid UUIDs + const validIds = evaluationIds.filter((id) => isValidId(id)) + if (validIds.length === 0) { + throw new Error("No valid evaluation IDs provided") + } + const scenarioGroups = await Promise.all(validIds.map(fetchAllEvaluationScenarios)) const testset: TestSet = await fetchTestset(scenarioGroups[0][0].evaluation?.testset?.id) const inputsNameSet = new Set() diff --git a/web/ee/src/services/human-evaluations/api/index.ts b/web/ee/src/services/human-evaluations/api/index.ts index 769582e3c3..20828c1b52 100644 --- a/web/ee/src/services/human-evaluations/api/index.ts +++ b/web/ee/src/services/human-evaluations/api/index.ts @@ -1,6 +1,7 @@ import axios from "@/oss/lib/api/assets/axiosConfig" import {EvaluationFlow, EvaluationType} from "@/oss/lib/enums" import {getAgentaApiUrl} from "@/oss/lib/helpers/api" +import {assertValidId} from "@/oss/lib/helpers/serviceValidations" import { abTestingEvaluationTransformer, fromEvaluationResponseToEvaluation, @@ -29,20 +30,25 @@ export const fetchAllLoadEvaluations = async ( projectId: string, ignoreAxiosError = false, ) => { - const response = await axios.get( - `${getAgentaApiUrl()}/human-evaluations?project_id=${projectId}&app_id=${appId}`, - { - _ignoreError: ignoreAxiosError, - } as any, - ) + const app = assertValidId(appId, "appId") + const project = assertValidId(projectId, "projectId") + + const response = await axios.get(`${getAgentaApiUrl()}/human-evaluations`, { + params: {project_id: project, app_id: app}, + _ignoreError: ignoreAxiosError, + } as any) return response.data } export const fetchLoadEvaluation = async (evaluationId: string) => { const {projectId} = getProjectValues() + const id = assertValidId(evaluationId, "evaluationId") + const project = assertValidId(projectId, "projectId") try { return await axios - .get(`${getAgentaApiUrl()}/human-evaluations/${evaluationId}?project_id=${projectId}`) + .get(`${getAgentaApiUrl()}/human-evaluations/${encodeURIComponent(id)}`, { + params: {project_id: project}, + }) .then((responseData) => { return fromEvaluationResponseToEvaluation(responseData.data) }) @@ -50,17 +56,19 @@ export const fetchLoadEvaluation = async (evaluationId: string) => { if (axios.isCancel?.(error) || (error as any)?.code === "ERR_CANCELED") { return null } - console.error(`Error fetching evaluation ${evaluationId}:`, error) + console.error(`Error fetching evaluation ${id}:`, error) return null } } export const deleteEvaluations = async (ids: string[]) => { const {projectId} = getProjectValues() + const project = assertValidId(projectId, "projectId") const response = await axios({ method: "delete", - url: `${getAgentaApiUrl()}/human-evaluations?project_id=${projectId}`, + url: `${getAgentaApiUrl()}/human-evaluations`, + params: {project_id: project}, data: {evaluations_ids: ids}, }) return response.data @@ -71,10 +79,15 @@ export const fetchAllLoadEvaluationsScenarios = async ( evaluation: Evaluation, ) => { const {projectId} = getProjectValues() + const tableId = assertValidId(evaluationTableId, "evaluationTableId") + const project = assertValidId(projectId, "projectId") return await axios .get( - `${getAgentaApiUrl()}/human-evaluations/${evaluationTableId}/evaluation_scenarios?project_id=${projectId}`, + `${getAgentaApiUrl()}/human-evaluations/${encodeURIComponent( + tableId, + )}/evaluation_scenarios`, + {params: {project_id: project}}, ) .then((responseData) => { const evaluationsRows = responseData.data.map((item: any) => { @@ -107,38 +120,45 @@ export const createNewEvaluation = async ( }, ignoreAxiosError = false, ) => { + const app = assertValidId(appId, "appId") + const testset = assertValidId(testsetId, "testsetId") + const customId = selectedCustomEvaluationID + ? assertValidId(selectedCustomEvaluationID, "customEvaluationId") + : undefined + const data = { variant_ids, inputs: inputs, - app_id: appId, + app_id: app, evaluation_type: evaluationType, evaluation_type_settings: { ...evaluationTypeSettings, - custom_code_evaluation_id: selectedCustomEvaluationID, + custom_code_evaluation_id: customId, llm_app_prompt_template: llmAppPromptTemplate, }, - testset_id: testsetId, + testset_id: testset, status: EvaluationFlow.EVALUATION_INITIALIZED, } const {projectId} = getProjectValues() + const project = assertValidId(projectId, "projectId") - const response = await axios.post( - `${getAgentaApiUrl()}/human-evaluations?project_id=${projectId}`, - data, - { - _ignoreError: ignoreAxiosError, - } as any, - ) + const response = await axios.post(`${getAgentaApiUrl()}/human-evaluations`, data, { + params: {project_id: project}, + _ignoreError: ignoreAxiosError, + } as any) return response.data.id } export const updateEvaluation = async (evaluationId: string, data: GenericObject) => { const {projectId} = getProjectValues() + const id = assertValidId(evaluationId, "evaluationId") + const project = assertValidId(projectId, "projectId") const response = await axios.put( - `${getAgentaApiUrl()}/human-evaluations/${evaluationId}?project_id=${projectId}`, + `${getAgentaApiUrl()}/human-evaluations/${encodeURIComponent(id)}`, data, + {params: {project_id: project}}, ) return response.data } @@ -150,20 +170,31 @@ export const updateEvaluationScenario = async ( evaluationType: EvaluationType, ) => { const {projectId} = getProjectValues() + const tableId = assertValidId(evaluationTableId, "evaluationTableId") + const scenarioId = assertValidId(evaluationScenarioId, "evaluationScenarioId") + const project = assertValidId(projectId, "projectId") const response = await axios.put( - `${getAgentaApiUrl()}/human-evaluations/${evaluationTableId}/evaluation_scenario/${evaluationScenarioId}/${evaluationType}?project_id=${projectId}`, + `${getAgentaApiUrl()}/human-evaluations/${encodeURIComponent( + tableId, + )}/evaluation_scenario/${encodeURIComponent(scenarioId)}/${encodeURIComponent( + evaluationType, + )}`, data, + {params: {project_id: project}}, ) return response.data } export const createEvaluationScenario = async (evaluationTableId: string, data: GenericObject) => { const {projectId} = getProjectValues() + const tableId = assertValidId(evaluationTableId, "evaluationTableId") + const project = assertValidId(projectId, "projectId") const response = await axios.post( - `${getAgentaApiUrl()}/human-evaluations/${evaluationTableId}/evaluation_scenario?project_id=${projectId}`, + `${getAgentaApiUrl()}/human-evaluations/${encodeURIComponent(tableId)}/evaluation_scenario`, data, + {params: {project_id: project}}, ) return response.data } @@ -173,21 +204,25 @@ export const createEvaluateAICritiqueForEvalScenario = async ( ignoreAxiosError = false, ) => { const {projectId} = getProjectValues() + const project = assertValidId(projectId, "projectId") const response = await axios.post( - `${getAgentaApiUrl()}/human-evaluations/evaluation_scenario/ai_critique?project_id=${projectId}`, + `${getAgentaApiUrl()}/human-evaluations/evaluation_scenario/ai_critique`, data, - {_ignoreError: ignoreAxiosError} as any, + {params: {project_id: project}, _ignoreError: ignoreAxiosError} as any, ) return response } export const fetchEvaluationResults = async (evaluationId: string, ignoreAxiosError = false) => { const {projectId} = getProjectValues() + const id = assertValidId(evaluationId, "evaluationId") + const project = assertValidId(projectId, "projectId") const response = await axios.get( - `${getAgentaApiUrl()}/human-evaluations/${evaluationId}/results?project_id=${projectId}`, + `${getAgentaApiUrl()}/human-evaluations/${encodeURIComponent(id)}/results`, { + params: {project_id: project}, _ignoreError: ignoreAxiosError, } as any, ) @@ -196,9 +231,14 @@ export const fetchEvaluationResults = async (evaluationId: string, ignoreAxiosEr export const fetchEvaluationScenarioResults = async (evaluation_scenario_id: string) => { const {projectId} = getProjectValues() + const scenarioId = assertValidId(evaluation_scenario_id, "evaluation_scenario_id") + const project = assertValidId(projectId, "projectId") const response = await axios.get( - `${getAgentaApiUrl()}/human-evaluations/evaluation_scenario/${evaluation_scenario_id}/score?project_id=${projectId}`, + `${getAgentaApiUrl()}/human-evaluations/evaluation_scenario/${encodeURIComponent( + scenarioId, + )}/score`, + {params: {project_id: project}}, ) return response } @@ -208,11 +248,12 @@ export const createCustomCodeEvaluation = async ( ignoreAxiosError = false, ) => { const {projectId} = getProjectValues() + const project = assertValidId(projectId, "projectId") const response = await axios.post( - `${getAgentaApiUrl()}/human-evaluations/custom_evaluation?project_id=${projectId}`, + `${getAgentaApiUrl()}/human-evaluations/custom_evaluation`, payload, - {_ignoreError: ignoreAxiosError} as any, + {params: {project_id: project}, _ignoreError: ignoreAxiosError} as any, ) return response } @@ -223,41 +264,53 @@ export const updateCustomEvaluationDetail = async ( ignoreAxiosError = false, ) => { const {projectId} = getProjectValues() + const customId = assertValidId(id, "custom_evaluation_id") + const project = assertValidId(projectId, "projectId") const response = await axios.put( - `${getAgentaApiUrl()}/human-evaluations/custom_evaluation/${id}?project_id=${projectId}`, + `${getAgentaApiUrl()}/human-evaluations/custom_evaluation/${encodeURIComponent(customId)}`, payload, - {_ignoreError: ignoreAxiosError} as any, + {params: {project_id: project}, _ignoreError: ignoreAxiosError} as any, ) return response } export const fetchCustomEvaluations = async (app_id: string, ignoreAxiosError = false) => { const {projectId} = getProjectValues() + const appId = assertValidId(app_id, "app_id") + const project = assertValidId(projectId, "projectId") const response = await axios.get( - `${getAgentaApiUrl()}/human-evaluations/custom_evaluation/list/${app_id}?project_id=${projectId}`, - {_ignoreError: ignoreAxiosError} as any, + `${getAgentaApiUrl()}/human-evaluations/custom_evaluation/list/${encodeURIComponent( + appId, + )}`, + {params: {project_id: project}, _ignoreError: ignoreAxiosError} as any, ) return response } export const fetchCustomEvaluationDetail = async (id: string, ignoreAxiosError = false) => { const {projectId} = getProjectValues() + const customId = assertValidId(id, "custom_evaluation_id") + const project = assertValidId(projectId, "projectId") const response = await axios.get( - `${getAgentaApiUrl()}/human-evaluations/custom_evaluation/${id}?project_id=${projectId}`, - {_ignoreError: ignoreAxiosError} as any, + `${getAgentaApiUrl()}/human-evaluations/custom_evaluation/${encodeURIComponent(customId)}`, + {params: {project_id: project}, _ignoreError: ignoreAxiosError} as any, ) return response.data } export const fetchCustomEvaluationNames = async (app_id: string, ignoreAxiosError = false) => { const {projectId} = getProjectValues() + const appId = assertValidId(app_id, "app_id") + const project = assertValidId(projectId, "projectId") const response = await axios.get( - `${getAgentaApiUrl()}/human-evaluations/custom_evaluation/${app_id}/names?project_id=${projectId}`, - {_ignoreError: ignoreAxiosError} as any, + `${getAgentaApiUrl()}/human-evaluations/custom_evaluation/${encodeURIComponent( + appId, + )}/names`, + {params: {project_id: project}, _ignoreError: ignoreAxiosError} as any, ) return response } @@ -267,13 +320,15 @@ export const createExecuteCustomEvaluationCode = async ( ignoreAxiosError = false, ) => { const {projectId} = getProjectValues() + const project = assertValidId(projectId, "projectId") + const evalId = assertValidId(payload.evaluation_id, "evaluation_id") const response = await axios.post( - `${getAgentaApiUrl()}/human-evaluations/custom_evaluation/execute/${ - payload.evaluation_id - }?project_id=${projectId}`, + `${getAgentaApiUrl()}/human-evaluations/custom_evaluation/execute/${encodeURIComponent( + evalId, + )}`, payload, - {_ignoreError: ignoreAxiosError} as any, + {params: {project_id: project}, _ignoreError: ignoreAxiosError} as any, ) return response } @@ -284,11 +339,15 @@ export const updateEvaluationScenarioScore = async ( ignoreAxiosError = false, ) => { const {projectId} = getProjectValues() + const scenarioId = assertValidId(evaluation_scenario_id, "evaluation_scenario_id") + const project = assertValidId(projectId, "projectId") const response = await axios.put( - `${getAgentaApiUrl()}/human-evaluations/evaluation_scenario/${evaluation_scenario_id}/score?project_id=${projectId}`, + `${getAgentaApiUrl()}/human-evaluations/evaluation_scenario/${encodeURIComponent( + scenarioId, + )}/score`, {score}, - {_ignoreError: ignoreAxiosError} as any, + {params: {project_id: project}, _ignoreError: ignoreAxiosError} as any, ) return response }

    ?r8@smq4bn1K-tANQmEEB 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

    ~;XYOn?k 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�uU-)mTrL=4O`XSx4W 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

  4. o% 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%0AOxJTm_#^H!fFQo4o6OZ1Ku>z^-({YV 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𝔱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¨F)j#{k`p)QGzT!u- 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