dulus 3.14.2__tar.gz → 3.14.3__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 (388) hide show
  1. {dulus-3.14.2/dulus.egg-info → dulus-3.14.3}/PKG-INFO +3 -9
  2. {dulus-3.14.2 → dulus-3.14.3}/README.md +2 -7
  3. {dulus-3.14.2 → dulus-3.14.3/dulus.egg-info}/PKG-INFO +3 -9
  4. {dulus-3.14.2 → dulus-3.14.3}/dulus.egg-info/requires.txt +0 -1
  5. {dulus-3.14.2 → dulus-3.14.3}/dulus.py +1 -1
  6. {dulus-3.14.2 → dulus-3.14.3}/pyproject.toml +7 -6
  7. {dulus-3.14.2 → dulus-3.14.3}/LICENSE +0 -0
  8. {dulus-3.14.2 → dulus-3.14.3}/MANIFEST.in +0 -0
  9. {dulus-3.14.2 → dulus-3.14.3}/agent.py +0 -0
  10. {dulus-3.14.2 → dulus-3.14.3}/algolia_search.py +0 -0
  11. {dulus-3.14.2 → dulus-3.14.3}/analytics.py +0 -0
  12. {dulus-3.14.2 → dulus-3.14.3}/backend/__init__.py +0 -0
  13. {dulus-3.14.2 → dulus-3.14.3}/backend/agents_bridge.py +0 -0
  14. {dulus-3.14.2 → dulus-3.14.3}/backend/compressor.py +0 -0
  15. {dulus-3.14.2 → dulus-3.14.3}/backend/context.py +0 -0
  16. {dulus-3.14.2 → dulus-3.14.3}/backend/githook.py +0 -0
  17. {dulus-3.14.2 → dulus-3.14.3}/backend/marketplace.py +0 -0
  18. {dulus-3.14.2 → dulus-3.14.3}/backend/mempalace_bridge.py +0 -0
  19. {dulus-3.14.2 → dulus-3.14.3}/backend/paths.py +0 -0
  20. {dulus-3.14.2 → dulus-3.14.3}/backend/personas.py +0 -0
  21. {dulus-3.14.2 → dulus-3.14.3}/backend/plugins.py +0 -0
  22. {dulus-3.14.2 → dulus-3.14.3}/backend/server.py +0 -0
  23. {dulus-3.14.2 → dulus-3.14.3}/backend/tasks.py +0 -0
  24. {dulus-3.14.2 → dulus-3.14.3}/banners/__init__.py +0 -0
  25. {dulus-3.14.2 → dulus-3.14.3}/banners/banner_rotator.py +0 -0
  26. {dulus-3.14.2 → dulus-3.14.3}/banners/banners_dulus_ai.txt +0 -0
  27. {dulus-3.14.2 → dulus-3.14.3}/batch_api.py +0 -0
  28. {dulus-3.14.2 → dulus-3.14.3}/checkpoint/__init__.py +0 -0
  29. {dulus-3.14.2 → dulus-3.14.3}/checkpoint/hooks.py +0 -0
  30. {dulus-3.14.2 → dulus-3.14.3}/checkpoint/store.py +0 -0
  31. {dulus-3.14.2 → dulus-3.14.3}/checkpoint/types.py +0 -0
  32. {dulus-3.14.2 → dulus-3.14.3}/cli_animations/__init__.py +0 -0
  33. {dulus-3.14.2 → dulus-3.14.3}/cli_animations/__main__.py +0 -0
  34. {dulus-3.14.2 → dulus-3.14.3}/cli_animations/ansi.py +0 -0
  35. {dulus-3.14.2 → dulus-3.14.3}/cli_animations/assets/ascii/dulus_logo.txt +0 -0
  36. {dulus-3.14.2 → dulus-3.14.3}/cli_animations/assets/ascii/eagle.txt +0 -0
  37. {dulus-3.14.2 → dulus-3.14.3}/cli_animations/assets/ascii/terminal_art.txt +0 -0
  38. {dulus-3.14.2 → dulus-3.14.3}/cli_animations/banners.py +0 -0
  39. {dulus-3.14.2 → dulus-3.14.3}/cli_animations/demo.py +0 -0
  40. {dulus-3.14.2 → dulus-3.14.3}/cli_animations/effects.py +0 -0
  41. {dulus-3.14.2 → dulus-3.14.3}/cli_animations/effort_slider.py +0 -0
  42. {dulus-3.14.2 → dulus-3.14.3}/cli_animations/progress.py +0 -0
  43. {dulus-3.14.2 → dulus-3.14.3}/cli_animations/py.typed +0 -0
  44. {dulus-3.14.2 → dulus-3.14.3}/cli_animations/spinners.py +0 -0
  45. {dulus-3.14.2 → dulus-3.14.3}/cli_animations/status.py +0 -0
  46. {dulus-3.14.2 → dulus-3.14.3}/clipboard_utils.py +0 -0
  47. {dulus-3.14.2 → dulus-3.14.3}/cloudsave.py +0 -0
  48. {dulus-3.14.2 → dulus-3.14.3}/common.py +0 -0
  49. {dulus-3.14.2 → dulus-3.14.3}/compaction.py +0 -0
  50. {dulus-3.14.2 → dulus-3.14.3}/config.py +0 -0
  51. {dulus-3.14.2 → dulus-3.14.3}/context.py +0 -0
  52. {dulus-3.14.2 → dulus-3.14.3}/data/__init__.py +0 -0
  53. {dulus-3.14.2 → dulus-3.14.3}/data/active_persona.json +0 -0
  54. {dulus-3.14.2 → dulus-3.14.3}/data/marketplace.json +0 -0
  55. {dulus-3.14.2 → dulus-3.14.3}/data/personas.json +0 -0
  56. {dulus-3.14.2 → dulus-3.14.3}/data/plugins/__init__.py +0 -0
  57. {dulus-3.14.2 → dulus-3.14.3}/data/plugins/composio/__init__.py +0 -0
  58. {dulus-3.14.2 → dulus-3.14.3}/data/plugins/composio/composio_plugin/__init__.py +0 -0
  59. {dulus-3.14.2 → dulus-3.14.3}/data/plugins/composio/composio_plugin/session_manager.py +0 -0
  60. {dulus-3.14.2 → dulus-3.14.3}/data/plugins/composio/composio_plugin/tool_generator.py +0 -0
  61. {dulus-3.14.2 → dulus-3.14.3}/data/plugins/composio/plugin.json +0 -0
  62. {dulus-3.14.2 → dulus-3.14.3}/data/plugins/composio/plugin_tool.py +0 -0
  63. {dulus-3.14.2 → dulus-3.14.3}/data/tasks.json +0 -0
  64. {dulus-3.14.2 → dulus-3.14.3}/display_blocks.py +0 -0
  65. {dulus-3.14.2 → dulus-3.14.3}/docs/API.md +0 -0
  66. {dulus-3.14.2 → dulus-3.14.3}/docs/BRAND_GUIDE.md +0 -0
  67. {dulus-3.14.2 → dulus-3.14.3}/docs/CHANGELOG.md +0 -0
  68. {dulus-3.14.2 → dulus-3.14.3}/docs/CONTRIBUTING.md +0 -0
  69. {dulus-3.14.2 → dulus-3.14.3}/docs/DEPLOYMENT.md +0 -0
  70. {dulus-3.14.2 → dulus-3.14.3}/docs/FAQ.md +0 -0
  71. {dulus-3.14.2 → dulus-3.14.3}/docs/GETTING_STARTED.md +0 -0
  72. {dulus-3.14.2 → dulus-3.14.3}/docs/README.md +0 -0
  73. {dulus-3.14.2 → dulus-3.14.3}/docs/README_AR.md +0 -0
  74. {dulus-3.14.2 → dulus-3.14.3}/docs/README_EN.md +0 -0
  75. {dulus-3.14.2 → dulus-3.14.3}/docs/README_ES.md +0 -0
  76. {dulus-3.14.2 → dulus-3.14.3}/docs/README_FR.md +0 -0
  77. {dulus-3.14.2 → dulus-3.14.3}/docs/README_JA.md +0 -0
  78. {dulus-3.14.2 → dulus-3.14.3}/docs/README_KO.md +0 -0
  79. {dulus-3.14.2 → dulus-3.14.3}/docs/README_PT.md +0 -0
  80. {dulus-3.14.2 → dulus-3.14.3}/docs/README_RU.md +0 -0
  81. {dulus-3.14.2 → dulus-3.14.3}/docs/README_ZH.md +0 -0
  82. {dulus-3.14.2 → dulus-3.14.3}/docs/SECURITY.md +0 -0
  83. {dulus-3.14.2 → dulus-3.14.3}/docs/__init__.py +0 -0
  84. {dulus-3.14.2 → dulus-3.14.3}/docs/api.html +0 -0
  85. {dulus-3.14.2 → dulus-3.14.3}/docs/architecture.md +0 -0
  86. {dulus-3.14.2 → dulus-3.14.3}/docs/azure-speech-template.json +0 -0
  87. {dulus-3.14.2 → dulus-3.14.3}/docs/dashboard/index.html +0 -0
  88. {dulus-3.14.2 → dulus-3.14.3}/docs/divider.svg +0 -0
  89. {dulus-3.14.2 → dulus-3.14.3}/docs/dulus-bird.png +0 -0
  90. {dulus-3.14.2 → dulus-3.14.3}/docs/generate.py +0 -0
  91. {dulus-3.14.2 → dulus-3.14.3}/docs/index.html +0 -0
  92. {dulus-3.14.2 → dulus-3.14.3}/docs/news.md +0 -0
  93. {dulus-3.14.2 → dulus-3.14.3}/docs/nvidia-models.svg +0 -0
  94. {dulus-3.14.2 → dulus-3.14.3}/docs/particle-playground.html +0 -0
  95. {dulus-3.14.2 → dulus-3.14.3}/docs/personas/index.html +0 -0
  96. {dulus-3.14.2 → dulus-3.14.3}/docs/poetry-banner.png +0 -0
  97. {dulus-3.14.2 → dulus-3.14.3}/docs/preview.html +0 -0
  98. {dulus-3.14.2 → dulus-3.14.3}/docs/python-console.md +0 -0
  99. {dulus-3.14.2 → dulus-3.14.3}/docs/readme/auto-adapter.png +0 -0
  100. {dulus-3.14.2 → dulus-3.14.3}/docs/readme/dulus-os.png +0 -0
  101. {dulus-3.14.2 → dulus-3.14.3}/docs/readme/hero.png +0 -0
  102. {dulus-3.14.2 → dulus-3.14.3}/docs/readme/lookback_two_windows.png +0 -0
  103. {dulus-3.14.2 → dulus-3.14.3}/docs/readme/pyc_heap.svg +0 -0
  104. {dulus-3.14.2 → dulus-3.14.3}/docs/readme/pyc_receipts.svg +0 -0
  105. {dulus-3.14.2 → dulus-3.14.3}/docs/readme/pyc_trap.svg +0 -0
  106. {dulus-3.14.2 → dulus-3.14.3}/docs/readme/roundtable.png +0 -0
  107. {dulus-3.14.2 → dulus-3.14.3}/docs/readme/task-board.png +0 -0
  108. {dulus-3.14.2 → dulus-3.14.3}/docs/readme/webchat.png +0 -0
  109. {dulus-3.14.2 → dulus-3.14.3}/docs/sec-agents.svg +0 -0
  110. {dulus-3.14.2 → dulus-3.14.3}/docs/sec-brainstorm.svg +0 -0
  111. {dulus-3.14.2 → dulus-3.14.3}/docs/sec-bridges.svg +0 -0
  112. {dulus-3.14.2 → dulus-3.14.3}/docs/sec-features.svg +0 -0
  113. {dulus-3.14.2 → dulus-3.14.3}/docs/sec-freetier.svg +0 -0
  114. {dulus-3.14.2 → dulus-3.14.3}/docs/sec-memory.svg +0 -0
  115. {dulus-3.14.2 → dulus-3.14.3}/docs/sec-models.svg +0 -0
  116. {dulus-3.14.2 → dulus-3.14.3}/docs/sec-perms.svg +0 -0
  117. {dulus-3.14.2 → dulus-3.14.3}/docs/sec-plugins.svg +0 -0
  118. {dulus-3.14.2 → dulus-3.14.3}/docs/sec-quickstart.svg +0 -0
  119. {dulus-3.14.2 → dulus-3.14.3}/docs/sec-ssj.svg +0 -0
  120. {dulus-3.14.2 → dulus-3.14.3}/docs/spinners.svg +0 -0
  121. {dulus-3.14.2 → dulus-3.14.3}/docs/split-pane.svg +0 -0
  122. {dulus-3.14.2 → dulus-3.14.3}/docs/terminal-boot.svg +0 -0
  123. {dulus-3.14.2 → dulus-3.14.3}/docs/termux-edge.md +0 -0
  124. {dulus-3.14.2 → dulus-3.14.3}/dulus.egg-info/SOURCES.txt +0 -0
  125. {dulus-3.14.2 → dulus-3.14.3}/dulus.egg-info/dependency_links.txt +0 -0
  126. {dulus-3.14.2 → dulus-3.14.3}/dulus.egg-info/entry_points.txt +0 -0
  127. {dulus-3.14.2 → dulus-3.14.3}/dulus.egg-info/top_level.txt +0 -0
  128. {dulus-3.14.2 → dulus-3.14.3}/dulus_account.py +0 -0
  129. {dulus-3.14.2 → dulus-3.14.3}/dulus_bar_client.py +0 -0
  130. {dulus-3.14.2 → dulus-3.14.3}/dulus_gui.py +0 -0
  131. {dulus-3.14.2 → dulus-3.14.3}/dulus_mcp/__init__.py +0 -0
  132. {dulus-3.14.2 → dulus-3.14.3}/dulus_mcp/client.py +0 -0
  133. {dulus-3.14.2 → dulus-3.14.3}/dulus_mcp/commands.py +0 -0
  134. {dulus-3.14.2 → dulus-3.14.3}/dulus_mcp/config.py +0 -0
  135. {dulus-3.14.2 → dulus-3.14.3}/dulus_mcp/hub.py +0 -0
  136. {dulus-3.14.2 → dulus-3.14.3}/dulus_mcp/tools.py +0 -0
  137. {dulus-3.14.2 → dulus-3.14.3}/dulus_mcp/types.py +0 -0
  138. {dulus-3.14.2 → dulus-3.14.3}/dulus_quick_menu.py +0 -0
  139. {dulus-3.14.2 → dulus-3.14.3}/dulus_tools/__init__.py +0 -0
  140. {dulus-3.14.2 → dulus-3.14.3}/dulus_tools/add_dir_manager.py +0 -0
  141. {dulus-3.14.2 → dulus-3.14.3}/dulus_tools/afk_mode.py +0 -0
  142. {dulus-3.14.2 → dulus-3.14.3}/dulus_tools/approval_runtime.py +0 -0
  143. {dulus-3.14.2 → dulus-3.14.3}/dulus_tools/background_tasks.py +0 -0
  144. {dulus-3.14.2 → dulus-3.14.3}/dulus_tools/clipboard_utils.py +0 -0
  145. {dulus-3.14.2 → dulus-3.14.3}/dulus_tools/diff_visualizer.py +0 -0
  146. {dulus-3.14.2 → dulus-3.14.3}/dulus_tools/export_import.py +0 -0
  147. {dulus-3.14.2 → dulus-3.14.3}/dulus_tools/hook_engine.py +0 -0
  148. {dulus-3.14.2 → dulus-3.14.3}/dulus_tools/isolate.py +0 -0
  149. {dulus-3.14.2 → dulus-3.14.3}/dulus_tools/notification_manager.py +0 -0
  150. {dulus-3.14.2 → dulus-3.14.3}/dulus_tools/session_fork.py +0 -0
  151. {dulus-3.14.2 → dulus-3.14.3}/dulus_tools/shell_mode.py +0 -0
  152. {dulus-3.14.2 → dulus-3.14.3}/dulus_tools/todo_visualizer.py +0 -0
  153. {dulus-3.14.2 → dulus-3.14.3}/dulus_tools/tree_ls.py +0 -0
  154. {dulus-3.14.2 → dulus-3.14.3}/dulus_tools/wire_events.py +0 -0
  155. {dulus-3.14.2 → dulus-3.14.3}/dulus_tools/yolo_mode.py +0 -0
  156. {dulus-3.14.2 → dulus-3.14.3}/file_filter.py +0 -0
  157. {dulus-3.14.2 → dulus-3.14.3}/fs_compass.py +0 -0
  158. {dulus-3.14.2 → dulus-3.14.3}/governance.py +0 -0
  159. {dulus-3.14.2 → dulus-3.14.3}/gui/__init__.py +0 -0
  160. {dulus-3.14.2 → dulus-3.14.3}/gui/agent_bridge.py +0 -0
  161. {dulus-3.14.2 → dulus-3.14.3}/gui/chat_widget.py +0 -0
  162. {dulus-3.14.2 → dulus-3.14.3}/gui/main_window.py +0 -0
  163. {dulus-3.14.2 → dulus-3.14.3}/gui/personas.py +0 -0
  164. {dulus-3.14.2 → dulus-3.14.3}/gui/sandbox_server.py +0 -0
  165. {dulus-3.14.2 → dulus-3.14.3}/gui/session_utils.py +0 -0
  166. {dulus-3.14.2 → dulus-3.14.3}/gui/settings_dialog.py +0 -0
  167. {dulus-3.14.2 → dulus-3.14.3}/gui/sidebar.py +0 -0
  168. {dulus-3.14.2 → dulus-3.14.3}/gui/tasks_view.py +0 -0
  169. {dulus-3.14.2 → dulus-3.14.3}/gui/themes.py +0 -0
  170. {dulus-3.14.2 → dulus-3.14.3}/gui/tool_panel.py +0 -0
  171. {dulus-3.14.2 → dulus-3.14.3}/input.py +0 -0
  172. {dulus-3.14.2 → dulus-3.14.3}/license_manager.py +0 -0
  173. {dulus-3.14.2 → dulus-3.14.3}/lookback.py +0 -0
  174. {dulus-3.14.2 → dulus-3.14.3}/memory/__init__.py +0 -0
  175. {dulus-3.14.2 → dulus-3.14.3}/memory/audit.py +0 -0
  176. {dulus-3.14.2 → dulus-3.14.3}/memory/consolidator.py +0 -0
  177. {dulus-3.14.2 → dulus-3.14.3}/memory/context.py +0 -0
  178. {dulus-3.14.2 → dulus-3.14.3}/memory/mempalace_bridge.py +0 -0
  179. {dulus-3.14.2 → dulus-3.14.3}/memory/offload.py +0 -0
  180. {dulus-3.14.2 → dulus-3.14.3}/memory/palace.py +0 -0
  181. {dulus-3.14.2 → dulus-3.14.3}/memory/scan.py +0 -0
  182. {dulus-3.14.2 → dulus-3.14.3}/memory/seeds/insights/adaptation_guides.md +0 -0
  183. {dulus-3.14.2 → dulus-3.14.3}/memory/seeds/insights/askuserquestion_after_numbered_list.md +0 -0
  184. {dulus-3.14.2 → dulus-3.14.3}/memory/seeds/insights/background_jobs_no_extra_timers.md +0 -0
  185. {dulus-3.14.2 → dulus-3.14.3}/memory/seeds/insights/cleverness_over_resources.md +0 -0
  186. {dulus-3.14.2 → dulus-3.14.3}/memory/seeds/insights/corporate_tls_breaks_curl_cffi.md +0 -0
  187. {dulus-3.14.2 → dulus-3.14.3}/memory/seeds/insights/hardened_rules.md +0 -0
  188. {dulus-3.14.2 → dulus-3.14.3}/memory/seeds/insights/investigator_workflow_heuristic.md +0 -0
  189. {dulus-3.14.2 → dulus-3.14.3}/memory/seeds/insights/native_code_over_sketchy_plugins.md +0 -0
  190. {dulus-3.14.2 → dulus-3.14.3}/memory/seeds/insights/no_personal_info_in_code.md +0 -0
  191. {dulus-3.14.2 → dulus-3.14.3}/memory/seeds/insights/searches_include_modified_date.md +0 -0
  192. {dulus-3.14.2 → dulus-3.14.3}/memory/seeds/insights/tmux_send_keys_power_patterns.md +0 -0
  193. {dulus-3.14.2 → dulus-3.14.3}/memory/seeds/insights/token_optimization_technique.md +0 -0
  194. {dulus-3.14.2 → dulus-3.14.3}/memory/seeds/insights/tool_chaining_capability.md +0 -0
  195. {dulus-3.14.2 → dulus-3.14.3}/memory/seeds/insights/webbridge_evaluate_first_pattern.md +0 -0
  196. {dulus-3.14.2 → dulus-3.14.3}/memory/seeds/short_memory.md +0 -0
  197. {dulus-3.14.2 → dulus-3.14.3}/memory/sessions.py +0 -0
  198. {dulus-3.14.2 → dulus-3.14.3}/memory/store.py +0 -0
  199. {dulus-3.14.2 → dulus-3.14.3}/memory/tools.py +0 -0
  200. {dulus-3.14.2 → dulus-3.14.3}/memory/types.py +0 -0
  201. {dulus-3.14.2 → dulus-3.14.3}/memory/vector_search.py +0 -0
  202. {dulus-3.14.2 → dulus-3.14.3}/model_params.py +0 -0
  203. {dulus-3.14.2 → dulus-3.14.3}/multi_agent/__init__.py +0 -0
  204. {dulus-3.14.2 → dulus-3.14.3}/multi_agent/subagent.py +0 -0
  205. {dulus-3.14.2 → dulus-3.14.3}/multi_agent/tools.py +0 -0
  206. {dulus-3.14.2 → dulus-3.14.3}/paste_placeholders.py +0 -0
  207. {dulus-3.14.2 → dulus-3.14.3}/personality_config.py +0 -0
  208. {dulus-3.14.2 → dulus-3.14.3}/plugin/__init__.py +0 -0
  209. {dulus-3.14.2 → dulus-3.14.3}/plugin/autoadapter.py +0 -0
  210. {dulus-3.14.2 → dulus-3.14.3}/plugin/loader.py +0 -0
  211. {dulus-3.14.2 → dulus-3.14.3}/plugin/recommend.py +0 -0
  212. {dulus-3.14.2 → dulus-3.14.3}/plugin/store.py +0 -0
  213. {dulus-3.14.2 → dulus-3.14.3}/plugin/types.py +0 -0
  214. {dulus-3.14.2 → dulus-3.14.3}/profiles.py +0 -0
  215. {dulus-3.14.2 → dulus-3.14.3}/providers.py +0 -0
  216. {dulus-3.14.2 → dulus-3.14.3}/pyconsole.py +0 -0
  217. {dulus-3.14.2 → dulus-3.14.3}/sandbox/README.md +0 -0
  218. {dulus-3.14.2 → dulus-3.14.3}/sandbox/__init__.py +0 -0
  219. {dulus-3.14.2 → dulus-3.14.3}/sandbox/dist/assets/index-DE51D6wI.css +0 -0
  220. {dulus-3.14.2 → dulus-3.14.3}/sandbox/dist/assets/index-DMCCNE9Y.js +0 -0
  221. {dulus-3.14.2 → dulus-3.14.3}/sandbox/dist/index.html +0 -0
  222. {dulus-3.14.2 → dulus-3.14.3}/sandbox/dist/wallpaper-default.jpg +0 -0
  223. {dulus-3.14.2 → dulus-3.14.3}/sandbox/dist/wallpapers/default.jpeg +0 -0
  224. {dulus-3.14.2 → dulus-3.14.3}/sandbox/dist/wallpapers/light.jpeg +0 -0
  225. {dulus-3.14.2 → dulus-3.14.3}/sandbox/dist/wallpapers/nature.jpeg +0 -0
  226. {dulus-3.14.2 → dulus-3.14.3}/sandbox/dist/wallpapers/tech.jpeg +0 -0
  227. {dulus-3.14.2 → dulus-3.14.3}/sandbox/info.md +0 -0
  228. {dulus-3.14.2 → dulus-3.14.3}/sandbox_bootstrap.py +0 -0
  229. {dulus-3.14.2 → dulus-3.14.3}/setup.cfg +0 -0
  230. {dulus-3.14.2 → dulus-3.14.3}/skill/__init__.py +0 -0
  231. {dulus-3.14.2 → dulus-3.14.3}/skill/builtin.py +0 -0
  232. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/LICENSE-obsidian-skills +0 -0
  233. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/README.md +0 -0
  234. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/defuddle/SKILL.md +0 -0
  235. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/json-canvas/SKILL.md +0 -0
  236. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/json-canvas/references/EXAMPLES.md +0 -0
  237. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/obsidian-bases/SKILL.md +0 -0
  238. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/obsidian-bases/references/FUNCTIONS_REFERENCE.md +0 -0
  239. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/obsidian-cli/SKILL.md +0 -0
  240. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/obsidian-markdown/SKILL.md +0 -0
  241. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/obsidian-markdown/references/CALLOUTS.md +0 -0
  242. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/obsidian-markdown/references/EMBEDS.md +0 -0
  243. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/obsidian-markdown/references/PROPERTIES.md +0 -0
  244. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/README.md +0 -0
  245. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/SKILL.md +0 -0
  246. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/references/brokers/addresses.json +0 -0
  247. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/references/brokers/advancedbackgroundchecks.json +0 -0
  248. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/references/brokers/beenverified.json +0 -0
  249. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/references/brokers/clustal.json +0 -0
  250. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/references/brokers/clustrmaps.json +0 -0
  251. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/references/brokers/cyberbackgroundchecks.json +0 -0
  252. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/references/brokers/familytreenow.json +0 -0
  253. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/references/brokers/fastpeoplesearch.json +0 -0
  254. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/references/brokers/intelius.json +0 -0
  255. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/references/brokers/mylife.json +0 -0
  256. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/references/brokers/nuwber.json +0 -0
  257. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/references/brokers/peekyou.json +0 -0
  258. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/references/brokers/peoplefinders.json +0 -0
  259. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/references/brokers/radaris.json +0 -0
  260. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/references/brokers/rehold.json +0 -0
  261. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/references/brokers/searchpeoplefree.json +0 -0
  262. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/references/brokers/socialcatfish.json +0 -0
  263. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/references/brokers/spokeo.json +0 -0
  264. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/references/brokers/thatsthem.json +0 -0
  265. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/references/brokers/truepeoplesearch.json +0 -0
  266. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/references/brokers/usphonebook.json +0 -0
  267. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/references/brokers/whitepages.json +0 -0
  268. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/references/legal/ccpa.md +0 -0
  269. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/references/legal/drop.md +0 -0
  270. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/references/legal/gdpr.md +0 -0
  271. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/references/methods.md +0 -0
  272. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/references/site-playbooks.md +0 -0
  273. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/references/state-machine.md +0 -0
  274. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/scripts/autopilot.py +0 -0
  275. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/scripts/badbool.py +0 -0
  276. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/scripts/brokers.py +0 -0
  277. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/scripts/cdp.py +0 -0
  278. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/scripts/config.py +0 -0
  279. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/scripts/crypto.py +0 -0
  280. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/scripts/dossier.py +0 -0
  281. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/scripts/email_modes.py +0 -0
  282. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/scripts/emailer.py +0 -0
  283. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/scripts/ledger.py +0 -0
  284. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/scripts/legal.py +0 -0
  285. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/scripts/paths.py +0 -0
  286. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/scripts/pdd.py +0 -0
  287. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/scripts/registry.py +0 -0
  288. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/scripts/report.py +0 -0
  289. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/scripts/scan.py +0 -0
  290. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/scripts/storage.py +0 -0
  291. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/scripts/tiers.py +0 -0
  292. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/scripts/vectors.py +0 -0
  293. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/templates/consent/authorization.md +0 -0
  294. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/templates/emails/ccpa-authorized-agent.txt +0 -0
  295. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/templates/emails/ccpa-deletion.txt +0 -0
  296. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/templates/emails/ccpa-indirect-deletion.txt +0 -0
  297. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/templates/emails/gdpr-erasure.txt +0 -0
  298. {dulus-3.14.2 → dulus-3.14.3}/skill/bundled/unbroker/templates/emails/generic-optout.txt +0 -0
  299. {dulus-3.14.2 → dulus-3.14.3}/skill/clawhub.py +0 -0
  300. {dulus-3.14.2 → dulus-3.14.3}/skill/executor.py +0 -0
  301. {dulus-3.14.2 → dulus-3.14.3}/skill/loader.py +0 -0
  302. {dulus-3.14.2 → dulus-3.14.3}/skill/tools.py +0 -0
  303. {dulus-3.14.2 → dulus-3.14.3}/skills.py +0 -0
  304. {dulus-3.14.2 → dulus-3.14.3}/soul.py +0 -0
  305. {dulus-3.14.2 → dulus-3.14.3}/spinner.py +0 -0
  306. {dulus-3.14.2 → dulus-3.14.3}/steer_input.py +0 -0
  307. {dulus-3.14.2 → dulus-3.14.3}/subagent.py +0 -0
  308. {dulus-3.14.2 → dulus-3.14.3}/task/__init__.py +0 -0
  309. {dulus-3.14.2 → dulus-3.14.3}/task/store.py +0 -0
  310. {dulus-3.14.2 → dulus-3.14.3}/task/tools.py +0 -0
  311. {dulus-3.14.2 → dulus-3.14.3}/task/types.py +0 -0
  312. {dulus-3.14.2 → dulus-3.14.3}/tests/test_afk_yolo.py +0 -0
  313. {dulus-3.14.2 → dulus-3.14.3}/tests/test_approval_runtime.py +0 -0
  314. {dulus-3.14.2 → dulus-3.14.3}/tests/test_background_task_tools.py +0 -0
  315. {dulus-3.14.2 → dulus-3.14.3}/tests/test_background_tasks.py +0 -0
  316. {dulus-3.14.2 → dulus-3.14.3}/tests/test_chatgpt_oauth.py +0 -0
  317. {dulus-3.14.2 → dulus-3.14.3}/tests/test_checkpoint.py +0 -0
  318. {dulus-3.14.2 → dulus-3.14.3}/tests/test_cli_animations_integration.py +0 -0
  319. {dulus-3.14.2 → dulus-3.14.3}/tests/test_clipboard_utils.py +0 -0
  320. {dulus-3.14.2 → dulus-3.14.3}/tests/test_compaction.py +0 -0
  321. {dulus-3.14.2 → dulus-3.14.3}/tests/test_composio_tool_generator.py +0 -0
  322. {dulus-3.14.2 → dulus-3.14.3}/tests/test_diff_view.py +0 -0
  323. {dulus-3.14.2 → dulus-3.14.3}/tests/test_diff_visualization.py +0 -0
  324. {dulus-3.14.2 → dulus-3.14.3}/tests/test_display_blocks.py +0 -0
  325. {dulus-3.14.2 → dulus-3.14.3}/tests/test_dulus_account.py +0 -0
  326. {dulus-3.14.2 → dulus-3.14.3}/tests/test_export_import.py +0 -0
  327. {dulus-3.14.2 → dulus-3.14.3}/tests/test_gold_memory_preload.py +0 -0
  328. {dulus-3.14.2 → dulus-3.14.3}/tests/test_grok_usage.py +0 -0
  329. {dulus-3.14.2 → dulus-3.14.3}/tests/test_hook_engine.py +0 -0
  330. {dulus-3.14.2 → dulus-3.14.3}/tests/test_injection_fix.py +0 -0
  331. {dulus-3.14.2 → dulus-3.14.3}/tests/test_json_protocol.py +0 -0
  332. {dulus-3.14.2 → dulus-3.14.3}/tests/test_license.py +0 -0
  333. {dulus-3.14.2 → dulus-3.14.3}/tests/test_lookback_cache.py +0 -0
  334. {dulus-3.14.2 → dulus-3.14.3}/tests/test_lookback_compact.py +0 -0
  335. {dulus-3.14.2 → dulus-3.14.3}/tests/test_mcp.py +0 -0
  336. {dulus-3.14.2 → dulus-3.14.3}/tests/test_mcp_algolia.py +0 -0
  337. {dulus-3.14.2 → dulus-3.14.3}/tests/test_memory.py +0 -0
  338. {dulus-3.14.2 → dulus-3.14.3}/tests/test_memory_home_resolution.py +0 -0
  339. {dulus-3.14.2 → dulus-3.14.3}/tests/test_notification_manager.py +0 -0
  340. {dulus-3.14.2 → dulus-3.14.3}/tests/test_plugin.py +0 -0
  341. {dulus-3.14.2 → dulus-3.14.3}/tests/test_profile_isolation.py +0 -0
  342. {dulus-3.14.2 → dulus-3.14.3}/tests/test_profile_plugin_scope.py +0 -0
  343. {dulus-3.14.2 → dulus-3.14.3}/tests/test_provider_errors.py +0 -0
  344. {dulus-3.14.2 → dulus-3.14.3}/tests/test_session_fork.py +0 -0
  345. {dulus-3.14.2 → dulus-3.14.3}/tests/test_shell_detection.py +0 -0
  346. {dulus-3.14.2 → dulus-3.14.3}/tests/test_shell_mode.py +0 -0
  347. {dulus-3.14.2 → dulus-3.14.3}/tests/test_skills.py +0 -0
  348. {dulus-3.14.2 → dulus-3.14.3}/tests/test_skillssh_algolia.py +0 -0
  349. {dulus-3.14.2 → dulus-3.14.3}/tests/test_steer_input.py +0 -0
  350. {dulus-3.14.2 → dulus-3.14.3}/tests/test_subagent.py +0 -0
  351. {dulus-3.14.2 → dulus-3.14.3}/tests/test_task.py +0 -0
  352. {dulus-3.14.2 → dulus-3.14.3}/tests/test_telegram_buffer.py +0 -0
  353. {dulus-3.14.2 → dulus-3.14.3}/tests/test_think_tool.py +0 -0
  354. {dulus-3.14.2 → dulus-3.14.3}/tests/test_todo_tool.py +0 -0
  355. {dulus-3.14.2 → dulus-3.14.3}/tests/test_todo_visualization.py +0 -0
  356. {dulus-3.14.2 → dulus-3.14.3}/tests/test_tool_registry.py +0 -0
  357. {dulus-3.14.2 → dulus-3.14.3}/tests/test_tree_ls.py +0 -0
  358. {dulus-3.14.2 → dulus-3.14.3}/tests/test_voice.py +0 -0
  359. {dulus-3.14.2 → dulus-3.14.3}/tests/test_webbridge_tabs.py +0 -0
  360. {dulus-3.14.2 → dulus-3.14.3}/tests/test_wire_events.py +0 -0
  361. {dulus-3.14.2 → dulus-3.14.3}/tmux_tools.py +0 -0
  362. {dulus-3.14.2 → dulus-3.14.3}/token_budget.py +0 -0
  363. {dulus-3.14.2 → dulus-3.14.3}/tool_registry.py +0 -0
  364. {dulus-3.14.2 → dulus-3.14.3}/tools.py +0 -0
  365. {dulus-3.14.2 → dulus-3.14.3}/tools_background.py +0 -0
  366. {dulus-3.14.2 → dulus-3.14.3}/tools_think.py +0 -0
  367. {dulus-3.14.2 → dulus-3.14.3}/tools_todo.py +0 -0
  368. {dulus-3.14.2 → dulus-3.14.3}/ui/__init__.py +0 -0
  369. {dulus-3.14.2 → dulus-3.14.3}/ui/input.py +0 -0
  370. {dulus-3.14.2 → dulus-3.14.3}/ui/render.py +0 -0
  371. {dulus-3.14.2 → dulus-3.14.3}/updater.py +0 -0
  372. {dulus-3.14.2 → dulus-3.14.3}/voice/__init__.py +0 -0
  373. {dulus-3.14.2 → dulus-3.14.3}/voice/audio_utils.py +0 -0
  374. {dulus-3.14.2 → dulus-3.14.3}/voice/keyterms.py +0 -0
  375. {dulus-3.14.2 → dulus-3.14.3}/voice/recorder.py +0 -0
  376. {dulus-3.14.2 → dulus-3.14.3}/voice/stt.py +0 -0
  377. {dulus-3.14.2 → dulus-3.14.3}/voice/tts.py +0 -0
  378. {dulus-3.14.2 → dulus-3.14.3}/voice/wake_word.py +0 -0
  379. {dulus-3.14.2 → dulus-3.14.3}/webbridge/__init__.py +0 -0
  380. {dulus-3.14.2 → dulus-3.14.3}/webbridge/core.py +0 -0
  381. {dulus-3.14.2 → dulus-3.14.3}/webbridge/tools.py +0 -0
  382. {dulus-3.14.2 → dulus-3.14.3}/webchat.py +0 -0
  383. {dulus-3.14.2 → dulus-3.14.3}/webchat_server.py +0 -0
  384. {dulus-3.14.2 → dulus-3.14.3}/webchat_ui/__init__.py +0 -0
  385. {dulus-3.14.2 → dulus-3.14.3}/webchat_ui/app.js +0 -0
  386. {dulus-3.14.2 → dulus-3.14.3}/webchat_ui/index.html +0 -0
  387. {dulus-3.14.2 → dulus-3.14.3}/webchat_ui/style.css +0 -0
  388. {dulus-3.14.2 → dulus-3.14.3}/welcome.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: dulus
3
- Version: 3.14.2
3
+ Version: 3.14.3
4
4
  Summary: Provider-independent agent runtime for the terminal — cloud and local models, real tools, MCP, plugins, memory, sub-agents, and Dulus OS.
5
5
  Author-email: KevRojo <dev@dulus.ai>
6
6
  Maintainer-email: KevRojo <dev@dulus.ai>
@@ -66,7 +66,6 @@ Requires-Dist: uv>=0.4.0
66
66
  Requires-Dist: sse-starlette>=2.0.0
67
67
  Requires-Dist: starlette>=0.38.0
68
68
  Requires-Dist: posthog>=3.0.0
69
- Requires-Dist: mempalace>=3.3.4
70
69
  Requires-Dist: sounddevice
71
70
  Requires-Dist: elevenlabs>=1.0.0
72
71
  Requires-Dist: playwright>=1.40.0
@@ -104,10 +103,6 @@ Requires-Dist: pytesseract>=0.3.10; extra == "full"
104
103
 
105
104
  # Dulus
106
105
 
107
- <p align="center">
108
- <img width="1382" height="938" alt="image" src="https://github.com/user-attachments/assets/a2b297e3-53f8-4fce-a91a-6123274c4fc4" />
109
- </p>
110
-
111
106
  <p align="center">
112
107
  <img width="1179" height="761" alt="image" src="https://github.com/user-attachments/assets/95c8a306-88e6-4f9d-a1aa-009ac38ebeaf" />
113
108
  </p>
@@ -159,9 +154,8 @@ Requires-Dist: pytesseract>=0.3.10; extra == "full"
159
154
  <a href="docs/README_AR.md">العربية</a>
160
155
  </p>
161
156
 
162
- <p align="center">
163
- <strong>Agentic AI for everyone. No API key. No credit card. Just <code>pip install</code>.</strong>
164
- </p>
157
+ <p align="center"> <img width="613" height="313" alt="image" src="https://github.com/user-attachments/assets/13e1bb03-6493-4679-9ed8-2dda0c836ff3" /> </p>
158
+
165
159
 
166
160
  <p align="center">
167
161
  Dulus is an open-source agent runtime that hands you a real AI agent the moment you install it —<br>
@@ -1,9 +1,5 @@
1
1
  # Dulus
2
2
 
3
- <p align="center">
4
- <img width="1382" height="938" alt="image" src="https://github.com/user-attachments/assets/a2b297e3-53f8-4fce-a91a-6123274c4fc4" />
5
- </p>
6
-
7
3
  <p align="center">
8
4
  <img width="1179" height="761" alt="image" src="https://github.com/user-attachments/assets/95c8a306-88e6-4f9d-a1aa-009ac38ebeaf" />
9
5
  </p>
@@ -55,9 +51,8 @@
55
51
  <a href="docs/README_AR.md">العربية</a>
56
52
  </p>
57
53
 
58
- <p align="center">
59
- <strong>Agentic AI for everyone. No API key. No credit card. Just <code>pip install</code>.</strong>
60
- </p>
54
+ <p align="center"> <img width="613" height="313" alt="image" src="https://github.com/user-attachments/assets/13e1bb03-6493-4679-9ed8-2dda0c836ff3" /> </p>
55
+
61
56
 
62
57
  <p align="center">
63
58
  Dulus is an open-source agent runtime that hands you a real AI agent the moment you install it —<br>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: dulus
3
- Version: 3.14.2
3
+ Version: 3.14.3
4
4
  Summary: Provider-independent agent runtime for the terminal — cloud and local models, real tools, MCP, plugins, memory, sub-agents, and Dulus OS.
5
5
  Author-email: KevRojo <dev@dulus.ai>
6
6
  Maintainer-email: KevRojo <dev@dulus.ai>
@@ -66,7 +66,6 @@ Requires-Dist: uv>=0.4.0
66
66
  Requires-Dist: sse-starlette>=2.0.0
67
67
  Requires-Dist: starlette>=0.38.0
68
68
  Requires-Dist: posthog>=3.0.0
69
- Requires-Dist: mempalace>=3.3.4
70
69
  Requires-Dist: sounddevice
71
70
  Requires-Dist: elevenlabs>=1.0.0
72
71
  Requires-Dist: playwright>=1.40.0
@@ -104,10 +103,6 @@ Requires-Dist: pytesseract>=0.3.10; extra == "full"
104
103
 
105
104
  # Dulus
106
105
 
107
- <p align="center">
108
- <img width="1382" height="938" alt="image" src="https://github.com/user-attachments/assets/a2b297e3-53f8-4fce-a91a-6123274c4fc4" />
109
- </p>
110
-
111
106
  <p align="center">
112
107
  <img width="1179" height="761" alt="image" src="https://github.com/user-attachments/assets/95c8a306-88e6-4f9d-a1aa-009ac38ebeaf" />
113
108
  </p>
@@ -159,9 +154,8 @@ Requires-Dist: pytesseract>=0.3.10; extra == "full"
159
154
  <a href="docs/README_AR.md">العربية</a>
160
155
  </p>
161
156
 
162
- <p align="center">
163
- <strong>Agentic AI for everyone. No API key. No credit card. Just <code>pip install</code>.</strong>
164
- </p>
157
+ <p align="center"> <img width="613" height="313" alt="image" src="https://github.com/user-attachments/assets/13e1bb03-6493-4679-9ed8-2dda0c836ff3" /> </p>
158
+
165
159
 
166
160
  <p align="center">
167
161
  Dulus is an open-source agent runtime that hands you a real AI agent the moment you install it —<br>
@@ -22,7 +22,6 @@ uv>=0.4.0
22
22
  sse-starlette>=2.0.0
23
23
  starlette>=0.38.0
24
24
  posthog>=3.0.0
25
- mempalace>=3.3.4
26
25
  sounddevice
27
26
  elevenlabs>=1.0.0
28
27
  playwright>=1.40.0
@@ -396,7 +396,7 @@ try:
396
396
  from importlib.metadata import version as _pkg_version
397
397
  VERSION = _pkg_version("dulus")
398
398
  except Exception:
399
- VERSION = "3.14.2" # dev fallback — keep in sync with pyproject.toml
399
+ VERSION = "3.14.3" # dev fallback — keep in sync with pyproject.toml
400
400
 
401
401
  # ── Machine-readable protocol output (`--output json`) ─────────────────────
402
402
  # Dulus is increasingly run as a child process by another agent runtime (an
@@ -10,7 +10,7 @@ build-backend = "setuptools.build_meta"
10
10
 
11
11
  [project]
12
12
  name = "dulus"
13
- version = "3.14.2"
13
+ version = "3.14.3"
14
14
  description = "Provider-independent agent runtime for the terminal — cloud and local models, real tools, MCP, plugins, memory, sub-agents, and Dulus OS."
15
15
  readme = "README.md"
16
16
  requires-python = ">=3.10"
@@ -116,11 +116,12 @@ dependencies = [
116
116
  # `pip install dulus[full]`, so shipping it here is the only way metrics
117
117
  # actually reach us from real installs.
118
118
  "posthog>=3.0.0",
119
- # Memory Palace — per-turn semantic memory injection. Pulls chromadb; on
120
- # exotic targets (termux/aarch64) wheels may be missing, but the vast
121
- # majority of installs want this ON by default rather than hunting the
122
- # `[memory]` extra nobody types.
123
- "mempalace>=3.3.4",
119
+ # Memory Palace — per-turn semantic memory injection. Pulls chromadb
120
+ # (26 transitive deps incl. numpy + onnxruntime). Kept OPTIONAL because the
121
+ # search path can hang the whole REPL on certain mempalace/chromadb versions
122
+ # and the resolver backtracks hard on exotic targets. Opt in explicitly with
123
+ # `pip install dulus[memory]` (or `dulus[full]`) when you want it.
124
+ # NOTE: do NOT move this back into core — it froze dulus in 3.14.2.
124
125
  # Voice I/O — mic capture + cloud TTS. On by default so `/voice` works out
125
126
  # of the box; silent no-op on headless boxes with no audio device.
126
127
  "sounddevice",
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes