solace-agent-mesh 1.3.0__py3-none-any.whl → 1.3.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of solace-agent-mesh might be problematic. Click here for more details.

Files changed (145) hide show
  1. solace_agent_mesh/agent/adk/setup.py +141 -34
  2. solace_agent_mesh/agent/protocol/event_handlers.py +91 -0
  3. solace_agent_mesh/agent/sac/app.py +3 -2
  4. solace_agent_mesh/agent/tools/__init__.py +1 -0
  5. solace_agent_mesh/agent/tools/dynamic_tool.py +362 -0
  6. solace_agent_mesh/assets/docs/404.html +3 -3
  7. solace_agent_mesh/assets/docs/assets/js/42b3f8d8.d97b8e94.js +1 -0
  8. solace_agent_mesh/assets/docs/assets/js/483cef9a.03d5dceb.js +1 -0
  9. solace_agent_mesh/assets/docs/assets/js/55f47984.cf3781c4.js +1 -0
  10. solace_agent_mesh/assets/docs/assets/js/664b740a.1b744a32.js +1 -0
  11. solace_agent_mesh/assets/docs/assets/js/75384d09.c193a8f0.js +1 -0
  12. solace_agent_mesh/assets/docs/assets/js/9a09e75d.d6607c56.js +1 -0
  13. solace_agent_mesh/assets/docs/assets/js/aba87c2f.071e2d94.js +1 -0
  14. solace_agent_mesh/assets/docs/assets/js/ae0e903d.4d8dda10.js +1 -0
  15. solace_agent_mesh/assets/docs/assets/js/c835a94d.146e3186.js +1 -0
  16. solace_agent_mesh/assets/docs/assets/js/f284c35a.7334119c.js +1 -0
  17. solace_agent_mesh/assets/docs/assets/js/main.4adc477a.js +2 -0
  18. solace_agent_mesh/assets/docs/assets/js/runtime~main.cf0229ea.js +1 -0
  19. solace_agent_mesh/assets/docs/docs/documentation/Enterprise/installation/index.html +29 -0
  20. solace_agent_mesh/assets/docs/docs/documentation/Enterprise/single-sign-on/index.html +25 -0
  21. solace_agent_mesh/assets/docs/docs/documentation/{migration-guides/a2a-upgrade-to-0.3.0/a2a-gateway-upgrade-to-0.3.0/index.html → Migrations/A2A Upgrade To 0.3.0/a2a-gateway-upgrade-to-0.3.0/index.html } +6 -6
  22. solace_agent_mesh/assets/docs/docs/documentation/{migration-guides/a2a-upgrade-to-0.3.0/a2a-technical-migration-map/index.html → Migrations/A2A Upgrade To 0.3.0/a2a-technical-migration-map/index.html } +6 -6
  23. solace_agent_mesh/assets/docs/docs/documentation/concepts/agents/index.html +19 -27
  24. solace_agent_mesh/assets/docs/docs/documentation/concepts/architecture/index.html +4 -4
  25. solace_agent_mesh/assets/docs/docs/documentation/concepts/cli/index.html +4 -4
  26. solace_agent_mesh/assets/docs/docs/documentation/concepts/gateways/index.html +4 -4
  27. solace_agent_mesh/assets/docs/docs/documentation/concepts/orchestrator/index.html +4 -4
  28. solace_agent_mesh/assets/docs/docs/documentation/concepts/plugins/index.html +4 -4
  29. solace_agent_mesh/assets/docs/docs/documentation/deployment/debugging/index.html +4 -4
  30. solace_agent_mesh/assets/docs/docs/documentation/deployment/deploy/index.html +4 -4
  31. solace_agent_mesh/assets/docs/docs/documentation/deployment/observability/index.html +4 -4
  32. solace_agent_mesh/assets/docs/docs/documentation/getting-started/component-overview/index.html +4 -4
  33. solace_agent_mesh/assets/docs/docs/documentation/getting-started/configurations/index.html +4 -4
  34. solace_agent_mesh/assets/docs/docs/documentation/getting-started/installation/index.html +4 -4
  35. solace_agent_mesh/assets/docs/docs/documentation/getting-started/introduction/index.html +4 -4
  36. solace_agent_mesh/assets/docs/docs/documentation/getting-started/quick-start/index.html +4 -4
  37. solace_agent_mesh/assets/docs/docs/documentation/tutorials/bedrock-agents/index.html +4 -4
  38. solace_agent_mesh/assets/docs/docs/documentation/tutorials/custom-agent/index.html +4 -4
  39. solace_agent_mesh/assets/docs/docs/documentation/tutorials/event-mesh-gateway/index.html +4 -4
  40. solace_agent_mesh/assets/docs/docs/documentation/tutorials/mcp-integration/index.html +4 -4
  41. solace_agent_mesh/assets/docs/docs/documentation/tutorials/mongodb-integration/index.html +4 -4
  42. solace_agent_mesh/assets/docs/docs/documentation/tutorials/rag-integration/index.html +4 -4
  43. solace_agent_mesh/assets/docs/docs/documentation/tutorials/rest-gateway/index.html +4 -4
  44. solace_agent_mesh/assets/docs/docs/documentation/tutorials/slack-integration/index.html +4 -4
  45. solace_agent_mesh/assets/docs/docs/documentation/tutorials/sql-database/index.html +4 -4
  46. solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/artifact-management/index.html +4 -4
  47. solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/audio-tools/index.html +4 -4
  48. solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/data-analysis-tools/index.html +4 -4
  49. solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/embeds/index.html +4 -4
  50. solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/index.html +4 -4
  51. solace_agent_mesh/assets/docs/docs/documentation/user-guide/create-agents/index.html +5 -4
  52. solace_agent_mesh/assets/docs/docs/documentation/user-guide/create-gateways/index.html +4 -4
  53. solace_agent_mesh/assets/docs/docs/documentation/user-guide/creating-python-tools/index.html +63 -0
  54. solace_agent_mesh/assets/docs/docs/documentation/user-guide/creating-service-providers/index.html +4 -4
  55. solace_agent_mesh/assets/docs/docs/documentation/user-guide/solace-ai-connector/index.html +4 -4
  56. solace_agent_mesh/assets/docs/docs/documentation/user-guide/structure/index.html +4 -4
  57. solace_agent_mesh/assets/docs/lunr-index-1757704179464.json +1 -0
  58. solace_agent_mesh/assets/docs/lunr-index.json +1 -1
  59. solace_agent_mesh/assets/docs/search-doc-1757704179464.json +1 -0
  60. solace_agent_mesh/assets/docs/search-doc.json +1 -1
  61. solace_agent_mesh/assets/docs/sitemap.xml +1 -1
  62. solace_agent_mesh/cli/__init__.py +1 -1
  63. solace_agent_mesh/client/webui/frontend/static/assets/{authCallback-vY5eu2lI.js → authCallback-CAX9u8a7.js} +1 -1
  64. solace_agent_mesh/client/webui/frontend/static/assets/{client-BeBkzgWW.js → client-DXU9SPI5.js} +1 -1
  65. solace_agent_mesh/client/webui/frontend/static/assets/{main-Bjys1KQs.js → main-DjoMeldu.js} +26 -26
  66. solace_agent_mesh/client/webui/frontend/static/assets/{vendor-CE0AeXyK.js → vendor-B0BEKoAR.js} +69 -74
  67. solace_agent_mesh/client/webui/frontend/static/auth-callback.html +3 -3
  68. solace_agent_mesh/client/webui/frontend/static/index.html +3 -3
  69. solace_agent_mesh/common/a2a/__init__.py +4 -0
  70. solace_agent_mesh/common/a2a/protocol.py +20 -0
  71. solace_agent_mesh/common/sac/sam_component_base.py +29 -9
  72. solace_agent_mesh/common/sam_events/__init__.py +9 -0
  73. solace_agent_mesh/common/sam_events/event_service.py +207 -0
  74. solace_agent_mesh/gateway/http_sse/alembic/env.py +1 -1
  75. solace_agent_mesh/gateway/http_sse/component.py +45 -35
  76. solace_agent_mesh/gateway/http_sse/dependencies.py +129 -66
  77. solace_agent_mesh/gateway/http_sse/main.py +22 -35
  78. solace_agent_mesh/gateway/http_sse/repository/__init__.py +37 -0
  79. solace_agent_mesh/gateway/http_sse/repository/entities/__init__.py +9 -0
  80. solace_agent_mesh/gateway/http_sse/repository/entities/message.py +41 -0
  81. solace_agent_mesh/gateway/http_sse/repository/entities/session.py +45 -0
  82. solace_agent_mesh/gateway/http_sse/repository/entities/session_history.py +16 -0
  83. solace_agent_mesh/gateway/http_sse/repository/interfaces.py +64 -0
  84. solace_agent_mesh/gateway/http_sse/repository/message_repository.py +78 -0
  85. solace_agent_mesh/gateway/http_sse/repository/models/__init__.py +9 -0
  86. solace_agent_mesh/gateway/http_sse/repository/models/base.py +7 -0
  87. solace_agent_mesh/gateway/http_sse/repository/models/message_model.py +27 -0
  88. solace_agent_mesh/gateway/http_sse/repository/models/session_model.py +27 -0
  89. solace_agent_mesh/gateway/http_sse/repository/session_repository.py +139 -0
  90. solace_agent_mesh/gateway/http_sse/routers/{agents.py → agent_cards.py} +7 -7
  91. solace_agent_mesh/gateway/http_sse/routers/config.py +1 -0
  92. solace_agent_mesh/gateway/http_sse/routers/dto/requests/__init__.py +20 -0
  93. solace_agent_mesh/gateway/http_sse/{api → routers}/dto/requests/session_requests.py +1 -8
  94. solace_agent_mesh/gateway/http_sse/routers/dto/responses/__init__.py +16 -0
  95. solace_agent_mesh/gateway/http_sse/{api → routers}/dto/responses/session_responses.py +3 -30
  96. solace_agent_mesh/gateway/http_sse/{api/controllers/session_controller.py → routers/sessions.py} +20 -77
  97. solace_agent_mesh/gateway/http_sse/routers/tasks.py +42 -49
  98. solace_agent_mesh/gateway/http_sse/{api/controllers/user_controller.py → routers/users.py} +1 -1
  99. solace_agent_mesh/gateway/http_sse/services/{agent_service.py → agent_card_service.py} +19 -19
  100. solace_agent_mesh/gateway/http_sse/services/session_service.py +245 -0
  101. solace_agent_mesh/gateway/http_sse/session_manager.py +0 -3
  102. solace_agent_mesh/gateway/http_sse/shared/enums.py +0 -5
  103. {solace_agent_mesh-1.3.0.dist-info → solace_agent_mesh-1.3.2.dist-info}/METADATA +1 -1
  104. {solace_agent_mesh-1.3.0.dist-info → solace_agent_mesh-1.3.2.dist-info}/RECORD +109 -110
  105. solace_agent_mesh/assets/docs/assets/js/42b3f8d8.8ccb9901.js +0 -1
  106. solace_agent_mesh/assets/docs/assets/js/55f47984.c484bf96.js +0 -1
  107. solace_agent_mesh/assets/docs/assets/js/6e0db977.39a79ca9.js +0 -1
  108. solace_agent_mesh/assets/docs/assets/js/75384d09.bf78fbdb.js +0 -1
  109. solace_agent_mesh/assets/docs/assets/js/90dd9cf6.88f385ea.js +0 -1
  110. solace_agent_mesh/assets/docs/assets/js/aba87c2f.76376d7c.js +0 -1
  111. solace_agent_mesh/assets/docs/assets/js/f284c35a.fb68323a.js +0 -1
  112. solace_agent_mesh/assets/docs/assets/js/main.08d30374.js +0 -2
  113. solace_agent_mesh/assets/docs/assets/js/runtime~main.458efb1d.js +0 -1
  114. solace_agent_mesh/assets/docs/lunr-index-1757433031159.json +0 -1
  115. solace_agent_mesh/assets/docs/search-doc-1757433031159.json +0 -1
  116. solace_agent_mesh/gateway/http_sse/ARCHITECTURE_GUIDE.md +0 -676
  117. solace_agent_mesh/gateway/http_sse/api/__init__.py +0 -11
  118. solace_agent_mesh/gateway/http_sse/api/controllers/__init__.py +0 -9
  119. solace_agent_mesh/gateway/http_sse/api/controllers/task_controller.py +0 -279
  120. solace_agent_mesh/gateway/http_sse/api/dto/requests/__init__.py +0 -37
  121. solace_agent_mesh/gateway/http_sse/api/dto/requests/task_requests.py +0 -66
  122. solace_agent_mesh/gateway/http_sse/api/dto/responses/__init__.py +0 -43
  123. solace_agent_mesh/gateway/http_sse/api/dto/responses/task_responses.py +0 -74
  124. solace_agent_mesh/gateway/http_sse/application/__init__.py +0 -3
  125. solace_agent_mesh/gateway/http_sse/application/services/__init__.py +0 -3
  126. solace_agent_mesh/gateway/http_sse/application/services/session_service.py +0 -135
  127. solace_agent_mesh/gateway/http_sse/domain/entities/__init__.py +0 -3
  128. solace_agent_mesh/gateway/http_sse/domain/entities/session.py +0 -90
  129. solace_agent_mesh/gateway/http_sse/domain/repositories/__init__.py +0 -3
  130. solace_agent_mesh/gateway/http_sse/domain/repositories/session_repository.py +0 -54
  131. solace_agent_mesh/gateway/http_sse/infrastructure/__init__.py +0 -4
  132. solace_agent_mesh/gateway/http_sse/infrastructure/dependency_injection/__init__.py +0 -3
  133. solace_agent_mesh/gateway/http_sse/infrastructure/dependency_injection/container.py +0 -123
  134. solace_agent_mesh/gateway/http_sse/infrastructure/persistence/__init__.py +0 -4
  135. solace_agent_mesh/gateway/http_sse/infrastructure/persistence/database_persistence_service.py +0 -16
  136. solace_agent_mesh/gateway/http_sse/infrastructure/persistence/database_service.py +0 -119
  137. solace_agent_mesh/gateway/http_sse/infrastructure/persistence/models.py +0 -31
  138. solace_agent_mesh/gateway/http_sse/infrastructure/persistence_service.py +0 -12
  139. solace_agent_mesh/gateway/http_sse/infrastructure/repositories/__init__.py +0 -3
  140. solace_agent_mesh/gateway/http_sse/infrastructure/repositories/session_repository.py +0 -174
  141. /solace_agent_mesh/assets/docs/assets/js/{main.08d30374.js.LICENSE.txt → main.4adc477a.js.LICENSE.txt} +0 -0
  142. /solace_agent_mesh/gateway/http_sse/{api → routers}/dto/__init__.py +0 -0
  143. {solace_agent_mesh-1.3.0.dist-info → solace_agent_mesh-1.3.2.dist-info}/WHEEL +0 -0
  144. {solace_agent_mesh-1.3.0.dist-info → solace_agent_mesh-1.3.2.dist-info}/entry_points.txt +0 -0
  145. {solace_agent_mesh-1.3.0.dist-info → solace_agent_mesh-1.3.2.dist-info}/licenses/LICENSE +0 -0
@@ -14,7 +14,7 @@ solace_agent_mesh/agent/adk/invocation_monitor.py,sha256=_20-nQXVjGlAEyw9PLFTTvg
14
14
  solace_agent_mesh/agent/adk/mcp_content_processor.py,sha256=8s3ytZ8qrKZCUt_u8aE_EHH1_01yewPoekkllCuz9ME,23850
15
15
  solace_agent_mesh/agent/adk/runner.py,sha256=CFpnWaNwpXBTZATBWDhmw4xJsMaFnjucqGbr0_HmqeE,12977
16
16
  solace_agent_mesh/agent/adk/services.py,sha256=AFp67SD3Rxrd3EuTeSVrEY2a-foe52dcvWIGN9lw8RU,12894
17
- solace_agent_mesh/agent/adk/setup.py,sha256=YN5lRjflcvGZeeOpq6ssWwz7Je0BPKGEoDvL-po5Jnk,32615
17
+ solace_agent_mesh/agent/adk/setup.py,sha256=SMzAo0HwxfcZwWek_OWXtuKtYRYkBKY0Pmrv2HO8izQ,37839
18
18
  solace_agent_mesh/agent/adk/stream_parser.py,sha256=3i5rFN7dDVgjLvK4GG0PKYmxgIdtqKABfM9oTCouSZ0,8278
19
19
  solace_agent_mesh/agent/adk/tool_wrapper.py,sha256=yzkXjE4QtdVtO5edB-c-R_qJgaex9rmCHIswW1ltfxY,6513
20
20
  solace_agent_mesh/agent/adk/artifacts/__init__.py,sha256=vAB8eqGwgPo3nx6YkT93Y7puYRMcqIKMAchBizvdw7Y,62
@@ -24,10 +24,10 @@ solace_agent_mesh/agent/adk/artifacts/s3_artifact_service.py,sha256=6CyKDOuQJ4b0
24
24
  solace_agent_mesh/agent/adk/models/lite_llm.py,sha256=Enia0uFs2epagavdaCWNnvMFIL7VxRuo0A6mYBQZGWQ,30325
25
25
  solace_agent_mesh/agent/adk/models/models_llm.txt,sha256=tpihTC3M1-WXduJgZerCGcJzNUfRSsbtol4VFhKyd6U,6119
26
26
  solace_agent_mesh/agent/protocol/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
- solace_agent_mesh/agent/protocol/event_handlers.py,sha256=2qpA-z1546HHEilywx4yJ4oIWy8btKbeMiOrlUB4ApU,69179
27
+ solace_agent_mesh/agent/protocol/event_handlers.py,sha256=qLpQoGsB_8ZazrFmGdPmmCDOTjJk6W6Ow8BYK5Z7lYg,72973
28
28
  solace_agent_mesh/agent/protocol/protocol_llm.txt,sha256=3-ojfRlRtmmr6RuiAx_r1ib3LzSaRWjJdDaUpM9mZ5E,3929
29
29
  solace_agent_mesh/agent/sac/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
- solace_agent_mesh/agent/sac/app.py,sha256=cXQQxQvQCS6664tZnpFqKBlMdzq7o1NQdKK8Q1zLDfI,32845
30
+ solace_agent_mesh/agent/sac/app.py,sha256=OlJqD48qdb8dB8EiZQe_0HqK80TVfqc9baQWWC01Phw,32907
31
31
  solace_agent_mesh/agent/sac/component.py,sha256=tAc2UJkMSJzcVOGecwW5M2BMzZGEXqMlEAJouXMInEs,130085
32
32
  solace_agent_mesh/agent/sac/patch_adk.py,sha256=LQhPvwpEVeeDVUgZD-p8CTxft-jRv_OadMR-gR1uTXk,4266
33
33
  solace_agent_mesh/agent/sac/sac_llm.txt,sha256=KcnVBK8oBuyguMkrCzG773GOQyPqscGxK7VdK2RYYco,9101
@@ -35,10 +35,11 @@ solace_agent_mesh/agent/sac/task_execution_context.py,sha256=EpX6IWUtlv9ot9aW4_5
35
35
  solace_agent_mesh/agent/testing/__init__.py,sha256=Jo_gILQRyefq52v4zYml91xf04lduzam-2fwgNwuAy4,64
36
36
  solace_agent_mesh/agent/testing/debug_utils.py,sha256=-nNJUs8aeRnEFbG0ZrXL3-FFcCDKC_-7KXViwp6fLqw,4972
37
37
  solace_agent_mesh/agent/testing/testing_llm.txt,sha256=14tuiINvkLTel3zTM7MsRQrmGLWuuJ79ywTU7gjiwqg,2180
38
- solace_agent_mesh/agent/tools/__init__.py,sha256=OKsqMddhk9q2DA8Jp3SOEcbOwa3QBsP4tDDsY4aVgAg,473
38
+ solace_agent_mesh/agent/tools/__init__.py,sha256=3dURhTS7XdvQW1A5j-_eigcZNjhzog6C1O5SgYePn_8,500
39
39
  solace_agent_mesh/agent/tools/audio_tools.py,sha256=LOjfD2tTsYanIbntpysX4gQZ1e8NHqmv_yQ7iHitvyQ,59717
40
40
  solace_agent_mesh/agent/tools/builtin_artifact_tools.py,sha256=4zUqrPlBfIz2N3sAZXzk-ZmUCyRqA3-qmnTm3vaCcx4,77526
41
41
  solace_agent_mesh/agent/tools/builtin_data_analysis_tools.py,sha256=nII4SNDYFt1QaHtXpcoFr3mIg3n1QXTNJfm3VQDD394,8767
42
+ solace_agent_mesh/agent/tools/dynamic_tool.py,sha256=Ewec4orBbGDx4JW-WGg5WemGGsYD6oRUmPvvKE3rRzA,12424
42
43
  solace_agent_mesh/agent/tools/general_agent_tools.py,sha256=7ygxOwOMacWv7oMQumbIG4XEn3UwRWTSBDuutZPFKj8,21959
43
44
  solace_agent_mesh/agent/tools/image_tools.py,sha256=sLIO-d4006CqJ-YaGYsE-1sfDTMCfI0foPLHieaaFZg,47968
44
45
  solace_agent_mesh/agent/tools/peer_agent_tool.py,sha256=rCY7D3OKw_oQ6Oc33AkoxBHKFGL3zQwT5NLgUZ4C1cY,12308
@@ -58,12 +59,12 @@ solace_agent_mesh/common/common_llm.txt,sha256=3CPdoLFPf3Mmy93YkI7_bFZGjbdWDN3W1
58
59
  solace_agent_mesh/common/constants.py,sha256=2lImuxA2sxiS38RNQ4-i1BAwPmekPRnKrhPG4hkJjdE,51
59
60
  solace_agent_mesh/common/data_parts.py,sha256=Fc3kTG5PHvQWe_u-5GR8E4hgEUm2VqRTrqPSC3Yy4Og,3141
60
61
  solace_agent_mesh/common/exceptions.py,sha256=or9OTXM587Ij5yXlF4fagwqXUcRPPDFNX852GPZk09Y,845
61
- solace_agent_mesh/common/a2a/__init__.py,sha256=RvXqNCT5uSSs-D8t97WnnwDW5f2LiL_CXkkeOTSQx4I,6229
62
+ solace_agent_mesh/common/a2a/__init__.py,sha256=QpyLSDeoN_KhKY189ZPoU7145btU7cB-lLyOpjYsY98,6363
62
63
  solace_agent_mesh/common/a2a/a2a_llm.txt,sha256=xMdFM0DKJDIu9MZQdIPMqpqJxSN3eQyFnJLK5wl3cOg,13638
63
64
  solace_agent_mesh/common/a2a/artifact.py,sha256=McPSqCT2ZQNJAdxzQ7elkTJR7rplPTNx1oay2La0fxI,10922
64
65
  solace_agent_mesh/common/a2a/events.py,sha256=-rltDOLfD5dxI-4JpIi3nytEm8LrsszaoVmKk2Rm82s,4861
65
66
  solace_agent_mesh/common/a2a/message.py,sha256=8SOPXhOBPPnbcndZppH79ktkupFayG7WyIEKbl0MtU0,8981
66
- solace_agent_mesh/common/a2a/protocol.py,sha256=SsHgRQYvsJhCHavSB1_BaeW6HEgXxuJ6Iqq-ImhA4xU,16896
67
+ solace_agent_mesh/common/a2a/protocol.py,sha256=F8nXKfLJrKNZiI6oCf-hsHsukv24on4ztmIAgZRriIc,17659
67
68
  solace_agent_mesh/common/a2a/task.py,sha256=906ByBEw7mlZEabMmgUSkzlFEHUC3r1HYwSuP2OdLog,3153
68
69
  solace_agent_mesh/common/a2a/translation.py,sha256=mYrkzRwQnVngrPDwHdGbFRPckriR-7R_IClHnckHOxo,24735
69
70
  solace_agent_mesh/common/a2a/types.py,sha256=N0azqlzGXwzmNQ9MLLR1b7lfmY_GrZ4JDHZQMe8sB0g,1717
@@ -81,7 +82,9 @@ solace_agent_mesh/common/middleware/middleware_llm.txt,sha256=TSgh6Z5zXD7XoSrdD2
81
82
  solace_agent_mesh/common/middleware/registry.py,sha256=5eQQW_E61_kBs4W8JZA115wv_tEggJwqmhxkmqAefHI,3931
82
83
  solace_agent_mesh/common/sac/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
83
84
  solace_agent_mesh/common/sac/sac_llm.txt,sha256=kylXMKzkSl7JBSkIaPYeU4cS3r2bMwsWd60sTQNypqY,2841
84
- solace_agent_mesh/common/sac/sam_component_base.py,sha256=RP-qd1VN1lg4avo6QgreIcAWtyseU5T9uoFOqJezSAw,9731
85
+ solace_agent_mesh/common/sac/sam_component_base.py,sha256=i6kLvKq4aE5mESJOdMsLuGqc-H1tzNJTUtcO49hRoGs,10583
86
+ solace_agent_mesh/common/sam_events/__init__.py,sha256=J83dwcSjizOxMp4er9kNXdpP-nwGe8I8hTRGyVRZeeQ,290
87
+ solace_agent_mesh/common/sam_events/event_service.py,sha256=9x4lrnl1-d3BnLduJC0m4qLzVDTJtK8wKh3t29Y-ioo,7599
85
88
  solace_agent_mesh/common/services/__init__.py,sha256=4m4Vnp-DgXSsj-JFcE5ONAwjyWNm8IuaIxF2a0hV0SA,114
86
89
  solace_agent_mesh/common/services/employee_service.py,sha256=sIxj0Nt7JRL52P8MzGv3XfCXlBoGRSPOGkq9moMvA4s,6269
87
90
  solace_agent_mesh/common/services/identity_service.py,sha256=o6T-hnzfyTr-KAGcHhOEfS-y2jDfLGgESSuSpWFwxzA,4670
@@ -117,72 +120,62 @@ solace_agent_mesh/gateway/base/app.py,sha256=LWIdT9by6Dg3sWCUgmfF36TwMJ04tyYfZHQ
117
120
  solace_agent_mesh/gateway/base/base_llm.txt,sha256=51U3VfwzCfptYxcFIjmNE8Wt07cgFfH3VlEp2kaXBZU,11291
118
121
  solace_agent_mesh/gateway/base/component.py,sha256=chHk4h13XLhOOGjEBIu3b7Ksr_ALcoWw7TUBOj5kofE,55145
119
122
  solace_agent_mesh/gateway/base/task_context.py,sha256=sFRRHyvBij-xms1f_VFc8om8-xIpRZawIctWtdmi6QY,2446
120
- solace_agent_mesh/gateway/http_sse/ARCHITECTURE_GUIDE.md,sha256=oaCZAILbWxKWA00DjtEUT63gi6SFir3hjnx5xcpeh9U,20370
121
123
  solace_agent_mesh/gateway/http_sse/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
122
124
  solace_agent_mesh/gateway/http_sse/alembic.ini,sha256=-LacLcmHWd11GCBfh5pfBcabzOuu712yph3LBENKtoo,4864
123
125
  solace_agent_mesh/gateway/http_sse/app.py,sha256=5sYWVFgxA1tbjyKRSHw0E84mQ_TemDAWU2g7_IkWCmw,7696
124
- solace_agent_mesh/gateway/http_sse/component.py,sha256=bByZa2z9PWoVu15ABPgKawD7Nu5SwDYBuUIfEgYtC5M,72165
125
- solace_agent_mesh/gateway/http_sse/dependencies.py,sha256=bCxkb2UUWfJyahD95AgcIbbEntpF-qpk5azXIjmdl5Y,15945
126
+ solace_agent_mesh/gateway/http_sse/component.py,sha256=34DundfCU1rtbSR72f0Ki6qGVqR8OvOmj26_d2_ZG14,72671
127
+ solace_agent_mesh/gateway/http_sse/dependencies.py,sha256=bVPIPKoy98sZcthVLHRmkGwcem5ZVeuGrBuLuaHPnkc,17797
126
128
  solace_agent_mesh/gateway/http_sse/http_sse_llm.txt,sha256=Jx6IJWYFl48LmW-xDuCtjpubs0iPY54bt6bLWF_SNUw,14271
127
- solace_agent_mesh/gateway/http_sse/main.py,sha256=cdz1ogUGJB6sRpyUlHs9H75EU_-qTzOMsq8vNlQh6GY,27599
128
- solace_agent_mesh/gateway/http_sse/session_manager.py,sha256=0eFYMtWw5vSZUxe_LkJibwRrtbg4NyWu7SxfKrMpikQ,8711
129
+ solace_agent_mesh/gateway/http_sse/main.py,sha256=Tx1rEcpzuYCh9_a1_ppJSiLQSXXqgFNTGB-MixqZ53w,26972
130
+ solace_agent_mesh/gateway/http_sse/session_manager.py,sha256=4AReeS6-p-2MqE0AOlBrHSoU-ADC4W7dJ28aVtZbDp0,8538
129
131
  solace_agent_mesh/gateway/http_sse/sse_manager.py,sha256=c51QIm80Q1G8aOzimk06ZaOH9wv2bl_WREP1GqevLZk,13507
130
- solace_agent_mesh/gateway/http_sse/alembic/env.py,sha256=7jBSVgLhayvja-XKa7o5V92xsYSasI1ZBqV3NDdGVKE,2481
132
+ solace_agent_mesh/gateway/http_sse/alembic/env.py,sha256=ZoZB47NxagV8iQ6BaiIQVXwD_qc9JW10NKO3UhC_bj4,2458
131
133
  solace_agent_mesh/gateway/http_sse/alembic/script.py.mako,sha256=84_5EHZF90Ak58GV4R5YUwxvvzsaI6N9LxIHC8X7N1w,703
132
134
  solace_agent_mesh/gateway/http_sse/alembic/versions/b1c2d3e4f5g6_add_database_indexes.py,sha256=HZbxw5PrpneWIwMFteu-LGsoef8GD1F43vLiFfvBTaw,2408
133
135
  solace_agent_mesh/gateway/http_sse/alembic/versions/d5b3f8f2e9a0_create_initial_database.py,sha256=1n-kACCNTIjF9VagyZDf2Z7CXLB7yUuN4CnHpG0hdqk,1926
134
- solace_agent_mesh/gateway/http_sse/api/__init__.py,sha256=70cF06AnEz72UUQPTaEEm2fw6BgZ3lx9GAA36Bcd-WE,262
135
- solace_agent_mesh/gateway/http_sse/api/controllers/__init__.py,sha256=jcFhm0_URcZlP87hsc-VuGuSgjQKLBPNvJNeDikSCh8,271
136
- solace_agent_mesh/gateway/http_sse/api/controllers/session_controller.py,sha256=PCir7OarV-lwrOdO4avj1_DRfbNKr-bElYBIGA9s9-8,11360
137
- solace_agent_mesh/gateway/http_sse/api/controllers/task_controller.py,sha256=x0YIwCm1m1-C2BoixzZzBktza4Xgsnooydg-wEYKzfI,10217
138
- solace_agent_mesh/gateway/http_sse/api/controllers/user_controller.py,sha256=YPcf-BHyvDSdf5NXzjY6hqdMlBDojiG6TpzyggppssI,883
139
- solace_agent_mesh/gateway/http_sse/api/dto/__init__.py,sha256=DbFQNFsN7I0zCkYe2RKTYkcIXPSKgA6dbPITS3AhcX0,201
140
- solace_agent_mesh/gateway/http_sse/api/dto/requests/__init__.py,sha256=F8xjjg6yHzqIf6uRBixUyUwz5Tf0N68pOoeqhtyt548,780
141
- solace_agent_mesh/gateway/http_sse/api/dto/requests/session_requests.py,sha256=m1hLdQfMiozGzTcGfesdIkXS41NIkf9f3orMF5p9fyk,1406
142
- solace_agent_mesh/gateway/http_sse/api/dto/requests/task_requests.py,sha256=XbrSIz60K_rwgwU90bDOId1B7ZCPCigBNtq5RPIlKIs,1987
143
- solace_agent_mesh/gateway/http_sse/api/dto/responses/__init__.py,sha256=6gxVxOuY0YFPeGdhpwfO8VGBg9_Nw84gcZtYQT0roAw,926
144
- solace_agent_mesh/gateway/http_sse/api/dto/responses/session_responses.py,sha256=txEDlgzp11aBz_dwNoetaN_zYkxSlRuPFPNSLFJc0vM,1877
145
- solace_agent_mesh/gateway/http_sse/api/dto/responses/task_responses.py,sha256=H1jIyWyJJn02ViKvkKsQarwQXk8Dk5Qi6y2YTgrw58w,1965
146
- solace_agent_mesh/gateway/http_sse/application/__init__.py,sha256=F_AcmC-hqExw6_4TwGeojxUMXBShlMTKcb3F4EqL5MA,83
147
- solace_agent_mesh/gateway/http_sse/application/services/__init__.py,sha256=hm3LQQnjy19GqH8E4kH7mf-wEfwEzZ4RdOT8_xRPluA,74
148
- solace_agent_mesh/gateway/http_sse/application/services/session_service.py,sha256=0A06MeCIt0JXtaoNSTZptszs8_Ga-xJsGTEt0BHo4x4,4421
149
136
  solace_agent_mesh/gateway/http_sse/components/__init__.py,sha256=zSidQziYjSrjX5XXXbyBAJ7pgKr0Efy6RXiJiufdq0Q,186
150
137
  solace_agent_mesh/gateway/http_sse/components/components_llm.txt,sha256=DF-kLoVXikA0-R_7-xA3gsf6vFq8av4CAvbgJUplSVg,3183
151
138
  solace_agent_mesh/gateway/http_sse/components/visualization_forwarder_component.py,sha256=oHVnv4DK-nP9Mbp6i6CSJ63Ch6lx4epE3Cn0dn3BndQ,3941
152
- solace_agent_mesh/gateway/http_sse/domain/entities/__init__.py,sha256=JRFpGNHQS5l4nw-kZqKe-Pm4IkssQXOJoOZ0DJxytQM,106
153
- solace_agent_mesh/gateway/http_sse/domain/entities/session.py,sha256=wP1KHasPZE7xkiAenk9-Ep1aX8qjkd9u4cNmNTtUKp8,3028
154
- solace_agent_mesh/gateway/http_sse/domain/repositories/__init__.py,sha256=1Zyg77gXLX8CkH-_gxJ8ikX0-0bHmndSg5ZELp2BwE0,127
155
- solace_agent_mesh/gateway/http_sse/domain/repositories/session_repository.py,sha256=GHpCp2AvIbX4hahOncZoXbaQa2B91JaKgJyZy8QarQY,1320
156
- solace_agent_mesh/gateway/http_sse/infrastructure/__init__.py,sha256=Fsy7Q5cv4HKrMLAGQr9S9ZSjUSEwUjzRiYqjV19-p40,212
157
- solace_agent_mesh/gateway/http_sse/infrastructure/persistence_service.py,sha256=jyyYXU8YsJNq1bmeInnRHejqFjrkYrvUqb7zJoaq848,385
158
- solace_agent_mesh/gateway/http_sse/infrastructure/dependency_injection/__init__.py,sha256=stAAGvmye_h8rcWh9ThUJdBS06z_GO8WCPChk4vc85c,158
159
- solace_agent_mesh/gateway/http_sse/infrastructure/dependency_injection/container.py,sha256=KwSTsr__FdHqWb6l8ITE5BboZjt4cFTGlC0NxKGJLvc,4421
160
- solace_agent_mesh/gateway/http_sse/infrastructure/persistence/__init__.py,sha256=DZtIsgoef1u9HH3ko2AltQ327NXln7UJEY2u0-v4B7o,169
161
- solace_agent_mesh/gateway/http_sse/infrastructure/persistence/database_persistence_service.py,sha256=VxzgsUIqM52S1M7sgg8UBPfftJuwxEN_ONyaZ2qBUSg,422
162
- solace_agent_mesh/gateway/http_sse/infrastructure/persistence/database_service.py,sha256=myevwn3t5lPUyx1-ijsDnMgK8VaIGkLQ-xIxmabPHCQ,3543
163
- solace_agent_mesh/gateway/http_sse/infrastructure/persistence/models.py,sha256=A_MWRkf2pkdHiOGg8dZzKTBQ70FoyqI71PTe6G1JsHo,1115
164
- solace_agent_mesh/gateway/http_sse/infrastructure/repositories/__init__.py,sha256=i2xRj3OPF0mbYWCrrN5-B3LV1FPfVp8jgtopfkC5YfI,122
165
- solace_agent_mesh/gateway/http_sse/infrastructure/repositories/session_repository.py,sha256=JHIvehjWBz0nqs_IYy_L4DjUzuDiZ7TDlawbaFBm7_0,6432
139
+ solace_agent_mesh/gateway/http_sse/repository/__init__.py,sha256=1t6cXo3WzuodK-cEAHLeliadeVMPjBeAwUAzHJ7QiJ0,904
140
+ solace_agent_mesh/gateway/http_sse/repository/interfaces.py,sha256=jxP2wdKf3Ow_uSLsw0On3ULzNxOseZehM6G3RgwOunk,1812
141
+ solace_agent_mesh/gateway/http_sse/repository/message_repository.py,sha256=u4GH6-EPtnd85FYlslJ665FgIwicfWyo3VNDmq8AoGc,2693
142
+ solace_agent_mesh/gateway/http_sse/repository/session_repository.py,sha256=VHIYavq17Sh1kKa2LeseaU6zfNfRER3bigXH6M0vuG4,4715
143
+ solace_agent_mesh/gateway/http_sse/repository/entities/__init__.py,sha256=VLhwNk7X3ZsVqDQytNkqwA4xQON0W3P-kojV6ZCgw_c,204
144
+ solace_agent_mesh/gateway/http_sse/repository/entities/message.py,sha256=4mA-ObiUGopP18XYgZsBe6fUXFMCPF8F9ntPd9jxqaY,1223
145
+ solace_agent_mesh/gateway/http_sse/repository/entities/session.py,sha256=bkkq5eBQWph-sr54p2UaZXzcnsVmHpFfGhLozZb0mLI,1383
146
+ solace_agent_mesh/gateway/http_sse/repository/entities/session_history.py,sha256=uDSEt6Tp8vcYxaeODTn5SVAFnuF9lOsIabctI-I4_Dc,328
147
+ solace_agent_mesh/gateway/http_sse/repository/models/__init__.py,sha256=PiusowOAMYGcjUPiyre2yF964JqhXvjjNFukxS-5wjk,207
148
+ solace_agent_mesh/gateway/http_sse/repository/models/base.py,sha256=_LoXoFISq4X7eFK4Mnoa8yuUcQWfZnAhV1Nqa2tOw6c,130
149
+ solace_agent_mesh/gateway/http_sse/repository/models/message_model.py,sha256=eXktsibP10Rb-5NOOvs1VsREKMsMvo4M3DFp5GzBX14,739
150
+ solace_agent_mesh/gateway/http_sse/repository/models/session_model.py,sha256=qjw9ix14QnBZjgZPd1LZoN31joMRfMU4a0Dz1Irs0GY,740
166
151
  solace_agent_mesh/gateway/http_sse/routers/__init__.py,sha256=WxRX__xU4YIYhvjN0DTY9XdNYAB9dP81pabwiB23YSo,133
167
- solace_agent_mesh/gateway/http_sse/routers/agents.py,sha256=NtOUsC-A7-_RmvLmXwaJ1t1opb9BEIQbisgxsFIks5U,1268
152
+ solace_agent_mesh/gateway/http_sse/routers/agent_cards.py,sha256=zBckfOkUu9q9WC7fTOxXxSO6nMJpVPcjFbPrbU5W93M,1279
168
153
  solace_agent_mesh/gateway/http_sse/routers/artifacts.py,sha256=OrYlA3UUTzCE0iVUuansLEPRpGXzBRcFvn69S85oRq4,34636
169
154
  solace_agent_mesh/gateway/http_sse/routers/auth.py,sha256=LcgF45H7AGVPabFLdHcrEqSndadlpx6WbOdBY_l96X8,7201
170
- solace_agent_mesh/gateway/http_sse/routers/config.py,sha256=9rETW-5pPbwhFCua82hoeaLZQhITOxG0p-LDPioxcl8,2058
155
+ solace_agent_mesh/gateway/http_sse/routers/config.py,sha256=6lIW_mcX8pbZJNvAx4fX0Ex-8dBPYUAKA024i6SoZoI,2158
171
156
  solace_agent_mesh/gateway/http_sse/routers/people.py,sha256=O2NvV6LD3g9vFXN31yUHKTgkzY1RVW5RDfQq_IP5Q14,2041
172
157
  solace_agent_mesh/gateway/http_sse/routers/routers_llm.txt,sha256=B7W3Y_TlPJb1t5wdLYrWx1c4sOkjsPi5qCxD0gqPqR0,11715
158
+ solace_agent_mesh/gateway/http_sse/routers/sessions.py,sha256=tDbQ-VaISvsXzcZm8_LKVzvkyUCnTp5Tz6oAIuuIElY,9584
173
159
  solace_agent_mesh/gateway/http_sse/routers/sse.py,sha256=AUk2p3_KBJLPyAlZ13fHApfd05SQPSJJkwZNq4mJ4PY,5371
174
- solace_agent_mesh/gateway/http_sse/routers/tasks.py,sha256=17FdEEkjUxQa-C-6ZBGqkH7ASL7fR7zzhbaDw0Dehr8,12945
160
+ solace_agent_mesh/gateway/http_sse/routers/tasks.py,sha256=DuX05ZmrU7MUv7PryX8geJ9oePRr5DODQW8tXGg9G0c,12498
161
+ solace_agent_mesh/gateway/http_sse/routers/users.py,sha256=jxVgDXchaDCj2igdZ3T4CyQvw3lOGpUmOAuJCWrdxsY,882
175
162
  solace_agent_mesh/gateway/http_sse/routers/visualization.py,sha256=tvLWL0HHyXmOdmrlEq2IPITvTG7OJIGLHvEGILMhD-0,44710
163
+ solace_agent_mesh/gateway/http_sse/routers/dto/__init__.py,sha256=DbFQNFsN7I0zCkYe2RKTYkcIXPSKgA6dbPITS3AhcX0,201
164
+ solace_agent_mesh/gateway/http_sse/routers/dto/requests/__init__.py,sha256=OdAP81u2Tk5EnI2x9QAwBS-ibyLLFf_8tbit4Z8ndwg,381
165
+ solace_agent_mesh/gateway/http_sse/routers/dto/requests/session_requests.py,sha256=dM0nAO7OnWNHhRkcuDiHtqTtK5On9mXjpnYQ28x91Q8,1136
166
+ solace_agent_mesh/gateway/http_sse/routers/dto/responses/__init__.py,sha256=MzauxZU28yY0B9Zh8J8-97yuv77yqqdblsFMjjs5D-4,255
167
+ solace_agent_mesh/gateway/http_sse/routers/dto/responses/session_responses.py,sha256=LwjNzXiPXVRblEfirYvMCk8moM7UNfIWbXfJoTiZthI,1074
176
168
  solace_agent_mesh/gateway/http_sse/services/__init__.py,sha256=Fk2FIbrJdG1StPCoggbdT2C4Vl5d6qICT6R8yj4IZPQ,92
177
- solace_agent_mesh/gateway/http_sse/services/agent_service.py,sha256=TFwlyGzi_SXLfKNosfa_vxwnxTclrnaVjlm6N7xWQEk,2258
169
+ solace_agent_mesh/gateway/http_sse/services/agent_card_service.py,sha256=gBoXQgENmCeJRyA1BLYnoEvjrFUfwM4W_CVLkrl6r7o,2365
178
170
  solace_agent_mesh/gateway/http_sse/services/people_service.py,sha256=PbR6vbImQ95JO7p5fSbraBGsHg84dGVjDz4yd-wbrwg,4596
179
171
  solace_agent_mesh/gateway/http_sse/services/services_llm.txt,sha256=hjMyBLidqh8VGFl7gsA-8VTM1zTUqu4oyI-UJQRReKA,5703
172
+ solace_agent_mesh/gateway/http_sse/services/session_service.py,sha256=J4e89oqVrwVhlHtkOtLI6Tsfkz5EWjj8l_BEwx_W2pA,7749
180
173
  solace_agent_mesh/gateway/http_sse/services/task_service.py,sha256=KWtUi34rFCUYDu8w5qw2AXfoAkkNfDipje57FUdXKsY,4348
181
174
  solace_agent_mesh/gateway/http_sse/shared/__init__.py,sha256=qlCIQimjoNwbRGbhjNZ8ba0d9yJH8ZYXzqgi-25oRB0,188
182
175
  solace_agent_mesh/gateway/http_sse/shared/auth_utils.py,sha256=F0kpTg5HYadRAEVNSNvnEFpdzkwVqbFMFVr27kywz_k,852
183
- solace_agent_mesh/gateway/http_sse/shared/enums.py,sha256=fbZgHPXr49s9f3dQEEoicO56KnGBIeF03JfJbWxN3DM,934
176
+ solace_agent_mesh/gateway/http_sse/shared/enums.py,sha256=gcU_hApRkWcBy0JykqGXSESGyglLXN3FzkimITmwnnE,802
184
177
  solace_agent_mesh/gateway/http_sse/shared/types.py,sha256=zAojlvovTMvaB4o-U20cY3q2DxZs_xaCtcoYUhCLczg,1075
185
- solace_agent_mesh/cli/__init__.py,sha256=F5mW07pSyGrqDNY2Ehr-UpDzpBtN-FsYU0QGZWf6PJE,22
178
+ solace_agent_mesh/cli/__init__.py,sha256=HgKA3RqZvC7slo8MgLyffCGwJbQ3cY6I7oUMFvGLWps,22
186
179
  solace_agent_mesh/cli/main.py,sha256=yFbF4ijz7P6nxj26d-mTC8BnK6NKVnfqPh3y4pDBZqo,831
187
180
  solace_agent_mesh/cli/utils.py,sha256=7zntmVuvWbaWEhViSF2uw484-79a5I1XTUt-0eGQWY4,8036
188
181
  solace_agent_mesh/cli/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -249,12 +242,12 @@ solace_agent_mesh/templates/plugin_tools_template.py,sha256=GUVw556CtBYE6sHbpXnF
249
242
  solace_agent_mesh/templates/shared_config.yaml,sha256=_-ytR25HSAfwjN6drkdUQgGeV_om6RSeM4BUCMxQ3vQ,3310
250
243
  solace_agent_mesh/templates/templates_llm.txt,sha256=T3h8CcIowTbyBedlfRk7FZww8_xGmnY5fEqGhhdI3JU,9234
251
244
  solace_agent_mesh/templates/webui.yaml,sha256=Xb6nswsFpMtCnpUDY9sGuO4Q3IhR8x-lDDRtHaySUVo,1782
252
- solace_agent_mesh/assets/docs/404.html,sha256=s7fzGTB-ASNR6YcnCIEjVwdNN7d2_FSf3MTOVkRQXN0,11749
253
- solace_agent_mesh/assets/docs/lunr-index-1757433031159.json,sha256=0epI9iFf4FuZydTWW9ZXS4Z0yReuaITkLG3LOUVT9bE,1031081
254
- solace_agent_mesh/assets/docs/lunr-index.json,sha256=0epI9iFf4FuZydTWW9ZXS4Z0yReuaITkLG3LOUVT9bE,1031081
255
- solace_agent_mesh/assets/docs/search-doc-1757433031159.json,sha256=5pDhmCfHot1ME3Td9WYo0Bj4NwAKkMjoxwqyScIp3eg,362524
256
- solace_agent_mesh/assets/docs/search-doc.json,sha256=5pDhmCfHot1ME3Td9WYo0Bj4NwAKkMjoxwqyScIp3eg,362524
257
- solace_agent_mesh/assets/docs/sitemap.xml,sha256=VRzMUdw7MWkd-zzYEVKFD2dvTTyJ_hydqGKm0stjojs,6321
245
+ solace_agent_mesh/assets/docs/404.html,sha256=2A3Hqv0UbjhlStHNGRgYnRcby248QbC9SsuZQrqVAfs,11749
246
+ solace_agent_mesh/assets/docs/lunr-index-1757704179464.json,sha256=DQk3I94EU5RqEeMQ_wsIOTnI9pTkotztKGmh88w6ivE,1093203
247
+ solace_agent_mesh/assets/docs/lunr-index.json,sha256=DQk3I94EU5RqEeMQ_wsIOTnI9pTkotztKGmh88w6ivE,1093203
248
+ solace_agent_mesh/assets/docs/search-doc-1757704179464.json,sha256=t8tlv7R9zmRvTsXthbY_qUvQxl8yr0k-epK0cqovVEo,385273
249
+ solace_agent_mesh/assets/docs/search-doc.json,sha256=t8tlv7R9zmRvTsXthbY_qUvQxl8yr0k-epK0cqovVEo,385273
250
+ solace_agent_mesh/assets/docs/sitemap.xml,sha256=MeU4E6b7O7RjK1CdC9W4zjle-yridFsVnyDf2HtnzyY,6830
258
251
  solace_agent_mesh/assets/docs/assets/css/styles.906a1503.css,sha256=gQj16ydMLPiq6y-t8Ovto65hsvPbQX6coyIFOja-2eY,83293
259
252
  solace_agent_mesh/assets/docs/assets/images/Solace_AI_Framework_With_Broker-85f0a306a9bcdd20b390b7a949f6d862.png,sha256=e6MbZpxlY1xJ8U01zQogm8vWgokQqDfhsyPyNxtuS00,447393
260
253
  solace_agent_mesh/assets/docs/assets/images/sac-flows-80d5b603c6aafd33e87945680ce0abf3.png,sha256=868GgNJGPxn2G6c1Md_0umhg3xuAo7t6HEx8hOKbUJY,21098
@@ -284,32 +277,33 @@ solace_agent_mesh/assets/docs/assets/js/375.708d48db.js,sha256=tnoRKYgl89ieY_0s8
284
277
  solace_agent_mesh/assets/docs/assets/js/3834.b6cd790e.js,sha256=LuFdgiur49yMqtwnhUN7ECJ2lPvBaWdDam3OANM5WcM,196
285
278
  solace_agent_mesh/assets/docs/assets/js/3d406171.0b9eeed1.js,sha256=ysBVsGz8jiqpGJBMNGUCRXE5VGeVbbbKOXSo1004gak,45141
286
279
  solace_agent_mesh/assets/docs/assets/js/4250.95455b28.js,sha256=y3OgeXf-tuJO5M6gJ70aW58HdFE7vZIPX7V4mduXL9c,197
287
- solace_agent_mesh/assets/docs/assets/js/42b3f8d8.8ccb9901.js,sha256=B2B5XLAdr8qH77ibF_ZWzZSv_Z-F2FRS6f_XGOdf1vc,34514
280
+ solace_agent_mesh/assets/docs/assets/js/42b3f8d8.d97b8e94.js,sha256=B8PtMHdr70TYrVBRt-zn6UxOXEHkpL_ku8hN6LOHoAk,34795
288
281
  solace_agent_mesh/assets/docs/assets/js/4356.d169ab5b.js,sha256=JJdBrbL2-8tn2jfAGsO1ezjcM37BAIZnZsNYgc4UoZs,195
289
282
  solace_agent_mesh/assets/docs/assets/js/442a8107.b3159bb2.js,sha256=Q-EkgCGSjulBtLNhOpBQe0aIE2urIll5V9f3NlSsZt0,18468
290
283
  solace_agent_mesh/assets/docs/assets/js/4458.518e66fa.js,sha256=oUPDT1LqnbeRts2CudqNueI-OQHML5gg9dWEvP6PiE4,25886
291
284
  solace_agent_mesh/assets/docs/assets/js/4488.c7cc3442.js,sha256=r1GHmJIWPPQ07T92TAs1H59eHcs-e87AFDqi_0VK48A,435
292
285
  solace_agent_mesh/assets/docs/assets/js/4494.6ee23046.js,sha256=UrwgwbJNRAZiY6UtdzHrpggUpkNGlIh9vHiSXdv5DDI,61052
286
+ solace_agent_mesh/assets/docs/assets/js/483cef9a.03d5dceb.js,sha256=urfMWXGkavwHkYKtbA2a_kR15c-v_kFbVKNTbmqG3Uc,14126
293
287
  solace_agent_mesh/assets/docs/assets/js/4855.fc4444b6.js,sha256=Rbhzs2AM-6i8Wyppb8a2Ws8kpNE8Pr5QMgx0sxAozxs,11494
294
288
  solace_agent_mesh/assets/docs/assets/js/4866.22daefc0.js,sha256=bQRnSAwf0FIrdrYQLeyXv6f4utbEoi4nSU-kKchB4sw,3876
295
289
  solace_agent_mesh/assets/docs/assets/js/4950.ca4caeda.js,sha256=Kq5gqn-p3ozVcUY7fWZnY4_35_sNcFN8z4bNY6Cqt-s,146409
296
290
  solace_agent_mesh/assets/docs/assets/js/4c2787c2.fc6804f2.js,sha256=0IwIlLMkZe9HpIf5wa-lMgNTy4_6ZH0iusQJV5G2HZI,7849
297
291
  solace_agent_mesh/assets/docs/assets/js/5388.7a136447.js,sha256=F9mKVkGI0I-fmfKn3kADJdVlVAe4lD7LQKjZ_kE7_cY,25022
298
- solace_agent_mesh/assets/docs/assets/js/55f47984.c484bf96.js,sha256=yVT6Xi18F5X4LRxpDcBTSD1TB9TCW0q6QDLKfeBaQB0,52787
292
+ solace_agent_mesh/assets/docs/assets/js/55f47984.cf3781c4.js,sha256=cSnTXFAdQyURaNJQrAv412W6yy3bp7XZYEbM0LJyWjc,52803
299
293
  solace_agent_mesh/assets/docs/assets/js/5607.081356f8.js,sha256=82P_IlhzwOSMkBDBTXHJsjSx0s1dFbcojWnOC-Vp7qU,194
300
294
  solace_agent_mesh/assets/docs/assets/js/5864.b0d0e9de.js,sha256=XRxc9MFKvCVwmU2KY3io24cVMqk_dK8koh1B2rEQINQ,33926
301
295
  solace_agent_mesh/assets/docs/assets/js/5b4258a4.0d080cd9.js,sha256=XO57DicV0rtbI8zv8qtZoe6fVbAFRWV3ddaDBUUFVSY,10721
302
296
  solace_agent_mesh/assets/docs/assets/js/5e95c892.558d5167.js,sha256=LrlOoFsc_wTcyuzay3WDxkpYtVGn2kUIWCosBvg_z8I,377
303
297
  solace_agent_mesh/assets/docs/assets/js/6143.0a1464c9.js,sha256=N9VlCMIQjWkazDtcal5eC7xe1YvOVCMRx119JzMQl1k,39122
304
298
  solace_agent_mesh/assets/docs/assets/js/6395.e9c73649.js,sha256=-v8U5XdxnXthhTAYmuTbvDQRKDPxzQQS-Lew81sPN-8,440
299
+ solace_agent_mesh/assets/docs/assets/js/664b740a.1b744a32.js,sha256=VvilsxMRqDXggRKPPPgjl1DUEg0ekS1gTVq8i8DtBhU,32550
305
300
  solace_agent_mesh/assets/docs/assets/js/6796.51d2c9b7.js,sha256=yeZg7UFFslMqrIQP-dqk-4vBwLDsJ5Rx6aD1VliW07U,6300
306
301
  solace_agent_mesh/assets/docs/assets/js/6976.379be23b.js,sha256=Fe3y3jWBBUqmD4dIUwZUUjiCvv5uSLEss3cOEzUDB9E,193
307
302
  solace_agent_mesh/assets/docs/assets/js/6978.ee0b945c.js,sha256=Fabb2n81BbNegY_9ZboMCBu-Zgd5-nETGqLxviUogDg,11834
308
- solace_agent_mesh/assets/docs/assets/js/6e0db977.39a79ca9.js,sha256=IUgD6mX7LifBRlkWfJrYd4de9p9rawacatuithy8I1g,32591
309
303
  solace_agent_mesh/assets/docs/assets/js/7040.cb436723.js,sha256=cmW7CCISvRnJNljTDg4jGJtG6rjSp0nWfZvchAKSdf4,36638
310
304
  solace_agent_mesh/assets/docs/assets/js/7195.412f418a.js,sha256=8VHuob7jbA49epJL54bEU-mtOdSeUFXzqbgThE4walo,46219
311
305
  solace_agent_mesh/assets/docs/assets/js/7280.3fb73bdb.js,sha256=XlDQpYplGuVoEqfXCt8Yzocd9uBTu64VUrNp4LQDyIY,659
312
- solace_agent_mesh/assets/docs/assets/js/75384d09.bf78fbdb.js,sha256=aQUo5JFT0WDv8thj_Uv85hkFPI8P27SosJDy8fZj1zk,21757
306
+ solace_agent_mesh/assets/docs/assets/js/75384d09.c193a8f0.js,sha256=6KzzOiNHd3k_vqS_kZazhFD77SOBRkB31X3GOYJZfTU,21751
313
307
  solace_agent_mesh/assets/docs/assets/js/768e31b0.8b51cd70.js,sha256=RiCB8_hLIkx_-9iLJYC_SaDUb8trsfJ-zsETOTX6oLU,12950
314
308
  solace_agent_mesh/assets/docs/assets/js/7845.e33e7c4c.js,sha256=sNEWPWBTnV-BmKI7vkcgRpTYeErGBXRbtH_X5YRnr-c,11143
315
309
  solace_agent_mesh/assets/docs/assets/js/7900.69516146.js,sha256=MWXxfpYNV5CORkPa0r6EyyynbVJrNENknNv0Zb7TqS8,43021
@@ -323,68 +317,73 @@ solace_agent_mesh/assets/docs/assets/js/8591.d7c16be6.js.LICENSE.txt,sha256=W15K
323
317
  solace_agent_mesh/assets/docs/assets/js/8709.7ecd4047.js,sha256=YU5vUOSZ5gdEKBbfOEXpm_8uA_Yq54lYaiwGqT68vyM,78161
324
318
  solace_agent_mesh/assets/docs/assets/js/8731.49e930c2.js,sha256=ecg70IZRPAH8EOZxe0LHuP8bzUlB7Awf2vBj4DldxP4,336224
325
319
  solace_agent_mesh/assets/docs/assets/js/8908.f9d1b506.js,sha256=LrKHDjwNk1bPFNWpwTeQmTNlC47BvAhr-S3I-AcB_FQ,30883
326
- solace_agent_mesh/assets/docs/assets/js/90dd9cf6.88f385ea.js,sha256=a2enxSeT4tPXGf1jexQeNrvdr9lGL6K_9dkGeXRdtV0,22040
327
320
  solace_agent_mesh/assets/docs/assets/js/9157.b4093d07.js,sha256=-LWKw3jEtKdkEjap1b0NI7tJLVEPj8SyTRq5cJvL0TA,22109
328
321
  solace_agent_mesh/assets/docs/assets/js/9278.a4fd875d.js,sha256=Nm7cJgq11XXaYA3WxmU_H5Yk2S8L1fgF6RC9lX7eepU,143
329
322
  solace_agent_mesh/assets/docs/assets/js/945fb41e.c63791d1.js,sha256=qlT-X_eLMyfcFJOm7WoWrZdKhbi3pwerMIbGk6tWHfY,15024
330
323
  solace_agent_mesh/assets/docs/assets/js/9616.b75c2f6d.js,sha256=Ry0lLDd8HQzYAHmCKcXJ4iQ-9utISMjqcWk_iURtf1A,20576
331
324
  solace_agent_mesh/assets/docs/assets/js/9793.c6d16376.js,sha256=-Xm7Yt1AJvEcfoYlQ04O5Douk4bsO4mgo_UJN8TVIUY,100459
325
+ solace_agent_mesh/assets/docs/assets/js/9a09e75d.d6607c56.js,sha256=vunpxmyjpCcccyR0vy8nbrKY0y29ERadFDk39NfV40s,15423
332
326
  solace_agent_mesh/assets/docs/assets/js/9eff14a2.472b0310.js,sha256=Yo_IseS84vBMdHdeEqg6IqPlSh3p3WK4XtkNaJtjpBk,10567
333
327
  solace_agent_mesh/assets/docs/assets/js/a3a92b25.4b7fa6a2.js,sha256=ZcppuNhcOhf8CkCipfepjr6hE9Us7-W5B6hQ933s1aA,5781
334
328
  solace_agent_mesh/assets/docs/assets/js/a7bd4aaa.2204d2f7.js,sha256=v9wa2Q1Mt7cayLyMjyDTUT8J_kILQ2idmxDhgyBHlpE,756
335
329
  solace_agent_mesh/assets/docs/assets/js/a94703ab.0438dbc2.js,sha256=drinuntIgk0lUv1Wc_WlHu5I8d5ZDszh329V_5WQrD4,11251
336
330
  solace_agent_mesh/assets/docs/assets/js/aba21aa0.c42a534c.js,sha256=e8uMq6LJqDkt4o-uIbKH2CIw_7cQ4Kthlh4O9UqwWdw,211
337
- solace_agent_mesh/assets/docs/assets/js/aba87c2f.76376d7c.js,sha256=c_JiYiB-WUZb5XF6EH4XQAxUHYZkNeUgVzTuohLTbgU,17144
331
+ solace_agent_mesh/assets/docs/assets/js/aba87c2f.071e2d94.js,sha256=zGNNnpqAsakGq-eoC67VarW_VDqVnbUq1YnJl7uR6Es,17337
332
+ solace_agent_mesh/assets/docs/assets/js/ae0e903d.4d8dda10.js,sha256=O4L9GDbVf2rrmU1aXbUW4Fn3JmwXNUA6d472bCwsPc0,4885
338
333
  solace_agent_mesh/assets/docs/assets/js/ae4415af.7a2f0bbf.js,sha256=F3xkR1q7_hS_UUfF9fg-3sPDJ-8bAOsHjbqaX-UoEMM,29047
339
334
  solace_agent_mesh/assets/docs/assets/js/b7006a3a.73a79653.js,sha256=YYjvDTjQytUxcimeJinuha5T7SdUyHTYjRz7kLFOGOQ,12973
340
335
  solace_agent_mesh/assets/docs/assets/js/bac0be12.f50d9bac.js,sha256=quA_kaWdOjhBBpvq5jhKpSqEKaOqy8y4oITXTObG8Yk,17998
341
336
  solace_agent_mesh/assets/docs/assets/js/beecea0d.ae31f6a7.js,sha256=oEQqPzjzWdpvM2fMjLFEFg5uoaN9KtcPatNqiVDu4NU,26216
342
337
  solace_agent_mesh/assets/docs/assets/js/c2c06897.587b4af5.js,sha256=sgWo2S9PB6F9eL3Z3nrbx1IS-vtwFi_dt5KX9rNVpk8,14948
338
+ solace_agent_mesh/assets/docs/assets/js/c835a94d.146e3186.js,sha256=AjMNPvk8MZbZ55MRODRpHICvJ4uhpj09vpNESxGP9zI,22106
343
339
  solace_agent_mesh/assets/docs/assets/js/cc969b05.bd3e0d6c.js,sha256=9LqCerLmI1iU53gH096nOvASEvXnC3RvcNRKiS91LmE,23069
344
340
  solace_agent_mesh/assets/docs/assets/js/cd3d4052.b6535013.js,sha256=wi8AuSgR-M8XtFY639DAVFuaiur6LaBabHKoh5qfuJY,9747
345
341
  solace_agent_mesh/assets/docs/assets/js/ced92a13.fb92e7ca.js,sha256=96enCMQqnD-_WrFda13oJ3gPLYxmy93LXDFxDuxA5JY,25255
346
342
  solace_agent_mesh/assets/docs/assets/js/cee5d587.f5b73ca1.js,sha256=ciDSktNPCP_cmpHCR-ycCpuFEeVmbV_D8uHydRZ225w,9508
347
- solace_agent_mesh/assets/docs/assets/js/f284c35a.fb68323a.js,sha256=kb4Hu-dXiNS_enEYH9nVVjHLjIYf90N8AjWHsoKhtNU,20033
343
+ solace_agent_mesh/assets/docs/assets/js/f284c35a.7334119c.js,sha256=wJOKH1ngi5UuVvqdrOiakHaiqN7bD007krZV1eqE4Hs,21400
348
344
  solace_agent_mesh/assets/docs/assets/js/f897a61a.0aa29dbb.js,sha256=Bv0Itx75hHCRAiGKy34-NjK7CSWZ9CT1l5uyni3GCOw,16949
349
345
  solace_agent_mesh/assets/docs/assets/js/fbfa3e75.aca209c9.js,sha256=vmq7isB22h2J_2cVIt1h6D2OhwU6wTBEnk1-CNZv9Wk,7314
350
- solace_agent_mesh/assets/docs/assets/js/main.08d30374.js,sha256=Sfmolm21_9dXmTDKX3-A28T625c1n7FnLrL2qtYwj8s,481106
351
- solace_agent_mesh/assets/docs/assets/js/main.08d30374.js.LICENSE.txt,sha256=3Jia5o7yaxOtbxuy9khs-thK96m55yCiPaUA-IkWh0A,2069
352
- solace_agent_mesh/assets/docs/assets/js/runtime~main.458efb1d.js,sha256=IiKZikQnoWUmSCA44TfqOA8GXNTQcHvulwTBJA55ggU,6084
353
- solace_agent_mesh/assets/docs/docs/documentation/concepts/agents/index.html,sha256=KnYuxGNewuprp5TTOTXCfxpk8oP0cWb7jct1w0TVI0c,39125
354
- solace_agent_mesh/assets/docs/docs/documentation/concepts/architecture/index.html,sha256=1FANQYSO94dRgwI9ONa2lUnXRG1PWQOHgTGJBgBGdmw,32415
355
- solace_agent_mesh/assets/docs/docs/documentation/concepts/cli/index.html,sha256=dhH4CBTx_BuorfTMl0IMDgorodFfeBefsE4o8yrUteo,49860
356
- solace_agent_mesh/assets/docs/docs/documentation/concepts/gateways/index.html,sha256=vfZcLulIoy8xY_X-OyrCgl-viEdQlOnERlDYHs0U5uk,29793
357
- solace_agent_mesh/assets/docs/docs/documentation/concepts/orchestrator/index.html,sha256=AXTJ7T4k6Cy4WURrjCt07ZfuUM5n9nLjfzA1EGqz-00,23499
358
- solace_agent_mesh/assets/docs/docs/documentation/concepts/plugins/index.html,sha256=grJ1G8qa5fCV7XbFAGvUAA0NygFBzi_r0uxkkNrk8zw,39583
359
- solace_agent_mesh/assets/docs/docs/documentation/deployment/debugging/index.html,sha256=m3JYREfxjnbTwaOgJ5N2L6sBQgkpNakRFj98fTdiWTs,45283
360
- solace_agent_mesh/assets/docs/docs/documentation/deployment/deploy/index.html,sha256=L9vBkcjH2qN1viS1T-zALnfADnz3LqCoSZOGCwMgNSU,42193
361
- solace_agent_mesh/assets/docs/docs/documentation/deployment/observability/index.html,sha256=hNDFuZyXUNdcAZJKthIp99f-hNIfA0ZwEkvwahKY1zc,25737
362
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/component-overview/index.html,sha256=Z5YPNeQK30hjG0_nTPd8a6-IaXWYy4XXbX3WG-vNF1o,21370
363
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/configurations/index.html,sha256=vOn3_lDM9abmXHIlgyaJemjFUmOuLNJgQj2Cmqz6SEk,56293
364
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/installation/index.html,sha256=_EYM8NQ_2lchfAwKa7TD3xzLS5II1uzexg1MEk2NmLs,32199
365
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/introduction/index.html,sha256=GOBacGik2sUMqmNsfizccjIC2jTgW2aXOMb6P3zNOH8,30107
366
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/quick-start/index.html,sha256=DT6kxeu12bl4ODCYTIY9My9R9pf_Gwh9bKNgq9zzJFw,42186
367
- solace_agent_mesh/assets/docs/docs/documentation/migration-guides/a2a-upgrade-to-0.3.0/a2a-gateway-upgrade-to-0.3.0/index.html,sha256=iUVM8DsESopz56EG-mo9dMGD1rrsEdK1ivjM3YctUJo,84535
368
- solace_agent_mesh/assets/docs/docs/documentation/migration-guides/a2a-upgrade-to-0.3.0/a2a-technical-migration-map/index.html,sha256=CRa0VxbM49CKI6710_BQk2XXOZlHgqz3rxNHHjkusFU,87235
369
- solace_agent_mesh/assets/docs/docs/documentation/tutorials/bedrock-agents/index.html,sha256=AafgNeq47TaeVemNh4qX_sw8wBF3BHRnXteyVqYqlG0,74910
370
- solace_agent_mesh/assets/docs/docs/documentation/tutorials/custom-agent/index.html,sha256=_R_Pug9dv7Od7tJsn0YdLS4kxe0qSXyIL8YeNtHq2cU,383013
371
- solace_agent_mesh/assets/docs/docs/documentation/tutorials/event-mesh-gateway/index.html,sha256=f6_fwxmZM-oaGshvq08SnefUacLvQfpDCyzEf7iCCgA,68916
372
- solace_agent_mesh/assets/docs/docs/documentation/tutorials/mcp-integration/index.html,sha256=T9SUDMYkHGFkBiRusjebl3GRmwrXyDvFzo-ssSqIp0A,64680
373
- solace_agent_mesh/assets/docs/docs/documentation/tutorials/mongodb-integration/index.html,sha256=eq75MIrbw8CFOPbjYMOnGtc4zv282rSVotNcSm6y4mY,87232
374
- solace_agent_mesh/assets/docs/docs/documentation/tutorials/rag-integration/index.html,sha256=KOrlYohHYVGg8PwfqPu6-wpz_pUb52Irt-oIM6gN-lY,79979
375
- solace_agent_mesh/assets/docs/docs/documentation/tutorials/rest-gateway/index.html,sha256=e3GtjXqXk5vDhKoeF1O6R7fqaAjFf3yD_xAc37rovsM,46347
376
- solace_agent_mesh/assets/docs/docs/documentation/tutorials/slack-integration/index.html,sha256=MwzBf6C5wydz4BcMbOEqg-PINUkeL3uzBAK-xTNbWV8,49630
377
- solace_agent_mesh/assets/docs/docs/documentation/tutorials/sql-database/index.html,sha256=P88hEkgJ4SHTaMazNclnB78CBBlXV4SGdELtbiw_Edw,68937
378
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/index.html,sha256=R5zOviumJHCvCyBYKJJ42ATwZjdZa6MjWJ7ult0-Bo0,44275
379
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/artifact-management/index.html,sha256=cUWxsnibAuec9erlpQtaEsbwGXeHmd8T0pgmpZhmlv8,34227
380
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/audio-tools/index.html,sha256=A1Mt4yoxMe5MiBhPuilS8KkhYJ6YzckqH8DaOAGmi7A,57682
381
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/data-analysis-tools/index.html,sha256=ru4sY73qngz9_FbVtdQc82d4k_8BHzq4z5MBxVA9_p8,37231
382
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/embeds/index.html,sha256=Wz8uVtGI0nFBSIffi0iW4jdtqWMdmuwlvol9bCTP6RI,50111
383
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/create-agents/index.html,sha256=FxQWG8Jy66AFirrZ0FNyLHMcIHQ4w7t9Vga-ulH35qc,161890
384
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/create-gateways/index.html,sha256=piH2KSCp5lBZoL06pomuk5xWuT82Iv2XPnUmTzuQCJU,402336
385
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/creating-service-providers/index.html,sha256=PgFMCTjGSNlAfCQOIm-oHxSMuuQ9P859RneWIkyH9n8,59083
386
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/solace-ai-connector/index.html,sha256=TVA4evmE3vPa9GiYs7X7FxHUYMtlmrY-97XptwG6zqY,25246
387
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/structure/index.html,sha256=z4cc1ICRaDRgdoZqvLUvTQkgPM6H4ymGPOMqNQ-QPRI,29254
346
+ solace_agent_mesh/assets/docs/assets/js/main.4adc477a.js,sha256=_FGosaNCI37ZnIyV1AtFCInfIggNbsHSD7u8w706qDA,482726
347
+ solace_agent_mesh/assets/docs/assets/js/main.4adc477a.js.LICENSE.txt,sha256=3Jia5o7yaxOtbxuy9khs-thK96m55yCiPaUA-IkWh0A,2069
348
+ solace_agent_mesh/assets/docs/assets/js/runtime~main.cf0229ea.js,sha256=4GNbUckOdQAR_kjZqhuRSafmo1jez-dwGzcjCWybewo,6233
349
+ solace_agent_mesh/assets/docs/docs/documentation/Enterprise/installation/index.html,sha256=4_JuJHRJs2n_rF2TtZ1ao0ThBxkJE4EuW0g61N4AjKU,27051
350
+ solace_agent_mesh/assets/docs/docs/documentation/Enterprise/single-sign-on/index.html,sha256=k2PYi7PYudk4Taujdw8GtyWAn_cPrnhV2J80TVdPXVo,69510
351
+ solace_agent_mesh/assets/docs/docs/documentation/Migrations/A2A Upgrade To 0.3.0/a2a-gateway-upgrade-to-0.3.0/index.html,sha256=kSPBR4VZ1djWx2mY7_bPjyhoiglATwlKTizEjtTnILA,84817
352
+ solace_agent_mesh/assets/docs/docs/documentation/Migrations/A2A Upgrade To 0.3.0/a2a-technical-migration-map/index.html,sha256=5t5EJpeYdDQOz2Hw32fBWKDMBvntOnESeiFDrJAmXwU,87750
353
+ solace_agent_mesh/assets/docs/docs/documentation/concepts/agents/index.html,sha256=b-_5GZkWnctVVlc_uEsPphrRg_KXd15CKou6Jsify8A,39799
354
+ solace_agent_mesh/assets/docs/docs/documentation/concepts/architecture/index.html,sha256=VJg_zKYCpxqYsdmUWMDG3oubWeGGRzTp_3p7MNTrB7Q,32769
355
+ solace_agent_mesh/assets/docs/docs/documentation/concepts/cli/index.html,sha256=EAmEUMreil7oefQV4FL_ZULdKQj0ic5mHZJdeIvIB4g,50214
356
+ solace_agent_mesh/assets/docs/docs/documentation/concepts/gateways/index.html,sha256=j29IbJl0RVvror33TchNdXiO6KxuIabwsFaf2otD11c,30147
357
+ solace_agent_mesh/assets/docs/docs/documentation/concepts/orchestrator/index.html,sha256=Rr3130I0ZXD-y_6eMWZj36qLI0HY3YMRXoUxZmSPXRA,23853
358
+ solace_agent_mesh/assets/docs/docs/documentation/concepts/plugins/index.html,sha256=p6cVi8ERb9I3rvPz_WUG2cKDZ1G_Sd5e2ohd6QVpEJ8,39937
359
+ solace_agent_mesh/assets/docs/docs/documentation/deployment/debugging/index.html,sha256=OyZdFzLTiq8mIcNbJmSyRHUob5pBl6WF08FM9jGOLQM,45637
360
+ solace_agent_mesh/assets/docs/docs/documentation/deployment/deploy/index.html,sha256=n_M8lE-Liit74vEzqAgx_baEWfmjn2I6f2Ez-L-556M,42547
361
+ solace_agent_mesh/assets/docs/docs/documentation/deployment/observability/index.html,sha256=ay_OMMnKkjJc0VPNavjb9KIleT802f1M_CGfMOjL2kk,26091
362
+ solace_agent_mesh/assets/docs/docs/documentation/getting-started/component-overview/index.html,sha256=rAp_ffsFBqtgYYXQEb6EzdRS-Bq7jDHyP8jI3B9jy_A,21724
363
+ solace_agent_mesh/assets/docs/docs/documentation/getting-started/configurations/index.html,sha256=RL4dwJkb9KfWN91695AB14hvzK3qkYYUWCanfOS9n9g,56647
364
+ solace_agent_mesh/assets/docs/docs/documentation/getting-started/installation/index.html,sha256=QlBILHqFoAWlTxPq5RkWrT3jQSLrIbhIjyf7FpKu2s0,32553
365
+ solace_agent_mesh/assets/docs/docs/documentation/getting-started/introduction/index.html,sha256=jUWqx4zDA6-8P6k9T89OrfW6IeVuEhjBdVUcuJgeLQU,30461
366
+ solace_agent_mesh/assets/docs/docs/documentation/getting-started/quick-start/index.html,sha256=Wqfj3uuKOW-7NL_c6NyIHsMqkbsHKJ8vvw2uyf-CyLY,42540
367
+ solace_agent_mesh/assets/docs/docs/documentation/tutorials/bedrock-agents/index.html,sha256=T8PLv5JBZ8_4JTTvRCDxSx6FY6_dRACKBFMJ7fOQ4SQ,75264
368
+ solace_agent_mesh/assets/docs/docs/documentation/tutorials/custom-agent/index.html,sha256=0mSgDaxxP58_vvX804YMKPvaoj7B6QUVmlS3bxFTPhw,383367
369
+ solace_agent_mesh/assets/docs/docs/documentation/tutorials/event-mesh-gateway/index.html,sha256=Faxa_LhbQKZtPPlr7o-u8dEaNu3MSuNpdOhLaj-LNvA,69270
370
+ solace_agent_mesh/assets/docs/docs/documentation/tutorials/mcp-integration/index.html,sha256=8fZY3TMJDrGONJZlpTxGRPsPeTyijC4I499IA5K7qMo,65034
371
+ solace_agent_mesh/assets/docs/docs/documentation/tutorials/mongodb-integration/index.html,sha256=gXmviWVwwSbTXOBQqD02njxIh31cF5BJ6syZdgEBbRM,87586
372
+ solace_agent_mesh/assets/docs/docs/documentation/tutorials/rag-integration/index.html,sha256=ziR1MosoDiaoUKV4kQODs9D2KbjhIXv2na8L1RtAiK4,80327
373
+ solace_agent_mesh/assets/docs/docs/documentation/tutorials/rest-gateway/index.html,sha256=8lB0u6wrZgn7ILFYO0llRXIeYTwVPA21O-seWGHk3bM,46701
374
+ solace_agent_mesh/assets/docs/docs/documentation/tutorials/slack-integration/index.html,sha256=3EljpI6bPUUp4CjjggMFHJMUNXL9Dxpr96OzIwOKZ90,49984
375
+ solace_agent_mesh/assets/docs/docs/documentation/tutorials/sql-database/index.html,sha256=MlF9fL4zG_7AdnINodQW5XDeN_yepgWGzVRw5KatHQk,69291
376
+ solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/index.html,sha256=R-lTGJZ_e5--zRRhGgy7-cnPDTCbIFKiD_2GnRuZt8o,44864
377
+ solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/artifact-management/index.html,sha256=4llTe4W7iiE7TGUERm5EaNQRuyrgWtSl1_YkGW6c0fw,34816
378
+ solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/audio-tools/index.html,sha256=amhTrFBUustpkeE6kFtt7_lN4WRYArDaKT6JG0JGZjE,58271
379
+ solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/data-analysis-tools/index.html,sha256=luxhNY9SBWj-ZNUqiYrCZ_vQBAxo-_I8PU0jDQ4Hv1g,37820
380
+ solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/embeds/index.html,sha256=pag4lWopP2dNU8BgK5omN7StYQPW00NCNPELyL7cY0M,50700
381
+ solace_agent_mesh/assets/docs/docs/documentation/user-guide/create-agents/index.html,sha256=VV7Yp4EYHOduR-iWBcR5d-U4sTWvbdrqFPnsKN1PUBI,162692
382
+ solace_agent_mesh/assets/docs/docs/documentation/user-guide/create-gateways/index.html,sha256=IpG_2UOXFXexJJlji5pt4ODtWLBKEuK8BNKX3yv8e5w,402941
383
+ solace_agent_mesh/assets/docs/docs/documentation/user-guide/creating-python-tools/index.html,sha256=OLnQShN6ji-c1WKD4lEFzQSS4zju6leJSQkqJubfPsM,84500
384
+ solace_agent_mesh/assets/docs/docs/documentation/user-guide/creating-service-providers/index.html,sha256=HCocombd_XztFKhKhCc4HX8TU1-glK6xbUIVdyMmucY,59672
385
+ solace_agent_mesh/assets/docs/docs/documentation/user-guide/solace-ai-connector/index.html,sha256=-djmNjAYG1vPb3gsQ75fYbwEfybHXF4a0GvkM5gCpJQ,25835
386
+ solace_agent_mesh/assets/docs/docs/documentation/user-guide/structure/index.html,sha256=xMCKwQObpQe4TkVHE-5DsWtsUyB1qME71qbR2BwP1z8,29843
388
387
  solace_agent_mesh/assets/docs/img/Solace_AI_Framework_With_Broker.png,sha256=e6MbZpxlY1xJ8U01zQogm8vWgokQqDfhsyPyNxtuS00,447393
389
388
  solace_agent_mesh/assets/docs/img/logo.png,sha256=TdXZ2wnkSkaFrGO-5fy2WcmjGXaGzwE29dM83raxoTg,45439
390
389
  solace_agent_mesh/assets/docs/img/sac-flows.png,sha256=868GgNJGPxn2G6c1Md_0umhg3xuAo7t6HEx8hOKbUJY,21098
@@ -411,16 +410,16 @@ solace_agent_mesh/config_portal/frontend/static/client/assets/index-DzNKzXrc.js,
411
410
  solace_agent_mesh/config_portal/frontend/static/client/assets/manifest-89db7c30.js,sha256=0TNl4hKVU240O_8gPn1BaH0ZEDUJyiEojjOnrgdouCM,781
412
411
  solace_agent_mesh/config_portal/frontend/static/client/assets/root-BWvk5-gF.js,sha256=KoDaD7JSrkUDgUbDa0JqaB7mXNCc2fR-T5kKAcH5nho,1799
413
412
  solace_agent_mesh/config_portal/frontend/static/client/assets/root-DxRwaWiE.css,sha256=HaETPzdva-2CpjK-MmIBI6lipZMiGHmAqLRJiD8s2QE,33607
414
- solace_agent_mesh/client/webui/frontend/static/auth-callback.html,sha256=lm3hmZTMJZLb7q0UZ1zHtVFsTNG2FXrWfeWXNiX_2S8,570
415
- solace_agent_mesh/client/webui/frontend/static/index.html,sha256=LWvo63oT0bag6SPMUtRYYQ2f-CGu2yfQ6-G-ktWuboU,635
416
- solace_agent_mesh/client/webui/frontend/static/assets/authCallback-vY5eu2lI.js,sha256=DvXI2R6STRplZQMIoJ-2XTSbVWELF2FgQeQFuG86MjA,528
417
- solace_agent_mesh/client/webui/frontend/static/assets/client-BeBkzgWW.js,sha256=8zad_Hki5ggXeJKyutW7IMFZjdu2c5ucxIa6EomrEkw,174527
413
+ solace_agent_mesh/client/webui/frontend/static/auth-callback.html,sha256=3ajyFcWxvD3xWbS3ws5DLqgq1dLSauPV6VBy98E_ySw,570
414
+ solace_agent_mesh/client/webui/frontend/static/index.html,sha256=4vgV8Y5tPdqqybCLJyZqj18jrgoc2OdfMuyOoP7pQ1g,635
415
+ solace_agent_mesh/client/webui/frontend/static/assets/authCallback-CAX9u8a7.js,sha256=rfRQ7ntt_kKVD80r_Lov_PURuasCSLeBv5EX8pNrSvM,528
416
+ solace_agent_mesh/client/webui/frontend/static/assets/client-DXU9SPI5.js,sha256=dMeFMeQYg87OEejBqjM6xDhqQESFflCxyWTnXmbFr4I,174527
418
417
  solace_agent_mesh/client/webui/frontend/static/assets/favicon-BLgzUch9.ico,sha256=9z1ZdOqroxsg2-FzV79kTJ69hVqWVkrDlIv2RgmIhR8,15086
419
- solace_agent_mesh/client/webui/frontend/static/assets/main-Bjys1KQs.js,sha256=ENDm69tcgonbhKcbjUVP4cgFnkANwXP3uZVU_umpsrA,420829
420
418
  solace_agent_mesh/client/webui/frontend/static/assets/main-C03yrETa.css,sha256=8i4G_OLqxxoF2D7-4uCwQVUEMnkH7QcNTmHLeBIeUNo,119785
421
- solace_agent_mesh/client/webui/frontend/static/assets/vendor-CE0AeXyK.js,sha256=FWDL_S3o6XmpgTZS6iK2RLyVOoWz7o1yhfITItblSP4,340823
422
- solace_agent_mesh-1.3.0.dist-info/METADATA,sha256=S4GwC_scAY57BnMa07xbp35LLkvU8qursCmVH0QG7rQ,24785
423
- solace_agent_mesh-1.3.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
424
- solace_agent_mesh-1.3.0.dist-info/entry_points.txt,sha256=5pLVH8d8bd4sxUwBh7VTni8gTTSzTqGfY14zgdQZm1I,106
425
- solace_agent_mesh-1.3.0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
426
- solace_agent_mesh-1.3.0.dist-info/RECORD,,
419
+ solace_agent_mesh/client/webui/frontend/static/assets/main-DjoMeldu.js,sha256=6g8rNuOSNnVGvdIpQKo5CNLCYkpHTz0TI7IenLRwZVE,420893
420
+ solace_agent_mesh/client/webui/frontend/static/assets/vendor-B0BEKoAR.js,sha256=e8CQistS6OBV4DeTlX098z7pxx7tBpuCTJrRyb7K0s4,340510
421
+ solace_agent_mesh-1.3.2.dist-info/METADATA,sha256=Bc0DG65Ov5sHU-WX4Ijc1Blp6DYLueRNL3hbLOr3YYE,24785
422
+ solace_agent_mesh-1.3.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
423
+ solace_agent_mesh-1.3.2.dist-info/entry_points.txt,sha256=5pLVH8d8bd4sxUwBh7VTni8gTTSzTqGfY14zgdQZm1I,106
424
+ solace_agent_mesh-1.3.2.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
425
+ solace_agent_mesh-1.3.2.dist-info/RECORD,,
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunksolace_agenitc_mesh_docs=self.webpackChunksolace_agenitc_mesh_docs||[]).push([[3974],{6145:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>r,default:()=>g,frontMatter:()=>l,metadata:()=>o,toc:()=>c});const o=JSON.parse('{"id":"documentation/user-guide/create-agents","title":"Create Agents","description":"Introduction","source":"@site/docs/documentation/user-guide/create-agents.md","sourceDirName":"documentation/user-guide","slug":"/documentation/user-guide/create-agents","permalink":"/solace-agent-mesh/docs/documentation/user-guide/create-agents","draft":false,"unlisted":false,"editUrl":"https://github.com/SolaceLabs/solace-agent-mesh/edit/main/docs/docs/documentation/user-guide/create-agents.md","tags":[],"version":"current","sidebarPosition":30,"frontMatter":{"title":"Create Agents","sidebar_position":30},"sidebar":"docSidebar","previous":{"title":"Structure","permalink":"/solace-agent-mesh/docs/documentation/user-guide/structure"},"next":{"title":"Create Gateways","permalink":"/solace-agent-mesh/docs/documentation/user-guide/create-gateways"}}');var i=t(4848),s=t(8453);const l={title:"Create Agents",sidebar_position:30},r="Creating Agents",a={},c=[{value:"Introduction",id:"introduction",level:2},{value:"Quick Start: Creating Your First Agent",id:"quick-start-creating-your-first-agent",level:2},{value:"CLI Options",id:"cli-options",level:3},{value:"Core Concepts",id:"core-concepts",level:2},{value:"Tools",id:"tools",level:3},{value:"Configuration File",id:"configuration-file",level:3},{value:"Tool Configuration",id:"tool-configuration",level:3},{value:"ToolContext",id:"toolcontext",level:3},{value:"Lifecycle Functions",id:"lifecycle-functions",level:3},{value:"Step-by-Step Guide",id:"step-by-step-guide",level:2},{value:"Step 1: Initialize your Agent",id:"step-1-initialize-your-agent",level:3},{value:"Step 2: The Tool Function",id:"step-2-the-tool-function",level:3},{value:"Step 3: The Agent Configuration",id:"step-3-the-agent-configuration",level:3},{value:"Step 4: The Lifecycle Function",id:"step-4-the-lifecycle-function",level:3},{value:"Advanced Concepts",id:"advanced-concepts",level:2},{value:"Working with Artifacts",id:"working-with-artifacts",level:3},{value:"Using Multiple Tool Configurations",id:"using-multiple-tool-configurations",level:3},{value:"Running Your Agent",id:"running-your-agent",level:2},{value:"Architecture Overview",id:"architecture-overview",level:2},{value:"Best Practices",id:"best-practices",level:2},{value:"Tool Design",id:"tool-design",level:3},{value:"Configuration",id:"configuration",level:3},{value:"Testing",id:"testing",level:3}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",mermaid:"mermaid",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"creating-agents",children:"Creating Agents"})}),"\n",(0,i.jsx)(n.h2,{id:"introduction",children:"Introduction"}),"\n",(0,i.jsx)(n.admonition,{type:"tip",children:(0,i.jsxs)(n.p,{children:["For a more comprehensive tutorial example, see the ",(0,i.jsx)(n.a,{href:"/solace-agent-mesh/docs/documentation/tutorials/custom-agent",children:"Build Your Own Agent"})," guide.\nThis page provides an in-depth theoretical overview of creating agents in Solace Agent Mesh."]})}),"\n",(0,i.jsxs)(n.p,{children:["Solace Agent Mesh (SAM) is a powerful platform that enables you to create intelligent agents that can communicate with each other and perform complex tasks. At its core, SAM uses a ",(0,i.jsx)(n.strong,{children:"tool-based architecture"})," where LLM-powered agents are equipped with specific capabilities (tools) that they can use to accomplish user requests."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsxs)(n.strong,{children:["Before continuing with this tutorial, make sure you are familiar with the basic ",(0,i.jsx)(n.a,{href:"/solace-agent-mesh/docs/documentation/concepts/agents",children:"agent concept"}),"."]})}),"\n",(0,i.jsx)(n.p,{children:"This tutorial guides you through creating your first SAM agent from scratch. You will learn how to:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Define tools as Python functions"}),"\n",(0,i.jsx)(n.li,{children:"Configure an agent using YAML"}),"\n",(0,i.jsx)(n.li,{children:"Set up agent lifecycle functions"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:'By the end of this tutorial, you should have a working "Hello World" agent that demonstrates the fundamental concepts of SAM agent development.'}),"\n",(0,i.jsx)(n.h2,{id:"quick-start-creating-your-first-agent",children:"Quick Start: Creating Your First Agent"}),"\n",(0,i.jsxs)(n.p,{children:["You can create an agent directly using the SAM CLI ",(0,i.jsx)(n.code,{children:"sam add agent"}),":"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"sam add agent my-first-agent\n"})}),"\n",(0,i.jsx)(n.p,{children:"This command:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Launches an interactive setup (or use ",(0,i.jsx)(n.code,{children:"--gui"})," for browser-based configuration)"]}),"\n",(0,i.jsx)(n.li,{children:"Generates the necessary files and configuration"}),"\n",(0,i.jsx)(n.li,{children:"Sets up the basic agent structure"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Note that create agent as plugin is preferred over create agent directly."}),"\n",(0,i.jsx)(n.h3,{id:"cli-options",children:"CLI Options"}),"\n",(0,i.jsx)(n.p,{children:"You can customize the agent creation with provided CLI options."}),"\n",(0,i.jsx)(n.p,{children:"For a complete list of options, run:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"sam add agent --help\n"})}),"\n",(0,i.jsx)(n.h2,{id:"core-concepts",children:"Core Concepts"}),"\n",(0,i.jsx)(n.p,{children:"Before diving into the implementation, it is important to understand the key concepts that make SAM agents work:"}),"\n",(0,i.jsx)(n.h3,{id:"tools",children:"Tools"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Tools are the fundamental building blocks of SAM agents."})," Each tool is implemented as a Python function that performs a specific task. Tools can:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Process text and data"}),"\n",(0,i.jsx)(n.li,{children:"Interact with external APIs"}),"\n",(0,i.jsx)(n.li,{children:"Create and manipulate files"}),"\n",(0,i.jsx)(n.li,{children:"Communicate with other agents"}),"\n",(0,i.jsx)(n.li,{children:"Access databases and services"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"The LLM (Large Language Model) orchestrating your agent decides which tools to use based on the user's request and the tool descriptions you provide."}),"\n",(0,i.jsx)(n.admonition,{type:"tip",children:(0,i.jsxs)(n.p,{children:["Solace Agent Mesh provides a set of ",(0,i.jsx)(n.a,{href:"/solace-agent-mesh/docs/documentation/user-guide/builtin-tools/",children:"built-in tools"})," plus support for ",(0,i.jsx)(n.a,{href:"/solace-agent-mesh/docs/documentation/tutorials/mcp-integration",children:"model context protocol (MCP)"})," servers, which can be configured in the tools list of your agent configuration."]})}),"\n",(0,i.jsx)(n.h3,{id:"configuration-file",children:"Configuration File"}),"\n",(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"config.yaml"})," (for plugin template) or ",(0,i.jsx)(n.code,{children:"agent-name.yaml"})," (for agent instances) file is the blueprint of your agent. It defines:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Agent identity"}),": Name, description, and capabilities"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Model configuration"}),": Which LLM to use"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Tools list"}),": Defines which tools the agent can access and how they're configured"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Lifecycle functions"}),": Setup and cleanup procedures"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Framework services"}),": Session management, artifact storage, and so on."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.a,{href:"/solace-agent-mesh/docs/documentation/concepts/agents#agent-card",children:"Agent card"})}),": Metadata describing the agent capabilities, skills and its visibility in the system"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"tool-configuration",children:"Tool Configuration"}),"\n",(0,i.jsxs)(n.p,{children:["Within the ",(0,i.jsx)(n.code,{children:"tools"})," list in your YAML config, each tool can have its own ",(0,i.jsx)(n.code,{children:"tool_config"})," section. This allows you to:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Configure the same tool function for different purposes"}),"\n",(0,i.jsx)(n.li,{children:"Pass specific parameters to tool instances"}),"\n",(0,i.jsx)(n.li,{children:"Customize tool behavior per agent"}),"\n"]}),"\n",(0,i.jsxs)(n.admonition,{type:"info",children:[(0,i.jsxs)(n.p,{children:['For tools of type "python", you can also use the ',(0,i.jsx)(n.code,{children:"tool_name"})," and ",(0,i.jsx)(n.code,{children:"tool_description"})," to overwrite the function name and description in the tool docstring."]}),(0,i.jsx)(n.p,{children:"This is useful when using a generic tool function for multiple purposes, allowing you to provide a more descriptive name and description for each instance."})]}),"\n",(0,i.jsx)(n.h3,{id:"toolcontext",children:"ToolContext"}),"\n",(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"ToolContext"})," object (passed as one of the arguments to your tool function) provides your tools with access to SAM core services:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Logging"}),": Structured logging for debugging and monitoring"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Artifact Service"}),": File storage and retrieval"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Session Information"}),": Current user and session context"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Agent State"}),": Shared data between tool calls"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"lifecycle-functions",children:"Lifecycle Functions"}),"\n",(0,i.jsx)(n.p,{children:"Lifecycle functions allow you to manage resources that should persist for the agent's lifetime:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"agent_init_function"})}),": Runs when the agent starts (for example, database connections)"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"agent_cleanup_function"})}),": Runs when the agent shuts down (for example, closing connections)"]}),"\n"]}),"\n",(0,i.jsx)(n.admonition,{type:"note",children:(0,i.jsx)(n.p,{children:"Lifecycle functions are optional but recommended for managing resources effectively."})}),"\n",(0,i.jsx)(n.h2,{id:"step-by-step-guide",children:"Step-by-Step Guide"}),"\n",(0,i.jsx)(n.p,{children:"Create a simple agent that can greet users and demonstrate the core concepts."}),"\n",(0,i.jsxs)(n.p,{children:["You can create an agent either by using the ",(0,i.jsx)(n.code,{children:"sam add agent"})," command or by creating a new plugin of type agent, ",(0,i.jsx)(n.code,{children:"sam plugin create my-hello-agent --type agent"}),"."]}),"\n",(0,i.jsx)(n.admonition,{type:"tip",children:(0,i.jsxs)(n.p,{children:["For information and recommendations about these options, see ",(0,i.jsx)(n.a,{href:"/solace-agent-mesh/docs/documentation/concepts/plugins#agent-or-plugin-which-to-use",children:(0,i.jsx)(n.code,{children:"Agent or Plugin: Which To use?"})}),"."]})}),"\n",(0,i.jsx)(n.h3,{id:"step-1-initialize-your-agent",children:"Step 1: Initialize your Agent"}),"\n",(0,i.jsxs)(n.p,{children:["In this tutorial, you create a new agent by creating a new plugin of type agent.\nFor an example of custom agents, see ",(0,i.jsx)(n.a,{href:"/solace-agent-mesh/docs/documentation/tutorials/custom-agent",children:"Build Your Own Agent"})," guide."]}),"\n",(0,i.jsx)(n.p,{children:"Although the directory structure for plugins is slightly different than the one for agents, both require a YAML configuration file, and a python module with the tools and lifecycle functions you want."}),"\n",(0,i.jsx)(n.p,{children:"To create a new agent plugin, run the following command:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"sam plugin create my-hello-agent --type agent\n"})}),"\n",(0,i.jsx)(n.p,{children:"And follow the prompts to set up your agent. The prompts create a new directory structure for your agent."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"my-hello-agent/\n\u251c\u2500\u2500 src/\n\u2502 \u2514\u2500\u2500 my_hello_agent/\n\u2502 \u251c\u2500\u2500 __init__.py\n\u2502 \u251c\u2500\u2500 tools.py\n\u2502 \u2514\u2500\u2500 lifecycle.py # This file won't be automatically created\n\u251c\u2500\u2500 config.yaml\n\u251c\u2500\u2500 pyproject.toml\n\u2514\u2500\u2500 README.md\n"})}),"\n",(0,i.jsx)(n.mermaid,{value:"graph TD\n A[my-hello-agent/] --\x3e B[src/]\n A --\x3e C[config.yaml]\n A --\x3e D[pyproject.toml]\n A --\x3e E[README.md]\n \n B --\x3e F[my_hello_agent/]\n F --\x3e G[__init__.py]\n F --\x3e H[tools.py]\n F --\x3e I[lifecycle.py]\n \n style C fill:#b60000,stroke:#333,stroke-width:2px\n style H fill:#b60000,stroke:#333,stroke-width:2px\n style I fill:#007000,stroke:#333,stroke-width:2px"}),"\n",(0,i.jsx)(n.h3,{id:"step-2-the-tool-function",children:"Step 2: The Tool Function"}),"\n",(0,i.jsx)(n.p,{children:"Create your first tool function:\nThe following arguments are provided by the framework:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"tool_context: SAM framework context"}),"\n",(0,i.jsx)(n.li,{children:"tool_config: Tool-specific configuration (from config.yaml)"}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-python",children:'# src/my_hello_agent/tools.py\n"""\nTools for the Hello World agent.\n"""\n\nfrom typing import Any, Dict, Optional\nfrom google.adk.tools import ToolContext\nfrom solace_ai_connector.common.log import log\n\n\nasync def hello_tool(\n name: str,\n tool_context: Optional[ToolContext] = None,\n tool_config: Optional[Dict[str, Any]] = None\n) -> Dict[str, Any]:\n """\n Greets a user with a personalized message.\n \n Args:\n name: The name of the person to greet\n \n Returns:\n A dictionary with the greeting message\n """\n log_identifier = "[HelloTool]"\n log.info(f"{log_identifier} Greeting user: {name}")\n \n # Get configuration from tool_config\n greeting_prefix = "Hello"\n if tool_config:\n greeting_prefix = tool_config.get("greeting_prefix", "Hello")\n \n # Create the greeting message\n greeting_message = f"{greeting_prefix}, {name}! Welcome to Solace Agent Mesh!"\n \n log.info(f"{log_identifier} Generated greeting: {greeting_message}")\n \n return {\n "status": "success",\n "message": greeting_message,\n "greeted_name": name\n }\n\n\nasync def farewell_tool(\n name: str,\n tool_context: Optional[ToolContext] = None,\n tool_config: Optional[Dict[str, Any]] = None\n) -> Dict[str, Any]:\n """\n Says goodbye to a user.\n \n Args:\n name: The name of the person to say goodbye to\n \n Returns:\n A dictionary with the farewell message\n """\n log_identifier = "[FarewellTool]"\n log.info(f"{log_identifier} Saying goodbye to user: {name}")\n \n # Get configuration from tool_config\n farewell_prefix = "Goodbye"\n if tool_config:\n farewell_prefix = tool_config.get("farewell_prefix", "Goodbye")\n \n # Create the farewell message\n farewell_message = f"{farewell_prefix}, {name}! Thanks for using Solace Agent Mesh!"\n \n log.info(f"{log_identifier} Generated farewell: {farewell_message}")\n \n return {\n "status": "success",\n "message": farewell_message,\n "farewell_name": name\n }\n'})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Key Points:"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Function Signature"}),": All tool functions should be ",(0,i.jsx)(n.code,{children:"async"})," and accept ",(0,i.jsx)(n.code,{children:"tool_context"})," and ",(0,i.jsx)(n.code,{children:"tool_config"})," parameters"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Return Format"}),": Return a dictionary with at least a ",(0,i.jsx)(n.code,{children:"status"})," field"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Logging"}),": Use the SAM logger for consistent logging"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Configuration"}),": Access tool-specific config via the ",(0,i.jsx)(n.code,{children:"tool_config"})," parameter"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"step-3-the-agent-configuration",children:"Step 3: The Agent Configuration"}),"\n",(0,i.jsx)(n.p,{children:"Create the main configuration file for your agent:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-yaml",children:'# ... (additional services and configurations)\n\napps:\n - name: my-hello-agent\n app_module: solace_agent_mesh.agent.sac.app \n broker:\n <<: *broker_connection\n \n # Agent-specific configuration\n app_config:\n # Basic agent identity\n namespace: ${NAMESPACE} \n supports_streaming: true \n agent_name: "HelloAgent"\n display_name: "Hello World Agent"\n \n # LLM model configuration\n model: *general_model \n \n # Agent instructions (system prompt)\n instruction: |\n You are a friendly Hello World agent. Your purpose is to greet users and \n demonstrate the capabilities of Solace Agent Mesh. You can:\n \n 1. Greet users with personalized messages using the hello_tool\n 2. Say goodbye to users using the farewell_tool\n \n Always be polite and helpful. When greeting someone, ask for their name \n if they haven\'t provided it.\n \n # Lifecycle functions\n agent_init_function:\n module: "my_hello_agent.lifecycle" # This should point to your lifecycle python module\n name: "initialize_hello_agent"\n base_path: .\n config:\n startup_message: "Hello Agent is starting up!"\n log_level: "INFO"\n \n agent_cleanup_function:\n module: "my_hello_agent.lifecycle"\n base_path: .\n name: "cleanup_hello_agent"\n \n # Tools configuration\n tools:\n # Hello tool with custom greeting\n - tool_type: python\n component_module: "my_hello_agent.tools"\n component_base_path: .\n function_name: "hello_tool"\n tool_name: "greet_user" # Renaming the tool, must use this name in the agent card\n tool_config:\n greeting_prefix: "Hello there"\n \n # Farewell tool with custom farewell\n - tool_type: python\n component_module: "my_hello_agent.tools"\n component_base_path: .\n function_name: "farewell_tool"\n tool_name: "say_goodbye"\n tool_config:\n farewell_prefix: "See you later"\n \n # Built-in artifact tools for file operations\n - tool_type: builtin-group\n group_name: "artifact_management"\n \n # Agent card (describes the agent\'s capabilities)\n agent_card:\n description: "A friendly Hello World agent that demonstrates SAM capabilities"\n defaultInputModes: ["text"]\n defaultOutputModes: ["text"]\n skills:\n - id: "greet_user"\n name: "Greet User"\n description: "Greets users with personalized messages"\n - id: "say_goodbye"\n name: "Say Goodbye"\n description: "Says goodbye to users"\n - id: "file_operations"\n name: "File Operations"\n description: "Create, read, and manage files and artifacts"\n \n # Session and artifact services\n session_service: *default_session_service\n artifact_service: *default_artifact_service\n# ... (additional services and configurations)\n'})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Key Sections Explained:"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"namespace"})}),": Unique identifier for your agent in the mesh"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"model"})}),": LLM configuration (can be a string or detailed config)"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"instruction"})}),": The system prompt that defines your agent's behavior"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"tools"})}),": List of tools your agent can use, with their configurations"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"agent_card"})}),": Metadata describing your agent's capabilities"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"step-4-the-lifecycle-function",children:"Step 4: The Lifecycle Function"}),"\n",(0,i.jsx)(n.p,{children:"Lifecycle functions are completely optional but useful for managing resources. They run when the agent starts and stops."}),"\n",(0,i.jsx)(n.p,{children:"The lifecycle file is not automatically created, so you need to create it manually:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"touch src/my_hello_agent/lifecycle.py\n"})}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-python",children:'# src/my_hello_agent/lifecycle.py\n"""\nLifecycle functions for the Hello World agent.\n"""\n\nfrom typing import Any, Dict\nfrom pydantic import BaseModel, Field\nfrom solace_ai_connector.common.log import log\n\n\nclass HelloAgentInitConfig(BaseModel):\n """\n Configuration model for the Hello Agent initialization.\n """\n startup_message: str = Field(description="Message to log on startup")\n log_level: str = Field(default="INFO", description="Logging level for the agent")\n\n\ndef initialize_hello_agent(host_component: Any, init_config: HelloAgentInitConfig):\n """\n Initializes the Hello World agent.\n \n Args:\n host_component: The agent host component\n init_config: Validated initialization configuration\n """\n log_identifier = f"[{host_component.agent_name}:init]"\n log.info(f"{log_identifier} Starting Hello Agent initialization...")\n \n # Log the startup message from config\n log.info(f"{log_identifier} {init_config.startup_message}")\n \n # You could initialize shared resources here, such as:\n # - Database connections\n # - API clients\n # - Caches or shared data structures\n \n # Store any shared state in the agent\n host_component.set_agent_specific_state("initialized_at", "2024-01-01T00:00:00Z")\n host_component.set_agent_specific_state("greeting_count", 0)\n \n log.info(f"{log_identifier} Hello Agent initialization completed successfully")\n\n\ndef cleanup_hello_agent(host_component: Any):\n """\n Cleans up resources when the Hello World agent shuts down.\n \n Args:\n host_component: The agent host component\n """\n log_identifier = f"[{host_component.agent_name}:cleanup]"\n log.info(f"{log_identifier} Starting Hello Agent cleanup...")\n \n # Retrieve any shared state\n greeting_count = host_component.get_agent_specific_state("greeting_count", 0)\n log.info(f"{log_identifier} Agent processed {greeting_count} greetings during its lifetime")\n \n # Clean up resources here, such as:\n # - Closing database connections\n # - Shutting down background tasks\n # - Saving final state\n \n log.info(f"{log_identifier} Hello Agent cleanup completed")\n'})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Key Points:"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Pydantic Models"}),": Use Pydantic for configuration validation"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Shared State"}),": Store data that persists across tool calls"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Resource Management"}),": Initialize connections in ",(0,i.jsx)(n.code,{children:"init"}),", clean up in ",(0,i.jsx)(n.code,{children:"cleanup"})]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"advanced-concepts",children:"Advanced Concepts"}),"\n",(0,i.jsx)(n.h3,{id:"working-with-artifacts",children:"Working with Artifacts"}),"\n",(0,i.jsx)(n.p,{children:"You can enhance our hello tool to save greetings to a file using SAM's artifact service:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-python",children:'\nfrom datetime import datetime\nfrom solace_agent_mesh.agent.utils.artifact_helpers import save_artifact_with_metadata\n\nasync def hello_tool_with_artifact(\n name: str,\n save_to_file: bool = False,\n tool_context: Optional[ToolContext] = None,\n tool_config: Optional[Dict[str, Any]] = None\n) -> Dict[str, Any]:\n """\n Greets a user and optionally saves the greeting to a file.\n """\n log_identifier = "[HelloToolWithArtifact]"\n \n # Generate greeting (same as before)\n greeting_prefix = tool_config.get("greeting_prefix", "Hello") if tool_config else "Hello"\n greeting_message = f"{greeting_prefix}, {name}! Welcome to Solace Agent Mesh!"\n \n result = {\n "status": "success",\n "message": greeting_message,\n "greeted_name": name\n }\n \n # Save to artifact if requested\n if save_to_file and tool_context:\n try:\n # Prepare content\n timestamp = datetime.now(timezone.utc)\n filename = f"greeting_{name}_{timestamp}.txt"\n content = f"Greeting: {greeting_message}\\nTimestamp: {timestamp}\\n"\n \n # Save artifact\n artifact_service = tool_context._invocation_context.artifact_service\n await save_artifact_with_metadata(\n artifact_service=artifact_service,\n app_name=tool_context._invocation_context.app_name,\n user_id=tool_context._invocation_context.user_id,\n session_id=tool_context._invocation_context.session.id,\n filename=filename,\n content_bytes=content.encode(\'utf-8\'),\n mime_type="application/json",\n metadata_dict={\n "description": "Greeting message",\n "source": "Greeting Agent",\n },\n timestamp=timestamp\n )\n \n result["artifact_saved"] = filename\n log.info(f"{log_identifier} Saved greeting to artifact: {filename}")\n \n except Exception as e:\n log.error(f"{log_identifier} Failed to save artifact: {e}")\n result["artifact_error"] = str(e)\n \n return result\n'})}),"\n",(0,i.jsx)(n.h3,{id:"using-multiple-tool-configurations",children:"Using Multiple Tool Configurations"}),"\n",(0,i.jsx)(n.p,{children:"You can configure the same tool function multiple times with different settings:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-yaml",children:'tools:\n # Formal greeting\n - tool_type: python\n component_module: "my_hello_agent.tools"\n function_name: "hello_tool"\n tool_name: "formal_greeting"\n tool_config:\n greeting_prefix: "Good day"\n \n # Casual greeting\n - tool_type: python\n component_module: "my_hello_agent.tools"\n function_name: "hello_tool"\n tool_name: "casual_greeting"\n tool_config:\n greeting_prefix: "Hey there"\n \n # Enthusiastic greeting\n - tool_type: python\n component_module: "my_hello_agent.tools"\n function_name: "hello_tool"\n tool_name: "enthusiastic_greeting"\n tool_config:\n greeting_prefix: "Hello and welcome"\n'})}),"\n",(0,i.jsx)(n.p,{children:"This gives your agent multiple greeting styles to choose from based on the context."}),"\n",(0,i.jsx)(n.h2,{id:"running-your-agent",children:"Running Your Agent"}),"\n",(0,i.jsx)(n.p,{children:"To run a plugin agent, you first need to package and install it as a plugin."}),"\n",(0,i.jsxs)(n.admonition,{title:"Quick Debug",type:"tip",children:[(0,i.jsxs)(n.p,{children:["For debugging or isolated development testing, you can run your agent from the ",(0,i.jsx)(n.code,{children:"src"})," directory directly using the SAM CLI."]}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"cd src\nsam run ../config.yaml\n"})}),(0,i.jsx)(n.p,{children:"Changing to the src directory allows the module path to be set correctly so that SAM can find your functions without your having to install them in your python environment as a plugin package."})]}),"\n",(0,i.jsxs)(n.p,{children:["To properly instantiate your plugin agent, first build the plugin.\nThe following command will produce a python wheel file under ",(0,i.jsx)(n.code,{children:"dist"})," directory:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"sam plugin build\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Check into ",(0,i.jsx)(n.a,{href:"/solace-agent-mesh/docs/documentation/getting-started/quick-start#create-a-project",children:"your SAM project directory"}),", and add the plugin wheel with a given name:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"sam plugin add my-first-weather-agent --plugin PATH/TO/weather-agent/dist/weather-agent.whl\n"})}),"\n",(0,i.jsx)(n.admonition,{type:"note",children:(0,i.jsxs)(n.p,{children:["Using the ",(0,i.jsx)(n.code,{children:"sam plugin add"})," command installs your plugin as a python dependency into your python environment.\nThis also means changing the source code without reinstalling the plugin will not reflect the changes."]})}),"\n",(0,i.jsx)(n.p,{children:"Now, you can run the complete SAM application along with your newly added agent:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"sam run\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Alternatively, only run the newly added agent using ",(0,i.jsx)(n.code,{children:"sam run configs/agents/my-first-weather-agent.yaml"})]}),"\n",(0,i.jsx)(n.h2,{id:"architecture-overview",children:"Architecture Overview"}),"\n",(0,i.jsx)(n.p,{children:"Here is how all the pieces fit together:"}),"\n",(0,i.jsx)(n.mermaid,{value:"graph TD\n subgraph Agent Configuration\n direction LR\n A[config.yaml] --\x3e|Defines| B(Agent Properties);\n A --\x3e|Lists & Configures| C(Tools);\n end\n\n subgraph Agent Host\n direction TB\n D[SAM Host] --\x3e|Loads| A;\n D --\x3e|Instantiates| E[Agent];\n E --\x3e|Initializes with| F[Lifecycle Functions];\n end\n\n subgraph Tool Implementation\n direction LR\n G[Python Module tools.py] --\x3e|Contains| H[Tool Functions];\n end\n\n subgraph Execution Flow\n direction TB\n I[User Request] --\x3e J[LLM Orchestrator];\n J --\x3e|Selects Tool| K{ADKToolWrapper};\n K --\x3e|Calls| H;\n H --\x3e|Accesses| L[ToolContext];\n H --\x3e|Uses| M[tool_config];\n H --\x3e|Returns Result| J;\n end\n\n C --\x3e|Wrapped by| K;\n\n style A fill:#b60000,stroke:#faa,stroke-width:2px\n style H fill:#b60000,stroke:#faa,stroke-width:2px\n style F fill:#007000,stroke:#faa,stroke-width:2px"}),"\n",(0,i.jsx)(n.h2,{id:"best-practices",children:"Best Practices"}),"\n",(0,i.jsx)(n.h3,{id:"tool-design",children:"Tool Design"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Single Responsibility"}),": Each tool should do one thing well"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Clear Documentation"}),": Write detailed docstrings for your tools"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Error Handling"}),": Always return structured error responses"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Logging"}),": Use consistent logging for debugging and monitoring"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"configuration",children:"Configuration"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Environment Variables"}),": Use environment variables for sensitive data"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Validation"}),": Use Pydantic models for configuration validation"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Documentation"}),": Comment your configuration files thoroughly"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"testing",children:"Testing"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Unit Tests"}),": Test your tool functions independently"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Integration Tests"}),": Test your agent with real SAM infrastructure"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Mock Dependencies"}),": Mock external services for reliable testing"]}),"\n"]})]})}function g(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>l,x:()=>r});var o=t(6540);const i={},s=o.createContext(i);function l(e){const n=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),o.createElement(s.Provider,{value:n},e.children)}}}]);