LICENCE
README.md
pyproject.toml
src/topicgate/__init__.py
src/topicgate/__main__.py
src/topicgate/paths.py
src/topicgate.egg-info/PKG-INFO
src/topicgate.egg-info/SOURCES.txt
src/topicgate.egg-info/dependency_links.txt
src/topicgate.egg-info/entry_points.txt
src/topicgate.egg-info/requires.txt
src/topicgate.egg-info/top_level.txt
src/topicgate/app/__init__.py
src/topicgate/app/app_dependencies.py
src/topicgate/app/broker_runtime_state.py
src/topicgate/app/topicgate_runtime.py
src/topicgate/app/models/__init__.py
src/topicgate/app/models/broker_snapshot.py
src/topicgate/app/models/mcp_setup.py
src/topicgate/app/services/__init__.py
src/topicgate/app/services/broker_profile_service.py
src/topicgate/app/services/broker_resolver.py
src/topicgate/app/services/broker_snapshot_service.py
src/topicgate/app/services/control_operation_service.py
src/topicgate/app/services/mcp_setup_service.py
src/topicgate/app/services/observation_cache_service.py
src/topicgate/app/services/observation_retention_policy_service.py
src/topicgate/app/services/persistence_lifecycle.py
src/topicgate/app/services/service_container.py
src/topicgate/app/services/service_item.py
src/topicgate/assets/icon.png
src/topicgate/assets/icon.svg
src/topicgate/core/__init__.py
src/topicgate/core/mqtt_topics.py
src/topicgate/core/observer_limits.py
src/topicgate/core/payload_limits.py
src/topicgate/core/config/__init__.py
src/topicgate/core/config/app_config.py
src/topicgate/core/config/mqtt_config.py
src/topicgate/core/interfaces/__init__.py
src/topicgate/core/interfaces/broker_profile_store.py
src/topicgate/core/interfaces/mqtt_message_processor.py
src/topicgate/core/interfaces/observer_repository.py
src/topicgate/core/interfaces/topic_message_store.py
src/topicgate/core/models/__init__.py
src/topicgate/core/models/broker_profile.py
src/topicgate/core/models/broker_profile_identity.py
src/topicgate/core/models/broker_summary.py
src/topicgate/core/models/connection_status.py
src/topicgate/core/models/message_filter.py
src/topicgate/core/models/mqtt_message.py
src/topicgate/core/models/mqtt_observation.py
src/topicgate/core/models/mqtt_state.py
src/topicgate/core/models/observation_cache_administration.py
src/topicgate/core/models/observation_deletion_preview.py
src/topicgate/core/models/observation_retention_policy.py
src/topicgate/core/models/observer_model.py
src/topicgate/core/models/observer_workspace.py
src/topicgate/core/models/subscription.py
src/topicgate/core/models/topic_message.py
src/topicgate/gui/__init__.py
src/topicgate/gui/app.py
src/topicgate/gui/broker_state_reader.py
src/topicgate/gui/gui.py
src/topicgate/gui/main_view_model.py
src/topicgate/gui/main_window.py
src/topicgate/gui/observer_state_reader.py
src/topicgate/gui/settings_migration.py
src/topicgate/gui/theme.py
src/topicgate/gui/components/about_dialog.py
src/topicgate/gui/components/add_subscription_dialog.py
src/topicgate/gui/components/application_header.py
src/topicgate/gui/components/broker_settings_dialog.py
src/topicgate/gui/components/connection_controls.py
src/topicgate/gui/components/connection_status.py
src/topicgate/gui/components/log_console.py
src/topicgate/gui/components/mcp_setup_dialog.py
src/topicgate/gui/components/observer_tree.py
src/topicgate/gui/components/onboarding_panel.py
src/topicgate/gui/components/publish_pane.py
src/topicgate/gui/components/snapshot_panel.py
src/topicgate/gui/components/stored_observations_dialog.py
src/topicgate/gui/components/subscription_settings.py
src/topicgate/gui/components/topic_details.py
src/topicgate/gui/components/topic_metadata.py
src/topicgate/gui/components/workspace_pane.py
src/topicgate/infrastructure/__init__.py
src/topicgate/infrastructure/credentials/__init__.py
src/topicgate/infrastructure/credentials/credential_store.py
src/topicgate/infrastructure/credentials/os_credential_store.py
src/topicgate/infrastructure/database/__init__.py
src/topicgate/infrastructure/database/alembic.ini
src/topicgate/infrastructure/database/base.py
src/topicgate/infrastructure/database/database_context.py
src/topicgate/infrastructure/database/migrations.py
src/topicgate/infrastructure/database/alembic/README
src/topicgate/infrastructure/database/alembic/env.py
src/topicgate/infrastructure/database/alembic/script.py.mako
src/topicgate/infrastructure/database/alembic/versions/7c3e9f1a2b4d_add_observation_retention_policy.py
src/topicgate/infrastructure/database/alembic/versions/93fa5748f4b5_initial_revision.py
src/topicgate/infrastructure/database/alembic/versions/b84d61a9c2e7_rename_retention_database_bytes.py
src/topicgate/infrastructure/database/alembic/versions/d2a4c6e8f010_add_control_operation_lease.py
src/topicgate/infrastructure/database/alembic/versions/f1490ca3b908_persist_latest_observed_mqtt_state.py
src/topicgate/infrastructure/database/mappers/broker_profile_mapper.py
src/topicgate/infrastructure/database/mappers/config_mapper.py
src/topicgate/infrastructure/database/mappers/mapper_helper.py
src/topicgate/infrastructure/database/mappers/observation_retention_policy_mapper.py
src/topicgate/infrastructure/database/mappers/observer_workspace_mapper.py
src/topicgate/infrastructure/database/mappers/subscription_mapper.py
src/topicgate/infrastructure/database/mappers/topic_message_mapper.py
src/topicgate/infrastructure/database/models/__init__.py
src/topicgate/infrastructure/database/models/app_config_row.py
src/topicgate/infrastructure/database/models/broker_profile_row.py
src/topicgate/infrastructure/database/models/mqtt_config_row.py
src/topicgate/infrastructure/database/models/mqtt_message_row.py
src/topicgate/infrastructure/database/models/observation_retention_policy_row.py
src/topicgate/infrastructure/database/models/observer_workspace_row.py
src/topicgate/infrastructure/database/models/subscription_row.py
src/topicgate/infrastructure/mqtt/__init__.py
src/topicgate/infrastructure/mqtt/async_callback_bridge.py
src/topicgate/infrastructure/mqtt/mqtt_callbacks.py
src/topicgate/infrastructure/mqtt/mqtt_client.py
src/topicgate/infrastructure/mqtt/mqtt_gate.py
src/topicgate/infrastructure/mqtt/callbacks/__init__.py
src/topicgate/infrastructure/mqtt/callbacks/basic_callbacks.py
src/topicgate/infrastructure/mqtt/callbacks/observer_repository_callbacks.py
src/topicgate/infrastructure/repository/__init__.py
src/topicgate/infrastructure/repository/broker_config_repository.py
src/topicgate/infrastructure/repository/broker_repository.py
src/topicgate/infrastructure/repository/observation_retention_policy_repository.py
src/topicgate/infrastructure/repository/observer_mqtt_repository.py
src/topicgate/infrastructure/repository/subscription_repository.py
src/topicgate/infrastructure/repository/topic_message_repository.py
src/topicgate/mcp/__init__.py
src/topicgate/mcp/capabilities.py
src/topicgate/mcp/instructions.py
src/topicgate/mcp/models.py
src/topicgate/mcp/server.py
src/topicgate/mcp/api/broker_api.py
src/topicgate/mcp/api/connection_api.py
src/topicgate/mcp/api/dashboard_api.py
src/topicgate/mcp/api/dashboard_snapshot.py
src/topicgate/mcp/api/mcp_api.py
src/topicgate/mcp/api/publish_api.py
src/topicgate/mcp/api/snapshot_api.py
src/topicgate/mcp/api/subscription_api.py
src/topicgate/mcp/api/topic_api.py
src/topicgate/mcp/api/preview/dashboard_preview.py
src/topicgate/mcp/middleware/__init__.py
src/topicgate/mcp/middleware/error_handling_middleware.py
src/topicgate/mcp/middleware/logging_middleware.py
src/topicgate/presentation/__init__.py
src/topicgate/presentation/retention_presentation.py
src/topicgate/presentation/snapshot_presentation.py
src/topicgate/presentation/topic_presentation.py
src/topicgate/processors/__init__.py
src/topicgate/processors/observation_retention_processor.py
src/topicgate/processors/observer_model_mqtt_message_processor.py
src/topicgate/processors/observer_model_processor.py
src/topicgate/processors/subscription_manager.py
tests/test_app.py
tests/test_app_dependencies.py
tests/test_async_callback_bridge.py
tests/test_broker_config_repository.py
tests/test_broker_repository_persistence.py
tests/test_broker_resolver.py
tests/test_broker_snapshot_service.py
tests/test_control_operation_service.py
tests/test_dashboard_api.py
tests/test_dashboard_dependencies.py
tests/test_dashboard_preview.py
tests/test_database_migrations.py
tests/test_desktop_snapshot_states.py
tests/test_gui.py
tests/test_main_view_model.py
tests/test_mcp_apis.py
tests/test_mcp_disconnected_startup.py
tests/test_mcp_middleware.py
tests/test_mcp_server_instructions.py
tests/test_mcp_setup_service.py
tests/test_migrate_app_versions.py
tests/test_mqtt_callbacks.py
tests/test_mqtt_client.py
tests/test_mqtt_message_row.py
tests/test_observation_cache_service.py
tests/test_observation_retention_policy.py
tests/test_observation_retention_policy_repository.py
tests/test_observation_retention_policy_service.py
tests/test_observer_model_hydration.py
tests/test_observer_model_processor.py
tests/test_observer_model_service.py
tests/test_observer_repository.py
tests/test_observer_workspace_mapper.py
tests/test_os_credential_store.py
tests/test_paths.py
tests/test_persistence_lifecycle.py
tests/test_plugin_bundle.py
tests/test_retention_administration.py
tests/test_service_container.py
tests/test_settings_migration.py
tests/test_snapshot_mcp_api.py
tests/test_snapshot_presentation.py
tests/test_subscription.py
tests/test_subscription_manager.py
tests/test_subscription_mapper.py
tests/test_subscription_repository.py
tests/test_topic_message_repository.py
tests/test_topic_presentation.py
tests/test_topicgate_runtime.py
tests/test_verify_distribution.py