yera 0.1.1__py3-none-any.whl → 0.2.0__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 (192) hide show
  1. infra_mvp/base_client.py +29 -0
  2. infra_mvp/base_server.py +68 -0
  3. infra_mvp/monitoring/__init__.py +15 -0
  4. infra_mvp/monitoring/metrics.py +185 -0
  5. infra_mvp/stream/README.md +56 -0
  6. infra_mvp/stream/__init__.py +14 -0
  7. infra_mvp/stream/__main__.py +101 -0
  8. infra_mvp/stream/agents/demos/financial/chart_additions_plan.md +170 -0
  9. infra_mvp/stream/agents/demos/financial/portfolio_assistant_stream.json +1571 -0
  10. infra_mvp/stream/agents/reference/blocks/action.json +170 -0
  11. infra_mvp/stream/agents/reference/blocks/button.json +66 -0
  12. infra_mvp/stream/agents/reference/blocks/date.json +65 -0
  13. infra_mvp/stream/agents/reference/blocks/input_prompt.json +94 -0
  14. infra_mvp/stream/agents/reference/blocks/layout.json +288 -0
  15. infra_mvp/stream/agents/reference/blocks/markdown.json +344 -0
  16. infra_mvp/stream/agents/reference/blocks/slider.json +67 -0
  17. infra_mvp/stream/agents/reference/blocks/spinner.json +110 -0
  18. infra_mvp/stream/agents/reference/blocks/table.json +56 -0
  19. infra_mvp/stream/agents/reference/chat_dynamics/branching_test_stream.json +145 -0
  20. infra_mvp/stream/app.py +49 -0
  21. infra_mvp/stream/container.py +112 -0
  22. infra_mvp/stream/schemas/__init__.py +16 -0
  23. infra_mvp/stream/schemas/agent.py +24 -0
  24. infra_mvp/stream/schemas/interaction.py +28 -0
  25. infra_mvp/stream/schemas/session.py +30 -0
  26. infra_mvp/stream/server.py +321 -0
  27. infra_mvp/stream/services/__init__.py +12 -0
  28. infra_mvp/stream/services/agent_service.py +40 -0
  29. infra_mvp/stream/services/event_converter.py +83 -0
  30. infra_mvp/stream/services/session_service.py +247 -0
  31. yera/__init__.py +50 -1
  32. yera/agents/__init__.py +2 -0
  33. yera/agents/context.py +41 -0
  34. yera/agents/dataclasses.py +69 -0
  35. yera/agents/decorator.py +207 -0
  36. yera/agents/discovery.py +124 -0
  37. yera/agents/typing/__init__.py +0 -0
  38. yera/agents/typing/coerce.py +408 -0
  39. yera/agents/typing/utils.py +19 -0
  40. yera/agents/typing/validate.py +206 -0
  41. yera/cli.py +377 -0
  42. yera/config/__init__.py +1 -0
  43. yera/config/config_utils.py +164 -0
  44. yera/config/function_config.py +55 -0
  45. yera/config/logging.py +18 -0
  46. yera/config/tool_config.py +8 -0
  47. yera/config2/__init__.py +8 -0
  48. yera/config2/dataclasses.py +534 -0
  49. yera/config2/keyring.py +270 -0
  50. yera/config2/paths.py +28 -0
  51. yera/config2/read.py +113 -0
  52. yera/config2/setup.py +109 -0
  53. yera/config2/setup_handlers/__init__.py +1 -0
  54. yera/config2/setup_handlers/anthropic.py +126 -0
  55. yera/config2/setup_handlers/azure.py +236 -0
  56. yera/config2/setup_handlers/base.py +125 -0
  57. yera/config2/setup_handlers/llama_cpp.py +205 -0
  58. yera/config2/setup_handlers/ollama.py +157 -0
  59. yera/config2/setup_handlers/openai.py +137 -0
  60. yera/config2/write.py +87 -0
  61. yera/dsl/__init__.py +0 -0
  62. yera/dsl/functions.py +94 -0
  63. yera/dsl/struct.py +20 -0
  64. yera/dsl/workspace.py +79 -0
  65. yera/events/__init__.py +57 -0
  66. yera/events/blocks/__init__.py +68 -0
  67. yera/events/blocks/action.py +57 -0
  68. yera/events/blocks/bar_chart.py +92 -0
  69. yera/events/blocks/base/__init__.py +20 -0
  70. yera/events/blocks/base/base.py +166 -0
  71. yera/events/blocks/base/chart.py +288 -0
  72. yera/events/blocks/base/layout.py +111 -0
  73. yera/events/blocks/buttons.py +37 -0
  74. yera/events/blocks/columns.py +26 -0
  75. yera/events/blocks/container.py +24 -0
  76. yera/events/blocks/date_picker.py +50 -0
  77. yera/events/blocks/exit.py +39 -0
  78. yera/events/blocks/form.py +24 -0
  79. yera/events/blocks/input_echo.py +22 -0
  80. yera/events/blocks/input_request.py +31 -0
  81. yera/events/blocks/line_chart.py +97 -0
  82. yera/events/blocks/markdown.py +67 -0
  83. yera/events/blocks/slider.py +54 -0
  84. yera/events/blocks/spinner.py +55 -0
  85. yera/events/blocks/system_prompt.py +22 -0
  86. yera/events/blocks/table.py +291 -0
  87. yera/events/models/__init__.py +39 -0
  88. yera/events/models/block_data.py +112 -0
  89. yera/events/models/in_event.py +7 -0
  90. yera/events/models/out_event.py +75 -0
  91. yera/events/runtime.py +187 -0
  92. yera/events/stream.py +91 -0
  93. yera/models/__init__.py +0 -0
  94. yera/models/data_classes.py +20 -0
  95. yera/models/llm_atlas_proxy.py +44 -0
  96. yera/models/llm_context.py +99 -0
  97. yera/models/llm_interfaces/__init__.py +0 -0
  98. yera/models/llm_interfaces/anthropic.py +153 -0
  99. yera/models/llm_interfaces/aws_bedrock.py +14 -0
  100. yera/models/llm_interfaces/azure_openai.py +143 -0
  101. yera/models/llm_interfaces/base.py +26 -0
  102. yera/models/llm_interfaces/interface_registry.py +74 -0
  103. yera/models/llm_interfaces/llama_cpp.py +136 -0
  104. yera/models/llm_interfaces/mock.py +29 -0
  105. yera/models/llm_interfaces/ollama_interface.py +118 -0
  106. yera/models/llm_interfaces/open_ai.py +150 -0
  107. yera/models/llm_workspace.py +19 -0
  108. yera/models/model_atlas.py +139 -0
  109. yera/models/model_definition.py +38 -0
  110. yera/models/model_factory.py +33 -0
  111. yera/opaque/__init__.py +9 -0
  112. yera/opaque/base.py +20 -0
  113. yera/opaque/decorator.py +8 -0
  114. yera/opaque/markdown.py +57 -0
  115. yera/opaque/opaque_function.py +25 -0
  116. yera/tools/__init__.py +29 -0
  117. yera/tools/atlas_tool.py +20 -0
  118. yera/tools/base.py +24 -0
  119. yera/tools/decorated_tool.py +18 -0
  120. yera/tools/decorator.py +35 -0
  121. yera/tools/tool_atlas.py +51 -0
  122. yera/tools/tool_utils.py +361 -0
  123. yera/ui/dist/404.html +1 -0
  124. yera/ui/dist/__next.__PAGE__.txt +10 -0
  125. yera/ui/dist/__next._full.txt +23 -0
  126. yera/ui/dist/__next._head.txt +6 -0
  127. yera/ui/dist/__next._index.txt +5 -0
  128. yera/ui/dist/__next._tree.txt +7 -0
  129. yera/ui/dist/_next/static/chunks/4c4688e1ff21ad98.js +1 -0
  130. yera/ui/dist/_next/static/chunks/652cd53c27924d50.js +4 -0
  131. yera/ui/dist/_next/static/chunks/786d2107b51e8499.css +1 -0
  132. yera/ui/dist/_next/static/chunks/7de9141b1af425c3.js +1 -0
  133. yera/ui/dist/_next/static/chunks/87ef65064d3524c1.js +2 -0
  134. yera/ui/dist/_next/static/chunks/a6dad97d9634a72d.js +1 -0
  135. yera/ui/dist/_next/static/chunks/a6dad97d9634a72d.js.map +1 -0
  136. yera/ui/dist/_next/static/chunks/c4c79d5d0b280aeb.js +1 -0
  137. yera/ui/dist/_next/static/chunks/dc2d2a247505d66f.css +5 -0
  138. yera/ui/dist/_next/static/chunks/f773f714b55ec620.js +37 -0
  139. yera/ui/dist/_next/static/chunks/turbopack-98b3031e1b1dbc33.js +4 -0
  140. yera/ui/dist/_next/static/lnhYLzJ1-a5EfNbW1uFF6/_buildManifest.js +11 -0
  141. yera/ui/dist/_next/static/lnhYLzJ1-a5EfNbW1uFF6/_clientMiddlewareManifest.json +1 -0
  142. yera/ui/dist/_next/static/lnhYLzJ1-a5EfNbW1uFF6/_ssgManifest.js +1 -0
  143. yera/ui/dist/_next/static/media/14e23f9b59180572-s.9c448f3c.woff2 +0 -0
  144. yera/ui/dist/_next/static/media/2a65768255d6b625-s.p.d19752fb.woff2 +0 -0
  145. yera/ui/dist/_next/static/media/2b2eb4836d2dad95-s.f36de3af.woff2 +0 -0
  146. yera/ui/dist/_next/static/media/31183d9fd602dc89-s.c4ff9b73.woff2 +0 -0
  147. yera/ui/dist/_next/static/media/3fcb63a1ac6a562e-s.2f77a576.woff2 +0 -0
  148. yera/ui/dist/_next/static/media/45ec8de98929b0f6-s.81056204.woff2 +0 -0
  149. yera/ui/dist/_next/static/media/4fa387ec64143e14-s.c1fdd6c2.woff2 +0 -0
  150. yera/ui/dist/_next/static/media/65c558afe41e89d6-s.e2c8389a.woff2 +0 -0
  151. yera/ui/dist/_next/static/media/67add6cc0f54b8cf-s.8ce53448.woff2 +0 -0
  152. yera/ui/dist/_next/static/media/7178b3e590c64307-s.b97b3418.woff2 +0 -0
  153. yera/ui/dist/_next/static/media/797e433ab948586e-s.p.dbea232f.woff2 +0 -0
  154. yera/ui/dist/_next/static/media/8a480f0b521d4e75-s.8e0177b5.woff2 +0 -0
  155. yera/ui/dist/_next/static/media/a8ff2d5d0ccb0d12-s.fc5b72a7.woff2 +0 -0
  156. yera/ui/dist/_next/static/media/aae5f0be330e13db-s.p.853e26d6.woff2 +0 -0
  157. yera/ui/dist/_next/static/media/b11a6ccf4a3edec7-s.2113d282.woff2 +0 -0
  158. yera/ui/dist/_next/static/media/b49b0d9b851e4899-s.4f3fa681.woff2 +0 -0
  159. yera/ui/dist/_next/static/media/bbc41e54d2fcbd21-s.799d8ef8.woff2 +0 -0
  160. yera/ui/dist/_next/static/media/caa3a2e1cccd8315-s.p.853070df.woff2 +0 -0
  161. yera/ui/dist/_next/static/media/favicon.0b3bf435.ico +0 -0
  162. yera/ui/dist/_not-found/__next._full.txt +14 -0
  163. yera/ui/dist/_not-found/__next._head.txt +6 -0
  164. yera/ui/dist/_not-found/__next._index.txt +5 -0
  165. yera/ui/dist/_not-found/__next._not-found.__PAGE__.txt +5 -0
  166. yera/ui/dist/_not-found/__next._not-found.txt +4 -0
  167. yera/ui/dist/_not-found/__next._tree.txt +2 -0
  168. yera/ui/dist/_not-found.html +1 -0
  169. yera/ui/dist/_not-found.txt +14 -0
  170. yera/ui/dist/agent-icon.svg +3 -0
  171. yera/ui/dist/favicon.ico +0 -0
  172. yera/ui/dist/file.svg +1 -0
  173. yera/ui/dist/globe.svg +1 -0
  174. yera/ui/dist/index.html +1 -0
  175. yera/ui/dist/index.txt +23 -0
  176. yera/ui/dist/logo/full_logo.png +0 -0
  177. yera/ui/dist/logo/rune_logo.png +0 -0
  178. yera/ui/dist/logo/rune_logo_borderless.png +0 -0
  179. yera/ui/dist/logo/text_logo.png +0 -0
  180. yera/ui/dist/next.svg +1 -0
  181. yera/ui/dist/send.png +0 -0
  182. yera/ui/dist/send_single.png +0 -0
  183. yera/ui/dist/vercel.svg +1 -0
  184. yera/ui/dist/window.svg +1 -0
  185. yera/utils/__init__.py +1 -0
  186. yera/utils/path_utils.py +38 -0
  187. yera-0.2.0.dist-info/METADATA +65 -0
  188. yera-0.2.0.dist-info/RECORD +190 -0
  189. {yera-0.1.1.dist-info → yera-0.2.0.dist-info}/WHEEL +1 -1
  190. yera-0.2.0.dist-info/entry_points.txt +2 -0
  191. yera-0.1.1.dist-info/METADATA +0 -11
  192. yera-0.1.1.dist-info/RECORD +0 -4
@@ -0,0 +1,170 @@
1
+ {
2
+ "name": "Action Block",
3
+ "description": "Action Blocks allow agent and subagent actions to be streamed as a series of updates.",
4
+ "branches": {
5
+ "start": [
6
+ {
7
+ "message_type": "informational",
8
+ "block_type": "markdown",
9
+ "block_id": "intro",
10
+ "data": {
11
+ "content": "Action Blocks allow agent and subagent actions to be streamed as a series of updates."
12
+ },
13
+ "timestamp": "2025-01-15T10:00:00Z",
14
+ "chunk_id": 1,
15
+ "agent": {
16
+ "name": "Action Agent",
17
+ "instance_id": 1
18
+ }
19
+ },
20
+ {
21
+ "message_type": "informational",
22
+ "block_type": "markdown",
23
+ "block_id": "div",
24
+ "data": {
25
+ "content": "---"
26
+ },
27
+ "timestamp": "2025-01-15T10:00:00Z",
28
+ "chunk_id": 1,
29
+ "agent": {
30
+ "name": "Action Agent",
31
+ "instance_id": 1
32
+ }
33
+ },
34
+ {
35
+ "message_type": "informational",
36
+ "block_type": "action",
37
+ "block_id": "agent-1-actions",
38
+ "data": {
39
+ "status": "active",
40
+ "message": "Starting task 1"
41
+ },
42
+ "timestamp": "2025-01-15T10:00:05Z",
43
+ "chunk_id": 1,
44
+ "agent": {
45
+ "name": "Action Subagent",
46
+ "instance_id": 1
47
+ }
48
+ },
49
+ {
50
+ "message_type": "informational",
51
+ "block_type": "action",
52
+ "block_id": "agent-1-actions",
53
+ "data": {
54
+ "status": "active",
55
+ "message": "Processing data"
56
+ },
57
+ "timestamp": "2025-01-15T10:00:10Z",
58
+ "chunk_id": 2,
59
+ "agent": {
60
+ "name": "Action Subagent",
61
+ "instance_id": 1
62
+ }
63
+ },
64
+ {
65
+ "message_type": "informational",
66
+ "block_type": "action",
67
+ "block_id": "agent-2-actions",
68
+ "data": {
69
+ "status": "active",
70
+ "message": "Initialising agent 2"
71
+ },
72
+ "timestamp": "2025-01-15T10:00:12Z",
73
+ "chunk_id": 1,
74
+ "agent": {
75
+ "name": "Action Subagent",
76
+ "instance_id": 2
77
+ }
78
+ },
79
+ {
80
+ "message_type": "informational",
81
+ "block_type": "action",
82
+ "block_id": "agent-1-actions",
83
+ "data": {
84
+ "status": "active",
85
+ "message": "Validating results"
86
+ },
87
+ "timestamp": "2025-01-15T10:00:15Z",
88
+ "chunk_id": 3,
89
+ "agent": {
90
+ "name": "Action Subagent",
91
+ "instance_id": 1
92
+ }
93
+ },
94
+ {
95
+ "message_type": "informational",
96
+ "block_type": "action",
97
+ "block_id": "agent-2-actions",
98
+ "data": {
99
+ "status": "active",
100
+ "message": "Fetching resources"
101
+ },
102
+ "timestamp": "2025-01-15T10:00:17Z",
103
+ "chunk_id": 2,
104
+ "agent": {
105
+ "name": "Action Subagent",
106
+ "instance_id": 2
107
+ }
108
+ },
109
+ {
110
+ "message_type": "informational",
111
+ "block_type": "action",
112
+ "block_id": "agent-1-actions",
113
+ "data": {
114
+ "status": "complete",
115
+ "message": "Task 1 complete"
116
+ },
117
+ "timestamp": "2025-01-15T10:00:20Z",
118
+ "chunk_id": 4,
119
+ "agent": {
120
+ "name": "Action Subagent",
121
+ "instance_id": 1
122
+ }
123
+ },
124
+ {
125
+ "message_type": "informational",
126
+ "block_type": "action",
127
+ "block_id": "agent-2-actions",
128
+ "data": {
129
+ "status": "active",
130
+ "message": "Finalising operations"
131
+ },
132
+ "timestamp": "2025-01-15T10:00:22Z",
133
+ "chunk_id": 3,
134
+ "agent": {
135
+ "name": "Action Subagent",
136
+ "instance_id": 2
137
+ }
138
+ },
139
+ {
140
+ "message_type": "informational",
141
+ "block_type": "action",
142
+ "block_id": "agent-2-actions",
143
+ "data": {
144
+ "status": "complete",
145
+ "message": "All operations complete"
146
+ },
147
+ "timestamp": "2025-01-15T10:00:25Z",
148
+ "chunk_id": 4,
149
+ "agent": {
150
+ "name": "Action Subagent",
151
+ "instance_id": 2
152
+ }
153
+ },
154
+ {
155
+ "message_type": "informational",
156
+ "block_type": "markdown",
157
+ "block_id": "completion",
158
+ "data": {
159
+ "content": "All actions completed successfully!"
160
+ },
161
+ "timestamp": "2025-01-15T10:00:30Z",
162
+ "chunk_id": 1,
163
+ "agent": {
164
+ "name": "Action Agent",
165
+ "instance_id": 1
166
+ }
167
+ }
168
+ ]
169
+ }
170
+ }
@@ -0,0 +1,66 @@
1
+ {
2
+ "name": "Button Block",
3
+ "description": "Button Blocks allow the user to select from a set of options by clicking a button.",
4
+ "branches": {
5
+ "start": [
6
+ {
7
+ "message_type": "informational",
8
+ "block_type": "markdown",
9
+ "block_id": "intro",
10
+ "data": {
11
+ "content": "Button Blocks allow the user to select from a set of options by clicking a button."
12
+ },
13
+ "timestamp": "2025-01-15T10:00:00Z",
14
+ "chunk_id": 1,
15
+ "agent": {
16
+ "name": "Button Agent",
17
+ "instance_id": 1
18
+ }
19
+ },
20
+ {
21
+ "message_type": "informational",
22
+ "block_type": "markdown",
23
+ "block_id": "div",
24
+ "data": {
25
+ "content": "---"
26
+ },
27
+ "timestamp": "2025-01-15T10:00:00Z",
28
+ "chunk_id": 1,
29
+ "agent": {
30
+ "name": "Button Agent",
31
+ "instance_id": 1
32
+ }
33
+ },
34
+ {
35
+ "message_type": "await_user",
36
+ "block_type": "button",
37
+ "block_id": "button-options",
38
+ "data": {
39
+ "options": ["Option A", "Option B", "Option C"],
40
+ "label": "Choose an option (scroll should happen after clicking)"
41
+ },
42
+ "timestamp": "2025-01-15T10:00:10Z",
43
+ "chunk_id": 1,
44
+ "agent": {
45
+ "name": "Button Agent",
46
+ "instance_id": 1
47
+ }
48
+ },
49
+ {
50
+ "message_type": "informational",
51
+ "block_type": "markdown",
52
+ "block_id": "button-response",
53
+ "data": {
54
+ "content": "You selected: {{button-options}}."
55
+ },
56
+ "timestamp": "2025-01-15T10:00:15Z",
57
+ "chunk_id": 1,
58
+ "agent": {
59
+ "name": "Button Agent",
60
+ "instance_id": 1
61
+ }
62
+ }
63
+ ]
64
+ }
65
+ }
66
+
@@ -0,0 +1,65 @@
1
+ {
2
+ "name": "Date Block",
3
+ "description": "Date Blocks allow the user to select a date and submit it to the agent.",
4
+ "branches": {
5
+ "start": [
6
+ {
7
+ "message_type": "informational",
8
+ "block_type": "markdown",
9
+ "block_id": "intro",
10
+ "data": {
11
+ "content": "Date Blocks allow the user to select a date and submit it to the agent."
12
+ },
13
+ "timestamp": "2025-01-15T10:00:00Z",
14
+ "chunk_id": 1,
15
+ "agent": {
16
+ "name": "Date Agent",
17
+ "instance_id": 1
18
+ }
19
+ },
20
+ {
21
+ "message_type": "informational",
22
+ "block_type": "markdown",
23
+ "block_id": "div",
24
+ "data": {
25
+ "content": "---"
26
+ },
27
+ "timestamp": "2025-01-15T10:00:00Z",
28
+ "chunk_id": 1,
29
+ "agent": {
30
+ "name": "Date Agent",
31
+ "instance_id": 1
32
+ }
33
+ },
34
+ {
35
+ "message_type": "await_user",
36
+ "block_type": "date",
37
+ "block_id": "date-picker",
38
+ "data": {
39
+ "value": "2025-01-15",
40
+ "label": "Select a date and submit"
41
+ },
42
+ "timestamp": "2025-01-15T10:00:10Z",
43
+ "chunk_id": 1,
44
+ "agent": {
45
+ "name": "Date Agent",
46
+ "instance_id": 1
47
+ }
48
+ },
49
+ {
50
+ "message_type": "informational",
51
+ "block_type": "markdown",
52
+ "block_id": "date-picker-response",
53
+ "data": {
54
+ "content": "You selected: {{date-picker}}."
55
+ },
56
+ "timestamp": "2025-01-15T10:00:15Z",
57
+ "chunk_id": 1,
58
+ "agent": {
59
+ "name": "Date Agent",
60
+ "instance_id": 1
61
+ }
62
+ }
63
+ ]
64
+ }
65
+ }
@@ -0,0 +1,94 @@
1
+ {
2
+ "name": "Input Prompt Block",
3
+ "description": "Input Prompt Blocks allow the user to provide textual input to the agent.",
4
+ "branches": {
5
+ "start": [
6
+ {
7
+ "message_type": "informational",
8
+ "block_type": "markdown",
9
+ "block_id": "intro",
10
+ "data": {
11
+ "content": "Input Prompt Blocks allow the user to provide textual input to the agent."
12
+ },
13
+ "timestamp": "2025-01-15T10:00:00Z",
14
+ "chunk_id": 1,
15
+ "agent": {
16
+ "name": "Input Prompt Agent",
17
+ "instance_id": 1
18
+ }
19
+ },
20
+ {
21
+ "message_type": "informational",
22
+ "block_type": "markdown",
23
+ "block_id": "div",
24
+ "data": {
25
+ "content": "---"
26
+ },
27
+ "timestamp": "2025-01-15T10:00:00Z",
28
+ "chunk_id": 1,
29
+ "agent": {
30
+ "name": "Input Prompt Agent",
31
+ "instance_id": 1
32
+ }
33
+ },
34
+ {
35
+ "message_type": "await_user",
36
+ "block_type": "input_prompt",
37
+ "block_id": "user-input-1",
38
+ "data": {
39
+ "prompt": "Here is your message:",
40
+ "placeholder": "Enter your message here..."
41
+ },
42
+ "timestamp": "2025-01-15T10:00:05Z",
43
+ "chunk_id": 1,
44
+ "agent": {
45
+ "name": "Input Prompt Agent",
46
+ "instance_id": 1
47
+ }
48
+ },
49
+ {
50
+ "message_type": "informational",
51
+ "block_type": "markdown",
52
+ "block_id": "response-1",
53
+ "data": {
54
+ "content": "Thank you for your message: {{user-input-1}}.\n\nTry sending another message."
55
+ },
56
+ "timestamp": "2025-01-15T10:00:10Z",
57
+ "chunk_id": 1,
58
+ "agent": {
59
+ "name": "Input Prompt Agent",
60
+ "instance_id": 1
61
+ }
62
+ },
63
+ {
64
+ "message_type": "await_user",
65
+ "block_type": "input_prompt",
66
+ "block_id": "user-input-2",
67
+ "data": {
68
+ "prompt": "Send another message",
69
+ "placeholder": "Type here..."
70
+ },
71
+ "timestamp": "2025-01-15T10:00:15Z",
72
+ "chunk_id": 1,
73
+ "agent": {
74
+ "name": "Input Prompt Agent",
75
+ "instance_id": 1
76
+ }
77
+ },
78
+ {
79
+ "message_type": "informational",
80
+ "block_type": "markdown",
81
+ "block_id": "response-2",
82
+ "data": {
83
+ "content": "Perfect! You sent: {{user-input-2}}."
84
+ },
85
+ "timestamp": "2025-01-15T10:00:20Z",
86
+ "chunk_id": 1,
87
+ "agent": {
88
+ "name": "Input Prompt Agent",
89
+ "instance_id": 1
90
+ }
91
+ }
92
+ ]
93
+ }
94
+ }
@@ -0,0 +1,288 @@
1
+ {
2
+ "name": "Layout Block",
3
+ "description": "Layout Blocks allow multiple blocks to be grouped together in containers, columns, and nested structures.",
4
+ "branches": {
5
+ "start": [
6
+ {
7
+ "message_type": "informational",
8
+ "block_type": "markdown",
9
+ "block_id": "intro",
10
+ "data": {
11
+ "content": "Layout Blocks allow multiple blocks to be grouped together in containers, columns, and nested structures."
12
+ },
13
+ "timestamp": "2025-01-15T10:00:00Z",
14
+ "chunk_id": 1,
15
+ "agent": {
16
+ "name": "Layout Agent",
17
+ "instance_id": 1
18
+ }
19
+ },
20
+ {
21
+ "message_type": "informational",
22
+ "block_type": "markdown",
23
+ "block_id": "div",
24
+ "data": {
25
+ "content": "---"
26
+ },
27
+ "timestamp": "2025-01-15T10:00:00Z",
28
+ "chunk_id": 1,
29
+ "agent": {
30
+ "name": "Layout Agent",
31
+ "instance_id": 1
32
+ }
33
+ },
34
+ {
35
+ "message_type": "informational",
36
+ "block_type": "markdown",
37
+ "block_id": "informational-intro",
38
+ "data": {
39
+ "content": "## Informational Layout Blocks\n\nInformational layout blocks display content without requiring user interaction. They include container and column layouts."
40
+ },
41
+ "timestamp": "2025-01-15T10:00:05Z",
42
+ "chunk_id": 1,
43
+ "agent": {
44
+ "name": "Layout Agent",
45
+ "instance_id": 1
46
+ }
47
+ },
48
+ {
49
+ "message_type": "informational",
50
+ "block_type": "layout",
51
+ "block_id": "container-layout",
52
+ "data": {
53
+ "layout_type": "container",
54
+ "sub_blocks": [
55
+ {
56
+ "sub_block_type": "markdown",
57
+ "sub_block_id": "container-header",
58
+ "data": {
59
+ "content": "### Container Layout\n\nThis is a container layout block with a border."
60
+ }
61
+ },
62
+ {
63
+ "sub_block_type": "markdown",
64
+ "sub_block_id": "container-content",
65
+ "data": {
66
+ "content": "Container layouts group multiple blocks together with an optional border."
67
+ }
68
+ },
69
+ {
70
+ "sub_block_type": "table",
71
+ "sub_block_id": "container-table",
72
+ "data": {
73
+ "columns": ["Name", "Email", "Role"],
74
+ "rows": [
75
+ ["Alice Smith", "alice@example.com", "Manager"],
76
+ ["Bob Johnson", "bob.johnson@company.com", "Software Engineer"],
77
+ ["Carol Lee", "carol.lee@company.com", "Designer"]
78
+ ]
79
+ }
80
+ }
81
+ ],
82
+ "showBorder": true
83
+ },
84
+ "timestamp": "2025-01-15T10:00:10Z",
85
+ "chunk_id": 1,
86
+ "agent": {
87
+ "name": "Layout Agent",
88
+ "instance_id": 1
89
+ }
90
+ },
91
+ {
92
+ "message_type": "informational",
93
+ "block_type": "layout",
94
+ "block_id": "column-layout",
95
+ "data": {
96
+ "layout_type": "column",
97
+ "sub_blocks": [
98
+ {
99
+ "sub_block_type": "markdown",
100
+ "sub_block_id": "column-1",
101
+ "column": 0,
102
+ "data": {
103
+ "content": "### Column 1\n\nThis is the first column."
104
+ }
105
+ },
106
+ {
107
+ "sub_block_type": "markdown",
108
+ "sub_block_id": "column-2",
109
+ "column": 1,
110
+ "data": {
111
+ "content": "### Column 2\n\nThis is the second column."
112
+ }
113
+ },
114
+ {
115
+ "sub_block_type": "markdown",
116
+ "sub_block_id": "column-3",
117
+ "column": 2,
118
+ "data": {
119
+ "content": "### Column 3\n\nThis is the third column."
120
+ }
121
+ }
122
+ ],
123
+ "showBorder": true
124
+ },
125
+ "timestamp": "2025-01-15T10:00:15Z",
126
+ "chunk_id": 1,
127
+ "agent": {
128
+ "name": "Layout Agent",
129
+ "instance_id": 1
130
+ }
131
+ },
132
+ {
133
+ "message_type": "informational",
134
+ "block_type": "markdown",
135
+ "block_id": "nested-intro",
136
+ "data": {
137
+ "content": "## Nested Layout Blocks\n\nNested layout blocks contain other layout blocks, allowing for complex hierarchical structures."
138
+ },
139
+ "timestamp": "2025-01-15T10:00:20Z",
140
+ "chunk_id": 1,
141
+ "agent": {
142
+ "name": "Layout Agent",
143
+ "instance_id": 1
144
+ }
145
+ },
146
+ {
147
+ "message_type": "informational",
148
+ "block_type": "layout",
149
+ "block_id": "nested-layout",
150
+ "data": {
151
+ "layout_type": "container",
152
+ "sub_blocks": [
153
+ {
154
+ "sub_block_type": "markdown",
155
+ "sub_block_id": "outer-header",
156
+ "data": {
157
+ "content": "### Outer Layout\n\nThis outer layout contains a nested layout block."
158
+ }
159
+ },
160
+ {
161
+ "sub_block_type": "layout",
162
+ "sub_block_id": "inner-layout",
163
+ "data": {
164
+ "layout_type": "column",
165
+ "sub_blocks": [
166
+ {
167
+ "sub_block_type": "markdown",
168
+ "sub_block_id": "inner-col-1",
169
+ "data": {
170
+ "content": "**Inner Column 1**\n\nThis is inside a nested column layout."
171
+ }
172
+ },
173
+ {
174
+ "sub_block_type": "markdown",
175
+ "sub_block_id": "inner-col-2",
176
+ "data": {
177
+ "content": "**Inner Column 2**\n\nThis demonstrates nested layouts."
178
+ }
179
+ }
180
+ ],
181
+ "showBorder": true
182
+ }
183
+ }
184
+ ],
185
+ "showBorder": true
186
+ },
187
+ "timestamp": "2025-01-15T10:00:40Z",
188
+ "chunk_id": 1,
189
+ "agent": {
190
+ "name": "Layout Agent",
191
+ "instance_id": 1
192
+ }
193
+ },
194
+ {
195
+ "message_type": "informational",
196
+ "block_type": "markdown",
197
+ "block_id": "await-user-intro",
198
+ "data": {
199
+ "content": "## Await User Layout Blocks\n\nAwait user layout blocks contain interactive elements that require user input before proceeding."
200
+ },
201
+ "timestamp": "2025-01-15T10:00:35Z",
202
+ "chunk_id": 1,
203
+ "agent": {
204
+ "name": "Layout Agent",
205
+ "instance_id": 1
206
+ }
207
+ },
208
+ {
209
+ "message_type": "await_user",
210
+ "block_type": "layout",
211
+ "block_id": "interactive-layout",
212
+ "data": {
213
+ "layout_type": "container",
214
+ "sub_blocks": [
215
+ {
216
+ "sub_block_type": "markdown",
217
+ "sub_block_id": "form-header",
218
+ "data": {
219
+ "content": "### Interactive Form\n\nFill in the form below:"
220
+ }
221
+ },
222
+ {
223
+ "sub_block_type": "button",
224
+ "sub_block_id": "choice",
225
+ "data": {
226
+ "options": ["Option 1", "Option 2", "Option 3"],
227
+ "label": "Make a choice"
228
+ }
229
+ },
230
+ {
231
+ "sub_block_type": "slider",
232
+ "sub_block_id": "value",
233
+ "data": {
234
+ "min": 0,
235
+ "max": 100,
236
+ "value": 50,
237
+ "label": "Adjust value"
238
+ }
239
+ },
240
+ {
241
+ "sub_block_type": "date",
242
+ "sub_block_id": "date",
243
+ "data": {
244
+ "value": "2025-01-15",
245
+ "label": "Select a date"
246
+ }
247
+ }
248
+ ],
249
+ "showBorder": true
250
+ },
251
+ "timestamp": "2025-01-15T10:00:40Z",
252
+ "chunk_id": 1,
253
+ "agent": {
254
+ "name": "Layout Agent",
255
+ "instance_id": 1
256
+ }
257
+ },
258
+ {
259
+ "message_type": "informational",
260
+ "block_type": "markdown",
261
+ "block_id": "interactive-response",
262
+ "data": {
263
+ "content": "You submitted the form with:\n- Choice: {{interactive-layout.choice}}\n- Value: {{interactive-layout.value}}\n- Date: {{interactive-layout.date}}."
264
+ },
265
+ "timestamp": "2025-01-15T10:00:45Z",
266
+ "chunk_id": 1,
267
+ "agent": {
268
+ "name": "Layout Agent",
269
+ "instance_id": 1
270
+ }
271
+ },
272
+ {
273
+ "message_type": "informational",
274
+ "block_type": "markdown",
275
+ "block_id": "summary",
276
+ "data": {
277
+ "content": "\n\n## Summary\n\nThis demo has shown:\n\n- **Container layouts** for grouping content with borders\n- **Column layouts** for side-by-side content\n- **Nested layouts** with layouts inside layouts\n- **Await user layouts** with interactive elements\n\nAll layout types support various sub-block types including markdown, buttons, sliders, dates, and even other layouts!"
278
+ },
279
+ "timestamp": "2025-01-15T10:00:45Z",
280
+ "chunk_id": 1,
281
+ "agent": {
282
+ "name": "Layout Agent",
283
+ "instance_id": 1
284
+ }
285
+ }
286
+ ]
287
+ }
288
+ }