README.md
pyproject.toml
src/phlo_observatory/Dockerfile
src/phlo_observatory/README.md
src/phlo_observatory/__init__.py
src/phlo_observatory/components.json
src/phlo_observatory/eslint.config.js
src/phlo_observatory/extensions.py
src/phlo_observatory/manifest.py
src/phlo_observatory/observatory_ext.py
src/phlo_observatory/package-lock.json
src/phlo_observatory/package.json
src/phlo_observatory/plugin.py
src/phlo_observatory/prettier.config.js
src/phlo_observatory/service.yaml
src/phlo_observatory/settings.py
src/phlo_observatory/settings_service.py
src/phlo_observatory/tsconfig.json
src/phlo_observatory/vite.config.ts
src/phlo_observatory.egg-info/PKG-INFO
src/phlo_observatory.egg-info/SOURCES.txt
src/phlo_observatory.egg-info/dependency_links.txt
src/phlo_observatory.egg-info/entry_points.txt
src/phlo_observatory.egg-info/requires.txt
src/phlo_observatory.egg-info/top_level.txt
src/phlo_observatory/public/favicon.ico
src/phlo_observatory/public/logo192.png
src/phlo_observatory/public/logo512.png
src/phlo_observatory/public/manifest.json
src/phlo_observatory/public/robots.txt
src/phlo_observatory/public/tanstack-circle-logo.png
src/phlo_observatory/public/tanstack-word-logo-white.svg
src/phlo_observatory/src/logo.svg
src/phlo_observatory/src/routeTree.gen.ts
src/phlo_observatory/src/router.tsx
src/phlo_observatory/src/styles.css
src/phlo_observatory/src/components/AppSidebar.test.ts
src/phlo_observatory/src/components/AppSidebar.tsx
src/phlo_observatory/src/components/CommandPalette.tsx
src/phlo_observatory/src/components/GraphCanvas.tsx
src/phlo_observatory/src/components/NodeInfoPanel.tsx
src/phlo_observatory/src/components/ThemeToggle.tsx
src/phlo_observatory/src/components/data/BookmarkButton.tsx
src/phlo_observatory/src/components/data/BranchSelector.tsx
src/phlo_observatory/src/components/data/DataPreview.tsx
src/phlo_observatory/src/components/data/LogViewer.tsx
src/phlo_observatory/src/components/data/ObservatoryTable.tsx
src/phlo_observatory/src/components/data/QueryEditor.tsx
src/phlo_observatory/src/components/data/QueryResults.tsx
src/phlo_observatory/src/components/data/RowJourney.tsx
src/phlo_observatory/src/components/data/SaveQueryDialog.tsx
src/phlo_observatory/src/components/data/SavedQueriesPanel.tsx
src/phlo_observatory/src/components/data/StageDiff.tsx
src/phlo_observatory/src/components/data/TableBrowserVirtualized.tsx
src/phlo_observatory/src/components/flow/JourneyNode.tsx
src/phlo_observatory/src/components/flow/nodeTypes.ts
src/phlo_observatory/src/components/hub/ServiceCard.tsx
src/phlo_observatory/src/components/provenance/DataJourney.tsx
src/phlo_observatory/src/components/provenance/MaterializationTimeline.tsx
src/phlo_observatory/src/components/ui/badge.tsx
src/phlo_observatory/src/components/ui/breadcrumb.tsx
src/phlo_observatory/src/components/ui/button.tsx
src/phlo_observatory/src/components/ui/card.tsx
src/phlo_observatory/src/components/ui/collapsible.tsx
src/phlo_observatory/src/components/ui/command.tsx
src/phlo_observatory/src/components/ui/dialog.tsx
src/phlo_observatory/src/components/ui/dropdown-menu.tsx
src/phlo_observatory/src/components/ui/input-group.tsx
src/phlo_observatory/src/components/ui/input.tsx
src/phlo_observatory/src/components/ui/label.tsx
src/phlo_observatory/src/components/ui/scroll-area.tsx
src/phlo_observatory/src/components/ui/select.tsx
src/phlo_observatory/src/components/ui/separator.tsx
src/phlo_observatory/src/components/ui/sheet.tsx
src/phlo_observatory/src/components/ui/sidebar.tsx
src/phlo_observatory/src/components/ui/skeleton.tsx
src/phlo_observatory/src/components/ui/table.tsx
src/phlo_observatory/src/components/ui/tabs.tsx
src/phlo_observatory/src/components/ui/textarea.tsx
src/phlo_observatory/src/components/ui/toaster.tsx
src/phlo_observatory/src/components/ui/tooltip.tsx
src/phlo_observatory/src/extensions/registry.tsx
src/phlo_observatory/src/hooks/use-mobile.ts
src/phlo_observatory/src/hooks/use-toast.ts
src/phlo_observatory/src/hooks/useBookmarks.ts
src/phlo_observatory/src/hooks/useObservatorySettings.tsx
src/phlo_observatory/src/hooks/useRealtimePolling.ts
src/phlo_observatory/src/hooks/useSavedQueries.ts
src/phlo_observatory/src/lib/api.ts
src/phlo_observatory/src/lib/observatorySettings.ts
src/phlo_observatory/src/lib/savedQueries.ts
src/phlo_observatory/src/lib/utils.ts
src/phlo_observatory/src/routes/__root.tsx
src/phlo_observatory/src/routes/index.tsx
src/phlo_observatory/src/routes/logs.tsx
src/phlo_observatory/src/routes/settings.tsx
src/phlo_observatory/src/routes/assets/$assetId.tsx
src/phlo_observatory/src/routes/assets/index.tsx
src/phlo_observatory/src/routes/branches/$branchName.tsx
src/phlo_observatory/src/routes/branches/index.tsx
src/phlo_observatory/src/routes/data/$branchName.tsx
src/phlo_observatory/src/routes/data/$schema.$table.tsx
src/phlo_observatory/src/routes/data/index.tsx
src/phlo_observatory/src/routes/data/$branchName/$schema.$table.tsx
src/phlo_observatory/src/routes/data/$branchName/index.tsx
src/phlo_observatory/src/routes/data/$branchName/$schema/$table/$rowId.tsx
src/phlo_observatory/src/routes/extensions/$extensionName.tsx
src/phlo_observatory/src/routes/graph/index.tsx
src/phlo_observatory/src/routes/hub/index.tsx
src/phlo_observatory/src/routes/hub/plugins.tsx
src/phlo_observatory/src/routes/quality/index.tsx
src/phlo_observatory/src/server/auth.server.ts
src/phlo_observatory/src/server/cache.server.ts
src/phlo_observatory/src/server/cache.test.ts
src/phlo_observatory/src/server/cache.ts
src/phlo_observatory/src/server/contributing.server.test.ts
src/phlo_observatory/src/server/contributing.server.ts
src/phlo_observatory/src/server/dagster.server.ts
src/phlo_observatory/src/server/diff.server.ts
src/phlo_observatory/src/server/docker-labels.test.ts
src/phlo_observatory/src/server/docker-labels.ts
src/phlo_observatory/src/server/extension-settings.server.ts
src/phlo_observatory/src/server/extensions.server.ts
src/phlo_observatory/src/server/graph.server.ts
src/phlo_observatory/src/server/iceberg.server.ts
src/phlo_observatory/src/server/lineage.server.ts
src/phlo_observatory/src/server/logger.server.ts
src/phlo_observatory/src/server/loki.server.test.ts
src/phlo_observatory/src/server/loki.server.ts
src/phlo_observatory/src/server/maintenance.server.ts
src/phlo_observatory/src/server/nessie.server.ts
src/phlo_observatory/src/server/observatory-settings.server.ts
src/phlo_observatory/src/server/phlo-api.ts
src/phlo_observatory/src/server/plugins.server.test.ts
src/phlo_observatory/src/server/plugins.server.ts
src/phlo_observatory/src/server/quality.dagster.test.ts
src/phlo_observatory/src/server/quality.dagster.ts
src/phlo_observatory/src/server/quality.server.ts
src/phlo_observatory/src/server/quality.types.ts
src/phlo_observatory/src/server/queryGuardrails.test.ts
src/phlo_observatory/src/server/queryGuardrails.ts
src/phlo_observatory/src/server/search.server.ts
src/phlo_observatory/src/server/search.types.ts
src/phlo_observatory/src/server/services.server.ts
src/phlo_observatory/src/server/settings.server.ts
src/phlo_observatory/src/server/trino.server.ts
src/phlo_observatory/src/utils/caseTransform.ts
src/phlo_observatory/src/utils/dateFormat.ts
src/phlo_observatory/src/utils/effectiveSettings.ts
src/phlo_observatory/src/utils/sqlIdentifiers.ts
src/phlo_observatory/src/utils/sqlParser.test.ts
src/phlo_observatory/src/utils/sqlParser.ts
tests/test_integration_observatory.py
tests/test_service_runtime_contract.py