meshcode 2.10.86__tar.gz → 2.10.87__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 (200) hide show
  1. {meshcode-2.10.86 → meshcode-2.10.87}/PKG-INFO +1 -1
  2. meshcode-2.10.87/meshcode/__init__.py +82 -0
  3. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode/meshcode_mcp/server.py +86 -0
  4. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode.egg-info/PKG-INFO +1 -1
  5. {meshcode-2.10.86 → meshcode-2.10.87}/pyproject.toml +1 -1
  6. meshcode-2.10.86/meshcode/__init__.py +0 -82
  7. {meshcode-2.10.86 → meshcode-2.10.87}/README.md +0 -0
  8. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode/ascii_art.py +0 -0
  9. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode/cli.py +0 -0
  10. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode/comms_v4.py +0 -0
  11. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode/compat.py +0 -0
  12. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode/error_hints.py +0 -0
  13. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode/exceptions.py +0 -0
  14. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode/invites.py +0 -0
  15. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode/launcher.py +0 -0
  16. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode/launcher_install.py +0 -0
  17. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode/meshcode_mcp/__init__.py +0 -0
  18. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode/meshcode_mcp/__main__.py +0 -0
  19. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode/meshcode_mcp/backend.py +0 -0
  20. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode/meshcode_mcp/realtime.py +0 -0
  21. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode/meshcode_mcp/test_backend.py +0 -0
  22. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode/meshcode_mcp/test_realtime.py +0 -0
  23. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode/meshcode_mcp/test_server_wrapper.py +0 -0
  24. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode/preferences.py +0 -0
  25. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode/protocol_v2.py +0 -0
  26. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode/quickstart.py +0 -0
  27. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode/run_agent.py +0 -0
  28. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode/secrets.py +0 -0
  29. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode/self_update.py +0 -0
  30. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode/setup_clients.py +0 -0
  31. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode/supervisor.py +0 -0
  32. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode/upload.py +0 -0
  33. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-backend-wt/comms_v4.py +0 -0
  34. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-backend-wt/meshcode/__init__.py +0 -0
  35. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-backend-wt/meshcode/ascii_art.py +0 -0
  36. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-backend-wt/meshcode/cli.py +0 -0
  37. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-backend-wt/meshcode/comms_v4.py +0 -0
  38. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-backend-wt/meshcode/compat.py +0 -0
  39. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-backend-wt/meshcode/error_hints.py +0 -0
  40. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-backend-wt/meshcode/exceptions.py +0 -0
  41. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-backend-wt/meshcode/invites.py +0 -0
  42. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-backend-wt/meshcode/launcher.py +0 -0
  43. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-backend-wt/meshcode/launcher_install.py +0 -0
  44. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-backend-wt/meshcode/meshcode_mcp/__init__.py +0 -0
  45. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-backend-wt/meshcode/meshcode_mcp/__main__.py +0 -0
  46. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-backend-wt/meshcode/meshcode_mcp/backend.py +0 -0
  47. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-backend-wt/meshcode/meshcode_mcp/realtime.py +0 -0
  48. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-backend-wt/meshcode/meshcode_mcp/server.py +0 -0
  49. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-backend-wt/meshcode/meshcode_mcp/test_backend.py +0 -0
  50. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-backend-wt/meshcode/meshcode_mcp/test_realtime.py +0 -0
  51. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-backend-wt/meshcode/meshcode_mcp/test_server_wrapper.py +0 -0
  52. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-backend-wt/meshcode/preferences.py +0 -0
  53. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-backend-wt/meshcode/protocol_v2.py +0 -0
  54. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-backend-wt/meshcode/quickstart.py +0 -0
  55. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-backend-wt/meshcode/run_agent.py +0 -0
  56. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-backend-wt/meshcode/secrets.py +0 -0
  57. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-backend-wt/meshcode/self_update.py +0 -0
  58. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-backend-wt/meshcode/setup_clients.py +0 -0
  59. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-backend-wt/meshcode/supervisor.py +0 -0
  60. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-backend-wt/meshcode/upload.py +0 -0
  61. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-backend-wt/scripts/sentinel.py +0 -0
  62. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-backend-wt/tests/test_core.py +0 -0
  63. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-backend-wt/tests/test_cross_agent_messaging.py +0 -0
  64. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-backend-wt/tests/test_esc_deaf_state.py +0 -0
  65. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-backend-wt/tests/test_exceptions.py +0 -0
  66. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-backend-wt/tests/test_mark_read_batch.py +0 -0
  67. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-backend-wt/tests/test_migration_integrity.py +0 -0
  68. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-backend-wt/tests/test_realtime_event_freshness.py +0 -0
  69. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-backend-wt/tests/test_rls_cross_tenant.py +0 -0
  70. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-backend-wt/tests/test_rpc_migrations.py +0 -0
  71. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-backend-wt/tests/test_security_regressions.py +0 -0
  72. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-backend-wt/tests/test_sentinel.py +0 -0
  73. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-backend-wt/tests/test_status_enum_coverage.py +0 -0
  74. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/build/lib/meshcode/__init__.py +0 -0
  75. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/build/lib/meshcode/ascii_art.py +0 -0
  76. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/build/lib/meshcode/cli.py +0 -0
  77. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/build/lib/meshcode/comms_v4.py +0 -0
  78. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/build/lib/meshcode/compat.py +0 -0
  79. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/build/lib/meshcode/error_hints.py +0 -0
  80. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/build/lib/meshcode/exceptions.py +0 -0
  81. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/build/lib/meshcode/invites.py +0 -0
  82. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/build/lib/meshcode/launcher.py +0 -0
  83. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/build/lib/meshcode/launcher_install.py +0 -0
  84. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/__init__.py +0 -0
  85. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/__main__.py +0 -0
  86. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/backend.py +0 -0
  87. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/realtime.py +0 -0
  88. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/server.py +0 -0
  89. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/test_backend.py +0 -0
  90. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/test_realtime.py +0 -0
  91. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/test_server_wrapper.py +0 -0
  92. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/build/lib/meshcode/preferences.py +0 -0
  93. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/build/lib/meshcode/protocol_v2.py +0 -0
  94. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/build/lib/meshcode/quickstart.py +0 -0
  95. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/build/lib/meshcode/run_agent.py +0 -0
  96. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/build/lib/meshcode/secrets.py +0 -0
  97. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/build/lib/meshcode/self_update.py +0 -0
  98. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/build/lib/meshcode/setup_clients.py +0 -0
  99. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/build/lib/meshcode/supervisor.py +0 -0
  100. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/build/lib/meshcode/upload.py +0 -0
  101. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/comms_v4.py +0 -0
  102. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/meshcode/__init__.py +0 -0
  103. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/meshcode/ascii_art.py +0 -0
  104. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/meshcode/cli.py +0 -0
  105. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/meshcode/comms_v4.py +0 -0
  106. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/meshcode/compat.py +0 -0
  107. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/meshcode/error_hints.py +0 -0
  108. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/meshcode/exceptions.py +0 -0
  109. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/meshcode/invites.py +0 -0
  110. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/meshcode/launcher.py +0 -0
  111. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/meshcode/launcher_install.py +0 -0
  112. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/meshcode/meshcode_mcp/__init__.py +0 -0
  113. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/meshcode/meshcode_mcp/__main__.py +0 -0
  114. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/meshcode/meshcode_mcp/backend.py +0 -0
  115. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/meshcode/meshcode_mcp/realtime.py +0 -0
  116. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/meshcode/meshcode_mcp/server.py +0 -0
  117. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/meshcode/meshcode_mcp/test_backend.py +0 -0
  118. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/meshcode/meshcode_mcp/test_realtime.py +0 -0
  119. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/meshcode/meshcode_mcp/test_server_wrapper.py +0 -0
  120. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/meshcode/preferences.py +0 -0
  121. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/meshcode/protocol_v2.py +0 -0
  122. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/meshcode/quickstart.py +0 -0
  123. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/meshcode/run_agent.py +0 -0
  124. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/meshcode/secrets.py +0 -0
  125. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/meshcode/self_update.py +0 -0
  126. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/meshcode/setup_clients.py +0 -0
  127. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/meshcode/supervisor.py +0 -0
  128. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/meshcode/upload.py +0 -0
  129. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/scripts/sentinel.py +0 -0
  130. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/tests/test_core.py +0 -0
  131. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/tests/test_cross_agent_messaging.py +0 -0
  132. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/tests/test_esc_deaf_state.py +0 -0
  133. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/tests/test_exceptions.py +0 -0
  134. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/tests/test_mark_read_batch.py +0 -0
  135. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/tests/test_migration_integrity.py +0 -0
  136. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/tests/test_realtime_event_freshness.py +0 -0
  137. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/tests/test_rls_cross_tenant.py +0 -0
  138. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/tests/test_rpc_migrations.py +0 -0
  139. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/tests/test_security_regressions.py +0 -0
  140. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/tests/test_sentinel.py +0 -0
  141. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-noun-wt/tests/test_status_enum_coverage.py +0 -0
  142. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-tasks-wt/comms_v4.py +0 -0
  143. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-tasks-wt/meshcode/__init__.py +0 -0
  144. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-tasks-wt/meshcode/ascii_art.py +0 -0
  145. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-tasks-wt/meshcode/cli.py +0 -0
  146. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-tasks-wt/meshcode/comms_v4.py +0 -0
  147. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-tasks-wt/meshcode/compat.py +0 -0
  148. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-tasks-wt/meshcode/error_hints.py +0 -0
  149. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-tasks-wt/meshcode/exceptions.py +0 -0
  150. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-tasks-wt/meshcode/invites.py +0 -0
  151. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-tasks-wt/meshcode/launcher.py +0 -0
  152. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-tasks-wt/meshcode/launcher_install.py +0 -0
  153. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-tasks-wt/meshcode/meshcode_mcp/__init__.py +0 -0
  154. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-tasks-wt/meshcode/meshcode_mcp/__main__.py +0 -0
  155. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-tasks-wt/meshcode/meshcode_mcp/backend.py +0 -0
  156. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-tasks-wt/meshcode/meshcode_mcp/realtime.py +0 -0
  157. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-tasks-wt/meshcode/meshcode_mcp/server.py +0 -0
  158. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-tasks-wt/meshcode/meshcode_mcp/test_backend.py +0 -0
  159. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-tasks-wt/meshcode/meshcode_mcp/test_realtime.py +0 -0
  160. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-tasks-wt/meshcode/meshcode_mcp/test_server_wrapper.py +0 -0
  161. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-tasks-wt/meshcode/preferences.py +0 -0
  162. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-tasks-wt/meshcode/protocol_v2.py +0 -0
  163. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-tasks-wt/meshcode/quickstart.py +0 -0
  164. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-tasks-wt/meshcode/run_agent.py +0 -0
  165. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-tasks-wt/meshcode/secrets.py +0 -0
  166. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-tasks-wt/meshcode/self_update.py +0 -0
  167. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-tasks-wt/meshcode/setup_clients.py +0 -0
  168. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-tasks-wt/meshcode/supervisor.py +0 -0
  169. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-tasks-wt/meshcode/upload.py +0 -0
  170. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-tasks-wt/scripts/sentinel.py +0 -0
  171. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-tasks-wt/tests/test_core.py +0 -0
  172. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-tasks-wt/tests/test_cross_agent_messaging.py +0 -0
  173. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-tasks-wt/tests/test_esc_deaf_state.py +0 -0
  174. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-tasks-wt/tests/test_exceptions.py +0 -0
  175. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-tasks-wt/tests/test_mark_read_batch.py +0 -0
  176. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-tasks-wt/tests/test_migration_integrity.py +0 -0
  177. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-tasks-wt/tests/test_realtime_event_freshness.py +0 -0
  178. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-tasks-wt/tests/test_rls_cross_tenant.py +0 -0
  179. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-tasks-wt/tests/test_rpc_migrations.py +0 -0
  180. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-tasks-wt/tests/test_security_regressions.py +0 -0
  181. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-tasks-wt/tests/test_sentinel.py +0 -0
  182. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode-tasks-wt/tests/test_status_enum_coverage.py +0 -0
  183. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode.egg-info/SOURCES.txt +0 -0
  184. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode.egg-info/dependency_links.txt +0 -0
  185. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode.egg-info/entry_points.txt +0 -0
  186. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode.egg-info/requires.txt +0 -0
  187. {meshcode-2.10.86 → meshcode-2.10.87}/meshcode.egg-info/top_level.txt +0 -0
  188. {meshcode-2.10.86 → meshcode-2.10.87}/setup.cfg +0 -0
  189. {meshcode-2.10.86 → meshcode-2.10.87}/tests/test_core.py +0 -0
  190. {meshcode-2.10.86 → meshcode-2.10.87}/tests/test_cross_agent_messaging.py +0 -0
  191. {meshcode-2.10.86 → meshcode-2.10.87}/tests/test_esc_deaf_state.py +0 -0
  192. {meshcode-2.10.86 → meshcode-2.10.87}/tests/test_exceptions.py +0 -0
  193. {meshcode-2.10.86 → meshcode-2.10.87}/tests/test_mark_read_batch.py +0 -0
  194. {meshcode-2.10.86 → meshcode-2.10.87}/tests/test_migration_integrity.py +0 -0
  195. {meshcode-2.10.86 → meshcode-2.10.87}/tests/test_realtime_event_freshness.py +0 -0
  196. {meshcode-2.10.86 → meshcode-2.10.87}/tests/test_rls_cross_tenant.py +0 -0
  197. {meshcode-2.10.86 → meshcode-2.10.87}/tests/test_rpc_migrations.py +0 -0
  198. {meshcode-2.10.86 → meshcode-2.10.87}/tests/test_security_regressions.py +0 -0
  199. {meshcode-2.10.86 → meshcode-2.10.87}/tests/test_sentinel.py +0 -0
  200. {meshcode-2.10.86 → meshcode-2.10.87}/tests/test_status_enum_coverage.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: meshcode
3
- Version: 2.10.86
3
+ Version: 2.10.87
4
4
  Summary: Real-time communication between AI agents — Supabase-backed CLI
5
5
  Author-email: MeshCode <hello@meshcode.io>
6
6
  License: MIT
@@ -0,0 +1,82 @@
1
+ """MeshCode — Real-time communication between AI agents."""
2
+ __version__ = "2.10.87"
3
+
4
+ # Exception hierarchy — eagerly imported (lightweight, no deps)
5
+ from meshcode.exceptions import ( # noqa: F401
6
+ MeshCodeError,
7
+ AuthError,
8
+ RPCError,
9
+ MeshCodeTimeoutError,
10
+ MeshCodeConnectionError,
11
+ )
12
+
13
+ # Public API — lazy imports to avoid heavy deps at import time
14
+ def __getattr__(name):
15
+ if name == "backend":
16
+ from meshcode.meshcode_mcp import backend
17
+ return backend
18
+ if name in _BACKEND_EXPORTS:
19
+ from meshcode.meshcode_mcp import backend
20
+ return getattr(backend, name)
21
+ if name in _SECRETS_EXPORTS:
22
+ from meshcode import secrets
23
+ return getattr(secrets, name)
24
+ raise AttributeError(f"module 'meshcode' has no attribute {name!r}")
25
+
26
+
27
+ # Backend: core messaging & agent management
28
+ _BACKEND_EXPORTS = {
29
+ "send_message",
30
+ "read_inbox",
31
+ "count_pending",
32
+ "get_board",
33
+ "heartbeat",
34
+ "set_status",
35
+ "register_agent",
36
+ "get_project_id",
37
+ "sb_rpc",
38
+ "task_create",
39
+ "task_list",
40
+ "encrypt_payload",
41
+ "decrypt_payload",
42
+ }
43
+
44
+ # Secrets: credential management
45
+ _SECRETS_EXPORTS = {
46
+ "get_api_key",
47
+ "set_api_key",
48
+ "list_profiles",
49
+ }
50
+
51
+ __all__ = [
52
+ "__version__",
53
+ "backend",
54
+ # Exceptions
55
+ "MeshCodeError",
56
+ "AuthError",
57
+ "RPCError",
58
+ "MeshCodeTimeoutError",
59
+ "MeshCodeConnectionError",
60
+ # Messaging
61
+ "send_message",
62
+ "read_inbox",
63
+ "count_pending",
64
+ # Agent management
65
+ "register_agent",
66
+ "get_project_id",
67
+ "get_board",
68
+ "heartbeat",
69
+ "set_status",
70
+ # Tasks
71
+ "task_create",
72
+ "task_list",
73
+ # Low-level
74
+ "sb_rpc",
75
+ # Encryption
76
+ "encrypt_payload",
77
+ "decrypt_payload",
78
+ # Credentials
79
+ "get_api_key",
80
+ "set_api_key",
81
+ "list_profiles",
82
+ ]
@@ -2982,6 +2982,92 @@ def meshcode_propose(
2982
2982
  return resp
2983
2983
 
2984
2984
 
2985
+ @mcp.tool()
2986
+ @with_working_status
2987
+ def meshcode_proposals_review(
2988
+ status_filter: str = "pending",
2989
+ limit: int = 50,
2990
+ ) -> Dict[str, Any]:
2991
+ """List proposals for commander review.
2992
+
2993
+ Args:
2994
+ status_filter: pending | converted | rejected | redraft | all
2995
+ limit: max rows to return.
2996
+
2997
+ Owner / commander only on the server side. Returns a list of
2998
+ {id, agent_name, idea, impact, eta_hours, risk, status,
2999
+ parent_task_id, converted_task_id, commander_review,
3000
+ created_at, reviewed_at}.
3001
+ """
3002
+ api_key = _get_api_key()
3003
+ return be.sb_rpc("mc_proposals_review", {
3004
+ "p_api_key": api_key,
3005
+ "p_project_id": _PROJECT_ID,
3006
+ "p_status": None if status_filter == "all" else status_filter,
3007
+ "p_limit": limit,
3008
+ })
3009
+
3010
+
3011
+ @mcp.tool()
3012
+ @with_working_status
3013
+ def meshcode_proposal_convert(
3014
+ proposal_id: str,
3015
+ assignee: str,
3016
+ priority: str = "normal",
3017
+ ) -> Dict[str, Any]:
3018
+ """Convert a pending proposal into an mc_task assigned to `assignee`.
3019
+
3020
+ Args:
3021
+ proposal_id: UUID of the proposal.
3022
+ assignee: agent name to claim on creation (or '*' for any).
3023
+ priority: low | normal | high | urgent.
3024
+ """
3025
+ api_key = _get_api_key()
3026
+ return be.sb_rpc("mc_proposal_convert", {
3027
+ "p_api_key": api_key,
3028
+ "p_project_id": _PROJECT_ID,
3029
+ "p_proposal_id": proposal_id,
3030
+ "p_assignee": assignee,
3031
+ "p_priority": priority,
3032
+ })
3033
+
3034
+
3035
+ @mcp.tool()
3036
+ @with_working_status
3037
+ def meshcode_proposal_reject(
3038
+ proposal_id: str,
3039
+ reason: str,
3040
+ ) -> Dict[str, Any]:
3041
+ """Reject a proposal with a reason. The reason becomes commander_review."""
3042
+ api_key = _get_api_key()
3043
+ return be.sb_rpc("mc_proposal_reject", {
3044
+ "p_api_key": api_key,
3045
+ "p_project_id": _PROJECT_ID,
3046
+ "p_proposal_id": proposal_id,
3047
+ "p_reason": reason,
3048
+ })
3049
+
3050
+
3051
+ @mcp.tool()
3052
+ @with_working_status
3053
+ def meshcode_proposal_link(
3054
+ proposal_id: str,
3055
+ task_id: str,
3056
+ ) -> Dict[str, Any]:
3057
+ """Mark a pending proposal as converted to an already-existing task.
3058
+
3059
+ Used when the commander files the task manually before linking, so a
3060
+ subsequent meshcode_proposal_convert wouldn't double-create.
3061
+ """
3062
+ api_key = _get_api_key()
3063
+ return be.sb_rpc("mc_proposal_link", {
3064
+ "p_api_key": api_key,
3065
+ "p_project_id": _PROJECT_ID,
3066
+ "p_proposal_id": proposal_id,
3067
+ "p_task_id": task_id,
3068
+ })
3069
+
3070
+
2985
3071
  @mcp.tool()
2986
3072
  @with_working_status
2987
3073
  def meshcode_task_approve(task_id: str) -> Dict[str, Any]:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: meshcode
3
- Version: 2.10.86
3
+ Version: 2.10.87
4
4
  Summary: Real-time communication between AI agents — Supabase-backed CLI
5
5
  Author-email: MeshCode <hello@meshcode.io>
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "meshcode"
7
- version = "2.10.86"
7
+ version = "2.10.87"
8
8
  description = "Real-time communication between AI agents — Supabase-backed CLI"
9
9
  readme = "README.md"
10
10
  license = {text = "MIT"}
@@ -1,82 +0,0 @@
1
- """MeshCode — Real-time communication between AI agents."""
2
- __version__ = "2.10.86"
3
-
4
- # Exception hierarchy — eagerly imported (lightweight, no deps)
5
- from meshcode.exceptions import ( # noqa: F401
6
- MeshCodeError,
7
- AuthError,
8
- RPCError,
9
- MeshCodeTimeoutError,
10
- MeshCodeConnectionError,
11
- )
12
-
13
- # Public API — lazy imports to avoid heavy deps at import time
14
- def __getattr__(name):
15
- if name == "backend":
16
- from meshcode.meshcode_mcp import backend
17
- return backend
18
- if name in _BACKEND_EXPORTS:
19
- from meshcode.meshcode_mcp import backend
20
- return getattr(backend, name)
21
- if name in _SECRETS_EXPORTS:
22
- from meshcode import secrets
23
- return getattr(secrets, name)
24
- raise AttributeError(f"module 'meshcode' has no attribute {name!r}")
25
-
26
-
27
- # Backend: core messaging & agent management
28
- _BACKEND_EXPORTS = {
29
- "send_message",
30
- "read_inbox",
31
- "count_pending",
32
- "get_board",
33
- "heartbeat",
34
- "set_status",
35
- "register_agent",
36
- "get_project_id",
37
- "sb_rpc",
38
- "task_create",
39
- "task_list",
40
- "encrypt_payload",
41
- "decrypt_payload",
42
- }
43
-
44
- # Secrets: credential management
45
- _SECRETS_EXPORTS = {
46
- "get_api_key",
47
- "set_api_key",
48
- "list_profiles",
49
- }
50
-
51
- __all__ = [
52
- "__version__",
53
- "backend",
54
- # Exceptions
55
- "MeshCodeError",
56
- "AuthError",
57
- "RPCError",
58
- "MeshCodeTimeoutError",
59
- "MeshCodeConnectionError",
60
- # Messaging
61
- "send_message",
62
- "read_inbox",
63
- "count_pending",
64
- # Agent management
65
- "register_agent",
66
- "get_project_id",
67
- "get_board",
68
- "heartbeat",
69
- "set_status",
70
- # Tasks
71
- "task_create",
72
- "task_list",
73
- # Low-level
74
- "sb_rpc",
75
- # Encryption
76
- "encrypt_payload",
77
- "decrypt_payload",
78
- # Credentials
79
- "get_api_key",
80
- "set_api_key",
81
- "list_profiles",
82
- ]
File without changes
File without changes
File without changes