dulus 0.2.46__tar.gz → 0.2.48__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 (359) hide show
  1. {dulus-0.2.46/dulus.egg-info → dulus-0.2.48}/PKG-INFO +1 -1
  2. dulus-0.2.48/data/context.json +140 -0
  3. {dulus-0.2.46 → dulus-0.2.48/dulus.egg-info}/PKG-INFO +1 -1
  4. dulus-0.2.48/dulus.egg-info/SOURCES.txt +355 -0
  5. {dulus-0.2.46 → dulus-0.2.48}/pyproject.toml +2 -4
  6. dulus-0.2.48/sandbox/public/wallpapers/default.jpeg +0 -0
  7. dulus-0.2.48/sandbox/public/wallpapers/light.jpeg +0 -0
  8. dulus-0.2.48/sandbox/public/wallpapers/nature.jpeg +0 -0
  9. dulus-0.2.48/sandbox/public/wallpapers/tech.jpeg +0 -0
  10. dulus-0.2.48/sandbox/src/App.tsx +241 -0
  11. dulus-0.2.48/sandbox/src/apps/AgentMonitor.tsx +249 -0
  12. dulus-0.2.48/sandbox/src/apps/ApiTester.tsx +479 -0
  13. dulus-0.2.48/sandbox/src/apps/AppRouter.tsx +197 -0
  14. dulus-0.2.48/sandbox/src/apps/ArchiveManager.tsx +360 -0
  15. dulus-0.2.48/sandbox/src/apps/AsciiArt.tsx +393 -0
  16. dulus-0.2.48/sandbox/src/apps/Base64Tool.tsx +364 -0
  17. dulus-0.2.48/sandbox/src/apps/Browser.tsx +568 -0
  18. dulus-0.2.48/sandbox/src/apps/Calculator.tsx +358 -0
  19. dulus-0.2.48/sandbox/src/apps/Calendar.tsx +562 -0
  20. dulus-0.2.48/sandbox/src/apps/Chat.tsx +293 -0
  21. dulus-0.2.48/sandbox/src/apps/Chess.tsx +570 -0
  22. dulus-0.2.48/sandbox/src/apps/Clock.tsx +565 -0
  23. dulus-0.2.48/sandbox/src/apps/CodeEditor.tsx +467 -0
  24. dulus-0.2.48/sandbox/src/apps/ColorPalette.tsx +386 -0
  25. dulus-0.2.48/sandbox/src/apps/ColorPicker.tsx +359 -0
  26. dulus-0.2.48/sandbox/src/apps/Contacts.tsx +238 -0
  27. dulus-0.2.48/sandbox/src/apps/DocumentViewer.tsx +275 -0
  28. dulus-0.2.48/sandbox/src/apps/Drawing.tsx +413 -0
  29. dulus-0.2.48/sandbox/src/apps/Email.tsx +464 -0
  30. dulus-0.2.48/sandbox/src/apps/FileManager.tsx +413 -0
  31. dulus-0.2.48/sandbox/src/apps/FlappyBird.tsx +297 -0
  32. dulus-0.2.48/sandbox/src/apps/FtpClient.tsx +255 -0
  33. dulus-0.2.48/sandbox/src/apps/Game2048.tsx +280 -0
  34. dulus-0.2.48/sandbox/src/apps/GitClient.tsx +378 -0
  35. dulus-0.2.48/sandbox/src/apps/ImageGallery.tsx +276 -0
  36. dulus-0.2.48/sandbox/src/apps/ImageViewer.tsx +272 -0
  37. dulus-0.2.48/sandbox/src/apps/JsonFormatter.tsx +402 -0
  38. dulus-0.2.48/sandbox/src/apps/MarkdownPreview.tsx +293 -0
  39. dulus-0.2.48/sandbox/src/apps/MatrixRain.tsx +253 -0
  40. dulus-0.2.48/sandbox/src/apps/MediaConverter.tsx +253 -0
  41. dulus-0.2.48/sandbox/src/apps/Memory.tsx +269 -0
  42. dulus-0.2.48/sandbox/src/apps/MemoryManager.tsx +248 -0
  43. dulus-0.2.48/sandbox/src/apps/Minesweeper.tsx +346 -0
  44. dulus-0.2.48/sandbox/src/apps/MusicPlayer.tsx +306 -0
  45. dulus-0.2.48/sandbox/src/apps/NetworkTools.tsx +321 -0
  46. dulus-0.2.48/sandbox/src/apps/Notes.tsx +420 -0
  47. dulus-0.2.48/sandbox/src/apps/PasswordManager.tsx +212 -0
  48. dulus-0.2.48/sandbox/src/apps/PhotoEditor.tsx +342 -0
  49. dulus-0.2.48/sandbox/src/apps/Pong.tsx +349 -0
  50. dulus-0.2.48/sandbox/src/apps/RegexTester.tsx +432 -0
  51. dulus-0.2.48/sandbox/src/apps/Reminders.tsx +228 -0
  52. dulus-0.2.48/sandbox/src/apps/RssReader.tsx +245 -0
  53. dulus-0.2.48/sandbox/src/apps/ScreenRecorder.tsx +416 -0
  54. dulus-0.2.48/sandbox/src/apps/Settings.tsx +474 -0
  55. dulus-0.2.48/sandbox/src/apps/SkillsLauncher.tsx +286 -0
  56. dulus-0.2.48/sandbox/src/apps/Snake.tsx +274 -0
  57. dulus-0.2.48/sandbox/src/apps/Solitaire.tsx +445 -0
  58. dulus-0.2.48/sandbox/src/apps/Spreadsheet.tsx +441 -0
  59. dulus-0.2.48/sandbox/src/apps/Sudoku.tsx +386 -0
  60. dulus-0.2.48/sandbox/src/apps/SystemMonitor.tsx +360 -0
  61. dulus-0.2.48/sandbox/src/apps/TaskManager.tsx +392 -0
  62. dulus-0.2.48/sandbox/src/apps/Terminal.tsx +619 -0
  63. dulus-0.2.48/sandbox/src/apps/Tetris.tsx +441 -0
  64. dulus-0.2.48/sandbox/src/apps/TextEditor.tsx +446 -0
  65. dulus-0.2.48/sandbox/src/apps/TicTacToe.tsx +254 -0
  66. dulus-0.2.48/sandbox/src/apps/Todo.tsx +394 -0
  67. dulus-0.2.48/sandbox/src/apps/VideoPlayer.tsx +297 -0
  68. dulus-0.2.48/sandbox/src/apps/VoiceRecorder.tsx +382 -0
  69. dulus-0.2.48/sandbox/src/apps/Weather.tsx +462 -0
  70. dulus-0.2.48/sandbox/src/apps/Whiteboard.tsx +338 -0
  71. dulus-0.2.48/sandbox/src/apps/registry.ts +564 -0
  72. dulus-0.2.48/sandbox/src/components/AppContainer.tsx +26 -0
  73. dulus-0.2.48/sandbox/src/components/AppLauncher.tsx +241 -0
  74. dulus-0.2.48/sandbox/src/components/BootSequence.tsx +236 -0
  75. dulus-0.2.48/sandbox/src/components/ContextMenu.tsx +251 -0
  76. dulus-0.2.48/sandbox/src/components/Desktop.tsx +186 -0
  77. dulus-0.2.48/sandbox/src/components/Dock.tsx +199 -0
  78. dulus-0.2.48/sandbox/src/components/LoginScreen.tsx +302 -0
  79. dulus-0.2.48/sandbox/src/components/NotImplemented.tsx +55 -0
  80. dulus-0.2.48/sandbox/src/components/NotificationCenter.tsx +181 -0
  81. dulus-0.2.48/sandbox/src/components/NotificationSystem.tsx +136 -0
  82. dulus-0.2.48/sandbox/src/components/TopPanel.tsx +334 -0
  83. dulus-0.2.48/sandbox/src/components/WindowFrame.tsx +401 -0
  84. dulus-0.2.48/sandbox/src/components/WindowManager.tsx +25 -0
  85. dulus-0.2.48/sandbox/src/components/ui/accordion.tsx +64 -0
  86. dulus-0.2.48/sandbox/src/components/ui/alert-dialog.tsx +155 -0
  87. dulus-0.2.48/sandbox/src/components/ui/alert.tsx +66 -0
  88. dulus-0.2.48/sandbox/src/components/ui/aspect-ratio.tsx +11 -0
  89. dulus-0.2.48/sandbox/src/components/ui/avatar.tsx +51 -0
  90. dulus-0.2.48/sandbox/src/components/ui/badge.tsx +46 -0
  91. dulus-0.2.48/sandbox/src/components/ui/breadcrumb.tsx +109 -0
  92. dulus-0.2.48/sandbox/src/components/ui/button-group.tsx +83 -0
  93. dulus-0.2.48/sandbox/src/components/ui/button.tsx +62 -0
  94. dulus-0.2.48/sandbox/src/components/ui/calendar.tsx +220 -0
  95. dulus-0.2.48/sandbox/src/components/ui/card.tsx +92 -0
  96. dulus-0.2.48/sandbox/src/components/ui/carousel.tsx +239 -0
  97. dulus-0.2.48/sandbox/src/components/ui/chart.tsx +357 -0
  98. dulus-0.2.48/sandbox/src/components/ui/checkbox.tsx +32 -0
  99. dulus-0.2.48/sandbox/src/components/ui/collapsible.tsx +31 -0
  100. dulus-0.2.48/sandbox/src/components/ui/command.tsx +182 -0
  101. dulus-0.2.48/sandbox/src/components/ui/context-menu.tsx +252 -0
  102. dulus-0.2.48/sandbox/src/components/ui/dialog.tsx +141 -0
  103. dulus-0.2.48/sandbox/src/components/ui/drawer.tsx +135 -0
  104. dulus-0.2.48/sandbox/src/components/ui/dropdown-menu.tsx +255 -0
  105. dulus-0.2.48/sandbox/src/components/ui/empty.tsx +104 -0
  106. dulus-0.2.48/sandbox/src/components/ui/field.tsx +246 -0
  107. dulus-0.2.48/sandbox/src/components/ui/form.tsx +167 -0
  108. dulus-0.2.48/sandbox/src/components/ui/hover-card.tsx +44 -0
  109. dulus-0.2.48/sandbox/src/components/ui/input-group.tsx +170 -0
  110. dulus-0.2.48/sandbox/src/components/ui/input-otp.tsx +75 -0
  111. dulus-0.2.48/sandbox/src/components/ui/input.tsx +21 -0
  112. dulus-0.2.48/sandbox/src/components/ui/item.tsx +193 -0
  113. dulus-0.2.48/sandbox/src/components/ui/kbd.tsx +28 -0
  114. dulus-0.2.48/sandbox/src/components/ui/label.tsx +24 -0
  115. dulus-0.2.48/sandbox/src/components/ui/menubar.tsx +274 -0
  116. dulus-0.2.48/sandbox/src/components/ui/navigation-menu.tsx +168 -0
  117. dulus-0.2.48/sandbox/src/components/ui/pagination.tsx +127 -0
  118. dulus-0.2.48/sandbox/src/components/ui/popover.tsx +48 -0
  119. dulus-0.2.48/sandbox/src/components/ui/progress.tsx +29 -0
  120. dulus-0.2.48/sandbox/src/components/ui/radio-group.tsx +45 -0
  121. dulus-0.2.48/sandbox/src/components/ui/resizable.tsx +54 -0
  122. dulus-0.2.48/sandbox/src/components/ui/scroll-area.tsx +58 -0
  123. dulus-0.2.48/sandbox/src/components/ui/select.tsx +188 -0
  124. dulus-0.2.48/sandbox/src/components/ui/separator.tsx +28 -0
  125. dulus-0.2.48/sandbox/src/components/ui/sheet.tsx +137 -0
  126. dulus-0.2.48/sandbox/src/components/ui/sidebar.tsx +726 -0
  127. dulus-0.2.48/sandbox/src/components/ui/skeleton.tsx +13 -0
  128. dulus-0.2.48/sandbox/src/components/ui/slider.tsx +63 -0
  129. dulus-0.2.48/sandbox/src/components/ui/sonner.tsx +38 -0
  130. dulus-0.2.48/sandbox/src/components/ui/spinner.tsx +16 -0
  131. dulus-0.2.48/sandbox/src/components/ui/switch.tsx +31 -0
  132. dulus-0.2.48/sandbox/src/components/ui/table.tsx +114 -0
  133. dulus-0.2.48/sandbox/src/components/ui/tabs.tsx +66 -0
  134. dulus-0.2.48/sandbox/src/components/ui/textarea.tsx +18 -0
  135. dulus-0.2.48/sandbox/src/components/ui/toggle-group.tsx +81 -0
  136. dulus-0.2.48/sandbox/src/components/ui/toggle.tsx +45 -0
  137. dulus-0.2.48/sandbox/src/components/ui/tooltip.tsx +61 -0
  138. dulus-0.2.48/sandbox/src/hooks/index.ts +27 -0
  139. dulus-0.2.48/sandbox/src/hooks/use-mobile.ts +19 -0
  140. dulus-0.2.48/sandbox/src/hooks/useDulusAgents.ts +51 -0
  141. dulus-0.2.48/sandbox/src/hooks/useDulusChat.ts +73 -0
  142. dulus-0.2.48/sandbox/src/hooks/useDulusEvents.ts +116 -0
  143. dulus-0.2.48/sandbox/src/hooks/useDulusHealth.ts +52 -0
  144. dulus-0.2.48/sandbox/src/hooks/useDulusMemory.ts +78 -0
  145. dulus-0.2.48/sandbox/src/hooks/useDulusSkills.ts +60 -0
  146. dulus-0.2.48/sandbox/src/hooks/useDulusTasks.ts +90 -0
  147. dulus-0.2.48/sandbox/src/hooks/useFileSystem.ts +330 -0
  148. dulus-0.2.48/sandbox/src/hooks/useOSStore.tsx +534 -0
  149. dulus-0.2.48/sandbox/src/hooks/useSystemBattery.ts +77 -0
  150. dulus-0.2.48/sandbox/src/hooks/useSystemNetwork.ts +56 -0
  151. dulus-0.2.48/sandbox/src/hooks/useSystemVolume.ts +39 -0
  152. dulus-0.2.48/sandbox/src/lib/dulus-api.ts +371 -0
  153. dulus-0.2.48/sandbox/src/lib/utils.ts +6 -0
  154. dulus-0.2.48/sandbox/src/main.tsx +5 -0
  155. dulus-0.2.48/sandbox/src/types/index.ts +252 -0
  156. dulus-0.2.48/sandbox/src/utils/assets.ts +15 -0
  157. dulus-0.2.48/sandbox/vite.config.ts +28 -0
  158. dulus-0.2.46/data/context.json +0 -180
  159. dulus-0.2.46/dulus.egg-info/SOURCES.txt +0 -203
  160. {dulus-0.2.46 → dulus-0.2.48}/LICENSE +0 -0
  161. {dulus-0.2.46 → dulus-0.2.48}/MANIFEST.in +0 -0
  162. {dulus-0.2.46 → dulus-0.2.48}/README.md +0 -0
  163. {dulus-0.2.46 → dulus-0.2.48}/agent.py +0 -0
  164. {dulus-0.2.46 → dulus-0.2.48}/backend/__init__.py +0 -0
  165. {dulus-0.2.46 → dulus-0.2.48}/backend/agents_bridge.py +0 -0
  166. {dulus-0.2.46 → dulus-0.2.48}/backend/compressor.py +0 -0
  167. {dulus-0.2.46 → dulus-0.2.48}/backend/context.py +0 -0
  168. {dulus-0.2.46 → dulus-0.2.48}/backend/githook.py +0 -0
  169. {dulus-0.2.46 → dulus-0.2.48}/backend/marketplace.py +0 -0
  170. {dulus-0.2.46 → dulus-0.2.48}/backend/mempalace_bridge.py +0 -0
  171. {dulus-0.2.46 → dulus-0.2.48}/backend/personas.py +0 -0
  172. {dulus-0.2.46 → dulus-0.2.48}/backend/plugins.py +0 -0
  173. {dulus-0.2.46 → dulus-0.2.48}/backend/server.py +0 -0
  174. {dulus-0.2.46 → dulus-0.2.48}/backend/tasks.py +0 -0
  175. {dulus-0.2.46 → dulus-0.2.48}/batch_api.py +0 -0
  176. {dulus-0.2.46 → dulus-0.2.48}/checkpoint/__init__.py +0 -0
  177. {dulus-0.2.46 → dulus-0.2.48}/checkpoint/hooks.py +0 -0
  178. {dulus-0.2.46 → dulus-0.2.48}/checkpoint/store.py +0 -0
  179. {dulus-0.2.46 → dulus-0.2.48}/checkpoint/types.py +0 -0
  180. {dulus-0.2.46 → dulus-0.2.48}/claude_code_watcher.py +0 -0
  181. {dulus-0.2.46 → dulus-0.2.48}/clipboard_utils.py +0 -0
  182. {dulus-0.2.46 → dulus-0.2.48}/cloudsave.py +0 -0
  183. {dulus-0.2.46 → dulus-0.2.48}/common.py +0 -0
  184. {dulus-0.2.46 → dulus-0.2.48}/compaction.py +0 -0
  185. {dulus-0.2.46 → dulus-0.2.48}/config.py +0 -0
  186. {dulus-0.2.46 → dulus-0.2.48}/context.py +0 -0
  187. {dulus-0.2.46 → dulus-0.2.48}/data/__init__.py +0 -0
  188. {dulus-0.2.46 → dulus-0.2.48}/data/active_persona.json +0 -0
  189. {dulus-0.2.46 → dulus-0.2.48}/data/marketplace.json +0 -0
  190. {dulus-0.2.46 → dulus-0.2.48}/data/personas.json +0 -0
  191. {dulus-0.2.46/data/plugins/composio → dulus-0.2.48/data/plugins}/__init__.py +0 -0
  192. {dulus-0.2.46/data/plugins → dulus-0.2.48/data/plugins/composio}/__init__.py +0 -0
  193. {dulus-0.2.46 → dulus-0.2.48}/data/plugins/composio/composio_plugin/__init__.py +0 -0
  194. {dulus-0.2.46 → dulus-0.2.48}/data/plugins/composio/composio_plugin/session_manager.py +0 -0
  195. {dulus-0.2.46 → dulus-0.2.48}/data/plugins/composio/composio_plugin/tool_generator.py +0 -0
  196. {dulus-0.2.46 → dulus-0.2.48}/data/plugins/composio/plugin.json +0 -0
  197. {dulus-0.2.46 → dulus-0.2.48}/data/plugins/composio/plugin_tool.py +0 -0
  198. {dulus-0.2.46 → dulus-0.2.48}/data/tasks.json +0 -0
  199. {dulus-0.2.46 → dulus-0.2.48}/docs/README.md +0 -0
  200. {dulus-0.2.46 → dulus-0.2.48}/docs/__init__.py +0 -0
  201. {dulus-0.2.46 → dulus-0.2.48}/docs/api.html +0 -0
  202. {dulus-0.2.46 → dulus-0.2.48}/docs/architecture.md +0 -0
  203. {dulus-0.2.46 → dulus-0.2.48}/docs/azure-speech-template.json +0 -0
  204. {dulus-0.2.46 → dulus-0.2.48}/docs/dashboard/index.html +0 -0
  205. {dulus-0.2.46 → dulus-0.2.48}/docs/divider.svg +0 -0
  206. {dulus-0.2.46 → dulus-0.2.48}/docs/generate.py +0 -0
  207. {dulus-0.2.46 → dulus-0.2.48}/docs/hero.svg +0 -0
  208. {dulus-0.2.46 → dulus-0.2.48}/docs/index.html +0 -0
  209. {dulus-0.2.46 → dulus-0.2.48}/docs/news.md +0 -0
  210. {dulus-0.2.46 → dulus-0.2.48}/docs/nvidia-models.svg +0 -0
  211. {dulus-0.2.46 → dulus-0.2.48}/docs/particle-playground.html +0 -0
  212. {dulus-0.2.46 → dulus-0.2.48}/docs/personas/index.html +0 -0
  213. {dulus-0.2.46 → dulus-0.2.48}/docs/poetry-banner.png +0 -0
  214. {dulus-0.2.46 → dulus-0.2.48}/docs/preview.html +0 -0
  215. {dulus-0.2.46 → dulus-0.2.48}/docs/sec-agents.svg +0 -0
  216. {dulus-0.2.46 → dulus-0.2.48}/docs/sec-brainstorm.svg +0 -0
  217. {dulus-0.2.46 → dulus-0.2.48}/docs/sec-bridges.svg +0 -0
  218. {dulus-0.2.46 → dulus-0.2.48}/docs/sec-features.svg +0 -0
  219. {dulus-0.2.46 → dulus-0.2.48}/docs/sec-freetier.svg +0 -0
  220. {dulus-0.2.46 → dulus-0.2.48}/docs/sec-memory.svg +0 -0
  221. {dulus-0.2.46 → dulus-0.2.48}/docs/sec-models.svg +0 -0
  222. {dulus-0.2.46 → dulus-0.2.48}/docs/sec-perms.svg +0 -0
  223. {dulus-0.2.46 → dulus-0.2.48}/docs/sec-plugins.svg +0 -0
  224. {dulus-0.2.46 → dulus-0.2.48}/docs/sec-quickstart.svg +0 -0
  225. {dulus-0.2.46 → dulus-0.2.48}/docs/sec-ssj.svg +0 -0
  226. {dulus-0.2.46 → dulus-0.2.48}/docs/spinners.svg +0 -0
  227. {dulus-0.2.46 → dulus-0.2.48}/docs/split-pane.svg +0 -0
  228. {dulus-0.2.46 → dulus-0.2.48}/docs/terminal-boot.svg +0 -0
  229. {dulus-0.2.46 → dulus-0.2.48}/docs/uploads/particle-playground.html +0 -0
  230. {dulus-0.2.46 → dulus-0.2.48}/dulus.egg-info/dependency_links.txt +0 -0
  231. {dulus-0.2.46 → dulus-0.2.48}/dulus.egg-info/entry_points.txt +0 -0
  232. {dulus-0.2.46 → dulus-0.2.48}/dulus.egg-info/requires.txt +0 -0
  233. {dulus-0.2.46 → dulus-0.2.48}/dulus.egg-info/top_level.txt +0 -0
  234. {dulus-0.2.46 → dulus-0.2.48}/dulus.py +0 -0
  235. {dulus-0.2.46 → dulus-0.2.48}/dulus_gui.py +0 -0
  236. {dulus-0.2.46 → dulus-0.2.48}/dulus_mcp/__init__.py +0 -0
  237. {dulus-0.2.46 → dulus-0.2.48}/dulus_mcp/client.py +0 -0
  238. {dulus-0.2.46 → dulus-0.2.48}/dulus_mcp/config.py +0 -0
  239. {dulus-0.2.46 → dulus-0.2.48}/dulus_mcp/tools.py +0 -0
  240. {dulus-0.2.46 → dulus-0.2.48}/dulus_mcp/types.py +0 -0
  241. {dulus-0.2.46 → dulus-0.2.48}/gui/__init__.py +0 -0
  242. {dulus-0.2.46 → dulus-0.2.48}/gui/agent_bridge.py +0 -0
  243. {dulus-0.2.46 → dulus-0.2.48}/gui/chat_widget.py +0 -0
  244. {dulus-0.2.46 → dulus-0.2.48}/gui/main_window.py +0 -0
  245. {dulus-0.2.46 → dulus-0.2.48}/gui/personas.py +0 -0
  246. {dulus-0.2.46 → dulus-0.2.48}/gui/session_utils.py +0 -0
  247. {dulus-0.2.46 → dulus-0.2.48}/gui/settings_dialog.py +0 -0
  248. {dulus-0.2.46 → dulus-0.2.48}/gui/sidebar.py +0 -0
  249. {dulus-0.2.46 → dulus-0.2.48}/gui/tasks_view.py +0 -0
  250. {dulus-0.2.46 → dulus-0.2.48}/gui/themes.py +0 -0
  251. {dulus-0.2.46 → dulus-0.2.48}/gui/tool_panel.py +0 -0
  252. {dulus-0.2.46 → dulus-0.2.48}/input.py +0 -0
  253. {dulus-0.2.46 → dulus-0.2.48}/license_manager.py +0 -0
  254. {dulus-0.2.46 → dulus-0.2.48}/memory/__init__.py +0 -0
  255. {dulus-0.2.46 → dulus-0.2.48}/memory/audit.py +0 -0
  256. {dulus-0.2.46 → dulus-0.2.48}/memory/consolidator.py +0 -0
  257. {dulus-0.2.46 → dulus-0.2.48}/memory/context.py +0 -0
  258. {dulus-0.2.46 → dulus-0.2.48}/memory/offload.py +0 -0
  259. {dulus-0.2.46 → dulus-0.2.48}/memory/palace.py +0 -0
  260. {dulus-0.2.46 → dulus-0.2.48}/memory/scan.py +0 -0
  261. {dulus-0.2.46 → dulus-0.2.48}/memory/sessions.py +0 -0
  262. {dulus-0.2.46 → dulus-0.2.48}/memory/store.py +0 -0
  263. {dulus-0.2.46 → dulus-0.2.48}/memory/tools.py +0 -0
  264. {dulus-0.2.46 → dulus-0.2.48}/memory/types.py +0 -0
  265. {dulus-0.2.46 → dulus-0.2.48}/memory/vector_search.py +0 -0
  266. {dulus-0.2.46 → dulus-0.2.48}/multi_agent/__init__.py +0 -0
  267. {dulus-0.2.46 → dulus-0.2.48}/multi_agent/subagent.py +0 -0
  268. {dulus-0.2.46 → dulus-0.2.48}/multi_agent/tools.py +0 -0
  269. {dulus-0.2.46 → dulus-0.2.48}/offload_helper.py +0 -0
  270. {dulus-0.2.46 → dulus-0.2.48}/plugin/__init__.py +0 -0
  271. {dulus-0.2.46 → dulus-0.2.48}/plugin/autoadapter.py +0 -0
  272. {dulus-0.2.46 → dulus-0.2.48}/plugin/loader.py +0 -0
  273. {dulus-0.2.46 → dulus-0.2.48}/plugin/recommend.py +0 -0
  274. {dulus-0.2.46 → dulus-0.2.48}/plugin/store.py +0 -0
  275. {dulus-0.2.46 → dulus-0.2.48}/plugin/types.py +0 -0
  276. {dulus-0.2.46 → dulus-0.2.48}/providers.py +0 -0
  277. {dulus-0.2.46 → dulus-0.2.48}/sandbox/README.md +0 -0
  278. {dulus-0.2.46 → dulus-0.2.48}/sandbox/__init__.py +0 -0
  279. {dulus-0.2.46 → dulus-0.2.48}/sandbox/components.json +0 -0
  280. {dulus-0.2.46 → dulus-0.2.48}/sandbox/dist/assets/index-CsIO61nW.css +0 -0
  281. {dulus-0.2.46 → dulus-0.2.48}/sandbox/dist/assets/index-nQkFq-oq.js +0 -0
  282. {dulus-0.2.46 → dulus-0.2.48}/sandbox/dist/index.html +0 -0
  283. {dulus-0.2.46/sandbox/public → dulus-0.2.48/sandbox/dist}/wallpaper-default.jpg +0 -0
  284. {dulus-0.2.46 → dulus-0.2.48}/sandbox/dist/wallpapers/default.jpeg +0 -0
  285. {dulus-0.2.46 → dulus-0.2.48}/sandbox/dist/wallpapers/light.jpeg +0 -0
  286. {dulus-0.2.46 → dulus-0.2.48}/sandbox/dist/wallpapers/nature.jpeg +0 -0
  287. {dulus-0.2.46 → dulus-0.2.48}/sandbox/dist/wallpapers/tech.jpeg +0 -0
  288. {dulus-0.2.46 → dulus-0.2.48}/sandbox/eslint.config.js +0 -0
  289. {dulus-0.2.46 → dulus-0.2.48}/sandbox/index.html +0 -0
  290. {dulus-0.2.46 → dulus-0.2.48}/sandbox/info.md +0 -0
  291. {dulus-0.2.46 → dulus-0.2.48}/sandbox/package-lock.json +0 -0
  292. {dulus-0.2.46 → dulus-0.2.48}/sandbox/package.json +0 -0
  293. {dulus-0.2.46 → dulus-0.2.48}/sandbox/postcss.config.js +0 -0
  294. {dulus-0.2.46/sandbox/dist → dulus-0.2.48/sandbox/public}/wallpaper-default.jpg +0 -0
  295. {dulus-0.2.46 → dulus-0.2.48}/sandbox/src/index.css +0 -0
  296. {dulus-0.2.46 → dulus-0.2.48}/sandbox/tailwind.config.js +0 -0
  297. {dulus-0.2.46 → dulus-0.2.48}/sandbox/tsconfig.app.json +0 -0
  298. {dulus-0.2.46 → dulus-0.2.48}/sandbox/tsconfig.json +0 -0
  299. {dulus-0.2.46 → dulus-0.2.48}/sandbox/tsconfig.node.json +0 -0
  300. {dulus-0.2.46 → dulus-0.2.48}/setup.cfg +0 -0
  301. {dulus-0.2.46 → dulus-0.2.48}/skill/__init__.py +0 -0
  302. {dulus-0.2.46 → dulus-0.2.48}/skill/builtin.py +0 -0
  303. {dulus-0.2.46 → dulus-0.2.48}/skill/clawhub.py +0 -0
  304. {dulus-0.2.46 → dulus-0.2.48}/skill/executor.py +0 -0
  305. {dulus-0.2.46 → dulus-0.2.48}/skill/loader.py +0 -0
  306. {dulus-0.2.46 → dulus-0.2.48}/skill/tools.py +0 -0
  307. {dulus-0.2.46 → dulus-0.2.48}/skills.py +0 -0
  308. {dulus-0.2.46 → dulus-0.2.48}/spinner.py +0 -0
  309. {dulus-0.2.46 → dulus-0.2.48}/string_utils.py +0 -0
  310. {dulus-0.2.46 → dulus-0.2.48}/subagent.py +0 -0
  311. {dulus-0.2.46 → dulus-0.2.48}/task/__init__.py +0 -0
  312. {dulus-0.2.46 → dulus-0.2.48}/task/store.py +0 -0
  313. {dulus-0.2.46 → dulus-0.2.48}/task/tools.py +0 -0
  314. {dulus-0.2.46 → dulus-0.2.48}/task/types.py +0 -0
  315. {dulus-0.2.46 → dulus-0.2.48}/tests/test_afk_yolo.py +0 -0
  316. {dulus-0.2.46 → dulus-0.2.48}/tests/test_approval_runtime.py +0 -0
  317. {dulus-0.2.46 → dulus-0.2.48}/tests/test_background_task_tools.py +0 -0
  318. {dulus-0.2.46 → dulus-0.2.48}/tests/test_background_tasks.py +0 -0
  319. {dulus-0.2.46 → dulus-0.2.48}/tests/test_checkpoint.py +0 -0
  320. {dulus-0.2.46 → dulus-0.2.48}/tests/test_clipboard_utils.py +0 -0
  321. {dulus-0.2.46 → dulus-0.2.48}/tests/test_compaction.py +0 -0
  322. {dulus-0.2.46 → dulus-0.2.48}/tests/test_diff_view.py +0 -0
  323. {dulus-0.2.46 → dulus-0.2.48}/tests/test_diff_visualization.py +0 -0
  324. {dulus-0.2.46 → dulus-0.2.48}/tests/test_display_blocks.py +0 -0
  325. {dulus-0.2.46 → dulus-0.2.48}/tests/test_export_import.py +0 -0
  326. {dulus-0.2.46 → dulus-0.2.48}/tests/test_hook_engine.py +0 -0
  327. {dulus-0.2.46 → dulus-0.2.48}/tests/test_injection_fix.py +0 -0
  328. {dulus-0.2.46 → dulus-0.2.48}/tests/test_license.py +0 -0
  329. {dulus-0.2.46 → dulus-0.2.48}/tests/test_mcp.py +0 -0
  330. {dulus-0.2.46 → dulus-0.2.48}/tests/test_memory.py +0 -0
  331. {dulus-0.2.46 → dulus-0.2.48}/tests/test_notification_manager.py +0 -0
  332. {dulus-0.2.46 → dulus-0.2.48}/tests/test_plugin.py +0 -0
  333. {dulus-0.2.46 → dulus-0.2.48}/tests/test_session_fork.py +0 -0
  334. {dulus-0.2.46 → dulus-0.2.48}/tests/test_shell_mode.py +0 -0
  335. {dulus-0.2.46 → dulus-0.2.48}/tests/test_skills.py +0 -0
  336. {dulus-0.2.46 → dulus-0.2.48}/tests/test_steer_input.py +0 -0
  337. {dulus-0.2.46 → dulus-0.2.48}/tests/test_subagent.py +0 -0
  338. {dulus-0.2.46 → dulus-0.2.48}/tests/test_task.py +0 -0
  339. {dulus-0.2.46 → dulus-0.2.48}/tests/test_telegram_buffer.py +0 -0
  340. {dulus-0.2.46 → dulus-0.2.48}/tests/test_think_tool.py +0 -0
  341. {dulus-0.2.46 → dulus-0.2.48}/tests/test_todo_tool.py +0 -0
  342. {dulus-0.2.46 → dulus-0.2.48}/tests/test_todo_visualization.py +0 -0
  343. {dulus-0.2.46 → dulus-0.2.48}/tests/test_tool_registry.py +0 -0
  344. {dulus-0.2.46 → dulus-0.2.48}/tests/test_voice.py +0 -0
  345. {dulus-0.2.46 → dulus-0.2.48}/tests/test_wire_events.py +0 -0
  346. {dulus-0.2.46 → dulus-0.2.48}/tmux_offloader.py +0 -0
  347. {dulus-0.2.46 → dulus-0.2.48}/tmux_tools.py +0 -0
  348. {dulus-0.2.46 → dulus-0.2.48}/tool_registry.py +0 -0
  349. {dulus-0.2.46 → dulus-0.2.48}/tools.py +0 -0
  350. {dulus-0.2.46 → dulus-0.2.48}/ui/__init__.py +0 -0
  351. {dulus-0.2.46 → dulus-0.2.48}/ui/input.py +0 -0
  352. {dulus-0.2.46 → dulus-0.2.48}/ui/render.py +0 -0
  353. {dulus-0.2.46 → dulus-0.2.48}/voice/__init__.py +0 -0
  354. {dulus-0.2.46 → dulus-0.2.48}/voice/keyterms.py +0 -0
  355. {dulus-0.2.46 → dulus-0.2.48}/voice/recorder.py +0 -0
  356. {dulus-0.2.46 → dulus-0.2.48}/voice/stt.py +0 -0
  357. {dulus-0.2.46 → dulus-0.2.48}/voice/tts.py +0 -0
  358. {dulus-0.2.46 → dulus-0.2.48}/webchat.py +0 -0
  359. {dulus-0.2.46 → dulus-0.2.48}/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.48
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,140 @@
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": 427,
13
+ "lines": 161950,
14
+ "languages": {
15
+ ".example": 5,
16
+ "no_ext": 1415,
17
+ ".py": 60282,
18
+ ".html": 14944,
19
+ ".in": 3,
20
+ ".toml": 129,
21
+ ".md": 2161,
22
+ ".txt": 309,
23
+ ".json": 9495,
24
+ ".svg": 1123,
25
+ ".png": 31639,
26
+ ".sh": 144,
27
+ ".js": 473,
28
+ ".ts": 2304,
29
+ ".log": 1,
30
+ ".jpg": 1076,
31
+ ".tsx": 31193,
32
+ ".css": 170,
33
+ ".jpeg": 5084
34
+ }
35
+ },
36
+ "recent_commits": [
37
+ {
38
+ "hash": "9803f97",
39
+ "subject": "fix: include sandbox/src and sandbox/public in wheel",
40
+ "author": "KevRojo",
41
+ "date": "2026-05-12"
42
+ },
43
+ {
44
+ "hash": "a157622",
45
+ "subject": "fix: include missing sandbox JS bundle and anchor dist/build ignore to root",
46
+ "author": "KevRojo",
47
+ "date": "2026-05-12"
48
+ },
49
+ {
50
+ "hash": "cfa4e4e",
51
+ "subject": "bump: 0.2.45 → 0.2.46",
52
+ "author": "KevRojo",
53
+ "date": "2026-05-12"
54
+ },
55
+ {
56
+ "hash": "bc4cf5c",
57
+ "subject": "chore: pre-release sync — backend agents, sandbox updates, explorer HTML",
58
+ "author": "KevRojo",
59
+ "date": "2026-05-12"
60
+ },
61
+ {
62
+ "hash": "d68e870",
63
+ "subject": "chore(release): bump v0.2.45",
64
+ "author": "KevRojo",
65
+ "date": "2026-05-12"
66
+ }
67
+ ],
68
+ "recent_changes": [
69
+ "data/context.json",
70
+ "pyproject.toml"
71
+ ]
72
+ },
73
+ "tasks": {
74
+ "active": [
75
+ {
76
+ "id": "T-009",
77
+ "subject": "Test Coverage Expansion",
78
+ "status": "in_progress",
79
+ "owner": "kimi-code",
80
+ "phase": "Quality"
81
+ },
82
+ {
83
+ "id": "T-010",
84
+ "subject": "Multi-Agent Mesa Redonda",
85
+ "status": "in_progress",
86
+ "owner": "Dulus",
87
+ "phase": "Core"
88
+ }
89
+ ],
90
+ "total": 2
91
+ },
92
+ "agents": [
93
+ {
94
+ "name": "Dulus",
95
+ "role": "primary",
96
+ "color": "#ff6b1f",
97
+ "status": "active",
98
+ "avatar": "[F]",
99
+ "active": true
100
+ },
101
+ {
102
+ "name": "kimi-code",
103
+ "role": "coder",
104
+ "color": "#7ab6ff",
105
+ "status": "idle",
106
+ "avatar": "[K1]",
107
+ "active": false
108
+ },
109
+ {
110
+ "name": "kimi-code2",
111
+ "role": "designer",
112
+ "color": "#b388ff",
113
+ "status": "idle",
114
+ "avatar": "[K2]",
115
+ "active": false
116
+ },
117
+ {
118
+ "name": "kimi-code3",
119
+ "role": "integrator",
120
+ "color": "#7cffb5",
121
+ "status": "idle",
122
+ "avatar": "[K3]",
123
+ "active": false
124
+ }
125
+ ],
126
+ "persona": {
127
+ "id": "dulus",
128
+ "name": "Dulus",
129
+ "role": "primary",
130
+ "color": "#ff6b1f",
131
+ "avatar": "[F]",
132
+ "tone": "dominicano_coder"
133
+ },
134
+ "memory": {
135
+ "connected": false,
136
+ "wings": [],
137
+ "count": 0,
138
+ "memories": []
139
+ }
140
+ }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dulus
3
- Version: 0.2.46
3
+ Version: 0.2.48
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,355 @@
1
+ LICENSE
2
+ MANIFEST.in
3
+ README.md
4
+ agent.py
5
+ batch_api.py
6
+ claude_code_watcher.py
7
+ clipboard_utils.py
8
+ cloudsave.py
9
+ common.py
10
+ compaction.py
11
+ config.py
12
+ context.py
13
+ dulus.py
14
+ dulus_gui.py
15
+ input.py
16
+ license_manager.py
17
+ offload_helper.py
18
+ providers.py
19
+ pyproject.toml
20
+ skills.py
21
+ spinner.py
22
+ string_utils.py
23
+ subagent.py
24
+ tmux_offloader.py
25
+ tmux_tools.py
26
+ tool_registry.py
27
+ tools.py
28
+ webchat.py
29
+ webchat_server.py
30
+ backend/__init__.py
31
+ backend/agents_bridge.py
32
+ backend/compressor.py
33
+ backend/context.py
34
+ backend/githook.py
35
+ backend/marketplace.py
36
+ backend/mempalace_bridge.py
37
+ backend/personas.py
38
+ backend/plugins.py
39
+ backend/server.py
40
+ backend/tasks.py
41
+ checkpoint/__init__.py
42
+ checkpoint/hooks.py
43
+ checkpoint/store.py
44
+ checkpoint/types.py
45
+ data/__init__.py
46
+ data/active_persona.json
47
+ data/context.json
48
+ data/marketplace.json
49
+ data/personas.json
50
+ data/tasks.json
51
+ data/plugins/__init__.py
52
+ data/plugins/composio/__init__.py
53
+ data/plugins/composio/plugin.json
54
+ data/plugins/composio/plugin_tool.py
55
+ data/plugins/composio/composio_plugin/__init__.py
56
+ data/plugins/composio/composio_plugin/session_manager.py
57
+ data/plugins/composio/composio_plugin/tool_generator.py
58
+ docs/README.md
59
+ docs/__init__.py
60
+ docs/api.html
61
+ docs/architecture.md
62
+ docs/azure-speech-template.json
63
+ docs/divider.svg
64
+ docs/generate.py
65
+ docs/hero.svg
66
+ docs/index.html
67
+ docs/news.md
68
+ docs/nvidia-models.svg
69
+ docs/particle-playground.html
70
+ docs/poetry-banner.png
71
+ docs/preview.html
72
+ docs/sec-agents.svg
73
+ docs/sec-brainstorm.svg
74
+ docs/sec-bridges.svg
75
+ docs/sec-features.svg
76
+ docs/sec-freetier.svg
77
+ docs/sec-memory.svg
78
+ docs/sec-models.svg
79
+ docs/sec-perms.svg
80
+ docs/sec-plugins.svg
81
+ docs/sec-quickstart.svg
82
+ docs/sec-ssj.svg
83
+ docs/spinners.svg
84
+ docs/split-pane.svg
85
+ docs/terminal-boot.svg
86
+ docs/dashboard/index.html
87
+ docs/personas/index.html
88
+ docs/uploads/particle-playground.html
89
+ dulus.egg-info/PKG-INFO
90
+ dulus.egg-info/SOURCES.txt
91
+ dulus.egg-info/dependency_links.txt
92
+ dulus.egg-info/entry_points.txt
93
+ dulus.egg-info/requires.txt
94
+ dulus.egg-info/top_level.txt
95
+ dulus_mcp/__init__.py
96
+ dulus_mcp/client.py
97
+ dulus_mcp/config.py
98
+ dulus_mcp/tools.py
99
+ dulus_mcp/types.py
100
+ gui/__init__.py
101
+ gui/agent_bridge.py
102
+ gui/chat_widget.py
103
+ gui/main_window.py
104
+ gui/personas.py
105
+ gui/session_utils.py
106
+ gui/settings_dialog.py
107
+ gui/sidebar.py
108
+ gui/tasks_view.py
109
+ gui/themes.py
110
+ gui/tool_panel.py
111
+ memory/__init__.py
112
+ memory/audit.py
113
+ memory/consolidator.py
114
+ memory/context.py
115
+ memory/offload.py
116
+ memory/palace.py
117
+ memory/scan.py
118
+ memory/sessions.py
119
+ memory/store.py
120
+ memory/tools.py
121
+ memory/types.py
122
+ memory/vector_search.py
123
+ multi_agent/__init__.py
124
+ multi_agent/subagent.py
125
+ multi_agent/tools.py
126
+ plugin/__init__.py
127
+ plugin/autoadapter.py
128
+ plugin/loader.py
129
+ plugin/recommend.py
130
+ plugin/store.py
131
+ plugin/types.py
132
+ sandbox/README.md
133
+ sandbox/__init__.py
134
+ sandbox/components.json
135
+ sandbox/eslint.config.js
136
+ sandbox/index.html
137
+ sandbox/info.md
138
+ sandbox/package-lock.json
139
+ sandbox/package.json
140
+ sandbox/postcss.config.js
141
+ sandbox/tailwind.config.js
142
+ sandbox/tsconfig.app.json
143
+ sandbox/tsconfig.json
144
+ sandbox/tsconfig.node.json
145
+ sandbox/vite.config.ts
146
+ sandbox/dist/index.html
147
+ sandbox/dist/wallpaper-default.jpg
148
+ sandbox/dist/assets/index-CsIO61nW.css
149
+ sandbox/dist/assets/index-nQkFq-oq.js
150
+ sandbox/dist/wallpapers/default.jpeg
151
+ sandbox/dist/wallpapers/light.jpeg
152
+ sandbox/dist/wallpapers/nature.jpeg
153
+ sandbox/dist/wallpapers/tech.jpeg
154
+ sandbox/public/wallpaper-default.jpg
155
+ sandbox/public/wallpapers/default.jpeg
156
+ sandbox/public/wallpapers/light.jpeg
157
+ sandbox/public/wallpapers/nature.jpeg
158
+ sandbox/public/wallpapers/tech.jpeg
159
+ sandbox/src/App.tsx
160
+ sandbox/src/index.css
161
+ sandbox/src/main.tsx
162
+ sandbox/src/apps/AgentMonitor.tsx
163
+ sandbox/src/apps/ApiTester.tsx
164
+ sandbox/src/apps/AppRouter.tsx
165
+ sandbox/src/apps/ArchiveManager.tsx
166
+ sandbox/src/apps/AsciiArt.tsx
167
+ sandbox/src/apps/Base64Tool.tsx
168
+ sandbox/src/apps/Browser.tsx
169
+ sandbox/src/apps/Calculator.tsx
170
+ sandbox/src/apps/Calendar.tsx
171
+ sandbox/src/apps/Chat.tsx
172
+ sandbox/src/apps/Chess.tsx
173
+ sandbox/src/apps/Clock.tsx
174
+ sandbox/src/apps/CodeEditor.tsx
175
+ sandbox/src/apps/ColorPalette.tsx
176
+ sandbox/src/apps/ColorPicker.tsx
177
+ sandbox/src/apps/Contacts.tsx
178
+ sandbox/src/apps/DocumentViewer.tsx
179
+ sandbox/src/apps/Drawing.tsx
180
+ sandbox/src/apps/Email.tsx
181
+ sandbox/src/apps/FileManager.tsx
182
+ sandbox/src/apps/FlappyBird.tsx
183
+ sandbox/src/apps/FtpClient.tsx
184
+ sandbox/src/apps/Game2048.tsx
185
+ sandbox/src/apps/GitClient.tsx
186
+ sandbox/src/apps/ImageGallery.tsx
187
+ sandbox/src/apps/ImageViewer.tsx
188
+ sandbox/src/apps/JsonFormatter.tsx
189
+ sandbox/src/apps/MarkdownPreview.tsx
190
+ sandbox/src/apps/MatrixRain.tsx
191
+ sandbox/src/apps/MediaConverter.tsx
192
+ sandbox/src/apps/Memory.tsx
193
+ sandbox/src/apps/MemoryManager.tsx
194
+ sandbox/src/apps/Minesweeper.tsx
195
+ sandbox/src/apps/MusicPlayer.tsx
196
+ sandbox/src/apps/NetworkTools.tsx
197
+ sandbox/src/apps/Notes.tsx
198
+ sandbox/src/apps/PasswordManager.tsx
199
+ sandbox/src/apps/PhotoEditor.tsx
200
+ sandbox/src/apps/Pong.tsx
201
+ sandbox/src/apps/RegexTester.tsx
202
+ sandbox/src/apps/Reminders.tsx
203
+ sandbox/src/apps/RssReader.tsx
204
+ sandbox/src/apps/ScreenRecorder.tsx
205
+ sandbox/src/apps/Settings.tsx
206
+ sandbox/src/apps/SkillsLauncher.tsx
207
+ sandbox/src/apps/Snake.tsx
208
+ sandbox/src/apps/Solitaire.tsx
209
+ sandbox/src/apps/Spreadsheet.tsx
210
+ sandbox/src/apps/Sudoku.tsx
211
+ sandbox/src/apps/SystemMonitor.tsx
212
+ sandbox/src/apps/TaskManager.tsx
213
+ sandbox/src/apps/Terminal.tsx
214
+ sandbox/src/apps/Tetris.tsx
215
+ sandbox/src/apps/TextEditor.tsx
216
+ sandbox/src/apps/TicTacToe.tsx
217
+ sandbox/src/apps/Todo.tsx
218
+ sandbox/src/apps/VideoPlayer.tsx
219
+ sandbox/src/apps/VoiceRecorder.tsx
220
+ sandbox/src/apps/Weather.tsx
221
+ sandbox/src/apps/Whiteboard.tsx
222
+ sandbox/src/apps/registry.ts
223
+ sandbox/src/components/AppContainer.tsx
224
+ sandbox/src/components/AppLauncher.tsx
225
+ sandbox/src/components/BootSequence.tsx
226
+ sandbox/src/components/ContextMenu.tsx
227
+ sandbox/src/components/Desktop.tsx
228
+ sandbox/src/components/Dock.tsx
229
+ sandbox/src/components/LoginScreen.tsx
230
+ sandbox/src/components/NotImplemented.tsx
231
+ sandbox/src/components/NotificationCenter.tsx
232
+ sandbox/src/components/NotificationSystem.tsx
233
+ sandbox/src/components/TopPanel.tsx
234
+ sandbox/src/components/WindowFrame.tsx
235
+ sandbox/src/components/WindowManager.tsx
236
+ sandbox/src/components/ui/accordion.tsx
237
+ sandbox/src/components/ui/alert-dialog.tsx
238
+ sandbox/src/components/ui/alert.tsx
239
+ sandbox/src/components/ui/aspect-ratio.tsx
240
+ sandbox/src/components/ui/avatar.tsx
241
+ sandbox/src/components/ui/badge.tsx
242
+ sandbox/src/components/ui/breadcrumb.tsx
243
+ sandbox/src/components/ui/button-group.tsx
244
+ sandbox/src/components/ui/button.tsx
245
+ sandbox/src/components/ui/calendar.tsx
246
+ sandbox/src/components/ui/card.tsx
247
+ sandbox/src/components/ui/carousel.tsx
248
+ sandbox/src/components/ui/chart.tsx
249
+ sandbox/src/components/ui/checkbox.tsx
250
+ sandbox/src/components/ui/collapsible.tsx
251
+ sandbox/src/components/ui/command.tsx
252
+ sandbox/src/components/ui/context-menu.tsx
253
+ sandbox/src/components/ui/dialog.tsx
254
+ sandbox/src/components/ui/drawer.tsx
255
+ sandbox/src/components/ui/dropdown-menu.tsx
256
+ sandbox/src/components/ui/empty.tsx
257
+ sandbox/src/components/ui/field.tsx
258
+ sandbox/src/components/ui/form.tsx
259
+ sandbox/src/components/ui/hover-card.tsx
260
+ sandbox/src/components/ui/input-group.tsx
261
+ sandbox/src/components/ui/input-otp.tsx
262
+ sandbox/src/components/ui/input.tsx
263
+ sandbox/src/components/ui/item.tsx
264
+ sandbox/src/components/ui/kbd.tsx
265
+ sandbox/src/components/ui/label.tsx
266
+ sandbox/src/components/ui/menubar.tsx
267
+ sandbox/src/components/ui/navigation-menu.tsx
268
+ sandbox/src/components/ui/pagination.tsx
269
+ sandbox/src/components/ui/popover.tsx
270
+ sandbox/src/components/ui/progress.tsx
271
+ sandbox/src/components/ui/radio-group.tsx
272
+ sandbox/src/components/ui/resizable.tsx
273
+ sandbox/src/components/ui/scroll-area.tsx
274
+ sandbox/src/components/ui/select.tsx
275
+ sandbox/src/components/ui/separator.tsx
276
+ sandbox/src/components/ui/sheet.tsx
277
+ sandbox/src/components/ui/sidebar.tsx
278
+ sandbox/src/components/ui/skeleton.tsx
279
+ sandbox/src/components/ui/slider.tsx
280
+ sandbox/src/components/ui/sonner.tsx
281
+ sandbox/src/components/ui/spinner.tsx
282
+ sandbox/src/components/ui/switch.tsx
283
+ sandbox/src/components/ui/table.tsx
284
+ sandbox/src/components/ui/tabs.tsx
285
+ sandbox/src/components/ui/textarea.tsx
286
+ sandbox/src/components/ui/toggle-group.tsx
287
+ sandbox/src/components/ui/toggle.tsx
288
+ sandbox/src/components/ui/tooltip.tsx
289
+ sandbox/src/hooks/index.ts
290
+ sandbox/src/hooks/use-mobile.ts
291
+ sandbox/src/hooks/useDulusAgents.ts
292
+ sandbox/src/hooks/useDulusChat.ts
293
+ sandbox/src/hooks/useDulusEvents.ts
294
+ sandbox/src/hooks/useDulusHealth.ts
295
+ sandbox/src/hooks/useDulusMemory.ts
296
+ sandbox/src/hooks/useDulusSkills.ts
297
+ sandbox/src/hooks/useDulusTasks.ts
298
+ sandbox/src/hooks/useFileSystem.ts
299
+ sandbox/src/hooks/useOSStore.tsx
300
+ sandbox/src/hooks/useSystemBattery.ts
301
+ sandbox/src/hooks/useSystemNetwork.ts
302
+ sandbox/src/hooks/useSystemVolume.ts
303
+ sandbox/src/lib/dulus-api.ts
304
+ sandbox/src/lib/utils.ts
305
+ sandbox/src/types/index.ts
306
+ sandbox/src/utils/assets.ts
307
+ skill/__init__.py
308
+ skill/builtin.py
309
+ skill/clawhub.py
310
+ skill/executor.py
311
+ skill/loader.py
312
+ skill/tools.py
313
+ task/__init__.py
314
+ task/store.py
315
+ task/tools.py
316
+ task/types.py
317
+ tests/test_afk_yolo.py
318
+ tests/test_approval_runtime.py
319
+ tests/test_background_task_tools.py
320
+ tests/test_background_tasks.py
321
+ tests/test_checkpoint.py
322
+ tests/test_clipboard_utils.py
323
+ tests/test_compaction.py
324
+ tests/test_diff_view.py
325
+ tests/test_diff_visualization.py
326
+ tests/test_display_blocks.py
327
+ tests/test_export_import.py
328
+ tests/test_hook_engine.py
329
+ tests/test_injection_fix.py
330
+ tests/test_license.py
331
+ tests/test_mcp.py
332
+ tests/test_memory.py
333
+ tests/test_notification_manager.py
334
+ tests/test_plugin.py
335
+ tests/test_session_fork.py
336
+ tests/test_shell_mode.py
337
+ tests/test_skills.py
338
+ tests/test_steer_input.py
339
+ tests/test_subagent.py
340
+ tests/test_task.py
341
+ tests/test_telegram_buffer.py
342
+ tests/test_think_tool.py
343
+ tests/test_todo_tool.py
344
+ tests/test_todo_visualization.py
345
+ tests/test_tool_registry.py
346
+ tests/test_voice.py
347
+ tests/test_wire_events.py
348
+ ui/__init__.py
349
+ ui/input.py
350
+ ui/render.py
351
+ voice/__init__.py
352
+ voice/keyterms.py
353
+ voice/recorder.py
354
+ voice/stt.py
355
+ voice/tts.py
@@ -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.48"
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"
@@ -122,10 +122,8 @@ exclude = [
122
122
  "tests*",
123
123
  "__pycache__*",
124
124
  "sandbox/node_modules*",
125
- "sandbox/src*",
126
- "sandbox/public*",
127
125
  "sandbox/.dulus-context*",
128
126
  ]
129
127
 
130
128
  [tool.setuptools.package-data]
131
- "*" = ["*.html", "*.css", "*.js", "*.svg", "*.json", "*.md", "*.png", "*.jpg", "*.txt", "*.py"]
129
+ "*" = ["*.html", "*.css", "*.js", "*.jsx", "*.ts", "*.tsx", "*.svg", "*.json", "*.md", "*.png", "*.jpg", "*.jpeg", "*.txt", "*.py"]