solace-agent-mesh 0.2.3__py3-none-any.whl → 1.0.1__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/adk_llm.txt +93 -0
- solace_agent_mesh/agent/adk/app_llm_agent.py +26 -0
- solace_agent_mesh/agent/adk/callbacks.py +1694 -0
- solace_agent_mesh/agent/adk/filesystem_artifact_service.py +381 -0
- solace_agent_mesh/agent/adk/invocation_monitor.py +295 -0
- solace_agent_mesh/agent/adk/models/lite_llm.py +872 -0
- solace_agent_mesh/agent/adk/models/models_llm.txt +94 -0
- solace_agent_mesh/agent/adk/runner.py +353 -0
- solace_agent_mesh/agent/adk/services.py +240 -0
- solace_agent_mesh/agent/adk/setup.py +751 -0
- solace_agent_mesh/agent/adk/stream_parser.py +214 -0
- solace_agent_mesh/agent/adk/tool_wrapper.py +139 -0
- solace_agent_mesh/agent/agent_llm.txt +41 -0
- solace_agent_mesh/agent/protocol/event_handlers.py +1469 -0
- solace_agent_mesh/agent/protocol/protocol_llm.txt +21 -0
- solace_agent_mesh/agent/sac/app.py +640 -0
- solace_agent_mesh/agent/sac/component.py +3388 -0
- solace_agent_mesh/agent/sac/patch_adk.py +111 -0
- solace_agent_mesh/agent/sac/sac_llm.txt +105 -0
- solace_agent_mesh/agent/sac/task_execution_context.py +176 -0
- solace_agent_mesh/agent/testing/__init__.py +3 -0
- solace_agent_mesh/agent/testing/debug_utils.py +135 -0
- solace_agent_mesh/agent/testing/testing_llm.txt +90 -0
- solace_agent_mesh/agent/tools/__init__.py +14 -0
- solace_agent_mesh/agent/tools/audio_tools.py +1622 -0
- solace_agent_mesh/agent/tools/builtin_artifact_tools.py +1954 -0
- solace_agent_mesh/agent/tools/builtin_data_analysis_tools.py +238 -0
- solace_agent_mesh/agent/tools/general_agent_tools.py +569 -0
- solace_agent_mesh/agent/tools/image_tools.py +1184 -0
- solace_agent_mesh/agent/tools/peer_agent_tool.py +289 -0
- solace_agent_mesh/agent/tools/registry.py +36 -0
- solace_agent_mesh/agent/tools/test_tools.py +135 -0
- solace_agent_mesh/agent/tools/tool_definition.py +45 -0
- solace_agent_mesh/agent/tools/tools_llm.txt +104 -0
- solace_agent_mesh/agent/tools/web_tools.py +381 -0
- solace_agent_mesh/agent/utils/artifact_helpers.py +927 -0
- solace_agent_mesh/agent/utils/config_parser.py +47 -0
- solace_agent_mesh/agent/utils/context_helpers.py +60 -0
- solace_agent_mesh/agent/utils/utils_llm.txt +153 -0
- solace_agent_mesh/assets/docs/404.html +16 -0
- solace_agent_mesh/assets/docs/assets/css/styles.906a1503.css +1 -0
- solace_agent_mesh/assets/docs/assets/images/Solace_AI_Framework_With_Broker-85f0a306a9bcdd20b390b7a949f6d862.png +0 -0
- solace_agent_mesh/assets/docs/assets/images/sac-flows-80d5b603c6aafd33e87945680ce0abf3.png +0 -0
- solace_agent_mesh/assets/docs/assets/images/sac_parts_of_a_component-cb3d0424b1d0c17734c5435cca6b4082.png +0 -0
- solace_agent_mesh/assets/docs/assets/js/04989206.674a8007.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/0e682baa.79f0ab22.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/1001.0182a8bd.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/1023fc19.015679ca.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/1039.0bd46aa1.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/149.b797a808.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/1523c6b4.91c7bc01.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/165.6a39807d.js +2 -0
- solace_agent_mesh/assets/docs/assets/js/165.6a39807d.js.LICENSE.txt +9 -0
- solace_agent_mesh/assets/docs/assets/js/166ab619.7d97ccaf.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/17896441.a5e82f9b.js +2 -0
- solace_agent_mesh/assets/docs/assets/js/17896441.a5e82f9b.js.LICENSE.txt +7 -0
- solace_agent_mesh/assets/docs/assets/js/1c6e87d2.23bccffb.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/2130.ab9fd314.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/21ceee5f.614fa8dd.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/2237.5e477fc6.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/2334.622a6395.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/2a9cab12.8909df92.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/3219.adc1d663.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/332e10b5.7a103f42.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/3624.b524e433.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/375.708d48db.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/3834.b6cd790e.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/3d406171.f722eaf5.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/4250.95455b28.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/42b3f8d8.36090198.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/4356.d169ab5b.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/442a8107.5ba94b65.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/4458.518e66fa.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/4488.c7cc3442.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/4494.6ee23046.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/4855.fc4444b6.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/4866.22daefc0.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/4950.ca4caeda.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/4c2787c2.66ee00e9.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/5388.7a136447.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/55f47984.c484bf96.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/5607.081356f8.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/5864.b0d0e9de.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/5b4258a4.bda20761.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/5e95c892.558d5167.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/6143.0a1464c9.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/6395.e9c73649.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/6796.51d2c9b7.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/6976.379be23b.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/6978.ee0b945c.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/7040.cb436723.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/7195.412f418a.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/7280.3fb73bdb.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/768e31b0.a12673db.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/7845.e33e7c4c.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/7900.69516146.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/8356.8a379c04.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/85387663.6bf41934.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/8567.4732c6b7.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/8573.cb04eda5.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/8577.1d54e766.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/8591.d7c16be6.js +2 -0
- solace_agent_mesh/assets/docs/assets/js/8591.d7c16be6.js.LICENSE.txt +61 -0
- solace_agent_mesh/assets/docs/assets/js/8709.7ecd4047.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/8731.49e930c2.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/8908.f9d1b506.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/9157.b4093d07.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/9278.a4fd875d.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/945fb41e.74d728aa.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/9616.b75c2f6d.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/9793.c6d16376.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/9eff14a2.1bf8f61c.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/a3a92b25.26ca071f.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/a7bd4aaa.2204d2f7.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/a94703ab.0438dbc2.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/aba21aa0.c42a534c.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/aba87c2f.d3e2dcc3.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/ae4415af.8e279b5d.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/b7006a3a.40b10c9d.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/bac0be12.f50d9bac.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/bb2ef573.207e6990.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/c2c06897.63b76e9e.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/cc969b05.954186d4.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/cd3d4052.ca6eed8c.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/ced92a13.fb92e7ca.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/cee5d587.f5b73ca1.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/f284c35a.ecc3d195.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/f897a61a.2c2e152c.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/fbfa3e75.aca209c9.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/main.7ed3319f.js +2 -0
- solace_agent_mesh/assets/docs/assets/js/main.7ed3319f.js.LICENSE.txt +81 -0
- solace_agent_mesh/assets/docs/assets/js/runtime~main.d9520ae2.js +1 -0
- solace_agent_mesh/assets/docs/docs/documentation/concepts/agents/index.html +128 -0
- solace_agent_mesh/assets/docs/docs/documentation/concepts/architecture/index.html +91 -0
- solace_agent_mesh/assets/docs/docs/documentation/concepts/cli/index.html +201 -0
- solace_agent_mesh/assets/docs/docs/documentation/concepts/gateways/index.html +91 -0
- solace_agent_mesh/assets/docs/docs/documentation/concepts/orchestrator/index.html +55 -0
- solace_agent_mesh/assets/docs/docs/documentation/concepts/plugins/index.html +82 -0
- solace_agent_mesh/assets/docs/docs/documentation/deployment/debugging/index.html +60 -0
- solace_agent_mesh/assets/docs/docs/documentation/deployment/deploy/index.html +48 -0
- solace_agent_mesh/assets/docs/docs/documentation/deployment/observability/index.html +54 -0
- solace_agent_mesh/assets/docs/docs/documentation/enterprise/index.html +17 -0
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/component-overview/index.html +45 -0
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/installation/index.html +76 -0
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/introduction/index.html +150 -0
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/quick-start/index.html +54 -0
- solace_agent_mesh/assets/docs/docs/documentation/tutorials/bedrock-agents/index.html +267 -0
- solace_agent_mesh/assets/docs/docs/documentation/tutorials/custom-agent/index.html +136 -0
- solace_agent_mesh/assets/docs/docs/documentation/tutorials/event-mesh-gateway/index.html +116 -0
- solace_agent_mesh/assets/docs/docs/documentation/tutorials/mcp-integration/index.html +80 -0
- solace_agent_mesh/assets/docs/docs/documentation/tutorials/mongodb-integration/index.html +164 -0
- solace_agent_mesh/assets/docs/docs/documentation/tutorials/rest-gateway/index.html +57 -0
- solace_agent_mesh/assets/docs/docs/documentation/tutorials/slack-integration/index.html +72 -0
- solace_agent_mesh/assets/docs/docs/documentation/tutorials/sql-database/index.html +102 -0
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/artifact-management/index.html +99 -0
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/audio-tools/index.html +90 -0
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/data-analysis-tools/index.html +107 -0
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/embeds/index.html +152 -0
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/index.html +103 -0
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/create-agents/index.html +170 -0
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/create-gateways/index.html +200 -0
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/creating-service-providers/index.html +54 -0
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/solace-ai-connector/index.html +69 -0
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/structure/index.html +59 -0
- solace_agent_mesh/assets/docs/img/Solace_AI_Framework_README.png +0 -0
- solace_agent_mesh/assets/docs/img/Solace_AI_Framework_With_Broker.png +0 -0
- solace_agent_mesh/assets/docs/img/logo.png +0 -0
- solace_agent_mesh/assets/docs/img/sac-flows.png +0 -0
- solace_agent_mesh/assets/docs/img/sac_parts_of_a_component.png +0 -0
- solace_agent_mesh/assets/docs/img/solace-logo.png +0 -0
- solace_agent_mesh/assets/docs/lunr-index-1753813536522.json +1 -0
- solace_agent_mesh/assets/docs/lunr-index.json +1 -0
- solace_agent_mesh/assets/docs/search-doc-1753813536522.json +1 -0
- solace_agent_mesh/assets/docs/search-doc.json +1 -0
- solace_agent_mesh/assets/docs/sitemap.xml +1 -0
- solace_agent_mesh/cli/__init__.py +1 -1
- solace_agent_mesh/cli/commands/add_cmd/__init__.py +15 -0
- solace_agent_mesh/cli/commands/add_cmd/add_cmd_llm.txt +250 -0
- solace_agent_mesh/cli/commands/add_cmd/agent_cmd.py +659 -0
- solace_agent_mesh/cli/commands/add_cmd/gateway_cmd.py +322 -0
- solace_agent_mesh/cli/commands/add_cmd/web_add_agent_step.py +93 -0
- solace_agent_mesh/cli/commands/add_cmd/web_add_gateway_step.py +118 -0
- solace_agent_mesh/cli/commands/docs_cmd.py +57 -0
- solace_agent_mesh/cli/commands/eval_cmd.py +64 -0
- solace_agent_mesh/cli/commands/init_cmd/__init__.py +404 -0
- solace_agent_mesh/cli/commands/init_cmd/broker_step.py +201 -0
- solace_agent_mesh/cli/commands/init_cmd/directory_step.py +28 -0
- solace_agent_mesh/cli/commands/init_cmd/env_step.py +197 -0
- solace_agent_mesh/cli/commands/init_cmd/init_cmd_llm.txt +365 -0
- solace_agent_mesh/cli/commands/init_cmd/orchestrator_step.py +387 -0
- solace_agent_mesh/cli/commands/init_cmd/project_files_step.py +38 -0
- solace_agent_mesh/cli/commands/init_cmd/web_init_step.py +110 -0
- solace_agent_mesh/cli/commands/init_cmd/webui_gateway_step.py +183 -0
- solace_agent_mesh/cli/commands/plugin_cmd/__init__.py +18 -0
- solace_agent_mesh/cli/commands/plugin_cmd/add_cmd.py +372 -0
- solace_agent_mesh/cli/commands/plugin_cmd/build_cmd.py +86 -0
- solace_agent_mesh/cli/commands/plugin_cmd/catalog_cmd.py +138 -0
- solace_agent_mesh/cli/commands/plugin_cmd/create_cmd.py +309 -0
- solace_agent_mesh/cli/commands/plugin_cmd/official_registry.py +174 -0
- solace_agent_mesh/cli/commands/plugin_cmd/plugin_cmd_llm.txt +305 -0
- solace_agent_mesh/cli/commands/run_cmd.py +158 -0
- solace_agent_mesh/cli/main.py +17 -294
- solace_agent_mesh/cli/utils.py +135 -204
- solace_agent_mesh/client/webui/frontend/static/assets/authCallback-DvlO62me.js +1 -0
- solace_agent_mesh/client/webui/frontend/static/assets/client-bp6u3qVZ.js +49 -0
- solace_agent_mesh/client/webui/frontend/static/assets/favicon-BLgzUch9.ico +0 -0
- solace_agent_mesh/client/webui/frontend/static/assets/main-An0a5j5k.js +663 -0
- solace_agent_mesh/client/webui/frontend/static/assets/main-Bu5-4Bac.css +1 -0
- solace_agent_mesh/client/webui/frontend/static/auth-callback.html +14 -0
- solace_agent_mesh/client/webui/frontend/static/index.html +15 -0
- solace_agent_mesh/common/__init__.py +1 -0
- solace_agent_mesh/common/a2a_protocol.py +564 -0
- solace_agent_mesh/common/agent_registry.py +42 -0
- solace_agent_mesh/common/client/__init__.py +4 -0
- solace_agent_mesh/common/client/card_resolver.py +21 -0
- solace_agent_mesh/common/client/client.py +85 -0
- solace_agent_mesh/common/client/client_llm.txt +133 -0
- solace_agent_mesh/common/common_llm.txt +144 -0
- solace_agent_mesh/common/constants.py +1 -14
- solace_agent_mesh/common/middleware/__init__.py +12 -0
- solace_agent_mesh/common/middleware/config_resolver.py +130 -0
- solace_agent_mesh/common/middleware/middleware_llm.txt +174 -0
- solace_agent_mesh/common/middleware/registry.py +125 -0
- solace_agent_mesh/common/server/__init__.py +4 -0
- solace_agent_mesh/common/server/server.py +122 -0
- solace_agent_mesh/common/server/server_llm.txt +169 -0
- solace_agent_mesh/common/server/task_manager.py +291 -0
- solace_agent_mesh/common/server/utils.py +28 -0
- solace_agent_mesh/common/services/__init__.py +4 -0
- solace_agent_mesh/common/services/employee_service.py +162 -0
- solace_agent_mesh/common/services/identity_service.py +129 -0
- solace_agent_mesh/common/services/providers/__init__.py +4 -0
- solace_agent_mesh/common/services/providers/local_file_identity_service.py +148 -0
- solace_agent_mesh/common/services/providers/providers_llm.txt +113 -0
- solace_agent_mesh/common/services/services_llm.txt +132 -0
- solace_agent_mesh/common/types.py +411 -0
- solace_agent_mesh/common/utils/__init__.py +7 -0
- solace_agent_mesh/common/utils/asyncio_macos_fix.py +86 -0
- solace_agent_mesh/common/utils/embeds/__init__.py +33 -0
- solace_agent_mesh/common/utils/embeds/constants.py +55 -0
- solace_agent_mesh/common/utils/embeds/converter.py +452 -0
- solace_agent_mesh/common/utils/embeds/embeds_llm.txt +124 -0
- solace_agent_mesh/common/utils/embeds/evaluators.py +394 -0
- solace_agent_mesh/common/utils/embeds/modifiers.py +816 -0
- solace_agent_mesh/common/utils/embeds/resolver.py +865 -0
- solace_agent_mesh/common/utils/embeds/types.py +14 -0
- solace_agent_mesh/common/utils/in_memory_cache.py +108 -0
- solace_agent_mesh/common/utils/log_formatters.py +44 -0
- solace_agent_mesh/common/utils/mime_helpers.py +106 -0
- solace_agent_mesh/common/utils/push_notification_auth.py +134 -0
- solace_agent_mesh/common/utils/utils_llm.txt +67 -0
- solace_agent_mesh/config_portal/backend/common.py +66 -24
- solace_agent_mesh/config_portal/backend/plugin_catalog/constants.py +23 -0
- solace_agent_mesh/config_portal/backend/plugin_catalog/models.py +49 -0
- solace_agent_mesh/config_portal/backend/plugin_catalog/registry_manager.py +160 -0
- solace_agent_mesh/config_portal/backend/plugin_catalog/scraper.py +525 -0
- solace_agent_mesh/config_portal/backend/plugin_catalog_server.py +216 -0
- solace_agent_mesh/config_portal/backend/server.py +550 -140
- solace_agent_mesh/config_portal/frontend/static/client/assets/_index-DNxCwAGB.js +48 -0
- solace_agent_mesh/config_portal/frontend/static/client/assets/components-B7lKcHVY.js +140 -0
- solace_agent_mesh/config_portal/frontend/static/client/assets/{entry.client-DX1misIU.js → entry.client-CEumGClk.js} +3 -3
- solace_agent_mesh/config_portal/frontend/static/client/assets/index-DSo1AH_7.js +68 -0
- solace_agent_mesh/config_portal/frontend/static/client/assets/manifest-d2b54a97.js +1 -0
- solace_agent_mesh/config_portal/frontend/static/client/assets/{root-BApq5dPK.js → root-C4XmHinv.js} +2 -2
- solace_agent_mesh/config_portal/frontend/static/client/assets/root-DxRwaWiE.css +1 -0
- solace_agent_mesh/config_portal/frontend/static/client/index.html +3 -3
- solace_agent_mesh/core_a2a/__init__.py +1 -0
- solace_agent_mesh/core_a2a/core_a2a_llm.txt +88 -0
- solace_agent_mesh/core_a2a/service.py +331 -0
- solace_agent_mesh/evaluation/config_loader.py +657 -0
- solace_agent_mesh/evaluation/evaluator.py +667 -0
- solace_agent_mesh/evaluation/message_organizer.py +568 -0
- solace_agent_mesh/evaluation/report/benchmark_info.html +35 -0
- solace_agent_mesh/evaluation/report/chart_section.html +141 -0
- solace_agent_mesh/evaluation/report/detailed_breakdown.html +28 -0
- solace_agent_mesh/evaluation/report/modal.html +59 -0
- solace_agent_mesh/evaluation/report/modal_chart_functions.js +411 -0
- solace_agent_mesh/evaluation/report/modal_script.js +296 -0
- solace_agent_mesh/evaluation/report/modal_styles.css +340 -0
- solace_agent_mesh/evaluation/report/performance_metrics_styles.css +93 -0
- solace_agent_mesh/evaluation/report/templates/footer.html +2 -0
- solace_agent_mesh/evaluation/report/templates/header.html +340 -0
- solace_agent_mesh/evaluation/report_data_processor.py +972 -0
- solace_agent_mesh/evaluation/report_generator.py +613 -0
- solace_agent_mesh/evaluation/run.py +613 -0
- solace_agent_mesh/evaluation/subscriber.py +872 -0
- solace_agent_mesh/evaluation/summary_builder.py +775 -0
- solace_agent_mesh/evaluation/test_case_loader.py +714 -0
- solace_agent_mesh/gateway/base/__init__.py +1 -0
- solace_agent_mesh/gateway/base/app.py +266 -0
- solace_agent_mesh/gateway/base/base_llm.txt +119 -0
- solace_agent_mesh/gateway/base/component.py +1542 -0
- solace_agent_mesh/gateway/base/task_context.py +74 -0
- solace_agent_mesh/gateway/gateway_llm.txt +125 -0
- solace_agent_mesh/gateway/http_sse/app.py +190 -0
- solace_agent_mesh/gateway/http_sse/component.py +1602 -0
- solace_agent_mesh/gateway/http_sse/components/__init__.py +7 -0
- solace_agent_mesh/gateway/http_sse/components/components_llm.txt +65 -0
- solace_agent_mesh/gateway/http_sse/components/visualization_forwarder_component.py +108 -0
- solace_agent_mesh/gateway/http_sse/dependencies.py +316 -0
- solace_agent_mesh/gateway/http_sse/http_sse_llm.txt +63 -0
- solace_agent_mesh/gateway/http_sse/main.py +442 -0
- solace_agent_mesh/gateway/http_sse/routers/__init__.py +4 -0
- solace_agent_mesh/gateway/http_sse/routers/agents.py +41 -0
- solace_agent_mesh/gateway/http_sse/routers/artifacts.py +821 -0
- solace_agent_mesh/gateway/http_sse/routers/auth.py +212 -0
- solace_agent_mesh/gateway/http_sse/routers/config.py +55 -0
- solace_agent_mesh/gateway/http_sse/routers/people.py +69 -0
- solace_agent_mesh/gateway/http_sse/routers/routers_llm.txt +37 -0
- solace_agent_mesh/gateway/http_sse/routers/sessions.py +80 -0
- solace_agent_mesh/gateway/http_sse/routers/sse.py +138 -0
- solace_agent_mesh/gateway/http_sse/routers/tasks.py +294 -0
- solace_agent_mesh/gateway/http_sse/routers/users.py +59 -0
- solace_agent_mesh/gateway/http_sse/routers/visualization.py +1131 -0
- solace_agent_mesh/gateway/http_sse/services/__init__.py +4 -0
- solace_agent_mesh/gateway/http_sse/services/agent_service.py +69 -0
- solace_agent_mesh/gateway/http_sse/services/people_service.py +158 -0
- solace_agent_mesh/gateway/http_sse/services/services_llm.txt +179 -0
- solace_agent_mesh/gateway/http_sse/services/task_service.py +121 -0
- solace_agent_mesh/gateway/http_sse/session_manager.py +187 -0
- solace_agent_mesh/gateway/http_sse/sse_manager.py +328 -0
- solace_agent_mesh/llm.txt +228 -0
- solace_agent_mesh/llm_detail.txt +2835 -0
- solace_agent_mesh/templates/agent_template.yaml +53 -0
- solace_agent_mesh/templates/eval_backend_template.yaml +54 -0
- solace_agent_mesh/templates/gateway_app_template.py +73 -0
- solace_agent_mesh/templates/gateway_component_template.py +400 -0
- solace_agent_mesh/templates/gateway_config_template.yaml +43 -0
- solace_agent_mesh/templates/main_orchestrator.yaml +55 -0
- solace_agent_mesh/templates/plugin_agent_config_template.yaml +122 -0
- solace_agent_mesh/templates/plugin_custom_config_template.yaml +27 -0
- solace_agent_mesh/templates/plugin_custom_template.py +10 -0
- solace_agent_mesh/templates/plugin_gateway_config_template.yaml +63 -0
- solace_agent_mesh/templates/plugin_pyproject_template.toml +33 -0
- solace_agent_mesh/templates/plugin_readme_template.md +34 -0
- solace_agent_mesh/templates/plugin_tools_template.py +224 -0
- solace_agent_mesh/templates/shared_config.yaml +66 -0
- solace_agent_mesh/templates/templates_llm.txt +147 -0
- solace_agent_mesh/templates/webui.yaml +53 -0
- solace_agent_mesh-1.0.1.dist-info/METADATA +432 -0
- solace_agent_mesh-1.0.1.dist-info/RECORD +359 -0
- solace_agent_mesh-1.0.1.dist-info/entry_points.txt +3 -0
- {solace_agent_mesh-0.2.3.dist-info → solace_agent_mesh-1.0.1.dist-info}/licenses/LICENSE +1 -1
- solace_agent_mesh/agents/base_agent_component.py +0 -226
- solace_agent_mesh/agents/global/actions/agent_state_change.py +0 -54
- solace_agent_mesh/agents/global/actions/clear_history.py +0 -32
- solace_agent_mesh/agents/global/actions/convert_file_to_markdown.py +0 -160
- solace_agent_mesh/agents/global/actions/create_file.py +0 -70
- solace_agent_mesh/agents/global/actions/error_action.py +0 -45
- solace_agent_mesh/agents/global/actions/plantuml_diagram.py +0 -163
- solace_agent_mesh/agents/global/actions/plotly_graph.py +0 -152
- solace_agent_mesh/agents/global/actions/retrieve_file.py +0 -51
- solace_agent_mesh/agents/global/global_agent_component.py +0 -38
- solace_agent_mesh/agents/image_processing/actions/create_image.py +0 -75
- solace_agent_mesh/agents/image_processing/actions/describe_image.py +0 -115
- solace_agent_mesh/agents/image_processing/image_processing_agent_component.py +0 -23
- solace_agent_mesh/agents/slack/__init__.py +0 -1
- solace_agent_mesh/agents/slack/actions/__init__.py +0 -1
- solace_agent_mesh/agents/slack/actions/post_message.py +0 -177
- solace_agent_mesh/agents/slack/slack_agent_component.py +0 -59
- solace_agent_mesh/agents/web_request/actions/do_image_search.py +0 -84
- solace_agent_mesh/agents/web_request/actions/do_news_search.py +0 -47
- solace_agent_mesh/agents/web_request/actions/do_suggestion_search.py +0 -34
- solace_agent_mesh/agents/web_request/actions/do_web_request.py +0 -135
- solace_agent_mesh/agents/web_request/actions/download_file.py +0 -69
- solace_agent_mesh/agents/web_request/web_request_agent_component.py +0 -33
- solace_agent_mesh/assets/web-visualizer/assets/index-D0qORgkg.css +0 -1
- solace_agent_mesh/assets/web-visualizer/assets/index-DnDr1pnu.js +0 -109
- solace_agent_mesh/assets/web-visualizer/index.html +0 -14
- solace_agent_mesh/assets/web-visualizer/vite.svg +0 -1
- solace_agent_mesh/cli/commands/add/__init__.py +0 -3
- solace_agent_mesh/cli/commands/add/add.py +0 -88
- solace_agent_mesh/cli/commands/add/agent.py +0 -110
- solace_agent_mesh/cli/commands/add/copy_from_plugin.py +0 -92
- solace_agent_mesh/cli/commands/add/gateway.py +0 -374
- solace_agent_mesh/cli/commands/build.py +0 -670
- solace_agent_mesh/cli/commands/chat/__init__.py +0 -3
- solace_agent_mesh/cli/commands/chat/chat.py +0 -361
- solace_agent_mesh/cli/commands/config.py +0 -29
- solace_agent_mesh/cli/commands/init/__init__.py +0 -3
- solace_agent_mesh/cli/commands/init/ai_provider_step.py +0 -93
- solace_agent_mesh/cli/commands/init/broker_step.py +0 -99
- solace_agent_mesh/cli/commands/init/builtin_agent_step.py +0 -83
- solace_agent_mesh/cli/commands/init/check_if_already_done.py +0 -13
- solace_agent_mesh/cli/commands/init/create_config_file_step.py +0 -65
- solace_agent_mesh/cli/commands/init/create_other_project_files_step.py +0 -147
- solace_agent_mesh/cli/commands/init/file_service_step.py +0 -73
- solace_agent_mesh/cli/commands/init/init.py +0 -92
- solace_agent_mesh/cli/commands/init/project_structure_step.py +0 -16
- solace_agent_mesh/cli/commands/init/web_init_step.py +0 -32
- solace_agent_mesh/cli/commands/plugin/__init__.py +0 -3
- solace_agent_mesh/cli/commands/plugin/add.py +0 -100
- solace_agent_mesh/cli/commands/plugin/build.py +0 -268
- solace_agent_mesh/cli/commands/plugin/create.py +0 -117
- solace_agent_mesh/cli/commands/plugin/plugin.py +0 -124
- solace_agent_mesh/cli/commands/plugin/remove.py +0 -73
- solace_agent_mesh/cli/commands/run.py +0 -68
- solace_agent_mesh/cli/commands/visualizer.py +0 -138
- solace_agent_mesh/cli/config.py +0 -85
- solace_agent_mesh/common/action.py +0 -91
- solace_agent_mesh/common/action_list.py +0 -37
- solace_agent_mesh/common/action_response.py +0 -340
- solace_agent_mesh/common/mysql_database.py +0 -40
- solace_agent_mesh/common/postgres_database.py +0 -85
- solace_agent_mesh/common/prompt_templates.py +0 -28
- solace_agent_mesh/common/stimulus_utils.py +0 -152
- solace_agent_mesh/common/time.py +0 -24
- solace_agent_mesh/common/utils.py +0 -712
- solace_agent_mesh/config_portal/frontend/static/client/assets/_index-DMmCawWe.js +0 -42
- solace_agent_mesh/config_portal/frontend/static/client/assets/components-ZIfdTbrV.js +0 -191
- solace_agent_mesh/config_portal/frontend/static/client/assets/index-BJHAE5s4.js +0 -17
- solace_agent_mesh/config_portal/frontend/static/client/assets/manifest-dd988f05.js +0 -1
- solace_agent_mesh/config_portal/frontend/static/client/assets/root-DX4gQ516.css +0 -1
- solace_agent_mesh/configs/agent_global.yaml +0 -74
- solace_agent_mesh/configs/agent_image_processing.yaml +0 -82
- solace_agent_mesh/configs/agent_slack.yaml +0 -64
- solace_agent_mesh/configs/agent_web_request.yaml +0 -75
- solace_agent_mesh/configs/conversation_to_file.yaml +0 -56
- solace_agent_mesh/configs/error_catcher.yaml +0 -56
- solace_agent_mesh/configs/monitor.yaml +0 -0
- solace_agent_mesh/configs/monitor_stim_and_errors_to_slack.yaml +0 -109
- solace_agent_mesh/configs/monitor_user_feedback.yaml +0 -58
- solace_agent_mesh/configs/orchestrator.yaml +0 -241
- solace_agent_mesh/configs/service_embedding.yaml +0 -81
- solace_agent_mesh/configs/service_llm.yaml +0 -265
- solace_agent_mesh/configs/visualize_websocket.yaml +0 -55
- solace_agent_mesh/gateway/components/gateway_base.py +0 -47
- solace_agent_mesh/gateway/components/gateway_input.py +0 -278
- solace_agent_mesh/gateway/components/gateway_output.py +0 -298
- solace_agent_mesh/gateway/identity/bamboohr_identity.py +0 -18
- solace_agent_mesh/gateway/identity/identity_base.py +0 -10
- solace_agent_mesh/gateway/identity/identity_provider.py +0 -60
- solace_agent_mesh/gateway/identity/no_identity.py +0 -9
- solace_agent_mesh/gateway/identity/passthru_identity.py +0 -9
- solace_agent_mesh/monitors/base_monitor_component.py +0 -26
- solace_agent_mesh/monitors/feedback/user_feedback_monitor.py +0 -75
- solace_agent_mesh/monitors/stim_and_errors/stim_and_error_monitor.py +0 -560
- solace_agent_mesh/orchestrator/__init__.py +0 -0
- solace_agent_mesh/orchestrator/action_manager.py +0 -237
- solace_agent_mesh/orchestrator/components/__init__.py +0 -0
- solace_agent_mesh/orchestrator/components/orchestrator_action_manager_timeout_component.py +0 -58
- solace_agent_mesh/orchestrator/components/orchestrator_action_response_component.py +0 -179
- solace_agent_mesh/orchestrator/components/orchestrator_register_component.py +0 -107
- solace_agent_mesh/orchestrator/components/orchestrator_stimulus_processor_component.py +0 -527
- solace_agent_mesh/orchestrator/components/orchestrator_streaming_output_component.py +0 -260
- solace_agent_mesh/orchestrator/orchestrator_main.py +0 -172
- solace_agent_mesh/orchestrator/orchestrator_prompt.py +0 -539
- solace_agent_mesh/services/__init__.py +0 -0
- solace_agent_mesh/services/authorization/providers/base_authorization_provider.py +0 -56
- solace_agent_mesh/services/bamboo_hr_service/__init__.py +0 -3
- solace_agent_mesh/services/bamboo_hr_service/bamboo_hr.py +0 -182
- solace_agent_mesh/services/common/__init__.py +0 -4
- solace_agent_mesh/services/common/auto_expiry.py +0 -45
- solace_agent_mesh/services/common/singleton.py +0 -18
- solace_agent_mesh/services/file_service/__init__.py +0 -14
- solace_agent_mesh/services/file_service/file_manager/__init__.py +0 -0
- solace_agent_mesh/services/file_service/file_manager/bucket_file_manager.py +0 -149
- solace_agent_mesh/services/file_service/file_manager/file_manager_base.py +0 -162
- solace_agent_mesh/services/file_service/file_manager/memory_file_manager.py +0 -64
- solace_agent_mesh/services/file_service/file_manager/volume_file_manager.py +0 -106
- solace_agent_mesh/services/file_service/file_service.py +0 -437
- solace_agent_mesh/services/file_service/file_service_constants.py +0 -54
- solace_agent_mesh/services/file_service/file_transformations.py +0 -141
- solace_agent_mesh/services/file_service/file_utils.py +0 -324
- solace_agent_mesh/services/file_service/transformers/__init__.py +0 -5
- solace_agent_mesh/services/history_service/__init__.py +0 -3
- solace_agent_mesh/services/history_service/history_providers/__init__.py +0 -0
- solace_agent_mesh/services/history_service/history_providers/base_history_provider.py +0 -54
- solace_agent_mesh/services/history_service/history_providers/file_history_provider.py +0 -74
- solace_agent_mesh/services/history_service/history_providers/index.py +0 -40
- solace_agent_mesh/services/history_service/history_providers/memory_history_provider.py +0 -33
- solace_agent_mesh/services/history_service/history_providers/mongodb_history_provider.py +0 -66
- solace_agent_mesh/services/history_service/history_providers/redis_history_provider.py +0 -66
- solace_agent_mesh/services/history_service/history_providers/sql_history_provider.py +0 -93
- solace_agent_mesh/services/history_service/history_service.py +0 -413
- solace_agent_mesh/services/history_service/long_term_memory/__init__.py +0 -0
- solace_agent_mesh/services/history_service/long_term_memory/long_term_memory.py +0 -399
- solace_agent_mesh/services/llm_service/components/llm_request_component.py +0 -340
- solace_agent_mesh/services/llm_service/components/llm_service_component_base.py +0 -152
- solace_agent_mesh/services/middleware_service/__init__.py +0 -0
- solace_agent_mesh/services/middleware_service/middleware_service.py +0 -20
- solace_agent_mesh/templates/action.py +0 -38
- solace_agent_mesh/templates/agent.py +0 -29
- solace_agent_mesh/templates/agent.yaml +0 -70
- solace_agent_mesh/templates/gateway-config-template.yaml +0 -6
- solace_agent_mesh/templates/gateway-default-config.yaml +0 -28
- solace_agent_mesh/templates/gateway-flows.yaml +0 -78
- solace_agent_mesh/templates/gateway-header.yaml +0 -16
- solace_agent_mesh/templates/gateway_base.py +0 -15
- solace_agent_mesh/templates/gateway_input.py +0 -98
- solace_agent_mesh/templates/gateway_output.py +0 -71
- solace_agent_mesh/templates/plugin-gateway-default-config.yaml +0 -29
- solace_agent_mesh/templates/plugin-pyproject.toml +0 -30
- solace_agent_mesh/templates/rest-api-default-config.yaml +0 -31
- solace_agent_mesh/templates/rest-api-flows.yaml +0 -81
- solace_agent_mesh/templates/slack-default-config.yaml +0 -16
- solace_agent_mesh/templates/slack-flows.yaml +0 -81
- solace_agent_mesh/templates/solace-agent-mesh-default.yaml +0 -86
- solace_agent_mesh/templates/solace-agent-mesh-plugin-default.yaml +0 -8
- solace_agent_mesh/templates/web-default-config.yaml +0 -10
- solace_agent_mesh/templates/web-flows.yaml +0 -76
- solace_agent_mesh/tools/__init__.py +0 -0
- solace_agent_mesh/tools/components/__init__.py +0 -0
- solace_agent_mesh/tools/components/conversation_formatter.py +0 -111
- solace_agent_mesh/tools/components/file_resolver_component.py +0 -58
- solace_agent_mesh/tools/config/runtime_config.py +0 -26
- solace_agent_mesh-0.2.3.dist-info/METADATA +0 -172
- solace_agent_mesh-0.2.3.dist-info/RECORD +0 -193
- solace_agent_mesh-0.2.3.dist-info/entry_points.txt +0 -3
- /solace_agent_mesh/{agents → agent}/__init__.py +0 -0
- /solace_agent_mesh/{agents/global → agent/adk}/__init__.py +0 -0
- /solace_agent_mesh/{agents/global/actions → agent/protocol}/__init__.py +0 -0
- /solace_agent_mesh/{agents/image_processing → agent/sac}/__init__.py +0 -0
- /solace_agent_mesh/{agents/image_processing/actions → agent/utils}/__init__.py +0 -0
- /solace_agent_mesh/{agents/web_request → config_portal/backend/plugin_catalog}/__init__.py +0 -0
- /solace_agent_mesh/{agents/web_request/actions → evaluation}/__init__.py +0 -0
- /solace_agent_mesh/gateway/{components → http_sse}/__init__.py +0 -0
- {solace_agent_mesh-0.2.3.dist-info → solace_agent_mesh-1.0.1.dist-info}/WHEEL +0 -0
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
import click
|
|
2
|
+
from pathlib import Path
|
|
3
|
+
from ...utils import ask_if_not_provided
|
|
4
|
+
|
|
5
|
+
ENV_DEFAULTS = {
|
|
6
|
+
"LLM_SERVICE_ENDPOINT": "YOUR_LLM_SERVICE_ENDPOINT_HERE",
|
|
7
|
+
"LLM_SERVICE_API_KEY": "YOUR_LLM_SERVICE_API_KEY_HERE",
|
|
8
|
+
"LLM_SERVICE_PLANNING_MODEL_NAME": "YOUR_LLM_SERVICE_PLANNING_MODEL_NAME_HERE",
|
|
9
|
+
"LLM_SERVICE_GENERAL_MODEL_NAME": "YOUR_LLM_SERVICE_GENERAL_MODEL_NAME_HERE",
|
|
10
|
+
"NAMESPACE": "my_project_namespace/",
|
|
11
|
+
"SOLACE_BROKER_URL": "ws://localhost:8080",
|
|
12
|
+
"SOLACE_BROKER_VPN": "default",
|
|
13
|
+
"SOLACE_BROKER_USERNAME": "default",
|
|
14
|
+
"SOLACE_BROKER_PASSWORD": "default",
|
|
15
|
+
"SOLACE_DEV_MODE": "false",
|
|
16
|
+
"SESSION_SECRET_KEY": "please_change_me_in",
|
|
17
|
+
"FASTAPI_HOST": "127.0.0.1",
|
|
18
|
+
"FASTAPI_PORT": "8000",
|
|
19
|
+
"FASTAPI_HTTPS_PORT": "8443",
|
|
20
|
+
"ENABLE_EMBED_RESOLUTION": "true",
|
|
21
|
+
"SSL_KEYFILE": "",
|
|
22
|
+
"SSL_CERTFILE": "",
|
|
23
|
+
"SSL_KEYFILE_PASSWORD": "",
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
def create_env_file(project_root: Path, options: dict, skip_interactive: bool) -> bool:
|
|
28
|
+
"""
|
|
29
|
+
Creates the .env file, using ask_if_not_provided to get values.
|
|
30
|
+
The 'options' dict contains values from CLI args or web_init.
|
|
31
|
+
Returns True on success, False on failure.
|
|
32
|
+
"""
|
|
33
|
+
env_path = project_root / ".env"
|
|
34
|
+
click.echo("Configuring .env file...")
|
|
35
|
+
|
|
36
|
+
env_params_config = [
|
|
37
|
+
(
|
|
38
|
+
"llm_endpoint_url",
|
|
39
|
+
"LLM_SERVICE_ENDPOINT",
|
|
40
|
+
"Enter LLM Service Endpoint URL",
|
|
41
|
+
False,
|
|
42
|
+
"LLM_SERVICE_ENDPOINT",
|
|
43
|
+
),
|
|
44
|
+
(
|
|
45
|
+
"llm_api_key",
|
|
46
|
+
"LLM_SERVICE_API_KEY",
|
|
47
|
+
"Enter LLM Service API Key",
|
|
48
|
+
True,
|
|
49
|
+
"LLM_SERVICE_API_KEY",
|
|
50
|
+
),
|
|
51
|
+
(
|
|
52
|
+
"llm_planning_model_name",
|
|
53
|
+
"LLM_SERVICE_PLANNING_MODEL_NAME",
|
|
54
|
+
"Enter LLM Planning Model Name (e.g., openai/gpt-4o)",
|
|
55
|
+
False,
|
|
56
|
+
"LLM_SERVICE_PLANNING_MODEL_NAME",
|
|
57
|
+
),
|
|
58
|
+
(
|
|
59
|
+
"llm_general_model_name",
|
|
60
|
+
"LLM_SERVICE_GENERAL_MODEL_NAME",
|
|
61
|
+
"Enter LLM General Model Name (e.g., openai/gpt-3.5-turbo)",
|
|
62
|
+
False,
|
|
63
|
+
"LLM_SERVICE_GENERAL_MODEL_NAME",
|
|
64
|
+
),
|
|
65
|
+
(
|
|
66
|
+
"namespace",
|
|
67
|
+
"NAMESPACE",
|
|
68
|
+
"Enter Namespace for the project (e.g., my_project)",
|
|
69
|
+
False,
|
|
70
|
+
"NAMESPACE",
|
|
71
|
+
),
|
|
72
|
+
(
|
|
73
|
+
"broker_url",
|
|
74
|
+
"SOLACE_BROKER_URL",
|
|
75
|
+
"Solace Broker URL",
|
|
76
|
+
False,
|
|
77
|
+
"SOLACE_BROKER_URL",
|
|
78
|
+
),
|
|
79
|
+
(
|
|
80
|
+
"broker_vpn",
|
|
81
|
+
"SOLACE_BROKER_VPN",
|
|
82
|
+
"Solace Broker VPN",
|
|
83
|
+
False,
|
|
84
|
+
"SOLACE_BROKER_VPN",
|
|
85
|
+
),
|
|
86
|
+
(
|
|
87
|
+
"broker_username",
|
|
88
|
+
"SOLACE_BROKER_USERNAME",
|
|
89
|
+
"Solace Broker Username",
|
|
90
|
+
False,
|
|
91
|
+
"SOLACE_BROKER_USERNAME",
|
|
92
|
+
),
|
|
93
|
+
(
|
|
94
|
+
"broker_password",
|
|
95
|
+
"SOLACE_BROKER_PASSWORD",
|
|
96
|
+
"Solace Broker Password",
|
|
97
|
+
True,
|
|
98
|
+
"SOLACE_BROKER_PASSWORD",
|
|
99
|
+
),
|
|
100
|
+
(
|
|
101
|
+
"dev_mode",
|
|
102
|
+
"SOLACE_DEV_MODE",
|
|
103
|
+
"Enable Solace Dev Mode (true/false)",
|
|
104
|
+
False,
|
|
105
|
+
"SOLACE_DEV_MODE",
|
|
106
|
+
),
|
|
107
|
+
(
|
|
108
|
+
"webui_session_secret_key",
|
|
109
|
+
"SESSION_SECRET_KEY",
|
|
110
|
+
"Enter Web UI Session Secret Key",
|
|
111
|
+
True,
|
|
112
|
+
"SESSION_SECRET_KEY",
|
|
113
|
+
),
|
|
114
|
+
(
|
|
115
|
+
"webui_fastapi_host",
|
|
116
|
+
"FASTAPI_HOST",
|
|
117
|
+
"Enter Web UI FastAPI Host",
|
|
118
|
+
False,
|
|
119
|
+
"FASTAPI_HOST",
|
|
120
|
+
),
|
|
121
|
+
(
|
|
122
|
+
"webui_fastapi_port",
|
|
123
|
+
"FASTAPI_PORT",
|
|
124
|
+
"Enter Web UI FastAPI Port",
|
|
125
|
+
False,
|
|
126
|
+
"FASTAPI_PORT",
|
|
127
|
+
),
|
|
128
|
+
(
|
|
129
|
+
"webui_fastapi_https_port",
|
|
130
|
+
"FASTAPI_HTTPS_PORT",
|
|
131
|
+
"Enter Web UI FastAPI HTTPS Port",
|
|
132
|
+
False,
|
|
133
|
+
"FASTAPI_HTTPS_PORT"
|
|
134
|
+
),
|
|
135
|
+
(
|
|
136
|
+
"webui_ssl_keyfile",
|
|
137
|
+
"SSL_KEYFILE",
|
|
138
|
+
"Enter SSL Key File Path",
|
|
139
|
+
False,
|
|
140
|
+
"SSL_KEYFILE"
|
|
141
|
+
),
|
|
142
|
+
(
|
|
143
|
+
"webui_ssl_certfile",
|
|
144
|
+
"SSL_CERTFILE",
|
|
145
|
+
"Enter SSL Certificate File Path",
|
|
146
|
+
False,
|
|
147
|
+
"SSL_CERTFILE"
|
|
148
|
+
),
|
|
149
|
+
(
|
|
150
|
+
"webui_ssl_keyfile_password",
|
|
151
|
+
"SSL_KEYFILE_PASSWORD",
|
|
152
|
+
"Enter SSL Key File Passphrase",
|
|
153
|
+
True,
|
|
154
|
+
"SSL_KEYFILE_PASSWORD"
|
|
155
|
+
),
|
|
156
|
+
(
|
|
157
|
+
"webui_enable_embed_resolution",
|
|
158
|
+
"ENABLE_EMBED_RESOLUTION",
|
|
159
|
+
"Enable Embed Resolution for Web UI? (true/false)",
|
|
160
|
+
False,
|
|
161
|
+
"ENABLE_EMBED_RESOLUTION",
|
|
162
|
+
),
|
|
163
|
+
]
|
|
164
|
+
|
|
165
|
+
env_vars_to_write = {}
|
|
166
|
+
|
|
167
|
+
for opt_key, env_name, prompt, is_secret, default_key in env_params_config:
|
|
168
|
+
ask_if_not_provided(
|
|
169
|
+
options,
|
|
170
|
+
opt_key,
|
|
171
|
+
prompt,
|
|
172
|
+
default=ENV_DEFAULTS.get(default_key),
|
|
173
|
+
none_interactive=skip_interactive,
|
|
174
|
+
hide_input=is_secret,
|
|
175
|
+
)
|
|
176
|
+
env_vars_to_write[env_name] = options.get(opt_key)
|
|
177
|
+
|
|
178
|
+
if (
|
|
179
|
+
env_vars_to_write.get("NAMESPACE")
|
|
180
|
+
and env_vars_to_write["NAMESPACE"] != ENV_DEFAULTS.get("NAMESPACE")
|
|
181
|
+
and not str(env_vars_to_write["NAMESPACE"]).endswith("/")
|
|
182
|
+
):
|
|
183
|
+
env_vars_to_write["NAMESPACE"] = str(env_vars_to_write["NAMESPACE"]) + "/"
|
|
184
|
+
|
|
185
|
+
final_env_vars = {k: v for k, v in env_vars_to_write.items() if v is not None}
|
|
186
|
+
env_content_lines = [f'{key}="{value}"' for key, value in final_env_vars.items()]
|
|
187
|
+
|
|
188
|
+
try:
|
|
189
|
+
with open(env_path, "w", encoding="utf-8") as f:
|
|
190
|
+
f.write("\n".join(env_content_lines) + "\n")
|
|
191
|
+
click.echo(f" Created: {env_path.relative_to(project_root)}")
|
|
192
|
+
return True
|
|
193
|
+
except IOError as e:
|
|
194
|
+
click.echo(
|
|
195
|
+
click.style(f"Error creating file {env_path}: {e}", fg="red"), err=True
|
|
196
|
+
)
|
|
197
|
+
return False
|
|
@@ -0,0 +1,365 @@
|
|
|
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:8080", # 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:8080", # 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:8080", # 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:8080",
|
|
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.
|