dulus 3.9.1__tar.gz → 3.9.2__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 (335) hide show
  1. {dulus-3.9.1/dulus.egg-info → dulus-3.9.2}/PKG-INFO +1 -1
  2. {dulus-3.9.1 → dulus-3.9.2/dulus.egg-info}/PKG-INFO +1 -1
  3. {dulus-3.9.1 → dulus-3.9.2}/dulus.py +14 -2
  4. {dulus-3.9.1 → dulus-3.9.2}/pyproject.toml +1 -1
  5. {dulus-3.9.1 → dulus-3.9.2}/LICENSE +0 -0
  6. {dulus-3.9.1 → dulus-3.9.2}/MANIFEST.in +0 -0
  7. {dulus-3.9.1 → dulus-3.9.2}/README.md +0 -0
  8. {dulus-3.9.1 → dulus-3.9.2}/agent.py +0 -0
  9. {dulus-3.9.1 → dulus-3.9.2}/analytics.py +0 -0
  10. {dulus-3.9.1 → dulus-3.9.2}/backend/__init__.py +0 -0
  11. {dulus-3.9.1 → dulus-3.9.2}/backend/agents_bridge.py +0 -0
  12. {dulus-3.9.1 → dulus-3.9.2}/backend/compressor.py +0 -0
  13. {dulus-3.9.1 → dulus-3.9.2}/backend/context.py +0 -0
  14. {dulus-3.9.1 → dulus-3.9.2}/backend/githook.py +0 -0
  15. {dulus-3.9.1 → dulus-3.9.2}/backend/marketplace.py +0 -0
  16. {dulus-3.9.1 → dulus-3.9.2}/backend/mempalace_bridge.py +0 -0
  17. {dulus-3.9.1 → dulus-3.9.2}/backend/personas.py +0 -0
  18. {dulus-3.9.1 → dulus-3.9.2}/backend/plugins.py +0 -0
  19. {dulus-3.9.1 → dulus-3.9.2}/backend/server.py +0 -0
  20. {dulus-3.9.1 → dulus-3.9.2}/backend/tasks.py +0 -0
  21. {dulus-3.9.1 → dulus-3.9.2}/batch_api.py +0 -0
  22. {dulus-3.9.1 → dulus-3.9.2}/checkpoint/__init__.py +0 -0
  23. {dulus-3.9.1 → dulus-3.9.2}/checkpoint/hooks.py +0 -0
  24. {dulus-3.9.1 → dulus-3.9.2}/checkpoint/store.py +0 -0
  25. {dulus-3.9.1 → dulus-3.9.2}/checkpoint/types.py +0 -0
  26. {dulus-3.9.1 → dulus-3.9.2}/claude_code_watcher.py +0 -0
  27. {dulus-3.9.1 → dulus-3.9.2}/clipboard_utils.py +0 -0
  28. {dulus-3.9.1 → dulus-3.9.2}/cloudsave.py +0 -0
  29. {dulus-3.9.1 → dulus-3.9.2}/common.py +0 -0
  30. {dulus-3.9.1 → dulus-3.9.2}/compaction.py +0 -0
  31. {dulus-3.9.1 → dulus-3.9.2}/config.py +0 -0
  32. {dulus-3.9.1 → dulus-3.9.2}/context.py +0 -0
  33. {dulus-3.9.1 → dulus-3.9.2}/data/__init__.py +0 -0
  34. {dulus-3.9.1 → dulus-3.9.2}/data/active_persona.json +0 -0
  35. {dulus-3.9.1 → dulus-3.9.2}/data/marketplace.json +0 -0
  36. {dulus-3.9.1 → dulus-3.9.2}/data/personas.json +0 -0
  37. {dulus-3.9.1 → dulus-3.9.2}/data/plugins/__init__.py +0 -0
  38. {dulus-3.9.1 → dulus-3.9.2}/data/plugins/composio/__init__.py +0 -0
  39. {dulus-3.9.1 → dulus-3.9.2}/data/plugins/composio/composio_plugin/__init__.py +0 -0
  40. {dulus-3.9.1 → dulus-3.9.2}/data/plugins/composio/composio_plugin/session_manager.py +0 -0
  41. {dulus-3.9.1 → dulus-3.9.2}/data/plugins/composio/composio_plugin/tool_generator.py +0 -0
  42. {dulus-3.9.1 → dulus-3.9.2}/data/plugins/composio/plugin.json +0 -0
  43. {dulus-3.9.1 → dulus-3.9.2}/data/plugins/composio/plugin_tool.py +0 -0
  44. {dulus-3.9.1 → dulus-3.9.2}/data/tasks.json +0 -0
  45. {dulus-3.9.1 → dulus-3.9.2}/docs/API.md +0 -0
  46. {dulus-3.9.1 → dulus-3.9.2}/docs/BRAND_GUIDE.md +0 -0
  47. {dulus-3.9.1 → dulus-3.9.2}/docs/CHANGELOG.md +0 -0
  48. {dulus-3.9.1 → dulus-3.9.2}/docs/CONTRIBUTING.md +0 -0
  49. {dulus-3.9.1 → dulus-3.9.2}/docs/DEPLOYMENT.md +0 -0
  50. {dulus-3.9.1 → dulus-3.9.2}/docs/Dulus_AI_Whitepaper_(v2.0).pdf +0 -0
  51. {dulus-3.9.1 → dulus-3.9.2}/docs/FAQ.md +0 -0
  52. {dulus-3.9.1 → dulus-3.9.2}/docs/GETTING_STARTED.md +0 -0
  53. {dulus-3.9.1 → dulus-3.9.2}/docs/INVESTOR_BRIEF.md +0 -0
  54. {dulus-3.9.1 → dulus-3.9.2}/docs/README.md +0 -0
  55. {dulus-3.9.1 → dulus-3.9.2}/docs/README_AR.md +0 -0
  56. {dulus-3.9.1 → dulus-3.9.2}/docs/README_EN.md +0 -0
  57. {dulus-3.9.1 → dulus-3.9.2}/docs/README_ES.md +0 -0
  58. {dulus-3.9.1 → dulus-3.9.2}/docs/README_FR.md +0 -0
  59. {dulus-3.9.1 → dulus-3.9.2}/docs/README_JA.md +0 -0
  60. {dulus-3.9.1 → dulus-3.9.2}/docs/README_KO.md +0 -0
  61. {dulus-3.9.1 → dulus-3.9.2}/docs/README_PT.md +0 -0
  62. {dulus-3.9.1 → dulus-3.9.2}/docs/README_RU.md +0 -0
  63. {dulus-3.9.1 → dulus-3.9.2}/docs/README_ZH.md +0 -0
  64. {dulus-3.9.1 → dulus-3.9.2}/docs/SECURITY.md +0 -0
  65. {dulus-3.9.1 → dulus-3.9.2}/docs/__init__.py +0 -0
  66. {dulus-3.9.1 → dulus-3.9.2}/docs/api.html +0 -0
  67. {dulus-3.9.1 → dulus-3.9.2}/docs/architecture.md +0 -0
  68. {dulus-3.9.1 → dulus-3.9.2}/docs/azure-speech-template.json +0 -0
  69. {dulus-3.9.1 → dulus-3.9.2}/docs/dashboard/index.html +0 -0
  70. {dulus-3.9.1 → dulus-3.9.2}/docs/divider.svg +0 -0
  71. {dulus-3.9.1 → dulus-3.9.2}/docs/dulus-bird.png +0 -0
  72. {dulus-3.9.1 → dulus-3.9.2}/docs/generate.py +0 -0
  73. {dulus-3.9.1 → dulus-3.9.2}/docs/hero.svg +0 -0
  74. {dulus-3.9.1 → dulus-3.9.2}/docs/index.html +0 -0
  75. {dulus-3.9.1 → dulus-3.9.2}/docs/news.md +0 -0
  76. {dulus-3.9.1 → dulus-3.9.2}/docs/nvidia-models.svg +0 -0
  77. {dulus-3.9.1 → dulus-3.9.2}/docs/particle-playground.html +0 -0
  78. {dulus-3.9.1 → dulus-3.9.2}/docs/personas/index.html +0 -0
  79. {dulus-3.9.1 → dulus-3.9.2}/docs/poetry-banner.png +0 -0
  80. {dulus-3.9.1 → dulus-3.9.2}/docs/preview.html +0 -0
  81. {dulus-3.9.1 → dulus-3.9.2}/docs/sec-agents.svg +0 -0
  82. {dulus-3.9.1 → dulus-3.9.2}/docs/sec-brainstorm.svg +0 -0
  83. {dulus-3.9.1 → dulus-3.9.2}/docs/sec-bridges.svg +0 -0
  84. {dulus-3.9.1 → dulus-3.9.2}/docs/sec-features.svg +0 -0
  85. {dulus-3.9.1 → dulus-3.9.2}/docs/sec-freetier.svg +0 -0
  86. {dulus-3.9.1 → dulus-3.9.2}/docs/sec-memory.svg +0 -0
  87. {dulus-3.9.1 → dulus-3.9.2}/docs/sec-models.svg +0 -0
  88. {dulus-3.9.1 → dulus-3.9.2}/docs/sec-perms.svg +0 -0
  89. {dulus-3.9.1 → dulus-3.9.2}/docs/sec-plugins.svg +0 -0
  90. {dulus-3.9.1 → dulus-3.9.2}/docs/sec-quickstart.svg +0 -0
  91. {dulus-3.9.1 → dulus-3.9.2}/docs/sec-ssj.svg +0 -0
  92. {dulus-3.9.1 → dulus-3.9.2}/docs/spinners.svg +0 -0
  93. {dulus-3.9.1 → dulus-3.9.2}/docs/split-pane.svg +0 -0
  94. {dulus-3.9.1 → dulus-3.9.2}/docs/terminal-boot.svg +0 -0
  95. {dulus-3.9.1 → dulus-3.9.2}/dulus.egg-info/SOURCES.txt +0 -0
  96. {dulus-3.9.1 → dulus-3.9.2}/dulus.egg-info/dependency_links.txt +0 -0
  97. {dulus-3.9.1 → dulus-3.9.2}/dulus.egg-info/entry_points.txt +0 -0
  98. {dulus-3.9.1 → dulus-3.9.2}/dulus.egg-info/requires.txt +0 -0
  99. {dulus-3.9.1 → dulus-3.9.2}/dulus.egg-info/top_level.txt +0 -0
  100. {dulus-3.9.1 → dulus-3.9.2}/dulus_gui.py +0 -0
  101. {dulus-3.9.1 → dulus-3.9.2}/dulus_gui_web.py +0 -0
  102. {dulus-3.9.1 → dulus-3.9.2}/dulus_mcp/__init__.py +0 -0
  103. {dulus-3.9.1 → dulus-3.9.2}/dulus_mcp/client.py +0 -0
  104. {dulus-3.9.1 → dulus-3.9.2}/dulus_mcp/commands.py +0 -0
  105. {dulus-3.9.1 → dulus-3.9.2}/dulus_mcp/config.py +0 -0
  106. {dulus-3.9.1 → dulus-3.9.2}/dulus_mcp/hub.py +0 -0
  107. {dulus-3.9.1 → dulus-3.9.2}/dulus_mcp/tools.py +0 -0
  108. {dulus-3.9.1 → dulus-3.9.2}/dulus_mcp/types.py +0 -0
  109. {dulus-3.9.1 → dulus-3.9.2}/dulus_tools/__init__.py +0 -0
  110. {dulus-3.9.1 → dulus-3.9.2}/dulus_tools/add_dir_manager.py +0 -0
  111. {dulus-3.9.1 → dulus-3.9.2}/dulus_tools/afk_mode.py +0 -0
  112. {dulus-3.9.1 → dulus-3.9.2}/dulus_tools/approval_runtime.py +0 -0
  113. {dulus-3.9.1 → dulus-3.9.2}/dulus_tools/background_tasks.py +0 -0
  114. {dulus-3.9.1 → dulus-3.9.2}/dulus_tools/clipboard_utils.py +0 -0
  115. {dulus-3.9.1 → dulus-3.9.2}/dulus_tools/diff_visualizer.py +0 -0
  116. {dulus-3.9.1 → dulus-3.9.2}/dulus_tools/export_import.py +0 -0
  117. {dulus-3.9.1 → dulus-3.9.2}/dulus_tools/hook_engine.py +0 -0
  118. {dulus-3.9.1 → dulus-3.9.2}/dulus_tools/notification_manager.py +0 -0
  119. {dulus-3.9.1 → dulus-3.9.2}/dulus_tools/session_fork.py +0 -0
  120. {dulus-3.9.1 → dulus-3.9.2}/dulus_tools/shell_mode.py +0 -0
  121. {dulus-3.9.1 → dulus-3.9.2}/dulus_tools/todo_visualizer.py +0 -0
  122. {dulus-3.9.1 → dulus-3.9.2}/dulus_tools/tree_ls.py +0 -0
  123. {dulus-3.9.1 → dulus-3.9.2}/dulus_tools/wire_events.py +0 -0
  124. {dulus-3.9.1 → dulus-3.9.2}/dulus_tools/yolo_mode.py +0 -0
  125. {dulus-3.9.1 → dulus-3.9.2}/governance.py +0 -0
  126. {dulus-3.9.1 → dulus-3.9.2}/gui/__init__.py +0 -0
  127. {dulus-3.9.1 → dulus-3.9.2}/gui/agent_bridge.py +0 -0
  128. {dulus-3.9.1 → dulus-3.9.2}/gui/chat_widget.py +0 -0
  129. {dulus-3.9.1 → dulus-3.9.2}/gui/dulus_orchestrator/App.tsx +0 -0
  130. {dulus-3.9.1 → dulus-3.9.2}/gui/dulus_orchestrator/THIRD_PARTY_NOTICES.md +0 -0
  131. {dulus-3.9.1 → dulus-3.9.2}/gui/dulus_orchestrator/dist/index.html +0 -0
  132. {dulus-3.9.1 → dulus-3.9.2}/gui/dulus_orchestrator/dist/standalone.html +0 -0
  133. {dulus-3.9.1 → dulus-3.9.2}/gui/dulus_orchestrator/index.html +0 -0
  134. {dulus-3.9.1 → dulus-3.9.2}/gui/dulus_orchestrator/index.tsx +0 -0
  135. {dulus-3.9.1 → dulus-3.9.2}/gui/dulus_orchestrator/metadata.json +0 -0
  136. {dulus-3.9.1 → dulus-3.9.2}/gui/dulus_orchestrator/package-lock.json +0 -0
  137. {dulus-3.9.1 → dulus-3.9.2}/gui/dulus_orchestrator/package.json +0 -0
  138. {dulus-3.9.1 → dulus-3.9.2}/gui/dulus_orchestrator/types.ts +0 -0
  139. {dulus-3.9.1 → dulus-3.9.2}/gui/dulus_orchestrator/utils.ts +0 -0
  140. {dulus-3.9.1 → dulus-3.9.2}/gui/dulus_orchestrator/vertex-ai-proxy-interceptor.js +0 -0
  141. {dulus-3.9.1 → dulus-3.9.2}/gui/dulus_orchestrator/vite.config.ts +0 -0
  142. {dulus-3.9.1 → dulus-3.9.2}/gui/main_window.py +0 -0
  143. {dulus-3.9.1 → dulus-3.9.2}/gui/personas.py +0 -0
  144. {dulus-3.9.1 → dulus-3.9.2}/gui/sandbox_server.py +0 -0
  145. {dulus-3.9.1 → dulus-3.9.2}/gui/session_utils.py +0 -0
  146. {dulus-3.9.1 → dulus-3.9.2}/gui/settings_dialog.py +0 -0
  147. {dulus-3.9.1 → dulus-3.9.2}/gui/sidebar.py +0 -0
  148. {dulus-3.9.1 → dulus-3.9.2}/gui/tasks_view.py +0 -0
  149. {dulus-3.9.1 → dulus-3.9.2}/gui/themes.py +0 -0
  150. {dulus-3.9.1 → dulus-3.9.2}/gui/tool_panel.py +0 -0
  151. {dulus-3.9.1 → dulus-3.9.2}/input.py +0 -0
  152. {dulus-3.9.1 → dulus-3.9.2}/license_manager.py +0 -0
  153. {dulus-3.9.1 → dulus-3.9.2}/memory/__init__.py +0 -0
  154. {dulus-3.9.1 → dulus-3.9.2}/memory/audit.py +0 -0
  155. {dulus-3.9.1 → dulus-3.9.2}/memory/consolidator.py +0 -0
  156. {dulus-3.9.1 → dulus-3.9.2}/memory/context.py +0 -0
  157. {dulus-3.9.1 → dulus-3.9.2}/memory/offload.py +0 -0
  158. {dulus-3.9.1 → dulus-3.9.2}/memory/palace.py +0 -0
  159. {dulus-3.9.1 → dulus-3.9.2}/memory/scan.py +0 -0
  160. {dulus-3.9.1 → dulus-3.9.2}/memory/sessions.py +0 -0
  161. {dulus-3.9.1 → dulus-3.9.2}/memory/store.py +0 -0
  162. {dulus-3.9.1 → dulus-3.9.2}/memory/tools.py +0 -0
  163. {dulus-3.9.1 → dulus-3.9.2}/memory/types.py +0 -0
  164. {dulus-3.9.1 → dulus-3.9.2}/memory/vector_search.py +0 -0
  165. {dulus-3.9.1 → dulus-3.9.2}/multi_agent/__init__.py +0 -0
  166. {dulus-3.9.1 → dulus-3.9.2}/multi_agent/subagent.py +0 -0
  167. {dulus-3.9.1 → dulus-3.9.2}/multi_agent/tools.py +0 -0
  168. {dulus-3.9.1 → dulus-3.9.2}/offload_helper.py +0 -0
  169. {dulus-3.9.1 → dulus-3.9.2}/personality_config.py +0 -0
  170. {dulus-3.9.1 → dulus-3.9.2}/plugin/__init__.py +0 -0
  171. {dulus-3.9.1 → dulus-3.9.2}/plugin/autoadapter.py +0 -0
  172. {dulus-3.9.1 → dulus-3.9.2}/plugin/loader.py +0 -0
  173. {dulus-3.9.1 → dulus-3.9.2}/plugin/recommend.py +0 -0
  174. {dulus-3.9.1 → dulus-3.9.2}/plugin/store.py +0 -0
  175. {dulus-3.9.1 → dulus-3.9.2}/plugin/types.py +0 -0
  176. {dulus-3.9.1 → dulus-3.9.2}/providers.py +0 -0
  177. {dulus-3.9.1 → dulus-3.9.2}/sandbox/README.md +0 -0
  178. {dulus-3.9.1 → dulus-3.9.2}/sandbox/__init__.py +0 -0
  179. {dulus-3.9.1 → dulus-3.9.2}/sandbox/components.json +0 -0
  180. {dulus-3.9.1 → dulus-3.9.2}/sandbox/dist/assets/index-DE51D6wI.css +0 -0
  181. {dulus-3.9.1 → dulus-3.9.2}/sandbox/dist/assets/index-DMCCNE9Y.js +0 -0
  182. {dulus-3.9.1 → dulus-3.9.2}/sandbox/dist/index.html +0 -0
  183. {dulus-3.9.1 → dulus-3.9.2}/sandbox/dist/wallpaper-default.jpg +0 -0
  184. {dulus-3.9.1 → dulus-3.9.2}/sandbox/dist/wallpapers/default.jpeg +0 -0
  185. {dulus-3.9.1 → dulus-3.9.2}/sandbox/dist/wallpapers/light.jpeg +0 -0
  186. {dulus-3.9.1 → dulus-3.9.2}/sandbox/dist/wallpapers/nature.jpeg +0 -0
  187. {dulus-3.9.1 → dulus-3.9.2}/sandbox/dist/wallpapers/tech.jpeg +0 -0
  188. {dulus-3.9.1 → dulus-3.9.2}/sandbox/eslint.config.js +0 -0
  189. {dulus-3.9.1 → dulus-3.9.2}/sandbox/index.html +0 -0
  190. {dulus-3.9.1 → dulus-3.9.2}/sandbox/info.md +0 -0
  191. {dulus-3.9.1 → dulus-3.9.2}/sandbox/package-lock.json +0 -0
  192. {dulus-3.9.1 → dulus-3.9.2}/sandbox/package.json +0 -0
  193. {dulus-3.9.1 → dulus-3.9.2}/sandbox/postcss.config.js +0 -0
  194. {dulus-3.9.1 → dulus-3.9.2}/sandbox/tailwind.config.js +0 -0
  195. {dulus-3.9.1 → dulus-3.9.2}/sandbox/tsconfig.app.json +0 -0
  196. {dulus-3.9.1 → dulus-3.9.2}/sandbox/tsconfig.json +0 -0
  197. {dulus-3.9.1 → dulus-3.9.2}/sandbox/tsconfig.node.json +0 -0
  198. {dulus-3.9.1 → dulus-3.9.2}/sandbox/vite.config.ts +0 -0
  199. {dulus-3.9.1 → dulus-3.9.2}/sandbox_bootstrap.py +0 -0
  200. {dulus-3.9.1 → dulus-3.9.2}/setup.cfg +0 -0
  201. {dulus-3.9.1 → dulus-3.9.2}/skill/__init__.py +0 -0
  202. {dulus-3.9.1 → dulus-3.9.2}/skill/builtin.py +0 -0
  203. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/LICENSE-obsidian-skills +0 -0
  204. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/README.md +0 -0
  205. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/defuddle/SKILL.md +0 -0
  206. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/json-canvas/SKILL.md +0 -0
  207. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/json-canvas/references/EXAMPLES.md +0 -0
  208. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/obsidian-bases/SKILL.md +0 -0
  209. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/obsidian-bases/references/FUNCTIONS_REFERENCE.md +0 -0
  210. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/obsidian-cli/SKILL.md +0 -0
  211. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/obsidian-markdown/SKILL.md +0 -0
  212. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/obsidian-markdown/references/CALLOUTS.md +0 -0
  213. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/obsidian-markdown/references/EMBEDS.md +0 -0
  214. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/obsidian-markdown/references/PROPERTIES.md +0 -0
  215. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/README.md +0 -0
  216. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/SKILL.md +0 -0
  217. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/references/brokers/addresses.json +0 -0
  218. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/references/brokers/advancedbackgroundchecks.json +0 -0
  219. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/references/brokers/beenverified.json +0 -0
  220. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/references/brokers/clustal.json +0 -0
  221. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/references/brokers/clustrmaps.json +0 -0
  222. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/references/brokers/cyberbackgroundchecks.json +0 -0
  223. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/references/brokers/familytreenow.json +0 -0
  224. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/references/brokers/fastpeoplesearch.json +0 -0
  225. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/references/brokers/intelius.json +0 -0
  226. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/references/brokers/mylife.json +0 -0
  227. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/references/brokers/nuwber.json +0 -0
  228. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/references/brokers/peekyou.json +0 -0
  229. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/references/brokers/peoplefinders.json +0 -0
  230. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/references/brokers/radaris.json +0 -0
  231. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/references/brokers/rehold.json +0 -0
  232. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/references/brokers/searchpeoplefree.json +0 -0
  233. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/references/brokers/socialcatfish.json +0 -0
  234. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/references/brokers/spokeo.json +0 -0
  235. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/references/brokers/thatsthem.json +0 -0
  236. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/references/brokers/truepeoplesearch.json +0 -0
  237. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/references/brokers/usphonebook.json +0 -0
  238. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/references/brokers/whitepages.json +0 -0
  239. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/references/legal/ccpa.md +0 -0
  240. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/references/legal/drop.md +0 -0
  241. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/references/legal/gdpr.md +0 -0
  242. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/references/methods.md +0 -0
  243. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/references/site-playbooks.md +0 -0
  244. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/references/state-machine.md +0 -0
  245. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/scripts/autopilot.py +0 -0
  246. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/scripts/badbool.py +0 -0
  247. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/scripts/brokers.py +0 -0
  248. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/scripts/cdp.py +0 -0
  249. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/scripts/config.py +0 -0
  250. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/scripts/crypto.py +0 -0
  251. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/scripts/dossier.py +0 -0
  252. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/scripts/email_modes.py +0 -0
  253. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/scripts/emailer.py +0 -0
  254. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/scripts/ledger.py +0 -0
  255. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/scripts/legal.py +0 -0
  256. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/scripts/paths.py +0 -0
  257. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/scripts/pdd.py +0 -0
  258. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/scripts/registry.py +0 -0
  259. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/scripts/report.py +0 -0
  260. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/scripts/scan.py +0 -0
  261. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/scripts/storage.py +0 -0
  262. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/scripts/tiers.py +0 -0
  263. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/scripts/vectors.py +0 -0
  264. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/templates/consent/authorization.md +0 -0
  265. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/templates/emails/ccpa-authorized-agent.txt +0 -0
  266. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/templates/emails/ccpa-deletion.txt +0 -0
  267. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/templates/emails/ccpa-indirect-deletion.txt +0 -0
  268. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/templates/emails/gdpr-erasure.txt +0 -0
  269. {dulus-3.9.1 → dulus-3.9.2}/skill/bundled/unbroker/templates/emails/generic-optout.txt +0 -0
  270. {dulus-3.9.1 → dulus-3.9.2}/skill/clawhub.py +0 -0
  271. {dulus-3.9.1 → dulus-3.9.2}/skill/executor.py +0 -0
  272. {dulus-3.9.1 → dulus-3.9.2}/skill/loader.py +0 -0
  273. {dulus-3.9.1 → dulus-3.9.2}/skill/tools.py +0 -0
  274. {dulus-3.9.1 → dulus-3.9.2}/skills.py +0 -0
  275. {dulus-3.9.1 → dulus-3.9.2}/soul.py +0 -0
  276. {dulus-3.9.1 → dulus-3.9.2}/spinner.py +0 -0
  277. {dulus-3.9.1 → dulus-3.9.2}/string_utils.py +0 -0
  278. {dulus-3.9.1 → dulus-3.9.2}/subagent.py +0 -0
  279. {dulus-3.9.1 → dulus-3.9.2}/task/__init__.py +0 -0
  280. {dulus-3.9.1 → dulus-3.9.2}/task/store.py +0 -0
  281. {dulus-3.9.1 → dulus-3.9.2}/task/tools.py +0 -0
  282. {dulus-3.9.1 → dulus-3.9.2}/task/types.py +0 -0
  283. {dulus-3.9.1 → dulus-3.9.2}/tests/test_afk_yolo.py +0 -0
  284. {dulus-3.9.1 → dulus-3.9.2}/tests/test_approval_runtime.py +0 -0
  285. {dulus-3.9.1 → dulus-3.9.2}/tests/test_background_task_tools.py +0 -0
  286. {dulus-3.9.1 → dulus-3.9.2}/tests/test_background_tasks.py +0 -0
  287. {dulus-3.9.1 → dulus-3.9.2}/tests/test_checkpoint.py +0 -0
  288. {dulus-3.9.1 → dulus-3.9.2}/tests/test_clipboard_utils.py +0 -0
  289. {dulus-3.9.1 → dulus-3.9.2}/tests/test_compaction.py +0 -0
  290. {dulus-3.9.1 → dulus-3.9.2}/tests/test_diff_view.py +0 -0
  291. {dulus-3.9.1 → dulus-3.9.2}/tests/test_diff_visualization.py +0 -0
  292. {dulus-3.9.1 → dulus-3.9.2}/tests/test_display_blocks.py +0 -0
  293. {dulus-3.9.1 → dulus-3.9.2}/tests/test_export_import.py +0 -0
  294. {dulus-3.9.1 → dulus-3.9.2}/tests/test_hook_engine.py +0 -0
  295. {dulus-3.9.1 → dulus-3.9.2}/tests/test_injection_fix.py +0 -0
  296. {dulus-3.9.1 → dulus-3.9.2}/tests/test_license.py +0 -0
  297. {dulus-3.9.1 → dulus-3.9.2}/tests/test_mcp.py +0 -0
  298. {dulus-3.9.1 → dulus-3.9.2}/tests/test_memory.py +0 -0
  299. {dulus-3.9.1 → dulus-3.9.2}/tests/test_notification_manager.py +0 -0
  300. {dulus-3.9.1 → dulus-3.9.2}/tests/test_plugin.py +0 -0
  301. {dulus-3.9.1 → dulus-3.9.2}/tests/test_session_fork.py +0 -0
  302. {dulus-3.9.1 → dulus-3.9.2}/tests/test_shell_mode.py +0 -0
  303. {dulus-3.9.1 → dulus-3.9.2}/tests/test_skills.py +0 -0
  304. {dulus-3.9.1 → dulus-3.9.2}/tests/test_steer_input.py +0 -0
  305. {dulus-3.9.1 → dulus-3.9.2}/tests/test_subagent.py +0 -0
  306. {dulus-3.9.1 → dulus-3.9.2}/tests/test_task.py +0 -0
  307. {dulus-3.9.1 → dulus-3.9.2}/tests/test_telegram_buffer.py +0 -0
  308. {dulus-3.9.1 → dulus-3.9.2}/tests/test_think_tool.py +0 -0
  309. {dulus-3.9.1 → dulus-3.9.2}/tests/test_todo_tool.py +0 -0
  310. {dulus-3.9.1 → dulus-3.9.2}/tests/test_todo_visualization.py +0 -0
  311. {dulus-3.9.1 → dulus-3.9.2}/tests/test_tool_registry.py +0 -0
  312. {dulus-3.9.1 → dulus-3.9.2}/tests/test_tree_ls.py +0 -0
  313. {dulus-3.9.1 → dulus-3.9.2}/tests/test_voice.py +0 -0
  314. {dulus-3.9.1 → dulus-3.9.2}/tests/test_wire_events.py +0 -0
  315. {dulus-3.9.1 → dulus-3.9.2}/tmux_offloader.py +0 -0
  316. {dulus-3.9.1 → dulus-3.9.2}/tmux_tools.py +0 -0
  317. {dulus-3.9.1 → dulus-3.9.2}/tool_registry.py +0 -0
  318. {dulus-3.9.1 → dulus-3.9.2}/tools.py +0 -0
  319. {dulus-3.9.1 → dulus-3.9.2}/ui/__init__.py +0 -0
  320. {dulus-3.9.1 → dulus-3.9.2}/ui/input.py +0 -0
  321. {dulus-3.9.1 → dulus-3.9.2}/ui/render.py +0 -0
  322. {dulus-3.9.1 → dulus-3.9.2}/updater.py +0 -0
  323. {dulus-3.9.1 → dulus-3.9.2}/voice/__init__.py +0 -0
  324. {dulus-3.9.1 → dulus-3.9.2}/voice/audio_utils.py +0 -0
  325. {dulus-3.9.1 → dulus-3.9.2}/voice/keyterms.py +0 -0
  326. {dulus-3.9.1 → dulus-3.9.2}/voice/recorder.py +0 -0
  327. {dulus-3.9.1 → dulus-3.9.2}/voice/stt.py +0 -0
  328. {dulus-3.9.1 → dulus-3.9.2}/voice/tts.py +0 -0
  329. {dulus-3.9.1 → dulus-3.9.2}/voice/wake_word.py +0 -0
  330. {dulus-3.9.1 → dulus-3.9.2}/webbridge/__init__.py +0 -0
  331. {dulus-3.9.1 → dulus-3.9.2}/webbridge/core.py +0 -0
  332. {dulus-3.9.1 → dulus-3.9.2}/webbridge/tools.py +0 -0
  333. {dulus-3.9.1 → dulus-3.9.2}/webchat.py +0 -0
  334. {dulus-3.9.1 → dulus-3.9.2}/webchat_server.py +0 -0
  335. {dulus-3.9.1 → dulus-3.9.2}/welcome.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dulus
3
- Version: 3.9.1
3
+ Version: 3.9.2
4
4
  Summary: Use IA as an agent without an API key. $0. Harvest your browser session for Gemini (guest, no login), Claude.ai, Claude Code, Kimi.com, Qwen, DeepSeek — drive them like an API, no per-token billing. Plus LiteLLM (100+ paid providers), local models via Ollama, /lang in 34 languages, Mesa Redonda, voice, OCR, MemPalace, embedded sandbox OS.
5
5
  Author: KevRojo
6
6
  License: GPL-3.0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dulus
3
- Version: 3.9.1
3
+ Version: 3.9.2
4
4
  Summary: Use IA as an agent without an API key. $0. Harvest your browser session for Gemini (guest, no login), Claude.ai, Claude Code, Kimi.com, Qwen, DeepSeek — drive them like an API, no per-token billing. Plus LiteLLM (100+ paid providers), local models via Ollama, /lang in 34 languages, Mesa Redonda, voice, OCR, MemPalace, embedded sandbox OS.
5
5
  Author: KevRojo
6
6
  License: GPL-3.0
@@ -71,6 +71,11 @@ Slash commands in REPL:
71
71
  /skill use <name> Inject skill into next message /skill remove <name> Uninstall
72
72
  /agents Show sub-agent tasks
73
73
  /mcp List MCP servers and their tools
74
+ /mcp list [query] Browse the catalog of 2000+ MCP servers
75
+ /mcp search <q> Search every source for matching servers
76
+ /mcp install <n> Install a server by name (auto-connects)
77
+ /mcp installed Show installed servers + live status
78
+ /mcp runtimes Show available runtimes (node/python/docker)
74
79
  /mcp reload Reconnect all MCP servers
75
80
  /mcp add <n> <cmd> [args] Add a stdio MCP server
76
81
  /mcp remove <n> Remove an MCP server from config
@@ -838,6 +843,7 @@ _HELP_PAGES = [
838
843
  ("/cwd [path]", "Show or change working directory"),
839
844
  ("/copy [file]", "Copy last response (or file) to clipboard"),
840
845
  ("/shell [cmd|on|off]", "Shell mode toggle or one-shot command"),
846
+ ("/update [now|on|off]", "Self-update Dulus from PyPI (auto-check at startup)"),
841
847
  ("/exit /quit", "Exit Dulus"),
842
848
  ]),
843
849
  ("Session", [
@@ -877,7 +883,10 @@ _HELP_PAGES = [
877
883
  ("/plugin recommend [ctx]", "Recommend plugins for a context"),
878
884
  ("/agents", "Show sub-agent tasks"),
879
885
  ("/mcp", "List MCP servers and tools"),
880
- ("/mcp reload | add | remove","Manage MCP servers"),
886
+ ("/mcp list | search <q>", "Browse/search 2000+ MCP servers"),
887
+ ("/mcp install <name>", "Install a server by name (auto-connects)"),
888
+ ("/mcp installed | runtimes","Show installed servers / available runtimes"),
889
+ ("/mcp reload | add | remove","Manage MCP servers manually"),
881
890
  ("/tasks", "List/create/update tasks"),
882
891
  ]),
883
892
  ("Voice · Wake", [
@@ -9952,7 +9961,9 @@ _CMD_META: dict[str, tuple[str, list[str]]] = {
9952
9961
  "profiles": ("Manage agent Profiles (alias)", ["list", "show", "create", "switch", "delete", "inherit"]),
9953
9962
  "memory": ("Manage persistent memories", ["list", "load", "permanent", "unbind", "consolidate", "delete", "purge", "purge-soul"]),
9954
9963
  "agents": ("Show background agents", []),
9955
- "mcp": ("Manage MCP servers", ["reload", "add", "remove"]),
9964
+ "mcp": ("Browse & install MCP servers", ["list", "search", "install",
9965
+ "installed", "runtimes", "reload",
9966
+ "add", "remove"]),
9956
9967
  "plugin": ("Manage plugins", ["install", "uninstall", "enable",
9957
9968
  "disable", "disable-all", "update",
9958
9969
  "recommend", "info"]),
@@ -10002,6 +10013,7 @@ _CMD_META: dict[str, tuple[str, list[str]]] = {
10002
10013
  "exit": ("Exit dulus", []),
10003
10014
  "quit": ("Exit (alias for /exit)", []),
10004
10015
  "resume": ("Resume last session", []),
10016
+ "update": ("Self-update Dulus from PyPI", ["now", "check", "status", "on", "off"]),
10005
10017
  "news": ("Show latest project news", []),
10006
10018
  "claude_chats": ("List Claude.ai conversations", ["all"]),
10007
10019
  "gemini_chats": ("Manage Gemini Web conversations", ["new"]),
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "dulus"
7
- version = "3.9.1"
7
+ version = "3.9.2"
8
8
  description = "Use IA as an agent without an API key. $0. Harvest your browser session for Gemini (guest, no login), Claude.ai, Claude Code, Kimi.com, Qwen, DeepSeek — drive them like an API, no per-token billing. Plus LiteLLM (100+ paid providers), local models via Ollama, /lang in 34 languages, Mesa Redonda, voice, OCR, MemPalace, embedded sandbox OS."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes