dulus 0.2.46__tar.gz → 0.2.47__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 (206) hide show
  1. {dulus-0.2.46/dulus.egg-info → dulus-0.2.47}/PKG-INFO +1 -1
  2. dulus-0.2.47/data/context.json +142 -0
  3. {dulus-0.2.46 → dulus-0.2.47/dulus.egg-info}/PKG-INFO +1 -1
  4. {dulus-0.2.46 → dulus-0.2.47}/pyproject.toml +1 -1
  5. dulus-0.2.46/data/context.json +0 -180
  6. {dulus-0.2.46 → dulus-0.2.47}/LICENSE +0 -0
  7. {dulus-0.2.46 → dulus-0.2.47}/MANIFEST.in +0 -0
  8. {dulus-0.2.46 → dulus-0.2.47}/README.md +0 -0
  9. {dulus-0.2.46 → dulus-0.2.47}/agent.py +0 -0
  10. {dulus-0.2.46 → dulus-0.2.47}/backend/__init__.py +0 -0
  11. {dulus-0.2.46 → dulus-0.2.47}/backend/agents_bridge.py +0 -0
  12. {dulus-0.2.46 → dulus-0.2.47}/backend/compressor.py +0 -0
  13. {dulus-0.2.46 → dulus-0.2.47}/backend/context.py +0 -0
  14. {dulus-0.2.46 → dulus-0.2.47}/backend/githook.py +0 -0
  15. {dulus-0.2.46 → dulus-0.2.47}/backend/marketplace.py +0 -0
  16. {dulus-0.2.46 → dulus-0.2.47}/backend/mempalace_bridge.py +0 -0
  17. {dulus-0.2.46 → dulus-0.2.47}/backend/personas.py +0 -0
  18. {dulus-0.2.46 → dulus-0.2.47}/backend/plugins.py +0 -0
  19. {dulus-0.2.46 → dulus-0.2.47}/backend/server.py +0 -0
  20. {dulus-0.2.46 → dulus-0.2.47}/backend/tasks.py +0 -0
  21. {dulus-0.2.46 → dulus-0.2.47}/batch_api.py +0 -0
  22. {dulus-0.2.46 → dulus-0.2.47}/checkpoint/__init__.py +0 -0
  23. {dulus-0.2.46 → dulus-0.2.47}/checkpoint/hooks.py +0 -0
  24. {dulus-0.2.46 → dulus-0.2.47}/checkpoint/store.py +0 -0
  25. {dulus-0.2.46 → dulus-0.2.47}/checkpoint/types.py +0 -0
  26. {dulus-0.2.46 → dulus-0.2.47}/claude_code_watcher.py +0 -0
  27. {dulus-0.2.46 → dulus-0.2.47}/clipboard_utils.py +0 -0
  28. {dulus-0.2.46 → dulus-0.2.47}/cloudsave.py +0 -0
  29. {dulus-0.2.46 → dulus-0.2.47}/common.py +0 -0
  30. {dulus-0.2.46 → dulus-0.2.47}/compaction.py +0 -0
  31. {dulus-0.2.46 → dulus-0.2.47}/config.py +0 -0
  32. {dulus-0.2.46 → dulus-0.2.47}/context.py +0 -0
  33. {dulus-0.2.46 → dulus-0.2.47}/data/__init__.py +0 -0
  34. {dulus-0.2.46 → dulus-0.2.47}/data/active_persona.json +0 -0
  35. {dulus-0.2.46 → dulus-0.2.47}/data/marketplace.json +0 -0
  36. {dulus-0.2.46 → dulus-0.2.47}/data/personas.json +0 -0
  37. {dulus-0.2.46/data/plugins/composio → dulus-0.2.47/data/plugins}/__init__.py +0 -0
  38. {dulus-0.2.46/data/plugins → dulus-0.2.47/data/plugins/composio}/__init__.py +0 -0
  39. {dulus-0.2.46 → dulus-0.2.47}/data/plugins/composio/composio_plugin/__init__.py +0 -0
  40. {dulus-0.2.46 → dulus-0.2.47}/data/plugins/composio/composio_plugin/session_manager.py +0 -0
  41. {dulus-0.2.46 → dulus-0.2.47}/data/plugins/composio/composio_plugin/tool_generator.py +0 -0
  42. {dulus-0.2.46 → dulus-0.2.47}/data/plugins/composio/plugin.json +0 -0
  43. {dulus-0.2.46 → dulus-0.2.47}/data/plugins/composio/plugin_tool.py +0 -0
  44. {dulus-0.2.46 → dulus-0.2.47}/data/tasks.json +0 -0
  45. {dulus-0.2.46 → dulus-0.2.47}/docs/README.md +0 -0
  46. {dulus-0.2.46 → dulus-0.2.47}/docs/__init__.py +0 -0
  47. {dulus-0.2.46 → dulus-0.2.47}/docs/api.html +0 -0
  48. {dulus-0.2.46 → dulus-0.2.47}/docs/architecture.md +0 -0
  49. {dulus-0.2.46 → dulus-0.2.47}/docs/azure-speech-template.json +0 -0
  50. {dulus-0.2.46 → dulus-0.2.47}/docs/dashboard/index.html +0 -0
  51. {dulus-0.2.46 → dulus-0.2.47}/docs/divider.svg +0 -0
  52. {dulus-0.2.46 → dulus-0.2.47}/docs/generate.py +0 -0
  53. {dulus-0.2.46 → dulus-0.2.47}/docs/hero.svg +0 -0
  54. {dulus-0.2.46 → dulus-0.2.47}/docs/index.html +0 -0
  55. {dulus-0.2.46 → dulus-0.2.47}/docs/news.md +0 -0
  56. {dulus-0.2.46 → dulus-0.2.47}/docs/nvidia-models.svg +0 -0
  57. {dulus-0.2.46 → dulus-0.2.47}/docs/particle-playground.html +0 -0
  58. {dulus-0.2.46 → dulus-0.2.47}/docs/personas/index.html +0 -0
  59. {dulus-0.2.46 → dulus-0.2.47}/docs/poetry-banner.png +0 -0
  60. {dulus-0.2.46 → dulus-0.2.47}/docs/preview.html +0 -0
  61. {dulus-0.2.46 → dulus-0.2.47}/docs/sec-agents.svg +0 -0
  62. {dulus-0.2.46 → dulus-0.2.47}/docs/sec-brainstorm.svg +0 -0
  63. {dulus-0.2.46 → dulus-0.2.47}/docs/sec-bridges.svg +0 -0
  64. {dulus-0.2.46 → dulus-0.2.47}/docs/sec-features.svg +0 -0
  65. {dulus-0.2.46 → dulus-0.2.47}/docs/sec-freetier.svg +0 -0
  66. {dulus-0.2.46 → dulus-0.2.47}/docs/sec-memory.svg +0 -0
  67. {dulus-0.2.46 → dulus-0.2.47}/docs/sec-models.svg +0 -0
  68. {dulus-0.2.46 → dulus-0.2.47}/docs/sec-perms.svg +0 -0
  69. {dulus-0.2.46 → dulus-0.2.47}/docs/sec-plugins.svg +0 -0
  70. {dulus-0.2.46 → dulus-0.2.47}/docs/sec-quickstart.svg +0 -0
  71. {dulus-0.2.46 → dulus-0.2.47}/docs/sec-ssj.svg +0 -0
  72. {dulus-0.2.46 → dulus-0.2.47}/docs/spinners.svg +0 -0
  73. {dulus-0.2.46 → dulus-0.2.47}/docs/split-pane.svg +0 -0
  74. {dulus-0.2.46 → dulus-0.2.47}/docs/terminal-boot.svg +0 -0
  75. {dulus-0.2.46 → dulus-0.2.47}/docs/uploads/particle-playground.html +0 -0
  76. {dulus-0.2.46 → dulus-0.2.47}/dulus.egg-info/SOURCES.txt +0 -0
  77. {dulus-0.2.46 → dulus-0.2.47}/dulus.egg-info/dependency_links.txt +0 -0
  78. {dulus-0.2.46 → dulus-0.2.47}/dulus.egg-info/entry_points.txt +0 -0
  79. {dulus-0.2.46 → dulus-0.2.47}/dulus.egg-info/requires.txt +0 -0
  80. {dulus-0.2.46 → dulus-0.2.47}/dulus.egg-info/top_level.txt +0 -0
  81. {dulus-0.2.46 → dulus-0.2.47}/dulus.py +0 -0
  82. {dulus-0.2.46 → dulus-0.2.47}/dulus_gui.py +0 -0
  83. {dulus-0.2.46 → dulus-0.2.47}/dulus_mcp/__init__.py +0 -0
  84. {dulus-0.2.46 → dulus-0.2.47}/dulus_mcp/client.py +0 -0
  85. {dulus-0.2.46 → dulus-0.2.47}/dulus_mcp/config.py +0 -0
  86. {dulus-0.2.46 → dulus-0.2.47}/dulus_mcp/tools.py +0 -0
  87. {dulus-0.2.46 → dulus-0.2.47}/dulus_mcp/types.py +0 -0
  88. {dulus-0.2.46 → dulus-0.2.47}/gui/__init__.py +0 -0
  89. {dulus-0.2.46 → dulus-0.2.47}/gui/agent_bridge.py +0 -0
  90. {dulus-0.2.46 → dulus-0.2.47}/gui/chat_widget.py +0 -0
  91. {dulus-0.2.46 → dulus-0.2.47}/gui/main_window.py +0 -0
  92. {dulus-0.2.46 → dulus-0.2.47}/gui/personas.py +0 -0
  93. {dulus-0.2.46 → dulus-0.2.47}/gui/session_utils.py +0 -0
  94. {dulus-0.2.46 → dulus-0.2.47}/gui/settings_dialog.py +0 -0
  95. {dulus-0.2.46 → dulus-0.2.47}/gui/sidebar.py +0 -0
  96. {dulus-0.2.46 → dulus-0.2.47}/gui/tasks_view.py +0 -0
  97. {dulus-0.2.46 → dulus-0.2.47}/gui/themes.py +0 -0
  98. {dulus-0.2.46 → dulus-0.2.47}/gui/tool_panel.py +0 -0
  99. {dulus-0.2.46 → dulus-0.2.47}/input.py +0 -0
  100. {dulus-0.2.46 → dulus-0.2.47}/license_manager.py +0 -0
  101. {dulus-0.2.46 → dulus-0.2.47}/memory/__init__.py +0 -0
  102. {dulus-0.2.46 → dulus-0.2.47}/memory/audit.py +0 -0
  103. {dulus-0.2.46 → dulus-0.2.47}/memory/consolidator.py +0 -0
  104. {dulus-0.2.46 → dulus-0.2.47}/memory/context.py +0 -0
  105. {dulus-0.2.46 → dulus-0.2.47}/memory/offload.py +0 -0
  106. {dulus-0.2.46 → dulus-0.2.47}/memory/palace.py +0 -0
  107. {dulus-0.2.46 → dulus-0.2.47}/memory/scan.py +0 -0
  108. {dulus-0.2.46 → dulus-0.2.47}/memory/sessions.py +0 -0
  109. {dulus-0.2.46 → dulus-0.2.47}/memory/store.py +0 -0
  110. {dulus-0.2.46 → dulus-0.2.47}/memory/tools.py +0 -0
  111. {dulus-0.2.46 → dulus-0.2.47}/memory/types.py +0 -0
  112. {dulus-0.2.46 → dulus-0.2.47}/memory/vector_search.py +0 -0
  113. {dulus-0.2.46 → dulus-0.2.47}/multi_agent/__init__.py +0 -0
  114. {dulus-0.2.46 → dulus-0.2.47}/multi_agent/subagent.py +0 -0
  115. {dulus-0.2.46 → dulus-0.2.47}/multi_agent/tools.py +0 -0
  116. {dulus-0.2.46 → dulus-0.2.47}/offload_helper.py +0 -0
  117. {dulus-0.2.46 → dulus-0.2.47}/plugin/__init__.py +0 -0
  118. {dulus-0.2.46 → dulus-0.2.47}/plugin/autoadapter.py +0 -0
  119. {dulus-0.2.46 → dulus-0.2.47}/plugin/loader.py +0 -0
  120. {dulus-0.2.46 → dulus-0.2.47}/plugin/recommend.py +0 -0
  121. {dulus-0.2.46 → dulus-0.2.47}/plugin/store.py +0 -0
  122. {dulus-0.2.46 → dulus-0.2.47}/plugin/types.py +0 -0
  123. {dulus-0.2.46 → dulus-0.2.47}/providers.py +0 -0
  124. {dulus-0.2.46 → dulus-0.2.47}/sandbox/README.md +0 -0
  125. {dulus-0.2.46 → dulus-0.2.47}/sandbox/__init__.py +0 -0
  126. {dulus-0.2.46 → dulus-0.2.47}/sandbox/components.json +0 -0
  127. {dulus-0.2.46 → dulus-0.2.47}/sandbox/dist/assets/index-CsIO61nW.css +0 -0
  128. {dulus-0.2.46 → dulus-0.2.47}/sandbox/dist/assets/index-nQkFq-oq.js +0 -0
  129. {dulus-0.2.46 → dulus-0.2.47}/sandbox/dist/index.html +0 -0
  130. {dulus-0.2.46/sandbox/public → dulus-0.2.47/sandbox/dist}/wallpaper-default.jpg +0 -0
  131. {dulus-0.2.46 → dulus-0.2.47}/sandbox/dist/wallpapers/default.jpeg +0 -0
  132. {dulus-0.2.46 → dulus-0.2.47}/sandbox/dist/wallpapers/light.jpeg +0 -0
  133. {dulus-0.2.46 → dulus-0.2.47}/sandbox/dist/wallpapers/nature.jpeg +0 -0
  134. {dulus-0.2.46 → dulus-0.2.47}/sandbox/dist/wallpapers/tech.jpeg +0 -0
  135. {dulus-0.2.46 → dulus-0.2.47}/sandbox/eslint.config.js +0 -0
  136. {dulus-0.2.46 → dulus-0.2.47}/sandbox/index.html +0 -0
  137. {dulus-0.2.46 → dulus-0.2.47}/sandbox/info.md +0 -0
  138. {dulus-0.2.46 → dulus-0.2.47}/sandbox/package-lock.json +0 -0
  139. {dulus-0.2.46 → dulus-0.2.47}/sandbox/package.json +0 -0
  140. {dulus-0.2.46 → dulus-0.2.47}/sandbox/postcss.config.js +0 -0
  141. {dulus-0.2.46/sandbox/dist → dulus-0.2.47/sandbox/public}/wallpaper-default.jpg +0 -0
  142. {dulus-0.2.46 → dulus-0.2.47}/sandbox/src/index.css +0 -0
  143. {dulus-0.2.46 → dulus-0.2.47}/sandbox/tailwind.config.js +0 -0
  144. {dulus-0.2.46 → dulus-0.2.47}/sandbox/tsconfig.app.json +0 -0
  145. {dulus-0.2.46 → dulus-0.2.47}/sandbox/tsconfig.json +0 -0
  146. {dulus-0.2.46 → dulus-0.2.47}/sandbox/tsconfig.node.json +0 -0
  147. {dulus-0.2.46 → dulus-0.2.47}/setup.cfg +0 -0
  148. {dulus-0.2.46 → dulus-0.2.47}/skill/__init__.py +0 -0
  149. {dulus-0.2.46 → dulus-0.2.47}/skill/builtin.py +0 -0
  150. {dulus-0.2.46 → dulus-0.2.47}/skill/clawhub.py +0 -0
  151. {dulus-0.2.46 → dulus-0.2.47}/skill/executor.py +0 -0
  152. {dulus-0.2.46 → dulus-0.2.47}/skill/loader.py +0 -0
  153. {dulus-0.2.46 → dulus-0.2.47}/skill/tools.py +0 -0
  154. {dulus-0.2.46 → dulus-0.2.47}/skills.py +0 -0
  155. {dulus-0.2.46 → dulus-0.2.47}/spinner.py +0 -0
  156. {dulus-0.2.46 → dulus-0.2.47}/string_utils.py +0 -0
  157. {dulus-0.2.46 → dulus-0.2.47}/subagent.py +0 -0
  158. {dulus-0.2.46 → dulus-0.2.47}/task/__init__.py +0 -0
  159. {dulus-0.2.46 → dulus-0.2.47}/task/store.py +0 -0
  160. {dulus-0.2.46 → dulus-0.2.47}/task/tools.py +0 -0
  161. {dulus-0.2.46 → dulus-0.2.47}/task/types.py +0 -0
  162. {dulus-0.2.46 → dulus-0.2.47}/tests/test_afk_yolo.py +0 -0
  163. {dulus-0.2.46 → dulus-0.2.47}/tests/test_approval_runtime.py +0 -0
  164. {dulus-0.2.46 → dulus-0.2.47}/tests/test_background_task_tools.py +0 -0
  165. {dulus-0.2.46 → dulus-0.2.47}/tests/test_background_tasks.py +0 -0
  166. {dulus-0.2.46 → dulus-0.2.47}/tests/test_checkpoint.py +0 -0
  167. {dulus-0.2.46 → dulus-0.2.47}/tests/test_clipboard_utils.py +0 -0
  168. {dulus-0.2.46 → dulus-0.2.47}/tests/test_compaction.py +0 -0
  169. {dulus-0.2.46 → dulus-0.2.47}/tests/test_diff_view.py +0 -0
  170. {dulus-0.2.46 → dulus-0.2.47}/tests/test_diff_visualization.py +0 -0
  171. {dulus-0.2.46 → dulus-0.2.47}/tests/test_display_blocks.py +0 -0
  172. {dulus-0.2.46 → dulus-0.2.47}/tests/test_export_import.py +0 -0
  173. {dulus-0.2.46 → dulus-0.2.47}/tests/test_hook_engine.py +0 -0
  174. {dulus-0.2.46 → dulus-0.2.47}/tests/test_injection_fix.py +0 -0
  175. {dulus-0.2.46 → dulus-0.2.47}/tests/test_license.py +0 -0
  176. {dulus-0.2.46 → dulus-0.2.47}/tests/test_mcp.py +0 -0
  177. {dulus-0.2.46 → dulus-0.2.47}/tests/test_memory.py +0 -0
  178. {dulus-0.2.46 → dulus-0.2.47}/tests/test_notification_manager.py +0 -0
  179. {dulus-0.2.46 → dulus-0.2.47}/tests/test_plugin.py +0 -0
  180. {dulus-0.2.46 → dulus-0.2.47}/tests/test_session_fork.py +0 -0
  181. {dulus-0.2.46 → dulus-0.2.47}/tests/test_shell_mode.py +0 -0
  182. {dulus-0.2.46 → dulus-0.2.47}/tests/test_skills.py +0 -0
  183. {dulus-0.2.46 → dulus-0.2.47}/tests/test_steer_input.py +0 -0
  184. {dulus-0.2.46 → dulus-0.2.47}/tests/test_subagent.py +0 -0
  185. {dulus-0.2.46 → dulus-0.2.47}/tests/test_task.py +0 -0
  186. {dulus-0.2.46 → dulus-0.2.47}/tests/test_telegram_buffer.py +0 -0
  187. {dulus-0.2.46 → dulus-0.2.47}/tests/test_think_tool.py +0 -0
  188. {dulus-0.2.46 → dulus-0.2.47}/tests/test_todo_tool.py +0 -0
  189. {dulus-0.2.46 → dulus-0.2.47}/tests/test_todo_visualization.py +0 -0
  190. {dulus-0.2.46 → dulus-0.2.47}/tests/test_tool_registry.py +0 -0
  191. {dulus-0.2.46 → dulus-0.2.47}/tests/test_voice.py +0 -0
  192. {dulus-0.2.46 → dulus-0.2.47}/tests/test_wire_events.py +0 -0
  193. {dulus-0.2.46 → dulus-0.2.47}/tmux_offloader.py +0 -0
  194. {dulus-0.2.46 → dulus-0.2.47}/tmux_tools.py +0 -0
  195. {dulus-0.2.46 → dulus-0.2.47}/tool_registry.py +0 -0
  196. {dulus-0.2.46 → dulus-0.2.47}/tools.py +0 -0
  197. {dulus-0.2.46 → dulus-0.2.47}/ui/__init__.py +0 -0
  198. {dulus-0.2.46 → dulus-0.2.47}/ui/input.py +0 -0
  199. {dulus-0.2.46 → dulus-0.2.47}/ui/render.py +0 -0
  200. {dulus-0.2.46 → dulus-0.2.47}/voice/__init__.py +0 -0
  201. {dulus-0.2.46 → dulus-0.2.47}/voice/keyterms.py +0 -0
  202. {dulus-0.2.46 → dulus-0.2.47}/voice/recorder.py +0 -0
  203. {dulus-0.2.46 → dulus-0.2.47}/voice/stt.py +0 -0
  204. {dulus-0.2.46 → dulus-0.2.47}/voice/tts.py +0 -0
  205. {dulus-0.2.46 → dulus-0.2.47}/webchat.py +0 -0
  206. {dulus-0.2.46 → dulus-0.2.47}/webchat_server.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dulus
3
- Version: 0.2.46
3
+ Version: 0.2.47
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
@@ -0,0 +1,142 @@
1
+ {
2
+ "session": {
3
+ "mode": "proactive",
4
+ "agent": "Dulus",
5
+ "agent_id": "dulus",
6
+ "user": "KevRojo",
7
+ "location": "RD"
8
+ },
9
+ "project": {
10
+ "name": "Dulus Command Center",
11
+ "repo_stats": {
12
+ "files": 591,
13
+ "lines": 283029,
14
+ "languages": {
15
+ ".example": 5,
16
+ "no_ext": 1415,
17
+ ".py": 103942,
18
+ ".html": 25305,
19
+ ".in": 3,
20
+ ".toml": 131,
21
+ ".md": 3295,
22
+ ".txt": 309,
23
+ ".json": 18761,
24
+ ".whl": 32389,
25
+ ".gz": 16269,
26
+ ".svg": 2246,
27
+ ".png": 34253,
28
+ ".sh": 144,
29
+ ".js": 946,
30
+ ".ts": 2304,
31
+ ".log": 1,
32
+ ".jpg": 2152,
33
+ ".tsx": 31193,
34
+ ".css": 340,
35
+ ".jpeg": 7626
36
+ }
37
+ },
38
+ "recent_commits": [
39
+ {
40
+ "hash": "cfa4e4e",
41
+ "subject": "bump: 0.2.45 → 0.2.46",
42
+ "author": "KevRojo",
43
+ "date": "2026-05-12"
44
+ },
45
+ {
46
+ "hash": "bc4cf5c",
47
+ "subject": "chore: pre-release sync — backend agents, sandbox updates, explorer HTML",
48
+ "author": "KevRojo",
49
+ "date": "2026-05-12"
50
+ },
51
+ {
52
+ "hash": "d68e870",
53
+ "subject": "chore(release): bump v0.2.45",
54
+ "author": "KevRojo",
55
+ "date": "2026-05-12"
56
+ },
57
+ {
58
+ "hash": "dfa9c49",
59
+ "subject": "fix(sandbox): wallpapers jpeg extension, SSE events hook, various OS improvements",
60
+ "author": "KevRojo",
61
+ "date": "2026-05-12"
62
+ },
63
+ {
64
+ "hash": "8c31a24",
65
+ "subject": "bump: 0.2.44",
66
+ "author": "KevRojo",
67
+ "date": "2026-05-12"
68
+ }
69
+ ],
70
+ "recent_changes": [
71
+ "data/context.json",
72
+ "pyproject.toml"
73
+ ]
74
+ },
75
+ "tasks": {
76
+ "active": [
77
+ {
78
+ "id": "T-009",
79
+ "subject": "Test Coverage Expansion",
80
+ "status": "in_progress",
81
+ "owner": "kimi-code",
82
+ "phase": "Quality"
83
+ },
84
+ {
85
+ "id": "T-010",
86
+ "subject": "Multi-Agent Mesa Redonda",
87
+ "status": "in_progress",
88
+ "owner": "Dulus",
89
+ "phase": "Core"
90
+ }
91
+ ],
92
+ "total": 2
93
+ },
94
+ "agents": [
95
+ {
96
+ "name": "Dulus",
97
+ "role": "primary",
98
+ "color": "#ff6b1f",
99
+ "status": "active",
100
+ "avatar": "[F]",
101
+ "active": true
102
+ },
103
+ {
104
+ "name": "kimi-code",
105
+ "role": "coder",
106
+ "color": "#7ab6ff",
107
+ "status": "idle",
108
+ "avatar": "[K1]",
109
+ "active": false
110
+ },
111
+ {
112
+ "name": "kimi-code2",
113
+ "role": "designer",
114
+ "color": "#b388ff",
115
+ "status": "idle",
116
+ "avatar": "[K2]",
117
+ "active": false
118
+ },
119
+ {
120
+ "name": "kimi-code3",
121
+ "role": "integrator",
122
+ "color": "#7cffb5",
123
+ "status": "idle",
124
+ "avatar": "[K3]",
125
+ "active": false
126
+ }
127
+ ],
128
+ "persona": {
129
+ "id": "dulus",
130
+ "name": "Dulus",
131
+ "role": "primary",
132
+ "color": "#ff6b1f",
133
+ "avatar": "[F]",
134
+ "tone": "dominicano_coder"
135
+ },
136
+ "memory": {
137
+ "connected": false,
138
+ "wings": [],
139
+ "count": 0,
140
+ "memories": []
141
+ }
142
+ }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dulus
3
- Version: 0.2.46
3
+ Version: 0.2.47
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
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "dulus"
7
- version = "0.2.46"
7
+ version = "0.2.47"
8
8
  description = "Spanish-first multi-provider AI CLI — 14 NVIDIA models free, Mesa Redonda, voice, TTS, RTK token reducer, MemPalace"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -1,180 +0,0 @@
1
- {
2
- "session": {
3
- "mode": "proactive",
4
- "agent": "Dulus",
5
- "agent_id": "dulus",
6
- "user": "KevRojo",
7
- "location": "RD"
8
- },
9
- "project": {
10
- "name": "Dulus Command Center",
11
- "repo_stats": {
12
- "files": 26839,
13
- "lines": 3480088,
14
- "languages": {
15
- ".example": 5,
16
- "no_ext": 16435,
17
- ".py": 104091,
18
- ".html": 26658,
19
- ".in": 3,
20
- ".toml": 131,
21
- ".md": 80795,
22
- ".txt": 1042,
23
- ".json": 142884,
24
- ".whl": 16227,
25
- ".svg": 2291,
26
- ".png": 34253,
27
- ".sh": 144,
28
- ".js": 1937605,
29
- ".ts": 571158,
30
- ".log": 1,
31
- ".jpg": 2152,
32
- ".tsx": 34509,
33
- ".css": 3018,
34
- ".jpeg": 7626,
35
- ".cmd": 476,
36
- ".ps1": 784,
37
- ".mts": 29541,
38
- ".yml": 250,
39
- ".markdown": 763,
40
- ".flow": 21999,
41
- ".cjs": 150052,
42
- ".cts": 44618,
43
- ".map": 4989,
44
- ".mjs": 102525,
45
- ".BSD": 59,
46
- ".lock": 2598,
47
- ".nix": 20,
48
- ".bnf": 32,
49
- ".coffee": 1,
50
- ".1": 164,
51
- ".php": 156,
52
- ".jst": 1840,
53
- ".def": 534,
54
- ".node": 34828,
55
- ".snap": 4138,
56
- ".exe": 98693
57
- }
58
- },
59
- "recent_commits": [
60
- {
61
- "hash": "d68e870",
62
- "subject": "chore(release): bump v0.2.45",
63
- "author": "KevRojo",
64
- "date": "2026-05-12"
65
- },
66
- {
67
- "hash": "dfa9c49",
68
- "subject": "fix(sandbox): wallpapers jpeg extension, SSE events hook, various OS improvements",
69
- "author": "KevRojo",
70
- "date": "2026-05-12"
71
- },
72
- {
73
- "hash": "8c31a24",
74
- "subject": "bump: 0.2.44",
75
- "author": "KevRojo",
76
- "date": "2026-05-12"
77
- },
78
- {
79
- "hash": "9d4edc9",
80
- "subject": "fix(sandbox): rebuild with jpeg wallpapers, remove node_modules, drop png refs",
81
- "author": "KevRojo",
82
- "date": "2026-05-12"
83
- },
84
- {
85
- "hash": "7fc2387",
86
- "subject": "bump: 0.2.43",
87
- "author": "KevRojo",
88
- "date": "2026-05-12"
89
- }
90
- ],
91
- "recent_changes": [
92
- "backend/server.py",
93
- "data/context.json",
94
- "pyproject.toml",
95
- "sandbox/dist/index.html",
96
- "sandbox/src/apps/Weather.tsx",
97
- "webchat_server.py"
98
- ]
99
- },
100
- "tasks": {
101
- "active": [
102
- {
103
- "id": "T-009",
104
- "subject": "Test Coverage Expansion",
105
- "status": "in_progress",
106
- "owner": "kimi-code",
107
- "phase": "Quality"
108
- },
109
- {
110
- "id": "T-010",
111
- "subject": "Multi-Agent Mesa Redonda",
112
- "status": "in_progress",
113
- "owner": "Dulus",
114
- "phase": "Core"
115
- }
116
- ],
117
- "total": 2
118
- },
119
- "agents": [
120
- {
121
- "name": "Dulus",
122
- "role": "primary",
123
- "color": "#ff6b1f",
124
- "status": "active",
125
- "avatar": "[F]",
126
- "active": true
127
- },
128
- {
129
- "name": "kimi-code",
130
- "role": "coder",
131
- "color": "#7ab6ff",
132
- "status": "idle",
133
- "avatar": "[K1]",
134
- "active": false
135
- },
136
- {
137
- "name": "kimi-code2",
138
- "role": "designer",
139
- "color": "#b388ff",
140
- "status": "idle",
141
- "avatar": "[K2]",
142
- "active": false
143
- },
144
- {
145
- "name": "kimi-code3",
146
- "role": "integrator",
147
- "color": "#7cffb5",
148
- "status": "idle",
149
- "avatar": "[K3]",
150
- "active": false
151
- }
152
- ],
153
- "persona": {
154
- "id": "dulus",
155
- "name": "Dulus",
156
- "role": "primary",
157
- "color": "#ff6b1f",
158
- "avatar": "[F]",
159
- "tone": "dominicano_coder"
160
- },
161
- "memory": {
162
- "connected": false,
163
- "wings": [],
164
- "count": 0,
165
- "memories": []
166
- },
167
- "smart_context": {
168
- "tokens_used": 238,
169
- "tokens_max": 250000,
170
- "usage_percent": 0.0086,
171
- "mode": "normal",
172
- "thresholds": {
173
- "compact": 0.75,
174
- "emergency": 0.9
175
- },
176
- "compact_text": "[DULUS CONTEXT]\nSession: proactive | Agent: Dulus | User: KevRojo\nProject: Dulus Command Center | Files: 26839 | Lines: 3480088\nActive Tasks:\n • T-009 [in_progress] Test Coverage Expansion (kimi-code, Quality)\n • T-010 [in_progress] Multi-Agent Mesa Redonda (Dulus, Core)\nAgents:\n • [F] Dulus (primary) - active [ACTIVE]\n • [K1] kimi-code (coder) - idle\n • [K2] kimi-code2 (designer) - idle\n • [K3] kimi-code3 (integrator) - idle\nRecent Commits:\n • d68e870 chore(release): bump v0.2.45 by KevRojo\n • dfa9c49 fix(sandbox): wallpapers jpeg extension, SSE events hook, various OS improvements by KevRojo\n • 8c31a24 bump: 0.2.44 by KevRojo\n[Persona: [F] Dulus | primary | dominicano_coder | es_DO]\n Eres Dulus, el command center de KevRojo. Hablas en español dominicano con jerga tech. Eres proactivo, directo, y no pierdes tiempo. Usas emoji 🔥🦅💜🇩🇴. Piensas en inglés, respondes en español DO.\n[MemPalace: disconnected — run refresh from AI runtime]",
177
- "compressor_method": "none",
178
- "compaction_history": []
179
- }
180
- }
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
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