pyarchinit-mini 2.4.5__tar.gz → 2.4.7__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.
Files changed (476) hide show
  1. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/CHANGELOG.md +46 -0
  2. {pyarchinit_mini-2.4.5/pyarchinit_mini.egg-info → pyarchinit_mini-2.4.7}/PKG-INFO +1 -1
  3. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/__init__.py +1 -1
  4. pyarchinit_mini-2.4.7/pyarchinit_mini/database/migrations/_2026_05_period_table_schema.py +146 -0
  5. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/database/migrations/__init__.py +6 -0
  6. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/harris_swimlane/swimlane_state.py +90 -1
  7. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/models/harris_matrix.py +26 -8
  8. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7/pyarchinit_mini.egg-info}/PKG-INFO +1 -1
  9. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini.egg-info/SOURCES.txt +1 -0
  10. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyproject.toml +1 -1
  11. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/MANIFEST.in +0 -0
  12. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/README.md +0 -0
  13. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/babel.cfg +0 -0
  14. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/data/media_viewer_demo.db +0 -0
  15. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/data/pyarchinit_mini 2.db +0 -0
  16. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/data/pyarchinit_mini.db +0 -0
  17. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/data/pyarchinit_mini_sample.db +0 -0
  18. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/data/pyarchinit_tutorial.db +0 -0
  19. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/data/pyarchinit_tutorial_backup_20251030_093228.db +0 -0
  20. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/data/pyarchinit_tutorial_clean.db +0 -0
  21. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/data/pyarchinit_tutorial_video.db +0 -0
  22. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/data/pyarchinit_v18_demo.db +0 -0
  23. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/logo/logo_pyarchinit-mini.png +0 -0
  24. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/api/__init__.py +0 -0
  25. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/api/auth.py +0 -0
  26. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/api/dependencies.py +0 -0
  27. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/api/graphml.py +0 -0
  28. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/api/inventario.py +0 -0
  29. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/api/schemas.py +0 -0
  30. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/api/site.py +0 -0
  31. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/api/sync.py +0 -0
  32. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/api/us.py +0 -0
  33. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/cli/__init__.py +0 -0
  34. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/cli/export_import_cli.py +0 -0
  35. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/cli/extended_matrix_import.py +0 -0
  36. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/cli/graphml_cli.py +0 -0
  37. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/cli/harris_import.py +0 -0
  38. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/cli/harris_template.py +0 -0
  39. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/cli/migrate.py +0 -0
  40. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/cli/migrate_vocab.py +0 -0
  41. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/cli/pyarchinit_import_export_cli.py +0 -0
  42. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/cli/sync_cli.py +0 -0
  43. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/cli_interface/__init__.py +0 -0
  44. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/cli_interface/cli_app.py +0 -0
  45. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/config/__init__.py +0 -0
  46. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/config/connection_manager.py +0 -0
  47. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/config/em_node_config_manager.py +0 -0
  48. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/config/em_node_types.yaml +0 -0
  49. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/database/__init__.py +0 -0
  50. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/database/concurrency_manager.py +0 -0
  51. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/database/connection.py +0 -0
  52. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/database/database_creator.py +0 -0
  53. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/database/manager.py +0 -0
  54. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/database/migration_scripts/__init__.py +0 -0
  55. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/database/migration_scripts/add_file_path.py +0 -0
  56. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/database/migration_scripts/add_i18n_columns.py +0 -0
  57. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/database/migration_scripts/add_tipo_documento.py +0 -0
  58. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/database/migration_scripts/change_us_area_to_text.py +0 -0
  59. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/database/migration_scripts/change_us_area_to_text_simple.py +0 -0
  60. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/database/migrations/_2026_05_node_uuid_backfill.py +0 -0
  61. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/database/migrations/_2026_05_node_uuid_schema.py +0 -0
  62. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/database/migrations/_2026_05_vocab_alignment.py +0 -0
  63. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/database/migrations/backup.py +0 -0
  64. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/database/postgres_installer.py +0 -0
  65. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/database/schemas.py +0 -0
  66. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/database/utils.py +0 -0
  67. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/desktop_gui/__init__.py +0 -0
  68. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/desktop_gui/analytics_dialog.py +0 -0
  69. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/desktop_gui/assets/logo.png +0 -0
  70. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/desktop_gui/dialogs.py +0 -0
  71. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/desktop_gui/excel_import_dialog.py +0 -0
  72. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/desktop_gui/export_import_dialog.py +0 -0
  73. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/desktop_gui/graphml_export_dialog.py +0 -0
  74. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/desktop_gui/gui_app.py +0 -0
  75. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/desktop_gui/harris_matrix_editor.py +0 -0
  76. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/desktop_gui/i18n.py +0 -0
  77. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/desktop_gui/icons.py +0 -0
  78. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/desktop_gui/inventario_dialog_extended.py +0 -0
  79. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/desktop_gui/main_window.py +0 -0
  80. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/desktop_gui/media_manager_advanced.py +0 -0
  81. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/desktop_gui/postgres_installer_dialog.py +0 -0
  82. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/desktop_gui/pottery_dialog_extended.py +0 -0
  83. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/desktop_gui/pottery_panel.py +0 -0
  84. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/desktop_gui/pyarchinit_import_export_dialog.py +0 -0
  85. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/desktop_gui/thesaurus_dialog.py +0 -0
  86. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/desktop_gui/us_dialog_extended.py +0 -0
  87. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/dto/__init__.py +0 -0
  88. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/dto/inventario_dto.py +0 -0
  89. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/dto/site_dto.py +0 -0
  90. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/dto/us_dto.py +0 -0
  91. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/exceptions.py +0 -0
  92. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/graphml_converter/__init__.py +0 -0
  93. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/graphml_converter/converter.py +0 -0
  94. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/graphml_converter/dot_parser.py +0 -0
  95. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/graphml_converter/em_palette.py +0 -0
  96. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/graphml_converter/graphml_builder.py +0 -0
  97. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/graphml_converter/graphml_exporter.py +0 -0
  98. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/graphml_converter/pure_networkx_exporter.py +0 -0
  99. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/graphml_converter/svg_resources.py +0 -0
  100. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/graphml_converter/templates/EM_palette.graphml +0 -0
  101. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/graphml_converter/x11_colors.py +0 -0
  102. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/graphml_converter/yed_template.py +0 -0
  103. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/graphml_io/__init__.py +0 -0
  104. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/graphml_io/reader.py +0 -0
  105. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/graphml_io/writer.py +0 -0
  106. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/graphml_io/yed_writer.py +0 -0
  107. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/graphproj/__init__.py +0 -0
  108. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/graphproj/auto_regen.py +0 -0
  109. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/graphproj/edge_registry.py +0 -0
  110. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/graphproj/exceptions.py +0 -0
  111. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/graphproj/filesystem.py +0 -0
  112. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/graphproj/ingest_plan.py +0 -0
  113. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/graphproj/ingestor.py +0 -0
  114. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/graphproj/paradata_store.py +0 -0
  115. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/graphproj/projector.py +0 -0
  116. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/harris_matrix/__init__.py +0 -0
  117. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/harris_matrix/enhanced_visualizer.py +0 -0
  118. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/harris_matrix/matrix_generator.py +0 -0
  119. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/harris_matrix/matrix_visualizer.py +0 -0
  120. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/harris_matrix/pyarchinit_visualizer.py +0 -0
  121. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/harris_swimlane/__init__.py +0 -0
  122. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/harris_swimlane/compound_layout.py +0 -0
  123. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/harris_swimlane/exceptions.py +0 -0
  124. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/harris_swimlane/period_sync_service.py +0 -0
  125. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/harris_swimlane/row_provider.py +0 -0
  126. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/i18n/__init__.py +0 -0
  127. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/i18n/flask_babel_config.py +0 -0
  128. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/i18n/locale_manager.py +0 -0
  129. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/__init__.py +0 -0
  130. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/__main__.py +0 -0
  131. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/blender_client.py +0 -0
  132. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/config.py +0 -0
  133. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/event_stream.py +0 -0
  134. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/graphml_parser.py +0 -0
  135. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/http_server.py +0 -0
  136. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/period_filter.py +0 -0
  137. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/prompts/__init__.py +0 -0
  138. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/prompts/base_prompt.py +0 -0
  139. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/prompts/period_visualization_prompt.py +0 -0
  140. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/prompts/stratigraphic_model_prompt.py +0 -0
  141. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/prompts/us_description_prompt.py +0 -0
  142. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/proxy_generator.py +0 -0
  143. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/resources/__init__.py +0 -0
  144. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/resources/base_resource.py +0 -0
  145. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/resources/graphml_resource.py +0 -0
  146. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/resources/periods_resource.py +0 -0
  147. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/resources/relationships_resource.py +0 -0
  148. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/resources/sites_resource.py +0 -0
  149. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/resources/us_resource.py +0 -0
  150. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/server.py +0 -0
  151. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/tools/__init__.py +0 -0
  152. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/tools/base_tool.py +0 -0
  153. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/tools/batch_insert_tool.py +0 -0
  154. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/tools/build_3d_tool.py +0 -0
  155. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/tools/chatgpt_fetch_tool.py +0 -0
  156. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/tools/chatgpt_search_tool.py +0 -0
  157. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/tools/configure_em_nodes_tool.py +0 -0
  158. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/tools/create_database_tool.py +0 -0
  159. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/tools/create_harris_matrix_tool.py +0 -0
  160. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/tools/data_import_parser_tool.py +0 -0
  161. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/tools/data_management_tool.py +0 -0
  162. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/tools/database_manager_tool.py +0 -0
  163. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/tools/delete_data_tool.py +0 -0
  164. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/tools/export_harris_matrix_graphml_tool.py +0 -0
  165. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/tools/export_tool.py +0 -0
  166. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/tools/filter_tool.py +0 -0
  167. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/tools/generate_report_tool.py +0 -0
  168. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/tools/get_schema_tool.py +0 -0
  169. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/tools/import_excel_tool.py +0 -0
  170. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/tools/insert_data_tool.py +0 -0
  171. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/tools/manage_services_tool.py +0 -0
  172. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/tools/material_tool.py +0 -0
  173. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/tools/media_management_tool.py +0 -0
  174. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/tools/position_tool.py +0 -0
  175. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/tools/pyarchinit_sync_tool.py +0 -0
  176. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/tools/resolve_conflicts_tool.py +0 -0
  177. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/tools/service_management_tool.py +0 -0
  178. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/tools/thesaurus_management_tool.py +0 -0
  179. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/tools/update_data_tool.py +0 -0
  180. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/tools/upload_file_tool.py +0 -0
  181. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/tools/validate_relationship_format_tool.py +0 -0
  182. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/tools/validate_relationship_integrity_tool.py +0 -0
  183. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/tools/validate_stratigraphic_relationships_tool.py +0 -0
  184. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/mcp_server/tools/validate_stratigraphy_tool.py +0 -0
  185. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/media_manager/__init__.py +0 -0
  186. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/media_manager/media_handler.py +0 -0
  187. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/models/__init__.py +0 -0
  188. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/models/ai_chat.py +0 -0
  189. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/models/app_setting.py +0 -0
  190. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/models/base.py +0 -0
  191. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/models/datazione.py +0 -0
  192. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/models/extended_matrix.py +0 -0
  193. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/models/inventario_materiali.py +0 -0
  194. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/models/media.py +0 -0
  195. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/models/pottery.py +0 -0
  196. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/models/site.py +0 -0
  197. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/models/thesaurus.py +0 -0
  198. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/models/tma.py +0 -0
  199. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/models/us.py +0 -0
  200. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/models/user.py +0 -0
  201. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/pdf_export/__init__.py +0 -0
  202. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/pdf_export/pdf_generator.py +0 -0
  203. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/pdf_export/pdf_generator_backup.py +0 -0
  204. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/pdf_export/pyarchinit_finds_template.py +0 -0
  205. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/pdf_export/pyarchinit_inventory_template.py +0 -0
  206. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/pdf_export/usm_implementation.py +0 -0
  207. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/s3d_integration/__init__.py +0 -0
  208. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/s3d_integration/model_manager.py +0 -0
  209. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/s3d_integration/s3d_converter.py +0 -0
  210. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/scripts/__init__.py +0 -0
  211. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/scripts/auto_translate.py +0 -0
  212. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/scripts/configure_claude_desktop.py +0 -0
  213. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/scripts/create_admin_user.py +0 -0
  214. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/scripts/create_correct_stratigraphy_sample.py +0 -0
  215. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/scripts/create_italian_sample_database.py +0 -0
  216. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/scripts/create_sample_for_webapp.py +0 -0
  217. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/scripts/create_sample_with_50_us.py +0 -0
  218. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/scripts/generate_test_3d_model.py +0 -0
  219. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/scripts/load_italian_as_main.py +0 -0
  220. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/scripts/load_sample_as_main.py +0 -0
  221. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/scripts/migrate_relationships.py +0 -0
  222. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/scripts/populate_sample_data.py +0 -0
  223. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/scripts/populate_simple_data.py +0 -0
  224. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/scripts/setup_auth.py +0 -0
  225. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/scripts/setup_user_env.py +0 -0
  226. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/scripts/test_cascade_delete.py +0 -0
  227. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/scripts/test_relationship_fix.py +0 -0
  228. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/scripts/update_sample_relationships.py +0 -0
  229. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/scripts/update_urls_and_versions.py +0 -0
  230. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/scripts/verify_docs.py +0 -0
  231. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/services/__init__.py +0 -0
  232. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/services/ai_assistant_service.py +0 -0
  233. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/services/ai_chat_service.py +0 -0
  234. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/services/analytics_service.py +0 -0
  235. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/services/app_setting_service.py +0 -0
  236. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/services/backup_service.py +0 -0
  237. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/services/command_parser.py +0 -0
  238. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/services/datazione_service.py +0 -0
  239. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/services/export_import_service.py +0 -0
  240. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/services/extended_matrix_excel_parser.py +0 -0
  241. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/services/import_export_service.py +0 -0
  242. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/services/inventario_service.py +0 -0
  243. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/services/mcp_executor.py +0 -0
  244. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/services/media_service.py +0 -0
  245. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/services/periodizzazione_service.py +0 -0
  246. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/services/pottery_dto.py +0 -0
  247. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/services/pottery_pdf_service.py +0 -0
  248. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/services/pottery_service.py +0 -0
  249. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/services/relationship_sync_service.py +0 -0
  250. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/services/search_service.py +0 -0
  251. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/services/site_service.py +0 -0
  252. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/services/thesaurus_service.py +0 -0
  253. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/services/tma_service.py +0 -0
  254. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/services/us_service.py +0 -0
  255. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/services/user_service.py +0 -0
  256. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/stratigraph/__init__.py +0 -0
  257. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/stratigraph/bundle_creator.py +0 -0
  258. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/stratigraph/bundle_manifest.py +0 -0
  259. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/stratigraph/bundle_validator.py +0 -0
  260. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/stratigraph/connectivity_monitor.py +0 -0
  261. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/stratigraph/sync_orchestrator.py +0 -0
  262. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/stratigraph/sync_queue.py +0 -0
  263. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/stratigraph/sync_state_machine.py +0 -0
  264. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/stratigraph/uuid_manager.py +0 -0
  265. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/translations/en/LC_MESSAGES/messages.mo +0 -0
  266. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/translations/en/LC_MESSAGES/messages.po +0 -0
  267. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/translations/it/LC_MESSAGES/messages.mo +0 -0
  268. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/translations/it/LC_MESSAGES/messages.po +0 -0
  269. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/translations/messages.pot +0 -0
  270. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/utils/__init__.py +0 -0
  271. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/utils/auth.py +0 -0
  272. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/utils/exceptions.py +0 -0
  273. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/utils/relationship_validator.py +0 -0
  274. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/utils/stratigraphic_validator.py +0 -0
  275. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/utils/tma_label_generator.py +0 -0
  276. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/utils/validators.py +0 -0
  277. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/vocab/__init__.py +0 -0
  278. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/vocab/exceptions.py +0 -0
  279. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/vocab/i18n.py +0 -0
  280. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/vocab/loader.py +0 -0
  281. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/vocab/provider.py +0 -0
  282. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/vocab/translations/vocab_en.json +0 -0
  283. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/vocab/translations/vocab_it.json +0 -0
  284. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/vocab/types.py +0 -0
  285. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/app.py +0 -0
  286. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/auth_routes.py +0 -0
  287. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/em_node_config_routes.py +0 -0
  288. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/excel_import_routes.py +0 -0
  289. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/graph_routes.py +0 -0
  290. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/harris_creator_routes.py +0 -0
  291. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/paradata_routes.py +0 -0
  292. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/paradata_ui_routes.py +0 -0
  293. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/pottery_routes.py +0 -0
  294. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/pyarchinit_import_export_routes.py +0 -0
  295. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/s3d_routes.py +0 -0
  296. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/socketio_events.py +0 -0
  297. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/static/css/style.css +0 -0
  298. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/static/images/favicon.ico +0 -0
  299. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/static/images/logo.png +0 -0
  300. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/static/images/no-image.png +0 -0
  301. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/static/images/pyarchinit-mini-logo.png +0 -0
  302. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/static/js/OrbitControls.js +0 -0
  303. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/static/js/harris_creator_editor.js +0 -0
  304. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/static/js/stratigraphic_layout.js +0 -0
  305. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/static/js/three-d-viewer.js +0 -0
  306. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/static/js/three.min.js +0 -0
  307. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/static/js/universal_search.js +0 -0
  308. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/static/uploads/3d_models/Sito Archeologico di Esempio/site/stratigraphy_test.bin +0 -0
  309. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/static/uploads/3d_models/Sito Archeologico di Esempio/site/stratigraphy_test.gltf +0 -0
  310. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/static/uploads/3d_models/Sito Archeologico di Esempio/site/stratigraphy_test.mtl +0 -0
  311. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/static/uploads/3d_models/Sito Archeologico di Esempio/site/stratigraphy_test.obj +0 -0
  312. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/3d_builder/index.html +0 -0
  313. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/3d_viewer/viewer.html +0 -0
  314. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/admin/backups.html +0 -0
  315. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/admin/database.html +0 -0
  316. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/admin/database_connect.html +0 -0
  317. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/admin/database_info.html +0 -0
  318. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/admin/database_upload.html +0 -0
  319. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/admin/settings_ai.html +0 -0
  320. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/ai/assistant.html +0 -0
  321. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/analytics/dashboard.html +0 -0
  322. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/auth/login.html +0 -0
  323. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/auth/users.html +0 -0
  324. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/base.html +0 -0
  325. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/blender_viewer.html +0 -0
  326. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/components/language_switcher.html +0 -0
  327. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/dashboard.html +0 -0
  328. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/datazioni/list.html +0 -0
  329. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/docs/index.html +0 -0
  330. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/em_node_config/index.html +0 -0
  331. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/excel_import/index.html +0 -0
  332. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/export/export_import.html +0 -0
  333. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/graph_import_preview.html +0 -0
  334. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/graph_import_result.html +0 -0
  335. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/harris_creator/editor.html +0 -0
  336. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/harris_creator/index.html +0 -0
  337. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/harris_matrix/graphml_export.html +0 -0
  338. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/harris_matrix/large_graph_message.html +0 -0
  339. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/harris_matrix/stratigraph_viewer.html +0 -0
  340. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/harris_matrix/view.html +0 -0
  341. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/harris_matrix/view_graphviz.html +0 -0
  342. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/harris_matrix/viewer_3d_integrated.html +0 -0
  343. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/inventario/form.html +0 -0
  344. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/inventario/list.html +0 -0
  345. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/media/list.html +0 -0
  346. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/media/upload.html +0 -0
  347. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/messaging/contacts.html +0 -0
  348. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/operators/directory.html +0 -0
  349. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/paradata/edit.html +0 -0
  350. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/paradata/index.html +0 -0
  351. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/paradata/list.html +0 -0
  352. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/pdf/pottery_sheet.html +0 -0
  353. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/periodizzazione/form.html +0 -0
  354. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/periodizzazione/list.html +0 -0
  355. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/periodizzazione/periods.html +0 -0
  356. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/pottery/detail.html +0 -0
  357. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/pottery/form.html +0 -0
  358. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/pottery/import_form.html +0 -0
  359. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/pottery/list.html +0 -0
  360. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/pyarchinit_import_export/index.html +0 -0
  361. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/search/results.html +0 -0
  362. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/sites/detail.html +0 -0
  363. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/sites/form.html +0 -0
  364. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/sites/list.html +0 -0
  365. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/sites/map.html +0 -0
  366. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/stats/targeted.html +0 -0
  367. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/thesaurus/list.html +0 -0
  368. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/tma/form.html +0 -0
  369. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/tma/list.html +0 -0
  370. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/us/form.html +0 -0
  371. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/us/list.html +0 -0
  372. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/templates/validation/report.html +0 -0
  373. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/test_prova_extended_matrix.graphml +0 -0
  374. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/three_d_builder_routes.py +0 -0
  375. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/uploads/graphml/Sito Archeologico di Esempio_stratigraphy.graphml +0 -0
  376. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/uploads/graphml/Sito Archeologico di Esempio_stratigraphy.json +0 -0
  377. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/vocab_routes.py +0 -0
  378. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/web_interface/static/uploads/graphml/Scavo archeologico_heriverse.json +0 -0
  379. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/web_interface/static/uploads/graphml/Scavo archeologico_stratigraphy.graphml +0 -0
  380. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/web_interface/static/uploads/graphml/Scavo archeologico_stratigraphy.json +0 -0
  381. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini/web_interface/web_interface/static/uploads/graphml/Sito Archeologico di Esempio_stratigraphy.json +0 -0
  382. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini.egg-info/dependency_links.txt +0 -0
  383. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini.egg-info/entry_points.txt +0 -0
  384. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini.egg-info/not-zip-safe +0 -0
  385. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini.egg-info/requires.txt +0 -0
  386. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/pyarchinit_mini.egg-info/top_level.txt +0 -0
  387. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/requirements.txt +0 -0
  388. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/setup.cfg +0 -0
  389. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/setup.py +0 -0
  390. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/__init__.py +0 -0
  391. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/conftest.py +0 -0
  392. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/e2e/__init__.py +0 -0
  393. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/e2e/test_web_vocab_full_flow.py +0 -0
  394. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/fixtures/_generate_baseline_graphml.py +0 -0
  395. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/fixtures/_generate_harris_swimlane_synthetic.py +0 -0
  396. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/fixtures/_generate_synthetic_db.py +0 -0
  397. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/fixtures/build_legacy_with_pottery.py +0 -0
  398. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/integration/__init__.py +0 -0
  399. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/integration/test_admin_ai_settings_routes.py +0 -0
  400. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/integration/test_admin_backup_routes.py +0 -0
  401. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/integration/test_auto_regen_on_save.py +0 -0
  402. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/integration/test_full_sync_flow.py +0 -0
  403. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/integration/test_graph_import_flow.py +0 -0
  404. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/integration/test_graph_routes.py +0 -0
  405. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/integration/test_harris_matrix_post_cutover.py +0 -0
  406. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/integration/test_harris_matrix_visual_parity.py +0 -0
  407. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/integration/test_harris_swimlane_routes_create_row.py +0 -0
  408. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/integration/test_harris_swimlane_routes_load.py +0 -0
  409. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/integration/test_harris_swimlane_routes_save.py +0 -0
  410. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/integration/test_harris_swimlane_routes_session_missing.py +0 -0
  411. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/integration/test_migrate_vocab_cli.py +0 -0
  412. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/integration/test_paradata_routes_authors.py +0 -0
  413. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/integration/test_paradata_routes_other_types.py +0 -0
  414. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/integration/test_paradata_ui.py +0 -0
  415. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/integration/test_pottery_completion.py +0 -0
  416. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/integration/test_pottery_excel_roundtrip.py +0 -0
  417. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/integration/test_pottery_legacy_upgrade.py +0 -0
  418. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/integration/test_pottery_routes.py +0 -0
  419. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/integration/test_spec2_coverage_gaps.py +0 -0
  420. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/integration/test_vocab_routes.py +0 -0
  421. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/integration/test_yed_export_route.py +0 -0
  422. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/integration/test_yed_writer_parity.py +0 -0
  423. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/__init__.py +0 -0
  424. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_app_setting_model.py +0 -0
  425. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_app_setting_service.py +0 -0
  426. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_auto_regen.py +0 -0
  427. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_backup_service.py +0 -0
  428. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_bundle.py +0 -0
  429. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_concurrency_columns.py +0 -0
  430. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_concurrency_manager.py +0 -0
  431. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_connectivity_monitor.py +0 -0
  432. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_database_utils.py +0 -0
  433. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_deprecated_writers_shim.py +0 -0
  434. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_em_palette_vocab_backed.py +0 -0
  435. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_graphml_io_reader.py +0 -0
  436. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_graphml_io_writer.py +0 -0
  437. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_graphproj_edge_registry.py +0 -0
  438. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_graphproj_exceptions.py +0 -0
  439. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_graphproj_filesystem.py +0 -0
  440. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_graphproj_ingestor_apply.py +0 -0
  441. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_graphproj_ingestor_preview.py +0 -0
  442. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_graphproj_projector.py +0 -0
  443. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_harris_swimlane_compound_layout.py +0 -0
  444. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_harris_swimlane_exceptions.py +0 -0
  445. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_harris_swimlane_period_sync.py +0 -0
  446. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_harris_swimlane_row_provider.py +0 -0
  447. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_harris_swimlane_state_load.py +0 -0
  448. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_harris_swimlane_state_save.py +0 -0
  449. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_ingest_plan.py +0 -0
  450. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_inventario_schema.py +0 -0
  451. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_migrations_backup.py +0 -0
  452. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_migrations_idempotent.py +0 -0
  453. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_optimistic_locking.py +0 -0
  454. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_paradata_store_authors.py +0 -0
  455. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_paradata_store_basic.py +0 -0
  456. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_paradata_store_other_types.py +0 -0
  457. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_pottery_dto.py +0 -0
  458. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_pottery_model.py +0 -0
  459. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_pottery_service.py +0 -0
  460. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_s3d_converter_vocab_backed.py +0 -0
  461. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_site_service.py +0 -0
  462. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_sync_api.py +0 -0
  463. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_sync_cli.py +0 -0
  464. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_sync_orchestrator.py +0 -0
  465. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_sync_queue.py +0 -0
  466. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_sync_state_machine.py +0 -0
  467. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_us_dto_unita_tipo_validator.py +0 -0
  468. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_us_schema.py +0 -0
  469. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_uuid_manager.py +0 -0
  470. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_vocab_bootstrap_failures.py +0 -0
  471. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_vocab_exceptions.py +0 -0
  472. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_vocab_i18n.py +0 -0
  473. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_vocab_loader.py +0 -0
  474. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_vocab_provider.py +0 -0
  475. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_vocab_types.py +0 -0
  476. {pyarchinit_mini-2.4.5 → pyarchinit_mini-2.4.7}/tests/unit/test_yed_writer.py +0 -0
@@ -1,3 +1,49 @@
1
+ ## [2.4.7] - 2026-05-18
2
+
3
+ ### Fixed (IT)
4
+ - Editor swimlane carica anche gli edge da `us_relationships_table` (Spec 3-bis
5
+ ora unisce `us_table.rapporti` + tabella dedicata via EdgeRegistry). Risolve
6
+ "0 edges" su siti come Ravenna dove tutte le 1085+ relazioni stanno nella
7
+ tabella relationships e `rapporti` è vuoto.
8
+ - Auto-fix sequence PostgreSQL al startup esteso a `periodizzazione_table`,
9
+ `period_table`, `us_relationships_table`, `harris_matrix_table`. Risolve
10
+ l'HTTP 500 "UniqueViolation periodizzazione_table_pkey" che bloccava il
11
+ Save Swimlane e di conseguenza l'export GraphML (il file scaricato era
12
+ vuoto perché la transazione era rollbacked).
13
+
14
+ ### Fixed (EN)
15
+ - Swimlane editor now reads edges from `us_relationships_table` too, not
16
+ just `us_table.rapporti`. Fixes "0 edges" on sites where everything is
17
+ in the dedicated relationships table.
18
+ - PostgreSQL sequence auto-sync extended to periodizzazione_table,
19
+ period_table, us_relationships_table, harris_matrix_table. Fixes the
20
+ HTTP 500 UniqueViolation that blocked Save Swimlane / GraphML export
21
+ on Adarte.
22
+
23
+ ## [2.4.6] - 2026-05-18
24
+
25
+ ### Fixed (IT)
26
+ - Editor swimlane su DB SQLite locali tornava HTTP 500 "no such column:
27
+ periodo" perché `period_table` era stata creata dal modello SQLAlchemy
28
+ con lo schema legacy `period_name/phase_name/start_date/end_date`.
29
+ Nuova migration `_2026_05_period_table_schema` aggiunge le colonne
30
+ reali pyarchinit (`periodo`, `fase`, `datazione`, `descrizione`,
31
+ `sito`) e backfilla `periodo ← period_name`, `fase ← phase_name`.
32
+ Auto-applicata dal `migrate_all_tables()`.
33
+ - Modello SQLAlchemy `Period` aggiornato per dichiarare entrambi i set
34
+ di colonne (legacy + reale), così `Base.metadata.create_all()` su DB
35
+ nuovi parte già con lo schema corretto.
36
+
37
+ ### Fixed (EN)
38
+ - Swimlane editor on local SQLite DBs returned HTTP 500 "no such column:
39
+ periodo" because `period_table` was created with the legacy schema
40
+ (`period_name/phase_name/...`). New `_2026_05_period_table_schema`
41
+ migration adds the real pyarchinit columns (`periodo`, `fase`,
42
+ `datazione`, `descrizione`, `sito`) and backfills them from legacy
43
+ ones. Auto-applied by `migrate_all_tables()`.
44
+ - SQLAlchemy `Period` model now declares both legacy and real column
45
+ sets, so freshly-created DBs start with the right shape.
46
+
1
47
  ## [2.4.5] - 2026-05-18
2
48
 
3
49
  ### Changed (IT)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyarchinit-mini
3
- Version: 2.4.5
3
+ Version: 2.4.7
4
4
  Summary: Lightweight archaeological data management system with REST API, Web UI, Desktop GUI, CLI, multi-user authentication, real-time collaboration, analytics dashboard, PyArchInit import/export, Heriverse/ATON export integration, and 3D CRUD viewer
5
5
  Home-page: https://github.com/enzococca/pyarchinit-mini
6
6
  Author: PyArchInit Team
@@ -23,7 +23,7 @@ Features:
23
23
  - Scalable and modular architecture
24
24
  """
25
25
 
26
- __version__ = "2.4.5"
26
+ __version__ = "2.4.7"
27
27
  __author__ = "PyArchInit Team"
28
28
  __email__ = "enzo.ccc@gmail.com"
29
29
 
@@ -0,0 +1,146 @@
1
+ """Schema migration (2026-05-18):
2
+ Add the pyarchinit-compatible columns to ``period_table``.
3
+
4
+ The SQLAlchemy ``Period`` model historically declared (``period_name``,
5
+ ``phase_name``, ``start_date``, ``end_date``, ``description``, ``chronology``).
6
+ The real pyarchinit schema (used by QGIS plugin and PG ``pyarchinit_v2``)
7
+ is (``periodo``, ``fase``, ``datazione``, ``descrizione``, ``sito``). Spec
8
+ 3-bis queries the latter, so existing SQLite/PostgreSQL DBs created via
9
+ ``Base.metadata.create_all()`` need the new columns aliased over.
10
+
11
+ Idempotent: re-running on a DB that already has the new columns is a
12
+ no-op. Backfills ``periodo`` from ``period_name`` / ``fase`` from
13
+ ``phase_name`` when both exist.
14
+
15
+ Supports SQLite and PostgreSQL backends.
16
+ """
17
+ import sqlite3
18
+ from dataclasses import dataclass, field
19
+ from urllib.parse import urlparse
20
+
21
+
22
+ @dataclass
23
+ class MigrationReport:
24
+ script: str
25
+ db: str
26
+ tables_changed: list = field(default_factory=list)
27
+ tables_skipped: list = field(default_factory=list)
28
+ dry_run: bool = False
29
+ status: str = "ok"
30
+
31
+
32
+ TABLE = "period_table"
33
+ NEW_COLUMNS = [
34
+ ("periodo", "TEXT"),
35
+ ("fase", "TEXT"),
36
+ ("datazione", "TEXT"),
37
+ ("descrizione", "TEXT"),
38
+ ("sito", "TEXT"),
39
+ ]
40
+
41
+
42
+ def _table_exists_sqlite(conn, table):
43
+ return conn.execute(
44
+ "SELECT name FROM sqlite_master WHERE type='table' AND name=?", (table,)
45
+ ).fetchone() is not None
46
+
47
+
48
+ def _has_column_sqlite(conn, table, col):
49
+ rows = conn.execute(f"PRAGMA table_info({table})").fetchall()
50
+ return any(r[1] == col for r in rows)
51
+
52
+
53
+ def _run_sqlite(path: str, dry_run: bool, report: MigrationReport) -> None:
54
+ conn = sqlite3.connect(path)
55
+ try:
56
+ if not _table_exists_sqlite(conn, TABLE):
57
+ report.tables_skipped.append(f"{TABLE} (missing)")
58
+ return
59
+ existing = {r[1] for r in conn.execute(f"PRAGMA table_info({TABLE})").fetchall()}
60
+ added = []
61
+ for col, ctype in NEW_COLUMNS:
62
+ if col in existing:
63
+ continue
64
+ if not dry_run:
65
+ conn.execute(f"ALTER TABLE {TABLE} ADD COLUMN {col} {ctype}")
66
+ added.append(col)
67
+ # Backfill: periodo ← period_name, fase ← phase_name (only if legacy cols exist)
68
+ if not dry_run and added:
69
+ if "period_name" in existing and "periodo" in added:
70
+ conn.execute(
71
+ f"UPDATE {TABLE} SET periodo = period_name WHERE periodo IS NULL"
72
+ )
73
+ if "phase_name" in existing and "fase" in added:
74
+ conn.execute(
75
+ f"UPDATE {TABLE} SET fase = phase_name WHERE fase IS NULL"
76
+ )
77
+ conn.commit()
78
+ if added:
79
+ report.tables_changed.append(f"{TABLE} (+{','.join(added)})")
80
+ else:
81
+ report.tables_skipped.append(f"{TABLE} (already aligned)")
82
+ finally:
83
+ conn.close()
84
+
85
+
86
+ def _run_postgresql(url: str, dry_run: bool, report: MigrationReport) -> None:
87
+ import psycopg2
88
+ p = urlparse(url)
89
+ conn = psycopg2.connect(
90
+ host=p.hostname, port=p.port or 5432,
91
+ user=p.username, password=p.password,
92
+ dbname=p.path.lstrip("/"),
93
+ )
94
+ try:
95
+ cur = conn.cursor()
96
+ cur.execute(
97
+ "SELECT to_regclass(%s)", (f"public.{TABLE}",)
98
+ )
99
+ if cur.fetchone()[0] is None:
100
+ report.tables_skipped.append(f"{TABLE} (missing)")
101
+ return
102
+ cur.execute(
103
+ "SELECT column_name FROM information_schema.columns "
104
+ "WHERE table_schema='public' AND table_name=%s", (TABLE,)
105
+ )
106
+ existing = {r[0] for r in cur.fetchall()}
107
+ added = []
108
+ for col, ctype in NEW_COLUMNS:
109
+ if col in existing:
110
+ continue
111
+ if not dry_run:
112
+ cur.execute(f"ALTER TABLE {TABLE} ADD COLUMN {col} {ctype}")
113
+ added.append(col)
114
+ if not dry_run and added:
115
+ if "period_name" in existing and "periodo" in added:
116
+ cur.execute(
117
+ f"UPDATE {TABLE} SET periodo = period_name WHERE periodo IS NULL"
118
+ )
119
+ if "phase_name" in existing and "fase" in added:
120
+ cur.execute(
121
+ f"UPDATE {TABLE} SET fase = phase_name WHERE fase IS NULL"
122
+ )
123
+ conn.commit()
124
+ if added:
125
+ report.tables_changed.append(f"{TABLE} (+{','.join(added)})")
126
+ else:
127
+ report.tables_skipped.append(f"{TABLE} (already aligned)")
128
+ finally:
129
+ conn.close()
130
+
131
+
132
+ def run(url: str, dry_run: bool = False) -> MigrationReport:
133
+ report = MigrationReport(
134
+ script=__name__, db=url, dry_run=dry_run,
135
+ )
136
+ try:
137
+ if url.startswith("sqlite"):
138
+ path = url.replace("sqlite:///", "", 1)
139
+ _run_sqlite(path, dry_run, report)
140
+ elif url.startswith("postgresql") or url.startswith("postgres"):
141
+ _run_postgresql(url, dry_run, report)
142
+ else:
143
+ report.status = "unsupported"
144
+ except Exception as e:
145
+ report.status = f"error: {e}"
146
+ return report
@@ -777,6 +777,11 @@ class DatabaseMigrations:
777
777
  ('us_table', 'id_us', 'us_table_id_us_seq'),
778
778
  ('inventario_materiali_table', 'id_invmat', 'inventario_materiali_table_id_invmat_seq'),
779
779
  ('users', 'id', 'users_id_seq'),
780
+ # Spec-3-bis & QGIS pyarchinit interop
781
+ ('periodizzazione_table', 'id_perfas', 'periodizzazione_table_id_perfas_seq'),
782
+ ('period_table', 'id_period', 'period_table_id_period_seq'),
783
+ ('us_relationships_table', 'id_relationship', 'us_relationships_table_id_relationship_seq'),
784
+ ('harris_matrix_table', 'id_matrix', 'harris_matrix_table_id_matrix_seq'),
780
785
  ]:
781
786
  try:
782
787
  max_id = session.execute(text(f'SELECT MAX({pk}) FROM {table}')).scalar() or 0
@@ -830,6 +835,7 @@ class DatabaseMigrations:
830
835
  f"{pkg}._2026_05_node_uuid_schema",
831
836
  f"{pkg}._2026_05_node_uuid_backfill",
832
837
  f"{pkg}._2026_05_vocab_alignment",
838
+ f"{pkg}._2026_05_period_table_schema",
833
839
  ]
834
840
  url = str(self.connection.engine.url)
835
841
  applied = 0
@@ -179,8 +179,12 @@ class SwimlaneState:
179
179
  classes="swimlane",
180
180
  ))
181
181
 
182
- # Build edges from rapporti via EdgeRegistry
182
+ # Build edges from rapporti (legacy text) AND us_relationships_table
183
+ # (dedicated table — pyarchinit's primary store for relationships).
183
184
  edges = SwimlaneState._build_edges(us_rows, us_num_to_node_id)
185
+ edges.extend(SwimlaneState._build_edges_from_relationships_table(
186
+ session, site, us_num_to_node_id, existing=edges,
187
+ ))
184
188
 
185
189
  return EditorState(
186
190
  site=site,
@@ -269,6 +273,91 @@ class SwimlaneState:
269
273
 
270
274
  return edges
271
275
 
276
+ @staticmethod
277
+ def _build_edges_from_relationships_table(
278
+ session: Session, site: str, us_num_to_node_id: dict, *, existing
279
+ ) -> list[CytoscapeElement]:
280
+ """Read stratigraphic relationships from ``us_relationships_table``.
281
+
282
+ pyarchinit stores edges in a dedicated table (``us_from`` / ``us_to``
283
+ / ``relationship_type``) — for sites like Ravenna with 1000+
284
+ relationships, ``us_table.rapporti`` text is empty and everything
285
+ lives here. We translate ``relationship_type`` through the same
286
+ VocabProvider alias mapping used for ``rapporti`` tokens, and the
287
+ same dedupe / inverse-pair rules apply.
288
+ """
289
+ try:
290
+ from pyarchinit_mini.graphproj.edge_registry import EdgeRegistry
291
+ registry = EdgeRegistry()
292
+ except Exception:
293
+ return []
294
+
295
+ SYMMETRIC = {"has_same_time"}
296
+ INVERSE_PAIRS = {"overlies": "is_after", "is_after": "overlies"}
297
+
298
+ # Seed seen-set with edges already produced from rapporti so we don't
299
+ # duplicate the same relation across the two sources.
300
+ seen: set[tuple] = set()
301
+ for el in existing:
302
+ ename = el.data.get("label")
303
+ s = el.data.get("source")
304
+ t = el.data.get("target")
305
+ if not ename or not s or not t:
306
+ continue
307
+ if ename in SYMMETRIC:
308
+ seen.add((ename, tuple(sorted((s, t)))))
309
+ else:
310
+ seen.add((ename, s, t))
311
+
312
+ try:
313
+ rows = session.execute(text(
314
+ "SELECT us_from, us_to, relationship_type "
315
+ "FROM us_relationships_table WHERE sito = :sito"
316
+ ), {"sito": site}).fetchall()
317
+ except Exception:
318
+ return []
319
+
320
+ out: list[CytoscapeElement] = []
321
+ edge_counter = len(existing)
322
+
323
+ for r in rows:
324
+ us_from, us_to, rel_type = r[0], r[1], r[2]
325
+ if not rel_type:
326
+ continue
327
+ try:
328
+ u_from_int = int(us_from)
329
+ u_to_int = int(us_to)
330
+ except (ValueError, TypeError):
331
+ continue
332
+ source_id = us_num_to_node_id.get(u_from_int)
333
+ target_id = us_num_to_node_id.get(u_to_int)
334
+ if not source_id or not target_id:
335
+ continue
336
+
337
+ edge_name = registry.resolve_italian_alias(str(rel_type)) or rel_type
338
+
339
+ if edge_name in SYMMETRIC:
340
+ key = (edge_name, tuple(sorted((source_id, target_id))))
341
+ else:
342
+ key = (edge_name, source_id, target_id)
343
+ if key in seen:
344
+ continue
345
+ inverse_name = INVERSE_PAIRS.get(edge_name)
346
+ if inverse_name is not None:
347
+ inverse_key = (inverse_name, target_id, source_id)
348
+ if inverse_key in seen:
349
+ continue
350
+ seen.add(key)
351
+
352
+ edge_counter += 1
353
+ out.append(CytoscapeElement(data={
354
+ "id": f"e{edge_counter}",
355
+ "source": source_id,
356
+ "target": target_id,
357
+ "label": edge_name,
358
+ }))
359
+ return out
360
+
272
361
  @staticmethod
273
362
  def save(session: Session, site: str, state: dict) -> SaveResult:
274
363
  """Apply pending_changes to DB. Transaction-wrapped.
@@ -44,20 +44,38 @@ class USRelationships(BaseModel):
44
44
 
45
45
  class Period(BaseModel):
46
46
  """
47
- Archaeological periods and phases
47
+ Archaeological periods and phases.
48
+
49
+ Carries BOTH the legacy field set (``period_name``/``phase_name``/
50
+ ``start_date``/``end_date``/``description``/``chronology``) and the
51
+ pyarchinit-real field set (``periodo``/``fase``/``datazione``/
52
+ ``descrizione``/``sito``) so the same model works whether the database
53
+ was created by pyarchinit-mini's create_all (legacy names) or by
54
+ pyarchinit QGIS (real names). The Spec-3-bis swimlane editor queries
55
+ the real names; the ``_2026_05_period_table_schema`` migration adds
56
+ those columns to existing legacy-schema DBs and backfills them.
48
57
  """
49
58
  __tablename__ = 'period_table'
50
-
59
+
51
60
  id_period = Column(Integer, primary_key=True, autoincrement=True)
52
- period_name = Column(String(200), nullable=False)
61
+ # Legacy column set (kept for backward compat with existing pyarchinit-mini DBs)
62
+ period_name = Column(String(200))
53
63
  phase_name = Column(String(200))
54
- start_date = Column(Integer) # Anno inizio
55
- end_date = Column(Integer) # Anno fine
64
+ start_date = Column(Integer)
65
+ end_date = Column(Integer)
56
66
  description = Column(Text)
57
- chronology = Column(String(100)) # Sistema cronologico
58
-
67
+ chronology = Column(String(100))
68
+ # Real pyarchinit column set (Spec 3-bis swimlane editor reads these)
69
+ sito = Column(String(350))
70
+ periodo = Column(String(200))
71
+ fase = Column(String(200))
72
+ datazione = Column(Text)
73
+ descrizione = Column(Text)
74
+
59
75
  def __repr__(self):
60
- return f"<Period('{self.period_name}', {self.start_date}-{self.end_date})>"
76
+ # Prefer real-schema field when populated, fall back to legacy.
77
+ label = self.periodo or self.period_name or "?"
78
+ return f"<Period('{label}', sito={self.sito})>"
61
79
 
62
80
  class Periodizzazione(BaseModel):
63
81
  """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyarchinit-mini
3
- Version: 2.4.5
3
+ Version: 2.4.7
4
4
  Summary: Lightweight archaeological data management system with REST API, Web UI, Desktop GUI, CLI, multi-user authentication, real-time collaboration, analytics dashboard, PyArchInit import/export, Heriverse/ATON export integration, and 3D CRUD viewer
5
5
  Home-page: https://github.com/enzococca/pyarchinit-mini
6
6
  Author: PyArchInit Team
@@ -65,6 +65,7 @@ pyarchinit_mini/database/migration_scripts/change_us_area_to_text.py
65
65
  pyarchinit_mini/database/migration_scripts/change_us_area_to_text_simple.py
66
66
  pyarchinit_mini/database/migrations/_2026_05_node_uuid_backfill.py
67
67
  pyarchinit_mini/database/migrations/_2026_05_node_uuid_schema.py
68
+ pyarchinit_mini/database/migrations/_2026_05_period_table_schema.py
68
69
  pyarchinit_mini/database/migrations/_2026_05_vocab_alignment.py
69
70
  pyarchinit_mini/database/migrations/__init__.py
70
71
  pyarchinit_mini/database/migrations/backup.py
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "pyarchinit-mini"
7
- version = "2.4.5"
7
+ version = "2.4.7"
8
8
  description = "Lightweight archaeological data management system with REST API, Web UI, Desktop GUI, CLI, multi-user authentication, real-time collaboration, analytics dashboard, PyArchInit import/export, Heriverse/ATON export integration, and 3D CRUD viewer"
9
9
  readme = "README.md"
10
10
  license = {text = "GPL-2.0"}