MetaList 0.26.0__tar.gz → 0.26.1__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 (745) hide show
  1. {metalist-0.26.0 → metalist-0.26.1}/PKG-INFO +1 -1
  2. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/agent_tools.py +13 -4
  3. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/note_aliases.py +4 -5
  4. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/runtime.py +6 -6
  5. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/scope.py +40 -3
  6. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/skills/help-releases.md +6 -6
  7. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/wizard/import-wizard-steps.js +3 -1
  8. {metalist-0.26.0 → metalist-0.26.1}/app/version.py +1 -1
  9. {metalist-0.26.0 → metalist-0.26.1}/metalist.egg-info/PKG-INFO +1 -1
  10. {metalist-0.26.0 → metalist-0.26.1}/MANIFEST.in +0 -0
  11. {metalist-0.26.0 → metalist-0.26.1}/README.md +0 -0
  12. {metalist-0.26.0 → metalist-0.26.1}/app/__init__.py +0 -0
  13. {metalist-0.26.0 → metalist-0.26.1}/app/api/__init__.py +0 -0
  14. {metalist-0.26.0 → metalist-0.26.1}/app/api/deps.py +0 -0
  15. {metalist-0.26.0 → metalist-0.26.1}/app/api/dev.py +0 -0
  16. {metalist-0.26.0 → metalist-0.26.1}/app/api/middleware/auth.py +0 -0
  17. {metalist-0.26.0 → metalist-0.26.1}/app/api/note_requests.py +0 -0
  18. {metalist-0.26.0 → metalist-0.26.1}/app/api/request_auth.py +0 -0
  19. {metalist-0.26.0 → metalist-0.26.1}/app/api/routes/ai.py +0 -0
  20. {metalist-0.26.0 → metalist-0.26.1}/app/api/routes/app_updates.py +0 -0
  21. {metalist-0.26.0 → metalist-0.26.1}/app/api/routes/auth.py +0 -0
  22. {metalist-0.26.0 → metalist-0.26.1}/app/api/routes/background_work.py +0 -0
  23. {metalist-0.26.0 → metalist-0.26.1}/app/api/routes/backups.py +0 -0
  24. {metalist-0.26.0 → metalist-0.26.1}/app/api/routes/files.py +0 -0
  25. {metalist-0.26.0 → metalist-0.26.1}/app/api/routes/imports.py +0 -0
  26. {metalist-0.26.0 → metalist-0.26.1}/app/api/routes/legacy_import.py +0 -0
  27. {metalist-0.26.0 → metalist-0.26.1}/app/api/routes/notes.py +0 -0
  28. {metalist-0.26.0 → metalist-0.26.1}/app/api/routes/ontology.py +0 -0
  29. {metalist-0.26.0 → metalist-0.26.1}/app/api/routes/reminders.py +0 -0
  30. {metalist-0.26.0 → metalist-0.26.1}/app/api/routes/remote_images.py +0 -0
  31. {metalist-0.26.0 → metalist-0.26.1}/app/api/routes/test.py +0 -0
  32. {metalist-0.26.0 → metalist-0.26.1}/app/api/routes/virtual_folders.py +0 -0
  33. {metalist-0.26.0 → metalist-0.26.1}/app/api/transactions.py +0 -0
  34. {metalist-0.26.0 → metalist-0.26.1}/app/api/upload_limits.py +0 -0
  35. {metalist-0.26.0 → metalist-0.26.1}/app/config.py +0 -0
  36. {metalist-0.26.0 → metalist-0.26.1}/app/contracts.py +0 -0
  37. {metalist-0.26.0 → metalist-0.26.1}/app/data_directory.py +0 -0
  38. {metalist-0.26.0 → metalist-0.26.1}/app/db/__init__.py +0 -0
  39. {metalist-0.26.0 → metalist-0.26.1}/app/db/backup_settings_sql.py +0 -0
  40. {metalist-0.26.0 → metalist-0.26.1}/app/db/content_migrations_sql.py +0 -0
  41. {metalist-0.26.0 → metalist-0.26.1}/app/db/editable_files_migration.py +0 -0
  42. {metalist-0.26.0 → metalist-0.26.1}/app/db/engine.py +0 -0
  43. {metalist-0.26.0 → metalist-0.26.1}/app/db/file_schema.py +0 -0
  44. {metalist-0.26.0 → metalist-0.26.1}/app/db/file_session.py +0 -0
  45. {metalist-0.26.0 → metalist-0.26.1}/app/db/file_texts_migration.py +0 -0
  46. {metalist-0.26.0 → metalist-0.26.1}/app/db/file_versions_migration.py +0 -0
  47. {metalist-0.26.0 → metalist-0.26.1}/app/db/files_sql.py +0 -0
  48. {metalist-0.26.0 → metalist-0.26.1}/app/db/link_icons_sql.py +0 -0
  49. {metalist-0.26.0 → metalist-0.26.1}/app/db/link_titles_sql.py +0 -0
  50. {metalist-0.26.0 → metalist-0.26.1}/app/db/live_recovery.py +0 -0
  51. {metalist-0.26.0 → metalist-0.26.1}/app/db/migrations.py +0 -0
  52. {metalist-0.26.0 → metalist-0.26.1}/app/db/notes_sql.py +0 -0
  53. {metalist-0.26.0 → metalist-0.26.1}/app/db/ontology_rules_sql.py +0 -0
  54. {metalist-0.26.0 → metalist-0.26.1}/app/db/raw_connection.py +0 -0
  55. {metalist-0.26.0 → metalist-0.26.1}/app/db/reminders_sql.py +0 -0
  56. {metalist-0.26.0 → metalist-0.26.1}/app/db/retire_sounds.py +0 -0
  57. {metalist-0.26.0 → metalist-0.26.1}/app/db/schema.py +0 -0
  58. {metalist-0.26.0 → metalist-0.26.1}/app/db/search_history_sql.py +0 -0
  59. {metalist-0.26.0 → metalist-0.26.1}/app/db/session.py +0 -0
  60. {metalist-0.26.0 → metalist-0.26.1}/app/db/settings_sql.py +0 -0
  61. {metalist-0.26.0 → metalist-0.26.1}/app/db/tab_state_sql.py +0 -0
  62. {metalist-0.26.0 → metalist-0.26.1}/app/db/version.py +0 -0
  63. {metalist-0.26.0 → metalist-0.26.1}/app/encryption_audit.py +0 -0
  64. {metalist-0.26.0 → metalist-0.26.1}/app/exception_boundaries.py +0 -0
  65. {metalist-0.26.0 → metalist-0.26.1}/app/https_proxy.py +0 -0
  66. {metalist-0.26.0 → metalist-0.26.1}/app/launch_clock.py +0 -0
  67. {metalist-0.26.0 → metalist-0.26.1}/app/main.py +0 -0
  68. {metalist-0.26.0 → metalist-0.26.1}/app/models/database.py +0 -0
  69. {metalist-0.26.0 → metalist-0.26.1}/app/models/utils.py +0 -0
  70. {metalist-0.26.0 → metalist-0.26.1}/app/network_settings.py +0 -0
  71. {metalist-0.26.0 → metalist-0.26.1}/app/presentation/__init__.py +0 -0
  72. {metalist-0.26.0 → metalist-0.26.1}/app/presentation/login_page.py +0 -0
  73. {metalist-0.26.0 → metalist-0.26.1}/app/presentation/render/__init__.py +0 -0
  74. {metalist-0.26.0 → metalist-0.26.1}/app/presentation/render/note_renderer.py +0 -0
  75. {metalist-0.26.0 → metalist-0.26.1}/app/presentation/templates.py +0 -0
  76. {metalist-0.26.0 → metalist-0.26.1}/app/process_memory.py +0 -0
  77. {metalist-0.26.0 → metalist-0.26.1}/app/security/authenticated_logging.py +0 -0
  78. {metalist-0.26.0 → metalist-0.26.1}/app/security/crypto_sizes.py +0 -0
  79. {metalist-0.26.0 → metalist-0.26.1}/app/security/encryption.py +0 -0
  80. {metalist-0.26.0 → metalist-0.26.1}/app/security/http_error_diagnostics.py +0 -0
  81. {metalist-0.26.0 → metalist-0.26.1}/app/security/http_headers.py +0 -0
  82. {metalist-0.26.0 → metalist-0.26.1}/app/security/note_html.py +0 -0
  83. {metalist-0.26.0 → metalist-0.26.1}/app/security/rendered_html.py +0 -0
  84. {metalist-0.26.0 → metalist-0.26.1}/app/security/request_boundary.py +0 -0
  85. {metalist-0.26.0 → metalist-0.26.1}/app/security/request_hosts.py +0 -0
  86. {metalist-0.26.0 → metalist-0.26.1}/app/security/sensitive_cache.py +0 -0
  87. {metalist-0.26.0 → metalist-0.26.1}/app/security/sensitive_logging.py +0 -0
  88. {metalist-0.26.0 → metalist-0.26.1}/app/security/shell_execution.py +0 -0
  89. {metalist-0.26.0 → metalist-0.26.1}/app/security/validation_errors.py +0 -0
  90. {metalist-0.26.0 → metalist-0.26.1}/app/server_runtime.py +0 -0
  91. {metalist-0.26.0 → metalist-0.26.1}/app/services/__init__.py +0 -0
  92. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/__init__.py +0 -0
  93. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/action_log.py +0 -0
  94. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/agent_loop.py +0 -0
  95. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/ai_send.py +0 -0
  96. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/anthropic_inference.py +0 -0
  97. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/chat_compaction.py +0 -0
  98. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/citation_tokens.py +0 -0
  99. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/cloud_privacy.py +0 -0
  100. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/context.py +0 -0
  101. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/evidence_serialization.py +0 -0
  102. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/execution_errors.py +0 -0
  103. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/export_title_suggestions.py +0 -0
  104. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/failure_explanations.py +0 -0
  105. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/help_catalog.py +0 -0
  106. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/history.py +0 -0
  107. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/inference.py +0 -0
  108. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/investigation.py +0 -0
  109. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/judging.py +0 -0
  110. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/menu_actions.py +0 -0
  111. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/model_policy.py +0 -0
  112. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/note_tag_suggestions.py +0 -0
  113. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/openai_compatible_inference.py +0 -0
  114. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/openai_cost_tracking.py +0 -0
  115. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/openai_inference.py +0 -0
  116. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/openai_models.py +0 -0
  117. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/privacy_guard.py +0 -0
  118. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/prompt_settings.py +0 -0
  119. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/prompts/__init__.py +0 -0
  120. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/prompts/agent.md +0 -0
  121. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/prompts/conversation-summary.md +0 -0
  122. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/prompts/final-response.md +0 -0
  123. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/prompts/system.md +0 -0
  124. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/release_notes.py +0 -0
  125. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/request_tokens.py +0 -0
  126. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/retrieval_settings.py +0 -0
  127. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/skill_settings.py +0 -0
  128. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/skills/__init__.py +0 -0
  129. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/skills/help-ai.md +0 -0
  130. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/skills/help-data.md +0 -0
  131. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/skills/help-dictation.md +0 -0
  132. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/skills/help-formatting.md +0 -0
  133. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/skills/help-menus.md +0 -0
  134. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/skills/help-meta-tags.md +0 -0
  135. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/skills/help-mouse.md +0 -0
  136. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/skills/help-notes.md +0 -0
  137. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/skills/help-ontology.md +0 -0
  138. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/skills/help-pasting.md +0 -0
  139. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/skills/help-privacy.md +0 -0
  140. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/skills/help-references.md +0 -0
  141. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/skills/help-reminders.md +0 -0
  142. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/skills/help-search-suggestions.md +0 -0
  143. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/skills/help-search.md +0 -0
  144. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/skills/help-tag-suggestions.md +0 -0
  145. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/skills/help-tags.md +0 -0
  146. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/skills/staged-summary.md +0 -0
  147. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/skills/tag-proposals.md +0 -0
  148. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/skills/web-browsing.md +0 -0
  149. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/staged_summary.py +0 -0
  150. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/strict_structured_outputs.py +0 -0
  151. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/structured_inference.py +0 -0
  152. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/summary_batch_store.py +0 -0
  153. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/tagging.py +0 -0
  154. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/tagging_run.py +0 -0
  155. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/token_estimation.py +0 -0
  156. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/tool_calling.py +0 -0
  157. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/trace.py +0 -0
  158. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/web_actions.py +0 -0
  159. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/web_capabilities.py +0 -0
  160. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/web_evidence.py +0 -0
  161. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/web_fetch.py +0 -0
  162. {metalist-0.26.0 → metalist-0.26.1}/app/services/agent/web_settings.py +0 -0
  163. {metalist-0.26.0 → metalist-0.26.1}/app/services/ai_catalog.py +0 -0
  164. {metalist-0.26.0 → metalist-0.26.1}/app/services/ai_chat.py +0 -0
  165. {metalist-0.26.0 → metalist-0.26.1}/app/services/ai_chat_rendering.py +0 -0
  166. {metalist-0.26.0 → metalist-0.26.1}/app/services/ai_chat_stream.py +0 -0
  167. {metalist-0.26.0 → metalist-0.26.1}/app/services/ai_credentials.py +0 -0
  168. {metalist-0.26.0 → metalist-0.26.1}/app/services/ai_setup.py +0 -0
  169. {metalist-0.26.0 → metalist-0.26.1}/app/services/app_update_worker.py +0 -0
  170. {metalist-0.26.0 → metalist-0.26.1}/app/services/app_updates.py +0 -0
  171. {metalist-0.26.0 → metalist-0.26.1}/app/services/auth.py +0 -0
  172. {metalist-0.26.0 → metalist-0.26.1}/app/services/auth_cache_state.py +0 -0
  173. {metalist-0.26.0 → metalist-0.26.1}/app/services/auth_service.py +0 -0
  174. {metalist-0.26.0 → metalist-0.26.1}/app/services/background_work.py +0 -0
  175. {metalist-0.26.0 → metalist-0.26.1}/app/services/backlink_index.py +0 -0
  176. {metalist-0.26.0 → metalist-0.26.1}/app/services/backlinks.py +0 -0
  177. {metalist-0.26.0 → metalist-0.26.1}/app/services/backup_service.py +0 -0
  178. {metalist-0.26.0 → metalist-0.26.1}/app/services/backup_settings_service.py +0 -0
  179. {metalist-0.26.0 → metalist-0.26.1}/app/services/bookmark_import.py +0 -0
  180. {metalist-0.26.0 → metalist-0.26.1}/app/services/bulk_operation.py +0 -0
  181. {metalist-0.26.0 → metalist-0.26.1}/app/services/chess_rendering.py +0 -0
  182. {metalist-0.26.0 → metalist-0.26.1}/app/services/client_state_service.py +0 -0
  183. {metalist-0.26.0 → metalist-0.26.1}/app/services/code_rendering.py +0 -0
  184. {metalist-0.26.0 → metalist-0.26.1}/app/services/content_cache.py +0 -0
  185. {metalist-0.26.0 → metalist-0.26.1}/app/services/content_formatting.py +0 -0
  186. {metalist-0.26.0 → metalist-0.26.1}/app/services/credential_display.py +0 -0
  187. {metalist-0.26.0 → metalist-0.26.1}/app/services/diagnostics.py +0 -0
  188. {metalist-0.26.0 → metalist-0.26.1}/app/services/dictation_cleanup.py +0 -0
  189. {metalist-0.26.0 → metalist-0.26.1}/app/services/diff_rendering.py +0 -0
  190. {metalist-0.26.0 → metalist-0.26.1}/app/services/document_highlights.py +0 -0
  191. {metalist-0.26.0 → metalist-0.26.1}/app/services/document_text.py +0 -0
  192. {metalist-0.26.0 → metalist-0.26.1}/app/services/edit_previews.py +0 -0
  193. {metalist-0.26.0 → metalist-0.26.1}/app/services/editing_image_sizes.py +0 -0
  194. {metalist-0.26.0 → metalist-0.26.1}/app/services/email_cards.py +0 -0
  195. {metalist-0.26.0 → metalist-0.26.1}/app/services/email_files.py +0 -0
  196. {metalist-0.26.0 → metalist-0.26.1}/app/services/email_search_text.py +0 -0
  197. {metalist-0.26.0 → metalist-0.26.1}/app/services/embedded_references.py +0 -0
  198. {metalist-0.26.0 → metalist-0.26.1}/app/services/encryption.py +0 -0
  199. {metalist-0.26.0 → metalist-0.26.1}/app/services/exception_capture.py +0 -0
  200. {metalist-0.26.0 → metalist-0.26.1}/app/services/file_edit_sessions.py +0 -0
  201. {metalist-0.26.0 → metalist-0.26.1}/app/services/file_kinds.py +0 -0
  202. {metalist-0.26.0 → metalist-0.26.1}/app/services/file_registry.py +0 -0
  203. {metalist-0.26.0 → metalist-0.26.1}/app/services/file_storage.py +0 -0
  204. {metalist-0.26.0 → metalist-0.26.1}/app/services/file_text_search.py +0 -0
  205. {metalist-0.26.0 → metalist-0.26.1}/app/services/file_text_snippets.py +0 -0
  206. {metalist-0.26.0 → metalist-0.26.1}/app/services/file_text_worker.py +0 -0
  207. {metalist-0.26.0 → metalist-0.26.1}/app/services/file_view.py +0 -0
  208. {metalist-0.26.0 → metalist-0.26.1}/app/services/find_text.py +0 -0
  209. {metalist-0.26.0 → metalist-0.26.1}/app/services/footnote_layout.py +0 -0
  210. {metalist-0.26.0 → metalist-0.26.1}/app/services/footnote_rendering.py +0 -0
  211. {metalist-0.26.0 → metalist-0.26.1}/app/services/hierarchy.py +0 -0
  212. {metalist-0.26.0 → metalist-0.26.1}/app/services/html_export.py +0 -0
  213. {metalist-0.26.0 → metalist-0.26.1}/app/services/html_unformatting.py +0 -0
  214. {metalist-0.26.0 → metalist-0.26.1}/app/services/hydration_state.py +0 -0
  215. {metalist-0.26.0 → metalist-0.26.1}/app/services/image_compression.py +0 -0
  216. {metalist-0.26.0 → metalist-0.26.1}/app/services/image_size_formatting.py +0 -0
  217. {metalist-0.26.0 → metalist-0.26.1}/app/services/import_uploads.py +0 -0
  218. {metalist-0.26.0 → metalist-0.26.1}/app/services/inline_image_dimensions.py +0 -0
  219. {metalist-0.26.0 → metalist-0.26.1}/app/services/inline_image_occurrences.py +0 -0
  220. {metalist-0.26.0 → metalist-0.26.1}/app/services/input_errors.py +0 -0
  221. {metalist-0.26.0 → metalist-0.26.1}/app/services/integrity.py +0 -0
  222. {metalist-0.26.0 → metalist-0.26.1}/app/services/latex_rendering.py +0 -0
  223. {metalist-0.26.0 → metalist-0.26.1}/app/services/legacy_metalist.py +0 -0
  224. {metalist-0.26.0 → metalist-0.26.1}/app/services/legacy_metalist_conversion.py +0 -0
  225. {metalist-0.26.0 → metalist-0.26.1}/app/services/link_icons.py +0 -0
  226. {metalist-0.26.0 → metalist-0.26.1}/app/services/link_title_retry.py +0 -0
  227. {metalist-0.26.0 → metalist-0.26.1}/app/services/link_titles.py +0 -0
  228. {metalist-0.26.0 → metalist-0.26.1}/app/services/login_rate_limit.py +0 -0
  229. {metalist-0.26.0 → metalist-0.26.1}/app/services/maintenance_mode.py +0 -0
  230. {metalist-0.26.0 → metalist-0.26.1}/app/services/markdown_rendering.py +0 -0
  231. {metalist-0.26.0 → metalist-0.26.1}/app/services/markdown_tasks.py +0 -0
  232. {metalist-0.26.0 → metalist-0.26.1}/app/services/memory_breakdown.py +0 -0
  233. {metalist-0.26.0 → metalist-0.26.1}/app/services/memory_usage.py +0 -0
  234. {metalist-0.26.0 → metalist-0.26.1}/app/services/mermaid_note_rendering.py +0 -0
  235. {metalist-0.26.0 → metalist-0.26.1}/app/services/meta_tag_renames.py +0 -0
  236. {metalist-0.26.0 → metalist-0.26.1}/app/services/namespace_deletion_jobs.py +0 -0
  237. {metalist-0.26.0 → metalist-0.26.1}/app/services/namespace_deletion_worker.py +0 -0
  238. {metalist-0.26.0 → metalist-0.26.1}/app/services/namespace_rename_jobs.py +0 -0
  239. {metalist-0.26.0 → metalist-0.26.1}/app/services/namespace_rename_worker.py +0 -0
  240. {metalist-0.26.0 → metalist-0.26.1}/app/services/namespace_runtime_guard.py +0 -0
  241. {metalist-0.26.0 → metalist-0.26.1}/app/services/namespace_switcher.py +0 -0
  242. {metalist-0.26.0 → metalist-0.26.1}/app/services/native_folder_picker.py +0 -0
  243. {metalist-0.26.0 → metalist-0.26.1}/app/services/note_datetime.py +0 -0
  244. {metalist-0.26.0 → metalist-0.26.1}/app/services/note_fullscreen.py +0 -0
  245. {metalist-0.26.0 → metalist-0.26.1}/app/services/note_image_tags.py +0 -0
  246. {metalist-0.26.0 → metalist-0.26.1}/app/services/note_ordering.py +0 -0
  247. {metalist-0.26.0 → metalist-0.26.1}/app/services/note_store.py +0 -0
  248. {metalist-0.26.0 → metalist-0.26.1}/app/services/obsidian_import/__init__.py +0 -0
  249. {metalist-0.26.0 → metalist-0.26.1}/app/services/obsidian_import/blocks.py +0 -0
  250. {metalist-0.26.0 → metalist-0.26.1}/app/services/obsidian_import/content.py +0 -0
  251. {metalist-0.26.0 → metalist-0.26.1}/app/services/obsidian_import/file_groups.py +0 -0
  252. {metalist-0.26.0 → metalist-0.26.1}/app/services/obsidian_import/links.py +0 -0
  253. {metalist-0.26.0 → metalist-0.26.1}/app/services/obsidian_import/notes.py +0 -0
  254. {metalist-0.26.0 → metalist-0.26.1}/app/services/obsidian_import/resolve.py +0 -0
  255. {metalist-0.26.0 → metalist-0.26.1}/app/services/obsidian_import/sources.py +0 -0
  256. {metalist-0.26.0 → metalist-0.26.1}/app/services/obsidian_import/tree.py +0 -0
  257. {metalist-0.26.0 → metalist-0.26.1}/app/services/obsidian_import/vault.py +0 -0
  258. {metalist-0.26.0 → metalist-0.26.1}/app/services/ontology_rules_store.py +0 -0
  259. {metalist-0.26.0 → metalist-0.26.1}/app/services/password_note_fields.py +0 -0
  260. {metalist-0.26.0 → metalist-0.26.1}/app/services/plain_text.py +0 -0
  261. {metalist-0.26.0 → metalist-0.26.1}/app/services/preference_values.py +0 -0
  262. {metalist-0.26.0 → metalist-0.26.1}/app/services/public_http.py +0 -0
  263. {metalist-0.26.0 → metalist-0.26.1}/app/services/quoted_values.py +0 -0
  264. {metalist-0.26.0 → metalist-0.26.1}/app/services/reference_presentation.py +0 -0
  265. {metalist-0.26.0 → metalist-0.26.1}/app/services/reference_suggestions.py +0 -0
  266. {metalist-0.26.0 → metalist-0.26.1}/app/services/reminders.py +0 -0
  267. {metalist-0.26.0 → metalist-0.26.1}/app/services/remote_image_proxy.py +0 -0
  268. {metalist-0.26.0 → metalist-0.26.1}/app/services/request_recovery.py +0 -0
  269. {metalist-0.26.0 → metalist-0.26.1}/app/services/reset_for_tests.py +0 -0
  270. {metalist-0.26.0 → metalist-0.26.1}/app/services/resource_limits.py +0 -0
  271. {metalist-0.26.0 → metalist-0.26.1}/app/services/root_date_filter.py +0 -0
  272. {metalist-0.26.0 → metalist-0.26.1}/app/services/root_sorting.py +0 -0
  273. {metalist-0.26.0 → metalist-0.26.1}/app/services/runtime_generation.py +0 -0
  274. {metalist-0.26.0 → metalist-0.26.1}/app/services/runtime_hardening.py +0 -0
  275. {metalist-0.26.0 → metalist-0.26.1}/app/services/runtime_lock.py +0 -0
  276. {metalist-0.26.0 → metalist-0.26.1}/app/services/search_history.py +0 -0
  277. {metalist-0.26.0 → metalist-0.26.1}/app/services/search_history_storage.py +0 -0
  278. {metalist-0.26.0 → metalist-0.26.1}/app/services/search_index.py +0 -0
  279. {metalist-0.26.0 → metalist-0.26.1}/app/services/search_query.py +0 -0
  280. {metalist-0.26.0 → metalist-0.26.1}/app/services/search_text.py +0 -0
  281. {metalist-0.26.0 → metalist-0.26.1}/app/services/selected_text_tag.py +0 -0
  282. {metalist-0.26.0 → metalist-0.26.1}/app/services/self_update.py +0 -0
  283. {metalist-0.26.0 → metalist-0.26.1}/app/services/server_code.py +0 -0
  284. {metalist-0.26.0 → metalist-0.26.1}/app/services/session_timeout_service.py +0 -0
  285. {metalist-0.26.0 → metalist-0.26.1}/app/services/shared_sets.py +0 -0
  286. {metalist-0.26.0 → metalist-0.26.1}/app/services/shell_session_service.py +0 -0
  287. {metalist-0.26.0 → metalist-0.26.1}/app/services/snapshot.py +0 -0
  288. {metalist-0.26.0 → metalist-0.26.1}/app/services/status_icons.py +0 -0
  289. {metalist-0.26.0 → metalist-0.26.1}/app/services/store.py +0 -0
  290. {metalist-0.26.0 → metalist-0.26.1}/app/services/structured_note_renderers.py +0 -0
  291. {metalist-0.26.0 → metalist-0.26.1}/app/services/subtree_stats.py +0 -0
  292. {metalist-0.26.0 → metalist-0.26.1}/app/services/sync.py +0 -0
  293. {metalist-0.26.0 → metalist-0.26.1}/app/services/synced_folders.py +0 -0
  294. {metalist-0.26.0 → metalist-0.26.1}/app/services/tab_state.py +0 -0
  295. {metalist-0.26.0 → metalist-0.26.1}/app/services/tag_case.py +0 -0
  296. {metalist-0.26.0 → metalist-0.26.1}/app/services/tag_characters.py +0 -0
  297. {metalist-0.26.0 → metalist-0.26.1}/app/services/tag_details.py +0 -0
  298. {metalist-0.26.0 → metalist-0.26.1}/app/services/tag_ontology.py +0 -0
  299. {metalist-0.26.0 → metalist-0.26.1}/app/services/tag_plural_variants.py +0 -0
  300. {metalist-0.26.0 → metalist-0.26.1}/app/services/tag_properties.py +0 -0
  301. {metalist-0.26.0 → metalist-0.26.1}/app/services/tag_rename.py +0 -0
  302. {metalist-0.26.0 → metalist-0.26.1}/app/services/tag_suggestion_reasons.py +0 -0
  303. {metalist-0.26.0 → metalist-0.26.1}/app/services/tag_suggestions.py +0 -0
  304. {metalist-0.26.0 → metalist-0.26.1}/app/services/tag_term_matching.py +0 -0
  305. {metalist-0.26.0 → metalist-0.26.1}/app/services/text_terms.py +0 -0
  306. {metalist-0.26.0 → metalist-0.26.1}/app/services/tokens.py +0 -0
  307. {metalist-0.26.0 → metalist-0.26.1}/app/services/undo_state.py +0 -0
  308. {metalist-0.26.0 → metalist-0.26.1}/app/services/unused_files.py +0 -0
  309. {metalist-0.26.0 → metalist-0.26.1}/app/services/update_backups.py +0 -0
  310. {metalist-0.26.0 → metalist-0.26.1}/app/services/update_installer.py +0 -0
  311. {metalist-0.26.0 → metalist-0.26.1}/app/services/update_preflight.py +0 -0
  312. {metalist-0.26.0 → metalist-0.26.1}/app/services/view_cache.py +0 -0
  313. {metalist-0.26.0 → metalist-0.26.1}/app/services/view_diff.py +0 -0
  314. {metalist-0.26.0 → metalist-0.26.1}/app/services/view_state.py +0 -0
  315. {metalist-0.26.0 → metalist-0.26.1}/app/services/virtual_folders.py +0 -0
  316. {metalist-0.26.0 → metalist-0.26.1}/app/services/windows_process_control.py +0 -0
  317. {metalist-0.26.0 → metalist-0.26.1}/app/startup_console.py +0 -0
  318. {metalist-0.26.0 → metalist-0.26.1}/app/startup_environment.py +0 -0
  319. {metalist-0.26.0 → metalist-0.26.1}/app/startup_js_sanity.py +0 -0
  320. {metalist-0.26.0 → metalist-0.26.1}/app/startup_sanity.py +0 -0
  321. {metalist-0.26.0 → metalist-0.26.1}/app/startup_sanity_config.py +0 -0
  322. {metalist-0.26.0 → metalist-0.26.1}/app/startup_shockharness.py +0 -0
  323. {metalist-0.26.0 → metalist-0.26.1}/app/static/config/agent-menu-actions.json +0 -0
  324. {metalist-0.26.0 → metalist-0.26.1}/app/static/config/command_palette_tags.json +0 -0
  325. {metalist-0.26.0 → metalist-0.26.1}/app/static/config/tag-characters.json +0 -0
  326. {metalist-0.26.0 → metalist-0.26.1}/app/static/css/file-viewer.css +0 -0
  327. {metalist-0.26.0 → metalist-0.26.1}/app/static/css/floating-notes.css +0 -0
  328. {metalist-0.26.0 → metalist-0.26.1}/app/static/css/forms.css +0 -0
  329. {metalist-0.26.0 → metalist-0.26.1}/app/static/css/main.css +0 -0
  330. {metalist-0.26.0 → metalist-0.26.1}/app/static/css/reference-preview.css +0 -0
  331. {metalist-0.26.0 → metalist-0.26.1}/app/static/img/apple-touch-icon.png +0 -0
  332. {metalist-0.26.0 → metalist-0.26.1}/app/static/img/favicon.ico +0 -0
  333. {metalist-0.26.0 → metalist-0.26.1}/app/static/img/favicon.svg +0 -0
  334. {metalist-0.26.0 → metalist-0.26.1}/app/static/img/icon-192.png +0 -0
  335. {metalist-0.26.0 → metalist-0.26.1}/app/static/img/icon-512.png +0 -0
  336. {metalist-0.26.0 → metalist-0.26.1}/app/static/img/icon-maskable-512.png +0 -0
  337. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/locked.js +0 -0
  338. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/main.js +0 -0
  339. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/activity-tracker.js +0 -0
  340. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/ai-chat/agent-menu-actions.js +0 -0
  341. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/ai-chat/agent-retrieval-settings.js +0 -0
  342. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/ai-chat/agent-web-settings.js +0 -0
  343. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/ai-chat/ai-agent-debug-view.js +0 -0
  344. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/ai-chat/ai-chat-api.js +0 -0
  345. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/ai-chat/ai-chat-history-meter.js +0 -0
  346. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/ai-chat/ai-chat-message-placement.js +0 -0
  347. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/ai-chat/ai-chat-panel-controller.js +0 -0
  348. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/ai-chat/ai-chat-panel-service.js +0 -0
  349. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/ai-chat/ai-chat-refused-turns.js +0 -0
  350. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/ai-chat/ai-chat-size-limits.js +0 -0
  351. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/ai-chat/ai-chat-summaries.js +0 -0
  352. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/ai-chat/ai-model-names.js +0 -0
  353. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/ai-chat/ai-providers.js +0 -0
  354. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/ai-chat/ai-thinking-level-service.js +0 -0
  355. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/ai-chat/bulk-elapsed-clock.js +0 -0
  356. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/ai-chat/bulk-proposal-ui.js +0 -0
  357. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/ai-chat/bulk-scope-question.js +0 -0
  358. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/ai-chat/cloud-privacy-policy.js +0 -0
  359. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/ai-chat/confirmation-card.js +0 -0
  360. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/ai-chat/confirmation-question.js +0 -0
  361. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/ai-chat/proposal-menu.js +0 -0
  362. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/ai-chat/summary-batch-preview.js +0 -0
  363. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/api-client.js +0 -0
  364. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/api-error-diagnostics.js +0 -0
  365. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/api-failure-classification-service.js +0 -0
  366. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/app-notice-stack.js +0 -0
  367. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/app-update-service.js +0 -0
  368. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/application-state.js +0 -0
  369. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/async-result.js +0 -0
  370. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/auth.js +0 -0
  371. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/backup-reminder-schedule.js +0 -0
  372. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/backup-reminder-service.js +0 -0
  373. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/byte-sizes.js +0 -0
  374. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/client-state-api.js +0 -0
  375. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/client-state-migration.js +0 -0
  376. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/command-palette/activation-auth-policy.js +0 -0
  377. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/command-palette/backup-command-availability.js +0 -0
  378. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/command-palette/click-activation-service.js +0 -0
  379. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/command-palette/command-palette-controller.js +0 -0
  380. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/command-palette/endpoint-registry.js +0 -0
  381. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/command-palette/note-layout-preferences.js +0 -0
  382. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/command-palette/preferences-store.js +0 -0
  383. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/command-palette/tag-config-loader.js +0 -0
  384. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/command-palette/usage-store.js +0 -0
  385. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/config.js +0 -0
  386. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/context-menu/context-menu-registry.js +0 -0
  387. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/context-menu/context-menu-service.js +0 -0
  388. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/context-menu/context-menu-target-service.js +0 -0
  389. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/context-menu/input-caret-service.js +0 -0
  390. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/decimal-integer.js +0 -0
  391. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/disconnect-editing-state-service.js +0 -0
  392. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/dom-focus.js +0 -0
  393. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/dom-utils.js +0 -0
  394. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/editor-commands.js +0 -0
  395. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/editor-selection.js +0 -0
  396. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/editor-toolbar.js +0 -0
  397. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/elapsed-time.js +0 -0
  398. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/error-handler.js +0 -0
  399. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/error-overlay.js +0 -0
  400. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/excalidraw/excalidraw-actions.js +0 -0
  401. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/excalidraw/excalidraw-autosave.js +0 -0
  402. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/excalidraw/excalidraw-editor-service.js +0 -0
  403. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/excalidraw/excalidraw-editor-state.js +0 -0
  404. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/excalidraw/excalidraw-loader.js +0 -0
  405. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/excalidraw/excalidraw-preview-service.js +0 -0
  406. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/excalidraw/excalidraw-scene.js +0 -0
  407. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/excalidraw/excalidraw-status-shown.js +0 -0
  408. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/expected-errors.js +0 -0
  409. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/file-transfer-slots.js +0 -0
  410. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/floating-messages.js +0 -0
  411. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/half.js +0 -0
  412. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/html-escape.js +0 -0
  413. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/http-status.js +0 -0
  414. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/import-sources.js +0 -0
  415. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/list-selection.js +0 -0
  416. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/local-date-text.js +0 -0
  417. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/location-flags.js +0 -0
  418. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/login-namespace-picker.js +0 -0
  419. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/maintenance.js +0 -0
  420. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/modals/action-row.js +0 -0
  421. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/modals/ai-agent-settings-modal.js +0 -0
  422. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/modals/alphabetize-root-notes-modal.js +0 -0
  423. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/modals/backup-restore-modal.js +0 -0
  424. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/modals/backup-result-modal.js +0 -0
  425. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/modals/backup-settings-modal.js +0 -0
  426. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/modals/base-modal.js +0 -0
  427. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/modals/confirmation-modal.js +0 -0
  428. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/modals/date-range-modal.js +0 -0
  429. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/modals/delete-folder-modal.js +0 -0
  430. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/modals/delete-namespace-modal.js +0 -0
  431. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/modals/delete-namespace-validation.js +0 -0
  432. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/modals/dictation-settings-modal.js +0 -0
  433. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/modals/error-dialog.js +0 -0
  434. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/modals/export-options-modal.js +0 -0
  435. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/modals/field-message.js +0 -0
  436. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/modals/file-rename-modal.js +0 -0
  437. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/modals/folder-name-modal.js +0 -0
  438. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/modals/help-modal.js +0 -0
  439. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/modals/legacy-import-modal.js +0 -0
  440. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/modals/link-title-retry-modal.js +0 -0
  441. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/modals/memory-usage-modal.js +0 -0
  442. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/modals/namespace-loading-page.js +0 -0
  443. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/modals/namespace-modals.js +0 -0
  444. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/modals/namespace-ports-profile.js +0 -0
  445. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/modals/namespace-rename-validation.js +0 -0
  446. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/modals/note-layout-appearance-modal.js +0 -0
  447. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/modals/ontology-modal.js +0 -0
  448. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/modals/password-modal.js +0 -0
  449. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/modals/prioritize-modal.js +0 -0
  450. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/modals/random-password-modal.js +0 -0
  451. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/modals/recent-messages-modal.js +0 -0
  452. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/modals/reminder-modal.js +0 -0
  453. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/modals/reset-updated-at-modal.js +0 -0
  454. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/modals/search-suggestion-statistics-modal.js +0 -0
  455. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/modals/session-timeout-modal.js +0 -0
  456. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/modals/version-info-modal.js +0 -0
  457. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/modals/visual-cues-modal.js +0 -0
  458. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/actions/content-actions.js +0 -0
  459. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/actions/history-actions.js +0 -0
  460. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/actions/note-actions.js +0 -0
  461. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/actions/search-actions.js +0 -0
  462. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/actions/selection-actions.js +0 -0
  463. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/actions/ui-actions.js +0 -0
  464. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/events/context-menu-events.js +0 -0
  465. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/events/focus-events.js +0 -0
  466. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/events/inactivity-events.js +0 -0
  467. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/events/input-events.js +0 -0
  468. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/events/keyboard-events.js +0 -0
  469. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/events/mouse-events.js +0 -0
  470. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/events/search-events.js +0 -0
  471. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/mode-context.js +0 -0
  472. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/mode-logger.js +0 -0
  473. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/mode-manager-controller.js +0 -0
  474. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/add-style-service.js +0 -0
  475. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/animated-scroll-service.js +0 -0
  476. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/background-work-cards.js +0 -0
  477. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/background-work-text.js +0 -0
  478. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/backlinks-navigation-service.js +0 -0
  479. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/bookmarks-drop-choice-modal-service.js +0 -0
  480. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/clipboard-shortcut-policy-service.js +0 -0
  481. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/collapse-affordance-service.js +0 -0
  482. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/collapse-editing-policy-service.js +0 -0
  483. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/command-gate-service.js +0 -0
  484. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/context-menu-target-service.js +0 -0
  485. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/date-range-filter-service.js +0 -0
  486. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/date-range-kinds.js +0 -0
  487. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/deselect-selection-state-service.js +0 -0
  488. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/dialog-copy-service.js +0 -0
  489. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/dictation-note-paste.js +0 -0
  490. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/dictation-paste-padding.js +0 -0
  491. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/dictation-paste-service.js +0 -0
  492. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/differential-view-service.js +0 -0
  493. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/dropped-folders.js +0 -0
  494. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/edit-preview-service.js +0 -0
  495. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/edit-session-collapse-policy-service.js +0 -0
  496. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/edit-session-collapse-service.js +0 -0
  497. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/editing-image-size-service.js +0 -0
  498. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/embedded-image-service.js +0 -0
  499. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/export-service.js +0 -0
  500. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/export-title-service.js +0 -0
  501. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/file-drop-policy-service.js +0 -0
  502. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/file-filter-kinds.js +0 -0
  503. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/file-filter-service.js +0 -0
  504. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/file-image-preview-service.js +0 -0
  505. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/file-reference-service.js +0 -0
  506. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/file-rename-service.js +0 -0
  507. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/file-viewer-service.js +0 -0
  508. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/filtered-refresh-selection-service.js +0 -0
  509. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/find-in-list-service.js +0 -0
  510. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/floating-card-placement.js +0 -0
  511. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/floating-note-dom.js +0 -0
  512. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/floating-note-layout.js +0 -0
  513. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/floating-note-service.js +0 -0
  514. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/fold-arrow-alignment-service.js +0 -0
  515. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/footnote-navigation-service.js +0 -0
  516. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/formatted-paste-format-service.js +0 -0
  517. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/history-selection-policy-service.js +0 -0
  518. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/history-shortcut-policy-service.js +0 -0
  519. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/html-paste-sanitizer-service.js +0 -0
  520. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/image-context-menu-action-service.js +0 -0
  521. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/image-file-insert-choice-modal-service.js +0 -0
  522. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/infinite-scroll-service.js +0 -0
  523. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/insert-format-plan.js +0 -0
  524. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/insert-format-service.js +0 -0
  525. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/link-context-menu-action-service.js +0 -0
  526. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/link-target-service.js +0 -0
  527. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/link-title-prefetch-service.js +0 -0
  528. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/media-player-service.js +0 -0
  529. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/mermaid-render-service.js +0 -0
  530. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/note-click-target-service.js +0 -0
  531. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/note-clipboard-write-service.js +0 -0
  532. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/note-collapse-animation-service.js +0 -0
  533. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/note-context-menu-action-service.js +0 -0
  534. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/note-delete-shortcut-policy-service.js +0 -0
  535. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/note-drag-indicator-service.js +0 -0
  536. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/note-drag-service.js +0 -0
  537. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/note-fullscreen-service.js +0 -0
  538. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/note-reposition-animation-service.js +0 -0
  539. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/note-split-service.js +0 -0
  540. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/note-timestamp-hover-service.js +0 -0
  541. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/password-clipboard-service.js +0 -0
  542. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/paste-format-detection-service.js +0 -0
  543. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/paste-format-guess-service.js +0 -0
  544. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/paste-format-offer-service.js +0 -0
  545. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/polling-service.js +0 -0
  546. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/print-service.js +0 -0
  547. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/reference-caret-preview-service.js +0 -0
  548. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/reference-hover-preview-service.js +0 -0
  549. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/reference-insert-point-service.js +0 -0
  550. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/reference-preview-card-service.js +0 -0
  551. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/reference-source-navigation-service.js +0 -0
  552. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/reference-suggestions-service.js +0 -0
  553. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/reference-text.js +0 -0
  554. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/reference-view-transition-service.js +0 -0
  555. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/referenced-note-removal-service.js +0 -0
  556. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/remote-image-proxy-service.js +0 -0
  557. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/remove-formatting-service.js +0 -0
  558. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/right-press-focus-service.js +0 -0
  559. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/root-date-separator-service.js +0 -0
  560. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/root-note-creation-service.js +0 -0
  561. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/root-sort-indicator-service.js +0 -0
  562. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/root-sort-service.js +0 -0
  563. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/scroll-anchor-service.js +0 -0
  564. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/scroll-restoration-service.js +0 -0
  565. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/scroll-to-top-service.js +0 -0
  566. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/search-contexts-overlay-service.js +0 -0
  567. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/search-debounce-service.js +0 -0
  568. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/search-highlight-matching.js +0 -0
  569. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/search-highlight-service.js +0 -0
  570. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/search-input-chip-service.js +0 -0
  571. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/search-input-service.js +0 -0
  572. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/search-interaction-service.js +0 -0
  573. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/search-redaction-reveal-service.js +0 -0
  574. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/search-suggestion-statistics-service.js +0 -0
  575. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/search-suggestion-window-labels-service.js +0 -0
  576. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/search-suggestion-windows-service.js +0 -0
  577. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/search-suggestions-service.js +0 -0
  578. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/search-syntax-service.js +0 -0
  579. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/selected-formatting-removal-service.js +0 -0
  580. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/selected-text-tag-service.js +0 -0
  581. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/shell-output-service.js +0 -0
  582. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/tab-context-actions.js +0 -0
  583. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/tab-dom-cache-service.js +0 -0
  584. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/tab-drag-service.js +0 -0
  585. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/tab-duplication-service.js +0 -0
  586. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/tab-state-service.js +0 -0
  587. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/tag-bar-service.js +0 -0
  588. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/tag-input-selection-service.js +0 -0
  589. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/tag-proposal-service.js +0 -0
  590. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/tag-suggestions-service.js +0 -0
  591. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/tag-syntax-service.js +0 -0
  592. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/text-drop-choice-modal-service.js +0 -0
  593. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/todo-toggle-editing-service.js +0 -0
  594. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/type-ahead-service.js +0 -0
  595. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/untagged-view-indicator-service.js +0 -0
  596. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/uuid-double-click-service.js +0 -0
  597. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/value-buttons-service.js +0 -0
  598. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/view-mode-search-shortcut-service.js +0 -0
  599. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/viewport-hold-service.js +0 -0
  600. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/viewport-reference.js +0 -0
  601. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/virtual-folders-service.js +0 -0
  602. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/virtual-folders-state.js +0 -0
  603. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/mode-manager/services/virtual-folders-width.js +0 -0
  604. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/new-vault-setup.js +0 -0
  605. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/not-found.js +0 -0
  606. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/note-html-sanitizer.js +0 -0
  607. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/passphrase.js +0 -0
  608. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/password-generator.js +0 -0
  609. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/password-operation-response.js +0 -0
  610. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/password-policy.js +0 -0
  611. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/password-strength.js +0 -0
  612. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/phone/phone-mode.js +0 -0
  613. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/phone/phone-search-terms.js +0 -0
  614. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/quoted-values.js +0 -0
  615. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/reminder-store.js +0 -0
  616. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/reminder-surface-service.js +0 -0
  617. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/restore-session-end.js +0 -0
  618. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/server-rendered-html.js +0 -0
  619. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/session-auth.js +0 -0
  620. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/startup-timing.js +0 -0
  621. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/tag-characters-data.js +0 -0
  622. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/tag-characters.js +0 -0
  623. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/tag-token.js +0 -0
  624. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/tcp-ports.js +0 -0
  625. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/time-units.js +0 -0
  626. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/trim-reminder-schedule.js +0 -0
  627. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/trim-reminder-service.js +0 -0
  628. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/url-tracking-cleaner.js +0 -0
  629. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/uuid.js +0 -0
  630. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/wizard/bookmarks-file.js +0 -0
  631. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/wizard/new-vault-steps.js +0 -0
  632. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/wizard/setup-wizards.js +0 -0
  633. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/modules/wizard/wizard-modal.js +0 -0
  634. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/namespace-deleted.js +0 -0
  635. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/namespace-renamed.js +0 -0
  636. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/shockharness/contracts.d.ts +0 -0
  637. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/shockharness/contracts.js +0 -0
  638. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/vendor/dompurify-3.4.17.LICENSE.txt +0 -0
  639. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/vendor/dompurify-3.4.17.min.js +0 -0
  640. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/vendor/eff-large-wordlist-2016-07-18.LICENSE.txt +0 -0
  641. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/vendor/eff-large-wordlist-2016-07-18.txt +0 -0
  642. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/vendor/excalidraw-0.18.1-assets/excalidraw.css +0 -0
  643. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/vendor/excalidraw-0.18.1-assets/fonts/Assistant/Assistant-Bold.woff2 +0 -0
  644. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/vendor/excalidraw-0.18.1-assets/fonts/Assistant/Assistant-Medium.woff2 +0 -0
  645. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/vendor/excalidraw-0.18.1-assets/fonts/Assistant/Assistant-Regular.woff2 +0 -0
  646. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/vendor/excalidraw-0.18.1-assets/fonts/Assistant/Assistant-SemiBold.woff2 +0 -0
  647. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/vendor/excalidraw-0.18.1-assets/fonts/Cascadia/CascadiaCode-Regular.woff2 +0 -0
  648. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/vendor/excalidraw-0.18.1-assets/fonts/ComicShanns/ComicShanns-Regular-279a7b317d12eb88de06167bd672b4b4.woff2 +0 -0
  649. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/vendor/excalidraw-0.18.1-assets/fonts/ComicShanns/ComicShanns-Regular-6e066e8de2ac57ea9283adb9c24d7f0c.woff2 +0 -0
  650. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/vendor/excalidraw-0.18.1-assets/fonts/ComicShanns/ComicShanns-Regular-dc6a8806fa96795d7b3be5026f989a17.woff2 +0 -0
  651. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/vendor/excalidraw-0.18.1-assets/fonts/ComicShanns/ComicShanns-Regular-fcb0fc02dcbee4c9846b3e2508668039.woff2 +0 -0
  652. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/vendor/excalidraw-0.18.1-assets/fonts/Excalifont/Excalifont-Regular-349fac6ca4700ffec595a7150a0d1e1d.woff2 +0 -0
  653. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/vendor/excalidraw-0.18.1-assets/fonts/Excalifont/Excalifont-Regular-3f2c5db56cc93c5a6873b1361d730c16.woff2 +0 -0
  654. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/vendor/excalidraw-0.18.1-assets/fonts/Excalifont/Excalifont-Regular-41b173a47b57366892116a575a43e2b6.woff2 +0 -0
  655. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/vendor/excalidraw-0.18.1-assets/fonts/Excalifont/Excalifont-Regular-623ccf21b21ef6b3a0d87738f77eb071.woff2 +0 -0
  656. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/vendor/excalidraw-0.18.1-assets/fonts/Excalifont/Excalifont-Regular-a88b72a24fb54c9f94e3b5fdaa7481c9.woff2 +0 -0
  657. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/vendor/excalidraw-0.18.1-assets/fonts/Excalifont/Excalifont-Regular-b9dcf9d2e50a1eaf42fc664b50a3fd0d.woff2 +0 -0
  658. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/vendor/excalidraw-0.18.1-assets/fonts/Excalifont/Excalifont-Regular-be310b9bcd4f1a43f571c46df7809174.woff2 +0 -0
  659. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/vendor/excalidraw-0.18.1-assets/fonts/Lilita/Lilita-Regular-i7dPIFZ9Zz-WBtRtedDbYE98RXi4EwSsbg.woff2 +0 -0
  660. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/vendor/excalidraw-0.18.1-assets/fonts/Lilita/Lilita-Regular-i7dPIFZ9Zz-WBtRtedDbYEF8RXi4EwQ.woff2 +0 -0
  661. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/vendor/excalidraw-0.18.1-assets/fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTA3j6zbXWjgevT5.woff2 +0 -0
  662. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/vendor/excalidraw-0.18.1-assets/fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTQ3j6zbXWjgeg.woff2 +0 -0
  663. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/vendor/excalidraw-0.18.1-assets/fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTk3j6zbXWjgevT5.woff2 +0 -0
  664. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/vendor/excalidraw-0.18.1-assets/fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTo3j6zbXWjgevT5.woff2 +0 -0
  665. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/vendor/excalidraw-0.18.1-assets/fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTs3j6zbXWjgevT5.woff2 +0 -0
  666. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/vendor/excalidraw-0.18.1-assets/fonts/Virgil/Virgil-Regular.woff2 +0 -0
  667. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/vendor/excalidraw-0.18.1.LICENSE.txt +0 -0
  668. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/vendor/excalidraw-0.18.1.min.js +0 -0
  669. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/vendor/mermaid-11.16.1.LICENSE.txt +0 -0
  670. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/vendor/mermaid-11.16.1.min.js +0 -0
  671. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/vendor/zxcvbn-4.4.2.LICENSE.txt +0 -0
  672. {metalist-0.26.0 → metalist-0.26.1}/app/static/js/vendor/zxcvbn-4.4.2.js +0 -0
  673. {metalist-0.26.0 → metalist-0.26.1}/app/static/manifest.json +0 -0
  674. {metalist-0.26.0 → metalist-0.26.1}/app/static/note-html-policy.json +0 -0
  675. {metalist-0.26.0 → metalist-0.26.1}/app/templates/_logo_mark.html +0 -0
  676. {metalist-0.26.0 → metalist-0.26.1}/app/templates/base.html +0 -0
  677. {metalist-0.26.0 → metalist-0.26.1}/app/templates/index.html +0 -0
  678. {metalist-0.26.0 → metalist-0.26.1}/app/templates/locked.html +0 -0
  679. {metalist-0.26.0 → metalist-0.26.1}/app/templates/maintenance.html +0 -0
  680. {metalist-0.26.0 → metalist-0.26.1}/app/templates/namespace_deleted.html +0 -0
  681. {metalist-0.26.0 → metalist-0.26.1}/app/templates/namespace_renamed.html +0 -0
  682. {metalist-0.26.0 → metalist-0.26.1}/app/templates/notes_list.html +0 -0
  683. {metalist-0.26.0 → metalist-0.26.1}/app/upload_limits.py +0 -0
  684. {metalist-0.26.0 → metalist-0.26.1}/app/usecases/__init__.py +0 -0
  685. {metalist-0.26.0 → metalist-0.26.1}/app/usecases/add_selected_text_tag.py +0 -0
  686. {metalist-0.26.0 → metalist-0.26.1}/app/usecases/alphabetize_root_notes.py +0 -0
  687. {metalist-0.26.0 → metalist-0.26.1}/app/usecases/base.py +0 -0
  688. {metalist-0.26.0 → metalist-0.26.1}/app/usecases/bulk_tag_proposals.py +0 -0
  689. {metalist-0.26.0 → metalist-0.26.1}/app/usecases/collapse.py +0 -0
  690. {metalist-0.26.0 → metalist-0.26.1}/app/usecases/copy_note.py +0 -0
  691. {metalist-0.26.0 → metalist-0.26.1}/app/usecases/create_child.py +0 -0
  692. {metalist-0.26.0 → metalist-0.26.1}/app/usecases/create_note.py +0 -0
  693. {metalist-0.26.0 → metalist-0.26.1}/app/usecases/create_sibling.py +0 -0
  694. {metalist-0.26.0 → metalist-0.26.1}/app/usecases/delete_notes_in_view.py +0 -0
  695. {metalist-0.26.0 → metalist-0.26.1}/app/usecases/delete_subtree.py +0 -0
  696. {metalist-0.26.0 → metalist-0.26.1}/app/usecases/delete_tag.py +0 -0
  697. {metalist-0.26.0 → metalist-0.26.1}/app/usecases/expand.py +0 -0
  698. {metalist-0.26.0 → metalist-0.26.1}/app/usecases/file_edit_session.py +0 -0
  699. {metalist-0.26.0 → metalist-0.26.1}/app/usecases/import_bookmarks.py +0 -0
  700. {metalist-0.26.0 → metalist-0.26.1}/app/usecases/import_obsidian_vault.py +0 -0
  701. {metalist-0.26.0 → metalist-0.26.1}/app/usecases/indent.py +0 -0
  702. {metalist-0.26.0 → metalist-0.26.1}/app/usecases/move.py +0 -0
  703. {metalist-0.26.0 → metalist-0.26.1}/app/usecases/move_to_top.py +0 -0
  704. {metalist-0.26.0 → metalist-0.26.1}/app/usecases/outdent.py +0 -0
  705. {metalist-0.26.0 → metalist-0.26.1}/app/usecases/paste_child.py +0 -0
  706. {metalist-0.26.0 → metalist-0.26.1}/app/usecases/paste_sibling.py +0 -0
  707. {metalist-0.26.0 → metalist-0.26.1}/app/usecases/prefetch_link_titles.py +0 -0
  708. {metalist-0.26.0 → metalist-0.26.1}/app/usecases/prioritize.py +0 -0
  709. {metalist-0.26.0 → metalist-0.26.1}/app/usecases/redo.py +0 -0
  710. {metalist-0.26.0 → metalist-0.26.1}/app/usecases/rename_tag.py +0 -0
  711. {metalist-0.26.0 → metalist-0.26.1}/app/usecases/reset_updated_at.py +0 -0
  712. {metalist-0.26.0 → metalist-0.26.1}/app/usecases/resize_image.py +0 -0
  713. {metalist-0.26.0 → metalist-0.26.1}/app/usecases/run_shell.py +0 -0
  714. {metalist-0.26.0 → metalist-0.26.1}/app/usecases/search_comment_autofill.py +0 -0
  715. {metalist-0.26.0 → metalist-0.26.1}/app/usecases/search_context_tags.py +0 -0
  716. {metalist-0.26.0 → metalist-0.26.1}/app/usecases/set_collapse_bulk.py +0 -0
  717. {metalist-0.26.0 → metalist-0.26.1}/app/usecases/set_collapse_in_context.py +0 -0
  718. {metalist-0.26.0 → metalist-0.26.1}/app/usecases/split_note.py +0 -0
  719. {metalist-0.26.0 → metalist-0.26.1}/app/usecases/tag_proposals.py +0 -0
  720. {metalist-0.26.0 → metalist-0.26.1}/app/usecases/toggle_markdown_task.py +0 -0
  721. {metalist-0.26.0 → metalist-0.26.1}/app/usecases/toggle_todo_done.py +0 -0
  722. {metalist-0.26.0 → metalist-0.26.1}/app/usecases/undo.py +0 -0
  723. {metalist-0.26.0 → metalist-0.26.1}/app/usecases/unformat_content.py +0 -0
  724. {metalist-0.26.0 → metalist-0.26.1}/app/usecases/update_content.py +0 -0
  725. {metalist-0.26.0 → metalist-0.26.1}/app/usecases/virtual_folders.py +0 -0
  726. {metalist-0.26.0 → metalist-0.26.1}/app/utils/__init__.py +0 -0
  727. {metalist-0.26.0 → metalist-0.26.1}/app/utils/byte_sizes.py +0 -0
  728. {metalist-0.26.0 → metalist-0.26.1}/app/utils/encryption.py +0 -0
  729. {metalist-0.26.0 → metalist-0.26.1}/app/utils/file_names.py +0 -0
  730. {metalist-0.26.0 → metalist-0.26.1}/app/utils/not_found.py +0 -0
  731. {metalist-0.26.0 → metalist-0.26.1}/app/utils/sampling.py +0 -0
  732. {metalist-0.26.0 → metalist-0.26.1}/app/utils/sent_fields.py +0 -0
  733. {metalist-0.26.0 → metalist-0.26.1}/app/utils/tcp_ports.py +0 -0
  734. {metalist-0.26.0 → metalist-0.26.1}/app/utils/text_utils.py +0 -0
  735. {metalist-0.26.0 → metalist-0.26.1}/app/utils/time_units.py +0 -0
  736. {metalist-0.26.0 → metalist-0.26.1}/convert-from-legacy.py +0 -0
  737. {metalist-0.26.0 → metalist-0.26.1}/main.py +0 -0
  738. {metalist-0.26.0 → metalist-0.26.1}/metalist.egg-info/SOURCES.txt +0 -0
  739. {metalist-0.26.0 → metalist-0.26.1}/metalist.egg-info/dependency_links.txt +0 -0
  740. {metalist-0.26.0 → metalist-0.26.1}/metalist.egg-info/entry_points.txt +0 -0
  741. {metalist-0.26.0 → metalist-0.26.1}/metalist.egg-info/requires.txt +0 -0
  742. {metalist-0.26.0 → metalist-0.26.1}/metalist.egg-info/top_level.txt +0 -0
  743. {metalist-0.26.0 → metalist-0.26.1}/pyproject.toml +0 -0
  744. {metalist-0.26.0 → metalist-0.26.1}/scripts/generate-lan-cert.sh +0 -0
  745. {metalist-0.26.0 → metalist-0.26.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: metalist
3
- Version: 0.26.0
3
+ Version: 0.26.1
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://metalist.app
6
6
  Project-URL: Repository, https://github.com/metalist-app/metalist
@@ -14,6 +14,7 @@ from __future__ import annotations
14
14
 
15
15
  import json
16
16
  from dataclasses import dataclass
17
+ from functools import partial
17
18
 
18
19
  from pydantic import BaseModel, ConfigDict, Field, ValidationError, field_validator
19
20
 
@@ -21,6 +22,7 @@ from typing import Literal
21
22
 
22
23
  from app.services.agent.help_catalog import HELP_TOPICS, MENU_ACTIONS, MENU_BY_ID, HelpTopic
23
24
  from app.services.agent.investigation import InvestigationEvidencePayload, InvestigationState, RootTreeRead
25
+ from app.services.agent.scope import read_notes_off_request_loop
24
26
  from app.services.agent.skill_settings import AgentSkill, AgentSkillSet
25
27
  from app.services.agent.tool_calling import AgentTool
26
28
  from app.services.agent.token_estimation import estimate_input_tokens
@@ -322,12 +324,16 @@ async def run_agent_tool(*, name: str, arguments: str, context: ToolContext) ->
322
324
  return parsed
323
325
  if isinstance(parsed, LookupMetaListHelpArguments):
324
326
  return _lookup_metalist_help(parsed, context)
327
+ # The note tools read the view's notes, a whole vault under an empty search.
328
+ snapshot = context.investigation.snapshot
325
329
  if isinstance(parsed, ViewOverviewArguments):
326
- return _view_overview(context)
330
+ return await read_notes_off_request_loop(snapshot=snapshot, read_notes=partial(_view_overview, context))
327
331
  if isinstance(parsed, ReadViewNotesArguments):
328
- return _read_view_notes(parsed, context)
332
+ return await read_notes_off_request_loop(
333
+ snapshot=snapshot, read_notes=partial(_read_view_notes, parsed, context))
329
334
  if isinstance(parsed, SearchViewNotesArguments):
330
- return _search_view_notes(parsed, context)
335
+ return await read_notes_off_request_loop(
336
+ snapshot=snapshot, read_notes=partial(_search_view_notes, parsed, context))
331
337
  if isinstance(parsed, OpenWebPagesArguments):
332
338
  return await _open_web_pages(parsed, context)
333
339
  raise AssertionError(f"Tool {name} has no implementation")
@@ -406,7 +412,10 @@ def _search_view_notes(arguments: SearchViewNotesArguments, context: ToolContext
406
412
  "matching_note_ids": list(matching_note_ids[:MAX_SEARCH_MATCH_IDS]),
407
413
  }
408
414
  if not matching_note_ids:
409
- return ToolResult(content=_json({**search_payload, "trees": []}), is_error=False, disclosed_note_text="",
415
+ # The shape of every search result, its lists empty (0.26.0, 2026-11-05: without them,
416
+ # recording the search ended the chat).
417
+ nothing_read: dict[str, object] = {"trees": [], "unread_root_ids": [], "too_large_root_ids": [], "unknown_ids": []}
418
+ return ToolResult(content=_json({**search_payload, **nothing_read}), is_error=False, disclosed_note_text="",
410
419
  note_ids=(), note_evidence=(), web_evidence=(), activated_skills=())
411
420
  tree_read = context.investigation.read_root_trees(requested_ids=matching_note_ids)
412
421
  assert tree_read.unknown_ids == ()
@@ -29,11 +29,10 @@ class NoteAliases:
29
29
  @classmethod
30
30
  def from_snapshot(cls, snapshot: ScopedSearchSnapshot) -> NoteAliases:
31
31
  """Deterministic: view notes and tree structure in view order, then the selected tree."""
32
- ordered: list[str] = []
33
- for note_id in (*snapshot.ordered_note_ids, *snapshot.tree_nodes_by_id,
34
- *snapshot.selected_note.reference_note_ids):
35
- if note_id not in ordered:
36
- ordered.append(note_id)
32
+ # Each id kept once, where it first comes: a dict, as a whole vault can be in view (0.26.0,
33
+ # 2026-11-05: looking each note up in a list took minutes and held the server).
34
+ ordered = dict.fromkeys((*snapshot.ordered_note_ids, *snapshot.tree_nodes_by_id,
35
+ *snapshot.selected_note.reference_note_ids))
37
36
  return cls(tuple(ordered))
38
37
 
39
38
  def alias(self, note_id: str) -> str:
@@ -11,6 +11,7 @@ from collections import deque
11
11
  from collections.abc import AsyncIterator
12
12
  from collections.abc import Callable
13
13
  from dataclasses import dataclass
14
+ from functools import partial
14
15
 
15
16
  from pydantic import BaseModel
16
17
 
@@ -48,6 +49,7 @@ from app.services.agent.skill_settings import AgentSkill
48
49
  from app.services.agent.skill_settings import AgentSkillSet
49
50
  from app.services.agent.scope import ScopedSearchSnapshot
50
51
  from app.services.agent.scope import describe_text_extraction
52
+ from app.services.agent.scope import read_notes_off_request_loop
51
53
  from app.services.agent.token_estimation import estimate_input_tokens
52
54
  from app.services.agent.token_estimation import estimate_message_tokens
53
55
  from app.services.agent.token_estimation import estimate_text_tokens
@@ -227,12 +229,10 @@ class AgentRuntime(AgentLoopMixin):
227
229
  approx_input_tokens=route_tokens,
228
230
  )
229
231
  extraction_before = snapshot.text_extraction.reading()
232
+ plan_batches = partial(state.plan_complete_root_batches, reserved_approximate_tokens=selected_note_tokens)
230
233
  # lint: allow-PY001 rationale="translate a user-configured evidence budget overflow into a concise operation failure"
231
234
  try:
232
- batch_plan = await asyncio.to_thread(
233
- state.plan_complete_root_batches,
234
- reserved_approximate_tokens=selected_note_tokens,
235
- )
235
+ batch_plan = await read_notes_off_request_loop(snapshot=snapshot, read_notes=plan_batches)
236
236
  # lint: allow-PY001 rationale="an atomic root can legitimately exceed the user-configured summary batch limit"
237
237
  except ValueError as exc:
238
238
  raise AgentExecutionError(str(exc)) from exc
@@ -337,10 +337,10 @@ class AgentRuntime(AgentLoopMixin):
337
337
  return
338
338
  assert choice == "use_prefix"
339
339
  yield {"type": "bulk_complete", "changed": False}
340
- retention = await asyncio.to_thread(
340
+ retention = await read_notes_off_request_loop(snapshot=snapshot, read_notes=partial(
341
341
  state.retain_root_prefix_within_token_budget,
342
342
  reserved_approximate_tokens=selected_note_tokens,
343
- )
343
+ ))
344
344
  dropped_root_count = len(retention.dropped_root_ids)
345
345
  self._trace_store.append_event(
346
346
  session_key=run.session_key,
@@ -2,12 +2,14 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ import asyncio
6
+ import threading
5
7
  import time
6
8
  from collections.abc import Callable
7
9
  from dataclasses import dataclass
8
10
  from datetime import datetime, timezone
9
11
  from types import MappingProxyType
10
- from typing import Literal, Mapping
12
+ from typing import Literal, Mapping, TypeVar
11
13
 
12
14
  from pydantic import BaseModel, ConfigDict, Field, field_validator, model_validator
13
15
  from typing_extensions import Self
@@ -94,17 +96,24 @@ class AgentScopeDescriptor(BaseModel):
94
96
  raise ValueError("Only reference scope accepts reference_root_ids")
95
97
  return self
96
98
 
99
+ class NoteScanStopped(RuntimeError):
100
+ """The run was stopped while a worker thread was reading its notes. Raised only in
101
+ that thread, whose result nobody waits for any more."""
102
+
103
+
97
104
  @dataclass(slots=True, eq=False)
98
105
  class TextExtractionMeter:
99
106
  """How many of a snapshot's notes had their text extracted, and how long it
100
- took, so the chat can say which step paid for it."""
107
+ took, so the chat can say which step paid for it; and whether the run was
108
+ stopped, so a worker thread still reading its notes ends at the next one."""
101
109
 
102
110
  note_count: int
103
111
  duration_ms: float
112
+ stop_requested: threading.Event
104
113
 
105
114
  @classmethod
106
115
  def start(cls) -> TextExtractionMeter:
107
- return cls(note_count=0, duration_ms=0.0)
116
+ return cls(note_count=0, duration_ms=0.0, stop_requested=threading.Event())
108
117
 
109
118
  def record(self, duration_ms: float) -> None:
110
119
  assert duration_ms >= 0.0
@@ -114,6 +123,33 @@ class TextExtractionMeter:
114
123
  def reading(self) -> tuple[int, float]:
115
124
  return self.note_count, self.duration_ms
116
125
 
126
+ def stop(self) -> None:
127
+ self.stop_requested.set()
128
+
129
+ def raise_if_stopped(self) -> None:
130
+ if self.stop_requested.is_set():
131
+ raise NoteScanStopped("The run was stopped: its notes are no longer read")
132
+
133
+
134
+ _NotesRead = TypeVar("_NotesRead")
135
+
136
+
137
+ async def read_notes_off_request_loop(
138
+ *, snapshot: ScopedSearchSnapshot, read_notes: Callable[[], _NotesRead],
139
+ ) -> _NotesRead:
140
+ """Run work that reads the snapshot's notes in a worker thread: a whole vault's text
141
+ takes seconds to extract, and on the request loop it held every other request
142
+ (0.26.0, 2026-11-05: the list's search passed the 15 s watchdog). When the run is
143
+ stopped, the awaiting task is cancelled and the thread ends at its next note."""
144
+ is_finished = False
145
+ try:
146
+ notes_read = await asyncio.to_thread(read_notes)
147
+ is_finished = True
148
+ finally:
149
+ if not is_finished:
150
+ snapshot.text_extraction.stop()
151
+ return notes_read
152
+
117
153
 
118
154
  def describe_text_extraction(*, before: tuple[int, float], after: tuple[int, float]) -> str:
119
155
  """' · text extracted for N notes in X s' for a step that extracted text, else ''."""
@@ -163,6 +199,7 @@ class NoteText:
163
199
  def text(self) -> str:
164
200
  if self.extracted_text is None:
165
201
  assert self.meter is not None, "Text to extract always comes with the snapshot's meter"
202
+ self.meter.raise_if_stopped()
166
203
  started_at = time.perf_counter()
167
204
  text, is_redacted = extract_note_text_for_agent(content_html=self.content_html, tags=self.tags_text)
168
205
  if is_redacted:
@@ -5,6 +5,11 @@ What changed in each MetaList version, newest first, from its changelog
5
5
  Compare with installed_version from the help lookup to tell the user whether
6
6
  they already have a release. Version info offers updates (see the data topic).
7
7
 
8
+ ## 0.26.1
9
+
10
+ - **Large vaults no longer freeze.** An AI question with an empty search box took minutes on a vault of tens of thousands of notes, holding the server so the search box and Stop got no answer and a "command stuck" error appeared; the step that names each note for the AI is now linear, and reading the notes runs beside the server's other work. An import of more than a few hundred files showed the same error at 15 seconds while it was still running fine; an import now takes as long as its files take, with its progress bar.
11
+ - An AI search that matched no note ended the chat with "stream ended before completion"; it now answers.
12
+
8
13
  ## 0.26.0
9
14
 
10
15
  - **Notes from the old MetaList.** A newly installed MetaList that finds the old MetaList's notes in its data folder offers them as soon as it opens. Protected notes ask for the old password, which then protects this MetaList too (a new one when it is too weak). The old file is only read, never changed. At a terminal, `convert-from-legacy.py` now reads protected exports and the old file itself.
@@ -202,9 +207,4 @@ they already have a release. Version info offers updates (see the data topic).
202
207
  - Error diagnostics now record safe request IDs, exception types, and source locations through Loguru; full tracebacks are available only in authenticated encrypted logs.
203
208
  - Releases run the full cross-platform matrix once on the `main` push. The tag publishes those exact tested distributions without rerunning the matrix.
204
209
 
205
- ## 0.7.5
206
-
207
- - Unexpected API 500 errors now show the exception class and MetaList source line in the browser, without exposing note contents, exception messages, or local filesystem paths.
208
- - A local release command validates the exact cross-platform CI matrix, publishes only its tested artifacts, then verifies the public PyPI package in a clean installation.
209
-
210
- Versions before 0.7.5 are left out; the changelog (CHANGELOG.md) lists them.
210
+ Versions before 0.8.0 are left out; the changelog (CHANGELOG.md) lists them.
@@ -182,6 +182,8 @@ export async function runImport(wizard, progress) {
182
182
  const isBookmarks = wizard.choices.source === BOOKMARKS_SOURCE;
183
183
  progress.working(isBookmarks ? 'Importing your bookmarks…' : 'Importing your files…');
184
184
  let result = null;
185
+ // No watchdog: an import takes as long as its files, its bar showing it at work, and a
186
+ // failure rejects (0.26.0, 2026-11-05: 1,127 files passed the 15 seconds and were called stuck).
185
187
  await CommandGate.run('importWizard.import', async () => {
186
188
  if (isBookmarks) {
187
189
  result = await NotesAPI.importBookmarks({
@@ -205,7 +207,7 @@ export async function runImport(wizard, progress) {
205
207
  }
206
208
  // Behind the wizard, a new search context of the imported notes: there when it closes.
207
209
  await wizard.services.afterImport(result.sourceTag);
208
- });
210
+ }, { disableWatchdog: true });
209
211
  }
210
212
 
211
213
  // Where the files were dropped, as the import takes it: their notes get that search context's
@@ -1,3 +1,3 @@
1
1
  """Single authoritative MetaList application version."""
2
2
 
3
- __version__ = "0.26.0"
3
+ __version__ = "0.26.1"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: metalist
3
- Version: 0.26.0
3
+ Version: 0.26.1
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://metalist.app
6
6
  Project-URL: Repository, https://github.com/metalist-app/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