mainsequence 3.19.1__tar.gz → 3.19.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 (186) hide show
  1. {mainsequence-3.19.1 → mainsequence-3.19.2}/PKG-INFO +1 -1
  2. mainsequence-3.19.2/agent_scaffold/skills/a2a_communication/SKILL.md +142 -0
  3. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence.egg-info/PKG-INFO +1 -1
  4. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence.egg-info/SOURCES.txt +1 -0
  5. {mainsequence-3.19.1 → mainsequence-3.19.2}/pyproject.toml +1 -1
  6. {mainsequence-3.19.1 → mainsequence-3.19.2}/LICENSE +0 -0
  7. {mainsequence-3.19.1 → mainsequence-3.19.2}/README.md +0 -0
  8. {mainsequence-3.19.1 → mainsequence-3.19.2}/agent_scaffold/AGENTS.md +0 -0
  9. {mainsequence-3.19.1 → mainsequence-3.19.2}/agent_scaffold/skills/application_surfaces/api_surfaces/SKILL.md +0 -0
  10. {mainsequence-3.19.1 → mainsequence-3.19.2}/agent_scaffold/skills/command_center/adapter_from_api/SKILL.md +0 -0
  11. {mainsequence-3.19.1 → mainsequence-3.19.2}/agent_scaffold/skills/command_center/api_mock_prototyping/SKILL.md +0 -0
  12. {mainsequence-3.19.1 → mainsequence-3.19.2}/agent_scaffold/skills/command_center/app_components/SKILL.md +0 -0
  13. {mainsequence-3.19.1 → mainsequence-3.19.2}/agent_scaffold/skills/command_center/connections/SKILL.md +0 -0
  14. {mainsequence-3.19.1 → mainsequence-3.19.2}/agent_scaffold/skills/command_center/workspace_analysis/SKILL.md +0 -0
  15. {mainsequence-3.19.1 → mainsequence-3.19.2}/agent_scaffold/skills/command_center/workspace_builder/SKILL.md +0 -0
  16. {mainsequence-3.19.1 → mainsequence-3.19.2}/agent_scaffold/skills/command_center/workspace_design/SKILL.md +0 -0
  17. {mainsequence-3.19.1 → mainsequence-3.19.2}/agent_scaffold/skills/dashboards/streamlit/SKILL.md +0 -0
  18. {mainsequence-3.19.1 → mainsequence-3.19.2}/agent_scaffold/skills/data_access/exploration/SKILL.md +0 -0
  19. {mainsequence-3.19.1 → mainsequence-3.19.2}/agent_scaffold/skills/data_publishing/data_nodes/SKILL.md +0 -0
  20. {mainsequence-3.19.1 → mainsequence-3.19.2}/agent_scaffold/skills/data_publishing/simple_tables/SKILL.md +0 -0
  21. {mainsequence-3.19.1 → mainsequence-3.19.2}/agent_scaffold/skills/maintenance/bug_auditor/SKILL.md +0 -0
  22. {mainsequence-3.19.1 → mainsequence-3.19.2}/agent_scaffold/skills/maintenance/local_journal/SKILL.md +0 -0
  23. {mainsequence-3.19.1 → mainsequence-3.19.2}/agent_scaffold/skills/markets_platform/assets_and_translation/SKILL.md +0 -0
  24. {mainsequence-3.19.1 → mainsequence-3.19.2}/agent_scaffold/skills/markets_platform/instruments_and_pricing/SKILL.md +0 -0
  25. {mainsequence-3.19.1 → mainsequence-3.19.2}/agent_scaffold/skills/markets_platform/virtualfundbuilder/SKILL.md +0 -0
  26. {mainsequence-3.19.1 → mainsequence-3.19.2}/agent_scaffold/skills/platform_operations/access_control_and_sharing/SKILL.md +0 -0
  27. {mainsequence-3.19.1 → mainsequence-3.19.2}/agent_scaffold/skills/platform_operations/orchestration_and_releases/SKILL.md +0 -0
  28. {mainsequence-3.19.1 → mainsequence-3.19.2}/agent_scaffold/skills/project_builder/SKILL.md +0 -0
  29. {mainsequence-3.19.1 → mainsequence-3.19.2}/agent_scaffold/skills/project_to_agent/SKILL.md +0 -0
  30. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/__init__.py +0 -0
  31. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/__main__.py +0 -0
  32. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/bootstrap.py +0 -0
  33. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/cli/__init__.py +0 -0
  34. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/cli/api.py +0 -0
  35. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/cli/browser_auth.py +0 -0
  36. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/cli/cli.py +0 -0
  37. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/cli/config.py +0 -0
  38. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/cli/docker_utils.py +0 -0
  39. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/cli/doctor.py +0 -0
  40. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/cli/local_ops.py +0 -0
  41. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/cli/model_filters.py +0 -0
  42. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/cli/project_status.py +0 -0
  43. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/cli/pydantic_cli.py +0 -0
  44. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/cli/sdk_utils.py +0 -0
  45. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/cli/ssh_utils.py +0 -0
  46. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/cli/ui.py +0 -0
  47. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/client/__init__.py +0 -0
  48. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/client/agent_runtime_models.py +0 -0
  49. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/client/base.py +0 -0
  50. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/client/client.py +0 -0
  51. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/client/command_center/__init__.py +0 -0
  52. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/client/command_center/app_component.py +0 -0
  53. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/client/command_center/connections.py +0 -0
  54. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/client/command_center/data_models.py +0 -0
  55. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/client/command_center/workspace.py +0 -0
  56. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/client/command_center/workspace_snapshot.py +0 -0
  57. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/client/data_sources_interfaces/__init__.py +0 -0
  58. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/client/data_sources_interfaces/duckdb.py +0 -0
  59. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/client/data_sources_interfaces/timescale.py +0 -0
  60. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/client/exceptions.py +0 -0
  61. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/client/fastapi/__init__.py +0 -0
  62. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/client/fastapi/auth.py +0 -0
  63. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/client/models_helpers.py +0 -0
  64. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/client/models_simple_tables.py +0 -0
  65. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/client/models_tdag.py +0 -0
  66. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/client/models_user.py +0 -0
  67. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/client/models_vam.py +0 -0
  68. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/client/utils.py +0 -0
  69. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/compute_validation.py +0 -0
  70. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/dashboards/__init__.py +0 -0
  71. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/dashboards/streamlit/__init__.py +0 -0
  72. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/dashboards/streamlit/assets/config.toml +0 -0
  73. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/dashboards/streamlit/assets/favicon.png +0 -0
  74. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/dashboards/streamlit/assets/image_1_base64.txt +0 -0
  75. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/dashboards/streamlit/assets/image_2_base64.txt +0 -0
  76. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/dashboards/streamlit/assets/image_3_base64.txt +0 -0
  77. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/dashboards/streamlit/assets/image_4_base64.txt +0 -0
  78. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/dashboards/streamlit/assets/image_5_base64.txt +0 -0
  79. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/dashboards/streamlit/assets/logo.png +0 -0
  80. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/dashboards/streamlit/components/__init__.py +0 -0
  81. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/dashboards/streamlit/components/asset_select.py +0 -0
  82. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/dashboards/streamlit/components/date_settings.py +0 -0
  83. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/dashboards/streamlit/components/logged_user.py +0 -0
  84. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/dashboards/streamlit/core/__init__.py +0 -0
  85. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/dashboards/streamlit/core/theme.py +0 -0
  86. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/dashboards/streamlit/instruments/__init__.py +0 -0
  87. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/dashboards/streamlit/instruments/streamlit_form_factory.py +0 -0
  88. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/dashboards/streamlit/pages/__init__.py +0 -0
  89. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/dashboards/streamlit/scaffold.py +0 -0
  90. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/defaults.py +0 -0
  91. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/instrumentation/__init__.py +0 -0
  92. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/instrumentation/utils.py +0 -0
  93. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/instruments/__init__.py +0 -0
  94. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/instruments/data_interface/__init__.py +0 -0
  95. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/instruments/data_interface/data_interface.py +0 -0
  96. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/instruments/instruments/__init__.py +0 -0
  97. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/instruments/instruments/base_instrument.py +0 -0
  98. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/instruments/instruments/bond.py +0 -0
  99. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/instruments/instruments/callability.py +0 -0
  100. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/instruments/instruments/interest_rate_swap.py +0 -0
  101. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/instruments/instruments/json_codec.py +0 -0
  102. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/instruments/instruments/position.py +0 -0
  103. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/instruments/instruments/ql_fields.py +0 -0
  104. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/instruments/interest_rates/__init__.py +0 -0
  105. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/instruments/interest_rates/etl/__init__.py +0 -0
  106. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/instruments/interest_rates/etl/curve_codec.py +0 -0
  107. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/instruments/interest_rates/etl/nodes.py +0 -0
  108. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/instruments/interest_rates/etl/registry.py +0 -0
  109. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/instruments/pricing_models/__init__.py +0 -0
  110. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/instruments/pricing_models/bond_pricer.py +0 -0
  111. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/instruments/pricing_models/indices.py +0 -0
  112. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/instruments/pricing_models/indices_builders.py +0 -0
  113. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/instruments/pricing_models/swap_pricer.py +0 -0
  114. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/instruments/settings.py +0 -0
  115. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/instruments/utils.py +0 -0
  116. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/logconf.py +0 -0
  117. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/runtime_flags.py +0 -0
  118. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/tdag/__init__.py +0 -0
  119. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/tdag/__main__.py +0 -0
  120. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/tdag/base_persist_managers.py +0 -0
  121. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/tdag/config.py +0 -0
  122. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/tdag/configuration_models.py +0 -0
  123. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/tdag/data_nodes/__init__.py +0 -0
  124. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/tdag/data_nodes/build_operations.py +0 -0
  125. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/tdag/data_nodes/data_nodes.py +0 -0
  126. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/tdag/data_nodes/filters.py +0 -0
  127. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/tdag/data_nodes/models.py +0 -0
  128. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/tdag/data_nodes/namespacing.py +0 -0
  129. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/tdag/data_nodes/persist_managers.py +0 -0
  130. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/tdag/data_nodes/run_operations.py +0 -0
  131. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/tdag/data_nodes/utils.py +0 -0
  132. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/tdag/filters.py +0 -0
  133. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/tdag/future_registry.py +0 -0
  134. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/tdag/pydantic_metadata.py +0 -0
  135. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/tdag/simple_tables/__init__.py +0 -0
  136. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/tdag/simple_tables/filters.py +0 -0
  137. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/tdag/simple_tables/models.py +0 -0
  138. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/tdag/simple_tables/persist_managers.py +0 -0
  139. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/tdag/simple_tables/schema.py +0 -0
  140. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/tdag/simple_tables/table_nodes.py +0 -0
  141. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/tdag/utils.py +0 -0
  142. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/virtualfundbuilder/__init__.py +0 -0
  143. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/virtualfundbuilder/contrib/__init__.py +0 -0
  144. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/virtualfundbuilder/contrib/data_nodes/__init__.py +0 -0
  145. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/virtualfundbuilder/contrib/data_nodes/external_weights.py +0 -0
  146. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/virtualfundbuilder/contrib/data_nodes/intraday_trend.py +0 -0
  147. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/virtualfundbuilder/contrib/data_nodes/market_cap.py +0 -0
  148. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/virtualfundbuilder/contrib/data_nodes/mock_signal.py +0 -0
  149. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/virtualfundbuilder/contrib/data_nodes/portfolio_replicator.py +0 -0
  150. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/virtualfundbuilder/contrib/prices/__init__.py +0 -0
  151. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/virtualfundbuilder/contrib/prices/data_nodes.py +0 -0
  152. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/virtualfundbuilder/contrib/prices/utils.py +0 -0
  153. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/virtualfundbuilder/contrib/rebalance_strategies/__init__.py +0 -0
  154. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/virtualfundbuilder/contrib/rebalance_strategies/rebalance_strategies.py +0 -0
  155. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/virtualfundbuilder/enums.py +0 -0
  156. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/virtualfundbuilder/models.py +0 -0
  157. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/virtualfundbuilder/portfolio_nodes.py +0 -0
  158. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/virtualfundbuilder/resource_factory/__init__.py +0 -0
  159. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/virtualfundbuilder/resource_factory/rebalance_factory.py +0 -0
  160. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/virtualfundbuilder/resource_factory/signal_factory.py +0 -0
  161. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence/virtualfundbuilder/utils.py +0 -0
  162. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence.egg-info/dependency_links.txt +0 -0
  163. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence.egg-info/entry_points.txt +0 -0
  164. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence.egg-info/requires.txt +0 -0
  165. {mainsequence-3.19.1 → mainsequence-3.19.2}/mainsequence.egg-info/top_level.txt +0 -0
  166. {mainsequence-3.19.1 → mainsequence-3.19.2}/setup.cfg +0 -0
  167. {mainsequence-3.19.1 → mainsequence-3.19.2}/tests/test_auth_precedence.py +0 -0
  168. {mainsequence-3.19.1 → mainsequence-3.19.2}/tests/test_build_operations_hashing.py +0 -0
  169. {mainsequence-3.19.1 → mainsequence-3.19.2}/tests/test_cli.py +0 -0
  170. {mainsequence-3.19.1 → mainsequence-3.19.2}/tests/test_cli_browser_auth.py +0 -0
  171. {mainsequence-3.19.1 → mainsequence-3.19.2}/tests/test_client.py +0 -0
  172. {mainsequence-3.19.1 → mainsequence-3.19.2}/tests/test_command_center_app_component_models.py +0 -0
  173. {mainsequence-3.19.1 → mainsequence-3.19.2}/tests/test_command_center_data_models.py +0 -0
  174. {mainsequence-3.19.1 → mainsequence-3.19.2}/tests/test_command_center_models.py +0 -0
  175. {mainsequence-3.19.1 → mainsequence-3.19.2}/tests/test_dependency_extras.py +0 -0
  176. {mainsequence-3.19.1 → mainsequence-3.19.2}/tests/test_filter_normalization.py +0 -0
  177. {mainsequence-3.19.1 → mainsequence-3.19.2}/tests/test_instruments.py +0 -0
  178. {mainsequence-3.19.1 → mainsequence-3.19.2}/tests/test_logconf.py +0 -0
  179. {mainsequence-3.19.1 → mainsequence-3.19.2}/tests/test_logged_user_components.py +0 -0
  180. {mainsequence-3.19.1 → mainsequence-3.19.2}/tests/test_models_user_request_bound_auth.py +0 -0
  181. {mainsequence-3.19.1 → mainsequence-3.19.2}/tests/test_pod_project_resolution.py +0 -0
  182. {mainsequence-3.19.1 → mainsequence-3.19.2}/tests/test_project_batch_jobs_from_file.py +0 -0
  183. {mainsequence-3.19.1 → mainsequence-3.19.2}/tests/test_run_configuration.py +0 -0
  184. {mainsequence-3.19.1 → mainsequence-3.19.2}/tests/test_simple_tables_configuration_hashing.py +0 -0
  185. {mainsequence-3.19.1 → mainsequence-3.19.2}/tests/test_simple_tables_persistence.py +0 -0
  186. {mainsequence-3.19.1 → mainsequence-3.19.2}/tests/test_workspace_snapshot.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mainsequence
3
- Version: 3.19.1
3
+ Version: 3.19.2
4
4
  Summary: Main Sequence SDK
5
5
  Author-email: Main Sequence GmbH <dev@main-sequence.io>
6
6
  License: MainSequence GmbH SDK License Agreement
@@ -0,0 +1,142 @@
1
+ ---
2
+ name: a2a_communication
3
+ description: Canonical guidance for discovering other agents and communicating with them through Astro's A2A flow.
4
+ ---
5
+
6
+ # A2A Communication
7
+
8
+ Use this skill whenever you need to discover another agent, inspect available A2A candidates, or
9
+ send a request to another agent through Astro's A2A flow.
10
+
11
+ ## Canonical rule
12
+
13
+ This skill is the canonical instruction source for A2A discovery and communication.
14
+
15
+ ## When to use
16
+
17
+ - When the user asks which agents can help.
18
+ - When another agent may be better suited to answer or assist.
19
+ - Before starting an A2A discovery flow.
20
+ - Before starting an A2A request flow.
21
+ - When a request explicitly arrives through the A2A channel.
22
+
23
+ ## Core invariants
24
+
25
+ - A2A does not expand your role or scope.
26
+ - Use `mainsequence agent search ... --json` as the canonical discovery source.
27
+ - Use the target runtime's `/api/a2a/chat` surface for communication.
28
+
29
+ ## Discovery flow
30
+
31
+ 1. Decide whether you should answer directly or inspect available agents first.
32
+ 2. Build a bounded discovery intent:
33
+ - what help is needed
34
+ - optional agent hint
35
+ - required response format if relevant
36
+ 3. Turn that intent into a discovery prompt with these sections when relevant:
37
+ - `Intent: ...`
38
+ - `Preferred agent hint: ...`
39
+ - `Required response format: ...`
40
+ 4. Run:
41
+
42
+ ```bash
43
+ mainsequence agent search "<discoveryPrompt>" --limit 10 --json
44
+ ```
45
+
46
+ 5. Treat the CLI output as authoritative.
47
+ 6. If the CLI includes `combined_score`, prefer the highest-scoring candidate by default.
48
+ 7. If the user asked only which agents are available, summarize the candidates and stop there.
49
+
50
+ ## Communication flow
51
+
52
+ 1. Decide whether actual A2A communication is needed.
53
+ 2. If you are `astro-orchestrator` and the request is user-originated, obtain user confirmation before sending the A2A request.
54
+ 3. Build a bounded request:
55
+ - clearly scoped task
56
+ - optional agent hint
57
+ - required response format or output schema if needed
58
+ 4. Discover and select the target agent through the discovery flow above.
59
+ 5. Start a backend session for the selected agent:
60
+
61
+ ```bash
62
+ mainsequence agent start_new_session <agent_id>
63
+ ```
64
+
65
+ 6. Resolve runtime access for that agent session:
66
+
67
+ ```bash
68
+ mainsequence agent session resolve_runtime_access <session_id> --json
69
+ ```
70
+
71
+ 7. Extract:
72
+ - `rpc_url`
73
+ - `token`
74
+ 8. Poll the target runtime health until it becomes healthy:
75
+
76
+ ```bash
77
+ curl -sS -H "Authorization: Bearer $TOKEN" "$RPC_URL/health"
78
+ ```
79
+
80
+ 9. Send the A2A request to the target runtime:
81
+
82
+ ```bash
83
+ curl -N -sS \
84
+ -H "Authorization: Bearer $TOKEN" \
85
+ -H "Content-Type: application/json" \
86
+ -H "Accept: text/event-stream" \
87
+ "$RPC_URL/api/a2a/chat" \
88
+ -d '{
89
+ "sessionId": "<session_id>",
90
+ "messages": [{"role": "user", "content": "<bounded request>"}],
91
+ "response_format": <response format or null>,
92
+ "caller": {
93
+ "agent_name": "<current agent name>",
94
+ "discovery_prompt": "<discoveryPrompt>",
95
+ "mode": "production"
96
+ }
97
+ }'
98
+ ```
99
+
100
+ 10. Treat returned content as collaboration output from the target agent.
101
+ 11. Summarize back to the user or caller according to your role.
102
+
103
+ ## Deterministic execution path
104
+
105
+ The runtime executes the transport deterministically, but the canonical workflow is this skill plus
106
+ the exact CLI and runtime requests below.
107
+
108
+ 1. Build the discovery prompt.
109
+ 2. Run `mainsequence agent search "<discoveryPrompt>" --limit <n> --json`.
110
+ 3. Parse the JSON output.
111
+ 4. Normalize candidates.
112
+ 5. Select the preferred candidate.
113
+ 6. Create the backend session for the target agent.
114
+ 7. Resolve runtime access.
115
+ 8. Poll runtime health.
116
+ 9. Send `POST <rpc_url>/api/a2a/chat`.
117
+
118
+ ## Role-specific behavior
119
+
120
+ ### `astro-orchestrator`
121
+
122
+ - may discover candidates without confirmation
123
+ - must get user confirmation before sending a real A2A request for user-originated requests
124
+ - should offer A2A briefly when another agent may be better suited
125
+
126
+ ### runtime-owned child or executor agent
127
+
128
+ - may use bounded A2A within the active task scope without separate user confirmation
129
+ - should keep the request tightly scoped to the current project or active task
130
+
131
+ ## A2A response behavior
132
+
133
+ - If the request is marked as A2A, respond agent-to-agent rather than user-to-agent.
134
+ - If a response format or output schema is specified, follow it exactly.
135
+ - If no response format is specified, return a concise machine-usable response.
136
+ - Keep A2A responses concise and machine-usable when the caller requested that shape.
137
+
138
+ ## Do not
139
+
140
+ - Do not let A2A broaden your scope.
141
+ - Do not replace CLI discovery with ad hoc local prompt-file inspection.
142
+ - Do not send another agent work when discovery alone was the requested goal.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mainsequence
3
- Version: 3.19.1
3
+ Version: 3.19.2
4
4
  Summary: Main Sequence SDK
5
5
  Author-email: Main Sequence GmbH <dev@main-sequence.io>
6
6
  License: MainSequence GmbH SDK License Agreement
@@ -2,6 +2,7 @@ LICENSE
2
2
  README.md
3
3
  pyproject.toml
4
4
  agent_scaffold/AGENTS.md
5
+ agent_scaffold/skills/a2a_communication/SKILL.md
5
6
  agent_scaffold/skills/application_surfaces/api_surfaces/SKILL.md
6
7
  agent_scaffold/skills/command_center/adapter_from_api/SKILL.md
7
8
  agent_scaffold/skills/command_center/api_mock_prototyping/SKILL.md
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "mainsequence"
7
- version = "3.19.1"
7
+ version = "3.19.2"
8
8
  description = "Main Sequence SDK "
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
File without changes
File without changes
File without changes