MetaList 0.3.9__tar.gz → 0.3.10__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 (329) hide show
  1. {metalist-0.3.9/metalist.egg-info → metalist-0.3.10}/PKG-INFO +1 -1
  2. {metalist-0.3.9 → metalist-0.3.10}/app/services/namespace_switcher.py +44 -5
  3. {metalist-0.3.9 → metalist-0.3.10}/app/version.py +1 -1
  4. {metalist-0.3.9 → metalist-0.3.10}/main.py +14 -0
  5. {metalist-0.3.9 → metalist-0.3.10/metalist.egg-info}/PKG-INFO +1 -1
  6. {metalist-0.3.9 → metalist-0.3.10}/MANIFEST.in +0 -0
  7. {metalist-0.3.9 → metalist-0.3.10}/README.md +0 -0
  8. {metalist-0.3.9 → metalist-0.3.10}/app/__init__.py +0 -0
  9. {metalist-0.3.9 → metalist-0.3.10}/app/api/__init__.py +0 -0
  10. {metalist-0.3.9 → metalist-0.3.10}/app/api/deps.py +0 -0
  11. {metalist-0.3.9 → metalist-0.3.10}/app/api/dev.py +0 -0
  12. {metalist-0.3.9 → metalist-0.3.10}/app/api/middleware/auth.py +0 -0
  13. {metalist-0.3.9 → metalist-0.3.10}/app/api/request_auth.py +0 -0
  14. {metalist-0.3.9 → metalist-0.3.10}/app/api/routes/auth.py +0 -0
  15. {metalist-0.3.9 → metalist-0.3.10}/app/api/routes/backups.py +0 -0
  16. {metalist-0.3.9 → metalist-0.3.10}/app/api/routes/files.py +0 -0
  17. {metalist-0.3.9 → metalist-0.3.10}/app/api/routes/mcp.py +0 -0
  18. {metalist-0.3.9 → metalist-0.3.10}/app/api/routes/memory.py +0 -0
  19. {metalist-0.3.9 → metalist-0.3.10}/app/api/routes/notes.py +0 -0
  20. {metalist-0.3.9 → metalist-0.3.10}/app/api/routes/ontology.py +0 -0
  21. {metalist-0.3.9 → metalist-0.3.10}/app/api/routes/reminders.py +0 -0
  22. {metalist-0.3.9 → metalist-0.3.10}/app/api/routes/sounds.py +0 -0
  23. {metalist-0.3.9 → metalist-0.3.10}/app/api/routes/test.py +0 -0
  24. {metalist-0.3.9 → metalist-0.3.10}/app/api/transactions.py +0 -0
  25. {metalist-0.3.9 → metalist-0.3.10}/app/config.py +0 -0
  26. {metalist-0.3.9 → metalist-0.3.10}/app/db/__init__.py +0 -0
  27. {metalist-0.3.9 → metalist-0.3.10}/app/db/backup_settings_sql.py +0 -0
  28. {metalist-0.3.9 → metalist-0.3.10}/app/db/engine.py +0 -0
  29. {metalist-0.3.9 → metalist-0.3.10}/app/db/file_schema.py +0 -0
  30. {metalist-0.3.9 → metalist-0.3.10}/app/db/file_session.py +0 -0
  31. {metalist-0.3.9 → metalist-0.3.10}/app/db/files_sql.py +0 -0
  32. {metalist-0.3.9 → metalist-0.3.10}/app/db/link_titles_sql.py +0 -0
  33. {metalist-0.3.9 → metalist-0.3.10}/app/db/migrations.py +0 -0
  34. {metalist-0.3.9 → metalist-0.3.10}/app/db/notes_sql.py +0 -0
  35. {metalist-0.3.9 → metalist-0.3.10}/app/db/ontology_rules_sql.py +0 -0
  36. {metalist-0.3.9 → metalist-0.3.10}/app/db/reminders_sql.py +0 -0
  37. {metalist-0.3.9 → metalist-0.3.10}/app/db/schema.py +0 -0
  38. {metalist-0.3.9 → metalist-0.3.10}/app/db/search_history_sql.py +0 -0
  39. {metalist-0.3.9 → metalist-0.3.10}/app/db/session.py +0 -0
  40. {metalist-0.3.9 → metalist-0.3.10}/app/db/settings_sql.py +0 -0
  41. {metalist-0.3.9 → metalist-0.3.10}/app/db/sounds_sql.py +0 -0
  42. {metalist-0.3.9 → metalist-0.3.10}/app/db/tab_state_sql.py +0 -0
  43. {metalist-0.3.9 → metalist-0.3.10}/app/encryption_audit.py +0 -0
  44. {metalist-0.3.9 → metalist-0.3.10}/app/main.py +0 -0
  45. {metalist-0.3.9 → metalist-0.3.10}/app/mcp/__init__.py +0 -0
  46. {metalist-0.3.9 → metalist-0.3.10}/app/mcp/__main__.py +0 -0
  47. {metalist-0.3.9 → metalist-0.3.10}/app/mcp/errors.py +0 -0
  48. {metalist-0.3.9 → metalist-0.3.10}/app/mcp/policy.py +0 -0
  49. {metalist-0.3.9 → metalist-0.3.10}/app/mcp/read_service.py +0 -0
  50. {metalist-0.3.9 → metalist-0.3.10}/app/mcp/server.py +0 -0
  51. {metalist-0.3.9 → metalist-0.3.10}/app/mcp/tools.py +0 -0
  52. {metalist-0.3.9 → metalist-0.3.10}/app/models/commands.py +0 -0
  53. {metalist-0.3.9 → metalist-0.3.10}/app/models/database.py +0 -0
  54. {metalist-0.3.9 → metalist-0.3.10}/app/models/entities.py +0 -0
  55. {metalist-0.3.9 → metalist-0.3.10}/app/models/enums.py +0 -0
  56. {metalist-0.3.9 → metalist-0.3.10}/app/models/linked_list.py +0 -0
  57. {metalist-0.3.9 → metalist-0.3.10}/app/models/list_operations.py +0 -0
  58. {metalist-0.3.9 → metalist-0.3.10}/app/models/list_traversal.py +0 -0
  59. {metalist-0.3.9 → metalist-0.3.10}/app/models/note_crud.py +0 -0
  60. {metalist-0.3.9 → metalist-0.3.10}/app/models/utils.py +0 -0
  61. {metalist-0.3.9 → metalist-0.3.10}/app/presentation/__init__.py +0 -0
  62. {metalist-0.3.9 → metalist-0.3.10}/app/presentation/render/__init__.py +0 -0
  63. {metalist-0.3.9 → metalist-0.3.10}/app/presentation/render/note_renderer.py +0 -0
  64. {metalist-0.3.9 → metalist-0.3.10}/app/presentation/templates.py +0 -0
  65. {metalist-0.3.9 → metalist-0.3.10}/app/security/encryption.py +0 -0
  66. {metalist-0.3.9 → metalist-0.3.10}/app/server_runtime.py +0 -0
  67. {metalist-0.3.9 → metalist-0.3.10}/app/services/__init__.py +0 -0
  68. {metalist-0.3.9 → metalist-0.3.10}/app/services/auth.py +0 -0
  69. {metalist-0.3.9 → metalist-0.3.10}/app/services/auth_cache_state.py +0 -0
  70. {metalist-0.3.9 → metalist-0.3.10}/app/services/auth_service.py +0 -0
  71. {metalist-0.3.9 → metalist-0.3.10}/app/services/backlinks.py +0 -0
  72. {metalist-0.3.9 → metalist-0.3.10}/app/services/backup_service.py +0 -0
  73. {metalist-0.3.9 → metalist-0.3.10}/app/services/backup_settings_service.py +0 -0
  74. {metalist-0.3.9 → metalist-0.3.10}/app/services/base_service.py +0 -0
  75. {metalist-0.3.9 → metalist-0.3.10}/app/services/client_state_service.py +0 -0
  76. {metalist-0.3.9 → metalist-0.3.10}/app/services/content_cache.py +0 -0
  77. {metalist-0.3.9 → metalist-0.3.10}/app/services/content_formatting.py +0 -0
  78. {metalist-0.3.9 → metalist-0.3.10}/app/services/date_filtering.py +0 -0
  79. {metalist-0.3.9 → metalist-0.3.10}/app/services/dependencies.py +0 -0
  80. {metalist-0.3.9 → metalist-0.3.10}/app/services/diagnostics.py +0 -0
  81. {metalist-0.3.9 → metalist-0.3.10}/app/services/embedded_references.py +0 -0
  82. {metalist-0.3.9 → metalist-0.3.10}/app/services/encryption.py +0 -0
  83. {metalist-0.3.9 → metalist-0.3.10}/app/services/exception_capture.py +0 -0
  84. {metalist-0.3.9 → metalist-0.3.10}/app/services/file_registry.py +0 -0
  85. {metalist-0.3.9 → metalist-0.3.10}/app/services/file_storage.py +0 -0
  86. {metalist-0.3.9 → metalist-0.3.10}/app/services/html_export.py +0 -0
  87. {metalist-0.3.9 → metalist-0.3.10}/app/services/html_unformatting.py +0 -0
  88. {metalist-0.3.9 → metalist-0.3.10}/app/services/hydration_state.py +0 -0
  89. {metalist-0.3.9 → metalist-0.3.10}/app/services/integrity.py +0 -0
  90. {metalist-0.3.9 → metalist-0.3.10}/app/services/latex_rendering.py +0 -0
  91. {metalist-0.3.9 → metalist-0.3.10}/app/services/link_titles.py +0 -0
  92. {metalist-0.3.9 → metalist-0.3.10}/app/services/login_rate_limit.py +0 -0
  93. {metalist-0.3.9 → metalist-0.3.10}/app/services/maintenance_mode.py +0 -0
  94. {metalist-0.3.9 → metalist-0.3.10}/app/services/markdown_rendering.py +0 -0
  95. {metalist-0.3.9 → metalist-0.3.10}/app/services/memory.py +0 -0
  96. {metalist-0.3.9 → metalist-0.3.10}/app/services/memory_service.py +0 -0
  97. {metalist-0.3.9 → metalist-0.3.10}/app/services/namespace_deletion_jobs.py +0 -0
  98. {metalist-0.3.9 → metalist-0.3.10}/app/services/namespace_deletion_worker.py +0 -0
  99. {metalist-0.3.9 → metalist-0.3.10}/app/services/namespace_rename_jobs.py +0 -0
  100. {metalist-0.3.9 → metalist-0.3.10}/app/services/namespace_rename_worker.py +0 -0
  101. {metalist-0.3.9 → metalist-0.3.10}/app/services/note_image_tags.py +0 -0
  102. {metalist-0.3.9 → metalist-0.3.10}/app/services/note_service.py +0 -0
  103. {metalist-0.3.9 → metalist-0.3.10}/app/services/note_store.py +0 -0
  104. {metalist-0.3.9 → metalist-0.3.10}/app/services/ontology_rules_store.py +0 -0
  105. {metalist-0.3.9 → metalist-0.3.10}/app/services/query_service.py +0 -0
  106. {metalist-0.3.9 → metalist-0.3.10}/app/services/reminders.py +0 -0
  107. {metalist-0.3.9 → metalist-0.3.10}/app/services/root_sorting.py +0 -0
  108. {metalist-0.3.9 → metalist-0.3.10}/app/services/runtime_hardening.py +0 -0
  109. {metalist-0.3.9 → metalist-0.3.10}/app/services/search_history.py +0 -0
  110. {metalist-0.3.9 → metalist-0.3.10}/app/services/search_index.py +0 -0
  111. {metalist-0.3.9 → metalist-0.3.10}/app/services/search_query.py +0 -0
  112. {metalist-0.3.9 → metalist-0.3.10}/app/services/search_text.py +0 -0
  113. {metalist-0.3.9 → metalist-0.3.10}/app/services/self_update.py +0 -0
  114. {metalist-0.3.9 → metalist-0.3.10}/app/services/session_timeout_service.py +0 -0
  115. {metalist-0.3.9 → metalist-0.3.10}/app/services/shell_session_service.py +0 -0
  116. {metalist-0.3.9 → metalist-0.3.10}/app/services/snapshot.py +0 -0
  117. {metalist-0.3.9 → metalist-0.3.10}/app/services/sound_storage.py +0 -0
  118. {metalist-0.3.9 → metalist-0.3.10}/app/services/store.py +0 -0
  119. {metalist-0.3.9 → metalist-0.3.10}/app/services/sync.py +0 -0
  120. {metalist-0.3.9 → metalist-0.3.10}/app/services/sync_state.py +0 -0
  121. {metalist-0.3.9 → metalist-0.3.10}/app/services/tab_state.py +0 -0
  122. {metalist-0.3.9 → metalist-0.3.10}/app/services/tag_case.py +0 -0
  123. {metalist-0.3.9 → metalist-0.3.10}/app/services/tag_ontology.py +0 -0
  124. {metalist-0.3.9 → metalist-0.3.10}/app/services/tag_rename.py +0 -0
  125. {metalist-0.3.9 → metalist-0.3.10}/app/services/tag_suggestions.py +0 -0
  126. {metalist-0.3.9 → metalist-0.3.10}/app/services/tag_term_matching.py +0 -0
  127. {metalist-0.3.9 → metalist-0.3.10}/app/services/test_reset.py +0 -0
  128. {metalist-0.3.9 → metalist-0.3.10}/app/services/tokens.py +0 -0
  129. {metalist-0.3.9 → metalist-0.3.10}/app/services/transaction_manager.py +0 -0
  130. {metalist-0.3.9 → metalist-0.3.10}/app/services/undo_service.py +0 -0
  131. {metalist-0.3.9 → metalist-0.3.10}/app/services/undo_state.py +0 -0
  132. {metalist-0.3.9 → metalist-0.3.10}/app/services/view_cache.py +0 -0
  133. {metalist-0.3.9 → metalist-0.3.10}/app/services/view_diff.py +0 -0
  134. {metalist-0.3.9 → metalist-0.3.10}/app/services/view_state.py +0 -0
  135. {metalist-0.3.9 → metalist-0.3.10}/app/services/windows_process_control.py +0 -0
  136. {metalist-0.3.9 → metalist-0.3.10}/app/startup_js_sanity.py +0 -0
  137. {metalist-0.3.9 → metalist-0.3.10}/app/startup_sanity.py +0 -0
  138. {metalist-0.3.9 → metalist-0.3.10}/app/startup_sanity_config.py +0 -0
  139. {metalist-0.3.9 → metalist-0.3.10}/app/static/config/command_palette_tags.json +0 -0
  140. {metalist-0.3.9 → metalist-0.3.10}/app/static/css/forms.css +0 -0
  141. {metalist-0.3.9 → metalist-0.3.10}/app/static/css/main.css +0 -0
  142. {metalist-0.3.9 → metalist-0.3.10}/app/static/img/favicon.ico +0 -0
  143. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/locked.js +0 -0
  144. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/main.js +0 -0
  145. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/activity-tracker.js +0 -0
  146. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/api-client.js +0 -0
  147. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/async-result.js +0 -0
  148. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/auth.js +0 -0
  149. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/client-state-api.js +0 -0
  150. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/client-state-migration.js +0 -0
  151. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/command-palette/click-activation-service.js +0 -0
  152. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/command-palette/command-palette-controller.js +0 -0
  153. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/command-palette/endpoint-registry.js +0 -0
  154. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/command-palette/preferences-store.js +0 -0
  155. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/command-palette/tag-config-loader.js +0 -0
  156. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/command-palette/usage-store.js +0 -0
  157. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/config.js +0 -0
  158. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/connectivity-monitor.js +0 -0
  159. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/context-menu/context-menu-registry.js +0 -0
  160. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/context-menu/context-menu-service.js +0 -0
  161. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/context-menu/input-caret-service.js +0 -0
  162. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/dom-utils-fixed.js +0 -0
  163. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/dom-utils.js +0 -0
  164. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/editor-commands.js +0 -0
  165. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/editor-selection.js +0 -0
  166. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/editor-toolbar.js +0 -0
  167. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/error-handler.js +0 -0
  168. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/error-overlay.js +0 -0
  169. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/location-flags.js +0 -0
  170. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/login-namespace-picker.js +0 -0
  171. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/modals/alphabetize-root-notes-modal.js +0 -0
  172. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/modals/backup-restore-modal.js +0 -0
  173. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/modals/backup-result-modal.js +0 -0
  174. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/modals/backup-retention-modal.js +0 -0
  175. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/modals/backup-settings-modal.js +0 -0
  176. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/modals/base-modal.js +0 -0
  177. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/modals/delete-namespace-modal.js +0 -0
  178. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/modals/delete-namespace-validation.js +0 -0
  179. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/modals/help-modal.js +0 -0
  180. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/modals/memory-modal.js +0 -0
  181. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/modals/namespace-loading-page.js +0 -0
  182. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/modals/namespace-modals.js +0 -0
  183. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/modals/namespace-ports-profile.js +0 -0
  184. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/modals/namespace-rename-validation.js +0 -0
  185. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/modals/ontology-modal.js +0 -0
  186. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/modals/password-modal.js +0 -0
  187. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/modals/prioritize-modal.js +0 -0
  188. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/modals/random-password-modal.js +0 -0
  189. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/modals/reminder-modal.js +0 -0
  190. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/modals/reset-updated-at-modal.js +0 -0
  191. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/modals/session-timeout-modal.js +0 -0
  192. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/modals/sound-manager-modal.js +0 -0
  193. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/modals/version-info-modal.js +0 -0
  194. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/actions/content-actions.js +0 -0
  195. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/actions/history-actions.js +0 -0
  196. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/actions/note-actions.js +0 -0
  197. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/actions/search-actions.js +0 -0
  198. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/actions/selection-actions.js +0 -0
  199. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/actions/ui-actions.js +0 -0
  200. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/events/context-menu-events.js +0 -0
  201. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/events/focus-events.js +0 -0
  202. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/events/inactivity-events.js +0 -0
  203. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/events/input-events.js +0 -0
  204. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/events/keyboard-events.js +0 -0
  205. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/events/mouse-events.js +0 -0
  206. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/events/search-events.js +0 -0
  207. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/mode-context.js +0 -0
  208. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/mode-logger.js +0 -0
  209. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/mode-manager-controller.js +0 -0
  210. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/animated-scroll-service.js +0 -0
  211. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/backlinks-panel-service.js +0 -0
  212. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/clipboard-shortcut-policy-service.js +0 -0
  213. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/collapse-affordance-service.js +0 -0
  214. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/collapse-editing-policy-service.js +0 -0
  215. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/command-gate-service.js +0 -0
  216. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/context-menu-target-service.js +0 -0
  217. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/date-filter-indicator-service.js +0 -0
  218. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/date-filter-service.js +0 -0
  219. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/differential-view-service.js +0 -0
  220. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/edit-session-collapse-policy-service.js +0 -0
  221. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/edit-session-collapse-service.js +0 -0
  222. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/embedded-image-service.js +0 -0
  223. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/file-image-preview-service.js +0 -0
  224. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/file-reference-service.js +0 -0
  225. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/filtered-refresh-selection-service.js +0 -0
  226. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/html-paste-sanitizer-service.js +0 -0
  227. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/image-context-menu-action-service.js +0 -0
  228. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/image-file-insert-choice-modal-service.js +0 -0
  229. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/infinite-scroll-service.js +0 -0
  230. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/link-context-menu-action-service.js +0 -0
  231. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/markdown-render-service.js +0 -0
  232. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/note-click-target-service.js +0 -0
  233. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/note-clipboard-write-service.js +0 -0
  234. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/note-collapse-animation-service.js +0 -0
  235. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/note-context-menu-action-service.js +0 -0
  236. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/note-drag-service.js +0 -0
  237. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/note-reposition-animation-service.js +0 -0
  238. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/note-split-service.js +0 -0
  239. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/password-clipboard-service.js +0 -0
  240. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/polling-service.js +0 -0
  241. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/rhs-panel-service.js +0 -0
  242. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/root-date-separator-service.js +0 -0
  243. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/root-sort-indicator-service.js +0 -0
  244. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/root-sort-service.js +0 -0
  245. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/scroll-anchor-service.js +0 -0
  246. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/scroll-restoration-service.js +0 -0
  247. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/scroll-to-top-service.js +0 -0
  248. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/search-contexts-overlay-service.js +0 -0
  249. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/search-debounce-service.js +0 -0
  250. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/search-input-service.js +0 -0
  251. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/search-interaction-service.js +0 -0
  252. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/search-redaction-reveal-service.js +0 -0
  253. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/search-suggestions-service.js +0 -0
  254. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/search-syntax-service.js +0 -0
  255. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/shell-output-service.js +0 -0
  256. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/tab-dom-cache-service.js +0 -0
  257. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/tab-duplication-service.js +0 -0
  258. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/tab-state-service.js +0 -0
  259. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/tag-bar-service.js +0 -0
  260. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/tag-suggestions-service.js +0 -0
  261. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/tag-syntax-service.js +0 -0
  262. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/todo-toggle-editing-service.js +0 -0
  263. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/mode-manager/services/view-mode-search-shortcut-service.js +0 -0
  264. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/password-generator.js +0 -0
  265. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/reminder-store.js +0 -0
  266. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/reminder-surface-service.js +0 -0
  267. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/selection-markers.js +0 -0
  268. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/session-auth.js +0 -0
  269. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/sound-service.js +0 -0
  270. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/tag-token.js +0 -0
  271. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/modules/uuid.js +0 -0
  272. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/namespace-deleted.js +0 -0
  273. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/namespace-renamed.js +0 -0
  274. {metalist-0.3.9 → metalist-0.3.10}/app/static/js/vendor/markdown-it.min.js +0 -0
  275. {metalist-0.3.9 → metalist-0.3.10}/app/static/video/login-startup.mp4 +0 -0
  276. {metalist-0.3.9 → metalist-0.3.10}/app/templates/base.html +0 -0
  277. {metalist-0.3.9 → metalist-0.3.10}/app/templates/index.html +0 -0
  278. {metalist-0.3.9 → metalist-0.3.10}/app/templates/locked.html +0 -0
  279. {metalist-0.3.9 → metalist-0.3.10}/app/templates/maintenance.html +0 -0
  280. {metalist-0.3.9 → metalist-0.3.10}/app/templates/namespace_deleted.html +0 -0
  281. {metalist-0.3.9 → metalist-0.3.10}/app/templates/namespace_renamed.html +0 -0
  282. {metalist-0.3.9 → metalist-0.3.10}/app/templates/notes_list.html +0 -0
  283. {metalist-0.3.9 → metalist-0.3.10}/app/usecases/__init__.py +0 -0
  284. {metalist-0.3.9 → metalist-0.3.10}/app/usecases/alphabetize_root_notes.py +0 -0
  285. {metalist-0.3.9 → metalist-0.3.10}/app/usecases/base.py +0 -0
  286. {metalist-0.3.9 → metalist-0.3.10}/app/usecases/collapse.py +0 -0
  287. {metalist-0.3.9 → metalist-0.3.10}/app/usecases/copy_note.py +0 -0
  288. {metalist-0.3.9 → metalist-0.3.10}/app/usecases/create_child.py +0 -0
  289. {metalist-0.3.9 → metalist-0.3.10}/app/usecases/create_note.py +0 -0
  290. {metalist-0.3.9 → metalist-0.3.10}/app/usecases/create_sibling.py +0 -0
  291. {metalist-0.3.9 → metalist-0.3.10}/app/usecases/delete_subtree.py +0 -0
  292. {metalist-0.3.9 → metalist-0.3.10}/app/usecases/expand.py +0 -0
  293. {metalist-0.3.9 → metalist-0.3.10}/app/usecases/indent.py +0 -0
  294. {metalist-0.3.9 → metalist-0.3.10}/app/usecases/lock.py +0 -0
  295. {metalist-0.3.9 → metalist-0.3.10}/app/usecases/move.py +0 -0
  296. {metalist-0.3.9 → metalist-0.3.10}/app/usecases/move_to_top.py +0 -0
  297. {metalist-0.3.9 → metalist-0.3.10}/app/usecases/outdent.py +0 -0
  298. {metalist-0.3.9 → metalist-0.3.10}/app/usecases/paste_child.py +0 -0
  299. {metalist-0.3.9 → metalist-0.3.10}/app/usecases/paste_sibling.py +0 -0
  300. {metalist-0.3.9 → metalist-0.3.10}/app/usecases/prioritize.py +0 -0
  301. {metalist-0.3.9 → metalist-0.3.10}/app/usecases/record_edit_mode.py +0 -0
  302. {metalist-0.3.9 → metalist-0.3.10}/app/usecases/redo.py +0 -0
  303. {metalist-0.3.9 → metalist-0.3.10}/app/usecases/rename_tag.py +0 -0
  304. {metalist-0.3.9 → metalist-0.3.10}/app/usecases/reset_updated_at.py +0 -0
  305. {metalist-0.3.9 → metalist-0.3.10}/app/usecases/run_shell.py +0 -0
  306. {metalist-0.3.9 → metalist-0.3.10}/app/usecases/search_comment_autofill.py +0 -0
  307. {metalist-0.3.9 → metalist-0.3.10}/app/usecases/search_context_tags.py +0 -0
  308. {metalist-0.3.9 → metalist-0.3.10}/app/usecases/set_collapse_bulk.py +0 -0
  309. {metalist-0.3.9 → metalist-0.3.10}/app/usecases/set_collapse_in_context.py +0 -0
  310. {metalist-0.3.9 → metalist-0.3.10}/app/usecases/split_note.py +0 -0
  311. {metalist-0.3.9 → metalist-0.3.10}/app/usecases/toggle_reference_mode.py +0 -0
  312. {metalist-0.3.9 → metalist-0.3.10}/app/usecases/toggle_todo_done.py +0 -0
  313. {metalist-0.3.9 → metalist-0.3.10}/app/usecases/undo.py +0 -0
  314. {metalist-0.3.9 → metalist-0.3.10}/app/usecases/unformat_content.py +0 -0
  315. {metalist-0.3.9 → metalist-0.3.10}/app/usecases/update_content.py +0 -0
  316. {metalist-0.3.9 → metalist-0.3.10}/app/usecases/view.py +0 -0
  317. {metalist-0.3.9 → metalist-0.3.10}/app/utils/__init__.py +0 -0
  318. {metalist-0.3.9 → metalist-0.3.10}/app/utils/encryption.py +0 -0
  319. {metalist-0.3.9 → metalist-0.3.10}/app/utils/text_utils.py +0 -0
  320. {metalist-0.3.9 → metalist-0.3.10}/convert-from-legacy.py +0 -0
  321. {metalist-0.3.9 → metalist-0.3.10}/mcp_client.py +0 -0
  322. {metalist-0.3.9 → metalist-0.3.10}/metalist.egg-info/SOURCES.txt +0 -0
  323. {metalist-0.3.9 → metalist-0.3.10}/metalist.egg-info/dependency_links.txt +0 -0
  324. {metalist-0.3.9 → metalist-0.3.10}/metalist.egg-info/entry_points.txt +0 -0
  325. {metalist-0.3.9 → metalist-0.3.10}/metalist.egg-info/requires.txt +0 -0
  326. {metalist-0.3.9 → metalist-0.3.10}/metalist.egg-info/top_level.txt +0 -0
  327. {metalist-0.3.9 → metalist-0.3.10}/pyproject.toml +0 -0
  328. {metalist-0.3.9 → metalist-0.3.10}/scripts/generate-lan-cert.sh +0 -0
  329. {metalist-0.3.9 → metalist-0.3.10}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: metalist
3
- Version: 0.3.9
3
+ Version: 0.3.10
4
4
  Summary: A minimalist single-user note-taking app with SSR, fast in-memory tree operations, and efficient sync.
5
5
  Project-URL: Homepage, https://github.com/evolvingstuff/metalist
6
6
  Project-URL: Repository, https://github.com/evolvingstuff/metalist
@@ -45,6 +45,8 @@ _PROCESS_WAIT_POLL_INTERVAL_SECONDS = 0.25
45
45
  _TERMINATE_GRACE_SECONDS = 5.0
46
46
  _KILL_GRACE_SECONDS = 5.0
47
47
  _PROBE_TAB_ID = "namespace-switcher-probe"
48
+ _LAUNCH_LOG_TAIL_BYTES = 16 * 1024
49
+ ORCHESTRATED_CHILD_ENV_NAME = "METALIST_ORCHESTRATED_CHILD"
48
50
 
49
51
 
50
52
  @dataclass(frozen=True)
@@ -75,6 +77,12 @@ class NamespaceOpenResult:
75
77
  message: str
76
78
 
77
79
 
80
+ @dataclass(frozen=True)
81
+ class NamespaceLaunchProcess:
82
+ process: subprocess.Popen[bytes]
83
+ log_path: Path
84
+
85
+
78
86
  @dataclass(frozen=True)
79
87
  class NamespaceDeleteResult:
80
88
  deleted_namespace: str
@@ -301,7 +309,7 @@ def open_or_launch_namespace(
301
309
  chosen_profile=chosen_profile,
302
310
  allowed_listener_pids=frozenset(),
303
311
  )
304
- _launch_namespace_process(
312
+ launched_process = _launch_namespace_process(
305
313
  environ=environ,
306
314
  chosen_profile=chosen_profile,
307
315
  )
@@ -309,6 +317,7 @@ def open_or_launch_namespace(
309
317
  environ=environ,
310
318
  namespace=normalized_namespace,
311
319
  port=chosen_profile.port,
320
+ launched_process=launched_process,
312
321
  )
313
322
  launched_url = _build_browser_url(environ=environ, port=chosen_profile.port)
314
323
  assert launched_url is not None
@@ -1517,7 +1526,7 @@ def _launch_namespace_process(
1517
1526
  *,
1518
1527
  environ: Mapping[str, str],
1519
1528
  chosen_profile: NamespaceLaunchProfile,
1520
- ) -> None:
1529
+ ) -> NamespaceLaunchProcess:
1521
1530
  child_environ = dict(environ)
1522
1531
  for name in (
1523
1532
  "METALIST_NAMESPACE",
@@ -1527,6 +1536,7 @@ def _launch_namespace_process(
1527
1536
  ):
1528
1537
  if name in child_environ:
1529
1538
  del child_environ[name]
1539
+ child_environ[ORCHESTRATED_CHILD_ENV_NAME] = "1"
1530
1540
  command = _resolve_main_launch_command(environ=child_environ)
1531
1541
  command.extend(
1532
1542
  [
@@ -1546,7 +1556,7 @@ def _launch_namespace_process(
1546
1556
  recycle_direct_append_log_file(path=log_path)
1547
1557
  log_handle = open(log_path, "ab")
1548
1558
  try:
1549
- subprocess.Popen(
1559
+ process = subprocess.Popen(
1550
1560
  command,
1551
1561
  env=child_environ,
1552
1562
  stdout=log_handle,
@@ -1555,6 +1565,7 @@ def _launch_namespace_process(
1555
1565
  )
1556
1566
  finally:
1557
1567
  log_handle.close()
1568
+ return NamespaceLaunchProcess(process=process, log_path=log_path)
1558
1569
 
1559
1570
 
1560
1571
  def _stop_processes_listening_on_port(*, port: int) -> None:
@@ -1584,7 +1595,7 @@ def _restart_running_namespace_process(
1584
1595
  allowed_listener_pids=allowed_listener_pids,
1585
1596
  )
1586
1597
  _stop_processes_listening_on_port(port=running_port)
1587
- _launch_namespace_process(
1598
+ launched_process = _launch_namespace_process(
1588
1599
  environ=environ,
1589
1600
  chosen_profile=chosen_profile,
1590
1601
  )
@@ -1592,20 +1603,44 @@ def _restart_running_namespace_process(
1592
1603
  environ=environ,
1593
1604
  namespace=namespace,
1594
1605
  port=chosen_profile.port,
1606
+ launched_process=launched_process,
1595
1607
  )
1596
1608
 
1597
1609
 
1610
+ def _read_namespace_launch_log_tail(*, log_path: Path) -> str:
1611
+ read_capture = CapturedExceptionContext(OSError)
1612
+ log_bytes: bytes | None = None
1613
+ with read_capture:
1614
+ log_bytes = log_path.read_bytes()
1615
+ if read_capture.captured_exception is not None:
1616
+ return f"<unable to read child log: {read_capture.captured_exception}>"
1617
+ if log_bytes is None:
1618
+ raise RuntimeError("Namespace child log read produced no bytes")
1619
+ tail = log_bytes[-_LAUNCH_LOG_TAIL_BYTES:].decode("utf-8", errors="replace").strip()
1620
+ if tail == "":
1621
+ return "<child log is empty>"
1622
+ return tail
1623
+
1624
+
1598
1625
  def _wait_for_namespace_ready(
1599
1626
  *,
1600
1627
  environ: Mapping[str, str],
1601
1628
  namespace: str,
1602
1629
  port: int,
1630
+ launched_process: NamespaceLaunchProcess,
1603
1631
  ) -> None:
1604
1632
  main_server_config = resolve_main_server_config(environ=environ)
1605
1633
  connect_host = resolve_backend_connect_host(host=main_server_config.host)
1606
1634
  api_prefix = resolve_api_prefix(environ=environ)
1607
1635
  deadline = time.monotonic() + _LAUNCH_READY_TIMEOUT_SECONDS
1608
1636
  while time.monotonic() < deadline:
1637
+ exit_code = launched_process.process.poll()
1638
+ if exit_code is not None:
1639
+ log_tail = _read_namespace_launch_log_tail(log_path=launched_process.log_path)
1640
+ raise RuntimeError(
1641
+ f"Namespace {namespace} process exited with code {exit_code}. "
1642
+ f"Child log: {launched_process.log_path}\n{log_tail}"
1643
+ )
1609
1644
  status_payload = _probe_namespace_status(
1610
1645
  host=connect_host,
1611
1646
  port=port,
@@ -1614,7 +1649,11 @@ def _wait_for_namespace_ready(
1614
1649
  if status_payload is not None and status_payload.get("namespace") == namespace:
1615
1650
  return
1616
1651
  time.sleep(_READY_POLL_INTERVAL_SECONDS)
1617
- raise RuntimeError(f"Timed out waiting for namespace {namespace} on port {port}")
1652
+ log_tail = _read_namespace_launch_log_tail(log_path=launched_process.log_path)
1653
+ raise RuntimeError(
1654
+ f"Timed out waiting for namespace {namespace} on port {port}. "
1655
+ f"Child log: {launched_process.log_path}\n{log_tail}"
1656
+ )
1618
1657
 
1619
1658
 
1620
1659
  def _probe_namespace_status(
@@ -1,3 +1,3 @@
1
1
  """Single authoritative MetaList application version."""
2
2
 
3
- __version__ = "0.3.9"
3
+ __version__ = "0.3.10"
@@ -33,6 +33,7 @@ from app.startup_sanity import assert_startup_sanity
33
33
  from app.services.exception_capture import CapturedExceptionContext
34
34
  from app.services.namespace_switcher import build_namespace_catalog
35
35
  from app.services.namespace_switcher import NamespaceOpenResult
36
+ from app.services.namespace_switcher import ORCHESTRATED_CHILD_ENV_NAME
36
37
  from app.services.namespace_switcher import open_or_launch_all_namespaces
37
38
  from app.services.self_update import schedule_self_update
38
39
  from app.services.windows_process_control import find_listening_pids_for_port as find_windows_listening_pids_for_port
@@ -777,6 +778,13 @@ def main(argv: list[str]) -> None:
777
778
 
778
779
  def cli() -> None:
779
780
  argv = sys.argv[1:]
781
+ if ORCHESTRATED_CHILD_ENV_NAME in os.environ:
782
+ orchestrated_child = os.environ[ORCHESTRATED_CHILD_ENV_NAME]
783
+ if orchestrated_child != "1":
784
+ raise RuntimeError(f"{ORCHESTRATED_CHILD_ENV_NAME} must be '1' when set")
785
+ del os.environ[ORCHESTRATED_CHILD_ENV_NAME]
786
+ run_orchestrated_namespace_server(argv)
787
+ return
780
788
  if len(argv) != 0 and argv[0] == "update":
781
789
  if argv != ["update"]:
782
790
  raise RuntimeError("Usage: metalist update")
@@ -803,6 +811,12 @@ def run_namespace_server(argv: list[str]) -> None:
803
811
  _run_namespace_server_for_current_env(argv=argv)
804
812
 
805
813
 
814
+ def run_orchestrated_namespace_server(argv: list[str]) -> None:
815
+ logging.getLogger("uvicorn.access").addFilter(FilterCheckUpdates())
816
+ apply_main_cli_args_to_environ(argv=argv, environ=os.environ)
817
+ _run_namespace_server_for_current_env(argv=argv)
818
+
819
+
806
820
  def _run_namespace_server_for_current_env(*, argv: list[str]) -> None:
807
821
  database_runtime_config = resolve_database_runtime_config(
808
822
  environ=os.environ,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: metalist
3
- Version: 0.3.9
3
+ Version: 0.3.10
4
4
  Summary: A minimalist single-user note-taking app with SSR, fast in-memory tree operations, and efficient sync.
5
5
  Project-URL: Homepage, https://github.com/evolvingstuff/metalist
6
6
  Project-URL: Repository, https://github.com/evolvingstuff/metalist
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes