solace-agent-mesh 0.1.0__py3-none-any.whl → 0.1.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.

@@ -0,0 +1 @@
1
+ :root{--primary-color: #3498db;--secondary-color: #2c3e50;--background-color: #ecf0f1;--text-color: #34495e;--border-color: #bdc3c7;--hover-color: #e0f7fa;--selected-color: #b3e5fc;--header-height: 80px;--min-width: 1200px;--max-width: 1200px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Arial,sans-serif;background-color:var(--background-color);color:var(--text-color);display:flex;justify-content:center;min-height:100vh}.app-container{display:flex;flex-direction:column;width:100%;max-width:var(--max-width);height:100vh;background-color:#fff;color:#000;box-shadow:0 0 10px #0000001a;overflow:hidden}:root{--header-height: 60px;--page-header-height: 60px}.header{height:var(--header-height);background-color:var(--primary-color);padding:0 1rem;box-shadow:0 2px 4px #0000001a}.top-menu{display:flex;align-items:flex-end;height:100%;padding:1rem}.nav-links{display:flex;list-style-type:none;margin:0;padding:0}.nav-links li{margin-right:1rem}.nav-links a{color:#fff;text-decoration:none;font-weight:700;padding:.5rem 0;position:relative}.nav-links a.active{font-weight:bolder}.nav-links a.active:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background-color:#fff}.connection-controls{margin-left:auto;display:flex;align-items:center}.connection-controls .button{margin-left:1rem;background-color:#fff;color:var(--primary-color);border:1px solid white}.connection-controls .button:hover{background-color:var(--hover-color);border-color:var(--hover-color)}.nav-links a:hover{color:var(--hover-color)}.page-header{height:var(--page-header-height);background-color:var(--background-color);padding:0 1rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-color)}.page-header h2{margin:0}.content{padding:1rem}.stimuli-page,.capabilities-page{display:flex;flex-direction:column;height:calc(100vh - var(--header-height));overflow:hidden}.stimuli-content{flex:1;overflow:hidden;display:flex}.stimuli-content{display:flex;flex:1;overflow:hidden}.capability-item{background-color:#fff;border:1px solid var(--border-color);border-radius:4px;padding:1rem;margin-bottom:1rem}.capability-item h3{margin-top:0}.capability-item ul{padding-left:1.5rem}.app-title{color:#fff;margin:0;margin-right:4rem;font-size:1.5rem}.button{background-color:var(--secondary-color);color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;transition:background-color .3s ease}.button:hover{background-color:#34495e}.button-info{background-color:var(--primary-color);border:1px solid var(--primary-color);color:#000}.button-info:hover{background-color:var(--selected-color)}.content{display:flex;flex:1;overflow:hidden}.stimulus-list{width:40%;min-width:400px;overflow-y:auto;border-right:1px solid var(--border-color);background-color:#fff}.stimulus-item{padding:1rem;border-bottom:1px solid var(--border-color);cursor:pointer;transition:background-color .2s ease}.stimulus-item:hover{background-color:var(--hover-color)}.stimulus-item.selected{background-color:var(--selected-color)}.stimulus-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.5rem}.user-email{font-weight:700;color:var(--secondary-color)}.timestamp{font-size:.8em;color:var(--text-color);opacity:.7}.stimulus-text{font-family:monospace;white-space:pre-wrap;word-break:break-word;font-size:.9em;margin:0}.stimulus-details{flex:1;padding:1rem;overflow-y:auto;background-color:#fff}.stimulus-details pre{white-space:pre-wrap;word-wrap:break-word;background-color:var(--background-color);padding:1rem;border-radius:4px;font-size:.9rem}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;color:#fff;font-size:1.5rem;z-index:1000}.no-stimuli{padding:1rem;text-align:center;color:var(--text-color)}@media (max-width: 768px){.content{flex-direction:column}.stimulus-list{width:100%;max-height:40vh;border-right:none;border-bottom:1px solid var(--border-color)}}@media (max-width: 480px){.header{text-align:center}.button{width:100%}.stimulus-item{padding:.75rem}.user-email,.stimulus-text{font-size:.9rem}}.message-flow{display:flex;flex-direction:column;gap:1rem;padding:1rem;overflow-y:auto;width:60%}.message-box{border:1px solid var(--border-color);border-radius:4px;padding:1rem;background-color:#fff}.message-header{display:flex;justify-content:space-between;margin-bottom:.5rem;font-size:.9rem;color:var(--secondary-color)}.message-type{font-weight:700}.elapsed-time{font-style:italic}.message-content{font-size:.95rem;white-space:pre-wrap;word-break:break-word;position:relative;overflow:auto;padding-bottom:20px}.more-button{position:absolute;bottom:5px;right:5px;background-color:var(--primary-color);color:#fff;border:none;padding:2px 8px;border-radius:4px;cursor:pointer;font-size:.8rem;transition:background-color .3s ease}.more-button:hover{background-color:var(--secondary-color)}.file-list,.action-params{margin-top:1rem}.file-list h4,.action-params h4{margin-bottom:.5rem}.file-list ul,.action-params ul{list-style-type:none;padding-left:1rem}.stimulus{background-color:#e3f2fd}.response{background-color:#e8f5e9}.response.streaming{background-color:#fff9c4}.response.complete{background-color:#c8e6c9}.action-request{background-color:#fff3e0}.action-header{display:flex;align-items:center;gap:10px}.action-request-label{font-size:.9em;font-weight:700}.agent-name,.action-name{font-size:1.1em;padding:2px 8px;border-radius:12px;background-color:#e9ecef}.agent-name{color:#495057}.action-name{color:#0056b3}.action-params{margin-top:1rem}.action-params ul{list-style-type:none;padding-left:1rem}.action-response{margin-top:1rem;padding:1rem;background-color:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.file-list{margin-top:1rem}.file-list h4{margin-bottom:.5rem}.file-list ul{list-style-type:none;padding-left:1rem}.file-list li{margin-bottom:.25rem}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.9rem;color:var(--secondary-color);flex-wrap:wrap}.message-type{font-weight:700;margin-right:.5rem}.elapsed-time{font-style:italic;white-space:nowrap}.placeholder-message{padding:1rem;text-align:center;color:var(--text-color)}.orchestrator-reinvoke{background-color:#fff9c4}.llm-service-request{background-color:#e8eaf6}.llm-service-response{background-color:#e0f2f1}@media (max-width: 1200px){.app-container{min-width:100%}}@media (min-width: 1220px){.app-container{min-width:1200px}}.app-wrapper{display:flex;justify-content:center}.config-dialog,.connection-selector{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10;width:min(400px,70%);background-color:#fff;color:#000;border-radius:10px;border:1px solid var(--border-color);box-shadow:0 0 10px #00000080;display:flex;flex-direction:column;padding:.5rem}.config-dialog-content,.connection-selector{padding:1rem;display:flex;flex-direction:column;gap:1rem}.connection-selector label{font-weight:700;margin-bottom:.5rem}.connection-selector select{width:100%;padding:.5rem;margin-bottom:1rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem;background-color:#fff;color:#000}.connection-selector .button-group{display:flex;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.connection-selector .button-group button{flex:1}.connection-selector .button-group.secondary{margin-top:1rem}.config-dialog-content label,.connection-selector label{display:block}.config-dialog-content input,.config-dialog-content select,.connection-selector button{width:100%;padding:.5rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem;background-color:#fff;color:#000;transition:border-color .3s,box-shadow .3s}.config-dialog-content select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23007CB2%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E);background-repeat:no-repeat;background-position:right .7rem top 50%;background-size:.65rem auto;padding-right:2rem}.config-dialog-content input:focus,.config-dialog-content select:focus,.connection-selector button:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #3498db33}.config-dialog-content label,.connection-selector h2{display:block;margin-bottom:.5rem;font-weight:700;color:var(--secondary-color)}.config-dialog-buttons,.connection-selector{display:flex;justify-content:flex-end;gap:1rem;padding:1.2rem}.connection-selector button{background-color:var(--primary-color);color:#fff;border:none;cursor:pointer;transition:background-color .3s}.connection-selector button:hover{background-color:var(--secondary-color)}.capabilities-page{display:flex;flex-direction:column;height:calc(100vh - var(--header-height));overflow:hidden}.capabilities-content{display:flex;overflow:hidden;padding:1rem;gap:1rem;height:calc(100vh - var(--header-height) - var(--page-header-height))}.search-input{padding:.5rem;border:1px solid var(--border-color);border-radius:4px;width:300px;font-size:1rem}.agent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-auto-rows:250px;gap:1rem;overflow-y:auto;align-content:start;flex:1}.agent-card{background:#fff;border:1px solid var(--border-color);border-radius:8px;padding:1rem;cursor:pointer;transition:all .2s ease;height:250px;display:grid;grid-template-rows:35px 100px 1fr;gap:3px;overflow:hidden}.agent-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px #0000001a}.agent-card.selected{border-color:var(--primary-color);background-color:var(--selected-color)}.agent-card h3{margin:0 0 .5rem;color:var(--secondary-color)}.agent-card p{margin:0;font-size:.9rem;color:var(--text-color);height:90px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical}.agent-card-footer{display:flex;flex-direction:column;gap:.5rem;font-size:.8rem}.actions-count{color:var(--secondary-color)}.actions-preview{display:flex;flex-wrap:wrap;gap:.3rem;max-height:3.2rem;overflow:hidden;position:relative}.action-name-preview{background-color:var(--background-color);padding:.1rem .4rem;border-radius:4px;font-size:.75rem;color:var(--secondary-color)}.more-actions{color:var(--primary-color);font-style:italic;font-size:.75rem;position:absolute;bottom:0;right:0;background:linear-gradient(to left,#fff,#ffffffe6 20%,#fff0);padding-left:20px}.agent-details{background:#fff;border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;width:40%;min-width:400px;overflow-y:auto}.agent-description{color:var(--text-color);margin:1rem 0}.actions-list{margin-top:1.5rem}.action-details{border:1px solid var(--border-color);border-radius:4px;margin:.5rem 0}.action-details summary{padding:.75rem;cursor:pointer;font-weight:700;background-color:var(--background-color)}.action-details summary:hover{background-color:var(--hover-color)}.action-content{padding:1rem}.action-content h4{margin:1rem 0 .5rem;color:var(--secondary-color)}.action-content ul{margin:0;padding-left:1.5rem}.action-content li{margin:.25rem 0}.scopes-list li{font-family:monospace;background-color:var(--background-color);padding:.2rem .5rem;border-radius:4px;margin:.25rem .5rem .25rem 0;display:inline-block}.no-agents{grid-column:1 / -1;text-align:center;padding:2rem;color:var(--text-color)}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;padding:0;min-width:320px;height:100vh;display:flex;flex-direction:column}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
@@ -0,0 +1,14 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <!-- <link rel="icon" type="image/svg+xml" href="/vite.svg" /> -->
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <title>Solace Agent Mesh Visualizer</title>
8
+ <script type="module" crossorigin src="/assets/index-C5awueeJ.js"></script>
9
+ <link rel="stylesheet" crossorigin href="/assets/index-D0qORgkg.css">
10
+ </head>
11
+ <body>
12
+ <div id="root"></div>
13
+ </body>
14
+ </html>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>
@@ -1 +1 @@
1
- __version__ = "0.1.0"
1
+ __version__ = "0.1.2"
@@ -187,6 +187,17 @@ def build_specific_gateway(
187
187
  gateway_config_file = os.path.join(subdir_path, "gateway.yaml")
188
188
  with open(gateway_config_file, "r", encoding="utf-8") as g:
189
189
  gateway_config_content = g.read()
190
+
191
+ # Define config aliases to check for so that if they are missing we can add defaults
192
+ config_aliases = {
193
+ "response_format_prompt": "- response_format_prompt: &response_format_prompt \"\""
194
+ }
195
+
196
+ # Check which aliases are already in the gateway config
197
+ gateway_found_aliases = set()
198
+ for alias in config_aliases:
199
+ if f"&{alias}" in gateway_config_content:
200
+ gateway_found_aliases.add(alias)
190
201
 
191
202
  click.echo("Getting interface types.")
192
203
  known_interfaces = ["slack", "web", "rest-api"]
@@ -225,8 +236,22 @@ def build_specific_gateway(
225
236
  interface_config_file = os.path.join(subdir_path, interface_file)
226
237
  with open(interface_config_file, "r", encoding="utf-8") as g:
227
238
  file_content = g.read()
228
- reindented_file_content = normalize_and_reindent_yaml(complete_interface_gateway, file_content)
229
- complete_interface_gateway += reindented_file_content
239
+
240
+ # Check which aliases are in the interface config
241
+ interface_found_aliases = set()
242
+ for alias in config_aliases:
243
+ if f"&{alias}" in file_content:
244
+ interface_found_aliases.add(alias)
245
+
246
+ reindented_file_content = normalize_and_reindent_yaml(complete_interface_gateway, file_content)
247
+ complete_interface_gateway += reindented_file_content
248
+
249
+ # Add any missing config aliases
250
+ missing_aliases = set(config_aliases.keys()) - gateway_found_aliases - interface_found_aliases
251
+ if missing_aliases:
252
+ complete_interface_gateway += "\n# Default configurations\nshared_config_defaults:\n"
253
+ for alias in missing_aliases:
254
+ complete_interface_gateway += f"{config_aliases[alias]}\n"
230
255
 
231
256
  # Write interface specific flows
232
257
  complete_interface_gateway += "\nflows:\n"
@@ -38,6 +38,12 @@ info = {
38
38
  },
39
39
  "description": "Gateway configuration including originators and their configurations.",
40
40
  },
41
+ {
42
+ "name": "response_format_prompt",
43
+ "type": "string",
44
+ "description": "Format instructions for the response that will be passed to the model",
45
+ "default": ""
46
+ }
41
47
  ],
42
48
  "input_schema": {
43
49
  "type": "object",
@@ -129,6 +135,7 @@ class GatewayInput(GatewayBase):
129
135
  "interaction_type", DEFAULT_INTERACTION_TYPE
130
136
  )
131
137
  self.identity_component = self._initialize_identity_component()
138
+ self.response_format_prompt = self.get_config("response_format_prompt", "")
132
139
 
133
140
  def _authenticate_user(self, _user_properties: Dict[str, Any]) -> bool:
134
141
  # Implement actual authentication logic here
@@ -164,7 +171,6 @@ class GatewayInput(GatewayBase):
164
171
  top_level_user_properties = {
165
172
  "input_type",
166
173
  "session_id",
167
- "response_format_prompt",
168
174
  }
169
175
  self.demote_interface_properties(user_properties, top_level_user_properties)
170
176
 
@@ -222,6 +228,10 @@ class GatewayInput(GatewayBase):
222
228
 
223
229
  stimulus_uuid = self.gateway_id + str(uuid4())
224
230
 
231
+ # Add response format prompt from config if available
232
+ if self.response_format_prompt:
233
+ user_properties["response_format_prompt"] = self.response_format_prompt
234
+
225
235
  user_properties.update(
226
236
  {
227
237
  "gateway_id": self.gateway_id,
@@ -214,6 +214,11 @@ The assistant's behavior aligns with the system purpose specified below:
214
214
  3. After opening agents, the assistant will be reinvoked with an updated list of open agents and their actions.
215
215
  4. When opening an agent, provide only a brief status update without detailed explanations.
216
216
  5. Do not perform any other actions besides opening the required agents in this step.
217
+ - Report generation:
218
+ 1. If a report is requested and no format is specified, create the report in an HTML file.
219
+ 2. Generate each section of the report independently and store it in the file service with create_file action. When finishing the report, combine the sections using amfs urls with the resolve=true query parameter to insert the sections into the main document. When generating HTML, create the header first with all the necessary CSS and JS links so that it is clear what css the rest of the document will use.
220
+ 3. Images are always very useful in reports, so the assistant will add them when appropriate. If images are embedded in html, they must be resolved and converted to datauri format or they won't render in the final document. This can be done by using the encoding=datauri&resolve=true in the amfs link. For example, <img src="amfs://xxxxxx.png?encoding=datauri&resolve=true". The assistant will take care of the rest. Images can be created in parallel
221
+ 4. During report generation in interactive sessions, the assistant will send lots of status messages to indicate what is happening.
217
222
  - Handling stimuli with open agents:
218
223
  1. Use agents' actions to break down the stimulus into smaller, manageable tasks.
219
224
  2. Prioritize using available actions to fulfill the stimulus whenever possible.
@@ -2,5 +2,4 @@
2
2
  key: "value" # Add your configuration here
3
3
 
4
4
  - response_format_prompt: &response_format_prompt >
5
- Format the response using Markdown text formatting such as
6
- **bold**, _italic_, and `code` where necessary.
5
+ Return all responses in markdown format and if the response contains a file or image, return it with the <file> tags and not as a link.
@@ -16,8 +16,8 @@
16
16
  - gateway_config: &gateway_config
17
17
  gateway_id: {{GATEWAY_ID}}
18
18
  system_purpose: >
19
- The system is an AI Chatbot, that is providing information reasoning and general assistance for writing
20
- and coding to the users in this system.
19
+ The system is an AI Chatbot with agentic capabilities. It will use the agents available to provide information, reasoning and general assistance for the users in this system.
20
+
21
21
  interaction_type: "interactive"
22
22
 
23
23
  identity:
@@ -13,12 +13,9 @@
13
13
  component_config:
14
14
  identity_key_field: identity
15
15
  <<: *gateway_config
16
+ response_format_prompt: *response_format_prompt
16
17
  component_input:
17
18
  source_expression: previous
18
- input_transforms:
19
- - type: copy
20
- source_value: *response_format_prompt
21
- dest_expression: input.user_properties:response_format_prompt
22
19
  - component_name: broker_output
23
20
  component_module: broker_output
24
21
  component_config:
@@ -18,6 +18,11 @@
18
18
  frontend_use_authorization: ${WEBUI_FRONTEND_USE_AUTHORIZATION}
19
19
  frontend_auth_login_url: ${WEBUI_FRONTEND_AUTH_LOGIN_URL}
20
20
  frontend_welcome_message: ${WEBUI_FRONTEND_WELCOME_MESSAGE}
21
+ frontend_bot_name: ${WEBUI_FRONTEND_BOT_NAME}
21
22
  frontend_collect_feedback: ${WEBUI_FRONTEND_COLLECT_FEEDBACK}
22
23
  frontend_url: ${WEBUI_FRONTEND_URL}
23
24
  local_dev : ${WEBUI_LOCAL_DEV}
25
+
26
+ - response_format_prompt: &response_format_prompt >
27
+ Return all responses in markdown format and if the response contains a file or image, return it with the <file> tags and not as a link.
28
+
@@ -21,6 +21,7 @@
21
21
  component_config:
22
22
  identity_key_field: user_email
23
23
  <<: *gateway_config
24
+ response_format_prompt: *response_format_prompt
24
25
  component_input:
25
26
  source_expression: previous
26
27
  - component_name: broker_output
@@ -7,3 +7,10 @@
7
7
  acknowledgement_message: "Chatbot is thinking... :hourglass_flowing_sand:"
8
8
  max_total_file_size: 2000 # 2GB
9
9
  max_file_size: 500 # 500MB
10
+
11
+ - response_format_prompt: &response_format_prompt >
12
+ - Format the response as a Slack message, using appropriate
13
+ formatting such as *bold*, _italic_, and `code` where necessary.
14
+ - Use bullet points or numbered lists for multiple items.
15
+ - If the response contains a file or image, return it with the <file> tags and not as a link.
16
+ - If including hyperlinks, use the format <url|text>.
@@ -13,21 +13,13 @@
13
13
  component_config:
14
14
  identity_key_field: user_email
15
15
  <<: *gateway_config
16
+ response_format_prompt: *response_format_prompt
16
17
  component_input:
17
18
  source_expression: previous
18
19
  input_transforms:
19
20
  - type: copy
20
21
  source_expression: input.payload:thread_id
21
22
  dest_expression: input.user_properties:session_id
22
- - type: copy
23
- source_value: >
24
- - Format the response as a Slack message, using appropriate
25
- formatting such as *bold*, _italic_, and `code` where necessary.
26
-
27
- - Use bullet points or numbered lists for multiple items.
28
-
29
- - If including links, use the format <url|text>.
30
- dest_expression: input.user_properties:response_format_prompt
31
23
  - component_name: broker_output
32
24
  component_module: broker_output
33
25
  component_config:
@@ -87,4 +79,3 @@
87
79
  dest_expression: user_data.component_input:content
88
80
  component_input:
89
81
  source_expression: user_data.component_input
90
-
@@ -3,3 +3,5 @@
3
3
  max_total_file_size: 0.5
4
4
  max_file_size: 2000 # 2GB
5
5
 
6
+ - response_format_prompt: &response_format_prompt >
7
+ Return all responses in markdown format and if the response contains a file or image, return it with the <file> tags and not as a link.
@@ -1,10 +1,4 @@
1
- # Start the Web application
2
- - name: start_web_app
3
- trace_level: ERROR
4
- components:
5
- - component_name: start_web_app
6
- component_package: solace_ai_connector_web
7
- component_module: solace_ai_connector_web.components.start_web_app
1
+
8
2
  # Web to Gateway to Solace
9
3
  - name: web_gateway_input_flow
10
4
  trace_level: ERROR
@@ -20,13 +14,9 @@
20
14
  component_config:
21
15
  identity_key_field: user_email
22
16
  <<: *gateway_config
17
+ response_format_prompt: *response_format_prompt
23
18
  component_input:
24
19
  source_expression: previous
25
- input_transforms:
26
- - type: copy
27
- source_value: >
28
- - Format the response as markdown.
29
- dest_expression: input.user_properties:response_format_prompt
30
20
  - component_name: broker_output
31
21
  component_module: broker_output
32
22
  component_config:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: solace-agent-mesh
3
- Version: 0.1.0
3
+ Version: 0.1.2
4
4
  Summary: Solace Agent Mesh is an EDA AI-first platform powered by Solace
5
5
  Project-URL: homepage, https://github.com/SolaceLabs/solace-agent-mesh
6
6
  Project-URL: repository, https://github.com/SolaceLabs/solace-agent-mesh
@@ -129,9 +129,9 @@ To get started with Solace Agent Mesh, follow these steps:
129
129
  --form 'stream="false"'
130
130
  ```
131
131
 
132
- Learn about [Agents](http://ai-solace-agent-mesh-docs.s3-website-us-east-1.amazonaws.com/docs/documentation/concepts/agents) and [Gateways](http://ai-solace-agent-mesh-docs.s3-website-us-east-1.amazonaws.com/docs/documentation/concepts/gateways) to add more functionalities to your project.
132
+ Learn about [Agents](https://solacelabs.github.io/solace-agent-mesh/docs/documentation/concepts/agents) and [Gateways](https://solacelabs.github.io/solace-agent-mesh/docs/documentation/concepts/gateways) to add more functionalities to your project.
133
133
 
134
- For full details, see the [Quick Start Guide](http://ai-solace-agent-mesh-docs.s3-website-us-east-1.amazonaws.com/docs/documentation/getting-started/quick-start).
134
+ For full details, see the [Quick Start Guide](https://solacelabs.github.io/solace-agent-mesh/docs/documentation/getting-started/quick-start).
135
135
 
136
136
  ## Why Use Solace Agent Mesh?
137
137
 
@@ -148,15 +148,15 @@ Building production-ready AI applications presents unique challenges. While it's
148
148
 
149
149
  ## Next Steps
150
150
 
151
- Check [Solace Agent Mesh Documentation](http://ai-solace-agent-mesh-docs.s3-website-us-east-1.amazonaws.com/docs/documentation/getting-started/introduction) to learn more about the Solace Agent Mesh.
151
+ Check [Solace Agent Mesh Documentation](https://solacelabs.github.io/solace-agent-mesh/docs/documentation/getting-started/introduction) to learn more about the Solace Agent Mesh.
152
152
 
153
153
  | | |
154
154
  | ------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------- |
155
- | [Components Overview](http://ai-solace-agent-mesh-docs.s3-website-us-east-1.amazonaws.com/docs/documentation/getting-started/component-overview) | Learn about the components that make up the Solace Agent Mesh. |
156
- | [Gateways](http://ai-solace-agent-mesh-docs.s3-website-us-east-1.amazonaws.com/docs/documentation/concepts/gateways) | Understand how gateways provide interfaces to the Solace Agent Mesh. |
157
- | [Agents](http://ai-solace-agent-mesh-docs.s3-website-us-east-1.amazonaws.com/docs/documentation/concepts/agents) | Explore the agents that provide specialized capabilities in the Solace Agent Mesh. |
158
- | [Services](http://ai-solace-agent-mesh-docs.s3-website-us-east-1.amazonaws.com/docs/documentation/concepts/services) | Learn about the services that facilitate interaction within the Solace Agent Mesh. |
159
- | [Plugins](http://ai-solace-agent-mesh-docs.s3-website-us-east-1.amazonaws.com/docs/documentation/concepts/plugins) | Discover the plugins that extend the functionality of the Solace Agent Mesh. |
155
+ | [Components Overview](https://solacelabs.github.io/solace-agent-mesh/docs/documentation/getting-started/component-overview) | Learn about the components that make up the Solace Agent Mesh. |
156
+ | [Gateways](https://solacelabs.github.io/solace-agent-mesh/docs/documentation/concepts/gateways) | Understand how gateways provide interfaces to the Solace Agent Mesh. |
157
+ | [Agents](https://solacelabs.github.io/solace-agent-mesh/docs/documentation/concepts/agents) | Explore the agents that provide specialized capabilities in the Solace Agent Mesh. |
158
+ | [Services](https://solacelabs.github.io/solace-agent-mesh/docs/documentation/concepts/services) | Learn about the services that facilitate interaction within the Solace Agent Mesh. |
159
+ | [Plugins](https://solacelabs.github.io/solace-agent-mesh/docs/documentation/concepts/plugins) | Discover the plugins that extend the functionality of the Solace Agent Mesh. |
160
160
 
161
161
  ## Contributing
162
162
 
@@ -44,7 +44,7 @@ solace_agent_mesh/common/utils.py,sha256=X7SzLj8Zr-uxZmkLgSIBiePpfJaLsX6zZjY0dgf
44
44
  solace_agent_mesh/gateway/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
45
45
  solace_agent_mesh/gateway/components/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
46
46
  solace_agent_mesh/gateway/components/gateway_base.py,sha256=6A1UNHxPnCk4ZLjllTsiE0nIHDUWODsJviIUdKfrQow,1574
47
- solace_agent_mesh/gateway/components/gateway_input.py,sha256=BJolcoCji9A5sraQV2taEkOOaK3LpzDWOhbJJ9pYxd0,10140
47
+ solace_agent_mesh/gateway/components/gateway_input.py,sha256=YqXZmmTikhzNjWklinlyRbGOvBL92ram03lYO8ELE1U,10591
48
48
  solace_agent_mesh/gateway/components/gateway_output.py,sha256=pjoNWoSSy1Y4ticVXA70Jry0XmTDTxx9RfhF2LFCyuw,11044
49
49
  solace_agent_mesh/gateway/identity/bamboohr_identity.py,sha256=875pguj7vDx5Tij7YCvfqJQIC0HD_pnU5AtqCUuv7Cs,621
50
50
  solace_agent_mesh/gateway/identity/identity_base.py,sha256=2oaqSPYNwMj4kOyokPAvfHPYW2_uUH85nTh2RogzQD8,271
@@ -57,7 +57,7 @@ solace_agent_mesh/monitors/stim_and_errors/stim_and_error_monitor.py,sha256=jMM1
57
57
  solace_agent_mesh/orchestrator/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
58
58
  solace_agent_mesh/orchestrator/action_manager.py,sha256=2Fmy8AUY1YihI90ba1sJv_1TcOPFzX0w0x3EXi25EaI,8551
59
59
  solace_agent_mesh/orchestrator/orchestrator_main.py,sha256=wHLCaIqwzDrnpWM97lnrUwrk_bS9nmjy4R_dDRn24iU,5983
60
- solace_agent_mesh/orchestrator/orchestrator_prompt.py,sha256=GOz3SQdb4JJICggtPeoM3ChTBvCggw_c77gS7s6eKEs,23114
60
+ solace_agent_mesh/orchestrator/orchestrator_prompt.py,sha256=lCSrSy_Kn5GkEihvN_sKxWewv8W7ABxh0Sbl_qt3qPY,24238
61
61
  solace_agent_mesh/orchestrator/components/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
62
62
  solace_agent_mesh/orchestrator/components/orchestrator_action_manager_timeout_component.py,sha256=w-rZBLMJPz8sLkxgOCH4Mc5Yk8jI0wKG-TZ27cQP-sU,1976
63
63
  solace_agent_mesh/orchestrator/components/orchestrator_action_response_component.py,sha256=Wo2Qd6CU4bcllc_jy6XXdza1jewcV1SGXh1osdWI4Zc,7140
@@ -97,12 +97,12 @@ solace_agent_mesh/tools/components/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQe
97
97
  solace_agent_mesh/tools/components/conversation_formatter.py,sha256=_C60LepjhxPzQYCwjIAp8nQD3XdVpvZdxNO4cLBXXrY,4202
98
98
  solace_agent_mesh/tools/components/file_resolver_component.py,sha256=MOKFuIBpxsQuSQF7ogdhtm2E1w8LDMs_giaNKfkx2pY,1965
99
99
  solace_agent_mesh/tools/config/runtime_config.py,sha256=9-sCi2W5RSyN8WUHdSv6YVzKWORzK1akM-C19tDSCUo,860
100
- solace_agent_mesh/cli/__init__.py,sha256=kUR5RAFc7HCeiqdlX36dZOHkUI5wI6V_43RpEcD8b-0,22
100
+ solace_agent_mesh/cli/__init__.py,sha256=YvuYzWnKtqBb-IqG8HAu-nhIYAsgj9Vmc_b9o7vO-js,22
101
101
  solace_agent_mesh/cli/config.py,sha256=sGcJE9zNNGme3n6Q4wOM5Vn2TQSTWHRXPZUBnNEwV40,2841
102
102
  solace_agent_mesh/cli/main.py,sha256=faei8XGbAaexbIfmZBnuo7eqyo5pBm7Rh1pn-Ybjv6M,7127
103
103
  solace_agent_mesh/cli/utils.py,sha256=TYNDr8IweOtGT11X-ZNPVC6WPgMrcVyAeAa9NvVV5Oo,7632
104
104
  solace_agent_mesh/cli/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
105
- solace_agent_mesh/cli/commands/build.py,sha256=F4j7WYogivcLuj5SXbrs8RRHakjur8UsW2mL9mxaIM4,24172
105
+ solace_agent_mesh/cli/commands/build.py,sha256=8jO7BK21lYaIh6UNiE41bYEZbahYoAlorQfZV5pZ3jw,25441
106
106
  solace_agent_mesh/cli/commands/config.py,sha256=_9Sw3TbTUgAVsEUrbTn72e4lABIchjpKS_JhSIF2EZ0,772
107
107
  solace_agent_mesh/cli/commands/run.py,sha256=sx82i75mQgHduJBcMvSCbdQsAZdTVD0NWGNqtCUQEnE,2066
108
108
  solace_agent_mesh/cli/commands/visualizer.py,sha256=FhqEMQRQGrNnkkSihuEKE9rFBATQKjTXLwOUJZIsAH0,4646
@@ -147,24 +147,28 @@ solace_agent_mesh/configs/visualize_websocket.yaml,sha256=5RlUyqjI2-nOKYUbwoFqfO
147
147
  solace_agent_mesh/templates/action.py,sha256=9U2lfncOa4CPRcgbXbz_BpCGak1ZZVR4UVNELNV-uiI,1401
148
148
  solace_agent_mesh/templates/agent.py,sha256=eZb4ZhVkhDdLLUubbHd8obaIyGd610A4bNvoYzkjKqs,771
149
149
  solace_agent_mesh/templates/agent.yaml,sha256=wBpBMY-8c_YdwF8RGGVzgizCHxPGhJrKCb4poMnOK1g,2865
150
- solace_agent_mesh/templates/gateway-config-template.yaml,sha256=sWqRsPvtzx4T3wWgOYyBj4fmTAbLl2o7vNH2HkY48zo,271
151
- solace_agent_mesh/templates/gateway-default-config.yaml,sha256=jnaKo6r_Rlz66t1nnmR3MGhg7QmiMvlvhZoEAYrxDYs,1082
152
- solace_agent_mesh/templates/gateway-flows.yaml,sha256=EXyYprTGMGalCB9j6BUnBomgdVQZrHaZtZ9hkjwgSc0,3161
150
+ solace_agent_mesh/templates/gateway-config-template.yaml,sha256=TxJEzqud6bMsJjbi8VlYXQoiBl8SB8Z3HF9b1Kf6uok,296
151
+ solace_agent_mesh/templates/gateway-default-config.yaml,sha256=qzuMsrZzg5uPUCLeB5Kcv8vp8BZfQFu95SbkaRY4Lvk,1121
152
+ solace_agent_mesh/templates/gateway-flows.yaml,sha256=6KufsvEkMitBSZVeu4lPEoqILSN_I5Hh3_LvBusCQRM,3046
153
153
  solace_agent_mesh/templates/gateway-header.yaml,sha256=PjwSOjYrYt8lLo8PYo1AQdZkN5M7HxMNJer2CTpP6mc,472
154
154
  solace_agent_mesh/templates/gateway_base.py,sha256=vgiNrcIzJYTli2UMPJyFwDCx1IOGW_oOFpZtTcBdHaE,457
155
155
  solace_agent_mesh/templates/gateway_input.py,sha256=gkjTYjgpOxMWU_k0EnB0BU_6q3vOAh9IN-fmxu_jW6k,3097
156
156
  solace_agent_mesh/templates/gateway_output.py,sha256=fGM2HnYf9RXkOsLcuDD3HR4ozcxHX9UppxBPCUmtSKk,2191
157
157
  solace_agent_mesh/templates/plugin-pyproject.toml,sha256=pD146TDV9DYbt6O8pE9O5KdX_CNqGGuy9BYf8TqmGJI,676
158
- solace_agent_mesh/templates/rest-api-default-config.yaml,sha256=FiWWyhjspaLP6nEeUEwZ_wlzfNHDxn_gxUcrjPr74Fg,1019
159
- solace_agent_mesh/templates/rest-api-flows.yaml,sha256=A5EErygJ2R7-F6oQu_zwCukkFITQr6-7AfEHkD--NVE,3092
160
- solace_agent_mesh/templates/slack-default-config.yaml,sha256=s88O9br8SgPYX9LvO-cOKDuaumJi_EFvNs4UwMdtNFk,349
161
- solace_agent_mesh/templates/slack-flows.yaml,sha256=BGF0aRmDDvmJsRsS3Qa_WkeNrdLdTBulLhVMUyC_FAM,3560
158
+ solace_agent_mesh/templates/rest-api-default-config.yaml,sha256=DmUIZMmuzyptrnYgM4wVHqdUX9y0seGgU4UcPTWaTu4,1266
159
+ solace_agent_mesh/templates/rest-api-flows.yaml,sha256=OVU9QPKlZMzla-G1HnqtKCFaYxgXF7pP1aFUR8LwWDQ,3150
160
+ solace_agent_mesh/templates/slack-default-config.yaml,sha256=-C5r61O4UZ7JGA0l_wxQIc5DbfqnZFm20-OU6nBIf-s,754
161
+ solace_agent_mesh/templates/slack-flows.yaml,sha256=nzLS67tT4Xh_NFynB4XJlr6pomgG5EkatsLBnGS3fBo,3201
162
162
  solace_agent_mesh/templates/solace-agent-mesh-default.yaml,sha256=R1xm_uPJqWSrjWRhLlVc2VY-YaFzM92L0sPoAfA45iI,3042
163
163
  solace_agent_mesh/templates/solace-agent-mesh-plugin-default.yaml,sha256=T0GgQGHJc8uMNH8mlCqxAH3Zm4Yc-rCPiW1UVY6KcdA,331
164
- solace_agent_mesh/templates/web-default-config.yaml,sha256=1-_XZuYDm23w7FGXVdkc3nmua_i1N4aL0rXy0dtUlbw,149
165
- solace_agent_mesh/templates/web-flows.yaml,sha256=ctTfI2CYN5FpJsXRdBUGDOpuP1hZwHi2h3aKx2_2uLs,3426
166
- solace_agent_mesh-0.1.0.dist-info/METADATA,sha256=FzQ6fAXf9SYtnmP-dcyESM_h6rrDEYl9FjcQ58lEu4Y,10185
167
- solace_agent_mesh-0.1.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
168
- solace_agent_mesh-0.1.0.dist-info/entry_points.txt,sha256=VDI4Kkhc1jy9ajf8Qd08v3lpV4n7zoWBAo6fopQrXL8,108
169
- solace_agent_mesh-0.1.0.dist-info/licenses/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
170
- solace_agent_mesh-0.1.0.dist-info/RECORD,,
164
+ solace_agent_mesh/templates/web-default-config.yaml,sha256=8gsiV2ar1ZPEL6w-ofWTGb3gzC0IRlETGk_fBVWxcwo,341
165
+ solace_agent_mesh/templates/web-flows.yaml,sha256=dzy7BvQDNEsvzVb_O38LvdYbKn2XJmtIU2ExhPIRI2k,3028
166
+ solace_agent_mesh/assets/web-visualizer/index.html,sha256=Bn-hrNXJvapfRG-L_hs5K5ezKf53gw_H4x93rIdeAQw,484
167
+ solace_agent_mesh/assets/web-visualizer/vite.svg,sha256=SnSK_UQ5GLsWWRyDTEAdrjPoeGGrXbrQgRw6O0qSFPs,1497
168
+ solace_agent_mesh/assets/web-visualizer/assets/index-C5awueeJ.js,sha256=tlhSEqOgFpMuwd7X73mdRAxUCxQ8H7TiCfk4oHh6qXY,752048
169
+ solace_agent_mesh/assets/web-visualizer/assets/index-D0qORgkg.css,sha256=sR-djfZhg7oOrDkv7deFLKVioHOSGFA0ZCDPvK8jzYI,12678
170
+ solace_agent_mesh-0.1.2.dist-info/METADATA,sha256=jESq2kEL6MR8C2i2VrAnamf5QqOKsy9PXiVGdpVV2D8,9996
171
+ solace_agent_mesh-0.1.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
172
+ solace_agent_mesh-0.1.2.dist-info/entry_points.txt,sha256=VDI4Kkhc1jy9ajf8Qd08v3lpV4n7zoWBAo6fopQrXL8,108
173
+ solace_agent_mesh-0.1.2.dist-info/licenses/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
174
+ solace_agent_mesh-0.1.2.dist-info/RECORD,,