solace-agent-mesh 1.11.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.
- solace_agent_mesh/__init__.py +0 -0
- solace_agent_mesh/agent/__init__.py +0 -0
- solace_agent_mesh/agent/adk/__init__.py +0 -0
- solace_agent_mesh/agent/adk/adk_llm.txt +226 -0
- solace_agent_mesh/agent/adk/adk_llm_detail.txt +566 -0
- 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/app_llm_agent.py +52 -0
- solace_agent_mesh/agent/adk/artifacts/__init__.py +1 -0
- solace_agent_mesh/agent/adk/artifacts/artifacts_llm.txt +171 -0
- solace_agent_mesh/agent/adk/artifacts/filesystem_artifact_service.py +545 -0
- solace_agent_mesh/agent/adk/artifacts/s3_artifact_service.py +609 -0
- solace_agent_mesh/agent/adk/callbacks.py +2318 -0
- solace_agent_mesh/agent/adk/embed_resolving_mcp_toolset.py +406 -0
- solace_agent_mesh/agent/adk/intelligent_mcp_callbacks.py +415 -0
- solace_agent_mesh/agent/adk/mcp_content_processor.py +666 -0
- solace_agent_mesh/agent/adk/models/lite_llm.py +1026 -0
- solace_agent_mesh/agent/adk/models/models_llm.txt +189 -0
- solace_agent_mesh/agent/adk/models/oauth2_token_manager.py +132 -0
- solace_agent_mesh/agent/adk/runner.py +390 -0
- solace_agent_mesh/agent/adk/schema_migration.py +88 -0
- solace_agent_mesh/agent/adk/services.py +468 -0
- solace_agent_mesh/agent/adk/setup.py +1325 -0
- solace_agent_mesh/agent/adk/stream_parser.py +415 -0
- solace_agent_mesh/agent/adk/tool_wrapper.py +165 -0
- solace_agent_mesh/agent/agent_llm.txt +369 -0
- solace_agent_mesh/agent/agent_llm_detail.txt +1702 -0
- solace_agent_mesh/agent/protocol/__init__.py +0 -0
- solace_agent_mesh/agent/protocol/event_handlers.py +2041 -0
- solace_agent_mesh/agent/protocol/protocol_llm.txt +81 -0
- solace_agent_mesh/agent/protocol/protocol_llm_detail.txt +92 -0
- solace_agent_mesh/agent/proxies/__init__.py +0 -0
- solace_agent_mesh/agent/proxies/a2a/__init__.py +3 -0
- solace_agent_mesh/agent/proxies/a2a/a2a_llm.txt +190 -0
- solace_agent_mesh/agent/proxies/a2a/app.py +56 -0
- solace_agent_mesh/agent/proxies/a2a/component.py +1585 -0
- solace_agent_mesh/agent/proxies/a2a/config.py +216 -0
- solace_agent_mesh/agent/proxies/a2a/oauth_token_cache.py +104 -0
- solace_agent_mesh/agent/proxies/base/__init__.py +3 -0
- solace_agent_mesh/agent/proxies/base/app.py +100 -0
- solace_agent_mesh/agent/proxies/base/base_llm.txt +148 -0
- solace_agent_mesh/agent/proxies/base/component.py +816 -0
- solace_agent_mesh/agent/proxies/base/config.py +85 -0
- solace_agent_mesh/agent/proxies/base/proxy_task_context.py +19 -0
- solace_agent_mesh/agent/proxies/proxies_llm.txt +283 -0
- solace_agent_mesh/agent/sac/__init__.py +0 -0
- solace_agent_mesh/agent/sac/app.py +595 -0
- solace_agent_mesh/agent/sac/component.py +3668 -0
- solace_agent_mesh/agent/sac/patch_adk.py +103 -0
- solace_agent_mesh/agent/sac/sac_llm.txt +189 -0
- solace_agent_mesh/agent/sac/sac_llm_detail.txt +200 -0
- solace_agent_mesh/agent/sac/task_execution_context.py +415 -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 +58 -0
- solace_agent_mesh/agent/testing/testing_llm_detail.txt +68 -0
- solace_agent_mesh/agent/tools/__init__.py +16 -0
- solace_agent_mesh/agent/tools/audio_tools.py +1740 -0
- solace_agent_mesh/agent/tools/builtin_artifact_tools.py +2500 -0
- solace_agent_mesh/agent/tools/builtin_data_analysis_tools.py +244 -0
- solace_agent_mesh/agent/tools/dynamic_tool.py +396 -0
- solace_agent_mesh/agent/tools/general_agent_tools.py +572 -0
- solace_agent_mesh/agent/tools/image_tools.py +1185 -0
- solace_agent_mesh/agent/tools/peer_agent_tool.py +363 -0
- solace_agent_mesh/agent/tools/registry.py +38 -0
- solace_agent_mesh/agent/tools/test_tools.py +136 -0
- solace_agent_mesh/agent/tools/time_tools.py +126 -0
- solace_agent_mesh/agent/tools/tool_config_types.py +93 -0
- solace_agent_mesh/agent/tools/tool_definition.py +53 -0
- solace_agent_mesh/agent/tools/tools_llm.txt +276 -0
- solace_agent_mesh/agent/tools/tools_llm_detail.txt +275 -0
- solace_agent_mesh/agent/tools/web_tools.py +392 -0
- solace_agent_mesh/agent/utils/__init__.py +0 -0
- solace_agent_mesh/agent/utils/artifact_helpers.py +1353 -0
- solace_agent_mesh/agent/utils/config_parser.py +49 -0
- solace_agent_mesh/agent/utils/context_helpers.py +77 -0
- solace_agent_mesh/agent/utils/utils_llm.txt +152 -0
- solace_agent_mesh/agent/utils/utils_llm_detail.txt +149 -0
- solace_agent_mesh/assets/docs/404.html +16 -0
- solace_agent_mesh/assets/docs/assets/css/styles.8162edfb.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/sam-enterprise-credentials-b269f095349473118b2b33bdfcc40122.png +0 -0
- solace_agent_mesh/assets/docs/assets/js/032c2d61.f3d37824.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/05749d90.19ac4f35.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/0bcf40b7.c019ad46.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/1001.0182a8bd.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/15ba94aa.92fea363.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/15e40e79.434bb30f.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/17896441.e612dfb4.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/2130.ab9fd314.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/2131ec11.5c7a1f6e.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/2237.5e477fc6.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/2279.550aa580.js +2 -0
- solace_agent_mesh/assets/docs/assets/js/2279.550aa580.js.LICENSE.txt +13 -0
- solace_agent_mesh/assets/docs/assets/js/2334.1cf50a20.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/240a0364.9ad94d1b.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/2987107d.a80604f9.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/2e32b5e0.33f5d75b.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/3219.adc1d663.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/341393d4.0fac2613.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/3624.0eaa1fd0.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/3a6c6137.f5940cfa.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/3ac1795d.28b7c67b.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/3ff0015d.2ddc75c0.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/41adc471.48b12a4e.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/4250.95455b28.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/4356.d169ab5b.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/509e993c.a1fbf45a.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/5388.7a136447.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/547e15cc.2f7790c1.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/55b7b518.29d6e75d.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/5c2bd65f.90a87880.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/5e95c892.558d5167.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/6063ff4c.ef84f702.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/60702c0e.a8bdd79b.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/6143.0a1464c9.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/631738c7.fa471607.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/6395.e9c73649.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/64195356.c498c4d0.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/66d4869e.b77431fc.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/6a520c9d.b6e3f2ce.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/6aaedf65.7253541d.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/6ad8f0bd.a5b36a60.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/6d84eae0.fd23ba4a.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/6fdfefc7.99de744e.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/71da7b71.374b9d54.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/722f809d.965da774.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/7280.3fb73bdb.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/742f027b.46c07808.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/77cf947d.48cb18a2.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/8024126c.fa0e7186.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/81a99df0.2484b8d9.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/82fbfb93.161823a5.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/8356.8a379c04.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.5d015485.js +2 -0
- solace_agent_mesh/assets/docs/assets/js/8591.5d015485.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.6c1dbf0c.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/8908.f9d1b506.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/8b032486.91a91afc.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/9157.b4093d07.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/924ffdeb.975e428a.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/9278.a4fd875d.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/945fb41e.6f4cdffd.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/94e8668d.16083b3f.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/9bb13469.b2333011.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/9e9d0a82.570c057b.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/a7bd4aaa.2204d2f7.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/a94703ab.3e5fbcb3.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/ab9708a8.245ae0ef.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/aba21aa0.c42a534c.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/ad71b5ed.af3ecfd1.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/ad87452a.9d73dad6.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/c198a0dc.8f31f867.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/ceb2a7a6.5d92d7d0.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/da0b5bad.b62f7b08.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/db5d6442.3daf1696.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/db924877.e98d12a1.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/dd817ffc.c37a755e.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/dd81e2b8.b682e9c2.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/de5f4c65.e8241890.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/de915948.44a432bc.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/e04b235d.52cb25ed.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/e1b6eeb4.b1068f9b.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/e3d9abda.1476f570.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/e6f9706b.4488e34c.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/e92d0134.3bda61dd.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/f284c35a.250993bf.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/ff4d71f2.74710fc1.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/main.7acf7ace.js +2 -0
- solace_agent_mesh/assets/docs/assets/js/main.7acf7ace.js.LICENSE.txt +81 -0
- solace_agent_mesh/assets/docs/assets/js/runtime~main.9e0813a2.js +1 -0
- solace_agent_mesh/assets/docs/docs/documentation/components/agents/index.html +154 -0
- solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/artifact-management/index.html +99 -0
- solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/audio-tools/index.html +90 -0
- solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/data-analysis-tools/index.html +107 -0
- solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/embeds/index.html +166 -0
- solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/index.html +101 -0
- solace_agent_mesh/assets/docs/docs/documentation/components/cli/index.html +219 -0
- solace_agent_mesh/assets/docs/docs/documentation/components/gateways/index.html +92 -0
- solace_agent_mesh/assets/docs/docs/documentation/components/index.html +29 -0
- solace_agent_mesh/assets/docs/docs/documentation/components/orchestrator/index.html +55 -0
- solace_agent_mesh/assets/docs/docs/documentation/components/plugins/index.html +110 -0
- solace_agent_mesh/assets/docs/docs/documentation/components/projects/index.html +182 -0
- solace_agent_mesh/assets/docs/docs/documentation/components/prompts/index.html +147 -0
- solace_agent_mesh/assets/docs/docs/documentation/components/proxies/index.html +345 -0
- solace_agent_mesh/assets/docs/docs/documentation/components/speech/index.html +52 -0
- solace_agent_mesh/assets/docs/docs/documentation/deploying/debugging/index.html +83 -0
- solace_agent_mesh/assets/docs/docs/documentation/deploying/deployment-options/index.html +84 -0
- solace_agent_mesh/assets/docs/docs/documentation/deploying/index.html +25 -0
- solace_agent_mesh/assets/docs/docs/documentation/deploying/kubernetes-deployment/index.html +47 -0
- solace_agent_mesh/assets/docs/docs/documentation/deploying/logging/index.html +85 -0
- solace_agent_mesh/assets/docs/docs/documentation/deploying/observability/index.html +60 -0
- 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 +144 -0
- solace_agent_mesh/assets/docs/docs/documentation/developing/create-gateways/index.html +191 -0
- solace_agent_mesh/assets/docs/docs/documentation/developing/creating-python-tools/index.html +128 -0
- solace_agent_mesh/assets/docs/docs/documentation/developing/creating-service-providers/index.html +54 -0
- solace_agent_mesh/assets/docs/docs/documentation/developing/evaluations/index.html +135 -0
- solace_agent_mesh/assets/docs/docs/documentation/developing/index.html +34 -0
- solace_agent_mesh/assets/docs/docs/documentation/developing/structure/index.html +55 -0
- solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/bedrock-agents/index.html +267 -0
- solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/custom-agent/index.html +142 -0
- solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/event-mesh-gateway/index.html +116 -0
- solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/mcp-integration/index.html +86 -0
- solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/mongodb-integration/index.html +164 -0
- solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/rag-integration/index.html +140 -0
- solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/rest-gateway/index.html +57 -0
- solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/slack-integration/index.html +72 -0
- solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/sql-database/index.html +102 -0
- 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 +86 -0
- solace_agent_mesh/assets/docs/docs/documentation/enterprise/connectors/index.html +67 -0
- solace_agent_mesh/assets/docs/docs/documentation/enterprise/index.html +37 -0
- solace_agent_mesh/assets/docs/docs/documentation/enterprise/installation/index.html +86 -0
- 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 +247 -0
- solace_agent_mesh/assets/docs/docs/documentation/enterprise/secure-user-delegated-access/index.html +440 -0
- solace_agent_mesh/assets/docs/docs/documentation/enterprise/single-sign-on/index.html +184 -0
- solace_agent_mesh/assets/docs/docs/documentation/enterprise/wheel-installation/index.html +62 -0
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/architecture/index.html +75 -0
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/index.html +54 -0
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/introduction/index.html +85 -0
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/try-agent-mesh/index.html +41 -0
- solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/artifact-storage/index.html +290 -0
- solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/configurations/index.html +78 -0
- solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/index.html +25 -0
- solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/installation/index.html +78 -0
- solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/large_language_models/index.html +160 -0
- solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/run-project/index.html +142 -0
- solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/session-storage/index.html +251 -0
- solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/user-feedback/index.html +88 -0
- solace_agent_mesh/assets/docs/docs/documentation/migrations/a2a-upgrade/a2a-gateway-upgrade-to-0.3.0/index.html +100 -0
- solace_agent_mesh/assets/docs/docs/documentation/migrations/a2a-upgrade/a2a-technical-migration-map/index.html +52 -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/sam-enterprise-credentials.png +0 -0
- solace_agent_mesh/assets/docs/img/solace-logo-text.svg +18 -0
- solace_agent_mesh/assets/docs/img/solace-logo.png +0 -0
- solace_agent_mesh/assets/docs/lunr-index-1765810064709.json +1 -0
- solace_agent_mesh/assets/docs/lunr-index.json +1 -0
- solace_agent_mesh/assets/docs/search-doc-1765810064709.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 -0
- solace_agent_mesh/cli/commands/__init__.py +0 -0
- 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 +729 -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 +102 -0
- solace_agent_mesh/cli/commands/add_cmd/web_add_gateway_step.py +114 -0
- solace_agent_mesh/cli/commands/docs_cmd.py +60 -0
- solace_agent_mesh/cli/commands/eval_cmd.py +46 -0
- solace_agent_mesh/cli/commands/init_cmd/__init__.py +439 -0
- solace_agent_mesh/cli/commands/init_cmd/broker_step.py +201 -0
- solace_agent_mesh/cli/commands/init_cmd/database_step.py +91 -0
- solace_agent_mesh/cli/commands/init_cmd/directory_step.py +28 -0
- solace_agent_mesh/cli/commands/init_cmd/env_step.py +238 -0
- solace_agent_mesh/cli/commands/init_cmd/init_cmd_llm.txt +365 -0
- solace_agent_mesh/cli/commands/init_cmd/orchestrator_step.py +464 -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 +119 -0
- solace_agent_mesh/cli/commands/init_cmd/webui_gateway_step.py +215 -0
- solace_agent_mesh/cli/commands/plugin_cmd/__init__.py +20 -0
- solace_agent_mesh/cli/commands/plugin_cmd/add_cmd.py +137 -0
- solace_agent_mesh/cli/commands/plugin_cmd/build_cmd.py +86 -0
- solace_agent_mesh/cli/commands/plugin_cmd/catalog_cmd.py +144 -0
- solace_agent_mesh/cli/commands/plugin_cmd/create_cmd.py +306 -0
- solace_agent_mesh/cli/commands/plugin_cmd/install_cmd.py +283 -0
- solace_agent_mesh/cli/commands/plugin_cmd/official_registry.py +175 -0
- solace_agent_mesh/cli/commands/plugin_cmd/plugin_cmd_llm.txt +305 -0
- solace_agent_mesh/cli/commands/run_cmd.py +215 -0
- solace_agent_mesh/cli/main.py +52 -0
- solace_agent_mesh/cli/utils.py +262 -0
- solace_agent_mesh/client/webui/frontend/static/assets/authCallback-Dj3JtK42.js +1 -0
- solace_agent_mesh/client/webui/frontend/static/assets/client-ZKk9kEJ5.js +25 -0
- solace_agent_mesh/client/webui/frontend/static/assets/favicon-BLgzUch9.ico +0 -0
- solace_agent_mesh/client/webui/frontend/static/assets/main-BcUaNZ-Q.css +1 -0
- solace_agent_mesh/client/webui/frontend/static/assets/main-vjch4RYc.js +435 -0
- solace_agent_mesh/client/webui/frontend/static/assets/vendor-BNV4kZN0.js +535 -0
- solace_agent_mesh/client/webui/frontend/static/auth-callback.html +15 -0
- solace_agent_mesh/client/webui/frontend/static/index.html +16 -0
- 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/__init__.py +1 -0
- solace_agent_mesh/common/a2a/__init__.py +241 -0
- solace_agent_mesh/common/a2a/a2a_llm.txt +175 -0
- solace_agent_mesh/common/a2a/a2a_llm_detail.txt +193 -0
- solace_agent_mesh/common/a2a/artifact.py +368 -0
- solace_agent_mesh/common/a2a/events.py +213 -0
- solace_agent_mesh/common/a2a/message.py +375 -0
- solace_agent_mesh/common/a2a/protocol.py +689 -0
- solace_agent_mesh/common/a2a/task.py +127 -0
- solace_agent_mesh/common/a2a/translation.py +655 -0
- solace_agent_mesh/common/a2a/types.py +55 -0
- solace_agent_mesh/common/a2a_spec/a2a.json +2576 -0
- solace_agent_mesh/common/a2a_spec/a2a_spec_llm.txt +445 -0
- solace_agent_mesh/common/a2a_spec/a2a_spec_llm_detail.txt +736 -0
- solace_agent_mesh/common/a2a_spec/schemas/agent_progress_update.json +18 -0
- solace_agent_mesh/common/a2a_spec/schemas/artifact_creation_progress.json +48 -0
- solace_agent_mesh/common/a2a_spec/schemas/feedback_event.json +51 -0
- solace_agent_mesh/common/a2a_spec/schemas/llm_invocation.json +41 -0
- solace_agent_mesh/common/a2a_spec/schemas/schemas_llm.txt +330 -0
- solace_agent_mesh/common/a2a_spec/schemas/tool_invocation_start.json +26 -0
- solace_agent_mesh/common/a2a_spec/schemas/tool_result.json +48 -0
- solace_agent_mesh/common/agent_registry.py +122 -0
- solace_agent_mesh/common/common_llm.txt +230 -0
- solace_agent_mesh/common/common_llm_detail.txt +2562 -0
- solace_agent_mesh/common/constants.py +6 -0
- solace_agent_mesh/common/data_parts.py +150 -0
- solace_agent_mesh/common/exceptions.py +49 -0
- solace_agent_mesh/common/middleware/__init__.py +12 -0
- solace_agent_mesh/common/middleware/config_resolver.py +132 -0
- solace_agent_mesh/common/middleware/middleware_llm.txt +174 -0
- solace_agent_mesh/common/middleware/middleware_llm_detail.txt +185 -0
- solace_agent_mesh/common/middleware/registry.py +127 -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/sac/__init__.py +0 -0
- solace_agent_mesh/common/sac/sac_llm.txt +71 -0
- solace_agent_mesh/common/sac/sac_llm_detail.txt +82 -0
- solace_agent_mesh/common/sac/sam_component_base.py +730 -0
- solace_agent_mesh/common/sam_events/__init__.py +9 -0
- solace_agent_mesh/common/sam_events/event_service.py +208 -0
- solace_agent_mesh/common/sam_events/sam_events_llm.txt +104 -0
- solace_agent_mesh/common/sam_events/sam_events_llm_detail.txt +115 -0
- solace_agent_mesh/common/services/__init__.py +4 -0
- solace_agent_mesh/common/services/employee_service.py +164 -0
- solace_agent_mesh/common/services/identity_service.py +134 -0
- solace_agent_mesh/common/services/providers/__init__.py +4 -0
- solace_agent_mesh/common/services/providers/local_file_identity_service.py +151 -0
- solace_agent_mesh/common/services/providers/providers_llm.txt +81 -0
- solace_agent_mesh/common/services/services_llm.txt +368 -0
- solace_agent_mesh/common/services/services_llm_detail.txt +459 -0
- solace_agent_mesh/common/utils/__init__.py +7 -0
- solace_agent_mesh/common/utils/artifact_utils.py +31 -0
- solace_agent_mesh/common/utils/asyncio_macos_fix.py +88 -0
- solace_agent_mesh/common/utils/embeds/__init__.py +33 -0
- solace_agent_mesh/common/utils/embeds/constants.py +56 -0
- solace_agent_mesh/common/utils/embeds/converter.py +447 -0
- solace_agent_mesh/common/utils/embeds/embeds_llm.txt +220 -0
- solace_agent_mesh/common/utils/embeds/evaluators.py +395 -0
- solace_agent_mesh/common/utils/embeds/modifiers.py +793 -0
- solace_agent_mesh/common/utils/embeds/resolver.py +967 -0
- solace_agent_mesh/common/utils/embeds/types.py +23 -0
- solace_agent_mesh/common/utils/in_memory_cache.py +108 -0
- solace_agent_mesh/common/utils/initializer.py +52 -0
- solace_agent_mesh/common/utils/log_formatters.py +64 -0
- solace_agent_mesh/common/utils/message_utils.py +80 -0
- solace_agent_mesh/common/utils/mime_helpers.py +172 -0
- solace_agent_mesh/common/utils/push_notification_auth.py +135 -0
- solace_agent_mesh/common/utils/pydantic_utils.py +159 -0
- 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/common/utils/type_utils.py +28 -0
- solace_agent_mesh/common/utils/utils_llm.txt +335 -0
- solace_agent_mesh/common/utils/utils_llm_detail.txt +572 -0
- solace_agent_mesh/config_portal/__init__.py +0 -0
- solace_agent_mesh/config_portal/backend/__init__.py +0 -0
- solace_agent_mesh/config_portal/backend/common.py +77 -0
- solace_agent_mesh/config_portal/backend/plugin_catalog/__init__.py +0 -0
- solace_agent_mesh/config_portal/backend/plugin_catalog/constants.py +24 -0
- solace_agent_mesh/config_portal/backend/plugin_catalog/models.py +49 -0
- solace_agent_mesh/config_portal/backend/plugin_catalog/registry_manager.py +166 -0
- solace_agent_mesh/config_portal/backend/plugin_catalog/scraper.py +521 -0
- solace_agent_mesh/config_portal/backend/plugin_catalog_server.py +217 -0
- solace_agent_mesh/config_portal/backend/server.py +644 -0
- solace_agent_mesh/config_portal/frontend/static/client/Solace_community_logo.png +0 -0
- solace_agent_mesh/config_portal/frontend/static/client/assets/_index-DiOiAjzL.js +103 -0
- solace_agent_mesh/config_portal/frontend/static/client/assets/components-Rk0n-9cK.js +140 -0
- solace_agent_mesh/config_portal/frontend/static/client/assets/entry.client-mvZjNKiz.js +19 -0
- solace_agent_mesh/config_portal/frontend/static/client/assets/index-DzNKzXrc.js +68 -0
- solace_agent_mesh/config_portal/frontend/static/client/assets/manifest-ba77705e.js +1 -0
- solace_agent_mesh/config_portal/frontend/static/client/assets/root-B17tZKK7.css +1 -0
- solace_agent_mesh/config_portal/frontend/static/client/assets/root-V2BeTIUc.js +10 -0
- solace_agent_mesh/config_portal/frontend/static/client/favicon.ico +0 -0
- solace_agent_mesh/config_portal/frontend/static/client/index.html +7 -0
- solace_agent_mesh/core_a2a/__init__.py +1 -0
- solace_agent_mesh/core_a2a/core_a2a_llm.txt +90 -0
- solace_agent_mesh/core_a2a/core_a2a_llm_detail.txt +101 -0
- solace_agent_mesh/core_a2a/service.py +307 -0
- solace_agent_mesh/evaluation/__init__.py +0 -0
- solace_agent_mesh/evaluation/evaluator.py +691 -0
- solace_agent_mesh/evaluation/message_organizer.py +553 -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 +970 -0
- solace_agent_mesh/evaluation/report_generator.py +607 -0
- solace_agent_mesh/evaluation/run.py +954 -0
- solace_agent_mesh/evaluation/shared/__init__.py +92 -0
- solace_agent_mesh/evaluation/shared/constants.py +47 -0
- solace_agent_mesh/evaluation/shared/exceptions.py +50 -0
- solace_agent_mesh/evaluation/shared/helpers.py +35 -0
- solace_agent_mesh/evaluation/shared/test_case_loader.py +167 -0
- solace_agent_mesh/evaluation/shared/test_suite_loader.py +280 -0
- solace_agent_mesh/evaluation/subscriber.py +776 -0
- solace_agent_mesh/evaluation/summary_builder.py +880 -0
- solace_agent_mesh/gateway/__init__.py +0 -0
- solace_agent_mesh/gateway/adapter/__init__.py +1 -0
- solace_agent_mesh/gateway/adapter/base.py +143 -0
- solace_agent_mesh/gateway/adapter/types.py +221 -0
- solace_agent_mesh/gateway/base/__init__.py +1 -0
- solace_agent_mesh/gateway/base/app.py +345 -0
- solace_agent_mesh/gateway/base/base_llm.txt +226 -0
- solace_agent_mesh/gateway/base/base_llm_detail.txt +235 -0
- solace_agent_mesh/gateway/base/component.py +2030 -0
- solace_agent_mesh/gateway/base/task_context.py +75 -0
- solace_agent_mesh/gateway/gateway_llm.txt +369 -0
- solace_agent_mesh/gateway/gateway_llm_detail.txt +3885 -0
- solace_agent_mesh/gateway/generic/__init__.py +1 -0
- solace_agent_mesh/gateway/generic/app.py +50 -0
- solace_agent_mesh/gateway/generic/component.py +727 -0
- solace_agent_mesh/gateway/http_sse/__init__.py +0 -0
- solace_agent_mesh/gateway/http_sse/alembic/alembic_llm.txt +345 -0
- solace_agent_mesh/gateway/http_sse/alembic/env.py +87 -0
- solace_agent_mesh/gateway/http_sse/alembic/script.py.mako +28 -0
- solace_agent_mesh/gateway/http_sse/alembic/versions/20250910_d5b3f8f2e9a0_create_initial_database.py +58 -0
- solace_agent_mesh/gateway/http_sse/alembic/versions/20250911_b1c2d3e4f5g6_add_database_indexes.py +83 -0
- solace_agent_mesh/gateway/http_sse/alembic/versions/20250916_f6e7d8c9b0a1_convert_timestamps_to_epoch_and_align_columns.py +412 -0
- solace_agent_mesh/gateway/http_sse/alembic/versions/20251006_98882922fa59_add_tasks_events_feedback_chat_tasks.py +190 -0
- solace_agent_mesh/gateway/http_sse/alembic/versions/20251015_add_session_performance_indexes.py +70 -0
- solace_agent_mesh/gateway/http_sse/alembic/versions/20251023_add_project_users_table.py +72 -0
- solace_agent_mesh/gateway/http_sse/alembic/versions/20251023_add_soft_delete_and_search.py +109 -0
- solace_agent_mesh/gateway/http_sse/alembic/versions/20251024_add_default_agent_to_projects.py +26 -0
- solace_agent_mesh/gateway/http_sse/alembic/versions/20251024_add_projects_table.py +135 -0
- 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/versions/versions_llm.txt +161 -0
- solace_agent_mesh/gateway/http_sse/alembic.ini +109 -0
- solace_agent_mesh/gateway/http_sse/app.py +351 -0
- solace_agent_mesh/gateway/http_sse/component.py +2360 -0
- solace_agent_mesh/gateway/http_sse/components/__init__.py +7 -0
- solace_agent_mesh/gateway/http_sse/components/components_llm.txt +105 -0
- solace_agent_mesh/gateway/http_sse/components/task_logger_forwarder.py +109 -0
- solace_agent_mesh/gateway/http_sse/components/visualization_forwarder_component.py +110 -0
- solace_agent_mesh/gateway/http_sse/dependencies.py +653 -0
- solace_agent_mesh/gateway/http_sse/http_sse_llm.txt +299 -0
- solace_agent_mesh/gateway/http_sse/http_sse_llm_detail.txt +3278 -0
- solace_agent_mesh/gateway/http_sse/main.py +789 -0
- solace_agent_mesh/gateway/http_sse/repository/__init__.py +46 -0
- solace_agent_mesh/gateway/http_sse/repository/chat_task_repository.py +102 -0
- solace_agent_mesh/gateway/http_sse/repository/entities/__init__.py +11 -0
- solace_agent_mesh/gateway/http_sse/repository/entities/chat_task.py +75 -0
- solace_agent_mesh/gateway/http_sse/repository/entities/entities_llm.txt +221 -0
- solace_agent_mesh/gateway/http_sse/repository/entities/feedback.py +20 -0
- solace_agent_mesh/gateway/http_sse/repository/entities/project.py +81 -0
- solace_agent_mesh/gateway/http_sse/repository/entities/project_user.py +47 -0
- solace_agent_mesh/gateway/http_sse/repository/entities/session.py +66 -0
- solace_agent_mesh/gateway/http_sse/repository/entities/session_history.py +0 -0
- solace_agent_mesh/gateway/http_sse/repository/entities/task.py +32 -0
- solace_agent_mesh/gateway/http_sse/repository/entities/task_event.py +21 -0
- solace_agent_mesh/gateway/http_sse/repository/feedback_repository.py +125 -0
- solace_agent_mesh/gateway/http_sse/repository/interfaces.py +239 -0
- solace_agent_mesh/gateway/http_sse/repository/models/__init__.py +34 -0
- solace_agent_mesh/gateway/http_sse/repository/models/base.py +7 -0
- solace_agent_mesh/gateway/http_sse/repository/models/chat_task_model.py +31 -0
- solace_agent_mesh/gateway/http_sse/repository/models/feedback_model.py +21 -0
- solace_agent_mesh/gateway/http_sse/repository/models/models_llm.txt +257 -0
- solace_agent_mesh/gateway/http_sse/repository/models/project_model.py +51 -0
- solace_agent_mesh/gateway/http_sse/repository/models/project_user_model.py +75 -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 +53 -0
- solace_agent_mesh/gateway/http_sse/repository/models/task_event_model.py +25 -0
- solace_agent_mesh/gateway/http_sse/repository/models/task_model.py +39 -0
- solace_agent_mesh/gateway/http_sse/repository/project_repository.py +172 -0
- solace_agent_mesh/gateway/http_sse/repository/project_user_repository.py +186 -0
- solace_agent_mesh/gateway/http_sse/repository/repository_llm.txt +308 -0
- solace_agent_mesh/gateway/http_sse/repository/session_repository.py +268 -0
- solace_agent_mesh/gateway/http_sse/repository/task_repository.py +248 -0
- solace_agent_mesh/gateway/http_sse/routers/__init__.py +4 -0
- solace_agent_mesh/gateway/http_sse/routers/agent_cards.py +74 -0
- solace_agent_mesh/gateway/http_sse/routers/artifacts.py +1137 -0
- solace_agent_mesh/gateway/http_sse/routers/auth.py +311 -0
- solace_agent_mesh/gateway/http_sse/routers/config.py +371 -0
- solace_agent_mesh/gateway/http_sse/routers/dto/__init__.py +10 -0
- solace_agent_mesh/gateway/http_sse/routers/dto/dto_llm.txt +450 -0
- 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/__init__.py +15 -0
- solace_agent_mesh/gateway/http_sse/routers/dto/requests/project_requests.py +48 -0
- solace_agent_mesh/gateway/http_sse/routers/dto/requests/requests_llm.txt +133 -0
- solace_agent_mesh/gateway/http_sse/routers/dto/requests/session_requests.py +33 -0
- solace_agent_mesh/gateway/http_sse/routers/dto/requests/task_requests.py +58 -0
- solace_agent_mesh/gateway/http_sse/routers/dto/responses/__init__.py +18 -0
- solace_agent_mesh/gateway/http_sse/routers/dto/responses/base_responses.py +42 -0
- solace_agent_mesh/gateway/http_sse/routers/dto/responses/project_responses.py +31 -0
- solace_agent_mesh/gateway/http_sse/routers/dto/responses/responses_llm.txt +123 -0
- solace_agent_mesh/gateway/http_sse/routers/dto/responses/session_responses.py +33 -0
- solace_agent_mesh/gateway/http_sse/routers/dto/responses/task_responses.py +30 -0
- solace_agent_mesh/gateway/http_sse/routers/dto/responses/version_responses.py +31 -0
- solace_agent_mesh/gateway/http_sse/routers/feedback.py +168 -0
- solace_agent_mesh/gateway/http_sse/routers/people.py +38 -0
- solace_agent_mesh/gateway/http_sse/routers/projects.py +767 -0
- solace_agent_mesh/gateway/http_sse/routers/prompts.py +1415 -0
- solace_agent_mesh/gateway/http_sse/routers/routers_llm.txt +312 -0
- solace_agent_mesh/gateway/http_sse/routers/sessions.py +634 -0
- solace_agent_mesh/gateway/http_sse/routers/speech.py +355 -0
- solace_agent_mesh/gateway/http_sse/routers/sse.py +230 -0
- solace_agent_mesh/gateway/http_sse/routers/tasks.py +1089 -0
- solace_agent_mesh/gateway/http_sse/routers/users.py +83 -0
- solace_agent_mesh/gateway/http_sse/routers/version.py +343 -0
- solace_agent_mesh/gateway/http_sse/routers/visualization.py +1220 -0
- solace_agent_mesh/gateway/http_sse/services/__init__.py +4 -0
- solace_agent_mesh/gateway/http_sse/services/agent_card_service.py +71 -0
- 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 +273 -0
- solace_agent_mesh/gateway/http_sse/services/feedback_service.py +250 -0
- solace_agent_mesh/gateway/http_sse/services/people_service.py +78 -0
- solace_agent_mesh/gateway/http_sse/services/project_service.py +930 -0
- solace_agent_mesh/gateway/http_sse/services/prompt_builder_assistant.py +303 -0
- solace_agent_mesh/gateway/http_sse/services/services_llm.txt +303 -0
- solace_agent_mesh/gateway/http_sse/services/session_service.py +702 -0
- solace_agent_mesh/gateway/http_sse/services/task_logger_service.py +593 -0
- solace_agent_mesh/gateway/http_sse/services/task_service.py +119 -0
- solace_agent_mesh/gateway/http_sse/session_manager.py +219 -0
- solace_agent_mesh/gateway/http_sse/shared/__init__.py +146 -0
- solace_agent_mesh/gateway/http_sse/shared/auth_utils.py +29 -0
- solace_agent_mesh/gateway/http_sse/shared/base_repository.py +252 -0
- solace_agent_mesh/gateway/http_sse/shared/database_exceptions.py +274 -0
- solace_agent_mesh/gateway/http_sse/shared/database_helpers.py +43 -0
- solace_agent_mesh/gateway/http_sse/shared/enums.py +40 -0
- solace_agent_mesh/gateway/http_sse/shared/error_dto.py +107 -0
- solace_agent_mesh/gateway/http_sse/shared/exception_handlers.py +217 -0
- solace_agent_mesh/gateway/http_sse/shared/exceptions.py +192 -0
- solace_agent_mesh/gateway/http_sse/shared/pagination.py +138 -0
- solace_agent_mesh/gateway/http_sse/shared/response_utils.py +134 -0
- solace_agent_mesh/gateway/http_sse/shared/shared_llm.txt +319 -0
- solace_agent_mesh/gateway/http_sse/shared/timestamp_utils.py +97 -0
- solace_agent_mesh/gateway/http_sse/shared/types.py +50 -0
- solace_agent_mesh/gateway/http_sse/shared/utils.py +22 -0
- solace_agent_mesh/gateway/http_sse/sse_event_buffer.py +88 -0
- solace_agent_mesh/gateway/http_sse/sse_manager.py +491 -0
- solace_agent_mesh/gateway/http_sse/utils/__init__.py +1 -0
- solace_agent_mesh/gateway/http_sse/utils/artifact_copy_utils.py +370 -0
- solace_agent_mesh/gateway/http_sse/utils/stim_utils.py +72 -0
- solace_agent_mesh/gateway/http_sse/utils/utils_llm.txt +47 -0
- solace_agent_mesh/llm.txt +228 -0
- solace_agent_mesh/llm_detail.txt +2835 -0
- solace_agent_mesh/services/__init__.py +0 -0
- solace_agent_mesh/services/platform/__init__.py +18 -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 +147 -0
- solace_agent_mesh/services/platform/api/main.py +280 -0
- solace_agent_mesh/services/platform/api/middleware.py +51 -0
- solace_agent_mesh/services/platform/api/routers/__init__.py +24 -0
- solace_agent_mesh/services/platform/app.py +114 -0
- solace_agent_mesh/services/platform/component.py +235 -0
- solace_agent_mesh/solace_agent_mesh_llm.txt +362 -0
- solace_agent_mesh/solace_agent_mesh_llm_detail.txt +8599 -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 +75 -0
- solace_agent_mesh/templates/gateway_component_template.py +484 -0
- solace_agent_mesh/templates/gateway_config_template.yaml +38 -0
- solace_agent_mesh/templates/logging_config_template.yaml +48 -0
- solace_agent_mesh/templates/main_orchestrator.yaml +66 -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 +60 -0
- solace_agent_mesh/templates/plugin_pyproject_template.toml +32 -0
- solace_agent_mesh/templates/plugin_readme_template.md +12 -0
- solace_agent_mesh/templates/plugin_tool_config_template.yaml +109 -0
- solace_agent_mesh/templates/plugin_tools_template.py +224 -0
- solace_agent_mesh/templates/shared_config.yaml +112 -0
- solace_agent_mesh/templates/templates_llm.txt +147 -0
- solace_agent_mesh/templates/webui.yaml +177 -0
- solace_agent_mesh-1.11.2.dist-info/METADATA +504 -0
- solace_agent_mesh-1.11.2.dist-info/RECORD +624 -0
- solace_agent_mesh-1.11.2.dist-info/WHEEL +4 -0
- solace_agent_mesh-1.11.2.dist-info/entry_points.txt +3 -0
- solace_agent_mesh-1.11.2.dist-info/licenses/LICENSE +201 -0
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
# DEVELOPER GUIDE: versions
|
|
2
|
+
|
|
3
|
+
## Quick Summary
|
|
4
|
+
This directory contains Alembic database migration files for the HTTP SSE gateway. These migrations handle the evolution of the database schema, including initial table creation, performance optimization through indexing, timestamp format standardization, and task management features.
|
|
5
|
+
|
|
6
|
+
## Files Overview
|
|
7
|
+
- `20250910_d5b3f8f2e9a0_create_initial_database.py` - Creates the initial database schema with sessions and chat_messages tables
|
|
8
|
+
- `20250911_b1c2d3e4f5g6_add_database_indexes.py` - Adds performance indexes for common query patterns
|
|
9
|
+
- `20250916_f6e7d8c9b0a1_convert_timestamps_to_epoch_and_align_columns.py` - Converts datetime columns to epoch milliseconds and standardizes column names
|
|
10
|
+
- `20251006_98882922fa59_add_tasks_events_feedback_chat_tasks.py` - Adds task management tables and replaces chat_messages with chat_tasks
|
|
11
|
+
- `20251015_add_session_performance_indexes.py` - Adds optimized composite indexes for better query performance
|
|
12
|
+
- `versions_llm.txt` - LLM-generated documentation for the versions directory
|
|
13
|
+
|
|
14
|
+
## Developer API Reference
|
|
15
|
+
|
|
16
|
+
### 20250910_d5b3f8f2e9a0_create_initial_database.py
|
|
17
|
+
**Purpose:** Initial database migration that creates the core tables for session and message management
|
|
18
|
+
**Import:** This is an Alembic migration file - not directly imported
|
|
19
|
+
|
|
20
|
+
**Functions:**
|
|
21
|
+
- `upgrade() -> None` - Creates sessions and chat_messages tables with proper relationships and foreign key constraints
|
|
22
|
+
- `downgrade() -> None` - Drops all created tables (chat_messages first, then sessions)
|
|
23
|
+
|
|
24
|
+
**Constants/Variables:**
|
|
25
|
+
- `revision: str` - Migration identifier "d5b3f8f2e9a0"
|
|
26
|
+
- `down_revision: Union[str, None]` - Previous migration (None for initial migration)
|
|
27
|
+
- `branch_labels: Union[str, Sequence[str], None]` - Branch labels (None)
|
|
28
|
+
- `depends_on: Union[str, Sequence[str], None]` - Dependencies (None)
|
|
29
|
+
|
|
30
|
+
**Usage Examples:**
|
|
31
|
+
```bash
|
|
32
|
+
# Run this migration
|
|
33
|
+
alembic upgrade d5b3f8f2e9a0
|
|
34
|
+
|
|
35
|
+
# Rollback this migration
|
|
36
|
+
alembic downgrade base
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### 20250911_b1c2d3e4f5g6_add_database_indexes.py
|
|
40
|
+
**Purpose:** Performance optimization migration that adds indexes for efficient querying
|
|
41
|
+
**Import:** This is an Alembic migration file - not directly imported
|
|
42
|
+
|
|
43
|
+
**Functions:**
|
|
44
|
+
- `upgrade() -> None` - Creates indexes on user_id, timestamps, agent_id, and composite fields for optimal query performance
|
|
45
|
+
- `downgrade() -> None` - Removes all created indexes in reverse order
|
|
46
|
+
|
|
47
|
+
**Constants/Variables:**
|
|
48
|
+
- `revision: str` - Migration identifier "b1c2d3e4f5g6"
|
|
49
|
+
- `down_revision: Union[str, None]` - Previous migration "d5b3f8f2e9a0"
|
|
50
|
+
|
|
51
|
+
**Usage Examples:**
|
|
52
|
+
```bash
|
|
53
|
+
# Run this migration
|
|
54
|
+
alembic upgrade b1c2d3e4f5g6
|
|
55
|
+
|
|
56
|
+
# Rollback this migration
|
|
57
|
+
alembic downgrade d5b3f8f2e9a0
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### 20250916_f6e7d8c9b0a1_convert_timestamps_to_epoch_and_align_columns.py
|
|
61
|
+
**Purpose:** Schema modernization migration that converts datetime columns to epoch milliseconds for cross-platform compatibility
|
|
62
|
+
**Import:** This is an Alembic migration file - not directly imported
|
|
63
|
+
|
|
64
|
+
**Functions:**
|
|
65
|
+
- `upgrade() -> None` - Converts datetime columns to epoch milliseconds and renames columns (created_at → created_time, updated_at → updated_time)
|
|
66
|
+
- `downgrade() -> None` - Reverts back to datetime columns with original names
|
|
67
|
+
- `_upgrade_sqlite(current_time_ms: int) -> None` - SQLite-specific upgrade logic using table recreation
|
|
68
|
+
- `_upgrade_standard_sql(current_time_ms: int) -> None` - PostgreSQL/MySQL upgrade logic using ALTER COLUMN
|
|
69
|
+
- `_downgrade_sqlite() -> None` - SQLite-specific downgrade logic
|
|
70
|
+
- `_downgrade_standard_sql() -> None` - PostgreSQL/MySQL downgrade logic
|
|
71
|
+
- `_create_updated_indexes() -> None` - Creates indexes on new timestamp columns
|
|
72
|
+
- `_create_indexes_safe(index_name: str, table_name: str, columns: list) -> None` - Safely creates indexes (ignores if exists)
|
|
73
|
+
- `_drop_index_safe(index_name: str, table_name: str) -> None` - Safely drops indexes (ignores if not exists)
|
|
74
|
+
|
|
75
|
+
**Constants/Variables:**
|
|
76
|
+
- `revision: str` - Migration identifier "f6e7d8c9b0a1"
|
|
77
|
+
- `down_revision: str | None` - Previous migration "b1c2d3e4f5g6"
|
|
78
|
+
|
|
79
|
+
**Usage Examples:**
|
|
80
|
+
```bash
|
|
81
|
+
# Run this migration
|
|
82
|
+
alembic upgrade f6e7d8c9b0a1
|
|
83
|
+
|
|
84
|
+
# Rollback this migration
|
|
85
|
+
alembic downgrade b1c2d3e4f5g6
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### 20251006_98882922fa59_add_tasks_events_feedback_chat_tasks.py
|
|
89
|
+
**Purpose:** Major schema update that adds task management functionality and replaces chat_messages with chat_tasks
|
|
90
|
+
**Import:** This is an Alembic migration file - not directly imported
|
|
91
|
+
|
|
92
|
+
**Functions:**
|
|
93
|
+
- `upgrade() -> None` - Creates tasks, task_events, feedback, and chat_tasks tables; drops old chat_messages table and indexes
|
|
94
|
+
- `downgrade() -> None` - Recreates chat_messages table and drops all task-related tables
|
|
95
|
+
|
|
96
|
+
**Constants/Variables:**
|
|
97
|
+
- `revision: str` - Migration identifier "98882922fa59"
|
|
98
|
+
- `down_revision: Union[str, Sequence[str], None]` - Previous migration "f6e7d8c9b0a1"
|
|
99
|
+
|
|
100
|
+
**Usage Examples:**
|
|
101
|
+
```bash
|
|
102
|
+
# Run this migration
|
|
103
|
+
alembic upgrade 98882922fa59
|
|
104
|
+
|
|
105
|
+
# Rollback this migration
|
|
106
|
+
alembic downgrade f6e7d8c9b0a1
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### 20251015_add_session_performance_indexes.py
|
|
110
|
+
**Purpose:** Performance optimization migration that adds composite indexes for optimal query patterns
|
|
111
|
+
**Import:** This is an Alembic migration file - not directly imported
|
|
112
|
+
|
|
113
|
+
**Functions:**
|
|
114
|
+
- `upgrade() -> None` - Creates optimized composite indexes for user sessions, chat tasks, and task events; removes unused text index
|
|
115
|
+
- `downgrade() -> None` - Removes performance indexes and recreates the original text index
|
|
116
|
+
|
|
117
|
+
**Constants/Variables:**
|
|
118
|
+
- `revision: str` - Migration identifier "20251015_session_idx"
|
|
119
|
+
- `down_revision: str | Sequence[str] | None` - Previous migration "98882922fa59"
|
|
120
|
+
|
|
121
|
+
**Usage Examples:**
|
|
122
|
+
```bash
|
|
123
|
+
# Run this migration
|
|
124
|
+
alembic upgrade 20251015_session_idx
|
|
125
|
+
|
|
126
|
+
# Rollback this migration
|
|
127
|
+
alembic downgrade 98882922fa59
|
|
128
|
+
|
|
129
|
+
# Run all migrations to latest
|
|
130
|
+
alembic upgrade head
|
|
131
|
+
|
|
132
|
+
# Check current migration status
|
|
133
|
+
alembic current
|
|
134
|
+
|
|
135
|
+
# View migration history
|
|
136
|
+
alembic history
|
|
137
|
+
|
|
138
|
+
# Generate new migration
|
|
139
|
+
alembic revision --autogenerate -m "description"
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
**Final Database Schema After All Migrations:**
|
|
143
|
+
```sql
|
|
144
|
+
-- Core tables with epoch millisecond timestamps:
|
|
145
|
+
-- sessions: id, name, user_id, agent_id, created_time, updated_time
|
|
146
|
+
-- chat_tasks: id, session_id, user_id, user_message, message_bubbles, task_metadata, created_time, updated_time
|
|
147
|
+
|
|
148
|
+
-- Task management tables:
|
|
149
|
+
-- tasks: id, user_id, start_time, end_time, status, initial_request_text,
|
|
150
|
+
-- total_input_tokens, total_output_tokens, total_cached_input_tokens, token_usage_details
|
|
151
|
+
-- task_events: id, task_id, user_id, created_time, topic, direction, payload
|
|
152
|
+
-- feedback: id, session_id, task_id, user_id, rating, comment, created_time
|
|
153
|
+
|
|
154
|
+
-- Performance indexes:
|
|
155
|
+
-- ix_sessions_user_id, ix_sessions_user_updated
|
|
156
|
+
-- ix_chat_tasks_session_user_created
|
|
157
|
+
-- ix_tasks_user_start_time, ix_task_events_task_created
|
|
158
|
+
-- ix_feedback_task_id, ix_feedback_user_id, ix_feedback_created_time
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
# content_hash: c1d3d7f6855eba76bdabdb5cc0c7253756faf1583ef349dc503418c611a23bd2
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# A generic, single database configuration.
|
|
2
|
+
|
|
3
|
+
[alembic]
|
|
4
|
+
# path to migration scripts.
|
|
5
|
+
# this is typically a path given in POSIX (e.g. forward slashes)
|
|
6
|
+
# format, relative to the token %(here)s which refers to the location of this
|
|
7
|
+
# ini file
|
|
8
|
+
script_location = %(here)s/alembic
|
|
9
|
+
|
|
10
|
+
# Template used to generate migration file names
|
|
11
|
+
# Format: YYYYMMDD_revision_description
|
|
12
|
+
file_template = %%(year)d%%(month).2d%%(day).2d_%%(rev)s_%%(slug)s
|
|
13
|
+
|
|
14
|
+
# sys.path path, will be prepended to sys.path if present.
|
|
15
|
+
# defaults to the current working directory. for multiple paths, the path separator
|
|
16
|
+
# is defined by "path_separator" below.
|
|
17
|
+
prepend_sys_path = .
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
# timezone to use when rendering the date within the migration file
|
|
21
|
+
# as well as the filename.
|
|
22
|
+
# If specified, requires the python>=3.9 or backports.zoneinfo library and tzdata library.
|
|
23
|
+
# Any required deps can installed by adding `alembic[tz]` to the pip requirements
|
|
24
|
+
# string value is passed to ZoneInfo()
|
|
25
|
+
# leave blank for localtime
|
|
26
|
+
# timezone =
|
|
27
|
+
|
|
28
|
+
# max length of characters to apply to the "slug" field
|
|
29
|
+
# truncate_slug_length = 40
|
|
30
|
+
|
|
31
|
+
# set to 'true' to run the environment during
|
|
32
|
+
# the 'revision' command, regardless of autogenerate
|
|
33
|
+
# revision_environment = false
|
|
34
|
+
|
|
35
|
+
# set to 'true' to allow .pyc and .pyo files without
|
|
36
|
+
# a source .py file to be detected as revisions in the
|
|
37
|
+
# versions/ directory
|
|
38
|
+
# sourceless = false
|
|
39
|
+
|
|
40
|
+
# version location specification; This defaults
|
|
41
|
+
# to <script_location>/versions. When using multiple version
|
|
42
|
+
# directories, initial revisions must be specified with --version-path.
|
|
43
|
+
# The path separator used here should be the separator specified by "path_separator"
|
|
44
|
+
# below.
|
|
45
|
+
# version_locations = %(here)s/bar:%(here)s/bat:%(here)s/alembic/versions
|
|
46
|
+
|
|
47
|
+
# path_separator; This indicates what character is used to split lists of file
|
|
48
|
+
# paths, including version_locations and prepend_sys_path within configparser
|
|
49
|
+
# files such as alembic.ini.
|
|
50
|
+
# The default rendered in new alembic.ini files is "os", which uses os.pathsep
|
|
51
|
+
# to provide os-dependent path splitting.
|
|
52
|
+
#
|
|
53
|
+
# Note that in order to support legacy alembic.ini files, this default does NOT
|
|
54
|
+
# take place if path_separator is not present in alembic.ini. If this
|
|
55
|
+
# option is omitted entirely, fallback logic is as follows:
|
|
56
|
+
#
|
|
57
|
+
# 1. Parsing of the version_locations option falls back to using the legacy
|
|
58
|
+
# "version_path_separator" key, which if absent then falls back to the legacy
|
|
59
|
+
# behavior of splitting on spaces and/or commas.
|
|
60
|
+
# 2. Parsing of the prepend_sys_path option falls back to the legacy
|
|
61
|
+
# behavior of splitting on spaces, commas, or colons.
|
|
62
|
+
#
|
|
63
|
+
# Valid values for path_separator are:
|
|
64
|
+
#
|
|
65
|
+
# path_separator = :
|
|
66
|
+
# path_separator = ;
|
|
67
|
+
# path_separator = space
|
|
68
|
+
# path_separator = newline
|
|
69
|
+
#
|
|
70
|
+
# Use os.pathsep. Default configuration used for new projects.
|
|
71
|
+
path_separator = os
|
|
72
|
+
|
|
73
|
+
# set to 'true' to search source files recursively
|
|
74
|
+
# in each "version_locations" directory
|
|
75
|
+
# new in Alembic version 1.10
|
|
76
|
+
# recursive_version_locations = false
|
|
77
|
+
|
|
78
|
+
# the output encoding used when revision files
|
|
79
|
+
# are written from script.py.mako
|
|
80
|
+
# output_encoding = utf-8
|
|
81
|
+
|
|
82
|
+
# database URL. This is consumed by the user-maintained env.py script only.
|
|
83
|
+
# other means of configuring database URLs may be customized within the env.py
|
|
84
|
+
# file.
|
|
85
|
+
# sqlalchemy.url = sqlite:////Users/mradwan/solace_agent_mesh.db
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
[post_write_hooks]
|
|
89
|
+
# post_write_hooks defines scripts or Python functions that are run
|
|
90
|
+
# on newly generated revision scripts. See the documentation for further
|
|
91
|
+
# detail and examples
|
|
92
|
+
|
|
93
|
+
# format using "black" - use the console_scripts runner, against the "black" entrypoint
|
|
94
|
+
# hooks = black
|
|
95
|
+
# black.type = console_scripts
|
|
96
|
+
# black.entrypoint = black
|
|
97
|
+
# black.options = -l 79 REVISION_SCRIPT_FILENAME
|
|
98
|
+
|
|
99
|
+
# lint with attempts to fix using "ruff" - use the module runner, against the "ruff" module
|
|
100
|
+
# hooks = ruff
|
|
101
|
+
# ruff.type = module
|
|
102
|
+
# ruff.module = ruff
|
|
103
|
+
# ruff.options = check --fix REVISION_SCRIPT_FILENAME
|
|
104
|
+
|
|
105
|
+
# Alternatively, use the exec runner to execute a binary found on your PATH
|
|
106
|
+
# hooks = ruff
|
|
107
|
+
# ruff.type = exec
|
|
108
|
+
# ruff.executable = ruff
|
|
109
|
+
# ruff.options = check --fix REVISION_SCRIPT_FILENAME
|
|
@@ -0,0 +1,351 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Custom Solace AI Connector App class for the Web UI Backend.
|
|
3
|
+
Defines configuration schema and programmatically creates the WebUIBackendComponent.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
import logging
|
|
7
|
+
from typing import Any, Dict, List
|
|
8
|
+
|
|
9
|
+
from ...gateway.http_sse.component import WebUIBackendComponent
|
|
10
|
+
|
|
11
|
+
from ...gateway.base.app import BaseGatewayApp
|
|
12
|
+
from ...gateway.base.component import BaseGatewayComponent
|
|
13
|
+
|
|
14
|
+
log = logging.getLogger(__name__)
|
|
15
|
+
|
|
16
|
+
info = {
|
|
17
|
+
"class_name": "WebUIBackendApp",
|
|
18
|
+
"description": "Custom App class for the A2A Web UI Backend with automatic subscription generation.",
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class WebUIBackendApp(BaseGatewayApp):
|
|
23
|
+
"""
|
|
24
|
+
Custom App class for the A2A Web UI Backend.
|
|
25
|
+
- Extends BaseGatewayApp for common gateway functionalities.
|
|
26
|
+
- Defines WebUI-specific configuration parameters.
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
SPECIFIC_APP_SCHEMA_PARAMS: List[Dict[str, Any]] = [
|
|
30
|
+
{
|
|
31
|
+
"name": "session_secret_key",
|
|
32
|
+
"required": True,
|
|
33
|
+
"type": "string",
|
|
34
|
+
"description": "Secret key for signing web user sessions.",
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"name": "fastapi_host",
|
|
38
|
+
"required": False,
|
|
39
|
+
"type": "string",
|
|
40
|
+
"default": "127.0.0.1",
|
|
41
|
+
"description": "Host address for the embedded FastAPI server.",
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"name": "fastapi_port",
|
|
45
|
+
"required": False,
|
|
46
|
+
"type": "integer",
|
|
47
|
+
"default": 8000,
|
|
48
|
+
"description": "Port for the embedded FastAPI server.",
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"name": "fastapi_https_port",
|
|
52
|
+
"required": False,
|
|
53
|
+
"type": "integer",
|
|
54
|
+
"default": 8443,
|
|
55
|
+
"description": "Port for the embedded FastAPI server when SSL is enabled.",
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"name": "cors_allowed_origins",
|
|
59
|
+
"required": False,
|
|
60
|
+
"type": "list",
|
|
61
|
+
"default": ["*"],
|
|
62
|
+
"description": "List of allowed origins for CORS requests.",
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"name": "sse_max_queue_size",
|
|
66
|
+
"required": False,
|
|
67
|
+
"type": "integer",
|
|
68
|
+
"default": 200,
|
|
69
|
+
"description": "Maximum size of the SSE connection queues. Adjust based on expected load.",
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"name": "resolve_artifact_uris_in_gateway",
|
|
73
|
+
"required": False,
|
|
74
|
+
"type": "boolean",
|
|
75
|
+
"default": True,
|
|
76
|
+
"description": "If true, the gateway will resolve artifact:// URIs found in A2A messages and embed the content as bytes before sending to the UI. If false, URIs are passed through.",
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"name": "model",
|
|
80
|
+
"required": False,
|
|
81
|
+
"type": "dict",
|
|
82
|
+
"default": None,
|
|
83
|
+
"description": "The model to use for the WebUI gateway.",
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"name": "frontend_welcome_message",
|
|
87
|
+
"required": False,
|
|
88
|
+
"type": "string",
|
|
89
|
+
"default": "Hi! How can I help?",
|
|
90
|
+
"description": "Initial welcome message displayed in the chat.",
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"name": "frontend_bot_name",
|
|
94
|
+
"required": False,
|
|
95
|
+
"type": "string",
|
|
96
|
+
"default": "A2A Agent",
|
|
97
|
+
"description": "Name displayed for the bot/agent in the UI.",
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"name": "frontend_collect_feedback",
|
|
101
|
+
"required": False,
|
|
102
|
+
"type": "boolean",
|
|
103
|
+
"default": False,
|
|
104
|
+
"description": "Enable/disable the feedback buttons in the UI.",
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"name": "frontend_auth_login_url",
|
|
108
|
+
"required": False,
|
|
109
|
+
"type": "string",
|
|
110
|
+
"default": "",
|
|
111
|
+
"description": "URL for the external login page (if auth is enabled).",
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"name": "frontend_use_authorization",
|
|
115
|
+
"required": False,
|
|
116
|
+
"type": "boolean",
|
|
117
|
+
"default": False,
|
|
118
|
+
"description": "Tell frontend whether backend expects authorization.",
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"name": "frontend_redirect_url",
|
|
122
|
+
"required": False,
|
|
123
|
+
"type": "string",
|
|
124
|
+
"default": "",
|
|
125
|
+
"description": "Redirect URL for OAuth flows (if auth is enabled).",
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"name": "external_auth_callback_uri",
|
|
129
|
+
"required": False,
|
|
130
|
+
"type": "string",
|
|
131
|
+
"default": "",
|
|
132
|
+
"description": "Redirect URI for the OIDC application.",
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"name": "external_auth_service_url",
|
|
136
|
+
"required": False,
|
|
137
|
+
"type": "string",
|
|
138
|
+
"default": "http://localhost:8080",
|
|
139
|
+
"description": "External authorization service URL for login initiation.",
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"name": "external_auth_provider",
|
|
143
|
+
"required": False,
|
|
144
|
+
"type": "string",
|
|
145
|
+
"default": "",
|
|
146
|
+
"description": "The external authentication provider.",
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"name": "ssl_keyfile",
|
|
150
|
+
"required": False,
|
|
151
|
+
"type": "string",
|
|
152
|
+
"default": "",
|
|
153
|
+
"description": "The file path to the SSL private key.",
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"name": "ssl_certfile",
|
|
157
|
+
"required": False,
|
|
158
|
+
"type": "string",
|
|
159
|
+
"default": "",
|
|
160
|
+
"description": "The file path to the SSL certificate.",
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"name": "ssl_keyfile_password",
|
|
164
|
+
"required": False,
|
|
165
|
+
"type": "string",
|
|
166
|
+
"default": "",
|
|
167
|
+
"description": "The passphrase for the SSL private key.",
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"name": "session_service",
|
|
171
|
+
"required": False,
|
|
172
|
+
"type": "dict",
|
|
173
|
+
"default": {"type": "memory"},
|
|
174
|
+
"description": "Configuration for the Session Service.",
|
|
175
|
+
"dict_schema": {
|
|
176
|
+
"type": {
|
|
177
|
+
"type": "string",
|
|
178
|
+
"required": True,
|
|
179
|
+
"default": "memory",
|
|
180
|
+
"allowed": ["memory", "sql"],
|
|
181
|
+
"description": "The type of session service to use ('memory' or 'sql').",
|
|
182
|
+
},
|
|
183
|
+
"database_url": {
|
|
184
|
+
"type": "string",
|
|
185
|
+
"required": False,
|
|
186
|
+
"default": None,
|
|
187
|
+
"description": "Database URL for SQL session service. Required if type is 'sql'.",
|
|
188
|
+
},
|
|
189
|
+
},
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
"name": "platform_service",
|
|
193
|
+
"required": False,
|
|
194
|
+
"type": "dict",
|
|
195
|
+
"default": {},
|
|
196
|
+
"description": "Configuration for the Platform Service (enterprise features: agents, connectors, deployments).",
|
|
197
|
+
"dict_schema": {
|
|
198
|
+
"database_url": {
|
|
199
|
+
"type": "string",
|
|
200
|
+
"required": False,
|
|
201
|
+
"default": None,
|
|
202
|
+
"description": (
|
|
203
|
+
"Database URL for platform data (agents, connectors, deployments). "
|
|
204
|
+
"REQUIRED for platform features to be available. "
|
|
205
|
+
"Example: postgresql://user:pass@host:5432/platform_db"
|
|
206
|
+
),
|
|
207
|
+
},
|
|
208
|
+
},
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
"name": "task_logging",
|
|
212
|
+
"required": False,
|
|
213
|
+
"type": "dict",
|
|
214
|
+
"description": "Configuration for the A2A task logging service.",
|
|
215
|
+
"dict_schema": {
|
|
216
|
+
"enabled": {
|
|
217
|
+
"type": "boolean",
|
|
218
|
+
"required": False,
|
|
219
|
+
"default": False,
|
|
220
|
+
"description": "Enable/disable the task logging service.",
|
|
221
|
+
},
|
|
222
|
+
"log_status_updates": {
|
|
223
|
+
"type": "boolean",
|
|
224
|
+
"required": False,
|
|
225
|
+
"default": True,
|
|
226
|
+
"description": "Log intermediate TaskStatusUpdate events.",
|
|
227
|
+
},
|
|
228
|
+
"log_artifact_events": {
|
|
229
|
+
"type": "boolean",
|
|
230
|
+
"required": False,
|
|
231
|
+
"default": True,
|
|
232
|
+
"description": "Log TaskArtifactUpdate events.",
|
|
233
|
+
},
|
|
234
|
+
"log_file_parts": {
|
|
235
|
+
"type": "boolean",
|
|
236
|
+
"required": False,
|
|
237
|
+
"default": True,
|
|
238
|
+
"description": "Log FilePart content within events.",
|
|
239
|
+
},
|
|
240
|
+
"max_file_part_size_bytes": {
|
|
241
|
+
"type": "integer",
|
|
242
|
+
"required": False,
|
|
243
|
+
"default": 102400, # 100KB
|
|
244
|
+
"description": "Maximum size of a FilePart's content to store in the database. Larger files will have their content stripped.",
|
|
245
|
+
},
|
|
246
|
+
},
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
"name": "feedback_publishing",
|
|
250
|
+
"required": False,
|
|
251
|
+
"type": "dict",
|
|
252
|
+
"description": "Configuration for publishing user feedback to the message broker.",
|
|
253
|
+
"dict_schema": {
|
|
254
|
+
"enabled": {
|
|
255
|
+
"type": "boolean",
|
|
256
|
+
"required": False,
|
|
257
|
+
"default": False,
|
|
258
|
+
"description": "Enable/disable feedback publishing.",
|
|
259
|
+
},
|
|
260
|
+
"topic": {
|
|
261
|
+
"type": "string",
|
|
262
|
+
"required": False,
|
|
263
|
+
"default": "sam/feedback/v1",
|
|
264
|
+
"description": "The Solace topic to publish feedback events to.",
|
|
265
|
+
},
|
|
266
|
+
"include_task_info": {
|
|
267
|
+
"type": "string",
|
|
268
|
+
"required": False,
|
|
269
|
+
"default": "none",
|
|
270
|
+
"enum": ["none", "summary", "stim"],
|
|
271
|
+
"description": "Level of task detail to include in the feedback event.",
|
|
272
|
+
},
|
|
273
|
+
"max_payload_size_bytes": {
|
|
274
|
+
"type": "integer",
|
|
275
|
+
"required": False,
|
|
276
|
+
"default": 9000000,
|
|
277
|
+
"description": "Max payload size in bytes before 'stim' falls back to 'summary'.",
|
|
278
|
+
},
|
|
279
|
+
},
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
"name": "data_retention",
|
|
283
|
+
"required": False,
|
|
284
|
+
"type": "dict",
|
|
285
|
+
"description": "Configuration for automatic cleanup of old data.",
|
|
286
|
+
"dict_schema": {
|
|
287
|
+
"enabled": {
|
|
288
|
+
"type": "boolean",
|
|
289
|
+
"required": False,
|
|
290
|
+
"default": True,
|
|
291
|
+
"description": "Enable/disable automatic data cleanup.",
|
|
292
|
+
},
|
|
293
|
+
"task_retention_days": {
|
|
294
|
+
"type": "integer",
|
|
295
|
+
"required": False,
|
|
296
|
+
"default": 90,
|
|
297
|
+
"description": "Number of days to retain task and task_event records. Minimum: 1 day.",
|
|
298
|
+
},
|
|
299
|
+
"feedback_retention_days": {
|
|
300
|
+
"type": "integer",
|
|
301
|
+
"required": False,
|
|
302
|
+
"default": 90,
|
|
303
|
+
"description": "Number of days to retain feedback records. Minimum: 1 day.",
|
|
304
|
+
},
|
|
305
|
+
"cleanup_interval_hours": {
|
|
306
|
+
"type": "integer",
|
|
307
|
+
"required": False,
|
|
308
|
+
"default": 24,
|
|
309
|
+
"description": "How often to run the cleanup job (in hours). Minimum: 1 hour.",
|
|
310
|
+
},
|
|
311
|
+
"batch_size": {
|
|
312
|
+
"type": "integer",
|
|
313
|
+
"required": False,
|
|
314
|
+
"default": 1000,
|
|
315
|
+
"description": "Number of records to delete per batch to avoid long-running transactions. Range: 1-10000.",
|
|
316
|
+
},
|
|
317
|
+
},
|
|
318
|
+
},
|
|
319
|
+
]
|
|
320
|
+
|
|
321
|
+
def __init__(self, app_info: Dict[str, Any], **kwargs):
|
|
322
|
+
"""
|
|
323
|
+
Initializes the WebUIBackendApp.
|
|
324
|
+
Most setup is handled by BaseGatewayApp.
|
|
325
|
+
"""
|
|
326
|
+
log.debug(
|
|
327
|
+
"%s Initializing WebUIBackendApp...",
|
|
328
|
+
app_info.get("name", "WebUIBackendApp"),
|
|
329
|
+
)
|
|
330
|
+
super().__init__(app_info, **kwargs)
|
|
331
|
+
|
|
332
|
+
log.debug("%s WebUIBackendApp initialization complete.", self.name)
|
|
333
|
+
|
|
334
|
+
def _get_gateway_component_class(self) -> type[BaseGatewayComponent]:
|
|
335
|
+
return WebUIBackendComponent
|
|
336
|
+
|
|
337
|
+
def get_component(self) -> WebUIBackendComponent | None:
|
|
338
|
+
"""
|
|
339
|
+
Retrieves the running WebUIBackendComponent instance from the app's flow.
|
|
340
|
+
"""
|
|
341
|
+
if self.flows and self.flows[0].component_groups:
|
|
342
|
+
for group in self.flows[0].component_groups:
|
|
343
|
+
for component_wrapper in group:
|
|
344
|
+
component = (
|
|
345
|
+
component_wrapper.component
|
|
346
|
+
if hasattr(component_wrapper, "component")
|
|
347
|
+
else component_wrapper
|
|
348
|
+
)
|
|
349
|
+
if isinstance(component, WebUIBackendComponent):
|
|
350
|
+
return component
|
|
351
|
+
return None
|