dulus 0.2.42__tar.gz → 0.2.46__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 (207) hide show
  1. {dulus-0.2.42 → dulus-0.2.46}/MANIFEST.in +1 -0
  2. {dulus-0.2.42/dulus.egg-info → dulus-0.2.46}/PKG-INFO +10 -2
  3. {dulus-0.2.42 → dulus-0.2.46}/README.md +661 -653
  4. dulus-0.2.46/backend/agents_bridge.py +75 -0
  5. {dulus-0.2.42 → dulus-0.2.46}/backend/server.py +91 -4
  6. {dulus-0.2.42 → dulus-0.2.46}/common.py +1 -1
  7. dulus-0.2.46/data/active_persona.json +5 -0
  8. dulus-0.2.46/data/context.json +180 -0
  9. {dulus-0.2.42 → dulus-0.2.46}/data/personas.json +87 -87
  10. {dulus-0.2.42 → dulus-0.2.46/dulus.egg-info}/PKG-INFO +10 -2
  11. {dulus-0.2.42 → dulus-0.2.46}/dulus.egg-info/SOURCES.txt +24 -0
  12. {dulus-0.2.42 → dulus-0.2.46}/dulus.egg-info/top_level.txt +1 -0
  13. {dulus-0.2.42 → dulus-0.2.46}/pyproject.toml +10 -2
  14. dulus-0.2.46/sandbox/README.md +73 -0
  15. dulus-0.2.46/sandbox/__init__.py +1 -0
  16. dulus-0.2.46/sandbox/components.json +22 -0
  17. dulus-0.2.46/sandbox/dist/assets/index-CsIO61nW.css +1 -0
  18. dulus-0.2.46/sandbox/dist/assets/index-nQkFq-oq.js +360 -0
  19. dulus-0.2.46/sandbox/dist/index.html +13 -0
  20. dulus-0.2.46/sandbox/dist/wallpaper-default.jpg +0 -0
  21. dulus-0.2.46/sandbox/dist/wallpapers/default.jpeg +0 -0
  22. dulus-0.2.46/sandbox/dist/wallpapers/light.jpeg +0 -0
  23. dulus-0.2.46/sandbox/dist/wallpapers/nature.jpeg +0 -0
  24. dulus-0.2.46/sandbox/dist/wallpapers/tech.jpeg +0 -0
  25. dulus-0.2.46/sandbox/eslint.config.js +23 -0
  26. dulus-0.2.46/sandbox/index.html +12 -0
  27. dulus-0.2.46/sandbox/info.md +31 -0
  28. dulus-0.2.46/sandbox/package-lock.json +8274 -0
  29. dulus-0.2.46/sandbox/package.json +80 -0
  30. dulus-0.2.46/sandbox/postcss.config.js +6 -0
  31. dulus-0.2.46/sandbox/public/wallpaper-default.jpg +0 -0
  32. dulus-0.2.46/sandbox/src/index.css +169 -0
  33. dulus-0.2.46/sandbox/tailwind.config.js +84 -0
  34. dulus-0.2.46/sandbox/tsconfig.app.json +34 -0
  35. dulus-0.2.46/sandbox/tsconfig.json +17 -0
  36. dulus-0.2.46/sandbox/tsconfig.node.json +26 -0
  37. {dulus-0.2.42 → dulus-0.2.46}/webchat_server.py +59 -1
  38. dulus-0.2.42/data/active_persona.json +0 -5
  39. dulus-0.2.42/data/context.json +0 -130
  40. {dulus-0.2.42 → dulus-0.2.46}/LICENSE +0 -0
  41. {dulus-0.2.42 → dulus-0.2.46}/agent.py +0 -0
  42. {dulus-0.2.42 → dulus-0.2.46}/backend/__init__.py +0 -0
  43. {dulus-0.2.42 → dulus-0.2.46}/backend/compressor.py +0 -0
  44. {dulus-0.2.42 → dulus-0.2.46}/backend/context.py +0 -0
  45. {dulus-0.2.42 → dulus-0.2.46}/backend/githook.py +0 -0
  46. {dulus-0.2.42 → dulus-0.2.46}/backend/marketplace.py +0 -0
  47. {dulus-0.2.42 → dulus-0.2.46}/backend/mempalace_bridge.py +0 -0
  48. {dulus-0.2.42 → dulus-0.2.46}/backend/personas.py +0 -0
  49. {dulus-0.2.42 → dulus-0.2.46}/backend/plugins.py +0 -0
  50. {dulus-0.2.42 → dulus-0.2.46}/backend/tasks.py +0 -0
  51. {dulus-0.2.42 → dulus-0.2.46}/batch_api.py +0 -0
  52. {dulus-0.2.42 → dulus-0.2.46}/checkpoint/__init__.py +0 -0
  53. {dulus-0.2.42 → dulus-0.2.46}/checkpoint/hooks.py +0 -0
  54. {dulus-0.2.42 → dulus-0.2.46}/checkpoint/store.py +0 -0
  55. {dulus-0.2.42 → dulus-0.2.46}/checkpoint/types.py +0 -0
  56. {dulus-0.2.42 → dulus-0.2.46}/claude_code_watcher.py +0 -0
  57. {dulus-0.2.42 → dulus-0.2.46}/clipboard_utils.py +0 -0
  58. {dulus-0.2.42 → dulus-0.2.46}/cloudsave.py +0 -0
  59. {dulus-0.2.42 → dulus-0.2.46}/compaction.py +0 -0
  60. {dulus-0.2.42 → dulus-0.2.46}/config.py +0 -0
  61. {dulus-0.2.42 → dulus-0.2.46}/context.py +0 -0
  62. {dulus-0.2.42 → dulus-0.2.46}/data/__init__.py +0 -0
  63. {dulus-0.2.42 → dulus-0.2.46}/data/marketplace.json +0 -0
  64. {dulus-0.2.42 → dulus-0.2.46}/data/plugins/__init__.py +0 -0
  65. {dulus-0.2.42 → dulus-0.2.46}/data/plugins/composio/__init__.py +0 -0
  66. {dulus-0.2.42 → dulus-0.2.46}/data/plugins/composio/composio_plugin/__init__.py +0 -0
  67. {dulus-0.2.42 → dulus-0.2.46}/data/plugins/composio/composio_plugin/session_manager.py +0 -0
  68. {dulus-0.2.42 → dulus-0.2.46}/data/plugins/composio/composio_plugin/tool_generator.py +0 -0
  69. {dulus-0.2.42 → dulus-0.2.46}/data/plugins/composio/plugin.json +0 -0
  70. {dulus-0.2.42 → dulus-0.2.46}/data/plugins/composio/plugin_tool.py +0 -0
  71. {dulus-0.2.42 → dulus-0.2.46}/data/tasks.json +0 -0
  72. {dulus-0.2.42 → dulus-0.2.46}/docs/README.md +0 -0
  73. {dulus-0.2.42 → dulus-0.2.46}/docs/__init__.py +0 -0
  74. {dulus-0.2.42 → dulus-0.2.46}/docs/api.html +0 -0
  75. {dulus-0.2.42 → dulus-0.2.46}/docs/architecture.md +0 -0
  76. {dulus-0.2.42 → dulus-0.2.46}/docs/azure-speech-template.json +0 -0
  77. {dulus-0.2.42 → dulus-0.2.46}/docs/dashboard/index.html +0 -0
  78. {dulus-0.2.42 → dulus-0.2.46}/docs/divider.svg +0 -0
  79. {dulus-0.2.42 → dulus-0.2.46}/docs/generate.py +0 -0
  80. {dulus-0.2.42 → dulus-0.2.46}/docs/hero.svg +0 -0
  81. {dulus-0.2.42 → dulus-0.2.46}/docs/index.html +0 -0
  82. {dulus-0.2.42 → dulus-0.2.46}/docs/news.md +0 -0
  83. {dulus-0.2.42 → dulus-0.2.46}/docs/nvidia-models.svg +0 -0
  84. {dulus-0.2.42 → dulus-0.2.46}/docs/particle-playground.html +0 -0
  85. {dulus-0.2.42 → dulus-0.2.46}/docs/personas/index.html +0 -0
  86. {dulus-0.2.42 → dulus-0.2.46}/docs/poetry-banner.png +0 -0
  87. {dulus-0.2.42 → dulus-0.2.46}/docs/preview.html +0 -0
  88. {dulus-0.2.42 → dulus-0.2.46}/docs/sec-agents.svg +0 -0
  89. {dulus-0.2.42 → dulus-0.2.46}/docs/sec-brainstorm.svg +0 -0
  90. {dulus-0.2.42 → dulus-0.2.46}/docs/sec-bridges.svg +0 -0
  91. {dulus-0.2.42 → dulus-0.2.46}/docs/sec-features.svg +0 -0
  92. {dulus-0.2.42 → dulus-0.2.46}/docs/sec-freetier.svg +0 -0
  93. {dulus-0.2.42 → dulus-0.2.46}/docs/sec-memory.svg +0 -0
  94. {dulus-0.2.42 → dulus-0.2.46}/docs/sec-models.svg +0 -0
  95. {dulus-0.2.42 → dulus-0.2.46}/docs/sec-perms.svg +0 -0
  96. {dulus-0.2.42 → dulus-0.2.46}/docs/sec-plugins.svg +0 -0
  97. {dulus-0.2.42 → dulus-0.2.46}/docs/sec-quickstart.svg +0 -0
  98. {dulus-0.2.42 → dulus-0.2.46}/docs/sec-ssj.svg +0 -0
  99. {dulus-0.2.42 → dulus-0.2.46}/docs/spinners.svg +0 -0
  100. {dulus-0.2.42 → dulus-0.2.46}/docs/split-pane.svg +0 -0
  101. {dulus-0.2.42 → dulus-0.2.46}/docs/terminal-boot.svg +0 -0
  102. {dulus-0.2.42 → dulus-0.2.46}/docs/uploads/particle-playground.html +0 -0
  103. {dulus-0.2.42 → dulus-0.2.46}/dulus.egg-info/dependency_links.txt +0 -0
  104. {dulus-0.2.42 → dulus-0.2.46}/dulus.egg-info/entry_points.txt +0 -0
  105. {dulus-0.2.42 → dulus-0.2.46}/dulus.egg-info/requires.txt +0 -0
  106. {dulus-0.2.42 → dulus-0.2.46}/dulus.py +0 -0
  107. {dulus-0.2.42 → dulus-0.2.46}/dulus_gui.py +0 -0
  108. {dulus-0.2.42 → dulus-0.2.46}/dulus_mcp/__init__.py +0 -0
  109. {dulus-0.2.42 → dulus-0.2.46}/dulus_mcp/client.py +0 -0
  110. {dulus-0.2.42 → dulus-0.2.46}/dulus_mcp/config.py +0 -0
  111. {dulus-0.2.42 → dulus-0.2.46}/dulus_mcp/tools.py +0 -0
  112. {dulus-0.2.42 → dulus-0.2.46}/dulus_mcp/types.py +0 -0
  113. {dulus-0.2.42 → dulus-0.2.46}/gui/__init__.py +0 -0
  114. {dulus-0.2.42 → dulus-0.2.46}/gui/agent_bridge.py +0 -0
  115. {dulus-0.2.42 → dulus-0.2.46}/gui/chat_widget.py +0 -0
  116. {dulus-0.2.42 → dulus-0.2.46}/gui/main_window.py +0 -0
  117. {dulus-0.2.42 → dulus-0.2.46}/gui/personas.py +0 -0
  118. {dulus-0.2.42 → dulus-0.2.46}/gui/session_utils.py +0 -0
  119. {dulus-0.2.42 → dulus-0.2.46}/gui/settings_dialog.py +0 -0
  120. {dulus-0.2.42 → dulus-0.2.46}/gui/sidebar.py +0 -0
  121. {dulus-0.2.42 → dulus-0.2.46}/gui/tasks_view.py +0 -0
  122. {dulus-0.2.42 → dulus-0.2.46}/gui/themes.py +0 -0
  123. {dulus-0.2.42 → dulus-0.2.46}/gui/tool_panel.py +0 -0
  124. {dulus-0.2.42 → dulus-0.2.46}/input.py +0 -0
  125. {dulus-0.2.42 → dulus-0.2.46}/license_manager.py +0 -0
  126. {dulus-0.2.42 → dulus-0.2.46}/memory/__init__.py +0 -0
  127. {dulus-0.2.42 → dulus-0.2.46}/memory/audit.py +0 -0
  128. {dulus-0.2.42 → dulus-0.2.46}/memory/consolidator.py +0 -0
  129. {dulus-0.2.42 → dulus-0.2.46}/memory/context.py +0 -0
  130. {dulus-0.2.42 → dulus-0.2.46}/memory/offload.py +0 -0
  131. {dulus-0.2.42 → dulus-0.2.46}/memory/palace.py +0 -0
  132. {dulus-0.2.42 → dulus-0.2.46}/memory/scan.py +0 -0
  133. {dulus-0.2.42 → dulus-0.2.46}/memory/sessions.py +0 -0
  134. {dulus-0.2.42 → dulus-0.2.46}/memory/store.py +0 -0
  135. {dulus-0.2.42 → dulus-0.2.46}/memory/tools.py +0 -0
  136. {dulus-0.2.42 → dulus-0.2.46}/memory/types.py +0 -0
  137. {dulus-0.2.42 → dulus-0.2.46}/memory/vector_search.py +0 -0
  138. {dulus-0.2.42 → dulus-0.2.46}/multi_agent/__init__.py +0 -0
  139. {dulus-0.2.42 → dulus-0.2.46}/multi_agent/subagent.py +0 -0
  140. {dulus-0.2.42 → dulus-0.2.46}/multi_agent/tools.py +0 -0
  141. {dulus-0.2.42 → dulus-0.2.46}/offload_helper.py +0 -0
  142. {dulus-0.2.42 → dulus-0.2.46}/plugin/__init__.py +0 -0
  143. {dulus-0.2.42 → dulus-0.2.46}/plugin/autoadapter.py +0 -0
  144. {dulus-0.2.42 → dulus-0.2.46}/plugin/loader.py +0 -0
  145. {dulus-0.2.42 → dulus-0.2.46}/plugin/recommend.py +0 -0
  146. {dulus-0.2.42 → dulus-0.2.46}/plugin/store.py +0 -0
  147. {dulus-0.2.42 → dulus-0.2.46}/plugin/types.py +0 -0
  148. {dulus-0.2.42 → dulus-0.2.46}/providers.py +0 -0
  149. {dulus-0.2.42 → dulus-0.2.46}/setup.cfg +0 -0
  150. {dulus-0.2.42 → dulus-0.2.46}/skill/__init__.py +0 -0
  151. {dulus-0.2.42 → dulus-0.2.46}/skill/builtin.py +0 -0
  152. {dulus-0.2.42 → dulus-0.2.46}/skill/clawhub.py +0 -0
  153. {dulus-0.2.42 → dulus-0.2.46}/skill/executor.py +0 -0
  154. {dulus-0.2.42 → dulus-0.2.46}/skill/loader.py +0 -0
  155. {dulus-0.2.42 → dulus-0.2.46}/skill/tools.py +0 -0
  156. {dulus-0.2.42 → dulus-0.2.46}/skills.py +0 -0
  157. {dulus-0.2.42 → dulus-0.2.46}/spinner.py +0 -0
  158. {dulus-0.2.42 → dulus-0.2.46}/string_utils.py +0 -0
  159. {dulus-0.2.42 → dulus-0.2.46}/subagent.py +0 -0
  160. {dulus-0.2.42 → dulus-0.2.46}/task/__init__.py +0 -0
  161. {dulus-0.2.42 → dulus-0.2.46}/task/store.py +0 -0
  162. {dulus-0.2.42 → dulus-0.2.46}/task/tools.py +0 -0
  163. {dulus-0.2.42 → dulus-0.2.46}/task/types.py +0 -0
  164. {dulus-0.2.42 → dulus-0.2.46}/tests/test_afk_yolo.py +0 -0
  165. {dulus-0.2.42 → dulus-0.2.46}/tests/test_approval_runtime.py +0 -0
  166. {dulus-0.2.42 → dulus-0.2.46}/tests/test_background_task_tools.py +0 -0
  167. {dulus-0.2.42 → dulus-0.2.46}/tests/test_background_tasks.py +0 -0
  168. {dulus-0.2.42 → dulus-0.2.46}/tests/test_checkpoint.py +0 -0
  169. {dulus-0.2.42 → dulus-0.2.46}/tests/test_clipboard_utils.py +0 -0
  170. {dulus-0.2.42 → dulus-0.2.46}/tests/test_compaction.py +0 -0
  171. {dulus-0.2.42 → dulus-0.2.46}/tests/test_diff_view.py +0 -0
  172. {dulus-0.2.42 → dulus-0.2.46}/tests/test_diff_visualization.py +0 -0
  173. {dulus-0.2.42 → dulus-0.2.46}/tests/test_display_blocks.py +0 -0
  174. {dulus-0.2.42 → dulus-0.2.46}/tests/test_export_import.py +0 -0
  175. {dulus-0.2.42 → dulus-0.2.46}/tests/test_hook_engine.py +0 -0
  176. {dulus-0.2.42 → dulus-0.2.46}/tests/test_injection_fix.py +0 -0
  177. {dulus-0.2.42 → dulus-0.2.46}/tests/test_license.py +0 -0
  178. {dulus-0.2.42 → dulus-0.2.46}/tests/test_mcp.py +0 -0
  179. {dulus-0.2.42 → dulus-0.2.46}/tests/test_memory.py +0 -0
  180. {dulus-0.2.42 → dulus-0.2.46}/tests/test_notification_manager.py +0 -0
  181. {dulus-0.2.42 → dulus-0.2.46}/tests/test_plugin.py +0 -0
  182. {dulus-0.2.42 → dulus-0.2.46}/tests/test_session_fork.py +0 -0
  183. {dulus-0.2.42 → dulus-0.2.46}/tests/test_shell_mode.py +0 -0
  184. {dulus-0.2.42 → dulus-0.2.46}/tests/test_skills.py +0 -0
  185. {dulus-0.2.42 → dulus-0.2.46}/tests/test_steer_input.py +0 -0
  186. {dulus-0.2.42 → dulus-0.2.46}/tests/test_subagent.py +0 -0
  187. {dulus-0.2.42 → dulus-0.2.46}/tests/test_task.py +0 -0
  188. {dulus-0.2.42 → dulus-0.2.46}/tests/test_telegram_buffer.py +0 -0
  189. {dulus-0.2.42 → dulus-0.2.46}/tests/test_think_tool.py +0 -0
  190. {dulus-0.2.42 → dulus-0.2.46}/tests/test_todo_tool.py +0 -0
  191. {dulus-0.2.42 → dulus-0.2.46}/tests/test_todo_visualization.py +0 -0
  192. {dulus-0.2.42 → dulus-0.2.46}/tests/test_tool_registry.py +0 -0
  193. {dulus-0.2.42 → dulus-0.2.46}/tests/test_voice.py +0 -0
  194. {dulus-0.2.42 → dulus-0.2.46}/tests/test_wire_events.py +0 -0
  195. {dulus-0.2.42 → dulus-0.2.46}/tmux_offloader.py +0 -0
  196. {dulus-0.2.42 → dulus-0.2.46}/tmux_tools.py +0 -0
  197. {dulus-0.2.42 → dulus-0.2.46}/tool_registry.py +0 -0
  198. {dulus-0.2.42 → dulus-0.2.46}/tools.py +0 -0
  199. {dulus-0.2.42 → dulus-0.2.46}/ui/__init__.py +0 -0
  200. {dulus-0.2.42 → dulus-0.2.46}/ui/input.py +0 -0
  201. {dulus-0.2.42 → dulus-0.2.46}/ui/render.py +0 -0
  202. {dulus-0.2.42 → dulus-0.2.46}/voice/__init__.py +0 -0
  203. {dulus-0.2.42 → dulus-0.2.46}/voice/keyterms.py +0 -0
  204. {dulus-0.2.42 → dulus-0.2.46}/voice/recorder.py +0 -0
  205. {dulus-0.2.42 → dulus-0.2.46}/voice/stt.py +0 -0
  206. {dulus-0.2.42 → dulus-0.2.46}/voice/tts.py +0 -0
  207. {dulus-0.2.42 → dulus-0.2.46}/webchat.py +0 -0
@@ -1,2 +1,3 @@
1
1
  recursive-include docs *
2
2
  recursive-include data *
3
+ recursive-include sandbox/dist *
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dulus
3
- Version: 0.2.42
3
+ Version: 0.2.46
4
4
  Summary: Spanish-first multi-provider AI CLI — 14 NVIDIA models free, Mesa Redonda, voice, TTS, RTK token reducer, MemPalace
5
5
  Author: KevRojo
6
6
  License: GPL-3.0
@@ -69,7 +69,7 @@ SET /sticky_input ON since the first run for the best experience!
69
69
  <a href="https://pypi.org/project/dulus/"><img src="https://static.pepy.tech/badge/dulus?style=flat-square" alt="downloads"/></a>
70
70
  <img src="https://img.shields.io/badge/python-3.11+-ff6b1f?style=flat-square&labelColor=07070a" alt="python"/>
71
71
  <img src="https://img.shields.io/badge/license-GPLv3-ff6b1f?style=flat-square&labelColor=07070a" alt="license"/>
72
- <img src="https://img.shields.io/badge/version-v0.2.42-ff6b1f?style=flat-square&labelColor=07070a" alt="version"/>
72
+ <img src="https://img.shields.io/badge/version-v0.2.44-ff6b1f?style=flat-square&labelColor=07070a" alt="version"/>
73
73
  <img src="https://img.shields.io/badge/providers-11-ff6b1f?style=flat-square&labelColor=07070a" alt="providers"/>
74
74
  <img src="https://img.shields.io/badge/tools-27-ff6b1f?style=flat-square&labelColor=07070a" alt="tools"/>
75
75
  <img src="https://img.shields.io/badge/tests-263+-ff6b1f?style=flat-square&labelColor=07070a" alt="tests"/>
@@ -231,8 +231,16 @@ echo "explain this diff" | git diff | dulus -p --accept-all
231
231
  > [!NOTE]
232
232
  > **Experimental features:** The folder `sandbox/` contains the early implementation of **Dulus OS** — a mini-operating system that runs entirely in your browser. It is currently in heavy development and not 100% functional yet. It will serve as a secure, isolated environment for browser-based tool execution and visualizations.
233
233
 
234
+ <img width="1309" height="778" alt="image" src="https://github.com/user-attachments/assets/1c627990-7f87-489b-a0a2-14ad62fe2bb8" />
235
+
236
+ ---
237
+ <img width="1608" height="1903" alt="image" src="https://github.com/user-attachments/assets/450defa2-437b-470d-891a-9285d9e5e312" />
238
+
234
239
  ---
240
+ <img width="3763" height="1975" alt="image" src="https://github.com/user-attachments/assets/10752aa2-6837-4097-a9a8-e02938992174" />
235
241
 
242
+ ---
243
+ The dulus sandbox is an early feature, expect bugs
236
244
 
237
245
  ---
238
246