MetaList 0.4.1__tar.gz → 0.4.2__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 (432) hide show
  1. {metalist-0.4.1/metalist.egg-info → metalist-0.4.2}/PKG-INFO +4 -2
  2. {metalist-0.4.1 → metalist-0.4.2}/README.md +3 -1
  3. metalist-0.4.2/app/data_directory.py +22 -0
  4. {metalist-0.4.1 → metalist-0.4.2}/app/server_runtime.py +4 -1
  5. {metalist-0.4.1 → metalist-0.4.2}/app/services/agent/skills/__init__.py +0 -1
  6. {metalist-0.4.1 → metalist-0.4.2}/app/static/config/command_palette_tags.json +0 -1
  7. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/command-palette/command-palette-controller.js +2 -28
  8. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/command-palette/tag-config-loader.js +35 -1
  9. {metalist-0.4.1 → metalist-0.4.2}/app/version.py +1 -1
  10. {metalist-0.4.1 → metalist-0.4.2}/main.py +11 -2
  11. {metalist-0.4.1 → metalist-0.4.2/metalist.egg-info}/PKG-INFO +4 -2
  12. {metalist-0.4.1 → metalist-0.4.2}/metalist.egg-info/SOURCES.txt +1 -1
  13. metalist-0.4.1/app/services/agent/skills/search-notes.md +0 -25
  14. {metalist-0.4.1 → metalist-0.4.2}/MANIFEST.in +0 -0
  15. {metalist-0.4.1 → metalist-0.4.2}/app/__init__.py +0 -0
  16. {metalist-0.4.1 → metalist-0.4.2}/app/api/__init__.py +0 -0
  17. {metalist-0.4.1 → metalist-0.4.2}/app/api/deps.py +0 -0
  18. {metalist-0.4.1 → metalist-0.4.2}/app/api/dev.py +0 -0
  19. {metalist-0.4.1 → metalist-0.4.2}/app/api/middleware/auth.py +0 -0
  20. {metalist-0.4.1 → metalist-0.4.2}/app/api/request_auth.py +0 -0
  21. {metalist-0.4.1 → metalist-0.4.2}/app/api/routes/ai.py +0 -0
  22. {metalist-0.4.1 → metalist-0.4.2}/app/api/routes/auth.py +0 -0
  23. {metalist-0.4.1 → metalist-0.4.2}/app/api/routes/backups.py +0 -0
  24. {metalist-0.4.1 → metalist-0.4.2}/app/api/routes/files.py +0 -0
  25. {metalist-0.4.1 → metalist-0.4.2}/app/api/routes/notes.py +0 -0
  26. {metalist-0.4.1 → metalist-0.4.2}/app/api/routes/ontology.py +0 -0
  27. {metalist-0.4.1 → metalist-0.4.2}/app/api/routes/reminders.py +0 -0
  28. {metalist-0.4.1 → metalist-0.4.2}/app/api/routes/remote_images.py +0 -0
  29. {metalist-0.4.1 → metalist-0.4.2}/app/api/routes/sounds.py +0 -0
  30. {metalist-0.4.1 → metalist-0.4.2}/app/api/routes/test.py +0 -0
  31. {metalist-0.4.1 → metalist-0.4.2}/app/api/transactions.py +0 -0
  32. {metalist-0.4.1 → metalist-0.4.2}/app/config.py +0 -0
  33. {metalist-0.4.1 → metalist-0.4.2}/app/db/__init__.py +0 -0
  34. {metalist-0.4.1 → metalist-0.4.2}/app/db/backup_settings_sql.py +0 -0
  35. {metalist-0.4.1 → metalist-0.4.2}/app/db/engine.py +0 -0
  36. {metalist-0.4.1 → metalist-0.4.2}/app/db/file_schema.py +0 -0
  37. {metalist-0.4.1 → metalist-0.4.2}/app/db/file_session.py +0 -0
  38. {metalist-0.4.1 → metalist-0.4.2}/app/db/files_sql.py +0 -0
  39. {metalist-0.4.1 → metalist-0.4.2}/app/db/link_titles_sql.py +0 -0
  40. {metalist-0.4.1 → metalist-0.4.2}/app/db/migrations.py +0 -0
  41. {metalist-0.4.1 → metalist-0.4.2}/app/db/notes_sql.py +0 -0
  42. {metalist-0.4.1 → metalist-0.4.2}/app/db/ontology_rules_sql.py +0 -0
  43. {metalist-0.4.1 → metalist-0.4.2}/app/db/reminders_sql.py +0 -0
  44. {metalist-0.4.1 → metalist-0.4.2}/app/db/schema.py +0 -0
  45. {metalist-0.4.1 → metalist-0.4.2}/app/db/search_history_sql.py +0 -0
  46. {metalist-0.4.1 → metalist-0.4.2}/app/db/session.py +0 -0
  47. {metalist-0.4.1 → metalist-0.4.2}/app/db/settings_sql.py +0 -0
  48. {metalist-0.4.1 → metalist-0.4.2}/app/db/sounds_sql.py +0 -0
  49. {metalist-0.4.1 → metalist-0.4.2}/app/db/tab_state_sql.py +0 -0
  50. {metalist-0.4.1 → metalist-0.4.2}/app/db/version.py +0 -0
  51. {metalist-0.4.1 → metalist-0.4.2}/app/encryption_audit.py +0 -0
  52. {metalist-0.4.1 → metalist-0.4.2}/app/main.py +0 -0
  53. {metalist-0.4.1 → metalist-0.4.2}/app/models/commands.py +0 -0
  54. {metalist-0.4.1 → metalist-0.4.2}/app/models/database.py +0 -0
  55. {metalist-0.4.1 → metalist-0.4.2}/app/models/entities.py +0 -0
  56. {metalist-0.4.1 → metalist-0.4.2}/app/models/enums.py +0 -0
  57. {metalist-0.4.1 → metalist-0.4.2}/app/models/linked_list.py +0 -0
  58. {metalist-0.4.1 → metalist-0.4.2}/app/models/list_operations.py +0 -0
  59. {metalist-0.4.1 → metalist-0.4.2}/app/models/list_traversal.py +0 -0
  60. {metalist-0.4.1 → metalist-0.4.2}/app/models/note_crud.py +0 -0
  61. {metalist-0.4.1 → metalist-0.4.2}/app/models/utils.py +0 -0
  62. {metalist-0.4.1 → metalist-0.4.2}/app/presentation/__init__.py +0 -0
  63. {metalist-0.4.1 → metalist-0.4.2}/app/presentation/render/__init__.py +0 -0
  64. {metalist-0.4.1 → metalist-0.4.2}/app/presentation/render/note_renderer.py +0 -0
  65. {metalist-0.4.1 → metalist-0.4.2}/app/presentation/templates.py +0 -0
  66. {metalist-0.4.1 → metalist-0.4.2}/app/security/authenticated_logging.py +0 -0
  67. {metalist-0.4.1 → metalist-0.4.2}/app/security/encryption.py +0 -0
  68. {metalist-0.4.1 → metalist-0.4.2}/app/security/http_headers.py +0 -0
  69. {metalist-0.4.1 → metalist-0.4.2}/app/security/note_html.py +0 -0
  70. {metalist-0.4.1 → metalist-0.4.2}/app/security/request_boundary.py +0 -0
  71. {metalist-0.4.1 → metalist-0.4.2}/app/security/sensitive_logging.py +0 -0
  72. {metalist-0.4.1 → metalist-0.4.2}/app/security/shell_execution.py +0 -0
  73. {metalist-0.4.1 → metalist-0.4.2}/app/security/validation_errors.py +0 -0
  74. {metalist-0.4.1 → metalist-0.4.2}/app/services/__init__.py +0 -0
  75. {metalist-0.4.1 → metalist-0.4.2}/app/services/agent/__init__.py +0 -0
  76. {metalist-0.4.1 → metalist-0.4.2}/app/services/agent/actions.py +0 -0
  77. {metalist-0.4.1 → metalist-0.4.2}/app/services/agent/cloud_privacy.py +0 -0
  78. {metalist-0.4.1 → metalist-0.4.2}/app/services/agent/context.py +0 -0
  79. {metalist-0.4.1 → metalist-0.4.2}/app/services/agent/evidence_serialization.py +0 -0
  80. {metalist-0.4.1 → metalist-0.4.2}/app/services/agent/inference.py +0 -0
  81. {metalist-0.4.1 → metalist-0.4.2}/app/services/agent/investigation.py +0 -0
  82. {metalist-0.4.1 → metalist-0.4.2}/app/services/agent/model_policy.py +0 -0
  83. {metalist-0.4.1 → metalist-0.4.2}/app/services/agent/ollama_inference.py +0 -0
  84. {metalist-0.4.1 → metalist-0.4.2}/app/services/agent/openai_cost_tracking.py +0 -0
  85. {metalist-0.4.1 → metalist-0.4.2}/app/services/agent/openai_inference.py +0 -0
  86. {metalist-0.4.1 → metalist-0.4.2}/app/services/agent/permissions.py +0 -0
  87. {metalist-0.4.1 → metalist-0.4.2}/app/services/agent/prompt_settings.py +0 -0
  88. {metalist-0.4.1 → metalist-0.4.2}/app/services/agent/prompts/__init__.py +0 -0
  89. {metalist-0.4.1 → metalist-0.4.2}/app/services/agent/prompts/final-response.md +0 -0
  90. {metalist-0.4.1 → metalist-0.4.2}/app/services/agent/prompts/system.md +0 -0
  91. {metalist-0.4.1 → metalist-0.4.2}/app/services/agent/prompts/tool-result.md +0 -0
  92. {metalist-0.4.1 → metalist-0.4.2}/app/services/agent/retrieval_settings.py +0 -0
  93. {metalist-0.4.1 → metalist-0.4.2}/app/services/agent/runtime.py +0 -0
  94. {metalist-0.4.1 → metalist-0.4.2}/app/services/agent/scope.py +0 -0
  95. {metalist-0.4.1 → metalist-0.4.2}/app/services/agent/skill_settings.py +0 -0
  96. {metalist-0.4.1 → metalist-0.4.2}/app/services/agent/skills/scoped-investigation.md +0 -0
  97. {metalist-0.4.1 → metalist-0.4.2}/app/services/agent/tagging.py +0 -0
  98. {metalist-0.4.1 → metalist-0.4.2}/app/services/agent/tagging_run.py +0 -0
  99. {metalist-0.4.1 → metalist-0.4.2}/app/services/agent/token_estimation.py +0 -0
  100. {metalist-0.4.1 → metalist-0.4.2}/app/services/agent/tools.py +0 -0
  101. {metalist-0.4.1 → metalist-0.4.2}/app/services/agent/trace.py +0 -0
  102. {metalist-0.4.1 → metalist-0.4.2}/app/services/ai_chat.py +0 -0
  103. {metalist-0.4.1 → metalist-0.4.2}/app/services/ai_chat_rendering.py +0 -0
  104. {metalist-0.4.1 → metalist-0.4.2}/app/services/auth.py +0 -0
  105. {metalist-0.4.1 → metalist-0.4.2}/app/services/auth_cache_state.py +0 -0
  106. {metalist-0.4.1 → metalist-0.4.2}/app/services/auth_service.py +0 -0
  107. {metalist-0.4.1 → metalist-0.4.2}/app/services/backlink_index.py +0 -0
  108. {metalist-0.4.1 → metalist-0.4.2}/app/services/backlinks.py +0 -0
  109. {metalist-0.4.1 → metalist-0.4.2}/app/services/backup_service.py +0 -0
  110. {metalist-0.4.1 → metalist-0.4.2}/app/services/backup_settings_service.py +0 -0
  111. {metalist-0.4.1 → metalist-0.4.2}/app/services/base_service.py +0 -0
  112. {metalist-0.4.1 → metalist-0.4.2}/app/services/bulk_operation.py +0 -0
  113. {metalist-0.4.1 → metalist-0.4.2}/app/services/client_state_service.py +0 -0
  114. {metalist-0.4.1 → metalist-0.4.2}/app/services/content_cache.py +0 -0
  115. {metalist-0.4.1 → metalist-0.4.2}/app/services/content_formatting.py +0 -0
  116. {metalist-0.4.1 → metalist-0.4.2}/app/services/dependencies.py +0 -0
  117. {metalist-0.4.1 → metalist-0.4.2}/app/services/diagnostics.py +0 -0
  118. {metalist-0.4.1 → metalist-0.4.2}/app/services/embedded_references.py +0 -0
  119. {metalist-0.4.1 → metalist-0.4.2}/app/services/encryption.py +0 -0
  120. {metalist-0.4.1 → metalist-0.4.2}/app/services/exception_capture.py +0 -0
  121. {metalist-0.4.1 → metalist-0.4.2}/app/services/file_registry.py +0 -0
  122. {metalist-0.4.1 → metalist-0.4.2}/app/services/file_storage.py +0 -0
  123. {metalist-0.4.1 → metalist-0.4.2}/app/services/footnote_layout.py +0 -0
  124. {metalist-0.4.1 → metalist-0.4.2}/app/services/footnote_rendering.py +0 -0
  125. {metalist-0.4.1 → metalist-0.4.2}/app/services/html_export.py +0 -0
  126. {metalist-0.4.1 → metalist-0.4.2}/app/services/html_unformatting.py +0 -0
  127. {metalist-0.4.1 → metalist-0.4.2}/app/services/hydration_state.py +0 -0
  128. {metalist-0.4.1 → metalist-0.4.2}/app/services/image_size_formatting.py +0 -0
  129. {metalist-0.4.1 → metalist-0.4.2}/app/services/inline_image_occurrences.py +0 -0
  130. {metalist-0.4.1 → metalist-0.4.2}/app/services/integrity.py +0 -0
  131. {metalist-0.4.1 → metalist-0.4.2}/app/services/latex_rendering.py +0 -0
  132. {metalist-0.4.1 → metalist-0.4.2}/app/services/link_titles.py +0 -0
  133. {metalist-0.4.1 → metalist-0.4.2}/app/services/login_rate_limit.py +0 -0
  134. {metalist-0.4.1 → metalist-0.4.2}/app/services/maintenance_mode.py +0 -0
  135. {metalist-0.4.1 → metalist-0.4.2}/app/services/managed_ollama_runtime.py +0 -0
  136. {metalist-0.4.1 → metalist-0.4.2}/app/services/markdown_rendering.py +0 -0
  137. {metalist-0.4.1 → metalist-0.4.2}/app/services/namespace_deletion_jobs.py +0 -0
  138. {metalist-0.4.1 → metalist-0.4.2}/app/services/namespace_deletion_worker.py +0 -0
  139. {metalist-0.4.1 → metalist-0.4.2}/app/services/namespace_rename_jobs.py +0 -0
  140. {metalist-0.4.1 → metalist-0.4.2}/app/services/namespace_rename_worker.py +0 -0
  141. {metalist-0.4.1 → metalist-0.4.2}/app/services/namespace_runtime_guard.py +0 -0
  142. {metalist-0.4.1 → metalist-0.4.2}/app/services/namespace_switcher.py +0 -0
  143. {metalist-0.4.1 → metalist-0.4.2}/app/services/note_fullscreen.py +0 -0
  144. {metalist-0.4.1 → metalist-0.4.2}/app/services/note_image_tags.py +0 -0
  145. {metalist-0.4.1 → metalist-0.4.2}/app/services/note_service.py +0 -0
  146. {metalist-0.4.1 → metalist-0.4.2}/app/services/note_store.py +0 -0
  147. {metalist-0.4.1 → metalist-0.4.2}/app/services/ollama_provider.py +0 -0
  148. {metalist-0.4.1 → metalist-0.4.2}/app/services/ontology_rules_store.py +0 -0
  149. {metalist-0.4.1 → metalist-0.4.2}/app/services/openai_credentials.py +0 -0
  150. {metalist-0.4.1 → metalist-0.4.2}/app/services/query_service.py +0 -0
  151. {metalist-0.4.1 → metalist-0.4.2}/app/services/reference_presentation.py +0 -0
  152. {metalist-0.4.1 → metalist-0.4.2}/app/services/reminders.py +0 -0
  153. {metalist-0.4.1 → metalist-0.4.2}/app/services/remote_image_proxy.py +0 -0
  154. {metalist-0.4.1 → metalist-0.4.2}/app/services/root_sorting.py +0 -0
  155. {metalist-0.4.1 → metalist-0.4.2}/app/services/runtime_hardening.py +0 -0
  156. {metalist-0.4.1 → metalist-0.4.2}/app/services/runtime_lock.py +0 -0
  157. {metalist-0.4.1 → metalist-0.4.2}/app/services/search_history.py +0 -0
  158. {metalist-0.4.1 → metalist-0.4.2}/app/services/search_history_storage.py +0 -0
  159. {metalist-0.4.1 → metalist-0.4.2}/app/services/search_index.py +0 -0
  160. {metalist-0.4.1 → metalist-0.4.2}/app/services/search_query.py +0 -0
  161. {metalist-0.4.1 → metalist-0.4.2}/app/services/search_text.py +0 -0
  162. {metalist-0.4.1 → metalist-0.4.2}/app/services/selected_text_tag.py +0 -0
  163. {metalist-0.4.1 → metalist-0.4.2}/app/services/self_update.py +0 -0
  164. {metalist-0.4.1 → metalist-0.4.2}/app/services/session_timeout_service.py +0 -0
  165. {metalist-0.4.1 → metalist-0.4.2}/app/services/shell_session_service.py +0 -0
  166. {metalist-0.4.1 → metalist-0.4.2}/app/services/snapshot.py +0 -0
  167. {metalist-0.4.1 → metalist-0.4.2}/app/services/sound_storage.py +0 -0
  168. {metalist-0.4.1 → metalist-0.4.2}/app/services/store.py +0 -0
  169. {metalist-0.4.1 → metalist-0.4.2}/app/services/sync.py +0 -0
  170. {metalist-0.4.1 → metalist-0.4.2}/app/services/sync_state.py +0 -0
  171. {metalist-0.4.1 → metalist-0.4.2}/app/services/tab_state.py +0 -0
  172. {metalist-0.4.1 → metalist-0.4.2}/app/services/tag_case.py +0 -0
  173. {metalist-0.4.1 → metalist-0.4.2}/app/services/tag_ontology.py +0 -0
  174. {metalist-0.4.1 → metalist-0.4.2}/app/services/tag_rename.py +0 -0
  175. {metalist-0.4.1 → metalist-0.4.2}/app/services/tag_suggestions.py +0 -0
  176. {metalist-0.4.1 → metalist-0.4.2}/app/services/tag_term_matching.py +0 -0
  177. {metalist-0.4.1 → metalist-0.4.2}/app/services/test_reset.py +0 -0
  178. {metalist-0.4.1 → metalist-0.4.2}/app/services/tokens.py +0 -0
  179. {metalist-0.4.1 → metalist-0.4.2}/app/services/transaction_manager.py +0 -0
  180. {metalist-0.4.1 → metalist-0.4.2}/app/services/undo_service.py +0 -0
  181. {metalist-0.4.1 → metalist-0.4.2}/app/services/undo_state.py +0 -0
  182. {metalist-0.4.1 → metalist-0.4.2}/app/services/update_backups.py +0 -0
  183. {metalist-0.4.1 → metalist-0.4.2}/app/services/view_cache.py +0 -0
  184. {metalist-0.4.1 → metalist-0.4.2}/app/services/view_diff.py +0 -0
  185. {metalist-0.4.1 → metalist-0.4.2}/app/services/view_state.py +0 -0
  186. {metalist-0.4.1 → metalist-0.4.2}/app/services/windows_process_control.py +0 -0
  187. {metalist-0.4.1 → metalist-0.4.2}/app/startup_environment.py +0 -0
  188. {metalist-0.4.1 → metalist-0.4.2}/app/startup_js_sanity.py +0 -0
  189. {metalist-0.4.1 → metalist-0.4.2}/app/startup_sanity.py +0 -0
  190. {metalist-0.4.1 → metalist-0.4.2}/app/startup_sanity_config.py +0 -0
  191. {metalist-0.4.1 → metalist-0.4.2}/app/static/css/forms.css +0 -0
  192. {metalist-0.4.1 → metalist-0.4.2}/app/static/css/main.css +0 -0
  193. {metalist-0.4.1 → metalist-0.4.2}/app/static/img/favicon.ico +0 -0
  194. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/locked.js +0 -0
  195. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/main.js +0 -0
  196. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/activity-tracker.js +0 -0
  197. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/ai-chat/agent-prompt-service.js +0 -0
  198. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/ai-chat/agent-retrieval-settings.js +0 -0
  199. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/ai-chat/ai-agent-debug-view.js +0 -0
  200. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/ai-chat/ai-chat-api.js +0 -0
  201. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/ai-chat/ai-chat-panel-controller.js +0 -0
  202. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/ai-chat/ai-chat-panel-service.js +0 -0
  203. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/ai-chat/ai-thinking-level-service.js +0 -0
  204. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/ai-chat/bulk-elapsed-clock.js +0 -0
  205. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/ai-chat/bulk-proposal-ui.js +0 -0
  206. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/ai-chat/cloud-privacy-policy.js +0 -0
  207. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/ai-chat/proposal-menu.js +0 -0
  208. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/api-client.js +0 -0
  209. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/api-failure-classification-service.js +0 -0
  210. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/async-result.js +0 -0
  211. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/auth.js +0 -0
  212. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/client-state-api.js +0 -0
  213. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/client-state-migration.js +0 -0
  214. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/command-palette/activation-auth-policy.js +0 -0
  215. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/command-palette/backup-command-availability.js +0 -0
  216. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/command-palette/click-activation-service.js +0 -0
  217. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/command-palette/endpoint-registry.js +0 -0
  218. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/command-palette/note-layout-preferences.js +0 -0
  219. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/command-palette/preferences-store.js +0 -0
  220. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/command-palette/usage-store.js +0 -0
  221. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/config.js +0 -0
  222. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/connectivity-monitor.js +0 -0
  223. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/context-menu/context-menu-registry.js +0 -0
  224. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/context-menu/context-menu-service.js +0 -0
  225. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/context-menu/context-menu-target-service.js +0 -0
  226. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/context-menu/input-caret-service.js +0 -0
  227. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/disconnect-editing-state-service.js +0 -0
  228. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/dom-utils-fixed.js +0 -0
  229. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/dom-utils.js +0 -0
  230. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/editor-commands.js +0 -0
  231. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/editor-selection.js +0 -0
  232. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/editor-toolbar.js +0 -0
  233. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/elapsed-time.js +0 -0
  234. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/error-handler.js +0 -0
  235. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/error-overlay.js +0 -0
  236. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/location-flags.js +0 -0
  237. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/login-namespace-picker.js +0 -0
  238. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/modals/agent-prompt-editor-modal.js +0 -0
  239. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/modals/ai-agent-settings-modal.js +0 -0
  240. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/modals/alphabetize-root-notes-modal.js +0 -0
  241. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/modals/backup-restore-modal.js +0 -0
  242. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/modals/backup-result-modal.js +0 -0
  243. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/modals/backup-retention-modal.js +0 -0
  244. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/modals/backup-settings-modal.js +0 -0
  245. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/modals/base-modal.js +0 -0
  246. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/modals/confirmation-modal.js +0 -0
  247. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/modals/delete-namespace-modal.js +0 -0
  248. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/modals/delete-namespace-validation.js +0 -0
  249. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/modals/help-modal.js +0 -0
  250. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/modals/namespace-loading-page.js +0 -0
  251. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/modals/namespace-modals.js +0 -0
  252. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/modals/namespace-ports-profile.js +0 -0
  253. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/modals/namespace-rename-validation.js +0 -0
  254. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/modals/note-layout-appearance-modal.js +0 -0
  255. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/modals/ontology-modal.js +0 -0
  256. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/modals/password-modal.js +0 -0
  257. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/modals/prioritize-modal.js +0 -0
  258. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/modals/random-password-modal.js +0 -0
  259. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/modals/reminder-modal.js +0 -0
  260. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/modals/reset-updated-at-modal.js +0 -0
  261. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/modals/search-suggestion-statistics-modal.js +0 -0
  262. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/modals/session-timeout-modal.js +0 -0
  263. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/modals/sound-manager-modal.js +0 -0
  264. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/modals/version-info-modal.js +0 -0
  265. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/actions/content-actions.js +0 -0
  266. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/actions/history-actions.js +0 -0
  267. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/actions/note-actions.js +0 -0
  268. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/actions/search-actions.js +0 -0
  269. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/actions/selection-actions.js +0 -0
  270. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/actions/ui-actions.js +0 -0
  271. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/events/context-menu-events.js +0 -0
  272. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/events/focus-events.js +0 -0
  273. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/events/inactivity-events.js +0 -0
  274. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/events/input-events.js +0 -0
  275. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/events/keyboard-events.js +0 -0
  276. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/events/mouse-events.js +0 -0
  277. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/events/search-events.js +0 -0
  278. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/mode-context.js +0 -0
  279. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/mode-logger.js +0 -0
  280. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/mode-manager-controller.js +0 -0
  281. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/add-style-service.js +0 -0
  282. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/animated-scroll-service.js +0 -0
  283. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/backlinks-navigation-service.js +0 -0
  284. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/backlinks-panel-service.js +0 -0
  285. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/clipboard-shortcut-policy-service.js +0 -0
  286. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/collapse-affordance-service.js +0 -0
  287. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/collapse-editing-policy-service.js +0 -0
  288. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/command-gate-service.js +0 -0
  289. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/context-menu-target-service.js +0 -0
  290. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/deselect-selection-state-service.js +0 -0
  291. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/differential-view-service.js +0 -0
  292. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/edit-session-collapse-policy-service.js +0 -0
  293. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/edit-session-collapse-service.js +0 -0
  294. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/embedded-image-service.js +0 -0
  295. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/file-drop-policy-service.js +0 -0
  296. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/file-image-preview-service.js +0 -0
  297. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/file-reference-service.js +0 -0
  298. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/filtered-refresh-selection-service.js +0 -0
  299. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/footnote-navigation-service.js +0 -0
  300. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/history-selection-policy-service.js +0 -0
  301. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/history-shortcut-policy-service.js +0 -0
  302. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/html-paste-sanitizer-service.js +0 -0
  303. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/image-context-menu-action-service.js +0 -0
  304. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/image-file-insert-choice-modal-service.js +0 -0
  305. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/infinite-scroll-service.js +0 -0
  306. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/link-context-menu-action-service.js +0 -0
  307. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/markdown-render-service.js +0 -0
  308. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/mermaid-render-service.js +0 -0
  309. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/note-click-target-service.js +0 -0
  310. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/note-clipboard-write-service.js +0 -0
  311. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/note-collapse-animation-service.js +0 -0
  312. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/note-context-menu-action-service.js +0 -0
  313. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/note-delete-shortcut-policy-service.js +0 -0
  314. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/note-drag-service.js +0 -0
  315. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/note-fullscreen-service.js +0 -0
  316. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/note-reposition-animation-service.js +0 -0
  317. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/note-split-service.js +0 -0
  318. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/note-timestamp-hover-service.js +0 -0
  319. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/password-clipboard-service.js +0 -0
  320. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/polling-service.js +0 -0
  321. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/reference-source-navigation-service.js +0 -0
  322. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/remote-image-proxy-service.js +0 -0
  323. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/remove-formatting-service.js +0 -0
  324. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/root-date-separator-service.js +0 -0
  325. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/root-sort-indicator-service.js +0 -0
  326. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/root-sort-service.js +0 -0
  327. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/scroll-anchor-service.js +0 -0
  328. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/scroll-restoration-service.js +0 -0
  329. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/scroll-to-top-service.js +0 -0
  330. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/search-contexts-overlay-service.js +0 -0
  331. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/search-debounce-service.js +0 -0
  332. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/search-input-service.js +0 -0
  333. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/search-interaction-service.js +0 -0
  334. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/search-redaction-reveal-service.js +0 -0
  335. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/search-suggestion-statistics-service.js +0 -0
  336. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/search-suggestion-window-labels-service.js +0 -0
  337. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/search-suggestion-windows-service.js +0 -0
  338. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/search-suggestions-service.js +0 -0
  339. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/search-syntax-service.js +0 -0
  340. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/selected-formatting-removal-service.js +0 -0
  341. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/selected-text-tag-service.js +0 -0
  342. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/shell-output-service.js +0 -0
  343. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/tab-dom-cache-service.js +0 -0
  344. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/tab-drag-service.js +0 -0
  345. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/tab-duplication-service.js +0 -0
  346. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/tab-state-service.js +0 -0
  347. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/tag-bar-service.js +0 -0
  348. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/tag-proposal-service.js +0 -0
  349. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/tag-suggestions-service.js +0 -0
  350. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/tag-syntax-service.js +0 -0
  351. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/todo-toggle-editing-service.js +0 -0
  352. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/untagged-view-indicator-service.js +0 -0
  353. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/mode-manager/services/view-mode-search-shortcut-service.js +0 -0
  354. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/note-html-sanitizer.js +0 -0
  355. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/password-generator.js +0 -0
  356. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/password-operation-response.js +0 -0
  357. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/password-policy.js +0 -0
  358. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/password-strength.js +0 -0
  359. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/reminder-store.js +0 -0
  360. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/reminder-surface-service.js +0 -0
  361. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/selection-markers.js +0 -0
  362. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/session-auth.js +0 -0
  363. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/sound-service.js +0 -0
  364. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/tag-token.js +0 -0
  365. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/modules/uuid.js +0 -0
  366. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/namespace-deleted.js +0 -0
  367. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/namespace-renamed.js +0 -0
  368. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/vendor/dompurify-3.4.12.LICENSE.txt +0 -0
  369. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/vendor/dompurify-3.4.12.min.js +0 -0
  370. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/vendor/markdown-it.min.js +0 -0
  371. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/vendor/mermaid-11.9.0.LICENSE.txt +0 -0
  372. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/vendor/mermaid-11.9.0.min.js +0 -0
  373. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/vendor/zxcvbn-4.4.2.LICENSE.txt +0 -0
  374. {metalist-0.4.1 → metalist-0.4.2}/app/static/js/vendor/zxcvbn-4.4.2.js +0 -0
  375. {metalist-0.4.1 → metalist-0.4.2}/app/static/note-html-policy.json +0 -0
  376. {metalist-0.4.1 → metalist-0.4.2}/app/static/video/login-startup.mp4 +0 -0
  377. {metalist-0.4.1 → metalist-0.4.2}/app/templates/base.html +0 -0
  378. {metalist-0.4.1 → metalist-0.4.2}/app/templates/index.html +0 -0
  379. {metalist-0.4.1 → metalist-0.4.2}/app/templates/locked.html +0 -0
  380. {metalist-0.4.1 → metalist-0.4.2}/app/templates/maintenance.html +0 -0
  381. {metalist-0.4.1 → metalist-0.4.2}/app/templates/namespace_deleted.html +0 -0
  382. {metalist-0.4.1 → metalist-0.4.2}/app/templates/namespace_renamed.html +0 -0
  383. {metalist-0.4.1 → metalist-0.4.2}/app/templates/notes_list.html +0 -0
  384. {metalist-0.4.1 → metalist-0.4.2}/app/usecases/__init__.py +0 -0
  385. {metalist-0.4.1 → metalist-0.4.2}/app/usecases/add_selected_text_tag.py +0 -0
  386. {metalist-0.4.1 → metalist-0.4.2}/app/usecases/alphabetize_root_notes.py +0 -0
  387. {metalist-0.4.1 → metalist-0.4.2}/app/usecases/base.py +0 -0
  388. {metalist-0.4.1 → metalist-0.4.2}/app/usecases/bulk_tag_proposals.py +0 -0
  389. {metalist-0.4.1 → metalist-0.4.2}/app/usecases/collapse.py +0 -0
  390. {metalist-0.4.1 → metalist-0.4.2}/app/usecases/copy_note.py +0 -0
  391. {metalist-0.4.1 → metalist-0.4.2}/app/usecases/create_child.py +0 -0
  392. {metalist-0.4.1 → metalist-0.4.2}/app/usecases/create_note.py +0 -0
  393. {metalist-0.4.1 → metalist-0.4.2}/app/usecases/create_sibling.py +0 -0
  394. {metalist-0.4.1 → metalist-0.4.2}/app/usecases/delete_subtree.py +0 -0
  395. {metalist-0.4.1 → metalist-0.4.2}/app/usecases/delete_tag.py +0 -0
  396. {metalist-0.4.1 → metalist-0.4.2}/app/usecases/expand.py +0 -0
  397. {metalist-0.4.1 → metalist-0.4.2}/app/usecases/indent.py +0 -0
  398. {metalist-0.4.1 → metalist-0.4.2}/app/usecases/lock.py +0 -0
  399. {metalist-0.4.1 → metalist-0.4.2}/app/usecases/move.py +0 -0
  400. {metalist-0.4.1 → metalist-0.4.2}/app/usecases/move_to_top.py +0 -0
  401. {metalist-0.4.1 → metalist-0.4.2}/app/usecases/outdent.py +0 -0
  402. {metalist-0.4.1 → metalist-0.4.2}/app/usecases/paste_child.py +0 -0
  403. {metalist-0.4.1 → metalist-0.4.2}/app/usecases/paste_sibling.py +0 -0
  404. {metalist-0.4.1 → metalist-0.4.2}/app/usecases/prioritize.py +0 -0
  405. {metalist-0.4.1 → metalist-0.4.2}/app/usecases/redo.py +0 -0
  406. {metalist-0.4.1 → metalist-0.4.2}/app/usecases/rename_tag.py +0 -0
  407. {metalist-0.4.1 → metalist-0.4.2}/app/usecases/reset_updated_at.py +0 -0
  408. {metalist-0.4.1 → metalist-0.4.2}/app/usecases/resize_image.py +0 -0
  409. {metalist-0.4.1 → metalist-0.4.2}/app/usecases/run_shell.py +0 -0
  410. {metalist-0.4.1 → metalist-0.4.2}/app/usecases/search_comment_autofill.py +0 -0
  411. {metalist-0.4.1 → metalist-0.4.2}/app/usecases/search_context_tags.py +0 -0
  412. {metalist-0.4.1 → metalist-0.4.2}/app/usecases/set_collapse_bulk.py +0 -0
  413. {metalist-0.4.1 → metalist-0.4.2}/app/usecases/set_collapse_in_context.py +0 -0
  414. {metalist-0.4.1 → metalist-0.4.2}/app/usecases/split_note.py +0 -0
  415. {metalist-0.4.1 → metalist-0.4.2}/app/usecases/tag_proposals.py +0 -0
  416. {metalist-0.4.1 → metalist-0.4.2}/app/usecases/toggle_reference_mode.py +0 -0
  417. {metalist-0.4.1 → metalist-0.4.2}/app/usecases/toggle_todo_done.py +0 -0
  418. {metalist-0.4.1 → metalist-0.4.2}/app/usecases/undo.py +0 -0
  419. {metalist-0.4.1 → metalist-0.4.2}/app/usecases/unformat_content.py +0 -0
  420. {metalist-0.4.1 → metalist-0.4.2}/app/usecases/update_content.py +0 -0
  421. {metalist-0.4.1 → metalist-0.4.2}/app/usecases/view.py +0 -0
  422. {metalist-0.4.1 → metalist-0.4.2}/app/utils/__init__.py +0 -0
  423. {metalist-0.4.1 → metalist-0.4.2}/app/utils/encryption.py +0 -0
  424. {metalist-0.4.1 → metalist-0.4.2}/app/utils/text_utils.py +0 -0
  425. {metalist-0.4.1 → metalist-0.4.2}/convert-from-legacy.py +0 -0
  426. {metalist-0.4.1 → metalist-0.4.2}/metalist.egg-info/dependency_links.txt +0 -0
  427. {metalist-0.4.1 → metalist-0.4.2}/metalist.egg-info/entry_points.txt +0 -0
  428. {metalist-0.4.1 → metalist-0.4.2}/metalist.egg-info/requires.txt +0 -0
  429. {metalist-0.4.1 → metalist-0.4.2}/metalist.egg-info/top_level.txt +0 -0
  430. {metalist-0.4.1 → metalist-0.4.2}/pyproject.toml +0 -0
  431. {metalist-0.4.1 → metalist-0.4.2}/scripts/generate-lan-cert.sh +0 -0
  432. {metalist-0.4.1 → metalist-0.4.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: metalist
3
- Version: 0.4.1
3
+ Version: 0.4.2
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
@@ -106,7 +106,7 @@ The updater checks the installed version against the latest PyPI release first.
106
106
 
107
107
  Backups are saved to `~/MetaList/namespaces/<namespace>/backups/<namespace>-<timestamp>.metalist-backup.tar.gz`; the updater prints each verified path. Existing backups remain unchanged and are not pruned. If any backup fails, the update aborts with the current installation intact; run `metalist` to restart the stopped servers after resolving the failure.
108
108
 
109
- Only after all backups pass does the updater hand off to an external PowerShell process on Windows or `/bin/sh` on macOS/Linux so the installed environment can unlock. It installs the exact version reported by PyPI with a forced cache refresh, launches MetaList again, and reports the installed version (for example, `MetaList updated to v0.4.1.`). This protection requires an installed version containing the backup safeguard and applies to `metalist update`; direct pip/uv install commands do not run it.
109
+ Only after all backups pass does the updater hand off to an external PowerShell process on Windows or `/bin/sh` on macOS/Linux so the installed environment can unlock. It installs the exact version reported by PyPI with a forced cache refresh, launches MetaList again, and reports the installed version (for example, `MetaList updated to v0.4.2.`). This protection requires an installed version containing the backup safeguard and applies to `metalist update`; direct pip/uv install commands do not run it.
110
110
 
111
111
  For pip, users can run `pip install metalist`. For a non-editable local install from this checkout, use `uv pip install .` or `pip install .` instead of the editable command below.
112
112
 
@@ -119,6 +119,8 @@ npm install
119
119
  ```
120
120
 
121
121
  ### Run
122
+
123
+ Persistent data defaults to `~/MetaList`. Set `METALIST_DATA_DIRECTORY` to an absolute directory path before launch to use a separate data root, including namespaces, backups, certificates, logs, and runtime jobs. This is used by release tests to keep their disposable data separate from real notes.
122
124
  The installed entrypoint starts or restarts every known namespace, prints their URLs, and exits:
123
125
  ```bash
124
126
  metalist
@@ -69,7 +69,7 @@ The updater checks the installed version against the latest PyPI release first.
69
69
 
70
70
  Backups are saved to `~/MetaList/namespaces/<namespace>/backups/<namespace>-<timestamp>.metalist-backup.tar.gz`; the updater prints each verified path. Existing backups remain unchanged and are not pruned. If any backup fails, the update aborts with the current installation intact; run `metalist` to restart the stopped servers after resolving the failure.
71
71
 
72
- Only after all backups pass does the updater hand off to an external PowerShell process on Windows or `/bin/sh` on macOS/Linux so the installed environment can unlock. It installs the exact version reported by PyPI with a forced cache refresh, launches MetaList again, and reports the installed version (for example, `MetaList updated to v0.4.1.`). This protection requires an installed version containing the backup safeguard and applies to `metalist update`; direct pip/uv install commands do not run it.
72
+ Only after all backups pass does the updater hand off to an external PowerShell process on Windows or `/bin/sh` on macOS/Linux so the installed environment can unlock. It installs the exact version reported by PyPI with a forced cache refresh, launches MetaList again, and reports the installed version (for example, `MetaList updated to v0.4.2.`). This protection requires an installed version containing the backup safeguard and applies to `metalist update`; direct pip/uv install commands do not run it.
73
73
 
74
74
  For pip, users can run `pip install metalist`. For a non-editable local install from this checkout, use `uv pip install .` or `pip install .` instead of the editable command below.
75
75
 
@@ -82,6 +82,8 @@ npm install
82
82
  ```
83
83
 
84
84
  ### Run
85
+
86
+ Persistent data defaults to `~/MetaList`. Set `METALIST_DATA_DIRECTORY` to an absolute directory path before launch to use a separate data root, including namespaces, backups, certificates, logs, and runtime jobs. This is used by release tests to keep their disposable data separate from real notes.
85
87
  The installed entrypoint starts or restarts every known namespace, prints their URLs, and exits:
86
88
  ```bash
87
89
  metalist
@@ -0,0 +1,22 @@
1
+ """Resolve the persistent data root without importing application runtime state.
2
+
3
+ METALIST_DATA_DIRECTORY accepts an absolute directory path. When omitted,
4
+ MetaList uses the current user's ~/MetaList directory.
5
+ """
6
+
7
+ from __future__ import annotations
8
+
9
+ from collections.abc import Mapping
10
+ from pathlib import Path
11
+
12
+
13
+ def resolve_data_directory(*, environ: Mapping[str, str]) -> Path:
14
+ if "METALIST_DATA_DIRECTORY" not in environ:
15
+ return Path.home() / "MetaList"
16
+ configured_directory = environ["METALIST_DATA_DIRECTORY"]
17
+ if not isinstance(configured_directory, str) or configured_directory.strip() == "":
18
+ raise ValueError("METALIST_DATA_DIRECTORY must be a nonempty absolute path")
19
+ directory = Path(configured_directory)
20
+ if not directory.is_absolute():
21
+ raise ValueError("METALIST_DATA_DIRECTORY must be an absolute path")
22
+ return directory
@@ -17,6 +17,7 @@ from cryptography import x509
17
17
  from cryptography.hazmat.primitives import hashes, serialization
18
18
  from cryptography.hazmat.primitives.asymmetric import rsa
19
19
  from cryptography.x509.oid import NameOID
20
+ from app.data_directory import resolve_data_directory
20
21
  from app.db.schema import NAMESPACE_LAUNCH_PROFILE_TABLE
21
22
  from app.db.schema import initialize_schema
22
23
  from app.db.settings_sql import insert_default_settings
@@ -28,10 +29,12 @@ from app.security.shell_execution import SHELL_EXECUTION_ENV_NAME
28
29
  _LOOPBACK_BIND_HOSTS = frozenset({"127.0.0.1", "localhost", "0.0.0.0", "::1"})
29
30
  _DEFAULT_API_PREFIX = "/api2"
30
31
  _DEFAULT_V1_API_PREFIX = "/api"
31
- _DEFAULT_DATABASE_DIRECTORY = Path.home() / "MetaList"
32
+ _DEFAULT_DATABASE_DIRECTORY = resolve_data_directory(environ=os.environ)
32
33
  _DEFAULT_CERT_PATH = _DEFAULT_DATABASE_DIRECTORY / "certs" / "metalist-cert.pem"
33
34
  _DEFAULT_KEY_PATH = _DEFAULT_DATABASE_DIRECTORY / "certs" / "metalist-key.pem"
34
35
  _DEFAULT_RUNTIME_DIRECTORY = Path(tempfile.gettempdir()) / "metalist-runtime"
36
+ if "METALIST_DATA_DIRECTORY" in os.environ:
37
+ _DEFAULT_RUNTIME_DIRECTORY = _DEFAULT_DATABASE_DIRECTORY / "runtime"
35
38
  _DEFAULT_NAMESPACES_DIRECTORY_NAME = "namespaces"
36
39
  _DEFAULT_NAMESPACE_DELETE_JOBS_DIRECTORY_NAME = "namespace-delete-jobs"
37
40
  _DEFAULT_NAMESPACE_RENAME_JOBS_DIRECTORY_NAME = "namespace-rename-jobs"
@@ -12,5 +12,4 @@ def load_skill(name: str) -> str:
12
12
  return skill.rstrip("\n")
13
13
 
14
14
 
15
- SEARCH_NOTES_SKILL = load_skill("search-notes.md")
16
15
  SCOPED_INVESTIGATION_SKILL = load_skill("scoped-investigation.md")
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "endpoints": [
3
- {"id": "action.insert_diagram", "tags": ["diagram", "drawing", "widget", "insert"]},
4
3
  {
5
4
  "id": "pref.show_backlinks",
6
5
  "tags": ["backlinks", "links", "show", "hide", "toggle", "view", "notes"]
@@ -98,7 +98,7 @@ import { persistUsageBeforeActivation } from './activation-auth-policy.js';
98
98
  import { waitForCommandAvailability } from './backup-command-availability.js';
99
99
  import { buildCommandPaletteEndpoints } from './endpoint-registry.js';
100
100
  import { PreferencesStore } from './preferences-store.js';
101
- import { loadCommandPaletteTagMap } from './tag-config-loader.js';
101
+ import { loadCommandPaletteTagMap, validateCommandPaletteTagMappings } from './tag-config-loader.js';
102
102
  import { UsageStore } from './usage-store.js';
103
103
  import {
104
104
  DEFAULT_NOTE_LAYOUT_SETTINGS,
@@ -452,34 +452,8 @@ class CommandPaletteController {
452
452
  }
453
453
 
454
454
  _mergeAndValidateTags() {
455
- if (!(this._tagMap instanceof Map)) {
456
- throw new Error('Command palette tag map not loaded');
457
- }
458
-
459
- const endpointsById = new Map();
460
- for (const endpoint of this._endpoints) {
461
- if (!endpoint || typeof endpoint !== 'object') {
462
- throw new Error('Command palette endpoint registry contains invalid endpoint');
463
- }
464
- if (typeof endpoint.id !== 'string' || endpoint.id.length === 0) {
465
- throw new Error('Command palette endpoints must have id');
466
- }
467
- if (endpointsById.has(endpoint.id)) {
468
- throw new Error(`Duplicate command palette endpoint id: ${endpoint.id}`);
469
- }
470
- endpointsById.set(endpoint.id, endpoint);
471
- }
472
-
473
- for (const id of this._tagMap.keys()) {
474
- if (!endpointsById.has(id)) {
475
- throw new Error(`Tag config references unknown endpoint id: ${id}`);
476
- }
477
- }
478
-
455
+ validateCommandPaletteTagMappings(this._endpoints, this._tagMap);
479
456
  for (const endpoint of this._endpoints) {
480
- if (!this._tagMap.has(endpoint.id)) {
481
- throw new Error(`Endpoint ${endpoint.id} has no tag mapping in config`);
482
- }
483
457
  endpoint.tags = this._tagMap.get(endpoint.id);
484
458
  }
485
459
  }
@@ -1,3 +1,38 @@
1
+ export function validateCommandPaletteTagMappings(endpoints, tagMap) {
2
+ if (!(tagMap instanceof Map)) {
3
+ throw new Error('Command palette tag map not loaded');
4
+ }
5
+ if (!Array.isArray(endpoints)) {
6
+ throw new Error('Command palette endpoint registry must be an array');
7
+ }
8
+
9
+ const endpointsById = new Map();
10
+ for (const endpoint of endpoints) {
11
+ if (!endpoint || typeof endpoint !== 'object') {
12
+ throw new Error('Command palette endpoint registry contains invalid endpoint');
13
+ }
14
+ if (typeof endpoint.id !== 'string' || endpoint.id.length === 0) {
15
+ throw new Error('Command palette endpoints must have id');
16
+ }
17
+ if (endpointsById.has(endpoint.id)) {
18
+ throw new Error(`Duplicate command palette endpoint id: ${endpoint.id}`);
19
+ }
20
+ endpointsById.set(endpoint.id, endpoint);
21
+ }
22
+
23
+ for (const id of tagMap.keys()) {
24
+ if (!endpointsById.has(id)) {
25
+ throw new Error(`Tag config references unknown endpoint id: ${id}`);
26
+ }
27
+ }
28
+
29
+ for (const endpoint of endpoints) {
30
+ if (!tagMap.has(endpoint.id)) {
31
+ throw new Error(`Endpoint ${endpoint.id} has no tag mapping in config`);
32
+ }
33
+ }
34
+ }
35
+
1
36
  export async function loadCommandPaletteTagMap() {
2
37
  const response = await fetch('/static/config/command_palette_tags.json', {
3
38
  method: 'GET',
@@ -51,4 +86,3 @@ export async function loadCommandPaletteTagMap() {
51
86
 
52
87
  return tagMap;
53
88
  }
54
-
@@ -1,3 +1,3 @@
1
1
  """Single authoritative MetaList application version."""
2
2
 
3
- __version__ = "0.4.1"
3
+ __version__ = "0.4.2"
@@ -14,6 +14,7 @@ import ssl
14
14
  from http.server import BaseHTTPRequestHandler
15
15
  from http.server import ThreadingHTTPServer
16
16
  from pathlib import Path
17
+ from socketserver import TCPServer
17
18
 
18
19
  from app.server_runtime import apply_main_cli_args_to_environ
19
20
  from app.server_runtime import ensure_default_tls_pair
@@ -44,9 +45,17 @@ from app.services.windows_process_control import find_listening_pids_for_port as
44
45
  from app.services.windows_process_control import is_process_running as is_windows_process_running
45
46
  from app.services.windows_process_control import stop_process as stop_windows_process
46
47
 
48
+
49
+ class _HttpsProxyServer(ThreadingHTTPServer):
50
+ def server_bind(self) -> None:
51
+ # The proxy needs its bound address, not a potentially blocking reverse DNS lookup.
52
+ TCPServer.server_bind(self)
53
+ self.server_name, self.server_port = self.server_address[:2]
54
+
55
+
47
56
  @dataclass(frozen=True)
48
57
  class _StartedHttpsProxy:
49
- server: ThreadingHTTPServer
58
+ server: _HttpsProxyServer
50
59
  thread: threading.Thread
51
60
 
52
61
 
@@ -634,7 +643,7 @@ def _start_https_proxy_server(
634
643
  return
635
644
 
636
645
  _evict_processes_listening_on_port(port=https_port)
637
- server = ThreadingHTTPServer((host, https_port), ProxyHandler)
646
+ server = _HttpsProxyServer((host, https_port), ProxyHandler)
638
647
  server.daemon_threads = True
639
648
  context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER)
640
649
  context.load_cert_chain(certfile=ssl_certfile, keyfile=ssl_keyfile)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: metalist
3
- Version: 0.4.1
3
+ Version: 0.4.2
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
@@ -106,7 +106,7 @@ The updater checks the installed version against the latest PyPI release first.
106
106
 
107
107
  Backups are saved to `~/MetaList/namespaces/<namespace>/backups/<namespace>-<timestamp>.metalist-backup.tar.gz`; the updater prints each verified path. Existing backups remain unchanged and are not pruned. If any backup fails, the update aborts with the current installation intact; run `metalist` to restart the stopped servers after resolving the failure.
108
108
 
109
- Only after all backups pass does the updater hand off to an external PowerShell process on Windows or `/bin/sh` on macOS/Linux so the installed environment can unlock. It installs the exact version reported by PyPI with a forced cache refresh, launches MetaList again, and reports the installed version (for example, `MetaList updated to v0.4.1.`). This protection requires an installed version containing the backup safeguard and applies to `metalist update`; direct pip/uv install commands do not run it.
109
+ Only after all backups pass does the updater hand off to an external PowerShell process on Windows or `/bin/sh` on macOS/Linux so the installed environment can unlock. It installs the exact version reported by PyPI with a forced cache refresh, launches MetaList again, and reports the installed version (for example, `MetaList updated to v0.4.2.`). This protection requires an installed version containing the backup safeguard and applies to `metalist update`; direct pip/uv install commands do not run it.
110
110
 
111
111
  For pip, users can run `pip install metalist`. For a non-editable local install from this checkout, use `uv pip install .` or `pip install .` instead of the editable command below.
112
112
 
@@ -119,6 +119,8 @@ npm install
119
119
  ```
120
120
 
121
121
  ### Run
122
+
123
+ Persistent data defaults to `~/MetaList`. Set `METALIST_DATA_DIRECTORY` to an absolute directory path before launch to use a separate data root, including namespaces, backups, certificates, logs, and runtime jobs. This is used by release tests to keep their disposable data separate from real notes.
122
124
  The installed entrypoint starts or restarts every known namespace, prints their URLs, and exits:
123
125
  ```bash
124
126
  metalist
@@ -5,6 +5,7 @@ main.py
5
5
  pyproject.toml
6
6
  app/__init__.py
7
7
  app/config.py
8
+ app/data_directory.py
8
9
  app/encryption_audit.py
9
10
  app/main.py
10
11
  app/server_runtime.py
@@ -182,7 +183,6 @@ app/services/agent/prompts/system.md
182
183
  app/services/agent/prompts/tool-result.md
183
184
  app/services/agent/skills/__init__.py
184
185
  app/services/agent/skills/scoped-investigation.md
185
- app/services/agent/skills/search-notes.md
186
186
  app/static/note-html-policy.json
187
187
  app/static/config/command_palette_tags.json
188
188
  app/static/css/forms.css
@@ -1,25 +0,0 @@
1
- # Search Notes
2
-
3
- This skill is active because the agent selected `search_notes`. Produce one
4
- focused MetaList query through the structured schema supplied by the inference
5
- layer. There are no result pages.
6
-
7
- The final user message is the current request. Use earlier conversation only when
8
- the current request explicitly depends on it. Never carry an unrelated earlier
9
- topic into a new query as either a positive or negative term.
10
-
11
- MetaList search syntax:
12
-
13
- - Unquoted terms match tags. `foo bar` requires both tags.
14
- - Quoted phrases match exact note text. `"lorem ipsum"` requires that phrase.
15
- - A leading minus excludes a tag or phrase.
16
- - Uppercase `OR` separates clauses.
17
- - Every clause must contain at least one positive term.
18
-
19
- For a broad topical request, cover tag and text forms in the first query:
20
- `foo OR "foo"` or `foo bar OR "foo bar"`. Prefer the narrowest query supported
21
- by the request.
22
-
23
- The tool returns one ordered, token-bounded payload containing full content for
24
- matching notes. It reports how many trailing result trees were omitted. Do not
25
- request another page. If omission materially limits the answer, say so.
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