voidx 3.4.2__tar.gz → 3.4.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (313) hide show
  1. {voidx-3.4.2/src/voidx.egg-info → voidx-3.4.3}/PKG-INFO +1 -1
  2. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/__init__.py +1 -1
  3. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/graph/run_loop.py +1 -0
  4. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/llm/provider.py +29 -0
  5. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/gateway/session.py +19 -0
  6. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/tui/parser.py +8 -0
  7. {voidx-3.4.2 → voidx-3.4.3/src/voidx.egg-info}/PKG-INFO +1 -1
  8. {voidx-3.4.2 → voidx-3.4.3}/LICENSE +0 -0
  9. {voidx-3.4.2 → voidx-3.4.3}/README.md +0 -0
  10. {voidx-3.4.2 → voidx-3.4.3}/pyproject.toml +0 -0
  11. {voidx-3.4.2 → voidx-3.4.3}/setup.cfg +0 -0
  12. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/__init__.py +0 -0
  13. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/agents.py +0 -0
  14. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/attachments.py +0 -0
  15. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/goal_resolver.py +0 -0
  16. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/graph/__init__.py +0 -0
  17. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/graph/compaction.py +0 -0
  18. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/graph/compaction_coordinator.py +0 -0
  19. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/graph/contracts.py +0 -0
  20. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/graph/convergence.py +0 -0
  21. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/graph/core/__init__.py +0 -0
  22. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/graph/core/_voidx_graph.py +0 -0
  23. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/graph/core/helpers.py +0 -0
  24. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/graph/core/llm.py +0 -0
  25. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/graph/permissions.py +0 -0
  26. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/graph/runtime.py +0 -0
  27. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/graph/runtime_guards.py +0 -0
  28. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/graph/session_mixin.py +0 -0
  29. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/graph/session_runtime.py +0 -0
  30. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/graph/streaming.py +0 -0
  31. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/graph/subagent.py +0 -0
  32. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/graph/title_mixin.py +0 -0
  33. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/graph/todo_events.py +0 -0
  34. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/graph/tool_execution.py +0 -0
  35. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/graph/tool_executor/__init__.py +0 -0
  36. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/graph/tool_executor/executor.py +0 -0
  37. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/graph/tool_executor/guards.py +0 -0
  38. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/graph/tool_executor/helpers.py +0 -0
  39. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/graph/tool_executor/types.py +0 -0
  40. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/graph/tool_executor/ui.py +0 -0
  41. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/graph/tool_executor/workflow.py +0 -0
  42. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/graph/topology.py +0 -0
  43. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/graph/transcript_mixin.py +0 -0
  44. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/graph/turn_mixin.py +0 -0
  45. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/graph/turn_runner.py +0 -0
  46. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/graph/wiring.py +0 -0
  47. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/graph/workflow_utils.py +0 -0
  48. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/message_rows.py +0 -0
  49. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/message_trimming.py +0 -0
  50. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/prompts.py +0 -0
  51. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/runtime_context.py +0 -0
  52. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/slash/__init__.py +0 -0
  53. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/slash/code_ide.py +0 -0
  54. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/slash/guide.py +0 -0
  55. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/slash/handler.py +0 -0
  56. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/slash/host.py +0 -0
  57. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/slash/init.py +0 -0
  58. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/slash/lsp.py +0 -0
  59. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/slash/mcp.py +0 -0
  60. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/slash/model.py +0 -0
  61. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/slash/profile.py +0 -0
  62. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/slash/runtime.py +0 -0
  63. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/slash/session.py +0 -0
  64. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/slash/skills.py +0 -0
  65. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/slash/upgrade.py +0 -0
  66. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/state.py +0 -0
  67. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/task_state.py +0 -0
  68. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/todo_state.py +0 -0
  69. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/tool_call_ids.py +0 -0
  70. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/tool_exchange_sanitizer.py +0 -0
  71. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/tool_filters.py +0 -0
  72. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/tool_messages.py +0 -0
  73. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/agent/tool_result_storage.py +0 -0
  74. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/config/__init__.py +0 -0
  75. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/config/enums.py +0 -0
  76. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/config/models.py +0 -0
  77. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/config/permissions.py +0 -0
  78. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/config/settings.py +0 -0
  79. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/config/settings_agent.py +0 -0
  80. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/config/settings_api_keys.py +0 -0
  81. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/config/settings_code_ide.py +0 -0
  82. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/config/settings_custom.py +0 -0
  83. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/config/settings_mcp.py +0 -0
  84. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/config/settings_permissions.py +0 -0
  85. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/config/settings_skills.py +0 -0
  86. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/config/settings_update.py +0 -0
  87. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/config/settings_utils.py +0 -0
  88. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/config/settings_web.py +0 -0
  89. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/data/__init__.py +0 -0
  90. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/data/templates/api-doc.md +0 -0
  91. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/data/templates/prd.md +0 -0
  92. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/data/templates/readme.md +0 -0
  93. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/data/templates/rfc.md +0 -0
  94. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/data/templates/tech-design.md +0 -0
  95. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/diffing.py +0 -0
  96. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/llm/__init__.py +0 -0
  97. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/llm/catalog.py +0 -0
  98. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/llm/compaction.py +0 -0
  99. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/llm/context.py +0 -0
  100. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/llm/instruction.py +0 -0
  101. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/llm/message_markers.py +0 -0
  102. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/llm/message_status.py +0 -0
  103. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/llm/service.py +0 -0
  104. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/llm/usage.py +0 -0
  105. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/logging/__init__.py +0 -0
  106. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/logging/request_log.py +0 -0
  107. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/logging/tool_log.py +0 -0
  108. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/lsp/__init__.py +0 -0
  109. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/lsp/client.py +0 -0
  110. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/lsp/config.py +0 -0
  111. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/lsp/detector.py +0 -0
  112. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/lsp/detector_data.py +0 -0
  113. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/lsp/errors.py +0 -0
  114. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/lsp/manager.py +0 -0
  115. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/lsp/schema.py +0 -0
  116. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/lsp/service.py +0 -0
  117. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/main.py +0 -0
  118. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/mcp/__init__.py +0 -0
  119. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/mcp/client/__init__.py +0 -0
  120. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/mcp/client/base.py +0 -0
  121. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/mcp/client/errors.py +0 -0
  122. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/mcp/client/http_transport.py +0 -0
  123. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/mcp/client/sse_transport.py +0 -0
  124. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/mcp/client/stdio_transport.py +0 -0
  125. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/mcp/manager.py +0 -0
  126. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/mcp/schema.py +0 -0
  127. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/mcp/tool.py +0 -0
  128. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/mcp_servers/__init__.py +0 -0
  129. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/mcp_servers/web.py +0 -0
  130. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/memory/__init__.py +0 -0
  131. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/memory/cleanup.py +0 -0
  132. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/memory/context_frames.py +0 -0
  133. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/memory/jsonl_store.py +0 -0
  134. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/memory/model_profiles.py +0 -0
  135. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/memory/runtime_state.py +0 -0
  136. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/memory/service.py +0 -0
  137. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/memory/session.py +0 -0
  138. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/memory/store.py +0 -0
  139. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/memory/subagents.py +0 -0
  140. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/memory/transcript.py +0 -0
  141. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/permission/__init__.py +0 -0
  142. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/permission/context.py +0 -0
  143. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/permission/engine.py +0 -0
  144. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/permission/evaluate.py +0 -0
  145. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/permission/rules.py +0 -0
  146. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/permission/sandbox.py +0 -0
  147. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/permission/schema.py +0 -0
  148. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/permission/service.py +0 -0
  149. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/permission/wildcard.py +0 -0
  150. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/runtime/__init__.py +0 -0
  151. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/runtime/attachments.py +0 -0
  152. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/runtime/intent.py +0 -0
  153. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/runtime/reference_tokens.py +0 -0
  154. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/runtime/task_state.py +0 -0
  155. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/runtime/todo.py +0 -0
  156. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/runtime/ui.py +0 -0
  157. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/runtime/ui_port.py +0 -0
  158. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/selfupdate.py +0 -0
  159. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/skills/__init__.py +0 -0
  160. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/skills/context.py +0 -0
  161. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/skills/references.py +0 -0
  162. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/skills/registry.py +0 -0
  163. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/skills/schema.py +0 -0
  164. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/skills/service.py +0 -0
  165. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/__init__.py +0 -0
  166. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/agent.py +0 -0
  167. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/base.py +0 -0
  168. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/bash/__init__.py +0 -0
  169. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/bash/core.py +0 -0
  170. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/bash/hint/__init__.py +0 -0
  171. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/bash/hint/file.py +0 -0
  172. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/bash/hint/git.py +0 -0
  173. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/bash/hint/search.py +0 -0
  174. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/bash/router.py +0 -0
  175. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/bash/safety.py +0 -0
  176. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/bash/tool.py +0 -0
  177. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/clarify.py +0 -0
  178. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/compact_context.py +0 -0
  179. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/file_ops/__init__.py +0 -0
  180. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/file_ops/edit_execute.py +0 -0
  181. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/file_ops/edit_resolve.py +0 -0
  182. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/file_ops/file.py +0 -0
  183. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/file_ops/read.py +0 -0
  184. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/file_ops/types.py +0 -0
  185. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/file_ops/write.py +0 -0
  186. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/file_state.py +0 -0
  187. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/git.py +0 -0
  188. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/load_doc_template.py +0 -0
  189. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/load_skills.py +0 -0
  190. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/lsp.py +0 -0
  191. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/plan_checkpoint.py +0 -0
  192. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/powershell/__init__.py +0 -0
  193. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/powershell/core.py +0 -0
  194. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/powershell/hint/__init__.py +0 -0
  195. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/powershell/hint/file.py +0 -0
  196. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/powershell/hint/search.py +0 -0
  197. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/powershell/router.py +0 -0
  198. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/powershell/safety.py +0 -0
  199. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/powershell/sandbox.py +0 -0
  200. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/powershell/tool.py +0 -0
  201. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/registry.py +0 -0
  202. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/search.py +0 -0
  203. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/service.py +0 -0
  204. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/shell/__init__.py +0 -0
  205. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/shell/common.py +0 -0
  206. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/shell/hint/__init__.py +0 -0
  207. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/shell/hint/git.py +0 -0
  208. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/skills.py +0 -0
  209. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/task_status.py +0 -0
  210. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/task_tracker.py +0 -0
  211. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/todo.py +0 -0
  212. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/web_content.py +0 -0
  213. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/web_mcp.py +0 -0
  214. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/webfetch.py +0 -0
  215. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/websearch.py +0 -0
  216. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/tools/workflow.py +0 -0
  217. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/__init__.py +0 -0
  218. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/commands.py +0 -0
  219. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/frontend.py +0 -0
  220. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/gateway/__init__.py +0 -0
  221. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/gateway/adapter.py +0 -0
  222. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/gateway/bootstrap.py +0 -0
  223. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/gateway/diff_review.py +0 -0
  224. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/gateway/server.py +0 -0
  225. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/gateway/terminal.py +0 -0
  226. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/output/__init__.py +0 -0
  227. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/output/agent_display.py +0 -0
  228. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/output/browse.py +0 -0
  229. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/output/capture.py +0 -0
  230. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/output/console/__init__.py +0 -0
  231. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/output/console/app.py +0 -0
  232. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/output/console/formatting.py +0 -0
  233. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/output/console/streaming.py +0 -0
  234. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/output/diff.py +0 -0
  235. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/output/display_policy.py +0 -0
  236. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/output/dock/__init__.py +0 -0
  237. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/output/dock/agent_placeholder.py +0 -0
  238. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/output/dock/app.py +0 -0
  239. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/output/dock/formatting.py +0 -0
  240. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/output/dock/nodes.py +0 -0
  241. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/output/dock/nodes_checkpoint.py +0 -0
  242. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/output/dock/nodes_clarify.py +0 -0
  243. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/output/dock/nodes_permission.py +0 -0
  244. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/output/dock/nodes_startup.py +0 -0
  245. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/output/dock/nodes_status.py +0 -0
  246. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/output/dock/state.py +0 -0
  247. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/output/dock/status.py +0 -0
  248. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/output/dock/stream.py +0 -0
  249. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/output/dock/todo.py +0 -0
  250. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/output/events/__init__.py +0 -0
  251. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/output/events/bus.py +0 -0
  252. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/output/events/consumers.py +0 -0
  253. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/output/events/schema.py +0 -0
  254. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/output/tree.py +0 -0
  255. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/output/types.py +0 -0
  256. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/protocol/__init__.py +0 -0
  257. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/protocol/commands.py +0 -0
  258. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/protocol/envelope.py +0 -0
  259. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/protocol/requests.py +0 -0
  260. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/protocol/schema.py +0 -0
  261. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/protocol/transcript.py +0 -0
  262. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/protocol/v2/__init__.py +0 -0
  263. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/protocol/v2/envelope.py +0 -0
  264. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/protocol/v2/methods.py +0 -0
  265. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/protocol/v2/snapshot.py +0 -0
  266. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/protocol/v2/threads.py +0 -0
  267. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/session.py +0 -0
  268. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/tools/__init__.py +0 -0
  269. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/tools/attachment_tokens.py +0 -0
  270. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/tools/clipboard_image.py +0 -0
  271. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/tools/clipboard_text.py +0 -0
  272. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/tools/code_ide.py +0 -0
  273. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/tools/file_picker.py +0 -0
  274. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/tools/skill_picker.py +0 -0
  275. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/transcript.py +0 -0
  276. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/tui/__init__.py +0 -0
  277. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/tui/activity.py +0 -0
  278. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/tui/app.py +0 -0
  279. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/tui/choice_mixin.py +0 -0
  280. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/tui/clipboard_mixin.py +0 -0
  281. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/tui/helpers.py +0 -0
  282. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/tui/input.py +0 -0
  283. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/tui/overlays.py +0 -0
  284. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/tui/panels.py +0 -0
  285. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/tui/render_activity.py +0 -0
  286. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/tui/render_frame.py +0 -0
  287. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/tui/render_input.py +0 -0
  288. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/tui/render_status.py +0 -0
  289. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/tui/render_todo.py +0 -0
  290. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/tui/renderer.py +0 -0
  291. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/tui/state.py +0 -0
  292. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/tui/terminal_mixin.py +0 -0
  293. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/ui/tui/text_prompt_mixin.py +0 -0
  294. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/workflow/__init__.py +0 -0
  295. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/workflow/auto_advance.py +0 -0
  296. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/workflow/context.py +0 -0
  297. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/workflow/dag.py +0 -0
  298. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/workflow/nodes.py +0 -0
  299. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/workflow/policy.py +0 -0
  300. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/workflow/reconcile.py +0 -0
  301. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/workflow/render.py +0 -0
  302. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/workflow/route.py +0 -0
  303. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/workflow/runtime.py +0 -0
  304. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/workflow/schema.py +0 -0
  305. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/workflow/service.py +0 -0
  306. {voidx-3.4.2 → voidx-3.4.3}/src/voidx/workflow/types.py +0 -0
  307. {voidx-3.4.2 → voidx-3.4.3}/src/voidx.egg-info/SOURCES.txt +0 -0
  308. {voidx-3.4.2 → voidx-3.4.3}/src/voidx.egg-info/dependency_links.txt +0 -0
  309. {voidx-3.4.2 → voidx-3.4.3}/src/voidx.egg-info/entry_points.txt +0 -0
  310. {voidx-3.4.2 → voidx-3.4.3}/src/voidx.egg-info/requires.txt +0 -0
  311. {voidx-3.4.2 → voidx-3.4.3}/src/voidx.egg-info/top_level.txt +0 -0
  312. {voidx-3.4.2 → voidx-3.4.3}/tests/test_install_sh.py +0 -0
  313. {voidx-3.4.2 → voidx-3.4.3}/tests/test_npm_package.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: voidx
3
- Version: 3.4.2
3
+ Version: 3.4.3
4
4
  Summary: A coding agent that quantifies everything and solves with tools, not fuzzy prompts.
5
5
  Author: chikhamx
6
6
  License: MIT
@@ -1,3 +1,3 @@
1
1
  """VoidX - A coding agent that quantifies everything."""
2
2
 
3
- __version__ = "3.4.2"
3
+ __version__ = "3.4.3"
@@ -151,6 +151,7 @@ class GraphRunLoopMixin(GraphTurnMixin, GraphSessionMixin, GraphTranscriptMixin)
151
151
  lambda: active_dock.tree,
152
152
  thread_id=self._session.id if self._session else "",
153
153
  session_id=self._session.id if self._session else "",
154
+ workspace=self._workspace,
154
155
  )
155
156
  self._ui.events.start(CompositeEventConsumer(
156
157
  primary=consumer,
@@ -176,6 +176,35 @@ class DeepSeekChatOpenAI(ChatOpenAI):
176
176
 
177
177
  return generation_chunk
178
178
 
179
+ # ── multi-turn reasoning_content injection ──────────────────────────────
180
+
181
+ def _get_request_payload(self, input_, *, stop=None, **kwargs):
182
+ """Inject reasoning_content into assistant message dicts.
183
+
184
+ DeepSeek's thinking mode requires ``reasoning_content`` to be passed
185
+ back as a top-level field on assistant messages in multi-turn
186
+ conversations. LangChain's ``_convert_message_to_dict`` silently
187
+ drops ``additional_kwargs.reasoning_content``, so we re-inject it
188
+ after the parent builds the payload.
189
+ """
190
+ payload = super()._get_request_payload(input_, stop=stop, **kwargs)
191
+ messages = payload.get("messages")
192
+ if not isinstance(messages, list):
193
+ return payload
194
+
195
+ original_messages = self._convert_input(input_).to_messages()
196
+ for i, msg_dict in enumerate(messages):
197
+ if not isinstance(msg_dict, dict) or msg_dict.get("role") != "assistant":
198
+ continue
199
+ if i >= len(original_messages):
200
+ break
201
+ orig = original_messages[i]
202
+ rc = getattr(orig, "additional_kwargs", {}).get("reasoning_content")
203
+ if isinstance(rc, str) and rc:
204
+ msg_dict["reasoning_content"] = rc
205
+
206
+ return payload
207
+
179
208
  # ── provider-specific reasoning effort mapping ────────────────────────
180
209
 
181
210
  @staticmethod
@@ -55,10 +55,12 @@ class GatewaySession:
55
55
  thread_id: str = "",
56
56
  session_id: str = "",
57
57
  command_handler: Callable[[UiCommand], Awaitable[None] | None] | None = None,
58
+ workspace: str = "",
58
59
  ) -> None:
59
60
  self._tree_provider = tree_provider
60
61
  self._session_id = session_id or thread_id
61
62
  self._command_handler = command_handler
63
+ self._workspace = workspace
62
64
  self._clients: set[ProtocolClient] = set()
63
65
  self._pending_requests: dict[str, asyncio.Future[UiResponse]] = {}
64
66
  self._seq = 0
@@ -264,6 +266,7 @@ class GatewaySession:
264
266
  m.register("diff.review", self._method_diff_review_start)
265
267
  m.register("diff.decide", self._method_diff_review_decide)
266
268
  m.register("diff.apply", self._method_diff_review_apply)
269
+ m.register("diff.generate", self._method_diff_generate)
267
270
 
268
271
  # Session CRUD
269
272
  m.register("session.create", self._method_session_create)
@@ -360,6 +363,22 @@ class GatewaySession:
360
363
  changed = review.apply()
361
364
  return {"files_changed": changed}
362
365
 
366
+ def _method_diff_generate(self, params: dict) -> dict:
367
+ import subprocess
368
+
369
+ cwd = self._workspace or None
370
+ try:
371
+ result = subprocess.run(
372
+ ["git", "diff", "--unified=3"],
373
+ capture_output=True,
374
+ text=True,
375
+ cwd=cwd,
376
+ timeout=10,
377
+ )
378
+ return {"diff": result.stdout.strip()}
379
+ except Exception:
380
+ return {"diff": ""}
381
+
363
382
  # ── session CRUD methods ──────────────────────────────────────────────
364
383
 
365
384
  async def _method_session_create(self, params: dict) -> dict:
@@ -250,6 +250,14 @@ class _InputParserMixin:
250
250
  return
251
251
  # Normalise line endings: \r\n → \n, \r → \n
252
252
  text = text.replace("\r\n", "\n").replace("\r", "\n")
253
+ # Single-line paste (no newlines after normalisation): insert as plain
254
+ # text. This covers IME composition confirmations on macOS, where the
255
+ # terminal wraps the confirmed text in bracketed-paste sequences. Only
256
+ # multiline content is collapsed into a [Pasted text] token.
257
+ if "\n" not in text:
258
+ self._insert_text(text)
259
+ return
260
+
253
261
  # All pasted text collapses to a [Pasted text #N ...] token, regardless
254
262
  # of length. This keeps the input box compact and clearly marks pasted
255
263
  # content as a distinct unit.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: voidx
3
- Version: 3.4.2
3
+ Version: 3.4.3
4
4
  Summary: A coding agent that quantifies everything and solves with tools, not fuzzy prompts.
5
5
  Author: chikhamx
6
6
  License: MIT
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes