solace-agent-mesh 1.7.1__py3-none-any.whl → 1.13.2__py3-none-any.whl
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.
Potentially problematic release.
This version of solace-agent-mesh might be problematic. Click here for more details.
- solace_agent_mesh/agent/adk/alembic/README +74 -0
- solace_agent_mesh/agent/adk/alembic/env.py +77 -0
- solace_agent_mesh/agent/adk/alembic/script.py.mako +28 -0
- solace_agent_mesh/agent/adk/alembic/versions/e2902798564d_adk_session_db_upgrade.py +52 -0
- solace_agent_mesh/agent/adk/alembic.ini +112 -0
- solace_agent_mesh/agent/adk/artifacts/filesystem_artifact_service.py +164 -0
- solace_agent_mesh/agent/adk/artifacts/s3_artifact_service.py +163 -0
- solace_agent_mesh/agent/adk/callbacks.py +752 -127
- solace_agent_mesh/agent/adk/embed_resolving_mcp_toolset.py +99 -7
- solace_agent_mesh/agent/adk/intelligent_mcp_callbacks.py +52 -5
- solace_agent_mesh/agent/adk/mcp_content_processor.py +1 -1
- solace_agent_mesh/agent/adk/models/lite_llm.py +34 -16
- solace_agent_mesh/agent/adk/models/oauth2_token_manager.py +24 -137
- solace_agent_mesh/agent/adk/runner.py +66 -8
- solace_agent_mesh/agent/adk/schema_migration.py +88 -0
- solace_agent_mesh/agent/adk/services.py +41 -1
- solace_agent_mesh/agent/adk/setup.py +220 -32
- solace_agent_mesh/agent/adk/stream_parser.py +229 -40
- solace_agent_mesh/agent/protocol/event_handlers.py +219 -33
- solace_agent_mesh/agent/proxies/a2a/component.py +572 -75
- solace_agent_mesh/agent/proxies/a2a/config.py +80 -4
- solace_agent_mesh/agent/proxies/base/component.py +188 -22
- solace_agent_mesh/agent/proxies/base/proxy_task_context.py +3 -1
- solace_agent_mesh/agent/sac/app.py +37 -12
- solace_agent_mesh/agent/sac/component.py +322 -52
- solace_agent_mesh/agent/sac/patch_adk.py +8 -16
- solace_agent_mesh/agent/sac/task_execution_context.py +90 -0
- solace_agent_mesh/agent/tools/__init__.py +3 -0
- solace_agent_mesh/agent/tools/audio_tools.py +3 -3
- solace_agent_mesh/agent/tools/builtin_artifact_tools.py +698 -24
- solace_agent_mesh/agent/tools/deep_research_tools.py +2161 -0
- solace_agent_mesh/agent/tools/peer_agent_tool.py +82 -15
- solace_agent_mesh/agent/tools/time_tools.py +126 -0
- solace_agent_mesh/agent/tools/tool_config_types.py +54 -2
- solace_agent_mesh/agent/tools/web_search_tools.py +279 -0
- solace_agent_mesh/agent/tools/web_tools.py +125 -17
- solace_agent_mesh/agent/utils/artifact_helpers.py +243 -5
- solace_agent_mesh/agent/utils/context_helpers.py +17 -0
- solace_agent_mesh/assets/docs/404.html +6 -6
- solace_agent_mesh/assets/docs/assets/css/{styles.906a1503.css → styles.8162edfb.css} +1 -1
- solace_agent_mesh/assets/docs/assets/js/05749d90.19ac4f35.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/15ba94aa.e186750d.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/15e40e79.434bb30f.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/17896441.e612dfb4.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/2279.550aa580.js +2 -0
- solace_agent_mesh/assets/docs/assets/js/{17896441.a5e82f9b.js.LICENSE.txt → 2279.550aa580.js.LICENSE.txt} +6 -0
- solace_agent_mesh/assets/docs/assets/js/240a0364.83e37aa8.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/2e32b5e0.2f0db237.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/3a6c6137.7e61915d.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/3ac1795d.7f7ab1c1.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/3ff0015d.e53c9b78.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/41adc471.0e95b87c.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/4667dc50.bf2ad456.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/49eed117.493d6f99.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/{509e993c.4c7a1a6d.js → 509e993c.a1fbf45a.js} +1 -1
- solace_agent_mesh/assets/docs/assets/js/547e15cc.8e6da617.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/55b7b518.29d6e75d.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/5b8d9c11.d4eb37b8.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/5c2bd65f.1ee87753.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/60702c0e.a8bdd79b.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/64195356.09dbd087.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/66d4869e.30340bd3.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/6aaedf65.7253541d.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/6d84eae0.fd23ba4a.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/729898df.7249e9fd.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/7e294c01.7c5f6906.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/8024126c.e3467286.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/81a99df0.7ed65d45.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/82fbfb93.161823a5.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/924ffdeb.975e428a.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/94e8668d.16083b3f.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/9bb13469.4523ae20.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/a7d42657.a956689d.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/a94703ab.3e5fbcb3.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/ab9708a8.3e563275.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/c93cbaa0.0e0d8baf.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/cab03b5b.6a073091.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/cbe2e9ea.07e170dd.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/e04b235d.06d23db6.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/e1b6eeb4.deb2b62e.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/e3d9abda.1476f570.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/e6f9706b.acc800d3.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/e92d0134.c147a429.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/ee0c2fe7.94d0a351.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/f284c35a.cc97854c.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/main.d634009f.js +2 -0
- solace_agent_mesh/assets/docs/assets/js/runtime~main.27bb82a7.js +1 -0
- solace_agent_mesh/assets/docs/docs/documentation/components/agents/index.html +68 -68
- solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/artifact-management/index.html +50 -50
- solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/audio-tools/index.html +42 -42
- solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/data-analysis-tools/index.html +55 -55
- solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/embeds/index.html +75 -75
- solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/image-tools/index.html +81 -0
- solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/index.html +67 -50
- solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/research-tools/index.html +136 -0
- solace_agent_mesh/assets/docs/docs/documentation/components/cli/index.html +178 -144
- solace_agent_mesh/assets/docs/docs/documentation/components/gateways/index.html +43 -42
- solace_agent_mesh/assets/docs/docs/documentation/components/index.html +20 -18
- solace_agent_mesh/assets/docs/docs/documentation/components/orchestrator/index.html +23 -23
- solace_agent_mesh/assets/docs/docs/documentation/components/platform-service/index.html +33 -0
- solace_agent_mesh/assets/docs/docs/documentation/components/plugins/index.html +45 -45
- solace_agent_mesh/assets/docs/docs/documentation/components/projects/index.html +98 -112
- solace_agent_mesh/assets/docs/docs/documentation/components/prompts/index.html +147 -0
- solace_agent_mesh/assets/docs/docs/documentation/components/proxies/index.html +208 -125
- solace_agent_mesh/assets/docs/docs/documentation/components/speech/index.html +52 -0
- solace_agent_mesh/assets/docs/docs/documentation/deploying/debugging/index.html +28 -28
- solace_agent_mesh/assets/docs/docs/documentation/deploying/deployment-options/index.html +29 -29
- solace_agent_mesh/assets/docs/docs/documentation/deploying/index.html +14 -14
- solace_agent_mesh/assets/docs/docs/documentation/deploying/kubernetes/index.html +47 -0
- solace_agent_mesh/assets/docs/docs/documentation/deploying/kubernetes/kubernetes-deployment-guide/index.html +197 -0
- solace_agent_mesh/assets/docs/docs/documentation/deploying/logging/index.html +67 -53
- solace_agent_mesh/assets/docs/docs/documentation/deploying/observability/index.html +17 -17
- solace_agent_mesh/assets/docs/docs/documentation/deploying/proxy_configuration/index.html +49 -0
- solace_agent_mesh/assets/docs/docs/documentation/developing/create-agents/index.html +38 -38
- solace_agent_mesh/assets/docs/docs/documentation/developing/create-gateways/index.html +87 -87
- solace_agent_mesh/assets/docs/docs/documentation/developing/creating-python-tools/index.html +67 -49
- solace_agent_mesh/assets/docs/docs/documentation/developing/creating-service-providers/index.html +17 -17
- solace_agent_mesh/assets/docs/docs/documentation/developing/evaluations/index.html +51 -51
- solace_agent_mesh/assets/docs/docs/documentation/developing/index.html +22 -22
- solace_agent_mesh/assets/docs/docs/documentation/developing/structure/index.html +27 -27
- solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/bedrock-agents/index.html +135 -135
- solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/custom-agent/index.html +66 -66
- solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/event-mesh-gateway/index.html +51 -51
- solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/mcp-integration/index.html +50 -38
- solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/mongodb-integration/index.html +86 -86
- solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/rag-integration/index.html +51 -51
- solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/rest-gateway/index.html +24 -24
- solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/slack-integration/index.html +30 -30
- solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/sql-database/index.html +44 -44
- solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/teams-integration/index.html +115 -0
- solace_agent_mesh/assets/docs/docs/documentation/enterprise/agent-builder/index.html +50 -23
- solace_agent_mesh/assets/docs/docs/documentation/enterprise/connectors/index.html +29 -24
- solace_agent_mesh/assets/docs/docs/documentation/enterprise/index.html +21 -21
- solace_agent_mesh/assets/docs/docs/documentation/enterprise/installation/index.html +40 -37
- solace_agent_mesh/assets/docs/docs/documentation/enterprise/openapi-tools/index.html +324 -0
- solace_agent_mesh/assets/docs/docs/documentation/enterprise/rbac-setup-guide/index.html +96 -66
- solace_agent_mesh/assets/docs/docs/documentation/enterprise/secure-user-delegated-access/index.html +181 -181
- solace_agent_mesh/assets/docs/docs/documentation/enterprise/single-sign-on/index.html +75 -75
- solace_agent_mesh/assets/docs/docs/documentation/enterprise/wheel-installation/index.html +27 -27
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/architecture/index.html +44 -44
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/index.html +39 -38
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/introduction/index.html +30 -30
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/try-agent-mesh/index.html +18 -18
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/vibe_coding/index.html +62 -0
- solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/artifact-storage/index.html +135 -114
- solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/configurations/index.html +37 -37
- solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/index.html +14 -14
- solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/installation/index.html +27 -25
- solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/large_language_models/index.html +69 -69
- solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/run-project/index.html +72 -72
- solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/session-storage/index.html +112 -112
- solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/user-feedback/index.html +28 -28
- solace_agent_mesh/assets/docs/docs/documentation/migrations/a2a-upgrade/a2a-gateway-upgrade-to-0.3.0/index.html +42 -42
- solace_agent_mesh/assets/docs/docs/documentation/migrations/a2a-upgrade/a2a-technical-migration-map/index.html +20 -20
- solace_agent_mesh/assets/docs/docs/documentation/migrations/platform-service-split/index.html +85 -0
- solace_agent_mesh/assets/docs/lunr-index-1768329217460.json +1 -0
- solace_agent_mesh/assets/docs/lunr-index.json +1 -1
- solace_agent_mesh/assets/docs/search-doc-1768329217460.json +1 -0
- solace_agent_mesh/assets/docs/search-doc.json +1 -1
- solace_agent_mesh/assets/docs/sitemap.xml +1 -1
- solace_agent_mesh/cli/__init__.py +1 -1
- solace_agent_mesh/cli/commands/add_cmd/__init__.py +3 -1
- solace_agent_mesh/cli/commands/add_cmd/agent_cmd.py +6 -1
- solace_agent_mesh/cli/commands/add_cmd/proxy_cmd.py +100 -0
- solace_agent_mesh/cli/commands/eval_cmd.py +1 -1
- solace_agent_mesh/cli/commands/init_cmd/__init__.py +15 -0
- solace_agent_mesh/cli/commands/init_cmd/directory_step.py +1 -1
- solace_agent_mesh/cli/commands/init_cmd/env_step.py +30 -3
- solace_agent_mesh/cli/commands/init_cmd/orchestrator_step.py +3 -4
- solace_agent_mesh/cli/commands/init_cmd/platform_service_step.py +85 -0
- solace_agent_mesh/cli/commands/init_cmd/webui_gateway_step.py +16 -3
- solace_agent_mesh/cli/commands/plugin_cmd/add_cmd.py +2 -1
- solace_agent_mesh/cli/commands/plugin_cmd/catalog_cmd.py +1 -0
- solace_agent_mesh/cli/commands/plugin_cmd/create_cmd.py +3 -3
- solace_agent_mesh/cli/commands/run_cmd.py +64 -49
- solace_agent_mesh/cli/commands/tools_cmd.py +315 -0
- solace_agent_mesh/cli/main.py +15 -0
- solace_agent_mesh/client/webui/frontend/static/assets/{authCallback-tcIFZLis.js → authCallback-KnKMP_vb.js} +1 -1
- solace_agent_mesh/client/webui/frontend/static/assets/client-DpBL2stg.js +25 -0
- solace_agent_mesh/client/webui/frontend/static/assets/main-Cd498TV2.js +435 -0
- solace_agent_mesh/client/webui/frontend/static/assets/main-rSf8Vu29.css +1 -0
- solace_agent_mesh/client/webui/frontend/static/assets/{vendor-CINwxvwV.js → vendor-CGk8Suyh.js} +189 -94
- solace_agent_mesh/client/webui/frontend/static/auth-callback.html +3 -3
- solace_agent_mesh/client/webui/frontend/static/index.html +4 -4
- solace_agent_mesh/client/webui/frontend/static/mockServiceWorker.js +336 -0
- solace_agent_mesh/client/webui/frontend/static/ui-version.json +6 -0
- solace_agent_mesh/common/a2a/types.py +1 -1
- solace_agent_mesh/common/agent_registry.py +38 -11
- solace_agent_mesh/common/data_parts.py +124 -0
- solace_agent_mesh/common/error_handlers.py +83 -0
- solace_agent_mesh/common/exceptions.py +24 -0
- solace_agent_mesh/common/oauth/__init__.py +17 -0
- solace_agent_mesh/common/oauth/oauth_client.py +408 -0
- solace_agent_mesh/common/oauth/utils.py +50 -0
- solace_agent_mesh/common/rag_dto.py +156 -0
- solace_agent_mesh/common/sac/sam_component_base.py +73 -1
- solace_agent_mesh/common/sam_events/event_service.py +2 -2
- solace_agent_mesh/common/utils/embeds/converter.py +1 -8
- solace_agent_mesh/common/utils/embeds/modifiers.py +2 -27
- solace_agent_mesh/common/utils/embeds/resolver.py +94 -25
- solace_agent_mesh/common/utils/embeds/types.py +1 -0
- solace_agent_mesh/common/utils/log_formatters.py +20 -0
- solace_agent_mesh/common/utils/mime_helpers.py +12 -5
- solace_agent_mesh/common/utils/rbac_utils.py +69 -0
- solace_agent_mesh/common/utils/templates/__init__.py +8 -0
- solace_agent_mesh/common/utils/templates/liquid_renderer.py +210 -0
- solace_agent_mesh/common/utils/templates/template_resolver.py +161 -0
- solace_agent_mesh/config_portal/backend/common.py +12 -0
- solace_agent_mesh/config_portal/frontend/static/client/assets/_index-CljP4_mv.js +103 -0
- solace_agent_mesh/config_portal/frontend/static/client/assets/{components-Rk0n-9cK.js → components-CaC6hG8d.js} +22 -22
- solace_agent_mesh/config_portal/frontend/static/client/assets/{entry.client-mvZjNKiz.js → entry.client-H_TM0YBt.js} +3 -3
- solace_agent_mesh/config_portal/frontend/static/client/assets/{index-DzNKzXrc.js → index-CnFykb2v.js} +16 -16
- solace_agent_mesh/config_portal/frontend/static/client/assets/manifest-f8439d40.js +1 -0
- solace_agent_mesh/config_portal/frontend/static/client/assets/root-BIMqslJB.css +1 -0
- solace_agent_mesh/config_portal/frontend/static/client/assets/root-mJmTIdIk.js +10 -0
- solace_agent_mesh/config_portal/frontend/static/client/index.html +3 -3
- solace_agent_mesh/core_a2a/service.py +3 -2
- solace_agent_mesh/gateway/adapter/base.py +28 -1
- solace_agent_mesh/gateway/adapter/types.py +9 -0
- solace_agent_mesh/gateway/base/app.py +10 -0
- solace_agent_mesh/gateway/base/auth_interface.py +103 -0
- solace_agent_mesh/gateway/base/component.py +451 -10
- solace_agent_mesh/gateway/generic/component.py +274 -30
- solace_agent_mesh/gateway/http_sse/alembic/env.py +0 -7
- solace_agent_mesh/gateway/http_sse/alembic/versions/20251023_add_soft_delete_and_search.py +2 -43
- solace_agent_mesh/gateway/http_sse/alembic/versions/20251024_add_default_agent_to_projects.py +2 -2
- solace_agent_mesh/gateway/http_sse/alembic/versions/20251108_create_prompt_tables_with_sharing.py +154 -0
- solace_agent_mesh/gateway/http_sse/alembic/versions/20251115_add_parent_task_id.py +32 -0
- solace_agent_mesh/gateway/http_sse/alembic/versions/20251126_add_background_task_fields.py +47 -0
- solace_agent_mesh/gateway/http_sse/alembic/versions/20251202_add_versioned_fields_to_prompts.py +52 -0
- solace_agent_mesh/gateway/http_sse/alembic.ini +0 -36
- solace_agent_mesh/gateway/http_sse/app.py +23 -6
- solace_agent_mesh/gateway/http_sse/component.py +158 -73
- solace_agent_mesh/gateway/http_sse/dependencies.py +50 -57
- solace_agent_mesh/gateway/http_sse/main.py +58 -482
- solace_agent_mesh/gateway/http_sse/repository/chat_task_repository.py +2 -2
- solace_agent_mesh/gateway/http_sse/repository/entities/project.py +1 -1
- solace_agent_mesh/gateway/http_sse/repository/entities/project_user.py +1 -1
- solace_agent_mesh/gateway/http_sse/repository/entities/session.py +3 -2
- solace_agent_mesh/gateway/http_sse/repository/entities/task.py +7 -0
- solace_agent_mesh/gateway/http_sse/repository/feedback_repository.py +2 -2
- solace_agent_mesh/gateway/http_sse/repository/interfaces.py +2 -2
- solace_agent_mesh/gateway/http_sse/repository/models/__init__.py +5 -0
- solace_agent_mesh/gateway/http_sse/repository/models/prompt_model.py +159 -0
- solace_agent_mesh/gateway/http_sse/repository/models/session_model.py +1 -1
- solace_agent_mesh/gateway/http_sse/repository/models/task_model.py +8 -1
- solace_agent_mesh/gateway/http_sse/repository/project_repository.py +1 -1
- solace_agent_mesh/gateway/http_sse/repository/project_user_repository.py +1 -1
- solace_agent_mesh/gateway/http_sse/repository/session_repository.py +12 -107
- solace_agent_mesh/gateway/http_sse/repository/task_repository.py +86 -2
- solace_agent_mesh/gateway/http_sse/routers/agent_cards.py +38 -7
- solace_agent_mesh/gateway/http_sse/routers/artifacts.py +113 -7
- solace_agent_mesh/gateway/http_sse/routers/auth.py +69 -132
- solace_agent_mesh/gateway/http_sse/routers/config.py +235 -10
- solace_agent_mesh/gateway/http_sse/routers/dto/project_dto.py +69 -0
- solace_agent_mesh/gateway/http_sse/routers/dto/prompt_dto.py +255 -0
- solace_agent_mesh/gateway/http_sse/routers/dto/requests/session_requests.py +1 -1
- solace_agent_mesh/gateway/http_sse/routers/dto/responses/base_responses.py +1 -1
- solace_agent_mesh/gateway/http_sse/routers/dto/responses/project_responses.py +1 -0
- solace_agent_mesh/gateway/http_sse/routers/dto/responses/session_responses.py +3 -2
- solace_agent_mesh/gateway/http_sse/routers/dto/responses/version_responses.py +31 -0
- solace_agent_mesh/gateway/http_sse/routers/feedback.py +2 -2
- solace_agent_mesh/gateway/http_sse/routers/people.py +2 -2
- solace_agent_mesh/gateway/http_sse/routers/projects.py +250 -24
- solace_agent_mesh/gateway/http_sse/routers/prompts.py +1416 -0
- solace_agent_mesh/gateway/http_sse/routers/sessions.py +14 -5
- solace_agent_mesh/gateway/http_sse/routers/speech.py +355 -0
- solace_agent_mesh/gateway/http_sse/routers/sse.py +117 -4
- solace_agent_mesh/gateway/http_sse/routers/tasks.py +509 -149
- solace_agent_mesh/gateway/http_sse/routers/users.py +1 -1
- solace_agent_mesh/gateway/http_sse/routers/version.py +343 -0
- solace_agent_mesh/gateway/http_sse/routers/visualization.py +2 -1
- solace_agent_mesh/gateway/http_sse/services/audio_service.py +1227 -0
- solace_agent_mesh/gateway/http_sse/services/background_task_monitor.py +186 -0
- solace_agent_mesh/gateway/http_sse/services/data_retention_service.py +1 -1
- solace_agent_mesh/gateway/http_sse/services/feedback_service.py +1 -1
- solace_agent_mesh/gateway/http_sse/services/project_service.py +539 -12
- solace_agent_mesh/gateway/http_sse/services/prompt_builder_assistant.py +303 -0
- solace_agent_mesh/gateway/http_sse/services/session_service.py +198 -21
- solace_agent_mesh/gateway/http_sse/services/task_logger_service.py +354 -4
- solace_agent_mesh/gateway/http_sse/sse_manager.py +280 -169
- solace_agent_mesh/gateway/http_sse/utils/artifact_copy_utils.py +370 -0
- solace_agent_mesh/gateway/http_sse/utils/stim_utils.py +41 -1
- solace_agent_mesh/services/__init__.py +0 -0
- solace_agent_mesh/services/platform/__init__.py +29 -0
- solace_agent_mesh/services/platform/alembic/env.py +85 -0
- solace_agent_mesh/services/platform/alembic/script.py.mako +28 -0
- solace_agent_mesh/services/platform/alembic.ini +109 -0
- solace_agent_mesh/services/platform/api/__init__.py +3 -0
- solace_agent_mesh/services/platform/api/dependencies.py +154 -0
- solace_agent_mesh/services/platform/api/main.py +314 -0
- solace_agent_mesh/services/platform/api/middleware.py +51 -0
- solace_agent_mesh/services/platform/api/routers/__init__.py +33 -0
- solace_agent_mesh/services/platform/api/routers/health_router.py +31 -0
- solace_agent_mesh/services/platform/app.py +215 -0
- solace_agent_mesh/services/platform/component.py +777 -0
- solace_agent_mesh/shared/__init__.py +14 -0
- solace_agent_mesh/shared/api/__init__.py +42 -0
- solace_agent_mesh/shared/auth/__init__.py +26 -0
- solace_agent_mesh/shared/auth/dependencies.py +204 -0
- solace_agent_mesh/shared/auth/middleware.py +347 -0
- solace_agent_mesh/shared/database/__init__.py +20 -0
- solace_agent_mesh/{gateway/http_sse/shared → shared/database}/base_repository.py +1 -1
- solace_agent_mesh/{gateway/http_sse/shared → shared/database}/database_exceptions.py +1 -1
- solace_agent_mesh/{gateway/http_sse/shared → shared/database}/database_helpers.py +1 -1
- solace_agent_mesh/shared/exceptions/__init__.py +36 -0
- solace_agent_mesh/{gateway/http_sse/shared → shared/exceptions}/exception_handlers.py +1 -1
- solace_agent_mesh/shared/utils/__init__.py +21 -0
- solace_agent_mesh/templates/logging_config_template.yaml +48 -0
- solace_agent_mesh/templates/main_orchestrator.yaml +12 -1
- solace_agent_mesh/templates/platform.yaml +49 -0
- solace_agent_mesh/templates/plugin_readme_template.md +3 -25
- solace_agent_mesh/templates/plugin_tool_config_template.yaml +109 -0
- solace_agent_mesh/templates/proxy_template.yaml +62 -0
- solace_agent_mesh/templates/webui.yaml +148 -6
- solace_agent_mesh/tools/web_search/__init__.py +18 -0
- solace_agent_mesh/tools/web_search/base.py +84 -0
- solace_agent_mesh/tools/web_search/google_search.py +247 -0
- solace_agent_mesh/tools/web_search/models.py +99 -0
- {solace_agent_mesh-1.7.1.dist-info → solace_agent_mesh-1.13.2.dist-info}/METADATA +29 -8
- {solace_agent_mesh-1.7.1.dist-info → solace_agent_mesh-1.13.2.dist-info}/RECORD +334 -313
- {solace_agent_mesh-1.7.1.dist-info → solace_agent_mesh-1.13.2.dist-info}/WHEEL +1 -1
- solace_agent_mesh/agent/adk/adk_llm.txt +0 -226
- solace_agent_mesh/agent/adk/adk_llm_detail.txt +0 -566
- solace_agent_mesh/agent/adk/artifacts/artifacts_llm.txt +0 -171
- solace_agent_mesh/agent/adk/models/models_llm.txt +0 -189
- solace_agent_mesh/agent/agent_llm.txt +0 -369
- solace_agent_mesh/agent/agent_llm_detail.txt +0 -1702
- solace_agent_mesh/agent/protocol/protocol_llm.txt +0 -81
- solace_agent_mesh/agent/protocol/protocol_llm_detail.txt +0 -92
- solace_agent_mesh/agent/proxies/a2a/a2a_llm.txt +0 -190
- solace_agent_mesh/agent/proxies/base/base_llm.txt +0 -148
- solace_agent_mesh/agent/proxies/proxies_llm.txt +0 -283
- solace_agent_mesh/agent/sac/sac_llm.txt +0 -189
- solace_agent_mesh/agent/sac/sac_llm_detail.txt +0 -200
- solace_agent_mesh/agent/testing/testing_llm.txt +0 -58
- solace_agent_mesh/agent/testing/testing_llm_detail.txt +0 -68
- solace_agent_mesh/agent/tools/tools_llm.txt +0 -276
- solace_agent_mesh/agent/tools/tools_llm_detail.txt +0 -275
- solace_agent_mesh/agent/utils/utils_llm.txt +0 -152
- solace_agent_mesh/agent/utils/utils_llm_detail.txt +0 -149
- solace_agent_mesh/assets/docs/assets/js/05749d90.c70b2be9.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/15ba94aa.92fea363.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/15e40e79.36003774.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/17896441.a5e82f9b.js +0 -2
- solace_agent_mesh/assets/docs/assets/js/240a0364.c39f8388.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/2e32b5e0.33f5d75b.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/3a6c6137.f5940cfa.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/3ac1795d.e4870a49.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/3ff0015d.b63ee53a.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/547e15cc.2f7790c1.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/55b7b518.f2b1d1ba.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/5c2bd65f.45b32c2b.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/64195356.c498c4d0.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/66d4869e.830d443f.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/6d84eae0.4a5fbf39.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/8024126c.fa0e7186.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/81a99df0.07034dd9.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/82fbfb93.139a1a1f.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/924ffdeb.8095e148.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/94e8668d.09ed9234.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/9bb13469.dd1c9b54.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/a94703ab.0438dbc2.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/ab9708a8.245ae0ef.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/c93cbaa0.eaff365e.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/cbe2e9ea.f902fad8.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/db5d6442.3daf1696.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/e04b235d.c9c50c7b.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/e3d9abda.d11c67a7.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/e6f9706b.045d0fa1.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/e92d0134.3bda61dd.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/f284c35a.5099c51e.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/main.f213fe0c.js +0 -2
- solace_agent_mesh/assets/docs/assets/js/runtime~main.d9606d6a.js +0 -1
- solace_agent_mesh/assets/docs/docs/documentation/deploying/kubernetes-deployment/index.html +0 -47
- solace_agent_mesh/assets/docs/lunr-index-1762283454666.json +0 -1
- solace_agent_mesh/assets/docs/search-doc-1762283454666.json +0 -1
- solace_agent_mesh/cli/commands/add_cmd/add_cmd_llm.txt +0 -250
- solace_agent_mesh/cli/commands/init_cmd/init_cmd_llm.txt +0 -365
- solace_agent_mesh/cli/commands/plugin_cmd/plugin_cmd_llm.txt +0 -305
- solace_agent_mesh/client/webui/frontend/static/assets/client-CRYdKo2Q.js +0 -25
- solace_agent_mesh/client/webui/frontend/static/assets/main-CojeY_1w.css +0 -1
- solace_agent_mesh/client/webui/frontend/static/assets/main-ILja9MCG.js +0 -353
- solace_agent_mesh/common/a2a/a2a_llm.txt +0 -175
- solace_agent_mesh/common/a2a/a2a_llm_detail.txt +0 -193
- solace_agent_mesh/common/a2a_spec/a2a_spec_llm.txt +0 -445
- solace_agent_mesh/common/a2a_spec/a2a_spec_llm_detail.txt +0 -736
- solace_agent_mesh/common/a2a_spec/schemas/schemas_llm.txt +0 -330
- solace_agent_mesh/common/common_llm.txt +0 -230
- solace_agent_mesh/common/common_llm_detail.txt +0 -2562
- solace_agent_mesh/common/middleware/middleware_llm.txt +0 -174
- solace_agent_mesh/common/middleware/middleware_llm_detail.txt +0 -185
- solace_agent_mesh/common/sac/sac_llm.txt +0 -71
- solace_agent_mesh/common/sac/sac_llm_detail.txt +0 -82
- solace_agent_mesh/common/sam_events/sam_events_llm.txt +0 -104
- solace_agent_mesh/common/sam_events/sam_events_llm_detail.txt +0 -115
- solace_agent_mesh/common/services/providers/providers_llm.txt +0 -81
- solace_agent_mesh/common/services/services_llm.txt +0 -368
- solace_agent_mesh/common/services/services_llm_detail.txt +0 -459
- solace_agent_mesh/common/utils/embeds/embeds_llm.txt +0 -220
- solace_agent_mesh/common/utils/utils_llm.txt +0 -335
- solace_agent_mesh/common/utils/utils_llm_detail.txt +0 -572
- solace_agent_mesh/config_portal/frontend/static/client/assets/_index-ByU1X1HD.js +0 -98
- solace_agent_mesh/config_portal/frontend/static/client/assets/manifest-61038fc6.js +0 -1
- solace_agent_mesh/config_portal/frontend/static/client/assets/root-BWvk5-gF.js +0 -10
- solace_agent_mesh/config_portal/frontend/static/client/assets/root-DxRwaWiE.css +0 -1
- solace_agent_mesh/core_a2a/core_a2a_llm.txt +0 -90
- solace_agent_mesh/core_a2a/core_a2a_llm_detail.txt +0 -101
- solace_agent_mesh/gateway/base/base_llm.txt +0 -226
- solace_agent_mesh/gateway/base/base_llm_detail.txt +0 -235
- solace_agent_mesh/gateway/gateway_llm.txt +0 -369
- solace_agent_mesh/gateway/gateway_llm_detail.txt +0 -3885
- solace_agent_mesh/gateway/http_sse/alembic/alembic_llm.txt +0 -345
- solace_agent_mesh/gateway/http_sse/alembic/versions/20251023_add_fulltext_search_indexes.py +0 -92
- solace_agent_mesh/gateway/http_sse/alembic/versions/versions_llm.txt +0 -161
- solace_agent_mesh/gateway/http_sse/components/components_llm.txt +0 -105
- solace_agent_mesh/gateway/http_sse/http_sse_llm.txt +0 -299
- solace_agent_mesh/gateway/http_sse/http_sse_llm_detail.txt +0 -3278
- solace_agent_mesh/gateway/http_sse/repository/entities/entities_llm.txt +0 -221
- solace_agent_mesh/gateway/http_sse/repository/models/models_llm.txt +0 -257
- solace_agent_mesh/gateway/http_sse/repository/repository_llm.txt +0 -308
- solace_agent_mesh/gateway/http_sse/routers/dto/dto_llm.txt +0 -450
- solace_agent_mesh/gateway/http_sse/routers/dto/requests/requests_llm.txt +0 -133
- solace_agent_mesh/gateway/http_sse/routers/dto/responses/responses_llm.txt +0 -123
- solace_agent_mesh/gateway/http_sse/routers/routers_llm.txt +0 -312
- solace_agent_mesh/gateway/http_sse/services/services_llm.txt +0 -303
- solace_agent_mesh/gateway/http_sse/shared/__init__.py +0 -146
- solace_agent_mesh/gateway/http_sse/shared/shared_llm.txt +0 -319
- solace_agent_mesh/gateway/http_sse/utils/utils_llm.txt +0 -47
- solace_agent_mesh/llm.txt +0 -228
- solace_agent_mesh/llm_detail.txt +0 -2835
- solace_agent_mesh/solace_agent_mesh_llm.txt +0 -362
- solace_agent_mesh/solace_agent_mesh_llm_detail.txt +0 -8599
- solace_agent_mesh/templates/logging_config_template.ini +0 -45
- solace_agent_mesh/templates/templates_llm.txt +0 -147
- /solace_agent_mesh/assets/docs/assets/js/{main.f213fe0c.js.LICENSE.txt → main.d634009f.js.LICENSE.txt} +0 -0
- /solace_agent_mesh/{gateway/http_sse/shared → shared/api}/auth_utils.py +0 -0
- /solace_agent_mesh/{gateway/http_sse/shared → shared/api}/pagination.py +0 -0
- /solace_agent_mesh/{gateway/http_sse/shared → shared/api}/response_utils.py +0 -0
- /solace_agent_mesh/{gateway/http_sse/shared → shared/exceptions}/error_dto.py +0 -0
- /solace_agent_mesh/{gateway/http_sse/shared → shared/exceptions}/exceptions.py +0 -0
- /solace_agent_mesh/{gateway/http_sse/shared → shared/utils}/enums.py +0 -0
- /solace_agent_mesh/{gateway/http_sse/shared → shared/utils}/timestamp_utils.py +0 -0
- /solace_agent_mesh/{gateway/http_sse/shared → shared/utils}/types.py +0 -0
- /solace_agent_mesh/{gateway/http_sse/shared → shared/utils}/utils.py +0 -0
- {solace_agent_mesh-1.7.1.dist-info → solace_agent_mesh-1.13.2.dist-info}/entry_points.txt +0 -0
- {solace_agent_mesh-1.7.1.dist-info → solace_agent_mesh-1.13.2.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,250 +0,0 @@
|
|
|
1
|
-
# Add Command Module Analysis
|
|
2
|
-
|
|
3
|
-
## 1. Primary Purpose and Functionality
|
|
4
|
-
|
|
5
|
-
The `add_cmd` module provides a CLI interface for creating templates for agents and gateways in what appears to be an AI agent framework. The primary functionality includes:
|
|
6
|
-
|
|
7
|
-
- **Agent Creation**: Creates new agent configurations via CLI or web-based GUI
|
|
8
|
-
- **Gateway Creation**: Placeholder functionality for gateway template creation (not yet implemented)
|
|
9
|
-
- **Interactive Configuration**: Supports both interactive CLI prompts and web-based configuration portal
|
|
10
|
-
- **Template Processing**: Generates YAML configuration files from templates with user-provided parameters
|
|
11
|
-
|
|
12
|
-
## 2. External Interfaces (APIs, Exports, Public Methods)
|
|
13
|
-
|
|
14
|
-
### CLI Commands
|
|
15
|
-
- `add agent [NAME] [OPTIONS]` - Creates a new agent configuration
|
|
16
|
-
- `add gateway NAME` - Placeholder for gateway creation
|
|
17
|
-
|
|
18
|
-
### Public Functions
|
|
19
|
-
```python
|
|
20
|
-
def launch_add_agent_web_portal(cli_options: dict) -> tuple[str, dict, Path]
|
|
21
|
-
def create_agent_config(agent_name_input: str, cli_provided_options: dict, skip_interactive: bool) -> bool
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
## 3. Key Dependencies and Imports
|
|
25
|
-
|
|
26
|
-
- **click**: CLI framework for command-line interfaces
|
|
27
|
-
- **pathlib.Path**: File system path operations
|
|
28
|
-
- **yaml**: YAML file processing
|
|
29
|
-
- **json**: JSON parsing for tools and skills configuration
|
|
30
|
-
- **re**: Regular expression operations for template processing
|
|
31
|
-
- **multiprocessing**: Process management for web portal
|
|
32
|
-
- **webbrowser**: Browser automation for web portal
|
|
33
|
-
- **config_portal.backend.server**: Web-based configuration portal backend
|
|
34
|
-
|
|
35
|
-
## 4. Data Structures and Models
|
|
36
|
-
|
|
37
|
-
### AGENT_DEFAULTS Configuration Dictionary
|
|
38
|
-
```python
|
|
39
|
-
AGENT_DEFAULTS = {
|
|
40
|
-
"supports_streaming": bool, # Enable streaming support
|
|
41
|
-
"model_type": str, # Model type: "planning", "general", "image_gen", "report_gen", "multimodal", "gemini_pro"
|
|
42
|
-
"instruction": str, # Agent instruction template
|
|
43
|
-
"artifact_handling_mode": str, # Mode: "ignore", "embed", "reference"
|
|
44
|
-
"enable_embed_resolution": bool, # Enable embed resolution
|
|
45
|
-
"enable_artifact_content_instruction": bool, # Enable artifact content instruction
|
|
46
|
-
"session_service_type": str, # Type: "memory", "vertex_rag"
|
|
47
|
-
"session_service_behavior": str, # Behavior: "PERSISTENT", "RUN_BASED"
|
|
48
|
-
"artifact_service_type": str, # Type: "filesystem", "memory", "gcs"
|
|
49
|
-
"artifact_service_base_path": str, # Base path for filesystem service
|
|
50
|
-
"artifact_service_scope": str, # Scope: "namespace", "app", "custom"
|
|
51
|
-
"agent_card_description": str, # Agent description
|
|
52
|
-
"agent_card_default_input_modes": list[str], # Input modes: ["text"]
|
|
53
|
-
"agent_card_default_output_modes": list[str], # Output modes: ["text", "file"]
|
|
54
|
-
"agent_card_publishing_interval": int, # Publishing interval in seconds
|
|
55
|
-
"agent_discovery_enabled": bool, # Enable agent discovery
|
|
56
|
-
"inter_agent_communication_allow_list": list[str], # Allow list: ["*"]
|
|
57
|
-
"inter_agent_communication_deny_list": list[str], # Deny list: []
|
|
58
|
-
"inter_agent_communication_timeout": int, # Timeout in seconds
|
|
59
|
-
"namespace": str, # namespace
|
|
60
|
-
}
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
**Purpose**: Provides default values for all agent configuration options.
|
|
64
|
-
|
|
65
|
-
**Usage Example**:
|
|
66
|
-
```python
|
|
67
|
-
default_model = AGENT_DEFAULTS["model_type"] # Returns "planning"
|
|
68
|
-
default_streaming = AGENT_DEFAULTS["supports_streaming"] # Returns True
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
### Configuration Options Dictionary
|
|
72
|
-
```python
|
|
73
|
-
config_options = {
|
|
74
|
-
"agent_name": str, # Camel case agent name
|
|
75
|
-
"namespace": str, # Agent namespace
|
|
76
|
-
"supports_streaming": bool, # Streaming support flag
|
|
77
|
-
"model_type": str, # Model type selection
|
|
78
|
-
"instruction": str, # Custom agent instruction
|
|
79
|
-
"tools": list[dict] | str, # Tools configuration (list or JSON string)
|
|
80
|
-
"session_service_type": str, # Session service configuration
|
|
81
|
-
"session_service_behavior": str, # Session behavior mode
|
|
82
|
-
"artifact_service_type": str, # Artifact service configuration
|
|
83
|
-
"artifact_service_base_path": str, # Filesystem base path
|
|
84
|
-
"artifact_service_scope": str, # Artifact scope
|
|
85
|
-
"artifact_handling_mode": str, # Artifact handling mode
|
|
86
|
-
"enable_embed_resolution": bool, # Embed resolution flag
|
|
87
|
-
"enable_artifact_content_instruction": bool, # Artifact content instruction flag
|
|
88
|
-
"agent_card_description": str, # Agent card description
|
|
89
|
-
"agent_card_default_input_modes": list[str], # Default input modes
|
|
90
|
-
"agent_card_default_output_modes": list[str], # Default output modes
|
|
91
|
-
"agent_card_skills": list[dict], # Skills configuration from GUI
|
|
92
|
-
"agent_card_skills_str": str, # Skills configuration from CLI (JSON string)
|
|
93
|
-
"agent_card_publishing_interval": int, # Publishing interval
|
|
94
|
-
"agent_discovery_enabled": bool, # Discovery flag
|
|
95
|
-
"inter_agent_communication_allow_list": list[str], # Communication allow list
|
|
96
|
-
"inter_agent_communication_deny_list": list[str], # Communication deny list
|
|
97
|
-
"inter_agent_communication_timeout": int, # Communication timeout
|
|
98
|
-
}
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
**Purpose**: Contains user-provided configuration options for agent creation.
|
|
102
|
-
|
|
103
|
-
**Usage Example**:
|
|
104
|
-
```python
|
|
105
|
-
config = {
|
|
106
|
-
"agent_name": "MyAgent",
|
|
107
|
-
"model_type": "planning",
|
|
108
|
-
"supports_streaming": True,
|
|
109
|
-
"tools": [{"name": "calculator", "type": "builtin"}]
|
|
110
|
-
}
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
### Special Constants
|
|
114
|
-
```python
|
|
115
|
-
USE_DEFAULT_SHARED_SESSION = "use_default_shared_session"
|
|
116
|
-
USE_DEFAULT_SHARED_ARTIFACT = "use_default_shared_artifact"
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
**Purpose**: Special values indicating use of default shared services instead of custom configurations.
|
|
120
|
-
|
|
121
|
-
## 5. Key Functions and Methods
|
|
122
|
-
|
|
123
|
-
### create_agent_config()
|
|
124
|
-
```python
|
|
125
|
-
def create_agent_config(agent_name_input: str, cli_provided_options: dict, skip_interactive: bool) -> bool
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
**Purpose**: Main function for CLI-based agent creation. Collects configuration options interactively or from CLI parameters.
|
|
129
|
-
|
|
130
|
-
**Parameters**:
|
|
131
|
-
- `agent_name_input`: Raw agent name input from user
|
|
132
|
-
- `cli_provided_options`: Dictionary of options provided via CLI flags
|
|
133
|
-
- `skip_interactive`: If True, skips interactive prompts and uses defaults
|
|
134
|
-
|
|
135
|
-
**Returns**: Boolean indicating success/failure
|
|
136
|
-
|
|
137
|
-
**Usage Example**:
|
|
138
|
-
```python
|
|
139
|
-
success = create_agent_config(
|
|
140
|
-
"my-agent",
|
|
141
|
-
{"model_type": "planning", "supports_streaming": True},
|
|
142
|
-
False
|
|
143
|
-
)
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
### _write_agent_yaml_from_data()
|
|
147
|
-
```python
|
|
148
|
-
def _write_agent_yaml_from_data(agent_name_input: str, config_options: dict, project_root: Path) -> tuple[bool, str, str]
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
**Purpose**: Writes the agent YAML configuration file based on provided options.
|
|
152
|
-
|
|
153
|
-
**Parameters**:
|
|
154
|
-
- `agent_name_input`: Raw agent name input
|
|
155
|
-
- `config_options`: Complete configuration dictionary
|
|
156
|
-
- `project_root`: Project root directory path
|
|
157
|
-
|
|
158
|
-
**Returns**: Tuple of (success_flag, message, relative_file_path)
|
|
159
|
-
|
|
160
|
-
**Usage Example**:
|
|
161
|
-
```python
|
|
162
|
-
success, message, file_path = _write_agent_yaml_from_data(
|
|
163
|
-
"my-agent",
|
|
164
|
-
config_options,
|
|
165
|
-
Path.cwd()
|
|
166
|
-
)
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
### launch_add_agent_web_portal()
|
|
170
|
-
```python
|
|
171
|
-
def launch_add_agent_web_portal(cli_options: dict) -> tuple[str, dict, Path]
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
**Purpose**: Launches web-based configuration portal for agent creation.
|
|
175
|
-
|
|
176
|
-
**Parameters**:
|
|
177
|
-
- `cli_options`: Dictionary containing initial options (typically just "name")
|
|
178
|
-
|
|
179
|
-
**Returns**: Tuple of (agent_name, agent_options, project_root)
|
|
180
|
-
|
|
181
|
-
**Usage Example**:
|
|
182
|
-
```python
|
|
183
|
-
agent_name, options, root = launch_add_agent_web_portal({"name": "my-agent"})
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
### add_agent Command
|
|
187
|
-
```python
|
|
188
|
-
@click.command(name="agent")
|
|
189
|
-
@click.argument("name", required=False)
|
|
190
|
-
@click.option("--gui", is_flag=True, help="Launch the web UI to configure the agent.")
|
|
191
|
-
@click.option("--skip-interactive", is_flag=True, help="Skip interactive prompts and use defaults.")
|
|
192
|
-
# ... additional options for all configuration parameters
|
|
193
|
-
def add_agent(name: str, gui: bool=False, **kwargs)
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
**Purpose**: Main CLI command entry point for agent creation.
|
|
197
|
-
|
|
198
|
-
**Parameters**:
|
|
199
|
-
- `name`: Agent name (optional if using GUI)
|
|
200
|
-
- `gui`: Flag to launch web-based configuration
|
|
201
|
-
- `**kwargs`: All other configuration options as CLI flags
|
|
202
|
-
|
|
203
|
-
**CLI Usage Examples**:
|
|
204
|
-
```bash
|
|
205
|
-
# Interactive CLI mode
|
|
206
|
-
python -m cli.main add agent my-agent
|
|
207
|
-
|
|
208
|
-
# Non-interactive CLI mode with options
|
|
209
|
-
python -m cli.main add agent my-agent --skip-interactive --model-type planning --supports-streaming
|
|
210
|
-
|
|
211
|
-
# Web GUI mode
|
|
212
|
-
python -m cli.main add agent my-agent --gui
|
|
213
|
-
```
|
|
214
|
-
|
|
215
|
-
## 6. Architecture Patterns Used
|
|
216
|
-
|
|
217
|
-
- **Command Pattern**: Uses Click framework for CLI command structure
|
|
218
|
-
- **Template Method Pattern**: Uses template files with placeholder replacement
|
|
219
|
-
- **Factory Pattern**: Creates agent configurations based on user input
|
|
220
|
-
- **Multiprocessing Pattern**: Separates web portal into isolated process
|
|
221
|
-
- **Configuration Pattern**: Centralized defaults and user option management
|
|
222
|
-
|
|
223
|
-
## 7. Integration Points with Other Systems
|
|
224
|
-
|
|
225
|
-
### Template System
|
|
226
|
-
- Integrates with `load_template()` utility to load agent YAML templates
|
|
227
|
-
- Uses placeholder replacement for dynamic content generation
|
|
228
|
-
|
|
229
|
-
### Web Portal Integration
|
|
230
|
-
- Launches Flask-based web server via `config_portal.backend.server.run_flask`
|
|
231
|
-
- Uses multiprocessing for process isolation
|
|
232
|
-
- Communicates via shared dictionary for data exchange
|
|
233
|
-
|
|
234
|
-
### File System Integration
|
|
235
|
-
- Creates agent configuration files in `configs/agents/` directory
|
|
236
|
-
- Generates snake_case filenames with `_agent.yaml` suffix
|
|
237
|
-
- Uses project root detection for relative path generation
|
|
238
|
-
|
|
239
|
-
### Utility Integration
|
|
240
|
-
- Uses `get_formatted_names()` for name format conversion
|
|
241
|
-
- Uses `ask_if_not_provided()` for interactive CLI prompts
|
|
242
|
-
- Integrates with YAML and JSON processing for configuration serialization
|
|
243
|
-
|
|
244
|
-
### External Dependencies
|
|
245
|
-
- **Click Framework**: Provides CLI interface and option parsing
|
|
246
|
-
- **YAML Processing**: Handles configuration file generation and parsing
|
|
247
|
-
- **Web Browser**: Automatically opens configuration portal
|
|
248
|
-
- **Multiprocessing**: Manages web portal lifecycle
|
|
249
|
-
|
|
250
|
-
The module serves as a comprehensive agent creation system supporting both CLI and web-based workflows, with extensive configuration options and robust error handling.
|
|
@@ -1,365 +0,0 @@
|
|
|
1
|
-
# init_cmd Directory Analysis
|
|
2
|
-
|
|
3
|
-
## 1. Primary Purpose and Functionality
|
|
4
|
-
|
|
5
|
-
The `init_cmd` directory implements a comprehensive project initialization system for Solace Agent Mesh applications. It provides both CLI-based and web-based initialization flows to create new projects with proper directory structure, configuration files, and environment setup.
|
|
6
|
-
|
|
7
|
-
**Core Functionality:**
|
|
8
|
-
- Creates project directory structure (`configs/`, `src/`, etc.)
|
|
9
|
-
- Generates configuration files for agents and gateways
|
|
10
|
-
- Sets up environment variables and broker connections
|
|
11
|
-
- Supports multiple broker types (existing Solace, containerized, dev mode)
|
|
12
|
-
- Provides web-based GUI configuration option
|
|
13
|
-
- Creates orchestrator agent configurations
|
|
14
|
-
- Optionally sets up WebUI gateway
|
|
15
|
-
|
|
16
|
-
## 2. External Interfaces (APIs, Exports, Public Methods)
|
|
17
|
-
|
|
18
|
-
### Main CLI Command
|
|
19
|
-
```python
|
|
20
|
-
@click.command(name="init")
|
|
21
|
-
def init(**kwargs) -> None
|
|
22
|
-
```
|
|
23
|
-
**Purpose:** Main entry point for project initialization
|
|
24
|
-
**Parameters:** All CLI options as keyword arguments
|
|
25
|
-
**Usage:** `solace-agent-mesh init [OPTIONS]`
|
|
26
|
-
|
|
27
|
-
### Key CLI Options
|
|
28
|
-
- `--skip`: Non-interactive mode using defaults
|
|
29
|
-
- `--gui`: Launch web-based configuration interface
|
|
30
|
-
- `--broker-type`: Choose broker type (1=existing, 2=container, 3=dev)
|
|
31
|
-
- `--llm-*`: LLM service configuration options
|
|
32
|
-
- `--agent-*`: Orchestrator agent configuration options
|
|
33
|
-
- `--webui-*`: WebUI gateway configuration options
|
|
34
|
-
|
|
35
|
-
### Core Orchestration Function
|
|
36
|
-
```python
|
|
37
|
-
def run_init_flow(
|
|
38
|
-
skip_interactive: bool,
|
|
39
|
-
use_web_based_init_flag: bool,
|
|
40
|
-
**cli_options
|
|
41
|
-
) -> None
|
|
42
|
-
```
|
|
43
|
-
**Purpose:** Orchestrates the complete initialization process
|
|
44
|
-
**Parameters:**
|
|
45
|
-
- `skip_interactive`: Skip all prompts, use defaults
|
|
46
|
-
- `use_web_based_init_flag`: Use web interface for configuration
|
|
47
|
-
- `**cli_options`: All CLI option values
|
|
48
|
-
|
|
49
|
-
## 3. Key Dependencies and Imports
|
|
50
|
-
|
|
51
|
-
### External Dependencies
|
|
52
|
-
- `click`: CLI framework for commands and options
|
|
53
|
-
- `pathlib.Path`: File system path operations
|
|
54
|
-
- `yaml`: YAML configuration file processing
|
|
55
|
-
- `multiprocessing`: Web portal process management
|
|
56
|
-
- `webbrowser`: Automatic browser launching
|
|
57
|
-
|
|
58
|
-
### Internal Dependencies
|
|
59
|
-
- `...utils`: Utility functions (`ask_if_not_provided`, `ask_yes_no_question`, `load_template`)
|
|
60
|
-
- `config_portal.backend.server`: Web-based configuration interface
|
|
61
|
-
|
|
62
|
-
## 4. Data Structures and Models
|
|
63
|
-
|
|
64
|
-
### DEFAULT_INIT_VALUES Dictionary
|
|
65
|
-
```python
|
|
66
|
-
DEFAULT_INIT_VALUES: Dict[str, Any] = {
|
|
67
|
-
# Broker Configuration
|
|
68
|
-
"broker_type": "1", # str - Default to existing Solace broker
|
|
69
|
-
"broker_url": "ws://localhost:8008", # str
|
|
70
|
-
"broker_vpn": "default", # str
|
|
71
|
-
"broker_username": "default", # str
|
|
72
|
-
"broker_password": "default", # str
|
|
73
|
-
"container_engine": "docker", # str - "docker" | "podman"
|
|
74
|
-
|
|
75
|
-
# Environment Variables
|
|
76
|
-
"SOLACE_LOCAL_BROKER_URL": "ws://localhost:8008", # str
|
|
77
|
-
"SOLACE_LOCAL_BROKER_VPN": "default", # str
|
|
78
|
-
"SOLACE_LOCAL_BROKER_USERNAME": "default", # str
|
|
79
|
-
"SOLACE_LOCAL_BROKER_PASSWORD": "default", # str
|
|
80
|
-
"DEV_BROKER_URL": "ws://localhost:8008", # str
|
|
81
|
-
"DEV_BROKER_VPN": "default", # str
|
|
82
|
-
"DEV_BROKER_USERNAME": "default", # str
|
|
83
|
-
"DEV_BROKER_PASSWORD": "default", # str
|
|
84
|
-
|
|
85
|
-
# LLM Configuration
|
|
86
|
-
"llm_endpoint_url": "YOUR_LLM_ENDPOINT_URL_HERE", # str
|
|
87
|
-
"llm_api_key": "YOUR_LLM_API_KEY_HERE", # str
|
|
88
|
-
"llm_planning_model_name": "YOUR_LLM_PLANNING_MODEL_NAME_HERE", # str
|
|
89
|
-
"llm_general_model_name": "YOUR_LLM_GENERAL_MODEL_NAME_HERE", # str
|
|
90
|
-
|
|
91
|
-
# Project Configuration
|
|
92
|
-
"namespace": "solace_app/", # str - Must end with "/"
|
|
93
|
-
"dev_mode": "false", # str - "true" | "false"
|
|
94
|
-
|
|
95
|
-
# WebUI Gateway Configuration
|
|
96
|
-
"add_webui_gateway": True, # bool
|
|
97
|
-
"webui_session_secret_key": str, # str - From ENV_DEFAULTS
|
|
98
|
-
"webui_fastapi_host": str, # str - From ENV_DEFAULTS
|
|
99
|
-
"webui_fastapi_port": int, # int - From ENV_DEFAULTS
|
|
100
|
-
"webui_enable_embed_resolution": bool, # bool - From ENV_DEFAULTS
|
|
101
|
-
"webui_frontend_welcome_message": str, # str
|
|
102
|
-
"webui_frontend_bot_name": "Solace Agent Mesh", # str
|
|
103
|
-
"webui_frontend_collect_feedback": False, # bool
|
|
104
|
-
|
|
105
|
-
# Orchestrator Configuration (flattened from ORCHESTRATOR_DEFAULTS)
|
|
106
|
-
"agent_name": "OrchestratorAgent", # str
|
|
107
|
-
"supports_streaming": True, # bool
|
|
108
|
-
"session_service_type": "memory", # str - "memory" | "vertex_rag"
|
|
109
|
-
"session_service_behavior": "PERSISTENT", # str - "PERSISTENT" | "RUN_BASED"
|
|
110
|
-
"artifact_service_type": "filesystem", # str - "memory" | "filesystem" | "gcs"
|
|
111
|
-
"artifact_service_base_path": "/tmp/samv2", # str
|
|
112
|
-
"artifact_service_scope": "namespace", # str - "namespace" | "app" | "custom"
|
|
113
|
-
"artifact_handling_mode": "embed", # str - "ignore" | "embed" | "reference"
|
|
114
|
-
"enable_embed_resolution": True, # bool
|
|
115
|
-
"enable_artifact_content_instruction": True, # bool
|
|
116
|
-
"agent_card_description": str, # str
|
|
117
|
-
"agent_card_default_input_modes": str, # str - comma-separated
|
|
118
|
-
"agent_card_default_output_modes": str, # str - comma-separated
|
|
119
|
-
"agent_discovery_enabled": True, # bool
|
|
120
|
-
"agent_card_publishing_interval": 10, # int - seconds
|
|
121
|
-
"inter_agent_communication_allow_list": "*", # str - comma-separated
|
|
122
|
-
"inter_agent_communication_deny_list": "", # str - comma-separated
|
|
123
|
-
"inter_agent_communication_timeout": 30, # int - seconds
|
|
124
|
-
}
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
### ORCHESTRATOR_DEFAULTS Configuration
|
|
128
|
-
```python
|
|
129
|
-
ORCHESTRATOR_DEFAULTS: Dict[str, Any] = {
|
|
130
|
-
"agent_name": "OrchestratorAgent", # str
|
|
131
|
-
"supports_streaming": True, # bool
|
|
132
|
-
"artifact_handling_mode": "embed", # str
|
|
133
|
-
"enable_embed_resolution": True, # bool
|
|
134
|
-
"enable_artifact_content_instruction": True, # bool
|
|
135
|
-
"session_service": {
|
|
136
|
-
"type": "memory", # str - "memory" | "vertex_rag"
|
|
137
|
-
"default_behavior": "PERSISTENT" # str - "PERSISTENT" | "RUN_BASED"
|
|
138
|
-
},
|
|
139
|
-
"artifact_service": {
|
|
140
|
-
"type": "filesystem", # str - "memory" | "filesystem" | "gcs"
|
|
141
|
-
"base_path": "/tmp/samv2", # str
|
|
142
|
-
"artifact_scope": "namespace" # str - "namespace" | "app" | "custom"
|
|
143
|
-
},
|
|
144
|
-
"agent_card": {
|
|
145
|
-
"description": str, # str - Agent description
|
|
146
|
-
"defaultInputModes": ["text"], # List[str]
|
|
147
|
-
"defaultOutputModes": ["text", "file"], # List[str]
|
|
148
|
-
"skills": [] # List[str]
|
|
149
|
-
},
|
|
150
|
-
"agent_card_publishing": {
|
|
151
|
-
"interval_seconds": 10 # int
|
|
152
|
-
},
|
|
153
|
-
"agent_discovery": {
|
|
154
|
-
"enabled": True # bool
|
|
155
|
-
},
|
|
156
|
-
"inter_agent_communication": {
|
|
157
|
-
"allow_list": ["*"], # List[str]
|
|
158
|
-
"request_timeout_seconds": 30 # int
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
### ENV_DEFAULTS Configuration
|
|
164
|
-
```python
|
|
165
|
-
ENV_DEFAULTS: Dict[str, str] = {
|
|
166
|
-
"LLM_SERVICE_ENDPOINT": "YOUR_LLM_SERVICE_ENDPOINT_HERE",
|
|
167
|
-
"LLM_SERVICE_API_KEY": "YOUR_LLM_SERVICE_API_KEY_HERE",
|
|
168
|
-
"LLM_SERVICE_PLANNING_MODEL_NAME": "YOUR_LLM_SERVICE_PLANNING_MODEL_NAME_HERE",
|
|
169
|
-
"LLM_SERVICE_GENERAL_MODEL_NAME": "YOUR_LLM_SERVICE_GENERAL_MODEL_NAME_HERE",
|
|
170
|
-
"NAMESPACE": "my_project_namespace/",
|
|
171
|
-
"SOLACE_BROKER_URL": "ws://localhost:8008",
|
|
172
|
-
"SOLACE_BROKER_VPN": "default",
|
|
173
|
-
"SOLACE_BROKER_USERNAME": "default",
|
|
174
|
-
"SOLACE_BROKER_PASSWORD": "default",
|
|
175
|
-
"SOLACE_DEV_MODE": "false",
|
|
176
|
-
"SESSION_SECRET_KEY": "please_change_me_in",
|
|
177
|
-
"FASTAPI_HOST": "127.0.0.1",
|
|
178
|
-
"FASTAPI_PORT": "8000",
|
|
179
|
-
"ENABLE_EMBED_RESOLUTION": "true",
|
|
180
|
-
}
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
### WEBUI_GATEWAY_DEFAULTS Configuration
|
|
184
|
-
```python
|
|
185
|
-
WEBUI_GATEWAY_DEFAULTS: Dict[str, Any] = {
|
|
186
|
-
"webui_frontend_welcome_message": "", # str
|
|
187
|
-
"webui_frontend_bot_name": "Solace Agent Mesh", # str
|
|
188
|
-
"webui_frontend_collect_feedback": False, # bool
|
|
189
|
-
"webui_session_secret_key": "please_change_me_in", # str
|
|
190
|
-
"webui_fastapi_host": "127.0.0.1", # str
|
|
191
|
-
"webui_fastapi_port": 8000, # int
|
|
192
|
-
"webui_enable_embed_resolution": True, # bool
|
|
193
|
-
}
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
## 5. Step Functions
|
|
197
|
-
|
|
198
|
-
### broker_setup_step Function
|
|
199
|
-
```python
|
|
200
|
-
def broker_setup_step(
|
|
201
|
-
options: dict,
|
|
202
|
-
default_values: dict,
|
|
203
|
-
skip_interactive: bool
|
|
204
|
-
) -> dict
|
|
205
|
-
```
|
|
206
|
-
**Purpose:** Configures broker connection settings
|
|
207
|
-
**Parameters:**
|
|
208
|
-
- `options`: Mutable configuration dictionary
|
|
209
|
-
- `default_values`: Default values for prompts
|
|
210
|
-
- `skip_interactive`: Skip user prompts if True
|
|
211
|
-
**Returns:** Updated options dictionary
|
|
212
|
-
**Side Effects:** May start Docker/Podman containers for local broker
|
|
213
|
-
|
|
214
|
-
### create_project_directories Function
|
|
215
|
-
```python
|
|
216
|
-
def create_project_directories(project_root: Path) -> bool
|
|
217
|
-
```
|
|
218
|
-
**Purpose:** Creates standard project directory structure
|
|
219
|
-
**Parameters:**
|
|
220
|
-
- `project_root`: Root directory for the project
|
|
221
|
-
**Returns:** True on success, False on failure
|
|
222
|
-
**Creates:**
|
|
223
|
-
- `configs/`
|
|
224
|
-
- `configs/gateways/`
|
|
225
|
-
- `configs/agents/`
|
|
226
|
-
- `src/`
|
|
227
|
-
|
|
228
|
-
### create_project_files Function
|
|
229
|
-
```python
|
|
230
|
-
def create_project_files(project_root: Path) -> bool
|
|
231
|
-
```
|
|
232
|
-
**Purpose:** Creates standard project files
|
|
233
|
-
**Parameters:**
|
|
234
|
-
- `project_root`: Root directory for the project
|
|
235
|
-
**Returns:** True on success, False on failure
|
|
236
|
-
**Creates:**
|
|
237
|
-
- `src/__init__.py`
|
|
238
|
-
- `requirements.txt` (with solace-agent-mesh dependency)
|
|
239
|
-
|
|
240
|
-
### create_env_file Function
|
|
241
|
-
```python
|
|
242
|
-
def create_env_file(
|
|
243
|
-
project_root: Path,
|
|
244
|
-
options: dict,
|
|
245
|
-
skip_interactive: bool
|
|
246
|
-
) -> bool
|
|
247
|
-
```
|
|
248
|
-
**Purpose:** Creates .env file with environment variables
|
|
249
|
-
**Parameters:**
|
|
250
|
-
- `project_root`: Root directory for the project
|
|
251
|
-
- `options`: Configuration values
|
|
252
|
-
- `skip_interactive`: Skip user prompts if True
|
|
253
|
-
**Returns:** True on success, False on failure
|
|
254
|
-
**Creates:** `.env` file with all necessary environment variables
|
|
255
|
-
|
|
256
|
-
### create_orchestrator_config Function
|
|
257
|
-
```python
|
|
258
|
-
def create_orchestrator_config(
|
|
259
|
-
project_root: Path,
|
|
260
|
-
options: dict,
|
|
261
|
-
skip_interactive: bool
|
|
262
|
-
) -> bool
|
|
263
|
-
```
|
|
264
|
-
**Purpose:** Creates orchestrator agent configuration files
|
|
265
|
-
**Parameters:**
|
|
266
|
-
- `project_root`: Root directory for the project
|
|
267
|
-
- `options`: Configuration values
|
|
268
|
-
- `skip_interactive`: Skip user prompts if True
|
|
269
|
-
**Returns:** True on success, False on failure
|
|
270
|
-
**Creates:**
|
|
271
|
-
- `configs/shared_config.yaml`
|
|
272
|
-
- `configs/agents/main_orchestrator.yaml`
|
|
273
|
-
|
|
274
|
-
### create_webui_gateway_config Function
|
|
275
|
-
```python
|
|
276
|
-
def create_webui_gateway_config(
|
|
277
|
-
project_root: Path,
|
|
278
|
-
options: dict,
|
|
279
|
-
skip_interactive: bool,
|
|
280
|
-
default_values: dict
|
|
281
|
-
) -> bool
|
|
282
|
-
```
|
|
283
|
-
**Purpose:** Creates WebUI gateway configuration
|
|
284
|
-
**Parameters:**
|
|
285
|
-
- `project_root`: Root directory for the project
|
|
286
|
-
- `options`: Configuration values
|
|
287
|
-
- `skip_interactive`: Skip user prompts if True
|
|
288
|
-
- `default_values`: Default values for prompts
|
|
289
|
-
**Returns:** True on success, False on failure
|
|
290
|
-
**Creates:** `configs/gateways/webui.yaml` (if enabled)
|
|
291
|
-
|
|
292
|
-
### perform_web_init Function
|
|
293
|
-
```python
|
|
294
|
-
def perform_web_init(current_cli_params: dict) -> dict
|
|
295
|
-
```
|
|
296
|
-
**Purpose:** Launches web-based configuration interface
|
|
297
|
-
**Parameters:**
|
|
298
|
-
- `current_cli_params`: Current CLI parameter values
|
|
299
|
-
**Returns:** Updated configuration dictionary with web form values
|
|
300
|
-
**Side Effects:**
|
|
301
|
-
- Starts Flask server on port 5002
|
|
302
|
-
- Opens browser to configuration portal
|
|
303
|
-
- Blocks until configuration is complete
|
|
304
|
-
|
|
305
|
-
## 6. Architecture Patterns Used
|
|
306
|
-
|
|
307
|
-
### Step-Based Pipeline Pattern
|
|
308
|
-
The initialization process follows a sequential step pattern where each step:
|
|
309
|
-
- Receives an options dictionary
|
|
310
|
-
- Performs its specific configuration task
|
|
311
|
-
- Updates the options dictionary for subsequent steps
|
|
312
|
-
- Returns success/failure status
|
|
313
|
-
|
|
314
|
-
### Template-Based Configuration Generation
|
|
315
|
-
Configuration files are generated using template replacement:
|
|
316
|
-
- Templates contain `__PLACEHOLDER__` markers
|
|
317
|
-
- Values from options dictionary replace placeholders
|
|
318
|
-
- Supports both simple string replacement and YAML anchor references
|
|
319
|
-
|
|
320
|
-
### Multi-Modal Interface Pattern
|
|
321
|
-
Supports both CLI and web-based configuration:
|
|
322
|
-
- CLI mode: Interactive prompts with defaults
|
|
323
|
-
- Web mode: Browser-based form interface
|
|
324
|
-
- Skip mode: Non-interactive using defaults/CLI args
|
|
325
|
-
|
|
326
|
-
### Hierarchical Defaults Pattern
|
|
327
|
-
Configuration values are resolved in priority order:
|
|
328
|
-
1. CLI arguments (highest priority)
|
|
329
|
-
2. Web form values
|
|
330
|
-
3. Interactive prompts
|
|
331
|
-
4. Default values (lowest priority)
|
|
332
|
-
|
|
333
|
-
## 7. Integration Points with Other Systems
|
|
334
|
-
|
|
335
|
-
### CLI Framework Integration
|
|
336
|
-
- Integrates with Click command framework
|
|
337
|
-
- Inherits from parent CLI structure
|
|
338
|
-
- Uses shared utility functions from `...utils`
|
|
339
|
-
|
|
340
|
-
### Template System Integration
|
|
341
|
-
- Uses `load_template()` utility to load YAML templates
|
|
342
|
-
- Templates stored in CLI package template directory
|
|
343
|
-
- Supports dynamic placeholder replacement
|
|
344
|
-
|
|
345
|
-
### Container Runtime Integration
|
|
346
|
-
- Detects and uses Docker or Podman for local broker setup
|
|
347
|
-
- Executes container commands via `os.system()`
|
|
348
|
-
- Validates container runtime availability
|
|
349
|
-
|
|
350
|
-
### Web Portal Integration
|
|
351
|
-
- Launches separate Flask process for web configuration
|
|
352
|
-
- Uses multiprocessing for inter-process communication
|
|
353
|
-
- Automatically opens browser to configuration URL
|
|
354
|
-
|
|
355
|
-
### File System Integration
|
|
356
|
-
- Creates project directory structure
|
|
357
|
-
- Generates configuration files in standard locations
|
|
358
|
-
- Creates environment files with proper formatting
|
|
359
|
-
|
|
360
|
-
### Environment Variable Integration
|
|
361
|
-
- Generates `.env` files for runtime configuration
|
|
362
|
-
- Maps CLI options to environment variable names
|
|
363
|
-
- Supports secure handling of sensitive values (passwords, API keys)
|
|
364
|
-
|
|
365
|
-
The init_cmd system provides a comprehensive, user-friendly way to bootstrap new Solace Agent Mesh projects with proper configuration, directory structure, and integration setup.
|