multi-agent-platform 0.3.1__tar.gz → 0.3.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 (323) hide show
  1. {multi_agent_platform-0.3.1/multi_agent_platform.egg-info → multi_agent_platform-0.3.2}/PKG-INFO +27 -17
  2. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/README.md +14 -7
  3. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/commands/experiment.py +9 -7
  4. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/commands/feedback.py +2 -2
  5. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/commands/notification.py +1 -1
  6. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/commands/project.py +2 -3
  7. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/commands/sync.py +3 -4
  8. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/commands/topic.py +7 -5
  9. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/main.py +2 -2
  10. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/skills/map-project-collab/references/bootstrap-troubleshooting.md +10 -8
  11. multi_agent_platform-0.3.2/cli/skills/map-project-collab/scripts/map-bootstrap.sh +7 -0
  12. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2/multi_agent_platform.egg-info}/PKG-INFO +27 -17
  13. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/multi_agent_platform.egg-info/SOURCES.txt +3 -0
  14. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/multi_agent_platform.egg-info/requires.txt +13 -9
  15. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/multi_agent_platform.egg-info/top_level.txt +1 -0
  16. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/pyproject.toml +19 -13
  17. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/sdk/python/map_client/bootstrap.py +148 -2
  18. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/sdk/python/map_types/__init__.py +3 -0
  19. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/sdk/python/map_types/schemas.py +29 -0
  20. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/__version__.py +1 -1
  21. multi_agent_platform-0.3.2/server/api/bootstrap.py +55 -0
  22. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/api/router.py +2 -0
  23. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/main.py +2 -0
  24. multi_agent_platform-0.3.2/server/services/bootstrap_service.py +129 -0
  25. multi_agent_platform-0.3.2/tests/test_bootstrap.py +152 -0
  26. multi_agent_platform-0.3.1/cli/skills/map-project-collab/scripts/map-bootstrap.sh +0 -6
  27. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/LICENSE +0 -0
  28. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/__init__.py +0 -0
  29. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/action_item_escalation.py +0 -0
  30. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/agent_client.py +0 -0
  31. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/bridge_state.py +0 -0
  32. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/commands/__init__.py +0 -0
  33. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/commands/action.py +0 -0
  34. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/commands/agent.py +0 -0
  35. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/commands/audit.py +0 -0
  36. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/commands/docs.py +0 -0
  37. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/commands/host.py +0 -0
  38. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/commands/persona.py +0 -0
  39. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/commands/runtime.py +0 -0
  40. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/commands/skill.py +0 -0
  41. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/e2e_collab.py +0 -0
  42. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/git_checkpoint.py +0 -0
  43. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/host_worker_types.py +0 -0
  44. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/local_cache.py +0 -0
  45. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/map_command_client.py +0 -0
  46. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/orchestrator.py +0 -0
  47. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/participant_worker.py +0 -0
  48. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/project_export.py +0 -0
  49. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/reviewer_worker.py +0 -0
  50. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/runtime/__init__.py +0 -0
  51. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/runtime/run_lock.py +0 -0
  52. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/runtime_chat.py +0 -0
  53. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/session_wake_log.py +0 -0
  54. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/simple_waker.py +0 -0
  55. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/skills/__init__.py +0 -0
  56. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/skills/experiment-host/SKILL.md +0 -0
  57. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/skills/experiment-host/references/lifecycle-transitions.md +0 -0
  58. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/skills/experiment-reviewer/SKILL.md +0 -0
  59. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/skills/experiment-reviewer/references/review-format-guide.md +0 -0
  60. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/skills/map-project-collab/SKILL.md +0 -0
  61. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/skills/map-project-collab/agents/openai.yaml +0 -0
  62. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/skills/map-project-collab/references/waker-mode.md +0 -0
  63. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/skills/topic-host/SKILL.md +0 -0
  64. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/skills/topic-host/references/experiment-gate-rubric.md +0 -0
  65. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/skills/topic-participant/SKILL.md +0 -0
  66. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/table_render.py +0 -0
  67. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/wake_backend.py +0 -0
  68. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/cli/worker_cycle_log.py +0 -0
  69. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/multi_agent_platform.egg-info/dependency_links.txt +0 -0
  70. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/multi_agent_platform.egg-info/entry_points.txt +0 -0
  71. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/sdk/python/map_client/__init__.py +0 -0
  72. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/sdk/python/map_client/client.py +0 -0
  73. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/sdk/python/map_client/config.py +0 -0
  74. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/sdk/python/map_client/errors.py +0 -0
  75. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/sdk/python/map_client/exceptions.py +0 -0
  76. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/sdk/python/map_client/plan_evidence.py +0 -0
  77. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/sdk/python/map_client/project_config.py +0 -0
  78. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/sdk/python/map_client/result_template.py +0 -0
  79. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/sdk/python/map_client/testing.py +0 -0
  80. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/sdk/python/map_mcp/__init__.py +0 -0
  81. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/sdk/python/map_mcp/_utils.py +0 -0
  82. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/sdk/python/map_mcp/auth.py +0 -0
  83. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/sdk/python/map_mcp/config.py +0 -0
  84. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/sdk/python/map_mcp/context.py +0 -0
  85. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/sdk/python/map_mcp/main.py +0 -0
  86. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/sdk/python/map_mcp/server.py +0 -0
  87. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/sdk/python/map_mcp/session.py +0 -0
  88. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/sdk/python/map_sdk/__init__.py +0 -0
  89. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/sdk/python/map_sdk/evidence.py +0 -0
  90. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/sdk/python/map_types/enums.py +0 -0
  91. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/__init__.py +0 -0
  92. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/api/__init__.py +0 -0
  93. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/api/action_items.py +0 -0
  94. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/api/agents.py +0 -0
  95. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/api/audit.py +0 -0
  96. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/api/background_tasks.py +0 -0
  97. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/api/common.py +0 -0
  98. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/api/deps.py +0 -0
  99. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/api/experiments.py +0 -0
  100. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/api/feedback.py +0 -0
  101. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/api/notifications.py +0 -0
  102. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/api/projects.py +0 -0
  103. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/api/status.py +0 -0
  104. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/api/topics.py +0 -0
  105. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/api/webhooks.py +0 -0
  106. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/auth/__init__.py +0 -0
  107. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/auth/experiment_access.py +0 -0
  108. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/config.py +0 -0
  109. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/db/__init__.py +0 -0
  110. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/db/base.py +0 -0
  111. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/db/deadlock_retry.py +0 -0
  112. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/db/session.py +0 -0
  113. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/domain/__init__.py +0 -0
  114. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/domain/encrypted_types.py +0 -0
  115. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/domain/models.py +0 -0
  116. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/domain/schemas.py +0 -0
  117. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/domain/state_machine.py +0 -0
  118. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/domain/topic_ack_constants.py +0 -0
  119. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/scripts/__init__.py +0 -0
  120. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/scripts/migrate_notification_unique.py +0 -0
  121. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/scripts/purge_audit_pollution.py +0 -0
  122. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/__init__.py +0 -0
  123. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/_lookups.py +0 -0
  124. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/acceptance_service.py +0 -0
  125. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/action_item_migration_service.py +0 -0
  126. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/action_item_service.py +0 -0
  127. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/agent_work_service.py +0 -0
  128. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/archive_lint_service.py +0 -0
  129. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/audit_service.py +0 -0
  130. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/auth.py +0 -0
  131. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/comment_service.py +0 -0
  132. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/errors.py +0 -0
  133. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/escalation_resolver.py +0 -0
  134. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/evidence_service.py +0 -0
  135. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/experiment_capabilities_service.py +0 -0
  136. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/inbound_event_service.py +0 -0
  137. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/lock_service.py +0 -0
  138. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/log_service.py +0 -0
  139. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/mention_service.py +0 -0
  140. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/notification_service.py +0 -0
  141. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/notification_stream.py +0 -0
  142. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/permissions.py +0 -0
  143. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/persona_activity_service.py +0 -0
  144. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/phase_owner_resolver.py +0 -0
  145. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/phase_service.py +0 -0
  146. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/plan_marker_service.py +0 -0
  147. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/plan_service.py +0 -0
  148. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/platform_feedback_service.py +0 -0
  149. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/project_service.py +0 -0
  150. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/project_status_service.py +0 -0
  151. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/review_service.py +0 -0
  152. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/secret_encryption.py +0 -0
  153. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/similarity_service.py +0 -0
  154. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/sse_event_schemas.py +0 -0
  155. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/status_service.py +0 -0
  156. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/template_service.py +0 -0
  157. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/text_utils.py +0 -0
  158. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/thread_activity.py +0 -0
  159. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/todo_persona_filter.py +0 -0
  160. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/todo_service.py +0 -0
  161. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/topic_ack_service.py +0 -0
  162. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/topic_action_item_ops.py +0 -0
  163. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/topic_comment_kind.py +0 -0
  164. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/topic_comment_service.py +0 -0
  165. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/topic_helpers.py +0 -0
  166. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/topic_lifecycle_service.py +0 -0
  167. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/topic_progress_service.py +0 -0
  168. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/topic_resolve_service.py +0 -0
  169. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/topic_service.py +0 -0
  170. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/topic_work_item_service.py +0 -0
  171. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/server/services/webhook_service.py +0 -0
  172. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/setup.cfg +0 -0
  173. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_18a64691_linkage.py +0 -0
  174. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_a2_action_item_cascade.py +0 -0
  175. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_accept_result_verdict.py +0 -0
  176. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_action_items.py +0 -0
  177. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_agent_client.py +0 -0
  178. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_agent_work.py +0 -0
  179. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_agents_list.py +0 -0
  180. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_arch_map_sdk_evidence.py +0 -0
  181. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_archive_lint_service.py +0 -0
  182. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_audit_admin_cli.py +0 -0
  183. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_audit_admin_filter.py +0 -0
  184. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_auth.py +0 -0
  185. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_auth_experiment_access.py +0 -0
  186. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_authz_cross_persona_capability.py +0 -0
  187. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_authz_pr3_creator_gating_extended.py +0 -0
  188. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_b_acceptance.py +0 -0
  189. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_b_action_item_stale.py +0 -0
  190. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_b_action_item_wake_endpoints.py +0 -0
  191. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_b_action_item_wake_stale.py +0 -0
  192. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_b_action_item_wake_stale_notifications.py +0 -0
  193. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_b_waker_should_wake_action_item.py +0 -0
  194. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_bridge_state.py +0 -0
  195. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_cleanup_audit_log_no_commit.py +0 -0
  196. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_cleanup_exp_b_paging_seven_endpoints.py +0 -0
  197. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_cleanup_exp_b_paging_unified_limit.py +0 -0
  198. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_clear_action_template.py +0 -0
  199. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_cli.py +0 -0
  200. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_cli_error_envelope.py +0 -0
  201. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_cli_evidence_contract.py +0 -0
  202. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_cli_format_priority.py +0 -0
  203. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_cli_n2_hard_cutover.py +0 -0
  204. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_cli_schema_discovery.py +0 -0
  205. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_cli_status.py +0 -0
  206. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_cli_template_contract.py +0 -0
  207. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_cli_work_deprecation.py +0 -0
  208. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_cross_persona_call_audit.py +0 -0
  209. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_deadlock_retry.py +0 -0
  210. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_docs_inventory.py +0 -0
  211. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_eng_fast_gate_whitelist_complete.py +0 -0
  212. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_eng_mypy_strict_agent_work_service.py +0 -0
  213. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_eng_mypy_strict_agents.py +0 -0
  214. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_eng_mypy_strict_experiment_capabilities_service.py +0 -0
  215. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_eng_mypy_strict_experiments_projects.py +0 -0
  216. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_eng_mypy_strict_mention_service.py +0 -0
  217. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_eng_mypy_strict_notification_service.py +0 -0
  218. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_eng_mypy_strict_phase_service.py +0 -0
  219. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_eng_mypy_strict_project_service.py +0 -0
  220. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_eng_mypy_strict_todo_service.py +0 -0
  221. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_eng_mypy_strict_topic_comment_service.py +0 -0
  222. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_eng_mypy_strict_topic_service.py +0 -0
  223. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_eng_mypy_strict_topic_work_item_service.py +0 -0
  224. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_eng_mypy_strict_topics.py +0 -0
  225. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_eng_typing_extensions_clean.py +0 -0
  226. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_eng_uv_lock.py +0 -0
  227. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_eng_version_single_source.py +0 -0
  228. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_error_codes_cli.py +0 -0
  229. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_error_envelope_and_file_options.py +0 -0
  230. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_escalation_resolver.py +0 -0
  231. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_escalation_target_endpoint.py +0 -0
  232. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_evidence_service.py +0 -0
  233. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_experiment_capabilities.py +0 -0
  234. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_experiment_capabilities_whitelist.py +0 -0
  235. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_experiment_executor.py +0 -0
  236. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_experiment_lock_fuzz.py +0 -0
  237. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_experiment_lock_notifications.py +0 -0
  238. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_experiment_lock_unit.py +0 -0
  239. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_experiments.py +0 -0
  240. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_feedback.py +0 -0
  241. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_feedback_admin_cli.py +0 -0
  242. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_field_rename_alias.py +0 -0
  243. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_git_checkpoint.py +0 -0
  244. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_inbound_event_rejection.py +0 -0
  245. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_local_cache.py +0 -0
  246. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_log_create_response.py +0 -0
  247. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_m2_flow.py +0 -0
  248. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_m3_flow.py +0 -0
  249. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_map_sdk_skeleton.py +0 -0
  250. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_mcp.py +0 -0
  251. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_mcp_http.py +0 -0
  252. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_mention_code_skip_unit.py +0 -0
  253. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_mentions.py +0 -0
  254. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_notification_bulk_filter.py +0 -0
  255. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_notification_service_v09.py +0 -0
  256. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_notification_stream.py +0 -0
  257. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_notification_upsert_pr2.py +0 -0
  258. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_notifications.py +0 -0
  259. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_orchestrator.py +0 -0
  260. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_participant_worker_claude_agent.py +0 -0
  261. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_perf_count_sql_fixture.py +0 -0
  262. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_perf_experiment_bundle_verdict_n_plus_one.py +0 -0
  263. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_perf_experiment_summary_bulk.py +0 -0
  264. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_perf_topic_comments_bulk.py +0 -0
  265. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_perf_work_hotpath_bulk.py +0 -0
  266. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_persona_activity.py +0 -0
  267. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_persona_compare_partition.py +0 -0
  268. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_phase_owner_orm_validation.py +0 -0
  269. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_phase_owner_resolver.py +0 -0
  270. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_plan_evidence_parser.py +0 -0
  271. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_plan_marker_service.py +0 -0
  272. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_plan_revise_auto_archive.py +0 -0
  273. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_plan_validate_cli.py +0 -0
  274. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_project_config.py +0 -0
  275. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_project_export.py +0 -0
  276. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_project_status.py +0 -0
  277. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_projects.py +0 -0
  278. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_rebutted_plan_continues_e2e.py +0 -0
  279. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_register_agent_body_model.py +0 -0
  280. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_reject_result_misuse.py +0 -0
  281. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_resolve_item_sdk_contract.py +0 -0
  282. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_resolve_item_status.py +0 -0
  283. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_result_template_parser.py +0 -0
  284. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_review_already_archived.py +0 -0
  285. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_review_archived_metadata.py +0 -0
  286. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_review_eligibility.py +0 -0
  287. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_review_item_mutation_audit.py +0 -0
  288. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_review_item_state_closed_migration.py +0 -0
  289. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_review_list_archived_filter.py +0 -0
  290. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_review_substitute_and_withdraw.py +0 -0
  291. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_review_verdict_alias.py +0 -0
  292. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_reviewer_worker_claude_agent.py +0 -0
  293. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_runtime_chat.py +0 -0
  294. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_same_second_host_reply.py +0 -0
  295. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_same_second_trio.py +0 -0
  296. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_sdk.py +0 -0
  297. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_sdk_exceptions.py +0 -0
  298. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_server_lock_service.py +0 -0
  299. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_session_wake_log.py +0 -0
  300. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_similarity_api_contract.py +0 -0
  301. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_similarity_service.py +0 -0
  302. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_simple_waker.py +0 -0
  303. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_simple_waker_pr3_dedup.py +0 -0
  304. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_simple_waker_reviewer_filter.py +0 -0
  305. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_skill_install.py +0 -0
  306. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_sse_acceptance.py +0 -0
  307. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_sse_isolation.py +0 -0
  308. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_sse_schema_overlap.py +0 -0
  309. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_state_machine.py +0 -0
  310. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_state_machine_recovery_hint.py +0 -0
  311. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_systemd_install.py +0 -0
  312. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_template_api_contract.py +0 -0
  313. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_template_service.py +0 -0
  314. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_todos.py +0 -0
  315. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_topic_notifications.py +0 -0
  316. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_topic_progress.py +0 -0
  317. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_topic_read_cursor.py +0 -0
  318. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_topic_work_items.py +0 -0
  319. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_topics.py +0 -0
  320. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_waker_phase1_acceptance.py +0 -0
  321. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_webhook_secret_encryption.py +0 -0
  322. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_webhooks_audit.py +0 -0
  323. {multi_agent_platform-0.3.1 → multi_agent_platform-0.3.2}/tests/test_work_summary.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: multi-agent-platform
3
- Version: 0.3.1
3
+ Version: 0.3.2
4
4
  Summary: Multi-Agent experiment collaboration platform
5
5
  License-Expression: MIT
6
6
  Project-URL: Homepage, https://github.com/quantaeye/multi-agent-platform
@@ -17,19 +17,21 @@ Classifier: Operating System :: OS Independent
17
17
  Requires-Python: >=3.10
18
18
  Description-Content-Type: text/markdown
19
19
  License-File: LICENSE
20
- Requires-Dist: fastapi<0.116,>=0.115.0
21
- Requires-Dist: uvicorn[standard]<0.41,>=0.32.0
22
- Requires-Dist: sqlalchemy<2.1,>=2.0.36
23
- Requires-Dist: alembic<2.0,>=1.14.0
24
- Requires-Dist: pydantic<2.12,>=2.10.0
25
- Requires-Dist: pydantic-settings<2.9,>=2.6.0
26
- Requires-Dist: bcrypt<6.0,>=4.2.0
27
- Requires-Dist: python-multipart<0.1,>=0.0.17
28
20
  Requires-Dist: typer<0.17,>=0.15.0
29
21
  Requires-Dist: httpx<0.29,>=0.28.0
30
22
  Requires-Dist: pyyaml<7.0,>=6.0
31
- Requires-Dist: cryptography<50.0,>=44.0.0
23
+ Requires-Dist: pydantic<2.12,>=2.10.0
24
+ Provides-Extra: server
25
+ Requires-Dist: fastapi<0.116,>=0.115.0; extra == "server"
26
+ Requires-Dist: uvicorn[standard]<0.41,>=0.32.0; extra == "server"
27
+ Requires-Dist: sqlalchemy<2.1,>=2.0.36; extra == "server"
28
+ Requires-Dist: alembic<2.0,>=1.14.0; extra == "server"
29
+ Requires-Dist: pydantic-settings<2.9,>=2.6.0; extra == "server"
30
+ Requires-Dist: bcrypt<6.0,>=4.2.0; extra == "server"
31
+ Requires-Dist: python-multipart<0.1,>=0.0.17; extra == "server"
32
+ Requires-Dist: cryptography<50.0,>=44.0.0; extra == "server"
32
33
  Provides-Extra: dev
34
+ Requires-Dist: multi-agent-platform[server]; extra == "dev"
33
35
  Requires-Dist: pytest<9.0,>=8.3.0; extra == "dev"
34
36
  Requires-Dist: pytest-asyncio<1.0,>=0.24.0; extra == "dev"
35
37
  Requires-Dist: pytest-cov<7.0,>=5.0.0; extra == "dev"
@@ -38,6 +40,7 @@ Requires-Dist: mcp<2.0,>=1.26.0; extra == "dev"
38
40
  Requires-Dist: ruff<1.0,>=0.8.0; extra == "dev"
39
41
  Requires-Dist: pydantic-to-typescript<3.0,>=2.0.0; extra == "dev"
40
42
  Provides-Extra: mcp
43
+ Requires-Dist: multi-agent-platform[server]; extra == "mcp"
41
44
  Requires-Dist: mcp<2.0,>=1.26.0; extra == "mcp"
42
45
  Provides-Extra: codex-runtime
43
46
  Provides-Extra: claude-runtime
@@ -47,18 +50,24 @@ Dynamic: license-file
47
50
  # Multi-Agent Platform (MAP)
48
51
 
49
52
  [![PyPI version](https://img.shields.io/pypi/v/multi-agent-platform.svg)](https://pypi.org/project/multi-agent-platform/)
50
- [![Python 3.11+](https://img.shields.io/pypi/pyversions/multi-agent-platform.svg)](https://pypi.org/project/multi-agent-platform/)
53
+ [![Python 3.10+](https://img.shields.io/pypi/pyversions/multi-agent-platform.svg)](https://pypi.org/project/multi-agent-platform/)
51
54
  [![License: MIT](https://img.shields.io/pypi/l/multi-agent-platform.svg)](https://github.com/quantaeye/multi-agent-platform/blob/main/LICENSE)
52
55
 
53
56
  多 Agent 实验协作平台:以话题为中心,管理实验计划、评审讨论、执行日志与项目状态。
54
57
 
55
58
  ## 安装
56
59
 
60
+ 两种安装方式,按需选择:
61
+
57
62
  ```bash
63
+ # 1. 仅安装 CLI(连接远程 MAP server 时使用,轻量)
58
64
  pip install multi-agent-platform
65
+
66
+ # 2. 安装 CLI + Server 依赖(需要本地运行 MAP server 时使用)
67
+ pip install multi-agent-platform-server
59
68
  ```
60
69
 
61
- 安装后即可使用 `map` CLI 和 `map-server` 命令。详见 [Quick Start 指南](docs/QUICKSTART.md)。
70
+ 安装后即可使用 `map` CLI;安装 server 包后还可使用 `map-server` 命令。详见 [Quick Start 指南](docs/QUICKSTART.md)。
62
71
 
63
72
  **新用户?** 一键启动:`./scripts/quickstart.sh`,或阅读 [Quick Start 指南](docs/QUICKSTART.md)。
64
73
 
@@ -124,7 +133,6 @@ map skill install # 将 5 个 Skill 文件安装到 .cursor/skills/
124
133
  MAP API 运行后,在本仓库根目录执行一次 bootstrap(生成 `.map/config.yaml` 与 persona token,详见 [AGENTS.md](AGENTS.md)):
125
134
 
126
135
  ```bash
127
- export MAP_ADMIN_TOKEN=<admin-token> # 或 ~/.map/admin.yaml
128
136
  map bootstrap \
129
137
  --key multi-agent-platform \
130
138
  --name "Multi Agents Platform" \
@@ -134,18 +142,21 @@ map --persona host persona whoami
134
142
  map --persona host todos
135
143
  ```
136
144
 
137
- 与 `docker compose up` 并列:先起服务,再 bootstrap,再用 `--persona` 协作。
145
+ 与 `docker compose up` 并列:先起服务,再 bootstrap,再用 `--persona` 协作。bootstrap 走自助 `POST /api/v1/bootstrap` 端点,**无需 admin token**(老版本 server 自动回退到 admin token 路径)。
138
146
 
139
147
  ## 快速开始
140
148
 
141
149
  ```bash
142
- # 从 PyPI 安装(用户)
150
+ # 从 PyPI 安装(仅 CLI,连接远程 server)
143
151
  pip install multi-agent-platform
144
152
 
153
+ # 或安装 CLI + Server(本地运行 server)
154
+ pip install multi-agent-platform-server
155
+
145
156
  # 或从源码开发安装(贡献者)
146
157
  pip install -e ".[dev]"
147
158
 
148
- # 运行数据库迁移
159
+ # 运行数据库迁移(需要 server 依赖)
149
160
  alembic upgrade head
150
161
 
151
162
  # 启动 API 服务
@@ -225,7 +236,6 @@ cd web && npm install && npm run dev # http://localhost:5173
225
236
  不依赖 Cursor MCP。每个代码仓库:
226
237
 
227
238
  ```bash
228
- export MAP_ADMIN_TOKEN=<admin-token> # 或 ~/.map/admin.yaml
229
239
  map bootstrap --key my-app --name "My App" --api-url http://localhost:8001
230
240
  map --persona host status # 查看 open_topics
231
241
  ```
@@ -1,18 +1,24 @@
1
1
  # Multi-Agent Platform (MAP)
2
2
 
3
3
  [![PyPI version](https://img.shields.io/pypi/v/multi-agent-platform.svg)](https://pypi.org/project/multi-agent-platform/)
4
- [![Python 3.11+](https://img.shields.io/pypi/pyversions/multi-agent-platform.svg)](https://pypi.org/project/multi-agent-platform/)
4
+ [![Python 3.10+](https://img.shields.io/pypi/pyversions/multi-agent-platform.svg)](https://pypi.org/project/multi-agent-platform/)
5
5
  [![License: MIT](https://img.shields.io/pypi/l/multi-agent-platform.svg)](https://github.com/quantaeye/multi-agent-platform/blob/main/LICENSE)
6
6
 
7
7
  多 Agent 实验协作平台:以话题为中心,管理实验计划、评审讨论、执行日志与项目状态。
8
8
 
9
9
  ## 安装
10
10
 
11
+ 两种安装方式,按需选择:
12
+
11
13
  ```bash
14
+ # 1. 仅安装 CLI(连接远程 MAP server 时使用,轻量)
12
15
  pip install multi-agent-platform
16
+
17
+ # 2. 安装 CLI + Server 依赖(需要本地运行 MAP server 时使用)
18
+ pip install multi-agent-platform-server
13
19
  ```
14
20
 
15
- 安装后即可使用 `map` CLI 和 `map-server` 命令。详见 [Quick Start 指南](docs/QUICKSTART.md)。
21
+ 安装后即可使用 `map` CLI;安装 server 包后还可使用 `map-server` 命令。详见 [Quick Start 指南](docs/QUICKSTART.md)。
16
22
 
17
23
  **新用户?** 一键启动:`./scripts/quickstart.sh`,或阅读 [Quick Start 指南](docs/QUICKSTART.md)。
18
24
 
@@ -78,7 +84,6 @@ map skill install # 将 5 个 Skill 文件安装到 .cursor/skills/
78
84
  MAP API 运行后,在本仓库根目录执行一次 bootstrap(生成 `.map/config.yaml` 与 persona token,详见 [AGENTS.md](AGENTS.md)):
79
85
 
80
86
  ```bash
81
- export MAP_ADMIN_TOKEN=<admin-token> # 或 ~/.map/admin.yaml
82
87
  map bootstrap \
83
88
  --key multi-agent-platform \
84
89
  --name "Multi Agents Platform" \
@@ -88,18 +93,21 @@ map --persona host persona whoami
88
93
  map --persona host todos
89
94
  ```
90
95
 
91
- 与 `docker compose up` 并列:先起服务,再 bootstrap,再用 `--persona` 协作。
96
+ 与 `docker compose up` 并列:先起服务,再 bootstrap,再用 `--persona` 协作。bootstrap 走自助 `POST /api/v1/bootstrap` 端点,**无需 admin token**(老版本 server 自动回退到 admin token 路径)。
92
97
 
93
98
  ## 快速开始
94
99
 
95
100
  ```bash
96
- # 从 PyPI 安装(用户)
101
+ # 从 PyPI 安装(仅 CLI,连接远程 server)
97
102
  pip install multi-agent-platform
98
103
 
104
+ # 或安装 CLI + Server(本地运行 server)
105
+ pip install multi-agent-platform-server
106
+
99
107
  # 或从源码开发安装(贡献者)
100
108
  pip install -e ".[dev]"
101
109
 
102
- # 运行数据库迁移
110
+ # 运行数据库迁移(需要 server 依赖)
103
111
  alembic upgrade head
104
112
 
105
113
  # 启动 API 服务
@@ -179,7 +187,6 @@ cd web && npm install && npm run dev # http://localhost:5173
179
187
  不依赖 Cursor MCP。每个代码仓库:
180
188
 
181
189
  ```bash
182
- export MAP_ADMIN_TOKEN=<admin-token> # 或 ~/.map/admin.yaml
183
190
  map bootstrap --key my-app --name "My App" --api-url http://localhost:8001
184
191
  map --persona host status # 查看 open_topics
185
192
  ```
@@ -18,9 +18,7 @@ from map_sdk.evidence import (
18
18
  EVIDENCE_METADATA_KEYS,
19
19
  metadata_has_completion_evidence,
20
20
  )
21
-
22
- from cli.table_render import enum_value, format_datetime, render_table, short_uuid, truncate
23
- from server.domain.schemas import (
21
+ from map_types.schemas import (
24
22
  ExperimentComplete,
25
23
  ExperimentCreate,
26
24
  ExperimentLogCreate,
@@ -30,6 +28,8 @@ from server.domain.schemas import (
30
28
  ReviewCreate,
31
29
  )
32
30
 
31
+ from cli.table_render import enum_value, format_datetime, render_table, short_uuid, truncate
32
+
33
33
  experiment_app = typer.Typer(help="Experiment commands", rich_markup_mode=None)
34
34
  lock_app = typer.Typer(help="Experiment execution lock commands (per-project).")
35
35
  review_app = typer.Typer(help="Review commands")
@@ -128,8 +128,9 @@ def experiment_list(
128
128
  Defaults to a compact table view. Use ``--format yaml`` or
129
129
  ``--format json`` for full structured output (scripts / piping).
130
130
  """
131
+ from map_types.enums import ExperimentPhase
132
+
131
133
  from cli.main import _resolve_project, _run # lazy: avoid cycle
132
- from server.domain.models import ExperimentPhase
133
134
 
134
135
  def action(c: MAPClient):
135
136
  pid = _resolve_project(c, project, project_key)
@@ -544,7 +545,7 @@ def experiment_archive(
544
545
  """
545
546
  from cli.main import _require_option_uuid, _run # lazy: avoid cycle
546
547
  experiment_id = _require_option_uuid(experiment_id)
547
- from server.domain.schemas import ExperimentUpdate
548
+ from map_types.schemas import ExperimentUpdate
548
549
 
549
550
  payload = ExperimentUpdate(archived=not (undo or unarchive))
550
551
  object_kind = "experiment"
@@ -760,9 +761,10 @@ def experiment_comment(
760
761
  body_file: Path | None = typer.Option(None, "--file", help="Read body from a file (avoids shell-quoting issues)."),
761
762
  parent: uuid.UUID | None = typer.Option(None, "--parent"),
762
763
  ) -> None:
764
+ from map_types.enums import CommentAnchorType
765
+ from map_types.schemas import CommentCreate
766
+
763
767
  from cli.main import _read_text_file, _run # lazy: avoid cycle
764
- from server.domain.models import CommentAnchorType
765
- from server.domain.schemas import CommentCreate
766
768
 
767
769
  if body is None and body_file is None:
768
770
  typer.echo("Error: either --body or --file is required", err=True)
@@ -33,9 +33,9 @@ def feedback_submit(
33
33
  ),
34
34
  ) -> None:
35
35
  from map_types.enums import FeedbackCategory
36
+ from map_types.schemas import PlatformFeedbackCreate
36
37
 
37
38
  from cli.main import _read_text_file, _run # lazy: avoid cli.main ↔ cli.commands.* cycle
38
- from server.domain.schemas import PlatformFeedbackCreate
39
39
 
40
40
  if body is None and body_file is None:
41
41
  typer.echo("Error: either --body or --file is required", err=True)
@@ -94,9 +94,9 @@ def feedback_update(
94
94
  archived: bool | None = typer.Option(None, "--archived/--no-archived"),
95
95
  ) -> None:
96
96
  from map_types.enums import FeedbackCategory, FeedbackStatus
97
+ from map_types.schemas import PlatformFeedbackUpdate
97
98
 
98
99
  from cli.main import _run # lazy
99
- from server.domain.schemas import PlatformFeedbackUpdate
100
100
 
101
101
  payload = PlatformFeedbackUpdate(
102
102
  status=FeedbackStatus(status) if status else None,
@@ -188,9 +188,9 @@ def inbound_event_record(
188
188
  ) -> None:
189
189
  """Record that the caller is about to act on ``event_id``."""
190
190
  from map_types.enums import InboundEventSource
191
+ from map_types.schemas import InboundEventCreate
191
192
 
192
193
  from cli.main import _read_text_file, _run
193
- from server.domain.schemas import InboundEventCreate
194
194
 
195
195
  extra_payload: dict | None = None
196
196
  if payload_file is not None:
@@ -9,8 +9,7 @@ from pathlib import Path
9
9
 
10
10
  import typer
11
11
  from map_client.client import MAPClient
12
-
13
- from server.domain.schemas import ProjectStatusRevise
12
+ from map_types.schemas import ProjectStatusRevise
14
13
 
15
14
  project_app = typer.Typer(help="Project commands")
16
15
  status_app = typer.Typer(help="Project Current Status commands")
@@ -124,7 +123,7 @@ def project_export(
124
123
  from cli.project_export import export_project_history
125
124
 
126
125
  if output_dir is None:
127
- from cli.main import find_map_dir, _cli_options
126
+ from cli.main import _cli_options, find_map_dir
128
127
  map_dir = find_map_dir(_cli_options.get("project_root"))
129
128
  if map_dir is not None:
130
129
  output_dir = map_dir / "history"
@@ -10,7 +10,6 @@ from __future__ import annotations
10
10
 
11
11
  import json
12
12
  import uuid
13
- from pathlib import Path
14
13
 
15
14
  import typer
16
15
  from map_client.client import MAPClient
@@ -20,8 +19,8 @@ sync_app = typer.Typer(help="Local cache sync commands (offline browsing)")
20
19
 
21
20
  def _require_cache_session():
22
21
  """Open the local cache DB, exiting with a helpful hint if .map/ is missing."""
23
- from cli.main import find_map_dir, _cli_options
24
- from cli.local_cache import init_cache, get_cache_path
22
+ from cli.local_cache import get_cache_path, init_cache
23
+ from cli.main import _cli_options, find_map_dir
25
24
 
26
25
  map_dir = find_map_dir(_cli_options.get("project_root"))
27
26
  if map_dir is None:
@@ -46,8 +45,8 @@ def sync_pull(
46
45
  After pulling, you can browse topics and experiments offline using
47
46
  `map sync topics` and `map sync topic --id <uuid>`.
48
47
  """
49
- from cli.main import _resolve_project, _run
50
48
  from cli.local_cache import pull_project_to_cache
49
+ from cli.main import _resolve_project, _run
51
50
 
52
51
  map_dir, db_path, session = _require_cache_session()
53
52
 
@@ -21,14 +21,14 @@ from typing import Any
21
21
 
22
22
  import typer
23
23
  from map_client.client import MAPClient
24
-
25
- from cli.table_render import enum_value, format_datetime, render_table, short_uuid, truncate
26
- from server.domain.schemas import (
24
+ from map_types.schemas import (
27
25
  TopicAdvanceRound,
28
26
  TopicCommentCreate,
29
27
  TopicUpdate,
30
28
  )
31
29
 
30
+ from cli.table_render import enum_value, format_datetime, render_table, short_uuid, truncate
31
+
32
32
  topic_app = typer.Typer(help="Topic commands", rich_markup_mode=None)
33
33
  mention_app = typer.Typer(help="Mention todo commands")
34
34
  todo_app = typer.Typer(help="Todo partition clear routing (explicit_only buckets)")
@@ -46,8 +46,9 @@ def topic_create(
46
46
  project_key: str | None = typer.Option(None, "--project-key"),
47
47
  description: str | None = typer.Option(None, "--description"),
48
48
  ) -> None:
49
+ from map_types.schemas import TopicCreate
50
+
49
51
  from cli.main import _resolve_project, _run
50
- from server.domain.schemas import TopicCreate
51
52
 
52
53
  payload = TopicCreate(title=title, description=description)
53
54
 
@@ -102,8 +103,9 @@ def topic_list(
102
103
  Defaults to a compact table view. Use ``--format yaml`` or
103
104
  ``--format json`` for full structured output (scripts / piping).
104
105
  """
106
+ from map_types.enums import TopicStatus
107
+
105
108
  from cli.main import _resolve_creator_agent_id, _resolve_project, _run
106
- from server.domain.models import TopicStatus
107
109
 
108
110
  def action(c: MAPClient):
109
111
  pid = _resolve_project(c, project, project_key)
@@ -22,6 +22,8 @@ from map_sdk.evidence import (
22
22
  EVIDENCE_METADATA_KEYS,
23
23
  metadata_has_completion_evidence,
24
24
  )
25
+ from map_types.enums import AgentRole
26
+ from map_types.schemas import TopicResolve
25
27
  from pydantic import BaseModel, ConfigDict
26
28
 
27
29
  # arch experiment (0519e2a3) PR3/PR5: agent / notification /
@@ -45,8 +47,6 @@ from cli.commands.skill import skill_app
45
47
  from cli.commands.sync import sync_app
46
48
  from cli.commands.topic import mention_app, todo_app, topic_app
47
49
  from cli.e2e_collab import e2e_app
48
- from server.domain.models import AgentRole
49
- from server.domain.schemas import TopicResolve
50
50
 
51
51
  app = typer.Typer(name="map", help="Multi-Agent Platform CLI", rich_markup_mode=None)
52
52
  # Sub-apps live in cli/commands/*; imported here only to register via
@@ -4,14 +4,9 @@
4
4
 
5
5
  ## 首次 Bootstrap
6
6
 
7
- 前置:MAP API 已运行;admin token 在 `MAP_ADMIN_TOKEN` 或 `~/.map/admin.yaml`:
7
+ 前置:MAP API 已运行。
8
8
 
9
- ```yaml
10
- token: "<admin-api-token>"
11
- api_url: http://localhost:8001
12
- ```
13
-
14
- 在本代码仓库根目录:
9
+ 新版 server(>=0.4)**无需 admin token**——bootstrap 走自助 `POST /api/v1/bootstrap` 端点。直接在本代码仓库根目录运行:
15
10
 
16
11
  ```bash
17
12
  map bootstrap \
@@ -20,6 +15,13 @@ map bootstrap \
20
15
  --api-url http://localhost:8001
21
16
  ```
22
17
 
18
+ > **老版本 server 兼容**:若连接的 server 无 `/bootstrap` 端点(<0.4),CLI 自动回退到 admin token 路径。此时需先准备 admin token,写入 `MAP_ADMIN_TOKEN` 或 `~/.map/admin.yaml`:
19
+ >
20
+ > ```yaml
21
+ > token: "<admin-api-token>"
22
+ > api_url: http://localhost:8001
23
+ > ```
24
+
23
25
  生成:
24
26
 
25
27
  | 文件 | 提交 Git |
@@ -45,7 +47,7 @@ bash .cursor/skills/map-project-collab/scripts/map-bootstrap.sh \
45
47
  | Unknown persona | `map persona list` |
46
48
  | 403 开实验 | 确认 `--persona host` 且是话题 creator |
47
49
  | 403 submit/approve/complete | 实验须由 **当前 host persona** 创建 |
48
- | Admin bootstrap 失败 | 检查 `MAP_ADMIN_TOKEN` / `~/.map/admin.yaml` |
50
+ | Admin bootstrap 失败 | 新版 server(>=0.4)无需 admin token;老版本需检查 `MAP_ADMIN_TOKEN` / `~/.map/admin.yaml` |
49
51
  | token 丢失(409 跳过) | 保留原 `agents.local.yaml`,或 MAP 删 agent 后重跑 bootstrap |
50
52
  | @ 了 agent 无反应 | 查 `map persona list` 用 agent_name;看评论 `unresolved_mentions` 或 `mention.unresolved` 通知 |
51
53
  | 想改 MAP 平台而非业务话题 | 用 `map feedback submit --category suggestion`(见 SKILL.md §平台反馈) |
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env bash
2
+ # Bootstrap MAP for the current git repo. New server (>=0.4) needs no admin token;
3
+ # falls back to MAP_ADMIN_TOKEN / ~/.map/admin.yaml on older servers.
4
+ set -euo pipefail
5
+ ROOT="$(cd "$(dirname "$0")/../../../.." && pwd)"
6
+ cd "$ROOT"
7
+ exec map bootstrap "$@"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: multi-agent-platform
3
- Version: 0.3.1
3
+ Version: 0.3.2
4
4
  Summary: Multi-Agent experiment collaboration platform
5
5
  License-Expression: MIT
6
6
  Project-URL: Homepage, https://github.com/quantaeye/multi-agent-platform
@@ -17,19 +17,21 @@ Classifier: Operating System :: OS Independent
17
17
  Requires-Python: >=3.10
18
18
  Description-Content-Type: text/markdown
19
19
  License-File: LICENSE
20
- Requires-Dist: fastapi<0.116,>=0.115.0
21
- Requires-Dist: uvicorn[standard]<0.41,>=0.32.0
22
- Requires-Dist: sqlalchemy<2.1,>=2.0.36
23
- Requires-Dist: alembic<2.0,>=1.14.0
24
- Requires-Dist: pydantic<2.12,>=2.10.0
25
- Requires-Dist: pydantic-settings<2.9,>=2.6.0
26
- Requires-Dist: bcrypt<6.0,>=4.2.0
27
- Requires-Dist: python-multipart<0.1,>=0.0.17
28
20
  Requires-Dist: typer<0.17,>=0.15.0
29
21
  Requires-Dist: httpx<0.29,>=0.28.0
30
22
  Requires-Dist: pyyaml<7.0,>=6.0
31
- Requires-Dist: cryptography<50.0,>=44.0.0
23
+ Requires-Dist: pydantic<2.12,>=2.10.0
24
+ Provides-Extra: server
25
+ Requires-Dist: fastapi<0.116,>=0.115.0; extra == "server"
26
+ Requires-Dist: uvicorn[standard]<0.41,>=0.32.0; extra == "server"
27
+ Requires-Dist: sqlalchemy<2.1,>=2.0.36; extra == "server"
28
+ Requires-Dist: alembic<2.0,>=1.14.0; extra == "server"
29
+ Requires-Dist: pydantic-settings<2.9,>=2.6.0; extra == "server"
30
+ Requires-Dist: bcrypt<6.0,>=4.2.0; extra == "server"
31
+ Requires-Dist: python-multipart<0.1,>=0.0.17; extra == "server"
32
+ Requires-Dist: cryptography<50.0,>=44.0.0; extra == "server"
32
33
  Provides-Extra: dev
34
+ Requires-Dist: multi-agent-platform[server]; extra == "dev"
33
35
  Requires-Dist: pytest<9.0,>=8.3.0; extra == "dev"
34
36
  Requires-Dist: pytest-asyncio<1.0,>=0.24.0; extra == "dev"
35
37
  Requires-Dist: pytest-cov<7.0,>=5.0.0; extra == "dev"
@@ -38,6 +40,7 @@ Requires-Dist: mcp<2.0,>=1.26.0; extra == "dev"
38
40
  Requires-Dist: ruff<1.0,>=0.8.0; extra == "dev"
39
41
  Requires-Dist: pydantic-to-typescript<3.0,>=2.0.0; extra == "dev"
40
42
  Provides-Extra: mcp
43
+ Requires-Dist: multi-agent-platform[server]; extra == "mcp"
41
44
  Requires-Dist: mcp<2.0,>=1.26.0; extra == "mcp"
42
45
  Provides-Extra: codex-runtime
43
46
  Provides-Extra: claude-runtime
@@ -47,18 +50,24 @@ Dynamic: license-file
47
50
  # Multi-Agent Platform (MAP)
48
51
 
49
52
  [![PyPI version](https://img.shields.io/pypi/v/multi-agent-platform.svg)](https://pypi.org/project/multi-agent-platform/)
50
- [![Python 3.11+](https://img.shields.io/pypi/pyversions/multi-agent-platform.svg)](https://pypi.org/project/multi-agent-platform/)
53
+ [![Python 3.10+](https://img.shields.io/pypi/pyversions/multi-agent-platform.svg)](https://pypi.org/project/multi-agent-platform/)
51
54
  [![License: MIT](https://img.shields.io/pypi/l/multi-agent-platform.svg)](https://github.com/quantaeye/multi-agent-platform/blob/main/LICENSE)
52
55
 
53
56
  多 Agent 实验协作平台:以话题为中心,管理实验计划、评审讨论、执行日志与项目状态。
54
57
 
55
58
  ## 安装
56
59
 
60
+ 两种安装方式,按需选择:
61
+
57
62
  ```bash
63
+ # 1. 仅安装 CLI(连接远程 MAP server 时使用,轻量)
58
64
  pip install multi-agent-platform
65
+
66
+ # 2. 安装 CLI + Server 依赖(需要本地运行 MAP server 时使用)
67
+ pip install multi-agent-platform-server
59
68
  ```
60
69
 
61
- 安装后即可使用 `map` CLI 和 `map-server` 命令。详见 [Quick Start 指南](docs/QUICKSTART.md)。
70
+ 安装后即可使用 `map` CLI;安装 server 包后还可使用 `map-server` 命令。详见 [Quick Start 指南](docs/QUICKSTART.md)。
62
71
 
63
72
  **新用户?** 一键启动:`./scripts/quickstart.sh`,或阅读 [Quick Start 指南](docs/QUICKSTART.md)。
64
73
 
@@ -124,7 +133,6 @@ map skill install # 将 5 个 Skill 文件安装到 .cursor/skills/
124
133
  MAP API 运行后,在本仓库根目录执行一次 bootstrap(生成 `.map/config.yaml` 与 persona token,详见 [AGENTS.md](AGENTS.md)):
125
134
 
126
135
  ```bash
127
- export MAP_ADMIN_TOKEN=<admin-token> # 或 ~/.map/admin.yaml
128
136
  map bootstrap \
129
137
  --key multi-agent-platform \
130
138
  --name "Multi Agents Platform" \
@@ -134,18 +142,21 @@ map --persona host persona whoami
134
142
  map --persona host todos
135
143
  ```
136
144
 
137
- 与 `docker compose up` 并列:先起服务,再 bootstrap,再用 `--persona` 协作。
145
+ 与 `docker compose up` 并列:先起服务,再 bootstrap,再用 `--persona` 协作。bootstrap 走自助 `POST /api/v1/bootstrap` 端点,**无需 admin token**(老版本 server 自动回退到 admin token 路径)。
138
146
 
139
147
  ## 快速开始
140
148
 
141
149
  ```bash
142
- # 从 PyPI 安装(用户)
150
+ # 从 PyPI 安装(仅 CLI,连接远程 server)
143
151
  pip install multi-agent-platform
144
152
 
153
+ # 或安装 CLI + Server(本地运行 server)
154
+ pip install multi-agent-platform-server
155
+
145
156
  # 或从源码开发安装(贡献者)
146
157
  pip install -e ".[dev]"
147
158
 
148
- # 运行数据库迁移
159
+ # 运行数据库迁移(需要 server 依赖)
149
160
  alembic upgrade head
150
161
 
151
162
  # 启动 API 服务
@@ -225,7 +236,6 @@ cd web && npm install && npm run dev # http://localhost:5173
225
236
  不依赖 Cursor MCP。每个代码仓库:
226
237
 
227
238
  ```bash
228
- export MAP_ADMIN_TOKEN=<admin-token> # 或 ~/.map/admin.yaml
229
239
  map bootstrap --key my-app --name "My App" --api-url http://localhost:8001
230
240
  map --persona host status # 查看 open_topics
231
241
  ```
@@ -89,6 +89,7 @@ server/api/action_items.py
89
89
  server/api/agents.py
90
90
  server/api/audit.py
91
91
  server/api/background_tasks.py
92
+ server/api/bootstrap.py
92
93
  server/api/common.py
93
94
  server/api/deps.py
94
95
  server/api/experiments.py
@@ -123,6 +124,7 @@ server/services/agent_work_service.py
123
124
  server/services/archive_lint_service.py
124
125
  server/services/audit_service.py
125
126
  server/services/auth.py
127
+ server/services/bootstrap_service.py
126
128
  server/services/comment_service.py
127
129
  server/services/errors.py
128
130
  server/services/escalation_resolver.py
@@ -185,6 +187,7 @@ tests/test_b_action_item_wake_endpoints.py
185
187
  tests/test_b_action_item_wake_stale.py
186
188
  tests/test_b_action_item_wake_stale_notifications.py
187
189
  tests/test_b_waker_should_wake_action_item.py
190
+ tests/test_bootstrap.py
188
191
  tests/test_bridge_state.py
189
192
  tests/test_cleanup_audit_log_no_commit.py
190
193
  tests/test_cleanup_exp_b_paging_seven_endpoints.py
@@ -1,15 +1,7 @@
1
- fastapi<0.116,>=0.115.0
2
- uvicorn[standard]<0.41,>=0.32.0
3
- sqlalchemy<2.1,>=2.0.36
4
- alembic<2.0,>=1.14.0
5
- pydantic<2.12,>=2.10.0
6
- pydantic-settings<2.9,>=2.6.0
7
- bcrypt<6.0,>=4.2.0
8
- python-multipart<0.1,>=0.0.17
9
1
  typer<0.17,>=0.15.0
10
2
  httpx<0.29,>=0.28.0
11
3
  pyyaml<7.0,>=6.0
12
- cryptography<50.0,>=44.0.0
4
+ pydantic<2.12,>=2.10.0
13
5
 
14
6
  [claude-runtime]
15
7
  claude-agent-sdk<1.0,>=0.2
@@ -17,6 +9,7 @@ claude-agent-sdk<1.0,>=0.2
17
9
  [codex-runtime]
18
10
 
19
11
  [dev]
12
+ multi-agent-platform[server]
20
13
  pytest<9.0,>=8.3.0
21
14
  pytest-asyncio<1.0,>=0.24.0
22
15
  pytest-cov<7.0,>=5.0.0
@@ -26,4 +19,15 @@ ruff<1.0,>=0.8.0
26
19
  pydantic-to-typescript<3.0,>=2.0.0
27
20
 
28
21
  [mcp]
22
+ multi-agent-platform[server]
29
23
  mcp<2.0,>=1.26.0
24
+
25
+ [server]
26
+ fastapi<0.116,>=0.115.0
27
+ uvicorn[standard]<0.41,>=0.32.0
28
+ sqlalchemy<2.1,>=2.0.36
29
+ alembic<2.0,>=1.14.0
30
+ pydantic-settings<2.9,>=2.6.0
31
+ bcrypt<6.0,>=4.2.0
32
+ python-multipart<0.1,>=0.0.17
33
+ cryptography<50.0,>=44.0.0
@@ -4,3 +4,4 @@ map_mcp
4
4
  map_sdk
5
5
  map_types
6
6
  server
7
+ server-pkg