mainsequence 4.4.18__tar.gz → 4.4.20__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.
- {mainsequence-4.4.18/mainsequence.egg-info → mainsequence-4.4.20}/PKG-INFO +1 -1
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/cli/api.py +0 -79
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/cli/cli.py +6 -178
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/client/agent_runtime_models.py +181 -91
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/client/models_foundry.py +0 -6
- {mainsequence-4.4.18 → mainsequence-4.4.20/mainsequence.egg-info}/PKG-INFO +1 -1
- {mainsequence-4.4.18 → mainsequence-4.4.20}/pyproject.toml +1 -1
- {mainsequence-4.4.18 → mainsequence-4.4.20}/tests/test_cli.py +6 -209
- {mainsequence-4.4.18 → mainsequence-4.4.20}/tests/test_filter_normalization.py +10 -73
- {mainsequence-4.4.18 → mainsequence-4.4.20}/LICENSE +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/README.md +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/agent_scaffold/AGENTS.md +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/agent_scaffold/skills/a2a_communication/SKILL.md +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/agent_scaffold/skills/application_surfaces/api_surfaces/SKILL.md +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/agent_scaffold/skills/command_center/adapter_from_api/SKILL.md +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/agent_scaffold/skills/command_center/api_mock_prototyping/SKILL.md +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/agent_scaffold/skills/command_center/connections/SKILL.md +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/agent_scaffold/skills/command_center/widgets/app_components/SKILL.md +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/agent_scaffold/skills/command_center/widgets/tables/SKILL.md +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/agent_scaffold/skills/command_center/widgets/tabular_transform/SKILL.md +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/agent_scaffold/skills/command_center/workspace_analysis/SKILL.md +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/agent_scaffold/skills/command_center/workspace_builder/SKILL.md +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/agent_scaffold/skills/command_center/workspace_design/SKILL.md +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/agent_scaffold/skills/dashboards/streamlit/SKILL.md +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/agent_scaffold/skills/data_access/exploration/SKILL.md +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/agent_scaffold/skills/data_publishing/data_nodes/SKILL.md +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/agent_scaffold/skills/data_publishing/meta_table_migrations/SKILL.md +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/agent_scaffold/skills/data_publishing/meta_tables/SKILL.md +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/agent_scaffold/skills/maintenance/bug_auditor/SKILL.md +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/agent_scaffold/skills/ms-markets/SKILL.md +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/agent_scaffold/skills/platform_operations/access_control_and_sharing/SKILL.md +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/agent_scaffold/skills/platform_operations/orchestration_and_releases/SKILL.md +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/agent_scaffold/skills/project_builder/SKILL.md +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/agent_scaffold/skills/project_to_agent/SKILL.md +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/__init__.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/__main__.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/bootstrap.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/cli/__init__.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/cli/browser_auth.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/cli/config.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/cli/docker_utils.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/cli/doctor.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/cli/local_ops.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/cli/migrations.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/cli/model_filters.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/cli/project_status.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/cli/pydantic_cli.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/cli/sdk_utils.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/cli/ssh_utils.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/cli/ui.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/client/__init__.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/client/base.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/client/client.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/client/command_center/__init__.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/client/command_center/app_component.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/client/command_center/connections.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/client/command_center/contracts/__init__.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/client/command_center/contracts/adapter_from_api.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/client/command_center/contracts/response_mapping.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/client/command_center/contracts/table_visuals.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/client/command_center/contracts/tabular.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/client/command_center/contracts/ui.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/client/command_center/data_models.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/client/command_center/providers/__init__.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/client/command_center/providers/adapter_from_api.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/client/command_center/widgets/__init__.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/client/command_center/widgets/bindings.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/client/command_center/widgets/connection_query.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/client/command_center/widgets/registry.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/client/command_center/widgets/table.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/client/command_center/widgets/tabular_transform.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/client/command_center/workspace.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/client/command_center/workspace_snapshot.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/client/command_center/workspaces/__init__.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/client/command_center/workspaces/documents.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/client/command_center/workspaces/mounted_widgets.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/client/compute_validation.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/client/data_sources_interfaces/__init__.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/client/data_sources_interfaces/duckdb.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/client/data_sources_interfaces/local_paths.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/client/data_sources_interfaces/sqlite.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/client/dtype_codec.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/client/exceptions.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/client/fastapi/__init__.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/client/fastapi/auth.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/client/metatables/__init__.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/client/metatables/core.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/client/models_helpers.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/client/models_user.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/client/utils.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/defaults.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/instrumentation/__init__.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/instrumentation/utils.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/logconf.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/meta_tables/__init__.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/meta_tables/__main__.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/meta_tables/compiled_sql/__init__.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/meta_tables/compiled_sql/v1.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/meta_tables/data_nodes/__init__.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/meta_tables/data_nodes/build_operations.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/meta_tables/data_nodes/data_nodes.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/meta_tables/data_nodes/models.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/meta_tables/data_nodes/namespacing.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/meta_tables/data_nodes/persist_managers.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/meta_tables/data_nodes/run_operations.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/meta_tables/data_nodes/utils.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/meta_tables/future_registry.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/meta_tables/hashing.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/meta_tables/migrations/__init__.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/meta_tables/migrations/alembic.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/meta_tables/migrations/env.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/meta_tables/migrations/provider.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/meta_tables/migrations/registry.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/meta_tables/migrations/scaffold.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/meta_tables/migrations/templates/__init__.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/meta_tables/migrations/templates/env.py.mako +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/meta_tables/migrations/templates/script.py.mako +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/meta_tables/pydantic_metadata.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/meta_tables/schema_names.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/meta_tables/sqlalchemy_contracts.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/runtime_flags.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence/scaffold_skills.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence.egg-info/SOURCES.txt +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence.egg-info/dependency_links.txt +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence.egg-info/entry_points.txt +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence.egg-info/requires.txt +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/mainsequence.egg-info/top_level.txt +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/setup.cfg +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/tests/test_auth_precedence.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/tests/test_build_operations_hashing.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/tests/test_cli_browser_auth.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/tests/test_cli_migrations.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/tests/test_client.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/tests/test_command_center_app_component_models.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/tests/test_command_center_data_models.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/tests/test_command_center_models.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/tests/test_command_center_table_contracts.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/tests/test_command_center_tabular_transform.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/tests/test_data_access_mixin_dimension_audit.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/tests/test_data_node_storage_dimension_queries.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/tests/test_data_node_update_flow.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/tests/test_dependency_extras.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/tests/test_duckdb_interface_dimensions.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/tests/test_instrumentation.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/tests/test_logconf.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/tests/test_meta_table_migrations.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/tests/test_meta_tables_client_models.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/tests/test_meta_tables_sqlalchemy_contracts.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/tests/test_models_user_request_bound_auth.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/tests/test_pod_project_resolution.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/tests/test_project_batch_jobs_from_file.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/tests/test_run_configuration.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/tests/test_scaffold_skills.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/tests/test_schema_names.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/tests/test_secret_client_model.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/tests/test_source_table_configuration.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/tests/test_sqlite_interface_dimensions.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/tests/test_update_runner_uid_runtime.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/tests/test_update_statistics.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/tests/test_update_uid_guards.py +0 -0
- {mainsequence-4.4.18 → mainsequence-4.4.20}/tests/test_workspace_snapshot.py +0 -0
|
@@ -1067,7 +1067,6 @@ def semantic_search_agents(
|
|
|
1067
1067
|
def create_agent(
|
|
1068
1068
|
*,
|
|
1069
1069
|
name: str,
|
|
1070
|
-
agent_unique_id: str,
|
|
1071
1070
|
description: str | None = None,
|
|
1072
1071
|
status: str | None = None,
|
|
1073
1072
|
labels: list[str] | None = None,
|
|
@@ -1086,7 +1085,6 @@ def create_agent(
|
|
|
1086
1085
|
key: value
|
|
1087
1086
|
for key, value in {
|
|
1088
1087
|
"name": name,
|
|
1089
|
-
"agent_unique_id": agent_unique_id,
|
|
1090
1088
|
"description": description,
|
|
1091
1089
|
"status": status,
|
|
1092
1090
|
"labels": labels,
|
|
@@ -1113,55 +1111,6 @@ def create_agent(
|
|
|
1113
1111
|
raise ApiError(f"Agent creation failed: {e}") from e
|
|
1114
1112
|
|
|
1115
1113
|
|
|
1116
|
-
def get_or_create_agent(
|
|
1117
|
-
*,
|
|
1118
|
-
name: str,
|
|
1119
|
-
agent_unique_id: str,
|
|
1120
|
-
description: str | None = None,
|
|
1121
|
-
status: str | None = None,
|
|
1122
|
-
labels: list[str] | None = None,
|
|
1123
|
-
llm_provider: str | None = None,
|
|
1124
|
-
llm_model: str | None = None,
|
|
1125
|
-
engine_name: str | None = None,
|
|
1126
|
-
runtime_config: dict[str, Any] | None = None,
|
|
1127
|
-
configuration: dict[str, Any] | None = None,
|
|
1128
|
-
metadata: dict[str, Any] | None = None,
|
|
1129
|
-
timeout: int | None = None,
|
|
1130
|
-
) -> dict[str, Any]:
|
|
1131
|
-
"""
|
|
1132
|
-
Get or create one agent via SDK client model.
|
|
1133
|
-
"""
|
|
1134
|
-
payload = {
|
|
1135
|
-
key: value
|
|
1136
|
-
for key, value in {
|
|
1137
|
-
"name": name,
|
|
1138
|
-
"agent_unique_id": agent_unique_id,
|
|
1139
|
-
"description": description,
|
|
1140
|
-
"status": status,
|
|
1141
|
-
"labels": labels,
|
|
1142
|
-
"llm_provider": llm_provider,
|
|
1143
|
-
"llm_model": llm_model,
|
|
1144
|
-
"engine_name": engine_name,
|
|
1145
|
-
"runtime_config": runtime_config,
|
|
1146
|
-
"configuration": configuration,
|
|
1147
|
-
"metadata": metadata,
|
|
1148
|
-
}.items()
|
|
1149
|
-
if value is not None
|
|
1150
|
-
}
|
|
1151
|
-
|
|
1152
|
-
try:
|
|
1153
|
-
agent = _run_sdk_model_operation(
|
|
1154
|
-
module_name="mainsequence.client.agent_runtime_models",
|
|
1155
|
-
class_name="Agent",
|
|
1156
|
-
operation=lambda ClientAgent: ClientAgent.get_or_create(timeout=timeout, **payload),
|
|
1157
|
-
)
|
|
1158
|
-
return _sdk_object_to_dict(agent)
|
|
1159
|
-
except Exception as e:
|
|
1160
|
-
if isinstance(e, (ApiError, NotLoggedIn)):
|
|
1161
|
-
raise
|
|
1162
|
-
raise ApiError(f"Agent get_or_create failed: {e}") from e
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
1114
|
def delete_agent(
|
|
1166
1115
|
agent_uid: str,
|
|
1167
1116
|
*,
|
|
@@ -1261,41 +1210,13 @@ def list_agent_sessions(
|
|
|
1261
1210
|
timeout: int | None = None,
|
|
1262
1211
|
filters: dict[str, Any] | None = None,
|
|
1263
1212
|
agent_uid: str | None = None,
|
|
1264
|
-
agent_unique_id: str | None = None,
|
|
1265
1213
|
) -> list[dict[str, Any]]:
|
|
1266
1214
|
"""
|
|
1267
1215
|
List agent sessions via SDK client model, optionally scoped to one agent.
|
|
1268
1216
|
"""
|
|
1269
|
-
if agent_uid and agent_unique_id:
|
|
1270
|
-
raise ApiError("Pass either agent_uid or agent_unique_id, not both.")
|
|
1271
|
-
|
|
1272
1217
|
session_filters = dict(filters or {})
|
|
1273
1218
|
if agent_uid:
|
|
1274
1219
|
session_filters["agent_uid"] = str(agent_uid)
|
|
1275
|
-
elif agent_unique_id:
|
|
1276
|
-
try:
|
|
1277
|
-
agent = _run_sdk_model_operation(
|
|
1278
|
-
module_name="mainsequence.client.agent_runtime_models",
|
|
1279
|
-
class_name="Agent",
|
|
1280
|
-
operation=lambda ClientAgent: ClientAgent.get_by_agent_unique_id(
|
|
1281
|
-
str(agent_unique_id), timeout=timeout
|
|
1282
|
-
),
|
|
1283
|
-
)
|
|
1284
|
-
except Exception as e:
|
|
1285
|
-
err_name = type(e).__name__
|
|
1286
|
-
if err_name in {"DoesNotExist", "NotFoundError"}:
|
|
1287
|
-
raise ApiError(f"Agent not found for agent_unique_id={agent_unique_id!r}") from e
|
|
1288
|
-
if isinstance(e, (ApiError, NotLoggedIn)):
|
|
1289
|
-
raise
|
|
1290
|
-
raise ApiError(
|
|
1291
|
-
f"Agent lookup failed for agent_unique_id={agent_unique_id!r}: {e}"
|
|
1292
|
-
) from e
|
|
1293
|
-
|
|
1294
|
-
resolved_agent = _sdk_object_to_dict(agent)
|
|
1295
|
-
resolved_agent_uid = str(resolved_agent.get("uid") or "").strip()
|
|
1296
|
-
if not resolved_agent_uid:
|
|
1297
|
-
raise ApiError(f"Agent lookup returned no uid for agent_unique_id={agent_unique_id!r}")
|
|
1298
|
-
session_filters["agent_uid"] = resolved_agent_uid
|
|
1299
1220
|
|
|
1300
1221
|
try:
|
|
1301
1222
|
payload = _run_sdk_model_operation(
|
|
@@ -118,7 +118,6 @@ from .api import (
|
|
|
118
118
|
get_data_node_storage,
|
|
119
119
|
get_logged_user_details,
|
|
120
120
|
get_meta_table,
|
|
121
|
-
get_or_create_agent,
|
|
122
121
|
get_organization_team,
|
|
123
122
|
get_project,
|
|
124
123
|
get_project_data_node_updates,
|
|
@@ -3476,7 +3475,6 @@ def _format_agent_preview(agent_payload: dict[str, object]) -> list[tuple[str, s
|
|
|
3476
3475
|
labels = agent_payload.get("labels")
|
|
3477
3476
|
return [
|
|
3478
3477
|
("UID", str(agent_payload.get("uid") or "-")),
|
|
3479
|
-
("Unique ID", str(agent_payload.get("agent_unique_id") or "-")),
|
|
3480
3478
|
("Name", str(agent_payload.get("name") or "-")),
|
|
3481
3479
|
("Description", str(agent_payload.get("description") or "-")),
|
|
3482
3480
|
("Status", str(agent_payload.get("status") or "-")),
|
|
@@ -3501,9 +3499,7 @@ def _format_agent_details(agent_payload: dict[str, object]) -> list[tuple[str, s
|
|
|
3501
3499
|
|
|
3502
3500
|
def _format_agent_ref_label(agent_ref: object) -> str:
|
|
3503
3501
|
if isinstance(agent_ref, dict):
|
|
3504
|
-
return str(
|
|
3505
|
-
agent_ref.get("name") or agent_ref.get("agent_unique_id") or agent_ref.get("uid") or "-"
|
|
3506
|
-
)
|
|
3502
|
+
return str(agent_ref.get("name") or agent_ref.get("uid") or "-")
|
|
3507
3503
|
return str(agent_ref or "-")
|
|
3508
3504
|
|
|
3509
3505
|
|
|
@@ -3630,7 +3626,6 @@ def _agent_list_impl(
|
|
|
3630
3626
|
rows.append(
|
|
3631
3627
|
[
|
|
3632
3628
|
str(agent_payload.get("uid") or "-"),
|
|
3633
|
-
str(agent_payload.get("agent_unique_id") or "-"),
|
|
3634
3629
|
str(agent_payload.get("name") or "-"),
|
|
3635
3630
|
str(agent_payload.get("status") or "-"),
|
|
3636
3631
|
", ".join(str(item) for item in labels)
|
|
@@ -3648,7 +3643,6 @@ def _agent_list_impl(
|
|
|
3648
3643
|
"Agents",
|
|
3649
3644
|
[
|
|
3650
3645
|
"UID",
|
|
3651
|
-
"Unique ID",
|
|
3652
3646
|
"Name",
|
|
3653
3647
|
"Status",
|
|
3654
3648
|
"Labels",
|
|
@@ -3709,7 +3703,7 @@ def _agent_search_impl(
|
|
|
3709
3703
|
for result in results:
|
|
3710
3704
|
rows.append(
|
|
3711
3705
|
[
|
|
3712
|
-
str(result.get("
|
|
3706
|
+
str(result.get("uid") or "-"),
|
|
3713
3707
|
str(result.get("name") or "-"),
|
|
3714
3708
|
str(
|
|
3715
3709
|
result.get("combined_score")
|
|
@@ -3729,7 +3723,7 @@ def _agent_search_impl(
|
|
|
3729
3723
|
if rows:
|
|
3730
3724
|
print_table(
|
|
3731
3725
|
"Agent Search Results",
|
|
3732
|
-
["
|
|
3726
|
+
["UID", "Name", "Combined", "Semantic", "Text", "Description"],
|
|
3733
3727
|
rows,
|
|
3734
3728
|
)
|
|
3735
3729
|
else:
|
|
@@ -3740,7 +3734,6 @@ def _agent_search_impl(
|
|
|
3740
3734
|
def _agent_create_impl(
|
|
3741
3735
|
*,
|
|
3742
3736
|
name: str | None,
|
|
3743
|
-
agent_unique_id: str | None,
|
|
3744
3737
|
description: str | None,
|
|
3745
3738
|
status_value: str | None,
|
|
3746
3739
|
labels: list[str] | None,
|
|
@@ -3760,12 +3753,6 @@ def _agent_create_impl(
|
|
|
3760
3753
|
if not agent_name:
|
|
3761
3754
|
error("Agent name is required.")
|
|
3762
3755
|
raise typer.Exit(1)
|
|
3763
|
-
unique_id = (agent_unique_id or "").strip() or typer.prompt(
|
|
3764
|
-
pydantic_prompt_text(AGENT_MODEL_REF, "agent_unique_id")
|
|
3765
|
-
).strip()
|
|
3766
|
-
if not unique_id:
|
|
3767
|
-
error("Agent unique id is required.")
|
|
3768
|
-
raise typer.Exit(1)
|
|
3769
3756
|
|
|
3770
3757
|
try:
|
|
3771
3758
|
runtime_config_payload = (
|
|
@@ -3790,7 +3777,6 @@ def _agent_create_impl(
|
|
|
3790
3777
|
try:
|
|
3791
3778
|
created = create_agent(
|
|
3792
3779
|
name=agent_name,
|
|
3793
|
-
agent_unique_id=unique_id,
|
|
3794
3780
|
description=description,
|
|
3795
3781
|
status=status_value,
|
|
3796
3782
|
labels=_parse_cli_csv_list(labels),
|
|
@@ -3813,82 +3799,6 @@ def _agent_create_impl(
|
|
|
3813
3799
|
print_kv("Created Agent", _format_agent_preview(created))
|
|
3814
3800
|
|
|
3815
3801
|
|
|
3816
|
-
def _agent_get_or_create_impl(
|
|
3817
|
-
*,
|
|
3818
|
-
name: str | None,
|
|
3819
|
-
agent_unique_id: str | None,
|
|
3820
|
-
description: str | None,
|
|
3821
|
-
status_value: str | None,
|
|
3822
|
-
labels: list[str] | None,
|
|
3823
|
-
llm_provider: str | None,
|
|
3824
|
-
llm_model: str | None,
|
|
3825
|
-
engine_name: str | None,
|
|
3826
|
-
runtime_config: str | None,
|
|
3827
|
-
configuration: str | None,
|
|
3828
|
-
metadata: str | None,
|
|
3829
|
-
timeout: int | None,
|
|
3830
|
-
) -> None:
|
|
3831
|
-
_require_login()
|
|
3832
|
-
|
|
3833
|
-
agent_name = (name or "").strip() or typer.prompt(
|
|
3834
|
-
pydantic_prompt_text(AGENT_MODEL_REF, "name")
|
|
3835
|
-
).strip()
|
|
3836
|
-
if not agent_name:
|
|
3837
|
-
error("Agent name is required.")
|
|
3838
|
-
raise typer.Exit(1)
|
|
3839
|
-
unique_id = (agent_unique_id or "").strip() or typer.prompt(
|
|
3840
|
-
pydantic_prompt_text(AGENT_MODEL_REF, "agent_unique_id")
|
|
3841
|
-
).strip()
|
|
3842
|
-
if not unique_id:
|
|
3843
|
-
error("Agent unique id is required.")
|
|
3844
|
-
raise typer.Exit(1)
|
|
3845
|
-
|
|
3846
|
-
try:
|
|
3847
|
-
runtime_config_payload = (
|
|
3848
|
-
_parse_json_dict_option(runtime_config, field_label="runtime_config")
|
|
3849
|
-
if runtime_config is not None
|
|
3850
|
-
else None
|
|
3851
|
-
)
|
|
3852
|
-
configuration_payload = (
|
|
3853
|
-
_parse_json_dict_option(configuration, field_label="configuration")
|
|
3854
|
-
if configuration is not None
|
|
3855
|
-
else None
|
|
3856
|
-
)
|
|
3857
|
-
metadata_payload = (
|
|
3858
|
-
_parse_json_dict_option(metadata, field_label="metadata")
|
|
3859
|
-
if metadata is not None
|
|
3860
|
-
else None
|
|
3861
|
-
)
|
|
3862
|
-
except ValueError as e:
|
|
3863
|
-
error(str(e))
|
|
3864
|
-
raise typer.Exit(1) from e
|
|
3865
|
-
|
|
3866
|
-
try:
|
|
3867
|
-
created = get_or_create_agent(
|
|
3868
|
-
name=agent_name,
|
|
3869
|
-
agent_unique_id=unique_id,
|
|
3870
|
-
description=description,
|
|
3871
|
-
status=status_value,
|
|
3872
|
-
labels=_parse_cli_csv_list(labels),
|
|
3873
|
-
llm_provider=llm_provider,
|
|
3874
|
-
llm_model=llm_model,
|
|
3875
|
-
engine_name=engine_name,
|
|
3876
|
-
runtime_config=runtime_config_payload,
|
|
3877
|
-
configuration=configuration_payload,
|
|
3878
|
-
metadata=metadata_payload,
|
|
3879
|
-
timeout=timeout,
|
|
3880
|
-
)
|
|
3881
|
-
except ApiError as e:
|
|
3882
|
-
error(f"Agent get_or_create failed: {e}")
|
|
3883
|
-
raise typer.Exit(1) from e
|
|
3884
|
-
|
|
3885
|
-
if _emit_json(created):
|
|
3886
|
-
return
|
|
3887
|
-
|
|
3888
|
-
success(f"Agent resolved via get_or_create: {agent_name}")
|
|
3889
|
-
print_kv("Resolved Agent", _format_agent_preview(created))
|
|
3890
|
-
|
|
3891
|
-
|
|
3892
3802
|
def _agent_delete_impl(
|
|
3893
3803
|
*,
|
|
3894
3804
|
agent_uid: str,
|
|
@@ -4043,7 +3953,6 @@ def _agent_session_a2a_send_impl(
|
|
|
4043
3953
|
def _agent_session_list_impl(
|
|
4044
3954
|
*,
|
|
4045
3955
|
agent_uid: str | None,
|
|
4046
|
-
agent_unique_id: str | None,
|
|
4047
3956
|
timeout: int | None,
|
|
4048
3957
|
filter_entries: list[str] | None,
|
|
4049
3958
|
show_filters: bool,
|
|
@@ -4054,15 +3963,10 @@ def _agent_session_list_impl(
|
|
|
4054
3963
|
show_filters=show_filters,
|
|
4055
3964
|
command_label="Agent Sessions",
|
|
4056
3965
|
)
|
|
4057
|
-
if agent_uid and
|
|
4058
|
-
error("Pass either `--agent-uid` or `--agent-unique-id`, not both.")
|
|
4059
|
-
raise typer.Exit(1)
|
|
4060
|
-
if (agent_uid or agent_unique_id) and any(
|
|
4061
|
-
key in filters for key in ("agent_uid", "agent_uid__in")
|
|
4062
|
-
):
|
|
3966
|
+
if agent_uid and any(key in filters for key in ("agent_uid", "agent_uid__in")):
|
|
4063
3967
|
error(
|
|
4064
|
-
"Do not pass `--filter agent_uid=...` with `--agent-uid
|
|
4065
|
-
"
|
|
3968
|
+
"Do not pass `--filter agent_uid=...` with `--agent-uid`. "
|
|
3969
|
+
"Use only one agent scope."
|
|
4066
3970
|
)
|
|
4067
3971
|
raise typer.Exit(1)
|
|
4068
3972
|
|
|
@@ -4073,7 +3977,6 @@ def _agent_session_list_impl(
|
|
|
4073
3977
|
timeout=timeout,
|
|
4074
3978
|
filters=filters,
|
|
4075
3979
|
agent_uid=agent_uid,
|
|
4076
|
-
agent_unique_id=agent_unique_id,
|
|
4077
3980
|
)
|
|
4078
3981
|
except ApiError as e:
|
|
4079
3982
|
error(f"Agent sessions fetch failed: {e}")
|
|
@@ -6606,9 +6509,6 @@ def agent_search_cmd(
|
|
|
6606
6509
|
@agent.command("create")
|
|
6607
6510
|
def agent_create_cmd(
|
|
6608
6511
|
name: str | None = pydantic_argument(AGENT_MODEL_REF, "name", None),
|
|
6609
|
-
agent_unique_id: str | None = pydantic_option(
|
|
6610
|
-
AGENT_MODEL_REF, "agent_unique_id", None, "--agent-unique-id"
|
|
6611
|
-
),
|
|
6612
6512
|
description: str | None = pydantic_option(
|
|
6613
6513
|
AGENT_MODEL_REF, "description", None, "--description"
|
|
6614
6514
|
),
|
|
@@ -6651,69 +6551,6 @@ def agent_create_cmd(
|
|
|
6651
6551
|
"""
|
|
6652
6552
|
_agent_create_impl(
|
|
6653
6553
|
name=name,
|
|
6654
|
-
agent_unique_id=agent_unique_id,
|
|
6655
|
-
description=description,
|
|
6656
|
-
status_value=status_value,
|
|
6657
|
-
labels=labels,
|
|
6658
|
-
llm_provider=llm_provider,
|
|
6659
|
-
llm_model=llm_model,
|
|
6660
|
-
engine_name=engine_name,
|
|
6661
|
-
runtime_config=runtime_config,
|
|
6662
|
-
configuration=configuration,
|
|
6663
|
-
metadata=metadata,
|
|
6664
|
-
timeout=timeout,
|
|
6665
|
-
)
|
|
6666
|
-
|
|
6667
|
-
|
|
6668
|
-
@agent.command("get_or_create")
|
|
6669
|
-
def agent_get_or_create_cmd(
|
|
6670
|
-
name: str | None = pydantic_argument(AGENT_MODEL_REF, "name", None),
|
|
6671
|
-
agent_unique_id: str | None = pydantic_option(
|
|
6672
|
-
AGENT_MODEL_REF, "agent_unique_id", None, "--agent-unique-id"
|
|
6673
|
-
),
|
|
6674
|
-
description: str | None = pydantic_option(
|
|
6675
|
-
AGENT_MODEL_REF, "description", None, "--description"
|
|
6676
|
-
),
|
|
6677
|
-
status_value: str | None = typer.Option(
|
|
6678
|
-
None,
|
|
6679
|
-
"--status",
|
|
6680
|
-
help="Lifecycle status for the agent. One of: draft, active, archived.",
|
|
6681
|
-
),
|
|
6682
|
-
labels: list[str] | None = typer.Option(
|
|
6683
|
-
None, "--label", help="Repeatable or comma-separated agent label."
|
|
6684
|
-
),
|
|
6685
|
-
llm_provider: str | None = pydantic_option(
|
|
6686
|
-
AGENT_MODEL_REF, "llm_provider", None, "--llm-provider"
|
|
6687
|
-
),
|
|
6688
|
-
llm_model: str | None = pydantic_option(AGENT_MODEL_REF, "llm_model", None, "--llm-model"),
|
|
6689
|
-
engine_name: str | None = typer.Option(
|
|
6690
|
-
None,
|
|
6691
|
-
"--engine-name",
|
|
6692
|
-
help="Optional execution engine name to store on the agent.",
|
|
6693
|
-
),
|
|
6694
|
-
runtime_config: str | None = typer.Option(
|
|
6695
|
-
None,
|
|
6696
|
-
"--runtime-config",
|
|
6697
|
-
help="Runtime config JSON object to store on the agent.",
|
|
6698
|
-
),
|
|
6699
|
-
configuration: str | None = typer.Option(
|
|
6700
|
-
None,
|
|
6701
|
-
"--configuration",
|
|
6702
|
-
help="Additional configuration JSON object to store on the agent.",
|
|
6703
|
-
),
|
|
6704
|
-
metadata: str | None = typer.Option(
|
|
6705
|
-
None,
|
|
6706
|
-
"--metadata",
|
|
6707
|
-
help="Additional metadata JSON object to store on the agent.",
|
|
6708
|
-
),
|
|
6709
|
-
timeout: int | None = typer.Option(None, "--timeout", help="Request timeout in seconds"),
|
|
6710
|
-
):
|
|
6711
|
-
"""
|
|
6712
|
-
Get or create one agent by deterministic unique id.
|
|
6713
|
-
"""
|
|
6714
|
-
_agent_get_or_create_impl(
|
|
6715
|
-
name=name,
|
|
6716
|
-
agent_unique_id=agent_unique_id,
|
|
6717
6554
|
description=description,
|
|
6718
6555
|
status_value=status_value,
|
|
6719
6556
|
labels=labels,
|
|
@@ -6818,13 +6655,6 @@ def agent_session_list_cmd(
|
|
|
6818
6655
|
"--agent-uid",
|
|
6819
6656
|
help="Agent UID to scope the session list.",
|
|
6820
6657
|
),
|
|
6821
|
-
agent_unique_id: str | None = pydantic_option(
|
|
6822
|
-
AGENT_MODEL_REF,
|
|
6823
|
-
"agent_unique_id",
|
|
6824
|
-
None,
|
|
6825
|
-
"--agent-unique-id",
|
|
6826
|
-
help="Agent unique id to resolve before listing sessions.",
|
|
6827
|
-
),
|
|
6828
6658
|
filter_entries: list[str] | None = typer.Option(None, "--filter", help=LIST_FILTER_OPTION_HELP),
|
|
6829
6659
|
show_filters: bool = typer.Option(
|
|
6830
6660
|
False, "--show-filters", help="Show the filters supported by this list command and exit."
|
|
@@ -6841,13 +6671,11 @@ def agent_session_list_cmd(
|
|
|
6841
6671
|
```bash
|
|
6842
6672
|
mainsequence agent session list
|
|
6843
6673
|
mainsequence agent session list --agent-uid e0e75693-4110-464c-93e0-82c7fd9c9a23
|
|
6844
|
-
mainsequence agent session list --agent-unique-id research-copilot
|
|
6845
6674
|
mainsequence agent session list --agent-uid e0e75693-4110-464c-93e0-82c7fd9c9a23 --filter status=running
|
|
6846
6675
|
```
|
|
6847
6676
|
"""
|
|
6848
6677
|
_agent_session_list_impl(
|
|
6849
6678
|
agent_uid=agent_uid,
|
|
6850
|
-
agent_unique_id=agent_unique_id,
|
|
6851
6679
|
timeout=timeout,
|
|
6852
6680
|
filter_entries=filter_entries,
|
|
6853
6681
|
show_filters=show_filters,
|