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.
Files changed (624) hide show
  1. solace_agent_mesh/__init__.py +0 -0
  2. solace_agent_mesh/agent/__init__.py +0 -0
  3. solace_agent_mesh/agent/adk/__init__.py +0 -0
  4. solace_agent_mesh/agent/adk/adk_llm.txt +226 -0
  5. solace_agent_mesh/agent/adk/adk_llm_detail.txt +566 -0
  6. solace_agent_mesh/agent/adk/alembic/README +74 -0
  7. solace_agent_mesh/agent/adk/alembic/env.py +77 -0
  8. solace_agent_mesh/agent/adk/alembic/script.py.mako +28 -0
  9. solace_agent_mesh/agent/adk/alembic/versions/e2902798564d_adk_session_db_upgrade.py +52 -0
  10. solace_agent_mesh/agent/adk/alembic.ini +112 -0
  11. solace_agent_mesh/agent/adk/app_llm_agent.py +52 -0
  12. solace_agent_mesh/agent/adk/artifacts/__init__.py +1 -0
  13. solace_agent_mesh/agent/adk/artifacts/artifacts_llm.txt +171 -0
  14. solace_agent_mesh/agent/adk/artifacts/filesystem_artifact_service.py +545 -0
  15. solace_agent_mesh/agent/adk/artifacts/s3_artifact_service.py +609 -0
  16. solace_agent_mesh/agent/adk/callbacks.py +2318 -0
  17. solace_agent_mesh/agent/adk/embed_resolving_mcp_toolset.py +406 -0
  18. solace_agent_mesh/agent/adk/intelligent_mcp_callbacks.py +415 -0
  19. solace_agent_mesh/agent/adk/mcp_content_processor.py +666 -0
  20. solace_agent_mesh/agent/adk/models/lite_llm.py +1026 -0
  21. solace_agent_mesh/agent/adk/models/models_llm.txt +189 -0
  22. solace_agent_mesh/agent/adk/models/oauth2_token_manager.py +132 -0
  23. solace_agent_mesh/agent/adk/runner.py +390 -0
  24. solace_agent_mesh/agent/adk/schema_migration.py +88 -0
  25. solace_agent_mesh/agent/adk/services.py +468 -0
  26. solace_agent_mesh/agent/adk/setup.py +1325 -0
  27. solace_agent_mesh/agent/adk/stream_parser.py +415 -0
  28. solace_agent_mesh/agent/adk/tool_wrapper.py +165 -0
  29. solace_agent_mesh/agent/agent_llm.txt +369 -0
  30. solace_agent_mesh/agent/agent_llm_detail.txt +1702 -0
  31. solace_agent_mesh/agent/protocol/__init__.py +0 -0
  32. solace_agent_mesh/agent/protocol/event_handlers.py +2041 -0
  33. solace_agent_mesh/agent/protocol/protocol_llm.txt +81 -0
  34. solace_agent_mesh/agent/protocol/protocol_llm_detail.txt +92 -0
  35. solace_agent_mesh/agent/proxies/__init__.py +0 -0
  36. solace_agent_mesh/agent/proxies/a2a/__init__.py +3 -0
  37. solace_agent_mesh/agent/proxies/a2a/a2a_llm.txt +190 -0
  38. solace_agent_mesh/agent/proxies/a2a/app.py +56 -0
  39. solace_agent_mesh/agent/proxies/a2a/component.py +1585 -0
  40. solace_agent_mesh/agent/proxies/a2a/config.py +216 -0
  41. solace_agent_mesh/agent/proxies/a2a/oauth_token_cache.py +104 -0
  42. solace_agent_mesh/agent/proxies/base/__init__.py +3 -0
  43. solace_agent_mesh/agent/proxies/base/app.py +100 -0
  44. solace_agent_mesh/agent/proxies/base/base_llm.txt +148 -0
  45. solace_agent_mesh/agent/proxies/base/component.py +816 -0
  46. solace_agent_mesh/agent/proxies/base/config.py +85 -0
  47. solace_agent_mesh/agent/proxies/base/proxy_task_context.py +19 -0
  48. solace_agent_mesh/agent/proxies/proxies_llm.txt +283 -0
  49. solace_agent_mesh/agent/sac/__init__.py +0 -0
  50. solace_agent_mesh/agent/sac/app.py +595 -0
  51. solace_agent_mesh/agent/sac/component.py +3668 -0
  52. solace_agent_mesh/agent/sac/patch_adk.py +103 -0
  53. solace_agent_mesh/agent/sac/sac_llm.txt +189 -0
  54. solace_agent_mesh/agent/sac/sac_llm_detail.txt +200 -0
  55. solace_agent_mesh/agent/sac/task_execution_context.py +415 -0
  56. solace_agent_mesh/agent/testing/__init__.py +3 -0
  57. solace_agent_mesh/agent/testing/debug_utils.py +135 -0
  58. solace_agent_mesh/agent/testing/testing_llm.txt +58 -0
  59. solace_agent_mesh/agent/testing/testing_llm_detail.txt +68 -0
  60. solace_agent_mesh/agent/tools/__init__.py +16 -0
  61. solace_agent_mesh/agent/tools/audio_tools.py +1740 -0
  62. solace_agent_mesh/agent/tools/builtin_artifact_tools.py +2500 -0
  63. solace_agent_mesh/agent/tools/builtin_data_analysis_tools.py +244 -0
  64. solace_agent_mesh/agent/tools/dynamic_tool.py +396 -0
  65. solace_agent_mesh/agent/tools/general_agent_tools.py +572 -0
  66. solace_agent_mesh/agent/tools/image_tools.py +1185 -0
  67. solace_agent_mesh/agent/tools/peer_agent_tool.py +363 -0
  68. solace_agent_mesh/agent/tools/registry.py +38 -0
  69. solace_agent_mesh/agent/tools/test_tools.py +136 -0
  70. solace_agent_mesh/agent/tools/time_tools.py +126 -0
  71. solace_agent_mesh/agent/tools/tool_config_types.py +93 -0
  72. solace_agent_mesh/agent/tools/tool_definition.py +53 -0
  73. solace_agent_mesh/agent/tools/tools_llm.txt +276 -0
  74. solace_agent_mesh/agent/tools/tools_llm_detail.txt +275 -0
  75. solace_agent_mesh/agent/tools/web_tools.py +392 -0
  76. solace_agent_mesh/agent/utils/__init__.py +0 -0
  77. solace_agent_mesh/agent/utils/artifact_helpers.py +1353 -0
  78. solace_agent_mesh/agent/utils/config_parser.py +49 -0
  79. solace_agent_mesh/agent/utils/context_helpers.py +77 -0
  80. solace_agent_mesh/agent/utils/utils_llm.txt +152 -0
  81. solace_agent_mesh/agent/utils/utils_llm_detail.txt +149 -0
  82. solace_agent_mesh/assets/docs/404.html +16 -0
  83. solace_agent_mesh/assets/docs/assets/css/styles.8162edfb.css +1 -0
  84. solace_agent_mesh/assets/docs/assets/images/Solace_AI_Framework_With_Broker-85f0a306a9bcdd20b390b7a949f6d862.png +0 -0
  85. solace_agent_mesh/assets/docs/assets/images/sam-enterprise-credentials-b269f095349473118b2b33bdfcc40122.png +0 -0
  86. solace_agent_mesh/assets/docs/assets/js/032c2d61.f3d37824.js +1 -0
  87. solace_agent_mesh/assets/docs/assets/js/05749d90.19ac4f35.js +1 -0
  88. solace_agent_mesh/assets/docs/assets/js/0bcf40b7.c019ad46.js +1 -0
  89. solace_agent_mesh/assets/docs/assets/js/1001.0182a8bd.js +1 -0
  90. solace_agent_mesh/assets/docs/assets/js/1039.0bd46aa1.js +1 -0
  91. solace_agent_mesh/assets/docs/assets/js/149.b797a808.js +1 -0
  92. solace_agent_mesh/assets/docs/assets/js/15ba94aa.92fea363.js +1 -0
  93. solace_agent_mesh/assets/docs/assets/js/15e40e79.434bb30f.js +1 -0
  94. solace_agent_mesh/assets/docs/assets/js/165.6a39807d.js +2 -0
  95. solace_agent_mesh/assets/docs/assets/js/165.6a39807d.js.LICENSE.txt +9 -0
  96. solace_agent_mesh/assets/docs/assets/js/17896441.e612dfb4.js +1 -0
  97. solace_agent_mesh/assets/docs/assets/js/2130.ab9fd314.js +1 -0
  98. solace_agent_mesh/assets/docs/assets/js/2131ec11.5c7a1f6e.js +1 -0
  99. solace_agent_mesh/assets/docs/assets/js/2237.5e477fc6.js +1 -0
  100. solace_agent_mesh/assets/docs/assets/js/2279.550aa580.js +2 -0
  101. solace_agent_mesh/assets/docs/assets/js/2279.550aa580.js.LICENSE.txt +13 -0
  102. solace_agent_mesh/assets/docs/assets/js/2334.1cf50a20.js +1 -0
  103. solace_agent_mesh/assets/docs/assets/js/240a0364.9ad94d1b.js +1 -0
  104. solace_agent_mesh/assets/docs/assets/js/2987107d.a80604f9.js +1 -0
  105. solace_agent_mesh/assets/docs/assets/js/2e32b5e0.33f5d75b.js +1 -0
  106. solace_agent_mesh/assets/docs/assets/js/3219.adc1d663.js +1 -0
  107. solace_agent_mesh/assets/docs/assets/js/341393d4.0fac2613.js +1 -0
  108. solace_agent_mesh/assets/docs/assets/js/3624.0eaa1fd0.js +1 -0
  109. solace_agent_mesh/assets/docs/assets/js/375.708d48db.js +1 -0
  110. solace_agent_mesh/assets/docs/assets/js/3834.b6cd790e.js +1 -0
  111. solace_agent_mesh/assets/docs/assets/js/3a6c6137.f5940cfa.js +1 -0
  112. solace_agent_mesh/assets/docs/assets/js/3ac1795d.28b7c67b.js +1 -0
  113. solace_agent_mesh/assets/docs/assets/js/3ff0015d.2ddc75c0.js +1 -0
  114. solace_agent_mesh/assets/docs/assets/js/41adc471.48b12a4e.js +1 -0
  115. solace_agent_mesh/assets/docs/assets/js/4250.95455b28.js +1 -0
  116. solace_agent_mesh/assets/docs/assets/js/4356.d169ab5b.js +1 -0
  117. solace_agent_mesh/assets/docs/assets/js/4458.518e66fa.js +1 -0
  118. solace_agent_mesh/assets/docs/assets/js/4488.c7cc3442.js +1 -0
  119. solace_agent_mesh/assets/docs/assets/js/4494.6ee23046.js +1 -0
  120. solace_agent_mesh/assets/docs/assets/js/4855.fc4444b6.js +1 -0
  121. solace_agent_mesh/assets/docs/assets/js/4866.22daefc0.js +1 -0
  122. solace_agent_mesh/assets/docs/assets/js/4950.ca4caeda.js +1 -0
  123. solace_agent_mesh/assets/docs/assets/js/509e993c.a1fbf45a.js +1 -0
  124. solace_agent_mesh/assets/docs/assets/js/5388.7a136447.js +1 -0
  125. solace_agent_mesh/assets/docs/assets/js/547e15cc.2f7790c1.js +1 -0
  126. solace_agent_mesh/assets/docs/assets/js/55b7b518.29d6e75d.js +1 -0
  127. solace_agent_mesh/assets/docs/assets/js/5607.081356f8.js +1 -0
  128. solace_agent_mesh/assets/docs/assets/js/5864.b0d0e9de.js +1 -0
  129. solace_agent_mesh/assets/docs/assets/js/5c2bd65f.90a87880.js +1 -0
  130. solace_agent_mesh/assets/docs/assets/js/5e95c892.558d5167.js +1 -0
  131. solace_agent_mesh/assets/docs/assets/js/6063ff4c.ef84f702.js +1 -0
  132. solace_agent_mesh/assets/docs/assets/js/60702c0e.a8bdd79b.js +1 -0
  133. solace_agent_mesh/assets/docs/assets/js/6143.0a1464c9.js +1 -0
  134. solace_agent_mesh/assets/docs/assets/js/631738c7.fa471607.js +1 -0
  135. solace_agent_mesh/assets/docs/assets/js/6395.e9c73649.js +1 -0
  136. solace_agent_mesh/assets/docs/assets/js/64195356.c498c4d0.js +1 -0
  137. solace_agent_mesh/assets/docs/assets/js/66d4869e.b77431fc.js +1 -0
  138. solace_agent_mesh/assets/docs/assets/js/6796.51d2c9b7.js +1 -0
  139. solace_agent_mesh/assets/docs/assets/js/6976.379be23b.js +1 -0
  140. solace_agent_mesh/assets/docs/assets/js/6978.ee0b945c.js +1 -0
  141. solace_agent_mesh/assets/docs/assets/js/6a520c9d.b6e3f2ce.js +1 -0
  142. solace_agent_mesh/assets/docs/assets/js/6aaedf65.7253541d.js +1 -0
  143. solace_agent_mesh/assets/docs/assets/js/6ad8f0bd.a5b36a60.js +1 -0
  144. solace_agent_mesh/assets/docs/assets/js/6d84eae0.fd23ba4a.js +1 -0
  145. solace_agent_mesh/assets/docs/assets/js/6fdfefc7.99de744e.js +1 -0
  146. solace_agent_mesh/assets/docs/assets/js/7040.cb436723.js +1 -0
  147. solace_agent_mesh/assets/docs/assets/js/7195.412f418a.js +1 -0
  148. solace_agent_mesh/assets/docs/assets/js/71da7b71.374b9d54.js +1 -0
  149. solace_agent_mesh/assets/docs/assets/js/722f809d.965da774.js +1 -0
  150. solace_agent_mesh/assets/docs/assets/js/7280.3fb73bdb.js +1 -0
  151. solace_agent_mesh/assets/docs/assets/js/742f027b.46c07808.js +1 -0
  152. solace_agent_mesh/assets/docs/assets/js/77cf947d.48cb18a2.js +1 -0
  153. solace_agent_mesh/assets/docs/assets/js/7845.e33e7c4c.js +1 -0
  154. solace_agent_mesh/assets/docs/assets/js/7900.69516146.js +1 -0
  155. solace_agent_mesh/assets/docs/assets/js/8024126c.fa0e7186.js +1 -0
  156. solace_agent_mesh/assets/docs/assets/js/81a99df0.2484b8d9.js +1 -0
  157. solace_agent_mesh/assets/docs/assets/js/82fbfb93.161823a5.js +1 -0
  158. solace_agent_mesh/assets/docs/assets/js/8356.8a379c04.js +1 -0
  159. solace_agent_mesh/assets/docs/assets/js/8567.4732c6b7.js +1 -0
  160. solace_agent_mesh/assets/docs/assets/js/8573.cb04eda5.js +1 -0
  161. solace_agent_mesh/assets/docs/assets/js/8577.1d54e766.js +1 -0
  162. solace_agent_mesh/assets/docs/assets/js/8591.5d015485.js +2 -0
  163. solace_agent_mesh/assets/docs/assets/js/8591.5d015485.js.LICENSE.txt +61 -0
  164. solace_agent_mesh/assets/docs/assets/js/8709.7ecd4047.js +1 -0
  165. solace_agent_mesh/assets/docs/assets/js/8731.6c1dbf0c.js +1 -0
  166. solace_agent_mesh/assets/docs/assets/js/8908.f9d1b506.js +1 -0
  167. solace_agent_mesh/assets/docs/assets/js/8b032486.91a91afc.js +1 -0
  168. solace_agent_mesh/assets/docs/assets/js/9157.b4093d07.js +1 -0
  169. solace_agent_mesh/assets/docs/assets/js/924ffdeb.975e428a.js +1 -0
  170. solace_agent_mesh/assets/docs/assets/js/9278.a4fd875d.js +1 -0
  171. solace_agent_mesh/assets/docs/assets/js/945fb41e.6f4cdffd.js +1 -0
  172. solace_agent_mesh/assets/docs/assets/js/94e8668d.16083b3f.js +1 -0
  173. solace_agent_mesh/assets/docs/assets/js/9616.b75c2f6d.js +1 -0
  174. solace_agent_mesh/assets/docs/assets/js/9793.c6d16376.js +1 -0
  175. solace_agent_mesh/assets/docs/assets/js/9bb13469.b2333011.js +1 -0
  176. solace_agent_mesh/assets/docs/assets/js/9e9d0a82.570c057b.js +1 -0
  177. solace_agent_mesh/assets/docs/assets/js/a7bd4aaa.2204d2f7.js +1 -0
  178. solace_agent_mesh/assets/docs/assets/js/a94703ab.3e5fbcb3.js +1 -0
  179. solace_agent_mesh/assets/docs/assets/js/ab9708a8.245ae0ef.js +1 -0
  180. solace_agent_mesh/assets/docs/assets/js/aba21aa0.c42a534c.js +1 -0
  181. solace_agent_mesh/assets/docs/assets/js/ad71b5ed.af3ecfd1.js +1 -0
  182. solace_agent_mesh/assets/docs/assets/js/ad87452a.9d73dad6.js +1 -0
  183. solace_agent_mesh/assets/docs/assets/js/c198a0dc.8f31f867.js +1 -0
  184. solace_agent_mesh/assets/docs/assets/js/c93cbaa0.0e0d8baf.js +1 -0
  185. solace_agent_mesh/assets/docs/assets/js/cab03b5b.6a073091.js +1 -0
  186. solace_agent_mesh/assets/docs/assets/js/cbe2e9ea.07e170dd.js +1 -0
  187. solace_agent_mesh/assets/docs/assets/js/ceb2a7a6.5d92d7d0.js +1 -0
  188. solace_agent_mesh/assets/docs/assets/js/da0b5bad.b62f7b08.js +1 -0
  189. solace_agent_mesh/assets/docs/assets/js/db5d6442.3daf1696.js +1 -0
  190. solace_agent_mesh/assets/docs/assets/js/db924877.e98d12a1.js +1 -0
  191. solace_agent_mesh/assets/docs/assets/js/dd817ffc.c37a755e.js +1 -0
  192. solace_agent_mesh/assets/docs/assets/js/dd81e2b8.b682e9c2.js +1 -0
  193. solace_agent_mesh/assets/docs/assets/js/de5f4c65.e8241890.js +1 -0
  194. solace_agent_mesh/assets/docs/assets/js/de915948.44a432bc.js +1 -0
  195. solace_agent_mesh/assets/docs/assets/js/e04b235d.52cb25ed.js +1 -0
  196. solace_agent_mesh/assets/docs/assets/js/e1b6eeb4.b1068f9b.js +1 -0
  197. solace_agent_mesh/assets/docs/assets/js/e3d9abda.1476f570.js +1 -0
  198. solace_agent_mesh/assets/docs/assets/js/e6f9706b.4488e34c.js +1 -0
  199. solace_agent_mesh/assets/docs/assets/js/e92d0134.3bda61dd.js +1 -0
  200. solace_agent_mesh/assets/docs/assets/js/f284c35a.250993bf.js +1 -0
  201. solace_agent_mesh/assets/docs/assets/js/ff4d71f2.74710fc1.js +1 -0
  202. solace_agent_mesh/assets/docs/assets/js/main.7acf7ace.js +2 -0
  203. solace_agent_mesh/assets/docs/assets/js/main.7acf7ace.js.LICENSE.txt +81 -0
  204. solace_agent_mesh/assets/docs/assets/js/runtime~main.9e0813a2.js +1 -0
  205. solace_agent_mesh/assets/docs/docs/documentation/components/agents/index.html +154 -0
  206. solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/artifact-management/index.html +99 -0
  207. solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/audio-tools/index.html +90 -0
  208. solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/data-analysis-tools/index.html +107 -0
  209. solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/embeds/index.html +166 -0
  210. solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/index.html +101 -0
  211. solace_agent_mesh/assets/docs/docs/documentation/components/cli/index.html +219 -0
  212. solace_agent_mesh/assets/docs/docs/documentation/components/gateways/index.html +92 -0
  213. solace_agent_mesh/assets/docs/docs/documentation/components/index.html +29 -0
  214. solace_agent_mesh/assets/docs/docs/documentation/components/orchestrator/index.html +55 -0
  215. solace_agent_mesh/assets/docs/docs/documentation/components/plugins/index.html +110 -0
  216. solace_agent_mesh/assets/docs/docs/documentation/components/projects/index.html +182 -0
  217. solace_agent_mesh/assets/docs/docs/documentation/components/prompts/index.html +147 -0
  218. solace_agent_mesh/assets/docs/docs/documentation/components/proxies/index.html +345 -0
  219. solace_agent_mesh/assets/docs/docs/documentation/components/speech/index.html +52 -0
  220. solace_agent_mesh/assets/docs/docs/documentation/deploying/debugging/index.html +83 -0
  221. solace_agent_mesh/assets/docs/docs/documentation/deploying/deployment-options/index.html +84 -0
  222. solace_agent_mesh/assets/docs/docs/documentation/deploying/index.html +25 -0
  223. solace_agent_mesh/assets/docs/docs/documentation/deploying/kubernetes-deployment/index.html +47 -0
  224. solace_agent_mesh/assets/docs/docs/documentation/deploying/logging/index.html +85 -0
  225. solace_agent_mesh/assets/docs/docs/documentation/deploying/observability/index.html +60 -0
  226. solace_agent_mesh/assets/docs/docs/documentation/deploying/proxy_configuration/index.html +49 -0
  227. solace_agent_mesh/assets/docs/docs/documentation/developing/create-agents/index.html +144 -0
  228. solace_agent_mesh/assets/docs/docs/documentation/developing/create-gateways/index.html +191 -0
  229. solace_agent_mesh/assets/docs/docs/documentation/developing/creating-python-tools/index.html +128 -0
  230. solace_agent_mesh/assets/docs/docs/documentation/developing/creating-service-providers/index.html +54 -0
  231. solace_agent_mesh/assets/docs/docs/documentation/developing/evaluations/index.html +135 -0
  232. solace_agent_mesh/assets/docs/docs/documentation/developing/index.html +34 -0
  233. solace_agent_mesh/assets/docs/docs/documentation/developing/structure/index.html +55 -0
  234. solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/bedrock-agents/index.html +267 -0
  235. solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/custom-agent/index.html +142 -0
  236. solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/event-mesh-gateway/index.html +116 -0
  237. solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/mcp-integration/index.html +86 -0
  238. solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/mongodb-integration/index.html +164 -0
  239. solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/rag-integration/index.html +140 -0
  240. solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/rest-gateway/index.html +57 -0
  241. solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/slack-integration/index.html +72 -0
  242. solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/sql-database/index.html +102 -0
  243. solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/teams-integration/index.html +115 -0
  244. solace_agent_mesh/assets/docs/docs/documentation/enterprise/agent-builder/index.html +86 -0
  245. solace_agent_mesh/assets/docs/docs/documentation/enterprise/connectors/index.html +67 -0
  246. solace_agent_mesh/assets/docs/docs/documentation/enterprise/index.html +37 -0
  247. solace_agent_mesh/assets/docs/docs/documentation/enterprise/installation/index.html +86 -0
  248. solace_agent_mesh/assets/docs/docs/documentation/enterprise/openapi-tools/index.html +324 -0
  249. solace_agent_mesh/assets/docs/docs/documentation/enterprise/rbac-setup-guide/index.html +247 -0
  250. solace_agent_mesh/assets/docs/docs/documentation/enterprise/secure-user-delegated-access/index.html +440 -0
  251. solace_agent_mesh/assets/docs/docs/documentation/enterprise/single-sign-on/index.html +184 -0
  252. solace_agent_mesh/assets/docs/docs/documentation/enterprise/wheel-installation/index.html +62 -0
  253. solace_agent_mesh/assets/docs/docs/documentation/getting-started/architecture/index.html +75 -0
  254. solace_agent_mesh/assets/docs/docs/documentation/getting-started/index.html +54 -0
  255. solace_agent_mesh/assets/docs/docs/documentation/getting-started/introduction/index.html +85 -0
  256. solace_agent_mesh/assets/docs/docs/documentation/getting-started/try-agent-mesh/index.html +41 -0
  257. solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/artifact-storage/index.html +290 -0
  258. solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/configurations/index.html +78 -0
  259. solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/index.html +25 -0
  260. solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/installation/index.html +78 -0
  261. solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/large_language_models/index.html +160 -0
  262. solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/run-project/index.html +142 -0
  263. solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/session-storage/index.html +251 -0
  264. solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/user-feedback/index.html +88 -0
  265. solace_agent_mesh/assets/docs/docs/documentation/migrations/a2a-upgrade/a2a-gateway-upgrade-to-0.3.0/index.html +100 -0
  266. solace_agent_mesh/assets/docs/docs/documentation/migrations/a2a-upgrade/a2a-technical-migration-map/index.html +52 -0
  267. solace_agent_mesh/assets/docs/img/Solace_AI_Framework_With_Broker.png +0 -0
  268. solace_agent_mesh/assets/docs/img/logo.png +0 -0
  269. solace_agent_mesh/assets/docs/img/sac-flows.png +0 -0
  270. solace_agent_mesh/assets/docs/img/sac_parts_of_a_component.png +0 -0
  271. solace_agent_mesh/assets/docs/img/sam-enterprise-credentials.png +0 -0
  272. solace_agent_mesh/assets/docs/img/solace-logo-text.svg +18 -0
  273. solace_agent_mesh/assets/docs/img/solace-logo.png +0 -0
  274. solace_agent_mesh/assets/docs/lunr-index-1765810064709.json +1 -0
  275. solace_agent_mesh/assets/docs/lunr-index.json +1 -0
  276. solace_agent_mesh/assets/docs/search-doc-1765810064709.json +1 -0
  277. solace_agent_mesh/assets/docs/search-doc.json +1 -0
  278. solace_agent_mesh/assets/docs/sitemap.xml +1 -0
  279. solace_agent_mesh/cli/__init__.py +1 -0
  280. solace_agent_mesh/cli/commands/__init__.py +0 -0
  281. solace_agent_mesh/cli/commands/add_cmd/__init__.py +15 -0
  282. solace_agent_mesh/cli/commands/add_cmd/add_cmd_llm.txt +250 -0
  283. solace_agent_mesh/cli/commands/add_cmd/agent_cmd.py +729 -0
  284. solace_agent_mesh/cli/commands/add_cmd/gateway_cmd.py +322 -0
  285. solace_agent_mesh/cli/commands/add_cmd/web_add_agent_step.py +102 -0
  286. solace_agent_mesh/cli/commands/add_cmd/web_add_gateway_step.py +114 -0
  287. solace_agent_mesh/cli/commands/docs_cmd.py +60 -0
  288. solace_agent_mesh/cli/commands/eval_cmd.py +46 -0
  289. solace_agent_mesh/cli/commands/init_cmd/__init__.py +439 -0
  290. solace_agent_mesh/cli/commands/init_cmd/broker_step.py +201 -0
  291. solace_agent_mesh/cli/commands/init_cmd/database_step.py +91 -0
  292. solace_agent_mesh/cli/commands/init_cmd/directory_step.py +28 -0
  293. solace_agent_mesh/cli/commands/init_cmd/env_step.py +238 -0
  294. solace_agent_mesh/cli/commands/init_cmd/init_cmd_llm.txt +365 -0
  295. solace_agent_mesh/cli/commands/init_cmd/orchestrator_step.py +464 -0
  296. solace_agent_mesh/cli/commands/init_cmd/project_files_step.py +38 -0
  297. solace_agent_mesh/cli/commands/init_cmd/web_init_step.py +119 -0
  298. solace_agent_mesh/cli/commands/init_cmd/webui_gateway_step.py +215 -0
  299. solace_agent_mesh/cli/commands/plugin_cmd/__init__.py +20 -0
  300. solace_agent_mesh/cli/commands/plugin_cmd/add_cmd.py +137 -0
  301. solace_agent_mesh/cli/commands/plugin_cmd/build_cmd.py +86 -0
  302. solace_agent_mesh/cli/commands/plugin_cmd/catalog_cmd.py +144 -0
  303. solace_agent_mesh/cli/commands/plugin_cmd/create_cmd.py +306 -0
  304. solace_agent_mesh/cli/commands/plugin_cmd/install_cmd.py +283 -0
  305. solace_agent_mesh/cli/commands/plugin_cmd/official_registry.py +175 -0
  306. solace_agent_mesh/cli/commands/plugin_cmd/plugin_cmd_llm.txt +305 -0
  307. solace_agent_mesh/cli/commands/run_cmd.py +215 -0
  308. solace_agent_mesh/cli/main.py +52 -0
  309. solace_agent_mesh/cli/utils.py +262 -0
  310. solace_agent_mesh/client/webui/frontend/static/assets/authCallback-Dj3JtK42.js +1 -0
  311. solace_agent_mesh/client/webui/frontend/static/assets/client-ZKk9kEJ5.js +25 -0
  312. solace_agent_mesh/client/webui/frontend/static/assets/favicon-BLgzUch9.ico +0 -0
  313. solace_agent_mesh/client/webui/frontend/static/assets/main-BcUaNZ-Q.css +1 -0
  314. solace_agent_mesh/client/webui/frontend/static/assets/main-vjch4RYc.js +435 -0
  315. solace_agent_mesh/client/webui/frontend/static/assets/vendor-BNV4kZN0.js +535 -0
  316. solace_agent_mesh/client/webui/frontend/static/auth-callback.html +15 -0
  317. solace_agent_mesh/client/webui/frontend/static/index.html +16 -0
  318. solace_agent_mesh/client/webui/frontend/static/mockServiceWorker.js +336 -0
  319. solace_agent_mesh/client/webui/frontend/static/ui-version.json +6 -0
  320. solace_agent_mesh/common/__init__.py +1 -0
  321. solace_agent_mesh/common/a2a/__init__.py +241 -0
  322. solace_agent_mesh/common/a2a/a2a_llm.txt +175 -0
  323. solace_agent_mesh/common/a2a/a2a_llm_detail.txt +193 -0
  324. solace_agent_mesh/common/a2a/artifact.py +368 -0
  325. solace_agent_mesh/common/a2a/events.py +213 -0
  326. solace_agent_mesh/common/a2a/message.py +375 -0
  327. solace_agent_mesh/common/a2a/protocol.py +689 -0
  328. solace_agent_mesh/common/a2a/task.py +127 -0
  329. solace_agent_mesh/common/a2a/translation.py +655 -0
  330. solace_agent_mesh/common/a2a/types.py +55 -0
  331. solace_agent_mesh/common/a2a_spec/a2a.json +2576 -0
  332. solace_agent_mesh/common/a2a_spec/a2a_spec_llm.txt +445 -0
  333. solace_agent_mesh/common/a2a_spec/a2a_spec_llm_detail.txt +736 -0
  334. solace_agent_mesh/common/a2a_spec/schemas/agent_progress_update.json +18 -0
  335. solace_agent_mesh/common/a2a_spec/schemas/artifact_creation_progress.json +48 -0
  336. solace_agent_mesh/common/a2a_spec/schemas/feedback_event.json +51 -0
  337. solace_agent_mesh/common/a2a_spec/schemas/llm_invocation.json +41 -0
  338. solace_agent_mesh/common/a2a_spec/schemas/schemas_llm.txt +330 -0
  339. solace_agent_mesh/common/a2a_spec/schemas/tool_invocation_start.json +26 -0
  340. solace_agent_mesh/common/a2a_spec/schemas/tool_result.json +48 -0
  341. solace_agent_mesh/common/agent_registry.py +122 -0
  342. solace_agent_mesh/common/common_llm.txt +230 -0
  343. solace_agent_mesh/common/common_llm_detail.txt +2562 -0
  344. solace_agent_mesh/common/constants.py +6 -0
  345. solace_agent_mesh/common/data_parts.py +150 -0
  346. solace_agent_mesh/common/exceptions.py +49 -0
  347. solace_agent_mesh/common/middleware/__init__.py +12 -0
  348. solace_agent_mesh/common/middleware/config_resolver.py +132 -0
  349. solace_agent_mesh/common/middleware/middleware_llm.txt +174 -0
  350. solace_agent_mesh/common/middleware/middleware_llm_detail.txt +185 -0
  351. solace_agent_mesh/common/middleware/registry.py +127 -0
  352. solace_agent_mesh/common/oauth/__init__.py +17 -0
  353. solace_agent_mesh/common/oauth/oauth_client.py +408 -0
  354. solace_agent_mesh/common/oauth/utils.py +50 -0
  355. solace_agent_mesh/common/sac/__init__.py +0 -0
  356. solace_agent_mesh/common/sac/sac_llm.txt +71 -0
  357. solace_agent_mesh/common/sac/sac_llm_detail.txt +82 -0
  358. solace_agent_mesh/common/sac/sam_component_base.py +730 -0
  359. solace_agent_mesh/common/sam_events/__init__.py +9 -0
  360. solace_agent_mesh/common/sam_events/event_service.py +208 -0
  361. solace_agent_mesh/common/sam_events/sam_events_llm.txt +104 -0
  362. solace_agent_mesh/common/sam_events/sam_events_llm_detail.txt +115 -0
  363. solace_agent_mesh/common/services/__init__.py +4 -0
  364. solace_agent_mesh/common/services/employee_service.py +164 -0
  365. solace_agent_mesh/common/services/identity_service.py +134 -0
  366. solace_agent_mesh/common/services/providers/__init__.py +4 -0
  367. solace_agent_mesh/common/services/providers/local_file_identity_service.py +151 -0
  368. solace_agent_mesh/common/services/providers/providers_llm.txt +81 -0
  369. solace_agent_mesh/common/services/services_llm.txt +368 -0
  370. solace_agent_mesh/common/services/services_llm_detail.txt +459 -0
  371. solace_agent_mesh/common/utils/__init__.py +7 -0
  372. solace_agent_mesh/common/utils/artifact_utils.py +31 -0
  373. solace_agent_mesh/common/utils/asyncio_macos_fix.py +88 -0
  374. solace_agent_mesh/common/utils/embeds/__init__.py +33 -0
  375. solace_agent_mesh/common/utils/embeds/constants.py +56 -0
  376. solace_agent_mesh/common/utils/embeds/converter.py +447 -0
  377. solace_agent_mesh/common/utils/embeds/embeds_llm.txt +220 -0
  378. solace_agent_mesh/common/utils/embeds/evaluators.py +395 -0
  379. solace_agent_mesh/common/utils/embeds/modifiers.py +793 -0
  380. solace_agent_mesh/common/utils/embeds/resolver.py +967 -0
  381. solace_agent_mesh/common/utils/embeds/types.py +23 -0
  382. solace_agent_mesh/common/utils/in_memory_cache.py +108 -0
  383. solace_agent_mesh/common/utils/initializer.py +52 -0
  384. solace_agent_mesh/common/utils/log_formatters.py +64 -0
  385. solace_agent_mesh/common/utils/message_utils.py +80 -0
  386. solace_agent_mesh/common/utils/mime_helpers.py +172 -0
  387. solace_agent_mesh/common/utils/push_notification_auth.py +135 -0
  388. solace_agent_mesh/common/utils/pydantic_utils.py +159 -0
  389. solace_agent_mesh/common/utils/rbac_utils.py +69 -0
  390. solace_agent_mesh/common/utils/templates/__init__.py +8 -0
  391. solace_agent_mesh/common/utils/templates/liquid_renderer.py +210 -0
  392. solace_agent_mesh/common/utils/templates/template_resolver.py +161 -0
  393. solace_agent_mesh/common/utils/type_utils.py +28 -0
  394. solace_agent_mesh/common/utils/utils_llm.txt +335 -0
  395. solace_agent_mesh/common/utils/utils_llm_detail.txt +572 -0
  396. solace_agent_mesh/config_portal/__init__.py +0 -0
  397. solace_agent_mesh/config_portal/backend/__init__.py +0 -0
  398. solace_agent_mesh/config_portal/backend/common.py +77 -0
  399. solace_agent_mesh/config_portal/backend/plugin_catalog/__init__.py +0 -0
  400. solace_agent_mesh/config_portal/backend/plugin_catalog/constants.py +24 -0
  401. solace_agent_mesh/config_portal/backend/plugin_catalog/models.py +49 -0
  402. solace_agent_mesh/config_portal/backend/plugin_catalog/registry_manager.py +166 -0
  403. solace_agent_mesh/config_portal/backend/plugin_catalog/scraper.py +521 -0
  404. solace_agent_mesh/config_portal/backend/plugin_catalog_server.py +217 -0
  405. solace_agent_mesh/config_portal/backend/server.py +644 -0
  406. solace_agent_mesh/config_portal/frontend/static/client/Solace_community_logo.png +0 -0
  407. solace_agent_mesh/config_portal/frontend/static/client/assets/_index-DiOiAjzL.js +103 -0
  408. solace_agent_mesh/config_portal/frontend/static/client/assets/components-Rk0n-9cK.js +140 -0
  409. solace_agent_mesh/config_portal/frontend/static/client/assets/entry.client-mvZjNKiz.js +19 -0
  410. solace_agent_mesh/config_portal/frontend/static/client/assets/index-DzNKzXrc.js +68 -0
  411. solace_agent_mesh/config_portal/frontend/static/client/assets/manifest-ba77705e.js +1 -0
  412. solace_agent_mesh/config_portal/frontend/static/client/assets/root-B17tZKK7.css +1 -0
  413. solace_agent_mesh/config_portal/frontend/static/client/assets/root-V2BeTIUc.js +10 -0
  414. solace_agent_mesh/config_portal/frontend/static/client/favicon.ico +0 -0
  415. solace_agent_mesh/config_portal/frontend/static/client/index.html +7 -0
  416. solace_agent_mesh/core_a2a/__init__.py +1 -0
  417. solace_agent_mesh/core_a2a/core_a2a_llm.txt +90 -0
  418. solace_agent_mesh/core_a2a/core_a2a_llm_detail.txt +101 -0
  419. solace_agent_mesh/core_a2a/service.py +307 -0
  420. solace_agent_mesh/evaluation/__init__.py +0 -0
  421. solace_agent_mesh/evaluation/evaluator.py +691 -0
  422. solace_agent_mesh/evaluation/message_organizer.py +553 -0
  423. solace_agent_mesh/evaluation/report/benchmark_info.html +35 -0
  424. solace_agent_mesh/evaluation/report/chart_section.html +141 -0
  425. solace_agent_mesh/evaluation/report/detailed_breakdown.html +28 -0
  426. solace_agent_mesh/evaluation/report/modal.html +59 -0
  427. solace_agent_mesh/evaluation/report/modal_chart_functions.js +411 -0
  428. solace_agent_mesh/evaluation/report/modal_script.js +296 -0
  429. solace_agent_mesh/evaluation/report/modal_styles.css +340 -0
  430. solace_agent_mesh/evaluation/report/performance_metrics_styles.css +93 -0
  431. solace_agent_mesh/evaluation/report/templates/footer.html +2 -0
  432. solace_agent_mesh/evaluation/report/templates/header.html +340 -0
  433. solace_agent_mesh/evaluation/report_data_processor.py +970 -0
  434. solace_agent_mesh/evaluation/report_generator.py +607 -0
  435. solace_agent_mesh/evaluation/run.py +954 -0
  436. solace_agent_mesh/evaluation/shared/__init__.py +92 -0
  437. solace_agent_mesh/evaluation/shared/constants.py +47 -0
  438. solace_agent_mesh/evaluation/shared/exceptions.py +50 -0
  439. solace_agent_mesh/evaluation/shared/helpers.py +35 -0
  440. solace_agent_mesh/evaluation/shared/test_case_loader.py +167 -0
  441. solace_agent_mesh/evaluation/shared/test_suite_loader.py +280 -0
  442. solace_agent_mesh/evaluation/subscriber.py +776 -0
  443. solace_agent_mesh/evaluation/summary_builder.py +880 -0
  444. solace_agent_mesh/gateway/__init__.py +0 -0
  445. solace_agent_mesh/gateway/adapter/__init__.py +1 -0
  446. solace_agent_mesh/gateway/adapter/base.py +143 -0
  447. solace_agent_mesh/gateway/adapter/types.py +221 -0
  448. solace_agent_mesh/gateway/base/__init__.py +1 -0
  449. solace_agent_mesh/gateway/base/app.py +345 -0
  450. solace_agent_mesh/gateway/base/base_llm.txt +226 -0
  451. solace_agent_mesh/gateway/base/base_llm_detail.txt +235 -0
  452. solace_agent_mesh/gateway/base/component.py +2030 -0
  453. solace_agent_mesh/gateway/base/task_context.py +75 -0
  454. solace_agent_mesh/gateway/gateway_llm.txt +369 -0
  455. solace_agent_mesh/gateway/gateway_llm_detail.txt +3885 -0
  456. solace_agent_mesh/gateway/generic/__init__.py +1 -0
  457. solace_agent_mesh/gateway/generic/app.py +50 -0
  458. solace_agent_mesh/gateway/generic/component.py +727 -0
  459. solace_agent_mesh/gateway/http_sse/__init__.py +0 -0
  460. solace_agent_mesh/gateway/http_sse/alembic/alembic_llm.txt +345 -0
  461. solace_agent_mesh/gateway/http_sse/alembic/env.py +87 -0
  462. solace_agent_mesh/gateway/http_sse/alembic/script.py.mako +28 -0
  463. solace_agent_mesh/gateway/http_sse/alembic/versions/20250910_d5b3f8f2e9a0_create_initial_database.py +58 -0
  464. solace_agent_mesh/gateway/http_sse/alembic/versions/20250911_b1c2d3e4f5g6_add_database_indexes.py +83 -0
  465. solace_agent_mesh/gateway/http_sse/alembic/versions/20250916_f6e7d8c9b0a1_convert_timestamps_to_epoch_and_align_columns.py +412 -0
  466. solace_agent_mesh/gateway/http_sse/alembic/versions/20251006_98882922fa59_add_tasks_events_feedback_chat_tasks.py +190 -0
  467. solace_agent_mesh/gateway/http_sse/alembic/versions/20251015_add_session_performance_indexes.py +70 -0
  468. solace_agent_mesh/gateway/http_sse/alembic/versions/20251023_add_project_users_table.py +72 -0
  469. solace_agent_mesh/gateway/http_sse/alembic/versions/20251023_add_soft_delete_and_search.py +109 -0
  470. solace_agent_mesh/gateway/http_sse/alembic/versions/20251024_add_default_agent_to_projects.py +26 -0
  471. solace_agent_mesh/gateway/http_sse/alembic/versions/20251024_add_projects_table.py +135 -0
  472. solace_agent_mesh/gateway/http_sse/alembic/versions/20251108_create_prompt_tables_with_sharing.py +154 -0
  473. solace_agent_mesh/gateway/http_sse/alembic/versions/20251115_add_parent_task_id.py +32 -0
  474. solace_agent_mesh/gateway/http_sse/alembic/versions/20251126_add_background_task_fields.py +47 -0
  475. solace_agent_mesh/gateway/http_sse/alembic/versions/20251202_add_versioned_fields_to_prompts.py +52 -0
  476. solace_agent_mesh/gateway/http_sse/alembic/versions/versions_llm.txt +161 -0
  477. solace_agent_mesh/gateway/http_sse/alembic.ini +109 -0
  478. solace_agent_mesh/gateway/http_sse/app.py +351 -0
  479. solace_agent_mesh/gateway/http_sse/component.py +2360 -0
  480. solace_agent_mesh/gateway/http_sse/components/__init__.py +7 -0
  481. solace_agent_mesh/gateway/http_sse/components/components_llm.txt +105 -0
  482. solace_agent_mesh/gateway/http_sse/components/task_logger_forwarder.py +109 -0
  483. solace_agent_mesh/gateway/http_sse/components/visualization_forwarder_component.py +110 -0
  484. solace_agent_mesh/gateway/http_sse/dependencies.py +653 -0
  485. solace_agent_mesh/gateway/http_sse/http_sse_llm.txt +299 -0
  486. solace_agent_mesh/gateway/http_sse/http_sse_llm_detail.txt +3278 -0
  487. solace_agent_mesh/gateway/http_sse/main.py +789 -0
  488. solace_agent_mesh/gateway/http_sse/repository/__init__.py +46 -0
  489. solace_agent_mesh/gateway/http_sse/repository/chat_task_repository.py +102 -0
  490. solace_agent_mesh/gateway/http_sse/repository/entities/__init__.py +11 -0
  491. solace_agent_mesh/gateway/http_sse/repository/entities/chat_task.py +75 -0
  492. solace_agent_mesh/gateway/http_sse/repository/entities/entities_llm.txt +221 -0
  493. solace_agent_mesh/gateway/http_sse/repository/entities/feedback.py +20 -0
  494. solace_agent_mesh/gateway/http_sse/repository/entities/project.py +81 -0
  495. solace_agent_mesh/gateway/http_sse/repository/entities/project_user.py +47 -0
  496. solace_agent_mesh/gateway/http_sse/repository/entities/session.py +66 -0
  497. solace_agent_mesh/gateway/http_sse/repository/entities/session_history.py +0 -0
  498. solace_agent_mesh/gateway/http_sse/repository/entities/task.py +32 -0
  499. solace_agent_mesh/gateway/http_sse/repository/entities/task_event.py +21 -0
  500. solace_agent_mesh/gateway/http_sse/repository/feedback_repository.py +125 -0
  501. solace_agent_mesh/gateway/http_sse/repository/interfaces.py +239 -0
  502. solace_agent_mesh/gateway/http_sse/repository/models/__init__.py +34 -0
  503. solace_agent_mesh/gateway/http_sse/repository/models/base.py +7 -0
  504. solace_agent_mesh/gateway/http_sse/repository/models/chat_task_model.py +31 -0
  505. solace_agent_mesh/gateway/http_sse/repository/models/feedback_model.py +21 -0
  506. solace_agent_mesh/gateway/http_sse/repository/models/models_llm.txt +257 -0
  507. solace_agent_mesh/gateway/http_sse/repository/models/project_model.py +51 -0
  508. solace_agent_mesh/gateway/http_sse/repository/models/project_user_model.py +75 -0
  509. solace_agent_mesh/gateway/http_sse/repository/models/prompt_model.py +159 -0
  510. solace_agent_mesh/gateway/http_sse/repository/models/session_model.py +53 -0
  511. solace_agent_mesh/gateway/http_sse/repository/models/task_event_model.py +25 -0
  512. solace_agent_mesh/gateway/http_sse/repository/models/task_model.py +39 -0
  513. solace_agent_mesh/gateway/http_sse/repository/project_repository.py +172 -0
  514. solace_agent_mesh/gateway/http_sse/repository/project_user_repository.py +186 -0
  515. solace_agent_mesh/gateway/http_sse/repository/repository_llm.txt +308 -0
  516. solace_agent_mesh/gateway/http_sse/repository/session_repository.py +268 -0
  517. solace_agent_mesh/gateway/http_sse/repository/task_repository.py +248 -0
  518. solace_agent_mesh/gateway/http_sse/routers/__init__.py +4 -0
  519. solace_agent_mesh/gateway/http_sse/routers/agent_cards.py +74 -0
  520. solace_agent_mesh/gateway/http_sse/routers/artifacts.py +1137 -0
  521. solace_agent_mesh/gateway/http_sse/routers/auth.py +311 -0
  522. solace_agent_mesh/gateway/http_sse/routers/config.py +371 -0
  523. solace_agent_mesh/gateway/http_sse/routers/dto/__init__.py +10 -0
  524. solace_agent_mesh/gateway/http_sse/routers/dto/dto_llm.txt +450 -0
  525. solace_agent_mesh/gateway/http_sse/routers/dto/project_dto.py +69 -0
  526. solace_agent_mesh/gateway/http_sse/routers/dto/prompt_dto.py +255 -0
  527. solace_agent_mesh/gateway/http_sse/routers/dto/requests/__init__.py +15 -0
  528. solace_agent_mesh/gateway/http_sse/routers/dto/requests/project_requests.py +48 -0
  529. solace_agent_mesh/gateway/http_sse/routers/dto/requests/requests_llm.txt +133 -0
  530. solace_agent_mesh/gateway/http_sse/routers/dto/requests/session_requests.py +33 -0
  531. solace_agent_mesh/gateway/http_sse/routers/dto/requests/task_requests.py +58 -0
  532. solace_agent_mesh/gateway/http_sse/routers/dto/responses/__init__.py +18 -0
  533. solace_agent_mesh/gateway/http_sse/routers/dto/responses/base_responses.py +42 -0
  534. solace_agent_mesh/gateway/http_sse/routers/dto/responses/project_responses.py +31 -0
  535. solace_agent_mesh/gateway/http_sse/routers/dto/responses/responses_llm.txt +123 -0
  536. solace_agent_mesh/gateway/http_sse/routers/dto/responses/session_responses.py +33 -0
  537. solace_agent_mesh/gateway/http_sse/routers/dto/responses/task_responses.py +30 -0
  538. solace_agent_mesh/gateway/http_sse/routers/dto/responses/version_responses.py +31 -0
  539. solace_agent_mesh/gateway/http_sse/routers/feedback.py +168 -0
  540. solace_agent_mesh/gateway/http_sse/routers/people.py +38 -0
  541. solace_agent_mesh/gateway/http_sse/routers/projects.py +767 -0
  542. solace_agent_mesh/gateway/http_sse/routers/prompts.py +1415 -0
  543. solace_agent_mesh/gateway/http_sse/routers/routers_llm.txt +312 -0
  544. solace_agent_mesh/gateway/http_sse/routers/sessions.py +634 -0
  545. solace_agent_mesh/gateway/http_sse/routers/speech.py +355 -0
  546. solace_agent_mesh/gateway/http_sse/routers/sse.py +230 -0
  547. solace_agent_mesh/gateway/http_sse/routers/tasks.py +1089 -0
  548. solace_agent_mesh/gateway/http_sse/routers/users.py +83 -0
  549. solace_agent_mesh/gateway/http_sse/routers/version.py +343 -0
  550. solace_agent_mesh/gateway/http_sse/routers/visualization.py +1220 -0
  551. solace_agent_mesh/gateway/http_sse/services/__init__.py +4 -0
  552. solace_agent_mesh/gateway/http_sse/services/agent_card_service.py +71 -0
  553. solace_agent_mesh/gateway/http_sse/services/audio_service.py +1227 -0
  554. solace_agent_mesh/gateway/http_sse/services/background_task_monitor.py +186 -0
  555. solace_agent_mesh/gateway/http_sse/services/data_retention_service.py +273 -0
  556. solace_agent_mesh/gateway/http_sse/services/feedback_service.py +250 -0
  557. solace_agent_mesh/gateway/http_sse/services/people_service.py +78 -0
  558. solace_agent_mesh/gateway/http_sse/services/project_service.py +930 -0
  559. solace_agent_mesh/gateway/http_sse/services/prompt_builder_assistant.py +303 -0
  560. solace_agent_mesh/gateway/http_sse/services/services_llm.txt +303 -0
  561. solace_agent_mesh/gateway/http_sse/services/session_service.py +702 -0
  562. solace_agent_mesh/gateway/http_sse/services/task_logger_service.py +593 -0
  563. solace_agent_mesh/gateway/http_sse/services/task_service.py +119 -0
  564. solace_agent_mesh/gateway/http_sse/session_manager.py +219 -0
  565. solace_agent_mesh/gateway/http_sse/shared/__init__.py +146 -0
  566. solace_agent_mesh/gateway/http_sse/shared/auth_utils.py +29 -0
  567. solace_agent_mesh/gateway/http_sse/shared/base_repository.py +252 -0
  568. solace_agent_mesh/gateway/http_sse/shared/database_exceptions.py +274 -0
  569. solace_agent_mesh/gateway/http_sse/shared/database_helpers.py +43 -0
  570. solace_agent_mesh/gateway/http_sse/shared/enums.py +40 -0
  571. solace_agent_mesh/gateway/http_sse/shared/error_dto.py +107 -0
  572. solace_agent_mesh/gateway/http_sse/shared/exception_handlers.py +217 -0
  573. solace_agent_mesh/gateway/http_sse/shared/exceptions.py +192 -0
  574. solace_agent_mesh/gateway/http_sse/shared/pagination.py +138 -0
  575. solace_agent_mesh/gateway/http_sse/shared/response_utils.py +134 -0
  576. solace_agent_mesh/gateway/http_sse/shared/shared_llm.txt +319 -0
  577. solace_agent_mesh/gateway/http_sse/shared/timestamp_utils.py +97 -0
  578. solace_agent_mesh/gateway/http_sse/shared/types.py +50 -0
  579. solace_agent_mesh/gateway/http_sse/shared/utils.py +22 -0
  580. solace_agent_mesh/gateway/http_sse/sse_event_buffer.py +88 -0
  581. solace_agent_mesh/gateway/http_sse/sse_manager.py +491 -0
  582. solace_agent_mesh/gateway/http_sse/utils/__init__.py +1 -0
  583. solace_agent_mesh/gateway/http_sse/utils/artifact_copy_utils.py +370 -0
  584. solace_agent_mesh/gateway/http_sse/utils/stim_utils.py +72 -0
  585. solace_agent_mesh/gateway/http_sse/utils/utils_llm.txt +47 -0
  586. solace_agent_mesh/llm.txt +228 -0
  587. solace_agent_mesh/llm_detail.txt +2835 -0
  588. solace_agent_mesh/services/__init__.py +0 -0
  589. solace_agent_mesh/services/platform/__init__.py +18 -0
  590. solace_agent_mesh/services/platform/alembic/env.py +85 -0
  591. solace_agent_mesh/services/platform/alembic/script.py.mako +28 -0
  592. solace_agent_mesh/services/platform/alembic.ini +109 -0
  593. solace_agent_mesh/services/platform/api/__init__.py +3 -0
  594. solace_agent_mesh/services/platform/api/dependencies.py +147 -0
  595. solace_agent_mesh/services/platform/api/main.py +280 -0
  596. solace_agent_mesh/services/platform/api/middleware.py +51 -0
  597. solace_agent_mesh/services/platform/api/routers/__init__.py +24 -0
  598. solace_agent_mesh/services/platform/app.py +114 -0
  599. solace_agent_mesh/services/platform/component.py +235 -0
  600. solace_agent_mesh/solace_agent_mesh_llm.txt +362 -0
  601. solace_agent_mesh/solace_agent_mesh_llm_detail.txt +8599 -0
  602. solace_agent_mesh/templates/agent_template.yaml +53 -0
  603. solace_agent_mesh/templates/eval_backend_template.yaml +54 -0
  604. solace_agent_mesh/templates/gateway_app_template.py +75 -0
  605. solace_agent_mesh/templates/gateway_component_template.py +484 -0
  606. solace_agent_mesh/templates/gateway_config_template.yaml +38 -0
  607. solace_agent_mesh/templates/logging_config_template.yaml +48 -0
  608. solace_agent_mesh/templates/main_orchestrator.yaml +66 -0
  609. solace_agent_mesh/templates/plugin_agent_config_template.yaml +122 -0
  610. solace_agent_mesh/templates/plugin_custom_config_template.yaml +27 -0
  611. solace_agent_mesh/templates/plugin_custom_template.py +10 -0
  612. solace_agent_mesh/templates/plugin_gateway_config_template.yaml +60 -0
  613. solace_agent_mesh/templates/plugin_pyproject_template.toml +32 -0
  614. solace_agent_mesh/templates/plugin_readme_template.md +12 -0
  615. solace_agent_mesh/templates/plugin_tool_config_template.yaml +109 -0
  616. solace_agent_mesh/templates/plugin_tools_template.py +224 -0
  617. solace_agent_mesh/templates/shared_config.yaml +112 -0
  618. solace_agent_mesh/templates/templates_llm.txt +147 -0
  619. solace_agent_mesh/templates/webui.yaml +177 -0
  620. solace_agent_mesh-1.11.2.dist-info/METADATA +504 -0
  621. solace_agent_mesh-1.11.2.dist-info/RECORD +624 -0
  622. solace_agent_mesh-1.11.2.dist-info/WHEEL +4 -0
  623. solace_agent_mesh-1.11.2.dist-info/entry_points.txt +3 -0
  624. solace_agent_mesh-1.11.2.dist-info/licenses/LICENSE +201 -0
@@ -0,0 +1,140 @@
1
+ var ze=Object.defineProperty;var Be=(e,t,r)=>t in e?ze(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var j=(e,t,r)=>Be(e,typeof t!="symbol"?t+"":t,r);import{p as Ye,A as Xe,D as Ve,i as pe,g as We,h as ve,E as U,r as c,k as Ge,m as we,l as Ke,n as Ze,o as Qe,q as qe,u as ge,s as Ee,N as et,L as tt,F as rt}from"./index-DzNKzXrc.js";var nt=-1,at=-2,it=-3,ot=-4,lt=-5,st=-6,ut=-7,ct="B",dt="D",Se="E",ft="M",ht="N",Re="P",mt="R",yt="S",pt="Y",vt="U",wt="Z",xe=class{constructor(){j(this,"promise");j(this,"resolve");j(this,"reject");this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}};function gt(){const e=new TextDecoder;let t="";return new TransformStream({transform(r,n){const a=e.decode(r,{stream:!0}),i=(t+a).split(`
2
+ `);t=i.pop()||"";for(const s of i)n.enqueue(s)},flush(r){t&&r.enqueue(t)}})}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var V=typeof window<"u"?window:typeof globalThis<"u"?globalThis:void 0;function K(e){const{hydrated:t,values:r}=this;if(typeof e=="number")return ue.call(this,e);if(!Array.isArray(e)||!e.length)throw new SyntaxError;const n=r.length;for(const a of e)r.push(a);return t.length=r.length,ue.call(this,n)}function ue(e){const{hydrated:t,values:r,deferred:n,plugins:a}=this;let i;const s=[[e,o=>{i=o}]];let l=[];for(;s.length>0;){const[o,h]=s.pop();switch(o){case ut:h(void 0);continue;case lt:h(null);continue;case at:h(NaN);continue;case st:h(1/0);continue;case it:h(-1/0);continue;case ot:h(-0);continue}if(t[o]){h(t[o]);continue}const m=r[o];if(!m||typeof m!="object"){t[o]=m,h(m);continue}if(Array.isArray(m))if(typeof m[0]=="string"){const[u,d,y]=m;switch(u){case dt:h(t[o]=new Date(d));continue;case vt:h(t[o]=new URL(d));continue;case ct:h(t[o]=BigInt(d));continue;case mt:h(t[o]=new RegExp(d,y));continue;case pt:h(t[o]=Symbol.for(d));continue;case yt:const f=new Set;t[o]=f;for(let w=1;w<m.length;w++)s.push([m[w],S=>{f.add(S)}]);h(f);continue;case ft:const p=new Map;t[o]=p;for(let w=1;w<m.length;w+=2){const S=[];s.push([m[w+1],v=>{S[1]=v}]),s.push([m[w],v=>{S[0]=v}]),l.push(()=>{p.set(S[0],S[1])})}h(p);continue;case ht:const g=Object.create(null);t[o]=g;for(const w of Object.keys(d).reverse()){const S=[];s.push([d[w],v=>{S[1]=v}]),s.push([Number(w.slice(1)),v=>{S[0]=v}]),l.push(()=>{g[S[0]]=S[1]})}h(g);continue;case Re:if(t[d])h(t[o]=t[d]);else{const w=new xe;n[d]=w,h(t[o]=w.promise)}continue;case Se:const[,E,b]=m;let x=b&&V&&V[b]?new V[b](E):new Error(E);t[o]=x,h(x);continue;case wt:h(t[o]=t[d]);continue;default:if(Array.isArray(a)){const w=[],S=m.slice(1);for(let v=0;v<S.length;v++){const R=S[v];s.push([R,_=>{w[v]=_}])}l.push(()=>{for(const v of a){const R=v(m[0],...w);if(R){h(t[o]=R.value);return}}throw new SyntaxError});continue}throw new SyntaxError}}else{const u=[];t[o]=u;for(let d=0;d<m.length;d++){const y=m[d];y!==nt&&s.push([y,f=>{u[d]=f}])}h(u);continue}else{const u={};t[o]=u;for(const d of Object.keys(m).reverse()){const y=[];s.push([m[d],f=>{y[1]=f}]),s.push([Number(d.slice(1)),f=>{y[0]=f}]),l.push(()=>{u[y[0]]=y[1]})}h(u);continue}}for(;l.length>0;)l.pop()();return i}async function Et(e,t){const{plugins:r}=t??{},n=new xe,a=e.pipeThrough(gt()).getReader(),i={values:[],hydrated:[],deferred:{},plugins:r},s=await St.call(i,a);let l=n.promise;return s.done?n.resolve():l=Rt.call(i,a).then(n.resolve).catch(o=>{for(const h of Object.values(i.deferred))h.reject(o);n.reject(o)}),{done:l.then(()=>a.closed),value:s.value}}async function St(e){const t=await e.read();if(!t.value)throw new SyntaxError;let r;try{r=JSON.parse(t.value)}catch{throw new SyntaxError}return{done:t.done,value:K.call(this,r)}}async function Rt(e){let t=await e.read();for(;!t.done;){if(!t.value)continue;const r=t.value;switch(r[0]){case Re:{const n=r.indexOf(":"),a=Number(r.slice(1,n)),i=this.deferred[a];if(!i)throw new Error(`Deferred ID ${a} not found in stream`);const s=r.slice(n+1);let l;try{l=JSON.parse(s)}catch{throw new SyntaxError}const o=K.call(this,l);i.resolve(o);break}case Se:{const n=r.indexOf(":"),a=Number(r.slice(1,n)),i=this.deferred[a];if(!i)throw new Error(`Deferred ID ${a} not found in stream`);const s=r.slice(n+1);let l;try{l=JSON.parse(s)}catch{throw new SyntaxError}const o=K.call(this,l);i.reject(o);break}default:throw new SyntaxError}t=await e.read()}}/**
3
+ * @remix-run/server-runtime v2.16.2
4
+ *
5
+ * Copyright (c) Remix Software Inc.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE.md file in the root directory of this source tree.
9
+ *
10
+ * @license MIT
11
+ */const be=Symbol("SingleFetchRedirect");/**
12
+ * @remix-run/react v2.16.2
13
+ *
14
+ * Copyright (c) Remix Software Inc.
15
+ *
16
+ * This source code is licensed under the MIT license found in the
17
+ * LICENSE.md file in the root directory of this source tree.
18
+ *
19
+ * @license MIT
20
+ */function L(){return L=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},L.apply(this,arguments)}/**
21
+ * @remix-run/react v2.16.2
22
+ *
23
+ * Copyright (c) Remix Software Inc.
24
+ *
25
+ * This source code is licensed under the MIT license found in the
26
+ * LICENSE.md file in the root directory of this source tree.
27
+ *
28
+ * @license MIT
29
+ */function P(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}/**
30
+ * @remix-run/react v2.16.2
31
+ *
32
+ * Copyright (c) Remix Software Inc.
33
+ *
34
+ * This source code is licensed under the MIT license found in the
35
+ * LICENSE.md file in the root directory of this source tree.
36
+ *
37
+ * @license MIT
38
+ */async function _e(e,t){if(e.id in t)return t[e.id];try{let r=await import(e.module);return t[e.id]=r,r}catch(r){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(r),window.__remixContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}/**
39
+ * @remix-run/react v2.16.2
40
+ *
41
+ * Copyright (c) Remix Software Inc.
42
+ *
43
+ * This source code is licensed under the MIT license found in the
44
+ * LICENSE.md file in the root directory of this source tree.
45
+ *
46
+ * @license MIT
47
+ */function xt(e,t,r){let n=e.map(i=>{var s;let l=t[i.route.id],o=r.routes[i.route.id];return[o.css?o.css.map(h=>({rel:"stylesheet",href:h})):[],(l==null||(s=l.links)===null||s===void 0?void 0:s.call(l))||[]]}).flat(2),a=Pt(e,r);return Oe(n,a)}async function Le(e,t){var r,n;if(!e.css&&!t.links||!Nt())return;let a=[((r=e.css)===null||r===void 0?void 0:r.map(l=>({rel:"stylesheet",href:l})))??[],((n=t.links)===null||n===void 0?void 0:n.call(t))??[]].flat(1);if(a.length===0)return;let i=[];for(let l of a)!q(l)&&l.rel==="stylesheet"&&i.push({...l,rel:"preload",as:"style"});let s=i.filter(l=>(!l.media||window.matchMedia(l.media).matches)&&!document.querySelector(`link[rel="stylesheet"][href="${l.href}"]`));await Promise.all(s.map(bt))}async function bt(e){return new Promise(t=>{let r=document.createElement("link");Object.assign(r,e);function n(){document.head.contains(r)&&document.head.removeChild(r)}r.onload=()=>{n(),t()},r.onerror=()=>{n(),t()},document.head.appendChild(r)})}function q(e){return e!=null&&typeof e.page=="string"}function _t(e){return e==null?!1:e.href==null?e.rel==="preload"&&typeof e.imageSrcSet=="string"&&typeof e.imageSizes=="string":typeof e.rel=="string"&&typeof e.href=="string"}async function Lt(e,t,r){let n=await Promise.all(e.map(async a=>{let i=await _e(t.routes[a.route.id],r);return i.links?i.links():[]}));return Oe(n.flat(1).filter(_t).filter(a=>a.rel==="stylesheet"||a.rel==="preload").map(a=>a.rel==="stylesheet"?{...a,rel:"prefetch",as:"style"}:{...a,rel:"prefetch"}))}function ce(e,t,r,n,a,i,s){let l=ke(e),o=(u,d)=>r[d]?u.route.id!==r[d].route.id:!0,h=(u,d)=>{var y;return r[d].pathname!==u.pathname||((y=r[d].route.path)===null||y===void 0?void 0:y.endsWith("*"))&&r[d].params["*"]!==u.params["*"]};return s==="data"&&(i.v3_singleFetch||a.search!==l.search)?t.filter((u,d)=>{if(!n.routes[u.route.id].hasLoader)return!1;if(o(u,d)||h(u,d))return!0;let f=i.v3_singleFetch||a.search!==l.search;if(u.route.shouldRevalidate){var p;let g=u.route.shouldRevalidate({currentUrl:new URL(a.pathname+a.search+a.hash,window.origin),currentParams:((p=r[0])===null||p===void 0?void 0:p.params)||{},nextUrl:new URL(e,window.origin),nextParams:u.params,defaultShouldRevalidate:f});if(typeof g=="boolean")return g}return f}):t.filter((u,d)=>{let y=n.routes[u.route.id];return(s==="assets"||y.hasLoader)&&(o(u,d)||h(u,d))})}function Ot(e,t,r){let n=ke(e);return ee(t.filter(a=>r.routes[a.route.id].hasLoader&&!r.routes[a.route.id].hasClientLoader).map(a=>{let{pathname:i,search:s}=n,l=new URLSearchParams(s);return l.set("_data",a.route.id),`${i}?${l}`}))}function kt(e,t){return ee(e.map(r=>{let n=t.routes[r.route.id],a=[n.module];return n.imports&&(a=a.concat(n.imports)),a}).flat(1))}function Pt(e,t){return ee(e.map(r=>{let n=t.routes[r.route.id],a=[n.module];return n.imports&&(a=a.concat(n.imports)),a}).flat(1))}function ee(e){return[...new Set(e)]}function Dt(e){let t={},r=Object.keys(e).sort();for(let n of r)t[n]=e[n];return t}function Oe(e,t){let r=new Set,n=new Set(t);return e.reduce((a,i)=>{if(t&&!q(i)&&i.as==="script"&&i.href&&n.has(i.href))return a;let l=JSON.stringify(Dt(i));return r.has(l)||(r.add(l),a.push({key:l,link:i})),a},[])}function ke(e){let t=Ye(e);return t.search===void 0&&(t.search=""),t}let $;function Nt(){if($!==void 0)return $;let e=document.createElement("link");return $=e.relList.supports("preload"),e=null,$}/**
48
+ * @remix-run/react v2.16.2
49
+ *
50
+ * Copyright (c) Remix Software Inc.
51
+ *
52
+ * This source code is licensed under the MIT license found in the
53
+ * LICENSE.md file in the root directory of this source tree.
54
+ *
55
+ * @license MIT
56
+ */const Tt={"&":"\\u0026",">":"\\u003e","<":"\\u003c","\u2028":"\\u2028","\u2029":"\\u2029"},At=/[&><\u2028\u2029]/g;function F(e){return e.replace(At,t=>Tt[t])}function de(e){return{__html:e}}/**
57
+ * @remix-run/react v2.16.2
58
+ *
59
+ * Copyright (c) Remix Software Inc.
60
+ *
61
+ * This source code is licensed under the MIT license found in the
62
+ * LICENSE.md file in the root directory of this source tree.
63
+ *
64
+ * @license MIT
65
+ */function Ct(e){return e.headers.get("X-Remix-Catch")!=null}function jt(e){return e.headers.get("X-Remix-Error")!=null}function $t(e){return te(e)&&e.status>=400&&e.headers.get("X-Remix-Error")==null&&e.headers.get("X-Remix-Catch")==null&&e.headers.get("X-Remix-Response")==null}function Ft(e){return e.headers.get("X-Remix-Redirect")!=null}function It(e){var t;return!!((t=e.headers.get("Content-Type"))!==null&&t!==void 0&&t.match(/text\/remix-deferred/))}function te(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.headers=="object"&&typeof e.body<"u"}function Ht(e){let t=e;return t&&typeof t=="object"&&typeof t.data=="object"&&typeof t.subscribe=="function"&&typeof t.cancel=="function"&&typeof t.resolveData=="function"}async function Pe(e,t,r=0){let n=new URL(e.url);n.searchParams.set("_data",t),r>0&&await new Promise(l=>setTimeout(l,5**r*10));let a=await z(e),i=window.__remixRevalidation,s=await fetch(n.href,a).catch(l=>{if(typeof i=="number"&&i===window.__remixRevalidation&&(l==null?void 0:l.name)==="TypeError"&&r<3)return Pe(e,t,r+1);throw l});if(jt(s)){let l=await s.json(),o=new Error(l.message);return o.stack=l.stack,o}if($t(s)){let l=await s.text(),o=new Error(l);return o.stack=void 0,o}return s}async function z(e){let t={signal:e.signal};if(e.method!=="GET"){t.method=e.method;let r=e.headers.get("Content-Type");r&&/\bapplication\/json\b/.test(r)?(t.headers={"Content-Type":r},t.body=JSON.stringify(await e.json())):r&&/\btext\/plain\b/.test(r)?(t.headers={"Content-Type":r},t.body=await e.text()):r&&/\bapplication\/x-www-form-urlencoded\b/.test(r)?t.body=new URLSearchParams(await e.text()):t.body=await e.formData()}return t}const Mt="__deferred_promise:";async function Ut(e){if(!e)throw new Error("parseDeferredReadableStream requires stream argument");let t,r={};try{let n=Jt(e),i=(await n.next()).value;if(!i)throw new Error("no critical data");let s=JSON.parse(i);if(typeof s=="object"&&s!==null)for(let[l,o]of Object.entries(s))typeof o!="string"||!o.startsWith(Mt)||(t=t||{},t[l]=new Promise((h,m)=>{r[l]={resolve:u=>{h(u),delete r[l]},reject:u=>{m(u),delete r[l]}}}));return(async()=>{try{for await(let l of n){let[o,...h]=l.split(":"),m=h.join(":"),u=JSON.parse(m);if(o==="data")for(let[d,y]of Object.entries(u))r[d]&&r[d].resolve(y);else if(o==="error")for(let[d,y]of Object.entries(u)){let f=new Error(y.message);f.stack=y.stack,r[d]&&r[d].reject(f)}}for(let[l,o]of Object.entries(r))o.reject(new Xe(`Deferred ${l} will never be resolved`))}catch(l){for(let o of Object.values(r))o.reject(l)}})(),new Ve({...s,...t})}catch(n){for(let a of Object.values(r))a.reject(n);throw n}}async function*Jt(e){let t=e.getReader(),r=[],n=[],a=!1,i=new TextEncoder,s=new TextDecoder,l=async()=>{if(n.length>0)return n.shift();for(;!a&&n.length===0;){let h=await t.read();if(h.done){a=!0;break}r.push(h.value);try{let u=s.decode(fe(...r)).split(`
66
+
67
+ `);if(u.length>=2&&(n.push(...u.slice(0,-1)),r=[i.encode(u.slice(-1).join(`
68
+
69
+ `))]),n.length>0)break}catch{continue}}return n.length>0||r.length>0&&(n=s.decode(fe(...r)).split(`
70
+
71
+ `).filter(m=>m),r=[]),n.shift()},o=await l();for(;o;)yield o,o=await l()}function fe(...e){let t=new Uint8Array(e.reduce((n,a)=>n+a.length,0)),r=0;for(let n of e)t.set(n,r),r+=n.length;return t}/**
72
+ * @remix-run/react v2.16.2
73
+ *
74
+ * Copyright (c) Remix Software Inc.
75
+ *
76
+ * This source code is licensed under the MIT license found in the
77
+ * LICENSE.md file in the root directory of this source tree.
78
+ *
79
+ * @license MIT
80
+ */function wr(e,t,r){return async({request:n,matches:a,fetcherKey:i})=>n.method!=="GET"?zt(n,a):i?Yt(n,a):Bt(e,t,r(),n,a)}async function zt(e,t){let r=t.find(i=>i.shouldLoad);P(r,"No action match found");let n,a=await r.resolve(async i=>await i(async()=>{let l=B(e.url),o=await z(e),{data:h,status:m}=await re(l,o);return n=m,Z(h,r.route.id)}));return te(a.result)||pe(a.result)?{[r.route.id]:a}:{[r.route.id]:{type:a.type,result:We(a.result,n)}}}async function Bt(e,t,r,n,a){let i=new Set,s=!1,l=a.map(()=>he()),o=Promise.all(l.map(f=>f.promise)),h=he(),m=Ne(B(n.url)),u=await z(n),d={},y=Promise.all(a.map(async(f,p)=>f.resolve(async g=>{if(l[p].resolve(),!f.shouldLoad){var E;if(!r.state.initialized)return;if(f.route.id in r.state.loaderData&&e.routes[f.route.id]&&(E=t[f.route.id])!==null&&E!==void 0&&E.shouldRevalidate){e.routes[f.route.id].hasLoader&&(s=!0);return}}if(e.routes[f.route.id].hasClientLoader){e.routes[f.route.id].hasLoader&&(s=!0);try{let b=await De(g,m,u,f.route.id);d[f.route.id]={type:"data",result:b}}catch(b){d[f.route.id]={type:"error",result:b}}return}e.routes[f.route.id].hasLoader&&i.add(f.route.id);try{let b=await g(async()=>{let x=await h.promise;return Te(x,f.route.id)});d[f.route.id]={type:"data",result:b}}catch(b){d[f.route.id]={type:"error",result:b}}})));if(await o,(!r.state.initialized||i.size===0)&&!window.__remixHdrActive)h.resolve({});else try{s&&i.size>0&&m.searchParams.set("_routes",a.filter(p=>i.has(p.route.id)).map(p=>p.route.id).join(","));let f=await re(m,u);h.resolve(f.data)}catch(f){h.reject(f)}return await y,d}async function Yt(e,t){let r=t.find(a=>a.shouldLoad);P(r,"No fetcher match found");let n=await r.resolve(async a=>{let i=Ne(B(e.url)),s=await z(e);return De(a,i,s,r.route.id)});return{[r.route.id]:n}}function De(e,t,r,n){return e(async()=>{let a=new URL(t);a.searchParams.set("_routes",n);let{data:i}=await re(a,r);return Te(i,n)})}function Ne(e){let t=e.searchParams.getAll("index");e.searchParams.delete("index");let r=[];for(let n of t)n&&r.push(n);for(let n of r)e.searchParams.append("index",n);return e}function B(e){let t=typeof e=="string"?new URL(e,window.location.origin):e;return t.pathname==="/"?t.pathname="_root.data":t.pathname=`${t.pathname.replace(/\/$/,"")}.data`,t}async function re(e,t){let r=await fetch(e,t);if(new Set([100,101,204,205]).has(r.status))return!t.method||t.method==="GET"?{status:r.status,data:{}}:{status:r.status,data:{data:null}};P(r.body,"No response body to decode");try{let a=await Xt(r.body,window);return{status:r.status,data:a.value}}catch(a){throw console.error(a),new Error(`Unable to decode turbo-stream response from URL: ${e.toString()}`)}}function Xt(e,t){return Et(e,{plugins:[(r,...n)=>{if(r==="SanitizedError"){let[a,i,s]=n,l=Error;a&&a in t&&typeof t[a]=="function"&&(l=t[a]);let o=new l(i);return o.stack=s,{value:o}}if(r==="ErrorResponse"){let[a,i,s]=n;return{value:new U(i,s,a)}}if(r==="SingleFetchRedirect")return{value:{[be]:n[0]}}},(r,n)=>{if(r==="SingleFetchFallback")return{value:void 0};if(r==="SingleFetchClassInstance")return{value:n}}]})}function Te(e,t){let r=e[be];return r?Z(r,t):e[t]!==void 0?Z(e[t],t):null}function Z(e,t){if("error"in e)throw e.error;if("redirect"in e){let r={};throw e.revalidate&&(r["X-Remix-Revalidate"]="yes"),e.reload&&(r["X-Remix-Reload-Document"]="yes"),e.replace&&(r["X-Remix-Replace"]="yes"),ve(e.redirect,{status:e.status,headers:r})}else{if("data"in e)return e.data;throw new Error(`No response found for routeId "${t}"`)}}function he(){let e,t,r=new Promise((n,a)=>{e=async i=>{n(i);try{await r}catch{}},t=async i=>{a(i);try{await r}catch{}}});return{promise:r,resolve:e,reject:t}}/**
81
+ * @remix-run/react v2.16.2
82
+ *
83
+ * Copyright (c) Remix Software Inc.
84
+ *
85
+ * This source code is licensed under the MIT license found in the
86
+ * LICENSE.md file in the root directory of this source tree.
87
+ *
88
+ * @license MIT
89
+ */class gr extends c.Component{constructor(t){super(t),this.state={error:t.error||null,location:t.location}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,r){return r.location!==t.location?{error:t.error||null,location:t.location}:{error:t.error||r.error,location:r.location}}render(){return this.state.error?c.createElement(Ae,{error:this.state.error,isOutsideRemixApp:!0}):this.props.children}}function Ae({error:e,isOutsideRemixApp:t}){console.error(e);let r=c.createElement("script",{dangerouslySetInnerHTML:{__html:`
90
+ console.log(
91
+ "💿 Hey developer 👋. You can provide a way better UX than this when your app throws errors. Check out https://remix.run/guides/errors for more information."
92
+ );
93
+ `}});if(pe(e))return c.createElement(Q,{title:"Unhandled Thrown Response!"},c.createElement("h1",{style:{fontSize:"24px"}},e.status," ",e.statusText),r);let n;if(e instanceof Error)n=e;else{let a=e==null?"Unknown Error":typeof e=="object"&&"toString"in e?e.toString():JSON.stringify(e);n=new Error(a)}return c.createElement(Q,{title:"Application Error!",isOutsideRemixApp:t},c.createElement("h1",{style:{fontSize:"24px"}},"Application Error"),c.createElement("pre",{style:{padding:"2rem",background:"hsla(10, 50%, 50%, 0.1)",color:"red",overflow:"auto"}},n.stack),r)}function Q({title:e,renderScripts:t,isOutsideRemixApp:r,children:n}){var a;let{routeModules:i}=T();return(a=i.root)!==null&&a!==void 0&&a.Layout&&!r?n:c.createElement("html",{lang:"en"},c.createElement("head",null,c.createElement("meta",{charSet:"utf-8"}),c.createElement("meta",{name:"viewport",content:"width=device-width,initial-scale=1,viewport-fit=cover"}),c.createElement("title",null,e)),c.createElement("body",null,c.createElement("main",{style:{fontFamily:"system-ui, sans-serif",padding:"2rem"}},n,t?c.createElement(hr,null):null)))}/**
94
+ * @remix-run/react v2.16.2
95
+ *
96
+ * Copyright (c) Remix Software Inc.
97
+ *
98
+ * This source code is licensed under the MIT license found in the
99
+ * LICENSE.md file in the root directory of this source tree.
100
+ *
101
+ * @license MIT
102
+ */function Vt(){return c.createElement(Q,{title:"Loading...",renderScripts:!0},c.createElement("script",{dangerouslySetInnerHTML:{__html:`
103
+ console.log(
104
+ "💿 Hey developer 👋. You can provide a way better UX than this " +
105
+ "when your app is loading JS modules and/or running \`clientLoader\` " +
106
+ "functions. Check out https://remix.run/route/hydrate-fallback " +
107
+ "for more information."
108
+ );
109
+ `}}))}/**
110
+ * @remix-run/react v2.16.2
111
+ *
112
+ * Copyright (c) Remix Software Inc.
113
+ *
114
+ * This source code is licensed under the MIT license found in the
115
+ * LICENSE.md file in the root directory of this source tree.
116
+ *
117
+ * @license MIT
118
+ */function Ce(e){let t={};return Object.values(e).forEach(r=>{let n=r.parentId||"";t[n]||(t[n]=[]),t[n].push(r)}),t}function Wt(e,t,r){let n=je(t),a=t.HydrateFallback&&(!r||e.id==="root")?t.HydrateFallback:e.id==="root"?Vt:void 0,i=t.ErrorBoundary?t.ErrorBoundary:e.id==="root"?()=>c.createElement(Ae,{error:Ge()}):void 0;return e.id==="root"&&t.Layout?{...n?{element:c.createElement(t.Layout,null,c.createElement(n,null))}:{Component:n},...i?{errorElement:c.createElement(t.Layout,null,c.createElement(i,null))}:{ErrorBoundary:i},...a?{hydrateFallbackElement:c.createElement(t.Layout,null,c.createElement(a,null))}:{HydrateFallback:a}}:{Component:n,ErrorBoundary:i,HydrateFallback:a}}function Er(e,t,r,n,a,i){return ne(t,r,n,a,i,"",Ce(t),e)}function I(e,t,r){if(r){let s=`You cannot call ${e==="action"?"serverAction()":"serverLoader()"} in SPA Mode (routeId: "${t.id}")`;throw console.error(s),new U(400,"Bad Request",new Error(s),!0)}let a=`You are trying to call ${e==="action"?"serverAction()":"serverLoader()"} on a route that does not have a server ${e} (routeId: "${t.id}")`;if(e==="loader"&&!t.hasLoader||e==="action"&&!t.hasAction)throw console.error(a),new U(400,"Bad Request",new Error(a),!0)}function W(e,t){let r=e==="clientAction"?"a":"an",n=`Route "${t}" does not have ${r} ${e}, but you are trying to submit to it. To fix this, please add ${r} \`${e}\` function to the route`;throw console.error(n),new U(405,"Method Not Allowed",new Error(n),!0)}function ne(e,t,r,n,a,i="",s=Ce(e),l){return(s[i]||[]).map(o=>{let h=t[o.id];async function m(x,w,S){if(typeof S=="function")return await S();let v=await Zt(x,o);return w?Qt(v):v}function u(x,w,S){return o.hasLoader?m(x,w,S):Promise.resolve(null)}function d(x,w,S){if(!o.hasAction)throw W("action",o.id);return m(x,w,S)}async function y(x){let w=t[o.id],S=w?Le(o,w):Promise.resolve();try{return x()}finally{await S}}let f={id:o.id,index:o.index,path:o.path};if(h){var p,g,E;Object.assign(f,{...f,...Wt(o,h,a),handle:h.handle,shouldRevalidate:me(n,h,o.id,l)});let x=r==null||(p=r.loaderData)===null||p===void 0?void 0:p[o.id],w=r==null||(g=r.errors)===null||g===void 0?void 0:g[o.id],S=l==null&&(((E=h.clientLoader)===null||E===void 0?void 0:E.hydrate)===!0||!o.hasLoader);f.loader=async({request:v,params:R},_)=>{try{return await y(async()=>(P(h,"No `routeModule` available for critical-route loader"),h.clientLoader?h.clientLoader({request:v,params:R,async serverLoader(){if(I("loader",o,a),S){if(x!==void 0)return x;if(w!==void 0)throw w;return null}return u(v,!0,_)}}):a?null:u(v,!1,_)))}finally{S=!1}},f.loader.hydrate=er(o,h,a),f.action=({request:v,params:R},_)=>y(async()=>{if(P(h,"No `routeModule` available for critical-route action"),!h.clientAction){if(a)throw W("clientAction",o.id);return d(v,!1,_)}return h.clientAction({request:v,params:R,async serverAction(){return I("action",o,a),d(v,!0,_)}})})}else o.hasClientLoader||(f.loader=({request:x},w)=>y(()=>a?Promise.resolve(null):u(x,!1,w))),o.hasClientAction||(f.action=({request:x},w)=>y(()=>{if(a)throw W("clientAction",o.id);return d(x,!1,w)})),f.lazy=async()=>{let x=await Kt(o,t),w={...x};if(x.clientLoader){let S=x.clientLoader;w.loader=(v,R)=>S({...v,async serverLoader(){return I("loader",o,a),u(v.request,!0,R)}})}if(x.clientAction){let S=x.clientAction;w.action=(v,R)=>S({...v,async serverAction(){return I("action",o,a),d(v.request,!0,R)}})}return{...w.loader?{loader:w.loader}:{},...w.action?{action:w.action}:{},hasErrorBoundary:w.hasErrorBoundary,shouldRevalidate:me(n,w,o.id,l),handle:w.handle,Component:w.Component,ErrorBoundary:w.ErrorBoundary}};let b=ne(e,t,r,n,a,o.id,s,l);return b.length>0&&(f.children=b),f})}function me(e,t,r,n){if(n)return Gt(r,t.shouldRevalidate,n);if(e.v3_singleFetch&&t.shouldRevalidate){let a=t.shouldRevalidate;return i=>a({...i,defaultShouldRevalidate:!0})}return t.shouldRevalidate}function Gt(e,t,r){let n=!1;return a=>n?t?t(a):a.defaultShouldRevalidate:(n=!0,r.has(e))}async function Kt(e,t){let r=await _e(e,t);return await Le(e,r),{Component:je(r),ErrorBoundary:r.ErrorBoundary,clientAction:r.clientAction,clientLoader:r.clientLoader,handle:r.handle,links:r.links,meta:r.meta,shouldRevalidate:r.shouldRevalidate}}async function Zt(e,t){let r=await Pe(e,t.id);if(r instanceof Error)throw r;if(Ft(r))throw qt(r);if(Ct(r))throw r;return It(r)&&r.body?await Ut(r.body):r}function Qt(e){if(Ht(e))return e.data;if(te(e)){let t=e.headers.get("Content-Type");return t&&/\bapplication\/json\b/.test(t)?e.json():e.text()}return e}function qt(e){let t=parseInt(e.headers.get("X-Remix-Status"),10)||302,r=e.headers.get("X-Remix-Redirect"),n={},a=e.headers.get("X-Remix-Revalidate");a&&(n["X-Remix-Revalidate"]=a);let i=e.headers.get("X-Remix-Reload-Document");i&&(n["X-Remix-Reload-Document"]=i);let s=e.headers.get("X-Remix-Replace");return s&&(n["X-Remix-Replace"]=s),ve(r,{status:t,headers:n})}function je(e){if(e.default==null)return;if(!(typeof e.default=="object"&&Object.keys(e.default).length===0))return e.default}function er(e,t,r){return r&&e.id!=="root"||t.clientLoader!=null&&(t.clientLoader.hydrate===!0||e.hasLoader!==!0)}/**
119
+ * @remix-run/react v2.16.2
120
+ *
121
+ * Copyright (c) Remix Software Inc.
122
+ *
123
+ * This source code is licensed under the MIT license found in the
124
+ * LICENSE.md file in the root directory of this source tree.
125
+ *
126
+ * @license MIT
127
+ */const H=new Set,tr=1e3,J=new Set,rr=7680;function ae(e,t){return e.v3_lazyRouteDiscovery===!0&&!t}function nr(e,t){let r=new Set(t.state.matches.map(s=>s.route.id)),n=t.state.location.pathname.split("/").filter(Boolean),a=["/"];for(n.pop();n.length>0;)a.push(`/${n.join("/")}`),n.pop();a.forEach(s=>{let l=we(t.routes,s,t.basename);l&&l.forEach(o=>r.add(o.route.id))});let i=[...r].reduce((s,l)=>Object.assign(s,{[l]:e.routes[l]}),{});return{...e,routes:i}}function Sr(e,t,r,n,a){if(ae(r,n))return async({path:i,patch:s,signal:l,fetcherKey:o})=>{J.has(i)||await $e([i],o?window.location.href:i,e,t,r,n,a,s,l)}}function Rr(e,t,r,n,a){c.useEffect(()=>{var i;if(!ae(n,a)||((i=navigator.connection)===null||i===void 0?void 0:i.saveData)===!0)return;function s(u){let d=u.tagName==="FORM"?u.getAttribute("action"):u.getAttribute("href");if(!d)return;let y=new URL(d,window.location.origin);J.has(y.pathname)||H.add(y.pathname)}async function l(){let u=Array.from(H.keys()).filter(d=>J.has(d)?(H.delete(d),!1):!0);if(u.length!==0)try{await $e(u,null,t,r,n,a,e.basename,e.patchRoutes)}catch(d){console.error("Failed to fetch manifest patches",d)}}document.body.querySelectorAll("a[data-discover], form[data-discover]").forEach(u=>s(u)),l();let o=ir(l,100);function h(u){return u.nodeType===Node.ELEMENT_NODE}let m=new MutationObserver(u=>{let d=new Set;u.forEach(y=>{[y.target,...y.addedNodes].forEach(f=>{h(f)&&((f.tagName==="A"&&f.getAttribute("data-discover")||f.tagName==="FORM"&&f.getAttribute("data-discover"))&&d.add(f),f.tagName!=="A"&&f.querySelectorAll("a[data-discover], form[data-discover]").forEach(p=>d.add(p)))})}),d.forEach(y=>s(y)),o()});return m.observe(document.documentElement,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["data-discover","href","action"]}),()=>m.disconnect()},[n,a,t,r,e])}const G="remix-manifest-version";async function $e(e,t,r,n,a,i,s,l,o){let h=`${s??"/"}/__manifest`.replace(/\/+/g,"/"),m=new URL(h,window.location.origin);if(e.sort().forEach(p=>m.searchParams.append("p",p)),m.searchParams.set("version",r.version),m.toString().length>rr){H.clear();return}let u;try{let p=await fetch(m,{signal:o});if(p.ok){if(p.status===204&&p.headers.has("X-Remix-Reload-Document")){if(!t){console.warn("Detected a manifest version mismatch during eager route discovery. The next navigation/fetch to an undiscovered route will result in a new document navigation to sync up with the latest manifest.");return}if(sessionStorage.getItem(G)===r.version){console.error("Unable to discover routes due to manifest version mismatch.");return}throw sessionStorage.setItem(G,r.version),window.location.href=t,new Error("Detected manifest version mismatch, reloading...")}else if(p.status>=400)throw new Error(await p.text())}else throw new Error(`${p.status} ${p.statusText}`);sessionStorage.removeItem(G),u=await p.json()}catch(p){if(o!=null&&o.aborted)return;throw p}let d=new Set(Object.keys(r.routes)),y=Object.values(u).reduce((p,g)=>d.has(g.id)?p:Object.assign(p,{[g.id]:g}),{});Object.assign(r.routes,y),e.forEach(p=>ar(p,J));let f=new Set;Object.values(y).forEach(p=>{(!p.parentId||!y[p.parentId])&&f.add(p.parentId)}),f.forEach(p=>l(p||null,ne(y,n,null,a,i,p)))}function ar(e,t){if(t.size>=tr){let r=t.values().next().value;typeof r=="string"&&t.delete(r)}t.add(e)}function ir(e,t){let r;return(...n)=>{window.clearTimeout(r),r=window.setTimeout(()=>e(...n),t)}}function Fe(){let e=c.useContext(Ke);return P(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function Y(){let e=c.useContext(Ze);return P(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}const Ie=c.createContext(void 0);Ie.displayName="Remix";function T(){let e=c.useContext(Ie);return P(e,"You must render this element inside a <Remix> element"),e}function He(e,t){let[r,n]=c.useState(!1),[a,i]=c.useState(!1),{onFocus:s,onBlur:l,onMouseEnter:o,onMouseLeave:h,onTouchStart:m}=t,u=c.useRef(null);c.useEffect(()=>{if(e==="render"&&i(!0),e==="viewport"){let f=g=>{g.forEach(E=>{i(E.isIntersecting)})},p=new IntersectionObserver(f,{threshold:.5});return u.current&&p.observe(u.current),()=>{p.disconnect()}}},[e]);let d=()=>{e==="intent"&&n(!0)},y=()=>{e==="intent"&&(n(!1),i(!1))};return c.useEffect(()=>{if(r){let f=setTimeout(()=>{i(!0)},100);return()=>{clearTimeout(f)}}},[r]),[a,u,{onFocus:C(s,d),onBlur:C(l,y),onMouseEnter:C(o,d),onMouseLeave:C(h,y),onTouchStart:C(m,d)}]}const ie=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;function oe(e,t,r){return e==="render"&&!t&&!r?"true":void 0}let or=c.forwardRef(({to:e,prefetch:t="none",discover:r="render",...n},a)=>{let i=typeof e=="string"&&ie.test(e),s=Ee(e),[l,o,h]=He(t,n);return c.createElement(c.Fragment,null,c.createElement(et,L({},n,h,{ref:Me(a,o),to:e,"data-discover":oe(r,i,n.reloadDocument)})),l&&!i?c.createElement(se,{page:s}):null)});or.displayName="NavLink";let lr=c.forwardRef(({to:e,prefetch:t="none",discover:r="render",...n},a)=>{let i=typeof e=="string"&&ie.test(e),s=Ee(e),[l,o,h]=He(t,n);return c.createElement(c.Fragment,null,c.createElement(tt,L({},n,h,{ref:Me(a,o),to:e,"data-discover":oe(r,i,n.reloadDocument)})),l&&!i?c.createElement(se,{page:s}):null)});lr.displayName="Link";let sr=c.forwardRef(({discover:e="render",...t},r)=>{let n=typeof t.action=="string"&&ie.test(t.action);return c.createElement(rt,L({},t,{ref:r,"data-discover":oe(e,n,t.reloadDocument)}))});sr.displayName="Form";function C(e,t){return r=>{e&&e(r),r.defaultPrevented||t(r)}}function le(e,t,r){if(r&&!M)return[e[0]];if(t){let n=e.findIndex(a=>t[a.route.id]!==void 0);return e.slice(0,n+1)}return e}function xr(){let{isSpaMode:e,manifest:t,routeModules:r,criticalCss:n}=T(),{errors:a,matches:i}=Y(),s=le(i,a,e),l=c.useMemo(()=>xt(s,r,t),[s,r,t]);return c.createElement(c.Fragment,null,n?c.createElement("style",{dangerouslySetInnerHTML:{__html:n}}):null,l.map(({key:o,link:h})=>q(h)?c.createElement(se,L({key:o},h)):c.createElement("link",L({key:o},h))))}function se({page:e,...t}){let{router:r}=Fe(),n=c.useMemo(()=>we(r.routes,e,r.basename),[r.routes,e,r.basename]);return n?c.createElement(cr,L({page:e,matches:n},t)):(console.warn(`Tried to prefetch ${e} but no routes matched.`),null)}function ur(e){let{manifest:t,routeModules:r}=T(),[n,a]=c.useState([]);return c.useEffect(()=>{let i=!1;return Lt(e,t,r).then(s=>{i||a(s)}),()=>{i=!0}},[e,t,r]),n}function cr({page:e,matches:t,...r}){let n=ge(),{future:a,manifest:i,routeModules:s}=T(),{loaderData:l,matches:o}=Y(),h=c.useMemo(()=>ce(e,t,o,i,n,a,"data"),[e,t,o,i,n,a]),m=c.useMemo(()=>{if(!a.v3_singleFetch)return Ot(e,h,i);if(e===n.pathname+n.search+n.hash)return[];let f=new Set,p=!1;if(t.forEach(E=>{var b;i.routes[E.route.id].hasLoader&&(!h.some(x=>x.route.id===E.route.id)&&E.route.id in l&&(b=s[E.route.id])!==null&&b!==void 0&&b.shouldRevalidate||i.routes[E.route.id].hasClientLoader?p=!0:f.add(E.route.id))}),f.size===0)return[];let g=B(e);return p&&f.size>0&&g.searchParams.set("_routes",t.filter(E=>f.has(E.route.id)).map(E=>E.route.id).join(",")),[g.pathname+g.search]},[a.v3_singleFetch,l,n,i,h,t,e,s]),u=c.useMemo(()=>ce(e,t,o,i,n,a,"assets"),[e,t,o,i,n,a]),d=c.useMemo(()=>kt(u,i),[u,i]),y=ur(u);return c.createElement(c.Fragment,null,m.map(f=>c.createElement("link",L({key:f,rel:"prefetch",as:"fetch",href:f},r))),d.map(f=>c.createElement("link",L({key:f,rel:"modulepreload",href:f},r))),y.map(({key:f,link:p})=>c.createElement("link",L({key:f},p))))}function br(){let{isSpaMode:e,routeModules:t}=T(),{errors:r,matches:n,loaderData:a}=Y(),i=ge(),s=le(n,r,e),l=null;r&&(l=r[s[s.length-1].route.id]);let o=[],h=null,m=[];for(let u=0;u<s.length;u++){let d=s[u],y=d.route.id,f=a[y],p=d.params,g=t[y],E=[],b={id:y,data:f,meta:[],params:d.params,pathname:d.pathname,handle:d.route.handle,error:l};if(m[u]=b,g!=null&&g.meta?E=typeof g.meta=="function"?g.meta({data:f,params:p,location:i,matches:m,error:l}):Array.isArray(g.meta)?[...g.meta]:g.meta:h&&(E=[...h]),E=E||[],!Array.isArray(E))throw new Error("The route at "+d.route.path+` returns an invalid value. All route meta functions must return an array of meta objects.
128
+
129
+ To reference the meta function API, see https://remix.run/route/meta`);b.meta=E,m[u]=b,o=[...E],h=o}return c.createElement(c.Fragment,null,o.flat().map(u=>{if(!u)return null;if("tagName"in u){let{tagName:d,...y}=u;if(!dr(d))return console.warn(`A meta object uses an invalid tagName: ${d}. Expected either 'link' or 'meta'`),null;let f=d;return c.createElement(f,L({key:JSON.stringify(y)},y))}if("title"in u)return c.createElement("title",{key:"title"},String(u.title));if("charset"in u&&(u.charSet??(u.charSet=u.charset),delete u.charset),"charSet"in u&&u.charSet!=null)return typeof u.charSet=="string"?c.createElement("meta",{key:"charSet",charSet:u.charSet}):null;if("script:ld+json"in u)try{let d=JSON.stringify(u["script:ld+json"]);return c.createElement("script",{key:`script:ld+json:${d}`,type:"application/ld+json",dangerouslySetInnerHTML:{__html:d}})}catch{return null}return c.createElement("meta",L({key:JSON.stringify(u)},u))}))}function dr(e){return typeof e=="string"&&/^(meta|link)$/.test(e)}function fr(e){return c.createElement(Qe,e)}let M=!1;function hr(e){let{manifest:t,serverHandoffString:r,abortDelay:n,serializeError:a,isSpaMode:i,future:s,renderMeta:l}=T(),{router:o,static:h,staticContext:m}=Fe(),{matches:u}=Y(),d=ae(s,i);l&&(l.didRenderScripts=!0);let y=le(u,null,i);c.useEffect(()=>{M=!0},[]);let f=(v,R)=>{let _;return a&&R instanceof Error?_=a(R):_=R,`${JSON.stringify(v)}:__remixContext.p(!1, ${F(JSON.stringify(_))})`},p=(v,R,_)=>{let O;try{O=JSON.stringify(_)}catch(A){return f(R,A)}return`${JSON.stringify(R)}:__remixContext.p(${F(O)})`},g=(v,R,_)=>{let O;return a&&_ instanceof Error?O=a(_):O=_,`__remixContext.r(${JSON.stringify(v)}, ${JSON.stringify(R)}, !1, ${F(JSON.stringify(O))})`},E=(v,R,_)=>{let O;try{O=JSON.stringify(_)}catch(A){return g(v,R,A)}return`__remixContext.r(${JSON.stringify(v)}, ${JSON.stringify(R)}, ${F(O)})`},b=[],x=c.useMemo(()=>{var v;let R=s.v3_singleFetch?"window.__remixContext.stream = new ReadableStream({start(controller){window.__remixContext.streamController = controller;}}).pipeThrough(new TextEncoderStream());":"",_=m?`window.__remixContext = ${r};${R}`:" ",O=s.v3_singleFetch||m==null?void 0:m.activeDeferreds;_+=O?["__remixContext.p = function(v,e,p,x) {"," if (typeof e !== 'undefined') {",` x=new Error("Unexpected Server Error");
130
+ x.stack=undefined;`," p=Promise.reject(x);"," } else {"," p=Promise.resolve(v);"," }"," return p;","};","__remixContext.n = function(i,k) {"," __remixContext.t = __remixContext.t || {};"," __remixContext.t[i] = __remixContext.t[i] || {};"," let p = new Promise((r, e) => {__remixContext.t[i][k] = {r:(v)=>{r(v);},e:(v)=>{e(v);}};});",typeof n=="number"?`setTimeout(() => {if(typeof p._error !== "undefined" || typeof p._data !== "undefined"){return;} __remixContext.t[i][k].e(new Error("Server timeout."))}, ${n});`:""," return p;","};","__remixContext.r = function(i,k,v,e,p,x) {"," p = __remixContext.t[i][k];"," if (typeof e !== 'undefined') {",` x=new Error("Unexpected Server Error");
131
+ x.stack=undefined;`," p.e(x);"," } else {"," p.r(v);"," }","};"].join(`
132
+ `)+Object.entries(O).map(([k,D])=>{let Ue=new Set(D.pendingKeys),Je=D.deferredKeys.map(N=>{if(Ue.has(N))return b.push(c.createElement(ye,{key:`${k} | ${N}`,deferredData:D,routeId:k,dataKey:N,scriptProps:e,serializeData:E,serializeError:g})),`${JSON.stringify(N)}:__remixContext.n(${JSON.stringify(k)}, ${JSON.stringify(N)})`;{let X=D.data[N];return typeof X._error<"u"?f(N,X._error):p(k,N,X._data)}}).join(`,
133
+ `);return`Object.assign(__remixContext.state.loaderData[${JSON.stringify(k)}], {${Je}});`}).join(`
134
+ `)+(b.length>0?`__remixContext.a=${b.length};`:""):"";let A=h?`${(v=t.hmr)!==null&&v!==void 0&&v.runtime?`import ${JSON.stringify(t.hmr.runtime)};`:""}${d?"":`import ${JSON.stringify(t.url)}`};
135
+ ${y.map((k,D)=>`import * as route${D} from ${JSON.stringify(t.routes[k.route.id].module)};`).join(`
136
+ `)}
137
+ ${d?`window.__remixManifest = ${JSON.stringify(nr(t,o),null,2)};`:""}
138
+ window.__remixRouteModules = {${y.map((k,D)=>`${JSON.stringify(k.route.id)}:route${D}`).join(",")}};
139
+
140
+ import(${JSON.stringify(t.entry.module)});`:" ";return c.createElement(c.Fragment,null,c.createElement("script",L({},e,{suppressHydrationWarning:!0,dangerouslySetInnerHTML:de(_),type:void 0})),c.createElement("script",L({},e,{suppressHydrationWarning:!0,dangerouslySetInnerHTML:de(A),type:"module",async:!0})))},[]);if(!h&&typeof __remixContext=="object"&&__remixContext.a)for(let v=0;v<__remixContext.a;v++)b.push(c.createElement(ye,{key:v,scriptProps:e,serializeData:E,serializeError:g}));let w=y.map(v=>{let R=t.routes[v.route.id];return(R.imports||[]).concat([R.module])}).flat(1),S=M?[]:t.entry.imports.concat(w);return M?null:c.createElement(c.Fragment,null,d?null:c.createElement("link",{rel:"modulepreload",href:t.url,crossOrigin:e.crossOrigin}),c.createElement("link",{rel:"modulepreload",href:t.entry.module,crossOrigin:e.crossOrigin}),yr(S).map(v=>c.createElement("link",{key:v,rel:"modulepreload",href:v,crossOrigin:e.crossOrigin})),x,b)}function ye({dataKey:e,deferredData:t,routeId:r,scriptProps:n,serializeData:a,serializeError:i}){return typeof document>"u"&&t&&e&&r&&P(t.pendingKeys.includes(e),`Deferred data for route ${r} with key ${e} was not pending but tried to render a script for it.`),c.createElement(c.Suspense,{fallback:typeof document>"u"&&t&&e&&r?null:c.createElement("script",L({},n,{async:!0,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:" "}}))},typeof document>"u"&&t&&e&&r?c.createElement(fr,{resolve:t.data[e],errorElement:c.createElement(mr,{dataKey:e,routeId:r,scriptProps:n,serializeError:i}),children:s=>c.createElement("script",L({},n,{async:!0,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:a(r,e,s)}}))}):c.createElement("script",L({},n,{async:!0,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:" "}})))}function mr({dataKey:e,routeId:t,scriptProps:r,serializeError:n}){let a=qe();return c.createElement("script",L({},r,{suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:n(t,e,a)}}))}function yr(e){return[...new Set(e)]}function Me(...e){return t=>{e.forEach(r=>{typeof r=="function"?r(t):r!=null&&(r.current=t)})}}export{xr as L,br as M,Ie as R,hr as S,L as _,wr as a,Er as b,ne as c,Xt as d,gr as e,T as f,Sr as g,P as i,er as s,Rr as u};
@@ -0,0 +1,19 @@
1
+ import{E as C,m as h,c as M,a as y,r,R as g,b as E,d as S,j as v}from"./index-DzNKzXrc.js";import{i as b,d as F,c as P,s as D,g as k,a as z,b as H,u as L,R as O,e as T}from"./components-Rk0n-9cK.js";/**
2
+ * @remix-run/react v2.16.2
3
+ *
4
+ * Copyright (c) Remix Software Inc.
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE.md file in the root directory of this source tree.
8
+ *
9
+ * @license MIT
10
+ */function j(n){if(!n)return null;let x=Object.entries(n),u={};for(let[a,e]of x)if(e&&e.__type==="RouteErrorResponse")u[a]=new C(e.status,e.statusText,e.data,e.internal===!0);else if(e&&e.__type==="Error"){if(e.__subType){let i=window[e.__subType];if(typeof i=="function")try{let o=new i(e.message);o.stack=e.stack,u[a]=o}catch{}}if(u[a]==null){let i=new Error(e.message);i.stack=e.stack,u[a]=i}}else u[a]=e;return u}/**
11
+ * @remix-run/react v2.16.2
12
+ *
13
+ * Copyright (c) Remix Software Inc.
14
+ *
15
+ * This source code is licensed under the MIT license found in the
16
+ * LICENSE.md file in the root directory of this source tree.
17
+ *
18
+ * @license MIT
19
+ */let s,t,f=!1,R;new Promise(n=>{R=n}).catch(()=>{});function B(n){if(!t){if(window.__remixContext.future.v3_singleFetch){if(!s){let d=window.__remixContext.stream;b(d,"No stream found for single fetch decoding"),window.__remixContext.stream=void 0,s=F(d,window).then(l=>{window.__remixContext.state=l.value,s.value=!0}).catch(l=>{s.error=l})}if(s.error)throw s.error;if(!s.value)throw s}let i=P(window.__remixManifest.routes,window.__remixRouteModules,window.__remixContext.state,window.__remixContext.future,window.__remixContext.isSpaMode),o;if(!window.__remixContext.isSpaMode){o={...window.__remixContext.state,loaderData:{...window.__remixContext.state.loaderData}};let d=h(i,window.location,window.__remixContext.basename);if(d)for(let l of d){let _=l.route.id,c=window.__remixRouteModules[_],w=window.__remixManifest.routes[_];c&&D(w,c,window.__remixContext.isSpaMode)&&(c.HydrateFallback||!w.hasLoader)?o.loaderData[_]=void 0:w&&!w.hasLoader&&(o.loaderData[_]=null)}o&&o.errors&&(o.errors=j(o.errors))}t=M({routes:i,history:y(),basename:window.__remixContext.basename,future:{v7_normalizeFormMethod:!0,v7_fetcherPersist:window.__remixContext.future.v3_fetcherPersist,v7_partialHydration:!0,v7_prependBasename:!0,v7_relativeSplatPath:window.__remixContext.future.v3_relativeSplatPath,v7_skipActionErrorRevalidation:window.__remixContext.future.v3_singleFetch===!0},hydrationData:o,mapRouteProperties:E,dataStrategy:window.__remixContext.future.v3_singleFetch&&!window.__remixContext.isSpaMode?z(window.__remixManifest,window.__remixRouteModules,()=>t):void 0,patchRoutesOnNavigation:k(window.__remixManifest,window.__remixRouteModules,window.__remixContext.future,window.__remixContext.isSpaMode,window.__remixContext.basename)}),t.state.initialized&&(f=!0,t.initialize()),t.createRoutesForHMR=H,window.__remixRouter=t,R&&R(t)}let[x,u]=r.useState(void 0),[a,e]=r.useState(t.state.location);return r.useLayoutEffect(()=>{f||(f=!0,t.initialize())},[]),r.useLayoutEffect(()=>t.subscribe(i=>{i.location!==a&&e(i.location)}),[a]),L(t,window.__remixManifest,window.__remixRouteModules,window.__remixContext.future,window.__remixContext.isSpaMode),r.createElement(r.Fragment,null,r.createElement(O.Provider,{value:{manifest:window.__remixManifest,routeModules:window.__remixRouteModules,future:window.__remixContext.future,criticalCss:x,isSpaMode:window.__remixContext.isSpaMode}},r.createElement(T,{location:a},r.createElement(g,{router:t,fallbackElement:null,future:{v7_startTransition:!0}}))),window.__remixContext.future.v3_singleFetch?r.createElement(r.Fragment,null):null)}var m={},p;function q(){if(p)return m;p=1;var n=S();return m.createRoot=n.createRoot,m.hydrateRoot=n.hydrateRoot,m}var I=q();r.startTransition(()=>{I.hydrateRoot(document,v.jsx(r.StrictMode,{children:v.jsx(B,{})}))});