datacoolie-studio 0.1.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- datacoolie_studio-0.1.1/.github/workflows/ci.yml +77 -0
- datacoolie_studio-0.1.1/.github/workflows/publish-pypi.yml +87 -0
- datacoolie_studio-0.1.1/.github/workflows/release.yml +19 -0
- datacoolie_studio-0.1.1/.gitignore +19 -0
- datacoolie_studio-0.1.1/AGENTS.md +123 -0
- datacoolie_studio-0.1.1/PKG-INFO +463 -0
- datacoolie_studio-0.1.1/README.md +397 -0
- datacoolie_studio-0.1.1/benchmarks/__init__.py +1 -0
- datacoolie_studio-0.1.1/benchmarks/monitoring_fixture.py +137 -0
- datacoolie_studio-0.1.1/benchmarks/monitoring_performance.py +49 -0
- datacoolie_studio-0.1.1/frontend/index.html +13 -0
- datacoolie_studio-0.1.1/frontend/openapi/openapi.json +1 -0
- datacoolie_studio-0.1.1/frontend/package-lock.json +2326 -0
- datacoolie_studio-0.1.1/frontend/package.json +46 -0
- datacoolie_studio-0.1.1/frontend/public/favicon.png +0 -0
- datacoolie_studio-0.1.1/frontend/src/App.tsx +87 -0
- datacoolie_studio-0.1.1/frontend/src/app/AppShell.tsx +86 -0
- datacoolie_studio-0.1.1/frontend/src/app/BrandLogo.tsx +9 -0
- datacoolie_studio-0.1.1/frontend/src/app/ContextBar.tsx +144 -0
- datacoolie_studio-0.1.1/frontend/src/app/ModuleView.tsx +302 -0
- datacoolie_studio-0.1.1/frontend/src/app/SidebarNav.tsx +129 -0
- datacoolie_studio-0.1.1/frontend/src/app/environmentHeaderResource.test.ts +20 -0
- datacoolie_studio-0.1.1/frontend/src/app/environmentHeaderResource.ts +13 -0
- datacoolie_studio-0.1.1/frontend/src/app/environmentSourcesResource.test.ts +50 -0
- datacoolie_studio-0.1.1/frontend/src/app/environmentSourcesResource.ts +26 -0
- datacoolie_studio-0.1.1/frontend/src/app/moduleRegistry.ts +113 -0
- datacoolie_studio-0.1.1/frontend/src/app/projectRouteResources.test.ts +56 -0
- datacoolie_studio-0.1.1/frontend/src/app/projectRouteResources.ts +31 -0
- datacoolie_studio-0.1.1/frontend/src/app/projectSummaryMutations.test.ts +53 -0
- datacoolie_studio-0.1.1/frontend/src/app/projectSummaryMutations.ts +60 -0
- datacoolie_studio-0.1.1/frontend/src/app/routes.test.ts +36 -0
- datacoolie_studio-0.1.1/frontend/src/app/routes.ts +136 -0
- datacoolie_studio-0.1.1/frontend/src/app/useStudioModules.ts +62 -0
- datacoolie_studio-0.1.1/frontend/src/app/useStudioRouter.ts +229 -0
- datacoolie_studio-0.1.1/frontend/src/app/useStudioWorkspace.ts +519 -0
- datacoolie_studio-0.1.1/frontend/src/assets/datacoolie-icon-circle-dark_512x512.png +0 -0
- datacoolie_studio-0.1.1/frontend/src/assets/lineage/apache-iceberg.png +0 -0
- datacoolie_studio-0.1.1/frontend/src/assets/lineage/api.svg +1 -0
- datacoolie_studio-0.1.1/frontend/src/assets/lineage/csv.png +0 -0
- datacoolie_studio-0.1.1/frontend/src/assets/lineage/delta-lake.svg +3 -0
- datacoolie_studio-0.1.1/frontend/src/assets/lineage/python-function.png +0 -0
- datacoolie_studio-0.1.1/frontend/src/features/assets/AssetsDrawer.tsx +1452 -0
- datacoolie_studio-0.1.1/frontend/src/features/assets/AssetsView.tsx +1477 -0
- datacoolie_studio-0.1.1/frontend/src/features/assets/ReferenceDrawer.tsx +433 -0
- datacoolie_studio-0.1.1/frontend/src/features/assets/SourceCodeViewer.tsx +156 -0
- datacoolie_studio-0.1.1/frontend/src/features/assets/assetRelationshipModel.test.ts +73 -0
- datacoolie_studio-0.1.1/frontend/src/features/assets/assetRelationshipModel.ts +98 -0
- datacoolie_studio-0.1.1/frontend/src/features/assets/assetsPresentation.test.ts +172 -0
- datacoolie_studio-0.1.1/frontend/src/features/assets/assetsPresentation.ts +257 -0
- datacoolie_studio-0.1.1/frontend/src/features/assets/assetsQueries.test.ts +123 -0
- datacoolie_studio-0.1.1/frontend/src/features/assets/assetsQueries.ts +158 -0
- datacoolie_studio-0.1.1/frontend/src/features/assets/referenceDrawerModel.test.ts +117 -0
- datacoolie_studio-0.1.1/frontend/src/features/assets/referenceDrawerModel.ts +160 -0
- datacoolie_studio-0.1.1/frontend/src/features/assets/sourceCode.ts +32 -0
- datacoolie_studio-0.1.1/frontend/src/features/dataflows/MetadataDataflowDrawer.tsx +712 -0
- datacoolie_studio-0.1.1/frontend/src/features/dataflows/metadataDataflowModel.test.ts +213 -0
- datacoolie_studio-0.1.1/frontend/src/features/dataflows/metadataDataflowModel.ts +566 -0
- datacoolie_studio-0.1.1/frontend/src/features/environments/EnvironmentsPage.tsx +196 -0
- datacoolie_studio-0.1.1/frontend/src/features/environments/environmentMutations.ts +59 -0
- datacoolie_studio-0.1.1/frontend/src/features/environments/environmentQueries.test.ts +46 -0
- datacoolie_studio-0.1.1/frontend/src/features/environments/environmentQueries.ts +109 -0
- datacoolie_studio-0.1.1/frontend/src/features/lineage/LineageView.tsx +559 -0
- datacoolie_studio-0.1.1/frontend/src/features/lineage/components/LineageAssetNode.tsx +33 -0
- datacoolie_studio-0.1.1/frontend/src/features/lineage/components/LineageCanvas.tsx +248 -0
- datacoolie_studio-0.1.1/frontend/src/features/lineage/components/LineageCodeDialog.tsx +178 -0
- datacoolie_studio-0.1.1/frontend/src/features/lineage/components/LineageDetailsDrawer.tsx +792 -0
- datacoolie_studio-0.1.1/frontend/src/features/lineage/components/LineageEdges.tsx +116 -0
- datacoolie_studio-0.1.1/frontend/src/features/lineage/components/LineageEntityIcon.tsx +15 -0
- datacoolie_studio-0.1.1/frontend/src/features/lineage/components/LineageFormatIcon.tsx +145 -0
- datacoolie_studio-0.1.1/frontend/src/features/lineage/components/LineageSearch.tsx +120 -0
- datacoolie_studio-0.1.1/frontend/src/features/lineage/hooks/useLineageLayout.ts +43 -0
- datacoolie_studio-0.1.1/frontend/src/features/lineage/layout/elkLayout.ts +85 -0
- datacoolie_studio-0.1.1/frontend/src/features/lineage/lineageQueries.test.ts +55 -0
- datacoolie_studio-0.1.1/frontend/src/features/lineage/lineageQueries.ts +60 -0
- datacoolie_studio-0.1.1/frontend/src/features/lineage/model/edgeGeometry.test.ts +67 -0
- datacoolie_studio-0.1.1/frontend/src/features/lineage/model/edgeGeometry.ts +82 -0
- datacoolie_studio-0.1.1/frontend/src/features/lineage/model/filterSelection.test.ts +14 -0
- datacoolie_studio-0.1.1/frontend/src/features/lineage/model/filterSelection.ts +10 -0
- datacoolie_studio-0.1.1/frontend/src/features/lineage/model/flow.test.ts +247 -0
- datacoolie_studio-0.1.1/frontend/src/features/lineage/model/flow.ts +332 -0
- datacoolie_studio-0.1.1/frontend/src/features/lineage/model/graphIndex.test.ts +290 -0
- datacoolie_studio-0.1.1/frontend/src/features/lineage/model/graphIndex.ts +522 -0
- datacoolie_studio-0.1.1/frontend/src/features/lineage/model/presentation.test.ts +81 -0
- datacoolie_studio-0.1.1/frontend/src/features/lineage/model/presentation.ts +147 -0
- datacoolie_studio-0.1.1/frontend/src/features/lineage/model/types.ts +89 -0
- datacoolie_studio-0.1.1/frontend/src/features/lineage/model/viewport.test.ts +27 -0
- datacoolie_studio-0.1.1/frontend/src/features/lineage/model/viewport.ts +38 -0
- datacoolie_studio-0.1.1/frontend/src/features/master-data/MasterDataPage.tsx +34 -0
- datacoolie_studio-0.1.1/frontend/src/features/metadata-explorer/MetadataExplorer.tsx +907 -0
- datacoolie_studio-0.1.1/frontend/src/features/metadata-explorer/MetadataHistoryDrawer.tsx +289 -0
- datacoolie_studio-0.1.1/frontend/src/features/metadata-explorer/MetadataIssuesDrawer.tsx +52 -0
- datacoolie_studio-0.1.1/frontend/src/features/metadata-explorer/MetadataMetrics.tsx +50 -0
- datacoolie_studio-0.1.1/frontend/src/features/metadata-explorer/MetadataSheetContextMenu.tsx +99 -0
- datacoolie_studio-0.1.1/frontend/src/features/metadata-explorer/MetadataSheetToolbar.tsx +188 -0
- datacoolie_studio-0.1.1/frontend/src/features/metadata-explorer/MetadataSourceSaveConfirmationDialog.tsx +44 -0
- datacoolie_studio-0.1.1/frontend/src/features/metadata-explorer/MetadataStructuredCell.tsx +662 -0
- datacoolie_studio-0.1.1/frontend/src/features/metadata-explorer/metadata-explorer.css +173 -0
- datacoolie_studio-0.1.1/frontend/src/features/metadata-explorer/metadataDraftState.test.ts +48 -0
- datacoolie_studio-0.1.1/frontend/src/features/metadata-explorer/metadataDraftState.ts +36 -0
- datacoolie_studio-0.1.1/frontend/src/features/metadata-explorer/metadataEditorQueries.test.ts +93 -0
- datacoolie_studio-0.1.1/frontend/src/features/metadata-explorer/metadataEditorQueries.ts +227 -0
- datacoolie_studio-0.1.1/frontend/src/features/metadata-explorer/metadataSaveConfirmation.test.ts +110 -0
- datacoolie_studio-0.1.1/frontend/src/features/metadata-explorer/metadataSaveConfirmation.ts +271 -0
- datacoolie_studio-0.1.1/frontend/src/features/metadata-explorer/metadataSheetColumns.tsx +557 -0
- datacoolie_studio-0.1.1/frontend/src/features/metadata-explorer/metadataSheetNavigation.ts +66 -0
- datacoolie_studio-0.1.1/frontend/src/features/metadata-explorer/metadataSheetOperations.ts +279 -0
- datacoolie_studio-0.1.1/frontend/src/features/metadata-explorer/metadataSheetTypes.ts +12 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/MonitoringCharts.test.ts +119 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/MonitoringCharts.tsx +663 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/MonitoringDetailDrawer.tsx +620 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/MonitoringFilterBar.tsx +654 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/MonitoringPages.tsx +9 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/MonitoringRoute.tsx +73 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/MonitoringView.tsx +763 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/ReportChart.tsx +200 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/SystemLogViewer.test.ts +39 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/SystemLogViewer.tsx +295 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/components/monitoringPrimitives.tsx +2861 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/details/DataflowDetails.tsx +304 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/details/DiagnosticsDetails.tsx +117 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/details/FailureDetails.tsx +75 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/details/FreshnessDetails.tsx +329 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/details/JobDetails.tsx +174 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/details/MaintenanceDetails.tsx +311 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/details/PerformanceDetails.tsx +68 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/details/VolumeDetails.tsx +221 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/details/detailPrimitives.tsx +657 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/diagnosticsPresentation.test.ts +152 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/diagnosticsPresentation.ts +225 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/intentPrefetch.test.ts +43 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/intentPrefetch.ts +35 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/maintenancePresentation.test.ts +40 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/maintenancePresentation.ts +49 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/maintenanceTrends.test.ts +54 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/monitoring.css +4466 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/monitoringChartBaseline.test.ts +94 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/monitoringDataflowDrawer.test.ts +33 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/monitoringDataflowsPage.test.ts +11 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/monitoringDetailEvidence.test.ts +62 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/monitoringDetailEvidence.ts +67 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/monitoringFailureCharts.test.ts +71 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/monitoringFilters.ts +100 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/monitoringFreshnessCharts.test.ts +170 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/monitoringFreshnessDrawer.test.ts +73 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/monitoringJobDrawer.test.ts +19 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/monitoringJobsPage.test.ts +49 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/monitoringKpiAccent.test.ts +30 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/monitoringPageModules.ts +38 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/monitoringQueries.test.ts +142 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/monitoringQueries.ts +229 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/monitoringTrendBuckets.test.ts +129 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/pages/DataflowsPage.tsx +230 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/pages/DataflowsPageSupport.tsx +155 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/pages/DiagnosticsPage.tsx +474 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/pages/DiagnosticsPageSupport.tsx +32 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/pages/FailurePage.tsx +237 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/pages/FailurePageSupport.tsx +166 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/pages/FreshnessPage.tsx +792 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/pages/JobsPage.tsx +235 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/pages/JobsPageSupport.tsx +349 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/pages/MaintenancePage.tsx +817 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/pages/MonitoringOverviewPage.tsx +226 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/pages/MonitoringOverviewPageSupport.tsx +648 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/pages/PerformancePage.tsx +931 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/pages/VolumePage.tsx +631 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/performancePageModel.test.ts +28 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/performancePageModel.ts +51 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/performanceTrend.test.ts +71 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/volumePageModel.test.ts +36 -0
- datacoolie_studio-0.1.1/frontend/src/features/monitoring/volumePageModel.ts +41 -0
- datacoolie_studio-0.1.1/frontend/src/features/overview/OverviewPage.tsx +513 -0
- datacoolie_studio-0.1.1/frontend/src/features/project-overview/ProjectOverviewPage.tsx +167 -0
- datacoolie_studio-0.1.1/frontend/src/features/projects/ProjectDetailPage.tsx +292 -0
- datacoolie_studio-0.1.1/frontend/src/features/projects/ProjectReferenceMappingDrawer.tsx +219 -0
- datacoolie_studio-0.1.1/frontend/src/features/projects/ProjectReferenceMappingTargetPicker.tsx +154 -0
- datacoolie_studio-0.1.1/frontend/src/features/projects/ProjectReferenceMappingsPage.tsx +464 -0
- datacoolie_studio-0.1.1/frontend/src/features/projects/ProjectsPage.tsx +245 -0
- datacoolie_studio-0.1.1/frontend/src/features/projects/project-detail.css +457 -0
- datacoolie_studio-0.1.1/frontend/src/features/projects/project-reference-mappings.css +1239 -0
- datacoolie_studio-0.1.1/frontend/src/features/projects/projectMutations.ts +151 -0
- datacoolie_studio-0.1.1/frontend/src/features/projects/projectReferenceMappingRegistryModel.test.ts +150 -0
- datacoolie_studio-0.1.1/frontend/src/features/projects/projectReferenceMappingRegistryModel.ts +251 -0
- datacoolie_studio-0.1.1/frontend/src/features/projects/projects.css +433 -0
- datacoolie_studio-0.1.1/frontend/src/features/projects/projectsDirectoryModel.test.ts +63 -0
- datacoolie_studio-0.1.1/frontend/src/features/projects/projectsDirectoryModel.ts +46 -0
- datacoolie_studio-0.1.1/frontend/src/features/projects/useProjectReferenceRegistry.test.ts +21 -0
- datacoolie_studio-0.1.1/frontend/src/features/projects/useProjectReferenceRegistry.ts +99 -0
- datacoolie_studio-0.1.1/frontend/src/features/reference-mappings/ReferenceMappingClearAction.tsx +43 -0
- datacoolie_studio-0.1.1/frontend/src/features/reference-mappings/ReferenceMappingDrawer.tsx +25 -0
- datacoolie_studio-0.1.1/frontend/src/features/reference-mappings/ReferenceMappingEditor.tsx +256 -0
- datacoolie_studio-0.1.1/frontend/src/features/reference-mappings/referenceMappingModel.test.ts +137 -0
- datacoolie_studio-0.1.1/frontend/src/features/reference-mappings/referenceMappingModel.ts +209 -0
- datacoolie_studio-0.1.1/frontend/src/features/settings/CredentialProfilesSection.tsx +733 -0
- datacoolie_studio-0.1.1/frontend/src/features/settings/SettingsPage.tsx +412 -0
- datacoolie_studio-0.1.1/frontend/src/features/settings/StudioConfigurationDrawer.tsx +295 -0
- datacoolie_studio-0.1.1/frontend/src/features/settings/cacheInvalidation.test.ts +21 -0
- datacoolie_studio-0.1.1/frontend/src/features/settings/cacheInvalidation.ts +26 -0
- datacoolie_studio-0.1.1/frontend/src/features/settings/hooks/useStudioCache.ts +106 -0
- datacoolie_studio-0.1.1/frontend/src/features/settings/hooks/useStudioDiagnostics.ts +38 -0
- datacoolie_studio-0.1.1/frontend/src/features/settings/hooks/useStudioSettings.ts +67 -0
- datacoolie_studio-0.1.1/frontend/src/features/settings/settings.css +1091 -0
- datacoolie_studio-0.1.1/frontend/src/features/settings/settingsModel.test.ts +58 -0
- datacoolie_studio-0.1.1/frontend/src/features/settings/settingsModel.ts +60 -0
- datacoolie_studio-0.1.1/frontend/src/features/settings/timezoneOptions.test.ts +42 -0
- datacoolie_studio-0.1.1/frontend/src/features/settings/timezoneOptions.ts +133 -0
- datacoolie_studio-0.1.1/frontend/src/features/sources/SourceOperationFeedback.test.tsx +33 -0
- datacoolie_studio-0.1.1/frontend/src/features/sources/SourceOperationFeedback.tsx +49 -0
- datacoolie_studio-0.1.1/frontend/src/features/sources/SourcesPage.tsx +1497 -0
- datacoolie_studio-0.1.1/frontend/src/features/sources/StorageLocationFields.test.tsx +41 -0
- datacoolie_studio-0.1.1/frontend/src/features/sources/StorageLocationFields.tsx +326 -0
- datacoolie_studio-0.1.1/frontend/src/features/sources/logSyncModel.test.ts +55 -0
- datacoolie_studio-0.1.1/frontend/src/features/sources/logSyncModel.ts +68 -0
- datacoolie_studio-0.1.1/frontend/src/features/sources/sourceMutations.ts +383 -0
- datacoolie_studio-0.1.1/frontend/src/features/sources/sourceQueries.ts +28 -0
- datacoolie_studio-0.1.1/frontend/src/features/sources/sourceWorkspaceModel.test.ts +249 -0
- datacoolie_studio-0.1.1/frontend/src/features/sources/sourceWorkspaceModel.ts +226 -0
- datacoolie_studio-0.1.1/frontend/src/features/sources/useLocalSourceObservation.ts +107 -0
- datacoolie_studio-0.1.1/frontend/src/features/workspace/WorkspacePanel.tsx +209 -0
- datacoolie_studio-0.1.1/frontend/src/main.tsx +17 -0
- datacoolie_studio-0.1.1/frontend/src/shared/api/client.ts +445 -0
- datacoolie_studio-0.1.1/frontend/src/shared/api/contractTypes.ts +53 -0
- datacoolie_studio-0.1.1/frontend/src/shared/api/domainTypes.ts +1257 -0
- datacoolie_studio-0.1.1/frontend/src/shared/api/generated/schema.ts +5060 -0
- datacoolie_studio-0.1.1/frontend/src/shared/components/EmptyState.tsx +19 -0
- datacoolie_studio-0.1.1/frontend/src/shared/components/OperationConfirmationDialog.tsx +109 -0
- datacoolie_studio-0.1.1/frontend/src/shared/components/OperationNotification.tsx +30 -0
- datacoolie_studio-0.1.1/frontend/src/shared/components/RelativeTime.tsx +39 -0
- datacoolie_studio-0.1.1/frontend/src/shared/components/StatusPill.tsx +17 -0
- datacoolie_studio-0.1.1/frontend/src/shared/components/StorageProviderIcon.tsx +30 -0
- datacoolie_studio-0.1.1/frontend/src/shared/components/Tag.tsx +13 -0
- datacoolie_studio-0.1.1/frontend/src/shared/components/Toggle.tsx +28 -0
- datacoolie_studio-0.1.1/frontend/src/shared/data/queryClient.ts +12 -0
- datacoolie_studio-0.1.1/frontend/src/shared/data/resourceCache.test.ts +72 -0
- datacoolie_studio-0.1.1/frontend/src/shared/data/resourceCache.ts +111 -0
- datacoolie_studio-0.1.1/frontend/src/shared/environmentOrder.test.ts +13 -0
- datacoolie_studio-0.1.1/frontend/src/shared/environmentOrder.ts +27 -0
- datacoolie_studio-0.1.1/frontend/src/shared/environmentReadiness.test.ts +35 -0
- datacoolie_studio-0.1.1/frontend/src/shared/environmentReadiness.ts +24 -0
- datacoolie_studio-0.1.1/frontend/src/shared/hooks/useDrawerEscape.ts +19 -0
- datacoolie_studio-0.1.1/frontend/src/shared/lib/errors.test.ts +23 -0
- datacoolie_studio-0.1.1/frontend/src/shared/lib/errors.ts +51 -0
- datacoolie_studio-0.1.1/frontend/src/shared/lib/sources.ts +8 -0
- datacoolie_studio-0.1.1/frontend/src/shared/lineageNavigation.test.ts +17 -0
- datacoolie_studio-0.1.1/frontend/src/shared/lineageNavigation.ts +26 -0
- datacoolie_studio-0.1.1/frontend/src/shared/metadataNavigation.ts +11 -0
- datacoolie_studio-0.1.1/frontend/src/shared/referenceResolutionPresentation.test.ts +15 -0
- datacoolie_studio-0.1.1/frontend/src/shared/referenceResolutionPresentation.ts +32 -0
- datacoolie_studio-0.1.1/frontend/src/shared/statusPresentation.ts +59 -0
- datacoolie_studio-0.1.1/frontend/src/shared/time.test.ts +33 -0
- datacoolie_studio-0.1.1/frontend/src/shared/time.ts +126 -0
- datacoolie_studio-0.1.1/frontend/src/styles/components.css +5314 -0
- datacoolie_studio-0.1.1/frontend/src/styles/tokens.css +114 -0
- datacoolie_studio-0.1.1/frontend/src/styles.css +14053 -0
- datacoolie_studio-0.1.1/frontend/src/vite-env.d.ts +1 -0
- datacoolie_studio-0.1.1/frontend/tsconfig.json +20 -0
- datacoolie_studio-0.1.1/frontend/tsconfig.node.json +12 -0
- datacoolie_studio-0.1.1/frontend/vite.config.ts +28 -0
- datacoolie_studio-0.1.1/openapi/openapi.json +1 -0
- datacoolie_studio-0.1.1/pyproject.toml +97 -0
- datacoolie_studio-0.1.1/scripts/verify.ps1 +53 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/__init__.py +3 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/__main__.py +4 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/api/__init__.py +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/api/v1/__init__.py +3 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/api/v1/contracts/__init__.py +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/api/v1/contracts/assets.py +332 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/api/v1/contracts/credentials.py +47 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/api/v1/contracts/lineage.py +116 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/api/v1/contracts/metadata.py +63 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/api/v1/contracts/modules.py +20 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/api/v1/contracts/monitoring.py +115 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/api/v1/contracts/overview.py +80 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/api/v1/contracts/shared.py +15 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/api/v1/contracts/sources.py +337 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/api/v1/contracts/workspace.py +218 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/api/v1/router.py +26 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/api/v1/routes/__init__.py +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/api/v1/routes/assets.py +192 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/api/v1/routes/credentials.py +158 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/api/v1/routes/lineage.py +20 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/api/v1/routes/metadata.py +241 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/api/v1/routes/modules.py +28 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/api/v1/routes/monitoring.py +348 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/api/v1/routes/overview.py +19 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/api/v1/routes/sources.py +406 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/api/v1/routes/workspace.py +441 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/cli.py +39 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/core/__init__.py +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/core/config.py +92 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/core/identity.py +10 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/core/time.py +28 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/db/__init__.py +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/db/models.py +421 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/db/session.py +913 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/__init__.py +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/analysis/__init__.py +4 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/analysis/models.py +48 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/analysis/python.py +577 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/analysis/service.py +37 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/analysis/sql.py +99 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/analysis/symbols.py +89 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/analytics/__init__.py +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/analytics/access.py +148 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/analytics/connections.py +85 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/analytics/errors.py +26 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/analytics/maintenance.py +169 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/analytics/schema.py +400 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/analytics/serving_facts.py +291 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/analytics/store.py +882 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/assets/__init__.py +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/assets/identifiers.py +194 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/assets/manual_mapping.py +26 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/assets/mapping_target.py +17 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/assets/project_reference_registry.py +286 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/assets/reference_identity.py +166 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/assets/reference_mappings.py +107 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/assets/reference_resolution.py +93 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/assets/reference_source.py +206 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/assets/registry.py +194 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/assets/resolver.py +203 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/assets/service.py +1698 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/cache_admin/__init__.py +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/cache_admin/service.py +169 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/code_artifacts/__init__.py +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/code_artifacts/indexer.py +360 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/code_artifacts/materializer.py +401 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/code_artifacts/service.py +529 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/credentials/__init__.py +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/credentials/health.py +25 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/credentials/service.py +512 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/credentials/store.py +91 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/environment_caches.py +23 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/freshness/service.py +525 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/lineage/__init__.py +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/lineage/graph.py +686 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/lineage/models.py +106 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/lineage/service.py +506 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/logs/__init__.py +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/logs/control.py +126 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/logs/discovery.py +298 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/logs/ingestion.py +1073 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/logs/partition.py +174 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/logs/planner.py +372 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/logs/reader.py +231 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/logs/source_config.py +175 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/logs/system_logs.py +137 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/metadata/__init__.py +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/metadata/editor.py +1739 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/metadata/normalizer.py +350 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/metadata/reader.py +170 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/metadata/service.py +464 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/metadata/storage_io.py +295 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/modules/__init__.py +0 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/modules/catalog.py +72 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/modules/service.py +90 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/monitoring/__init__.py +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/monitoring/context.py +25 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/monitoring/diagnostics_repository.py +827 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/monitoring/log_repository.py +681 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/monitoring/metrics/__init__.py +2 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/monitoring/metrics/common_projections.py +1110 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/monitoring/metrics/diagnostics_projections.py +765 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/monitoring/metrics/failure.py +223 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/monitoring/metrics/failure_taxonomy.py +112 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/monitoring/metrics/failures_projections.py +410 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/monitoring/metrics/freshness_projections.py +740 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/monitoring/metrics/health.py +102 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/monitoring/metrics/maintenance_projections.py +55 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/monitoring/metrics/overview_projections.py +1554 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/monitoring/metrics/performance_projections.py +941 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/monitoring/metrics/volume.py +21 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/monitoring/metrics/volume_projections.py +751 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/monitoring/page_service.py +1276 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/monitoring/query_service.py +339 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/monitoring/read_models/__init__.py +2 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/monitoring/read_models/common.py +217 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/monitoring/read_models/dataflows.py +227 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/monitoring/read_models/duration_distribution.py +291 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/monitoring/read_models/failures.py +346 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/monitoring/read_models/freshness.py +468 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/monitoring/read_models/jobs.py +274 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/monitoring/read_models/maintenance.py +367 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/monitoring/read_models/operation_windows.py +101 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/monitoring/read_models/overview.py +376 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/monitoring/read_models/performance.py +376 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/monitoring/read_models/runtime_phase.py +144 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/monitoring/read_models/volume.py +439 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/monitoring/repository.py +174 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/overview/__init__.py +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/overview/service.py +374 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/read_models/__init__.py +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/read_models/cache.py +135 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/read_models/contracts.py +84 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/read_models/coordinator.py +43 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/read_models/database.py +139 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/read_models/keys.py +8 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/read_models/provider.py +83 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/read_models/sqlite_store.py +419 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/source_observation/__init__.py +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/source_observation/contracts.py +31 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/source_observation/repository.py +431 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/sources/__init__.py +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/sources/discovery.py +382 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/sources/initialization.py +331 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/sources/registration.py +198 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/sources/scan_policy.py +18 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/sources/service.py +344 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/sources/storage_binding.py +175 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/storage/__init__.py +19 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/storage/adapters.py +232 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/storage/binding.py +131 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/storage/concurrency.py +73 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/storage/dbfs_adapter.py +391 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/storage/errors.py +48 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/storage/factory.py +612 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/storage/fsspec_adapter.py +298 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/storage/inventory.py +68 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/storage/onelake_adapter.py +385 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/storage/redaction.py +51 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/storage/uri.py +405 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/storage/writers.py +207 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/studio_settings/__init__.py +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/studio_settings/service.py +377 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/sync/__init__.py +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/sync/scheduler.py +437 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/sync/service.py +479 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/workspace/__init__.py +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/domains/workspace/service.py +1811 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/main.py +99 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/openapi_export.py +61 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/AssetsView-vCuWkfcX.js +6 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/DataflowDetails-OjA7gsqR.js +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/DataflowsPage-DK1QOX26.js +2 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/DiagnosticsDetails-RxPFL4ym.js +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/DiagnosticsPage-Bf1NIOu2.js +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/FailurePage-2Eyc15EZ.js +6 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/FreshnessDetails-9M4X_DOi.js +4 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/FreshnessPage-BHNnIaqW.js +3 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/JobDetails-Bv53Hr_S.js +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/JobsPage-C_cdRY9h.js +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/LineageFormatIcon-rLhTbw0T.js +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/LineageView-Cwsm7vjw.js +7 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/MaintenanceDetails-C8Jc-b5D.js +6 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/MaintenancePage-3uGAkMo8.js +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/MetadataExplorer-V0caV9sd.css +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/MetadataExplorer-bSRRT0Ll.js +9 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/MetadataSourceSaveConfirmationDialog-C8ZJ_2e_.js +14 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/MonitoringCharts-CC7OCgoF.js +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/MonitoringDetailDrawer-4LvsRNks.js +3 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/MonitoringOverviewPage-QNCgxUIA.js +5 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/MonitoringView-D6MEWL63.css +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/MonitoringView-NoOUDiVg.js +2 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/OverviewPage-C0WSHYro.js +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/PerformancePage-CdNK9Bca.js +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/ProjectDetailPage-C6w9UsTz.css +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/ProjectDetailPage-DLdKfKNB.js +2 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/ProjectReferenceMappingsPage-BJspA7j8.css +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/ProjectReferenceMappingsPage-dhSnHFg0.js +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/ProjectsPage-DNLsEiIv.js +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/ProjectsPage-vdpfip9H.css +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/ReferenceMappingClearAction-C6LQUfuf.js +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/SettingsPage-ZGvDgc9e.css +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/SettingsPage-k_vDsGD4.js +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/VolumeDetails-wMWIvHNh.js +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/VolumePage-C8y6Frcb.js +2 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/apache-iceberg-R2p7bF3B.png +0 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/arrow-right-aQ3DmqkS.js +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/assetsQueries-DFUOUzAA.css +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/assetsQueries-ZtkHjUST.js +4 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/briefcase-business-DLf18_Wp.js +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/check-CSpsDKPU.js +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/clock-3-CA9klMyv.js +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/copy-CWqWXEY7.js +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/createLucideIcon-BhqHmOOf.js +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/csv-C4NWHdH_.png +0 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/datacoolie-icon-circle-dark_512x512-DwVkWtvb.png +0 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/delta-lake-BRtZiC8P.svg +3 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/detailPrimitives-Cv9964IQ.js +7 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/diagnosticsPresentation-BKNgfDsk.js +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/elk-worker.min-CGXVyog-.js +22 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/environmentOrder-3LYM9lXF.js +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/filter-x-CKvm18zY.js +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/index-DA9YUC7H.css +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/index-I7fwgNxR.js +9 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/layers-dGVk40Sl.js +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/maintenancePresentation-CDQkWMeT.js +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/monitoringPrimitives-BeOZ1vCB.js +7 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/presentation-CcKn-X3g.js +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/python-function-UdGeVhw2.png +0 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/referenceResolutionPresentation-dqKWf8rz.js +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/rolldown-runtime-CMxvf4Kt.js +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/vendor-echarts~FreshnessPage~MaintenancePage~VolumePage~PerformancePage~DiagnosticsPage~Fai~fa3hdhun-BhjplSoL.js +18 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/workflow-DUl94VGi.js +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/assets/wrap-text-Dh2kbzwR.js +1 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/favicon.png +0 -0
- datacoolie_studio-0.1.1/src/datacoolie_studio/static/index.html +16 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-05-08/dataflow_20260508_022728_1_0_4da68a7f-7169-4936-8215-5c37baad4c98.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-22/dataflow_20260722_030247_1_0_37aff189-a4c7-4f08-9a65-7138651a6e04.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-22/dataflow_20260722_030249_1_0_a6d06e57-c305-47de-a0c7-a8de9cf06f9d.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-22/dataflow_20260722_030430_1_0_ce0a7f87-3073-4db6-9ba8-c7d2b4892d29.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-22/dataflow_20260722_030444_1_0_c35e1994-dcbf-4f0a-8f8e-0cec95ddfed4.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-22/dataflow_20260722_030457_1_0_20ef6885-106b-4b34-8468-0b88fc940cb0.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-22/dataflow_20260722_031309_1_0_09a1110d-93e9-4043-b4fd-ee9933bad244.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-22/dataflow_20260722_031326_1_0_e3505cd6-b651-4fdf-8fef-8c67cb4dc778.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-22/dataflow_20260722_031345_1_0_80fe01fd-968a-45e6-b24b-fd1de1523ac6.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-22/dataflow_20260722_031345_1_0_c3eecf98-325b-4da4-9144-3be8b74f18e9.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-22/dataflow_20260722_031405_1_0_1350c3ad-3268-4f01-aa61-6a36a7a3e6a1.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-22/dataflow_20260722_032155_1_0_8ba79dff-196e-45a0-bcf4-9ff76fd2221d.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-22/dataflow_20260722_032516_1_0_93939ff8-7167-4d51-84a9-9f5aba2edab8.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-22/dataflow_20260722_033028_1_0_36fff800-dffe-4b79-a0d9-e0f43f55e5af.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-22/dataflow_20260722_033031_1_0_b972132c-0b67-49b7-910b-96955732f32e.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-22/dataflow_20260722_033227_1_0_143545e6-1527-4f4c-af67-41d573fc4217.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-22/dataflow_20260722_033548_1_0_8325f17d-2d76-4530-9d82-54df30be7210.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-22/dataflow_20260722_033757_1_0_30b1a650-858c-4600-9ace-069d5565d2f6.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-22/dataflow_20260722_091857_1_0_91747360-90ca-4d4f-8911-55ecd87a6998.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-22/dataflow_20260722_091859_1_0_e0cb45d4-43b1-44bb-a0c4-737be761e44a.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-22/dataflow_20260722_092038_1_0_9fe94314-3caa-4cb2-a7be-3c797fce37dd.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-22/dataflow_20260722_092052_1_0_919d324d-8e0f-41bd-ae4e-6245a5131874.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-22/dataflow_20260722_092105_1_0_b50e14a6-5f0f-48ab-b8ed-847c9eb2b8d4.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-22/dataflow_20260722_092837_1_0_75710843-c3bf-46dc-b3f7-c74c7f335c87.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-22/dataflow_20260722_092921_1_0_2daa990c-228d-43b2-934b-c3258c4f8384.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-22/dataflow_20260722_092937_1_0_514ac672-8395-468c-a073-370946aa2cd8.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-22/dataflow_20260722_092949_1_0_0618673e-bb7b-410d-aea3-50e55d84ab90.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-22/dataflow_20260722_093002_1_0_766644b3-5040-4334-b73a-f4ba2ae3e107.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-22/dataflow_20260722_093749_1_0_0a59d8c7-5874-4237-910c-a0f9b04361ec.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-22/dataflow_20260722_093832_1_0_c5b52f22-a58f-4565-ba7b-e40fc1cc43d0.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-22/dataflow_20260722_094621_1_0_7e37f42b-7a99-4d1f-9e22-ee79d64d6667.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-22/dataflow_20260722_094652_1_0_1723f9d2-516f-41f2-a4de-c898e398d9a9.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-22/dataflow_20260722_094655_1_0_2c116e7e-b0ce-4602-b77e-096be19eabee.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-22/dataflow_20260722_095137_1_0_bc97e135-1ea5-4b02-a48f-716669342335.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-22/dataflow_20260722_095328_1_0_04841200-8019-4ef4-9aa1-cf64fe3db1ed.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-22/dataflow_20260722_130335_1_0_e0a32663-a90a-4408-8057-429a9a449183.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-28/dataflow_20260728_073655_1_0_90fa62fd-12e2-4d31-9746-5fa6e201bacd.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-28/dataflow_20260728_073658_1_0_5942ba3d-6acd-44c7-ab3c-7012a7be015d.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-28/dataflow_20260728_073922_1_0_9ed8c926-19f2-44e4-b4ae-a95b490197c2.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-28/dataflow_20260728_073945_1_0_9880d919-0e08-4265-a30b-baeba1e27982.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-28/dataflow_20260728_074003_1_0_80295cd6-7181-4537-9a39-58f19e791996.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-28/dataflow_20260728_074734_1_0_c5e52bbc-c04b-42bf-9a83-f5184d92fba2.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-28/dataflow_20260728_075002_1_0_cad96b9f-a4fa-435e-9f0c-7519b27f0466.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-28/dataflow_20260728_075031_1_0_aecb5295-71aa-4990-b6a6-5089244700a8.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-28/dataflow_20260728_075101_1_0_9a0d650f-7af2-4fbb-89fc-49f41f9dca39.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-28/dataflow_20260728_075131_1_0_c3ddfed8-b95e-4306-8037-01cd561dd4ee.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-28/dataflow_20260728_075905_1_0_6b064b32-3a67-49e0-b5ff-232993a7c757.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-28/dataflow_20260728_080126_1_0_b8358dbf-dd37-43c2-9542-7766ecdbc0de.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-28/dataflow_20260728_080857_1_0_52f26334-4f90-4ee8-9c9e-941638051733.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-28/dataflow_20260728_081058_1_0_c7477bc7-45ce-4dee-8f23-dee48ad72a9e.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-28/dataflow_20260728_081102_1_0_7d38f562-84a3-4e1c-8fa0-e62ba4abb5af.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-28/dataflow_20260728_081636_1_0_a4317c1c-705a-44e0-8fd1-3dbd18342659.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/dataflow_run_log/__run_date=2026-07-28/dataflow_20260728_081835_1_0_a36b2628-cad0-4f49-8e48-36a733d77081.parquet +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/job_run_log/__run_date=2026-05-08/job_run_log.jsonl +1 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/job_run_log/__run_date=2026-07-22/job_run_log_20260722.jsonl +35 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/logs/etl_logs/analyst/job_run_log/__run_date=2026-07-28/job_run_log_20260728.jsonl +17 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/metadata/file/local_use_cases.json +3457 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/metadata/file/local_use_cases.xlsx +0 -0
- datacoolie_studio-0.1.1/tests/fixtures/datacoolie/usecase-sim/metadata/file/local_use_cases.yaml +2438 -0
- datacoolie_studio-0.1.1/tests/test_api.py +2389 -0
- datacoolie_studio-0.1.1/tests/test_architecture_boundaries.py +50 -0
- datacoolie_studio-0.1.1/tests/test_assets.py +499 -0
- datacoolie_studio-0.1.1/tests/test_cache_admin.py +366 -0
- datacoolie_studio-0.1.1/tests/test_code_artifacts.py +599 -0
- datacoolie_studio-0.1.1/tests/test_config.py +44 -0
- datacoolie_studio-0.1.1/tests/test_credentials_api.py +132 -0
- datacoolie_studio-0.1.1/tests/test_credentials_service.py +382 -0
- datacoolie_studio-0.1.1/tests/test_lineage_cache.py +194 -0
- datacoolie_studio-0.1.1/tests/test_log_discovery.py +375 -0
- datacoolie_studio-0.1.1/tests/test_log_ingestion.py +601 -0
- datacoolie_studio-0.1.1/tests/test_log_source_config.py +50 -0
- datacoolie_studio-0.1.1/tests/test_logs.py +2088 -0
- datacoolie_studio-0.1.1/tests/test_main.py +78 -0
- datacoolie_studio-0.1.1/tests/test_materialization_migration.py +80 -0
- datacoolie_studio-0.1.1/tests/test_metadata_cloud_storage.py +352 -0
- datacoolie_studio-0.1.1/tests/test_metadata_editor.py +720 -0
- datacoolie_studio-0.1.1/tests/test_metadata_lineage.py +1069 -0
- datacoolie_studio-0.1.1/tests/test_modules.py +49 -0
- datacoolie_studio-0.1.1/tests/test_monitoring_benchmark.py +80 -0
- datacoolie_studio-0.1.1/tests/test_monitoring_diagnostics_sql.py +72 -0
- datacoolie_studio-0.1.1/tests/test_monitoring_duration_distribution.py +178 -0
- datacoolie_studio-0.1.1/tests/test_monitoring_read_models.py +828 -0
- datacoolie_studio-0.1.1/tests/test_monitoring_serving_facts.py +153 -0
- datacoolie_studio-0.1.1/tests/test_onelake_live.py +51 -0
- datacoolie_studio-0.1.1/tests/test_openapi_export.py +27 -0
- datacoolie_studio-0.1.1/tests/test_projects.py +178 -0
- datacoolie_studio-0.1.1/tests/test_reference_resolution.py +159 -0
- datacoolie_studio-0.1.1/tests/test_result_cache.py +252 -0
- datacoolie_studio-0.1.1/tests/test_source_storage_api.py +602 -0
- datacoolie_studio-0.1.1/tests/test_static_analysis.py +374 -0
- datacoolie_studio-0.1.1/tests/test_storage_concurrency.py +99 -0
- datacoolie_studio-0.1.1/tests/test_storage_contracts.py +1292 -0
- datacoolie_studio-0.1.1/tests/test_storage_migration.py +264 -0
- datacoolie_studio-0.1.1/tests/test_studio_settings.py +183 -0
- datacoolie_studio-0.1.1/tests/test_sync_retention.py +158 -0
- datacoolie_studio-0.1.1/tests/test_sync_scheduler.py +418 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
name: ci
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
tags: ["v*"]
|
|
7
|
+
pull_request:
|
|
8
|
+
|
|
9
|
+
permissions:
|
|
10
|
+
contents: read
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
validate:
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
timeout-minutes: 30
|
|
16
|
+
steps:
|
|
17
|
+
- uses: actions/checkout@v4
|
|
18
|
+
|
|
19
|
+
- uses: actions/setup-python@v5
|
|
20
|
+
with:
|
|
21
|
+
python-version: "3.11"
|
|
22
|
+
cache: pip
|
|
23
|
+
cache-dependency-path: pyproject.toml
|
|
24
|
+
|
|
25
|
+
- uses: actions/setup-node@v4
|
|
26
|
+
with:
|
|
27
|
+
node-version: "22"
|
|
28
|
+
cache: npm
|
|
29
|
+
cache-dependency-path: frontend/package-lock.json
|
|
30
|
+
|
|
31
|
+
- name: Install Python dependencies
|
|
32
|
+
run: python -m pip install --upgrade "pip>=24" ".[dev,cloud]"
|
|
33
|
+
|
|
34
|
+
- name: Install frontend dependencies
|
|
35
|
+
working-directory: frontend
|
|
36
|
+
run: npm ci
|
|
37
|
+
|
|
38
|
+
- name: Run backend tests
|
|
39
|
+
run: python -m pytest
|
|
40
|
+
|
|
41
|
+
- name: Check OpenAPI contract
|
|
42
|
+
run: python -m datacoolie_studio.openapi_export --check
|
|
43
|
+
|
|
44
|
+
- name: Check generated frontend API types
|
|
45
|
+
working-directory: frontend
|
|
46
|
+
run: npm run api:check
|
|
47
|
+
|
|
48
|
+
- name: Run frontend tests
|
|
49
|
+
working-directory: frontend
|
|
50
|
+
run: npm test
|
|
51
|
+
|
|
52
|
+
- name: Build frontend
|
|
53
|
+
working-directory: frontend
|
|
54
|
+
run: npm run build
|
|
55
|
+
|
|
56
|
+
- name: Audit frontend dependencies
|
|
57
|
+
working-directory: frontend
|
|
58
|
+
run: npm audit --audit-level=high
|
|
59
|
+
|
|
60
|
+
- name: Build distributions
|
|
61
|
+
run: python -m build
|
|
62
|
+
|
|
63
|
+
- name: Check distributions
|
|
64
|
+
run: python -m twine check dist/*
|
|
65
|
+
|
|
66
|
+
- name: Smoke-test the built wheel
|
|
67
|
+
run: |
|
|
68
|
+
python -m venv /tmp/datacoolie-studio-wheel
|
|
69
|
+
/tmp/datacoolie-studio-wheel/bin/python -m pip install dist/*.whl
|
|
70
|
+
/tmp/datacoolie-studio-wheel/bin/datacoolie-studio --help
|
|
71
|
+
|
|
72
|
+
- name: Upload distributions
|
|
73
|
+
uses: actions/upload-artifact@v4
|
|
74
|
+
with:
|
|
75
|
+
name: python-distributions
|
|
76
|
+
path: dist/
|
|
77
|
+
if-no-files-found: error
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
name: publish-pypi
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags: ["v*"]
|
|
6
|
+
|
|
7
|
+
permissions:
|
|
8
|
+
contents: read
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
publish:
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
environment:
|
|
14
|
+
name: pypi
|
|
15
|
+
url: https://pypi.org/project/datacoolie-studio/
|
|
16
|
+
permissions:
|
|
17
|
+
id-token: write
|
|
18
|
+
steps:
|
|
19
|
+
- uses: actions/checkout@v4
|
|
20
|
+
|
|
21
|
+
- uses: actions/setup-python@v5
|
|
22
|
+
with:
|
|
23
|
+
python-version: "3.11"
|
|
24
|
+
cache: pip
|
|
25
|
+
cache-dependency-path: pyproject.toml
|
|
26
|
+
|
|
27
|
+
- uses: actions/setup-node@v4
|
|
28
|
+
with:
|
|
29
|
+
node-version: "22"
|
|
30
|
+
cache: npm
|
|
31
|
+
cache-dependency-path: frontend/package-lock.json
|
|
32
|
+
|
|
33
|
+
- name: Verify release tag matches package version
|
|
34
|
+
env:
|
|
35
|
+
GITHUB_REF_NAME: ${{ github.ref_name }}
|
|
36
|
+
run: |
|
|
37
|
+
python - <<'PY'
|
|
38
|
+
import os
|
|
39
|
+
import tomllib
|
|
40
|
+
|
|
41
|
+
with open("pyproject.toml", "rb") as file:
|
|
42
|
+
version = tomllib.load(file)["project"]["version"]
|
|
43
|
+
expected_tag = f"v{version}"
|
|
44
|
+
actual_tag = os.environ["GITHUB_REF_NAME"]
|
|
45
|
+
if actual_tag != expected_tag:
|
|
46
|
+
raise SystemExit(
|
|
47
|
+
f"Tag {actual_tag!r} does not match package version {expected_tag!r}."
|
|
48
|
+
)
|
|
49
|
+
PY
|
|
50
|
+
|
|
51
|
+
- name: Install Python dependencies
|
|
52
|
+
run: python -m pip install --upgrade "pip>=24" ".[dev,cloud]"
|
|
53
|
+
|
|
54
|
+
- name: Install frontend dependencies
|
|
55
|
+
working-directory: frontend
|
|
56
|
+
run: npm ci
|
|
57
|
+
|
|
58
|
+
- name: Run backend tests
|
|
59
|
+
run: python -m pytest
|
|
60
|
+
|
|
61
|
+
- name: Check OpenAPI contract
|
|
62
|
+
run: python -m datacoolie_studio.openapi_export --check
|
|
63
|
+
|
|
64
|
+
- name: Check generated frontend API types
|
|
65
|
+
working-directory: frontend
|
|
66
|
+
run: npm run api:check
|
|
67
|
+
|
|
68
|
+
- name: Run frontend tests
|
|
69
|
+
working-directory: frontend
|
|
70
|
+
run: npm test
|
|
71
|
+
|
|
72
|
+
- name: Build frontend
|
|
73
|
+
working-directory: frontend
|
|
74
|
+
run: npm run build
|
|
75
|
+
|
|
76
|
+
- name: Audit frontend dependencies
|
|
77
|
+
working-directory: frontend
|
|
78
|
+
run: npm audit --audit-level=high
|
|
79
|
+
|
|
80
|
+
- name: Build distributions
|
|
81
|
+
run: python -m build
|
|
82
|
+
|
|
83
|
+
- name: Check distributions
|
|
84
|
+
run: python -m twine check dist/*
|
|
85
|
+
|
|
86
|
+
- name: Publish to PyPI
|
|
87
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
name: release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags: ["v*"]
|
|
6
|
+
|
|
7
|
+
permissions:
|
|
8
|
+
contents: write
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
github-release:
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
steps:
|
|
14
|
+
- name: Create GitHub Release
|
|
15
|
+
uses: softprops/action-gh-release@v2
|
|
16
|
+
with:
|
|
17
|
+
name: ${{ github.ref_name }}
|
|
18
|
+
generate_release_notes: true
|
|
19
|
+
make_latest: true
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
__pycache__/
|
|
2
|
+
*.py[cod]
|
|
3
|
+
*.db
|
|
4
|
+
*.db-shm
|
|
5
|
+
*.db-wal
|
|
6
|
+
.datacoolie-studio/
|
|
7
|
+
.pytest_cache/
|
|
8
|
+
.venv/
|
|
9
|
+
dist/
|
|
10
|
+
build/
|
|
11
|
+
node_modules/
|
|
12
|
+
frontend/dist/
|
|
13
|
+
*.tsbuildinfo
|
|
14
|
+
frontend/vite.config.js
|
|
15
|
+
frontend/vite.config.d.ts
|
|
16
|
+
skills-lock.json
|
|
17
|
+
.agents/
|
|
18
|
+
.ruff_cache/
|
|
19
|
+
.scratch/
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# AGENTS.md
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
This file gives AI runners a compact operating guide for working in this
|
|
6
|
+
workspace.
|
|
7
|
+
|
|
8
|
+
Keep runtime guidance small, practical, and verifiable. Prefer reading the
|
|
9
|
+
smallest useful context over loading everything.
|
|
10
|
+
|
|
11
|
+
## Required Reading
|
|
12
|
+
|
|
13
|
+
Before planning or implementation:
|
|
14
|
+
|
|
15
|
+
1. `README.md`
|
|
16
|
+
2. This `AGENTS.md`
|
|
17
|
+
3. The smallest relevant skill from `.agents/skills/`
|
|
18
|
+
4. The smallest relevant global instruction from `../instructions/`
|
|
19
|
+
|
|
20
|
+
Do not bulk-load all skills, instructions, plans, or source files by default.
|
|
21
|
+
|
|
22
|
+
## Skill Usage
|
|
23
|
+
|
|
24
|
+
Project-local skills live in:
|
|
25
|
+
|
|
26
|
+
```text
|
|
27
|
+
.agents/skills/
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Use a local skill when it directly matches the task:
|
|
31
|
+
|
|
32
|
+
| Task type | Prefer |
|
|
33
|
+
|---|---|
|
|
34
|
+
| Browser automation, UI smoke tests, screenshots, interactive verification | `agent-browser` |
|
|
35
|
+
| Frontend UI, layout, visual polish | `frontend-design` |
|
|
36
|
+
| UX workflow, information architecture, screen density | `ui-ux-pro-max` |
|
|
37
|
+
| React/Vite implementation patterns | `vercel-react-best-practices` |
|
|
38
|
+
| Web visual design guidelines | `web-design-guidelines` |
|
|
39
|
+
| View transitions or route animation | `vercel-react-view-transitions` |
|
|
40
|
+
| User-facing wording or documentation copy | `writing-guidelines` |
|
|
41
|
+
| React Native work | `vercel-react-native-skills` |
|
|
42
|
+
| Playwright CLI for testing (can use playwright mcp) | `playwright-cli` |
|
|
43
|
+
|
|
44
|
+
Skill rules:
|
|
45
|
+
|
|
46
|
+
- Read only the relevant `SKILL.md`.
|
|
47
|
+
- Resolve relative paths from the skill folder.
|
|
48
|
+
- Use skills as focused guidance, not as a replacement for repo instructions.
|
|
49
|
+
- If multiple skills apply, use the smallest set that covers the task.
|
|
50
|
+
- State which skill is being used when it affects implementation choices.
|
|
51
|
+
- Use `agent-browser` for browser-based verification only when a rendered UI check is needed; do not replace unit tests or builds with screenshots alone.
|
|
52
|
+
|
|
53
|
+
## Working Principles
|
|
54
|
+
|
|
55
|
+
- Start by understanding the current code and existing patterns.
|
|
56
|
+
- Preserve user changes. Do not revert unrelated edits.
|
|
57
|
+
- Make direct edits to source files; do not create side-by-side replacement files.
|
|
58
|
+
- Keep changes scoped to the requested behavior.
|
|
59
|
+
- Prefer clear contracts and simple module boundaries over speculative abstractions.
|
|
60
|
+
- Keep business logic out of presentation code and route glue.
|
|
61
|
+
- Keep UI behavior, API contracts, and persistence concerns separated.
|
|
62
|
+
- Do not store secrets, credentials, tokens, or private data in source, docs, tests, or local config examples.
|
|
63
|
+
- Do not perform destructive filesystem, git, database, or cloud operations without explicit approval.
|
|
64
|
+
|
|
65
|
+
## Backend Rules
|
|
66
|
+
|
|
67
|
+
- Keep API routes thin.
|
|
68
|
+
- Put request and response contracts in versioned API schema modules.
|
|
69
|
+
- Put domain behavior in domain services or focused helpers.
|
|
70
|
+
- Keep persistence concerns in database/session/repository-style modules.
|
|
71
|
+
- Version public API paths.
|
|
72
|
+
- Do not add backward-compatible aliases unless the user explicitly requests them.
|
|
73
|
+
- Make local services bind to loopback by default unless the user explicitly changes the exposure model.
|
|
74
|
+
|
|
75
|
+
## Frontend Rules
|
|
76
|
+
|
|
77
|
+
- Use the existing frontend framework and component patterns.
|
|
78
|
+
- Keep feature code grouped by feature.
|
|
79
|
+
- Keep shared clients, shared types, and reusable components in shared modules.
|
|
80
|
+
- Use a single shared API client instead of scattering `fetch` calls.
|
|
81
|
+
- Keep operational apps task-focused and dense enough for repeated use.
|
|
82
|
+
- Avoid marketing-page structure unless the user explicitly asks for it.
|
|
83
|
+
- Verify responsive behavior when layout, navigation, or major visual structure changes.
|
|
84
|
+
- For data tables, prefer a shared table contract: columns are sortable when meaningful, columns are resizable after initial render, initial widths auto-fit content except explicitly fixed/default-width columns, vertical overflow stays inside the table visual, and horizontal scrolling sits at the bottom of the visual when rows are few.
|
|
85
|
+
- Table visual row density must come from shared table tokens/components, not one-off per-page padding. Override only by changing the shared density variables for a justified special case such as a drawer table.
|
|
86
|
+
- In data tables, long text/message columns are filled last: first auto-fit short/value columns and honor the long-text column minimum width; if the table still has spare width, expand the long-text/message column to fill the visual without creating horizontal scrolling. Use ellipsis/tooltip inside that column instead of forcing other columns wider.
|
|
87
|
+
- Timestamp columns should fit the formatted timestamp instead of absorbing spare table width. Horizontal scrolling is acceptable when the table has more meaningful columns than the visual can fit; do not distort short/value columns just to avoid every possible scroll case.
|
|
88
|
+
- For horizontal bar charts, show up to 8 bars by default; use vertical chart scrolling/dataZoom when there are more than 8 bars; keep the dimension label column width fixed while scrolling so the plot area does not resize; show tooltips only when hovering a bar value, not the whole category row; and let bar height auto-fit the available space when there are fewer than 8 bars.
|
|
89
|
+
- For report chart data labels, show labels opportunistically: show a value only when the mark has enough visual space, otherwise omit it. For stacked bars, require enough share within the stack and enough visible axis height/width before showing an inside label; inside labels should use white text. For labels outside bars, reserve chart headroom so labels are not clipped and use normal report text color instead of muted text.
|
|
90
|
+
|
|
91
|
+
## Web App Rules
|
|
92
|
+
|
|
93
|
+
- Keep local-first workflows easy to run.
|
|
94
|
+
- Keep frontend build output and backend static serving behavior aligned.
|
|
95
|
+
- After frontend source changes, rebuild static assets when the backend serves the built app.
|
|
96
|
+
- Keep development and packaged/local runtime paths clearly separated.
|
|
97
|
+
- Prefer explicit commands and checked outputs over assumptions.
|
|
98
|
+
|
|
99
|
+
## Verification
|
|
100
|
+
|
|
101
|
+
Choose checks based on the files changed:
|
|
102
|
+
|
|
103
|
+
| Change type | Minimum check |
|
|
104
|
+
|---|---|
|
|
105
|
+
| Text-only edit or simple low-risk fix | No test required; review the changed file or run a lightweight targeted check only when useful |
|
|
106
|
+
| Backend behavior | Targeted tests or direct API execution |
|
|
107
|
+
| Frontend behavior | Typecheck/build and a relevant UI smoke check |
|
|
108
|
+
| API contract | Backend test plus frontend client/build check |
|
|
109
|
+
| Static packaging | Build frontend and verify package/static output |
|
|
110
|
+
| Docs only | Review against current source paths and shipped behavior |
|
|
111
|
+
|
|
112
|
+
Do not claim completion without checked evidence.
|
|
113
|
+
|
|
114
|
+
## Reporting
|
|
115
|
+
|
|
116
|
+
Final reports should include:
|
|
117
|
+
|
|
118
|
+
- What changed.
|
|
119
|
+
- Verification performed.
|
|
120
|
+
- Known risks or skipped checks.
|
|
121
|
+
- Unresolved questions, if any.
|
|
122
|
+
|
|
123
|
+
Keep reports concise and factual.
|