klue-langcraft 0.0.5 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f4e107b80b2ccf6c62208b7e596ccfd4bab535210d5ba1b2068e2e1b1182fbad
4
- data.tar.gz: c1e013f20ffe2975e5493a707a76921239238d1eb9bb29339810c43cfc2b0105
3
+ metadata.gz: 3e6e99cd20f8b4020ee4a895e32c4ffdbed6f4fcb92079db78c973337a73c570
4
+ data.tar.gz: 9ac8b289d7d8d5aaa2dafec3d2181d278829df88714680cc986f4652a0d80273
5
5
  SHA512:
6
- metadata.gz: 41a0887471665e90474caa7d49051153c82fd9be5c438781d761489dec43229a626a4dde3337f1bfc3ace50e5a6d443e3610b705778cab150fe8ad45e0a57604
7
- data.tar.gz: f7c6ac3447a02985a00d5ccb3840ba8bc07fde2179cb1fdabe314bae541a5450fbf12e3da7261773372940a5a6a820aa3f48283ca641e5a6a757bef89f4dc811
6
+ metadata.gz: f14b941d93e2b103efa214f50bc3d9b6b151b75a8dfbd7957dec78fd3bee113b1f8026d689d7974447f6b0819b546e0daf189990505e35e056acdd1811909853
7
+ data.tar.gz: fe8998e329fbd0cc6bc84c30dee4d98a69dfebd28b8fe60ec4148a0633f11e52db3ec90f5b0cbc820399e38643bbf7799b4f88c2b8505a79db24a914feb63b78
@@ -5,73 +5,35 @@ KManager.action :project_plan do
5
5
  .init(k_builder, on_exist: :write, on_action: :execute)
6
6
  .diagram(rounded: 1, glass: 1)
7
7
  .page('In progress', theme: :style_03, margin_left: 0, margin_top: 0) do
8
-
9
- # h5(x: 300, y: -50, w: 400, h: 80, title: 'DrawIO DSL')
10
-
11
8
  grid_layout(y: 190, direction: :horizontal, grid_h: 80, grid_w: 320, wrap_at: 3, grid: 0)
12
9
 
13
- # Prompts need to support file read operation
14
-
15
- todo(title: 'Migrate from alpine to svelte, vue or react')
16
-
10
+ todo(title: 'DSLs as Code sample DSL')
11
+ todo(title: 'Automate Base DSL setup')
12
+ todo(title: 'Automate DSL definion/designer for target DSL')
13
+ # todo(title: '')
14
+ # todo(title: '')
17
15
  # todo(title: '')
16
+
18
17
  end
19
18
  .page('To Do', theme: :style_02, margin_left: 0, margin_top: 0) do
20
-
21
- # h5(x: 300, y: 0, w: 400, h: 80, title: 'DrawIO DSL')
22
-
23
19
  grid_layout(y:90, direction: :horizontal, grid_h: 80, grid_w: 320, wrap_at: 3, grid: 0)
24
20
 
25
- todo(title: 'SSR/SSG/CLIENT HIBRID')
26
- todo(title: 'Local Tunnel Integration: https://www.youtube.com/watch?v=D5ArCEjV0gU')
27
- todo(title: 'Turn into mobile phone app: https://www.youtube.com/watch?v=ZFNwTJiDEvU')
28
- todo(title: 'Excalabr and TLDraw Integration')
29
- # todo(title: 'Add hydrate DSL from saved workflow ID')
30
- # todo(title: 'Add hydrate DSL from saved JSON')
31
- # todo(title: 'Geneate DSL structure from saved YAML')
32
- todo(title: 'Add side draw or modal to see the final prompt')
33
- todo(title: 'Add copy to clipboard button to the final prompt')
34
- todo(title: 'Add copy to clipboard button to input attribute name as placeholder')
35
- todo(title: 'Visual graph of the workflow')
36
- todo(title: 'Visual steps of the workflow')
37
- todo(title: 'Add select action or custom action to any steps')
38
- todo(title: 'Add output window for LLM run')
39
- todo(title: 'Clicking on sections will show the steps in that section')
40
- todo(title: 'Clicking on attributes will show all attributes in the workflow')
41
- todo(title: 'Clicking on prompts will show all prompts in the workflow')
42
- todo(title: 'Clicking on dashboard will show visual hierarchy of the workflow')
43
- todo(title: 'Need a runs button')
44
- todo(title: 'VCode Editor: https://chatgpt.com/c/e09e1367-db5e-4786-b362-db35805b1e20')
45
- todo(title: 'Report: Simple hierarchy of the workflow')
46
- todo(title: 'Connect to LLM')
47
- todo(title: 'Connect to Elevenlabs or other TTS')
48
- todo(title: 'Export: Mindmap')
49
- todo(title: 'Export: Agent Framework CrewAI')
50
- todo(title: 'Export: Agent Framework Langchain')
51
- todo(title: 'Export: Agent Framework Rasa')
52
- todo(title: 'Export: Agent Framework Botpress')
53
- todo(title: 'Export: Agent Framework Dialogflow')
54
- todo(title: 'Export: Agent Framework Microsoft Bot Framework')
21
+ todo(title: 'Add guideline documentation')
22
+ todo(title: 'Docs as Code sample DSL')
23
+ todo(title: 'Agent as Code sample DSL')
24
+ todo(title: 'Poly as Code sample DSL')
25
+ todo(title: 'Voice as Code sample DSL')
26
+ todo(title: 'Data as Code sample DSL')
27
+ todo(title: 'Chart Design as Code sample DSL')
28
+ todo(title: 'Video as Code sample DSL')
29
+ todo(title: 'Image as Code sample DSL')
30
+
55
31
  end
56
32
  .page('Done', theme: :style_06, margin_left: 0, margin_top: 0) do
57
33
 
58
- # h5(x: 300, y: 0, w: 400, h: 80, title: 'DrawIO DSL')
59
-
60
34
  grid_layout(y:90, direction: :horizontal, grid_h: 80, grid_w: 320, wrap_at: 3, grid: 0)
61
35
 
62
- todo(title: 'Add dynamic menu support for attributes, prompts, settings and section menus')
63
- todo(title: 'Fix Alpine Javascript Issues')
64
- todo(title: 'Steps display horizontally')
65
- todo(title: 'Add saved workflow ID and save? to the DSL')
66
- todo(title: 'Prompt set in step DSL will now lookup common prompts')
67
- todo(title: 'Create tests for Agent Data Builder and hook up to save YAML/JSON')
68
- todo(title: 'Settings need to persist in the settings or workflow table')
69
- todo(title: 'Add add title name & description support to Agent Data Builder')
70
- todo(title: 'Add fluent method access to all DSLs')
71
- todo(title: 'Generate DSL for an Agent Architecture workflow')
72
- todo(title: 'Attributes are auto created when used in a step, but not preconfigured')
73
- todo(title: 'Add support for project plan')
74
- todo(title: 'Fix the DB issue introduced via DSL refactor')
36
+ todo(title: 'Setup project with CI/CD, tests, linting, basic doumentation, semantic versioning')
75
37
  end
76
38
  .cd(:docs)
77
39
  .save('project-plan/project.drawio')
data/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ ## [0.0.6](https://github.com/appydave/klue-langcraft/compare/v0.0.5...v0.0.6) (2024-09-20)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * update documentation for usecases ([298f85a](https://github.com/appydave/klue-langcraft/commit/298f85aabf2a8acfad4926f2127017174df03ce4))
7
+
8
+ ## [0.0.5](https://github.com/appydave/klue-langcraft/compare/v0.0.4...v0.0.5) (2024-09-20)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * add project plan ([46e2be2](https://github.com/appydave/klue-langcraft/commit/46e2be28cf36c98894ddc19342f14965b6fe580a))
14
+
1
15
  ## [0.0.4](https://github.com/appydave/klue-langcraft/compare/v0.0.3...v0.0.4) (2024-09-20)
2
16
 
3
17
 
data/README.md CHANGED
@@ -28,13 +28,11 @@ gem install klue-langcraft
28
28
 
29
29
  As a DSL designer, I want to testing out Domain Specific Language designs for different usecases, so that I can develop DSLs quickly and effectively
30
30
 
31
- See all [stories](./STORIES.md)
31
+ See [project plan](./docs/project-plan/project-plan.md)
32
32
 
33
+ ## Use Cases
33
34
 
34
- ## Usage
35
-
36
- See all [usage examples](./USAGE.md)
37
-
35
+ [DSL Use Cases](./spec/usecases/readme.md)
38
36
 
39
37
 
40
38
  ## Development
@@ -52,8 +50,6 @@ You can also run `bin/console` for an interactive prompt that will allow you to
52
50
  ```bash
53
51
  bin/console
54
52
 
55
- Aaa::Bbb::Program.execute()
56
- # => ""
57
53
  ```
58
54
 
59
55
  `klue-langcraft` is setup with Guard, run `guard`, this will watch development file changes and run tests automatically, if successful, it will then run rubocop for style quality.
data/docs/dsl-rules.md ADDED
@@ -0,0 +1,262 @@
1
+ # DSL Rules
2
+
3
+ The DSL using ruby like syntax that maps paramaters and values in fashion similar to the Ruby programming language.
4
+
5
+ ## Data Types in DSLs
6
+
7
+ DSLs can use various types of data as input and provide flexibility in handling different kinds of values. Below are the main data types supported:
8
+
9
+ - **Strings:** Represent textual data and are enclosed in quotes. They are typically used for descriptive content or text-based parameters.
10
+ - **Symbols:** Identifiers often used for keys or labels in configuration. Symbols are concise and unique, making them ideal for representing options or identifiers.
11
+ - **Booleans:** Represent true/false values and are useful for toggling features or conditions within the DSL.
12
+ - **Integers:** Whole numbers without fractions, often used for quantities, counts, or IDs.
13
+ - **Floats:** Numbers that include decimal points, used when more precise values are required, such as for time durations or percentages.
14
+
15
+ These data types allow the DSL to handle a wide variety of input values, making it versatile for different use cases and configurations.
16
+
17
+ Note: Data types are currently only cosmetic, everything will get stored as a string internally, but we might put in some validation that can at least let us know if we've got the wrong sort of data provided.
18
+
19
+
20
+ ## DSL argument rules
21
+
22
+ In Ruby, parameters (or "arguments") come in various types such as positional, optional, splat (*), and keyword arguments (**).
23
+ Each parameter type follows specific conventions, and the Ruby language uses distinct terms for each.
24
+ Below is an overview of these types and their corresponding metadata fields.
25
+
26
+ ### Methods and Arguements
27
+
28
+ #### 1. Positional Parameters
29
+ - **Description**: These are the most common type of parameters. They are passed in the exact order defined in the method signature.
30
+ - **Ruby Example**: `def method(a, b)`
31
+ - **Metadata Fields**:
32
+ - `type`: positional
33
+ - `name`: a (or the parameter name)
34
+ - **Inferred Fields**:
35
+ - `required`: true
36
+
37
+ ```ruby
38
+ param :a, type: :positional # required: true
39
+ param :b, type: :positional # required: true
40
+ ```
41
+
42
+
43
+ #### 2. Optional Parameters
44
+ - **Description**: These are positional parameters with default values, making them optional.
45
+ - **Ruby Example**: `def method(a = 1)`
46
+ - **Metadata Fields**:
47
+ - `type`: positional
48
+ - `name`: a
49
+ - `default_value`: 1
50
+ - **Inferred Fields**:
51
+ - `required`: false
52
+
53
+ ```ruby
54
+ param :a, type: :positional, default: 1 # required: false
55
+ ```
56
+
57
+ #### 3. Splat Parameters (*)
58
+ - **Description**: The splat operator `*` captures any number of additional positional arguments into an array.
59
+ - **Ruby Example**: `def method(*args)`
60
+ - **Metadata Fields**:
61
+ - `type`: splat
62
+ - `name`: args
63
+ - **Inferred Fields**:
64
+ - `required`: false
65
+ - `variadic`: true
66
+
67
+ ```ruby
68
+ param :args, type: :splat # required: false, variadic: true
69
+ ```
70
+
71
+ #### 4. Keyword Parameters
72
+ - **Description**: Keyword arguments are named arguments passed as a hash or individual key-value pairs. They can be required or optional.
73
+ - **Ruby Example**: `def method(a:, b: 1)`
74
+ - **For required keyword argument**:
75
+ - **Metadata Fields**:
76
+ - `type`: keyword
77
+ - `name`: a
78
+ - **Inferred Fields**:
79
+ - `required`: true
80
+ - **For optional keyword argument**:
81
+ - **Metadata Fields**:
82
+ - `type`: keyword
83
+ - `name`: b
84
+ - `default_value`: 1
85
+ - **Inferred Fields**:
86
+ - `required`: false
87
+
88
+ ```ruby
89
+ param :a, type: :keyword # required: true
90
+ param :b, type: :keyword, default: 1 # required: true
91
+ ```
92
+
93
+
94
+ #### 5. Double Splat Parameters (**)
95
+ - **Description**: The double splat operator `**` captures any number of additional keyword arguments into a hash.
96
+ - **Ruby Example**: `def method(**opts)`
97
+ - **Metadata Fields**:
98
+ - `type`: double_splat
99
+ - `name`: opts
100
+ - **Inferred Fields**:
101
+ - `required`: false
102
+ - `variadic`: true
103
+
104
+ ```ruby
105
+ param :opts, type: :double_splat # required: false, variadic: true
106
+ ```
107
+
108
+ #### Block Paramaters
109
+
110
+ The idea of ruby block parameters have been deprectated, instead the syntax has been retained for containers, see below.
111
+
112
+ ## DSL Containers
113
+
114
+ Containers represent a named block that can take parameters and contain aditional nested elements.
115
+
116
+ They follow usage that is similar in concept to an XML element, in that they have a name, then can take paramaters (aka attributes) and then can be self closing.
117
+
118
+ The container will be represented as a `do ... end` when hosting child containers
119
+ The container can also be self closing, in which case there is no `do ... end`, there is just an element with zero or more parameters followed by a newline.
120
+
121
+ The root containers will be called `definition`, all other containers will be known as `node`
122
+
123
+ ### Rules
124
+
125
+ These rules should be observed when dealing with different parameters and blocks
126
+
127
+ **Required vs Optional Parameters:**
128
+
129
+ - **Positional required parameters**: Defined without a default value.
130
+ - **Optional positional parameters**: Have default values or are represented with splat (`*`).
131
+ - **Required keyword arguments**: Must be passed explicitly unless a default value is provided.
132
+ - **Optional keyword arguments**: Have default values or can be omitted.
133
+
134
+ ### Order and constraints
135
+
136
+ A container can take parameters based on the defined styles, but they must follow an order and adhere to constraints.
137
+
138
+ **Order/Construction:**
139
+
140
+ 1. Declarative parameters (if present, the method name acts as the first positional parameter)
141
+ 2. Required positional parameters
142
+ 3. Optional positional parameters
143
+ 4. Splat parameters, zero or one
144
+ 5. Required keyword parameters
145
+ 6. Optional keyword parameters
146
+ 7. Double splat parameters, zero or one
147
+
148
+ **Constraints:**
149
+
150
+ 1. Declarative parameters, if present, replace the first positional parameter, and no additional required positional parameters can come before it.
151
+ 2. Required positional parameters must come before any optional positional parameters.
152
+ 3. The splat parameter, if present, must come after all positional parameters (required and optional).
153
+ 4. Keyword parameters (both required and optional) must come after all positional and splat parameters.
154
+ 5. The double splat parameter, if present, must be the last parameter.
155
+ 6. You can't have more than one splat or double splat parameter in a container.
156
+ 7. Once you start using keyword parameters, you can't use positional parameters anymore in that container.
157
+
158
+ ## Examples
159
+
160
+ The following examples will build on top of one another to create an Agent as Code DSL designed for Agent Workflows.
161
+
162
+ The example workflow will ben implementation of the agent as code for YouTube Launch Optimization.
163
+
164
+ ### Root Node (#1).
165
+
166
+ The root node for a DSL is named `definition`, it behaves like any other `node` accept that you provide the DSL name.
167
+
168
+ An agentic workflow might take a name and optional description.
169
+
170
+ ```ruby
171
+ # Sample DSL
172
+ workflow :youtube_launch_optimizer, 'Optimize the video publishing for YouTube Titles, Descriptions, Thumbnails and social content' do
173
+ end
174
+ ```
175
+
176
+ ```ruby
177
+ # DSL Definition
178
+ definition :workflow do
179
+ param :name, type: :positional
180
+ param :description, type: :positional, default: nil
181
+ end
182
+ ```
183
+
184
+ ### Root Node (#2).
185
+
186
+ An agentic workflow might take a name only and use a child node for description using a self closing syntax.
187
+
188
+ ```ruby
189
+ # Sample DSL
190
+ workflow :youtube_launch_optimizer do
191
+ description 'Optimize the video publishing for YouTube Titles, Descriptions, Thumbnails and social content'
192
+ end
193
+ ```
194
+
195
+ ```ruby
196
+ # DSL Definition
197
+ definition :workflow do
198
+ param :name, type: :positional
199
+ node :description do
200
+ param :description, type: :positional
201
+ end
202
+ end
203
+ ```
204
+
205
+ ### Single Node with List (#3)
206
+
207
+ Here we have a single node called settings with a list of setting that contains a key and a value.
208
+ Notice `repeat: true` is used to indicate that the setting is a repeatable element.
209
+
210
+ ```ruby
211
+ # Sample DSL
212
+
213
+ workflow :youtube_launch_optimizer do
214
+ settings do
215
+ setting :prompt_path, 'prompts/youtube/launch_optimizer'
216
+ setting :default_llm, :gpt4o
217
+ end
218
+ end
219
+ ```
220
+
221
+ ```ruby
222
+ # DSL Definition
223
+ definition :workflow do
224
+ param :name, type: :positional
225
+ node :settings do
226
+ node :setting, repeat: true do
227
+ param :key, type: :positional
228
+ param :value, type: :positional
229
+ end
230
+ end
231
+ end
232
+ ```
233
+
234
+ ### Single Node with list - declaritve syntax (#4)
235
+
236
+ Like before, we have a single node called settings with a list of setting that contains a key and a value.
237
+ This time the you can use the method name as the first paramater value because it is of type declarative.
238
+ This can make some DSL usage a little easier to understand
239
+
240
+ ```ruby
241
+ # Sample DSL
242
+
243
+ workflow :youtube_launch_optimizer do
244
+ settings do
245
+ prompt_path 'prompts/youtube/launch_optimizer'
246
+ default_llm :gpt4o
247
+ end
248
+ end
249
+ ```
250
+
251
+ ```ruby
252
+ # DSL Definition
253
+ definition :workflow do
254
+ param :name, type: :positional
255
+ node :settings do
256
+ node :setting, repeat: true do
257
+ param :key, type: :declaritive # the method name typed in will be come the value for the key paramater
258
+ param :value, type: :positional
259
+ end
260
+ end
261
+ end
262
+ ```
@@ -0,0 +1,58 @@
1
+ definition :workflow do
2
+ param :name, type: :positional
3
+
4
+ node :description do
5
+ param :description, type: :positional
6
+ end
7
+
8
+ node :settings do
9
+ node :setting, repeat: true do
10
+ param :key, type: :declarative # Allows method name to be used as the key
11
+ param :value, type: :positional
12
+ end
13
+ end
14
+
15
+ node :prompts do
16
+ node :prompt, repeat: true do
17
+ param :key, type: :positional
18
+ param :content, type: :named, name: ''
19
+ end
20
+ end
21
+
22
+ # Section node with repeatable steps
23
+ node :section, repeat: true do
24
+ param :name, type: :positional
25
+
26
+ node :step, repeat: true do
27
+ param :key, type: :positional
28
+
29
+ node :input, repeat: true do
30
+ param :key, type: :positional
31
+ end
32
+
33
+ node :prompt do
34
+ param :key, type: :positional
35
+ end
36
+
37
+ node :output, repeat: true do
38
+ param :key, type: :positional
39
+ end
40
+ end
41
+ end
42
+
43
+ node :actions do
44
+ node :save do
45
+ end
46
+
47
+ node :save_json do
48
+ param :path, type: :positional
49
+ end
50
+
51
+ node :action, repeat: true do
52
+ param :name, type: :positional # Action name (e.g., save, save_json)
53
+
54
+ # Named parameters for actions
55
+ param :args, type: :named, name: 'args', repeat: true, optional: true # Optional args like file path for save_json
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,47 @@
1
+ workflow :youtube_launch_optimizer do
2
+ description 'This workflow optimizes video launch by analyzing, preparing, and generating content for various platforms.'
3
+
4
+ settings do
5
+ prompt_path 'prompts/youtube/launch_optimizer'
6
+ default_llm :gpt4o
7
+ end
8
+
9
+ prompts do
10
+ prompt :some_prompt , content: '1-1-some.txt'
11
+ prompt :another_prompt , content: '1-2-another.txt'
12
+ prompt :yet_another_prompt , content: '1-3-yet-another.txt'
13
+ end
14
+
15
+ section 'Section 1' do
16
+ step 'Step 1' do
17
+ input :attribute1
18
+ input :attribute2
19
+ end
20
+
21
+ step 'Step 2' do
22
+ input :attribute1
23
+ prompt :some_prompt
24
+ output :attribute3
25
+ end
26
+
27
+ step 'Step 3' do
28
+ input :attribute2
29
+ input :attribute3
30
+ prompt :another_prompt
31
+ output :attribute4
32
+ end
33
+ end
34
+
35
+ section 'Section 2' do
36
+ step 'Other Step 1' do
37
+ input :attribute1
38
+ prompt :yet_another_prompt
39
+ output :attribute5
40
+ end
41
+ end
42
+
43
+ actions do
44
+ save
45
+ save_json '~/gpt-workflows/youtube-launch-optimizer.json'
46
+ end
47
+ end
@@ -0,0 +1,23 @@
1
+ # Language Craft - Project Plan
2
+
3
+ ## In Progress
4
+
5
+ The next ticket to work on
6
+
7
+ ![](project_in_progress.svg)
8
+
9
+ ## To Do
10
+
11
+ List of tickets to do
12
+
13
+ ![](project_todo.svg)
14
+
15
+ ## Complete
16
+
17
+ List of completed tickets
18
+
19
+ ![](project_done.svg)
20
+
21
+ ## Copyright
22
+
23
+ Copyright (c) David Cruwys. See [MIT License](LICENSE.txt) for further details.
@@ -1,148 +1,64 @@
1
- <mxfile host="3y2">
2
- <diagram id="efq" name="In progress">
1
+ <mxfile host="DKN">
2
+ <diagram id="y30" name="In progress">
3
3
  <mxGraphModel dx="0" dy="0" background="#FFFAFA" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
4
4
  <root>
5
- <mxCell id="page_root_efq" parent="efq"/>
6
- <mxCell id="node_root_efq" parent="page_root_efq"/>
7
- <mxCell id="efq-2" value="Migrate from alpine to svelte, vue or react" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#333333" vertex="1" parent="node_root_efq">
5
+ <mxCell id="page_root_y30" parent="y30"/>
6
+ <mxCell id="node_root_y30" parent="page_root_y30"/>
7
+ <mxCell id="y30-2" value="DSLs as Code sample DSL" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#333333" vertex="1" parent="node_root_y30">
8
8
  <mxGeometry x="10" y="10" width="300" height="60" as="geometry"/>
9
9
  </mxCell>
10
+ <mxCell id="y30-3" value="Automate Base DSL setup" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#333333" vertex="1" parent="node_root_y30">
11
+ <mxGeometry x="330" y="10" width="300" height="60" as="geometry"/>
12
+ </mxCell>
13
+ <mxCell id="y30-4" value="Automate DSL definion/designer for target DSL" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#333333" vertex="1" parent="node_root_y30">
14
+ <mxGeometry x="650" y="10" width="300" height="60" as="geometry"/>
15
+ </mxCell>
10
16
  </root>
11
17
  </mxGraphModel>
12
18
  </diagram>
13
- <diagram id="7tj" name="To Do">
19
+ <diagram id="gaX" name="To Do">
14
20
  <mxGraphModel dx="0" dy="0" background="#FFFAFA" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
15
21
  <root>
16
- <mxCell id="page_root_7tj" parent="7tj"/>
17
- <mxCell id="node_root_7tj" parent="page_root_7tj"/>
18
- <mxCell id="7tj-2" value="SSR/SSG/CLIENT HIBRID" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_7tj">
22
+ <mxCell id="page_root_gaX" parent="gaX"/>
23
+ <mxCell id="node_root_gaX" parent="page_root_gaX"/>
24
+ <mxCell id="gaX-2" value="Add guideline documentation" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_gaX">
19
25
  <mxGeometry x="10" y="10" width="300" height="60" as="geometry"/>
20
26
  </mxCell>
21
- <mxCell id="7tj-3" value="Local Tunnel Integration: https://www.youtube.com/watch?v=D5ArCEjV0gU" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_7tj">
27
+ <mxCell id="gaX-3" value="Docs as Code sample DSL" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_gaX">
22
28
  <mxGeometry x="330" y="10" width="300" height="60" as="geometry"/>
23
29
  </mxCell>
24
- <mxCell id="7tj-4" value="Turn into mobile phone app: https://www.youtube.com/watch?v=ZFNwTJiDEvU" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_7tj">
30
+ <mxCell id="gaX-4" value="Agent as Code sample DSL" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_gaX">
25
31
  <mxGeometry x="650" y="10" width="300" height="60" as="geometry"/>
26
32
  </mxCell>
27
- <mxCell id="7tj-5" value="Excalabr and TLDraw Integration" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_7tj">
33
+ <mxCell id="gaX-5" value="Poly as Code sample DSL" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_gaX">
28
34
  <mxGeometry x="10" y="90" width="300" height="60" as="geometry"/>
29
35
  </mxCell>
30
- <mxCell id="7tj-6" value="Add side draw or modal to see the final prompt" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_7tj">
36
+ <mxCell id="gaX-6" value="Voice as Code sample DSL" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_gaX">
31
37
  <mxGeometry x="330" y="90" width="300" height="60" as="geometry"/>
32
38
  </mxCell>
33
- <mxCell id="7tj-7" value="Add copy to clipboard button to the final prompt" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_7tj">
39
+ <mxCell id="gaX-7" value="Data as Code sample DSL" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_gaX">
34
40
  <mxGeometry x="650" y="90" width="300" height="60" as="geometry"/>
35
41
  </mxCell>
36
- <mxCell id="7tj-8" value="Add copy to clipboard button to input attribute name as placeholder" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_7tj">
42
+ <mxCell id="gaX-8" value="Chart Design as Code sample DSL" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_gaX">
37
43
  <mxGeometry x="10" y="170" width="300" height="60" as="geometry"/>
38
44
  </mxCell>
39
- <mxCell id="7tj-9" value="Visual graph of the workflow" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_7tj">
45
+ <mxCell id="gaX-9" value="Video as Code sample DSL" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_gaX">
40
46
  <mxGeometry x="330" y="170" width="300" height="60" as="geometry"/>
41
47
  </mxCell>
42
- <mxCell id="7tj-10" value="Visual steps of the workflow" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_7tj">
48
+ <mxCell id="gaX-10" value="Image as Code sample DSL" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_gaX">
43
49
  <mxGeometry x="650" y="170" width="300" height="60" as="geometry"/>
44
50
  </mxCell>
45
- <mxCell id="7tj-11" value="Add select action or custom action to any steps" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_7tj">
46
- <mxGeometry x="10" y="250" width="300" height="60" as="geometry"/>
47
- </mxCell>
48
- <mxCell id="7tj-12" value="Add output window for LLM run" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_7tj">
49
- <mxGeometry x="330" y="250" width="300" height="60" as="geometry"/>
50
- </mxCell>
51
- <mxCell id="7tj-13" value="Clicking on sections will show the steps in that section" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_7tj">
52
- <mxGeometry x="650" y="250" width="300" height="60" as="geometry"/>
53
- </mxCell>
54
- <mxCell id="7tj-14" value="Clicking on attributes will show all attributes in the workflow" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_7tj">
55
- <mxGeometry x="10" y="330" width="300" height="60" as="geometry"/>
56
- </mxCell>
57
- <mxCell id="7tj-15" value="Clicking on prompts will show all prompts in the workflow" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_7tj">
58
- <mxGeometry x="330" y="330" width="300" height="60" as="geometry"/>
59
- </mxCell>
60
- <mxCell id="7tj-16" value="Clicking on dashboard will show visual hierarchy of the workflow" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_7tj">
61
- <mxGeometry x="650" y="330" width="300" height="60" as="geometry"/>
62
- </mxCell>
63
- <mxCell id="7tj-17" value="Need a runs button" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_7tj">
64
- <mxGeometry x="10" y="410" width="300" height="60" as="geometry"/>
65
- </mxCell>
66
- <mxCell id="7tj-18" value="VCode Editor: https://chatgpt.com/c/e09e1367-db5e-4786-b362-db35805b1e20" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_7tj">
67
- <mxGeometry x="330" y="410" width="300" height="60" as="geometry"/>
68
- </mxCell>
69
- <mxCell id="7tj-19" value="Report: Simple hierarchy of the workflow" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_7tj">
70
- <mxGeometry x="650" y="410" width="300" height="60" as="geometry"/>
71
- </mxCell>
72
- <mxCell id="7tj-20" value="Connect to LLM" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_7tj">
73
- <mxGeometry x="10" y="490" width="300" height="60" as="geometry"/>
74
- </mxCell>
75
- <mxCell id="7tj-21" value="Connect to Elevenlabs or other TTS" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_7tj">
76
- <mxGeometry x="330" y="490" width="300" height="60" as="geometry"/>
77
- </mxCell>
78
- <mxCell id="7tj-22" value="Export: Mindmap" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_7tj">
79
- <mxGeometry x="650" y="490" width="300" height="60" as="geometry"/>
80
- </mxCell>
81
- <mxCell id="7tj-23" value="Export: Agent Framework CrewAI" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_7tj">
82
- <mxGeometry x="10" y="570" width="300" height="60" as="geometry"/>
83
- </mxCell>
84
- <mxCell id="7tj-24" value="Export: Agent Framework Langchain" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_7tj">
85
- <mxGeometry x="330" y="570" width="300" height="60" as="geometry"/>
86
- </mxCell>
87
- <mxCell id="7tj-25" value="Export: Agent Framework Rasa" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_7tj">
88
- <mxGeometry x="650" y="570" width="300" height="60" as="geometry"/>
89
- </mxCell>
90
- <mxCell id="7tj-26" value="Export: Agent Framework Botpress" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_7tj">
91
- <mxGeometry x="10" y="650" width="300" height="60" as="geometry"/>
92
- </mxCell>
93
- <mxCell id="7tj-27" value="Export: Agent Framework Dialogflow" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_7tj">
94
- <mxGeometry x="330" y="650" width="300" height="60" as="geometry"/>
95
- </mxCell>
96
- <mxCell id="7tj-28" value="Export: Agent Framework Microsoft Bot Framework" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_7tj">
97
- <mxGeometry x="650" y="650" width="300" height="60" as="geometry"/>
98
- </mxCell>
99
51
  </root>
100
52
  </mxGraphModel>
101
53
  </diagram>
102
- <diagram id="Xc2" name="Done">
54
+ <diagram id="Iaa" name="Done">
103
55
  <mxGraphModel dx="0" dy="0" background="#FFFAFA" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
104
56
  <root>
105
- <mxCell id="page_root_Xc2" parent="Xc2"/>
106
- <mxCell id="node_root_Xc2" parent="page_root_Xc2"/>
107
- <mxCell id="Xc2-2" value="Add dynamic menu support for attributes, prompts, settings and section menus" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_Xc2">
57
+ <mxCell id="page_root_Iaa" parent="Iaa"/>
58
+ <mxCell id="node_root_Iaa" parent="page_root_Iaa"/>
59
+ <mxCell id="Iaa-2" value="Setup project with CI/CD, tests, linting, basic doumentation, semantic versioning" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_Iaa">
108
60
  <mxGeometry x="10" y="10" width="300" height="60" as="geometry"/>
109
61
  </mxCell>
110
- <mxCell id="Xc2-3" value="Fix Alpine Javascript Issues" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_Xc2">
111
- <mxGeometry x="330" y="10" width="300" height="60" as="geometry"/>
112
- </mxCell>
113
- <mxCell id="Xc2-4" value="Steps display horizontally" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_Xc2">
114
- <mxGeometry x="650" y="10" width="300" height="60" as="geometry"/>
115
- </mxCell>
116
- <mxCell id="Xc2-5" value="Add saved workflow ID and save? to the DSL" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_Xc2">
117
- <mxGeometry x="10" y="90" width="300" height="60" as="geometry"/>
118
- </mxCell>
119
- <mxCell id="Xc2-6" value="Prompt set in step DSL will now lookup common prompts" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_Xc2">
120
- <mxGeometry x="330" y="90" width="300" height="60" as="geometry"/>
121
- </mxCell>
122
- <mxCell id="Xc2-7" value="Create tests for Agent Data Builder and hook up to save YAML/JSON" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_Xc2">
123
- <mxGeometry x="650" y="90" width="300" height="60" as="geometry"/>
124
- </mxCell>
125
- <mxCell id="Xc2-8" value="Settings need to persist in the settings or workflow table" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_Xc2">
126
- <mxGeometry x="10" y="170" width="300" height="60" as="geometry"/>
127
- </mxCell>
128
- <mxCell id="Xc2-9" value="Add add title name &amp; description support to Agent Data Builder" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_Xc2">
129
- <mxGeometry x="330" y="170" width="300" height="60" as="geometry"/>
130
- </mxCell>
131
- <mxCell id="Xc2-10" value="Add fluent method access to all DSLs" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_Xc2">
132
- <mxGeometry x="650" y="170" width="300" height="60" as="geometry"/>
133
- </mxCell>
134
- <mxCell id="Xc2-11" value="Generate DSL for an Agent Architecture workflow" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_Xc2">
135
- <mxGeometry x="10" y="250" width="300" height="60" as="geometry"/>
136
- </mxCell>
137
- <mxCell id="Xc2-12" value="Attributes are auto created when used in a step, but not preconfigured" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_Xc2">
138
- <mxGeometry x="330" y="250" width="300" height="60" as="geometry"/>
139
- </mxCell>
140
- <mxCell id="Xc2-13" value="Add support for project plan" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_Xc2">
141
- <mxGeometry x="650" y="250" width="300" height="60" as="geometry"/>
142
- </mxCell>
143
- <mxCell id="Xc2-14" value="Fix the DB issue introduced via DSL refactor" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_Xc2">
144
- <mxGeometry x="10" y="330" width="300" height="60" as="geometry"/>
145
- </mxCell>
146
62
  </root>
147
63
  </mxGraphModel>
148
64
  </diagram>
@@ -1,3 +1,3 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="942px" height="382px" viewBox="-0.5 -0.5 942 382"><defs><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-ffffff-0.9-ffffff-0.1-s-0"><stop offset="0%" style="stop-color: rgb(255, 255, 255); stop-opacity: 0.9;"/><stop offset="100%" style="stop-color: rgb(255, 255, 255); stop-opacity: 0.1;"/></linearGradient></defs><g><g data-cell-id="page_root_Xc2"><g data-cell-id="node_root_Xc2"><g data-cell-id="Xc2-2"><g><rect x="0" y="0" width="300" height="60" rx="9" ry="9" fill="#f8cecc" stroke="#b85450" pointer-events="all"/><path d="M 10.15 -1 Q -1 -1 -1 10.15 L -1 24 Q 150 42 301 24 L 301 10.15 Q 301 -1 289.85 -1 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 30px; margin-left: 1px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Add dynamic menu support for attributes, prompts, settings and section menus</div></div></div></foreignObject><text x="150" y="34" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Add dynamic menu support for attributes, prompts,...</text></switch></g></g></g><g data-cell-id="Xc2-3"><g><rect x="320" y="0" width="300" height="60" rx="9" ry="9" fill="#f8cecc" stroke="#b85450" pointer-events="all"/><path d="M 330.15 -1 Q 319 -1 319 10.15 L 319 24 Q 470 42 621 24 L 621 10.15 Q 621 -1 609.85 -1 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 30px; margin-left: 321px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Fix Alpine Javascript Issues</div></div></div></foreignObject><text x="470" y="34" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Fix Alpine Javascript Issues</text></switch></g></g></g><g data-cell-id="Xc2-4"><g><rect x="640" y="0" width="300" height="60" rx="9" ry="9" fill="#f8cecc" stroke="#b85450" pointer-events="all"/><path d="M 650.15 -1 Q 639 -1 639 10.15 L 639 24 Q 790 42 941 24 L 941 10.15 Q 941 -1 929.85 -1 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 30px; margin-left: 641px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Steps display horizontally</div></div></div></foreignObject><text x="790" y="34" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Steps display horizontally</text></switch></g></g></g><g data-cell-id="Xc2-5"><g><rect x="0" y="80" width="300" height="60" rx="9" ry="9" fill="#f8cecc" stroke="#b85450" pointer-events="all"/><path d="M 10.15 79 Q -1 79 -1 90.15 L -1 104 Q 150 122 301 104 L 301 90.15 Q 301 79 289.85 79 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 110px; margin-left: 1px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Add saved workflow ID and save? to the DSL</div></div></div></foreignObject><text x="150" y="114" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Add saved workflow ID and save? to the DSL</text></switch></g></g></g><g data-cell-id="Xc2-6"><g><rect x="320" y="80" width="300" height="60" rx="9" ry="9" fill="#f8cecc" stroke="#b85450" pointer-events="all"/><path d="M 330.15 79 Q 319 79 319 90.15 L 319 104 Q 470 122 621 104 L 621 90.15 Q 621 79 609.85 79 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 110px; margin-left: 321px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Prompt set in step DSL will now lookup common prompts</div></div></div></foreignObject><text x="470" y="114" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Prompt set in step DSL will now lookup common prom...</text></switch></g></g></g><g data-cell-id="Xc2-7"><g><rect x="640" y="80" width="300" height="60" rx="9" ry="9" fill="#f8cecc" stroke="#b85450" pointer-events="all"/><path d="M 650.15 79 Q 639 79 639 90.15 L 639 104 Q 790 122 941 104 L 941 90.15 Q 941 79 929.85 79 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 110px; margin-left: 641px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Create tests for Agent Data Builder and hook up to save YAML/JSON</div></div></div></foreignObject><text x="790" y="114" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Create tests for Agent Data Builder and hook up to...</text></switch></g></g></g><g data-cell-id="Xc2-8"><g><rect x="0" y="160" width="300" height="60" rx="9" ry="9" fill="#f8cecc" stroke="#b85450" pointer-events="all"/><path d="M 10.15 159 Q -1 159 -1 170.15 L -1 184 Q 150 202 301 184 L 301 170.15 Q 301 159 289.85 159 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 190px; margin-left: 1px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Settings need to persist in the settings or workflow table</div></div></div></foreignObject><text x="150" y="194" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Settings need to persist in the settings or workfl...</text></switch></g></g></g><g data-cell-id="Xc2-9"><g><rect x="320" y="160" width="300" height="60" rx="9" ry="9" fill="#f8cecc" stroke="#b85450" pointer-events="all"/><path d="M 330.15 159 Q 319 159 319 170.15 L 319 184 Q 470 202 621 184 L 621 170.15 Q 621 159 609.85 159 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 190px; margin-left: 321px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Add add title name &amp; description support to Agent Data Builder</div></div></div></foreignObject><text x="470" y="194" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Add add title name &amp; description support to Agent...</text></switch></g></g></g><g data-cell-id="Xc2-10"><g><rect x="640" y="160" width="300" height="60" rx="9" ry="9" fill="#f8cecc" stroke="#b85450" pointer-events="all"/><path d="M 650.15 159 Q 639 159 639 170.15 L 639 184 Q 790 202 941 184 L 941 170.15 Q 941 159 929.85 159 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 190px; margin-left: 641px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Add fluent method access to all DSLs</div></div></div></foreignObject><text x="790" y="194" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Add fluent method access to all DSLs</text></switch></g></g></g><g data-cell-id="Xc2-11"><g><rect x="0" y="240" width="300" height="60" rx="9" ry="9" fill="#f8cecc" stroke="#b85450" pointer-events="all"/><path d="M 10.15 239 Q -1 239 -1 250.15 L -1 264 Q 150 282 301 264 L 301 250.15 Q 301 239 289.85 239 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 270px; margin-left: 1px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Generate DSL for an Agent Architecture workflow</div></div></div></foreignObject><text x="150" y="274" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Generate DSL for an Agent Architecture workflow</text></switch></g></g></g><g data-cell-id="Xc2-12"><g><rect x="320" y="240" width="300" height="60" rx="9" ry="9" fill="#f8cecc" stroke="#b85450" pointer-events="all"/><path d="M 330.15 239 Q 319 239 319 250.15 L 319 264 Q 470 282 621 264 L 621 250.15 Q 621 239 609.85 239 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 270px; margin-left: 321px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Attributes are auto created when used in a step, but not preconfigured</div></div></div></foreignObject><text x="470" y="274" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Attributes are auto created when used in a step, b...</text></switch></g></g></g><g data-cell-id="Xc2-13"><g><rect x="640" y="240" width="300" height="60" rx="9" ry="9" fill="#f8cecc" stroke="#b85450" pointer-events="all"/><path d="M 650.15 239 Q 639 239 639 250.15 L 639 264 Q 790 282 941 264 L 941 250.15 Q 941 239 929.85 239 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 270px; margin-left: 641px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Add support for project plan</div></div></div></foreignObject><text x="790" y="274" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Add support for project plan</text></switch></g></g></g><g data-cell-id="Xc2-14"><g><rect x="0" y="320" width="300" height="60" rx="9" ry="9" fill="#f8cecc" stroke="#b85450" pointer-events="all"/><path d="M 10.15 319 Q -1 319 -1 330.15 L -1 344 Q 150 362 301 344 L 301 330.15 Q 301 319 289.85 319 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 350px; margin-left: 1px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Fix the DB issue introduced via DSL refactor</div></div></div></foreignObject><text x="150" y="354" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Fix the DB issue introduced via DSL refactor</text></switch></g></g></g></g></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.drawio.com/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>
3
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="302px" height="62px" viewBox="-0.5 -0.5 302 62"><defs><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-ffffff-0.9-ffffff-0.1-s-0"><stop offset="0%" style="stop-color: rgb(255, 255, 255); stop-opacity: 0.9;"/><stop offset="100%" style="stop-color: rgb(255, 255, 255); stop-opacity: 0.1;"/></linearGradient></defs><g><g data-cell-id="page_root_Iaa"><g data-cell-id="node_root_Iaa"><g data-cell-id="Iaa-2"><g><rect x="0" y="0" width="300" height="60" rx="9" ry="9" fill="#f8cecc" stroke="#b85450" pointer-events="all"/><path d="M 10.15 -1 Q -1 -1 -1 10.15 L -1 24 Q 150 42 301 24 L 301 10.15 Q 301 -1 289.85 -1 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 30px; margin-left: 1px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Setup project with CI/CD, tests, linting, basic doumentation, semantic versioning</div></div></div></foreignObject><text x="150" y="34" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Setup project with CI/CD, tests, linting, basic do...</text></switch></g></g></g></g></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.drawio.com/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>
@@ -1,3 +1,3 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="302px" height="62px" viewBox="-0.5 -0.5 302 62"><defs><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-ffffff-0.9-ffffff-0.1-s-0"><stop offset="0%" style="stop-color: rgb(255, 255, 255); stop-opacity: 0.9;"/><stop offset="100%" style="stop-color: rgb(255, 255, 255); stop-opacity: 0.1;"/></linearGradient></defs><g><g data-cell-id="page_root_efq"><g data-cell-id="node_root_efq"><g data-cell-id="efq-2"><g><rect x="0" y="0" width="300" height="60" rx="9" ry="9" fill="#d5e8d4" stroke="#82b366" pointer-events="all"/><path d="M 10.15 -1 Q -1 -1 -1 10.15 L -1 24 Q 150 42 301 24 L 301 10.15 Q 301 -1 289.85 -1 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 30px; margin-left: 1px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Migrate from alpine to svelte, vue or react</div></div></div></foreignObject><text x="150" y="34" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Migrate from alpine to svelte, vue or react</text></switch></g></g></g></g></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.drawio.com/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>
3
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="942px" height="62px" viewBox="-0.5 -0.5 942 62"><defs><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-ffffff-0.9-ffffff-0.1-s-0"><stop offset="0%" style="stop-color: rgb(255, 255, 255); stop-opacity: 0.9;"/><stop offset="100%" style="stop-color: rgb(255, 255, 255); stop-opacity: 0.1;"/></linearGradient></defs><g><g data-cell-id="page_root_y30"><g data-cell-id="node_root_y30"><g data-cell-id="y30-2"><g><rect x="0" y="0" width="300" height="60" rx="9" ry="9" fill="#d5e8d4" stroke="#82b366" pointer-events="all"/><path d="M 10.15 -1 Q -1 -1 -1 10.15 L -1 24 Q 150 42 301 24 L 301 10.15 Q 301 -1 289.85 -1 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 30px; margin-left: 1px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">DSLs as Code sample DSL</div></div></div></foreignObject><text x="150" y="34" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">DSLs as Code sample DSL</text></switch></g></g></g><g data-cell-id="y30-3"><g><rect x="320" y="0" width="300" height="60" rx="9" ry="9" fill="#d5e8d4" stroke="#82b366" pointer-events="all"/><path d="M 330.15 -1 Q 319 -1 319 10.15 L 319 24 Q 470 42 621 24 L 621 10.15 Q 621 -1 609.85 -1 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 30px; margin-left: 321px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Automate Base DSL setup</div></div></div></foreignObject><text x="470" y="34" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Automate Base DSL setup</text></switch></g></g></g><g data-cell-id="y30-4"><g><rect x="640" y="0" width="300" height="60" rx="9" ry="9" fill="#d5e8d4" stroke="#82b366" pointer-events="all"/><path d="M 650.15 -1 Q 639 -1 639 10.15 L 639 24 Q 790 42 941 24 L 941 10.15 Q 941 -1 929.85 -1 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 30px; margin-left: 641px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Automate DSL definion/designer for target DSL</div></div></div></foreignObject><text x="790" y="34" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Automate DSL definion/designer for target DSL</text></switch></g></g></g></g></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.drawio.com/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>
@@ -1,3 +1,3 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="942px" height="702px" viewBox="-0.5 -0.5 942 702"><defs><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-ffffff-0.9-ffffff-0.1-s-0"><stop offset="0%" style="stop-color: rgb(255, 255, 255); stop-opacity: 0.9;"/><stop offset="100%" style="stop-color: rgb(255, 255, 255); stop-opacity: 0.1;"/></linearGradient></defs><g><g data-cell-id="page_root_7tj"><g data-cell-id="node_root_7tj"><g data-cell-id="7tj-2"><g><rect x="0" y="0" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 10.15 -1 Q -1 -1 -1 10.15 L -1 24 Q 150 42 301 24 L 301 10.15 Q 301 -1 289.85 -1 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 30px; margin-left: 1px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">SSR/SSG/CLIENT HIBRID</div></div></div></foreignObject><text x="150" y="34" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">SSR/SSG/CLIENT HIBRID</text></switch></g></g></g><g data-cell-id="7tj-3"><g><rect x="320" y="0" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 330.15 -1 Q 319 -1 319 10.15 L 319 24 Q 470 42 621 24 L 621 10.15 Q 621 -1 609.85 -1 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 30px; margin-left: 321px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Local Tunnel Integration: https://www.youtube.com/watch?v=D5ArCEjV0gU</div></div></div></foreignObject><text x="470" y="34" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Local Tunnel Integration: https://www.youtube.com/...</text></switch></g></g></g><g data-cell-id="7tj-4"><g><rect x="640" y="0" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 650.15 -1 Q 639 -1 639 10.15 L 639 24 Q 790 42 941 24 L 941 10.15 Q 941 -1 929.85 -1 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 30px; margin-left: 641px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Turn into mobile phone app: https://www.youtube.com/watch?v=ZFNwTJiDEvU</div></div></div></foreignObject><text x="790" y="34" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Turn into mobile phone app: https://www.youtube.co...</text></switch></g></g></g><g data-cell-id="7tj-5"><g><rect x="0" y="80" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 10.15 79 Q -1 79 -1 90.15 L -1 104 Q 150 122 301 104 L 301 90.15 Q 301 79 289.85 79 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 110px; margin-left: 1px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Excalabr and TLDraw Integration</div></div></div></foreignObject><text x="150" y="114" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Excalabr and TLDraw Integration</text></switch></g></g></g><g data-cell-id="7tj-6"><g><rect x="320" y="80" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 330.15 79 Q 319 79 319 90.15 L 319 104 Q 470 122 621 104 L 621 90.15 Q 621 79 609.85 79 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 110px; margin-left: 321px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Add side draw or modal to see the final prompt</div></div></div></foreignObject><text x="470" y="114" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Add side draw or modal to see the final prompt</text></switch></g></g></g><g data-cell-id="7tj-7"><g><rect x="640" y="80" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 650.15 79 Q 639 79 639 90.15 L 639 104 Q 790 122 941 104 L 941 90.15 Q 941 79 929.85 79 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 110px; margin-left: 641px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Add copy to clipboard button to the final prompt</div></div></div></foreignObject><text x="790" y="114" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Add copy to clipboard button to the final prompt</text></switch></g></g></g><g data-cell-id="7tj-8"><g><rect x="0" y="160" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 10.15 159 Q -1 159 -1 170.15 L -1 184 Q 150 202 301 184 L 301 170.15 Q 301 159 289.85 159 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 190px; margin-left: 1px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Add copy to clipboard button to input attribute name as placeholder</div></div></div></foreignObject><text x="150" y="194" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Add copy to clipboard button to input attribute na...</text></switch></g></g></g><g data-cell-id="7tj-9"><g><rect x="320" y="160" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 330.15 159 Q 319 159 319 170.15 L 319 184 Q 470 202 621 184 L 621 170.15 Q 621 159 609.85 159 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 190px; margin-left: 321px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Visual graph of the workflow</div></div></div></foreignObject><text x="470" y="194" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Visual graph of the workflow</text></switch></g></g></g><g data-cell-id="7tj-10"><g><rect x="640" y="160" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 650.15 159 Q 639 159 639 170.15 L 639 184 Q 790 202 941 184 L 941 170.15 Q 941 159 929.85 159 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 190px; margin-left: 641px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Visual steps of the workflow</div></div></div></foreignObject><text x="790" y="194" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Visual steps of the workflow</text></switch></g></g></g><g data-cell-id="7tj-11"><g><rect x="0" y="240" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 10.15 239 Q -1 239 -1 250.15 L -1 264 Q 150 282 301 264 L 301 250.15 Q 301 239 289.85 239 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 270px; margin-left: 1px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Add select action or custom action to any steps</div></div></div></foreignObject><text x="150" y="274" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Add select action or custom action to any steps</text></switch></g></g></g><g data-cell-id="7tj-12"><g><rect x="320" y="240" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 330.15 239 Q 319 239 319 250.15 L 319 264 Q 470 282 621 264 L 621 250.15 Q 621 239 609.85 239 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 270px; margin-left: 321px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Add output window for LLM run</div></div></div></foreignObject><text x="470" y="274" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Add output window for LLM run</text></switch></g></g></g><g data-cell-id="7tj-13"><g><rect x="640" y="240" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 650.15 239 Q 639 239 639 250.15 L 639 264 Q 790 282 941 264 L 941 250.15 Q 941 239 929.85 239 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 270px; margin-left: 641px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Clicking on sections will show the steps in that section</div></div></div></foreignObject><text x="790" y="274" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Clicking on sections will show the steps in that s...</text></switch></g></g></g><g data-cell-id="7tj-14"><g><rect x="0" y="320" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 10.15 319 Q -1 319 -1 330.15 L -1 344 Q 150 362 301 344 L 301 330.15 Q 301 319 289.85 319 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 350px; margin-left: 1px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Clicking on attributes will show all attributes in the workflow</div></div></div></foreignObject><text x="150" y="354" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Clicking on attributes will show all attributes in...</text></switch></g></g></g><g data-cell-id="7tj-15"><g><rect x="320" y="320" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 330.15 319 Q 319 319 319 330.15 L 319 344 Q 470 362 621 344 L 621 330.15 Q 621 319 609.85 319 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 350px; margin-left: 321px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Clicking on prompts will show all prompts in the workflow</div></div></div></foreignObject><text x="470" y="354" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Clicking on prompts will show all prompts in the w...</text></switch></g></g></g><g data-cell-id="7tj-16"><g><rect x="640" y="320" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 650.15 319 Q 639 319 639 330.15 L 639 344 Q 790 362 941 344 L 941 330.15 Q 941 319 929.85 319 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 350px; margin-left: 641px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Clicking on dashboard will show visual hierarchy of the workflow</div></div></div></foreignObject><text x="790" y="354" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Clicking on dashboard will show visual hierarchy o...</text></switch></g></g></g><g data-cell-id="7tj-17"><g><rect x="0" y="400" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 10.15 399 Q -1 399 -1 410.15 L -1 424 Q 150 442 301 424 L 301 410.15 Q 301 399 289.85 399 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 430px; margin-left: 1px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Need a runs button</div></div></div></foreignObject><text x="150" y="434" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Need a runs button</text></switch></g></g></g><g data-cell-id="7tj-18"><g><rect x="320" y="400" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 330.15 399 Q 319 399 319 410.15 L 319 424 Q 470 442 621 424 L 621 410.15 Q 621 399 609.85 399 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 430px; margin-left: 321px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">VCode Editor: https://chatgpt.com/c/e09e1367-db5e-4786-b362-db35805b1e20</div></div></div></foreignObject><text x="470" y="434" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">VCode Editor: https://chatgpt.com/c/e09e1367-db5e-...</text></switch></g></g></g><g data-cell-id="7tj-19"><g><rect x="640" y="400" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 650.15 399 Q 639 399 639 410.15 L 639 424 Q 790 442 941 424 L 941 410.15 Q 941 399 929.85 399 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 430px; margin-left: 641px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Report: Simple hierarchy of the workflow</div></div></div></foreignObject><text x="790" y="434" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Report: Simple hierarchy of the workflow</text></switch></g></g></g><g data-cell-id="7tj-20"><g><rect x="0" y="480" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 10.15 479 Q -1 479 -1 490.15 L -1 504 Q 150 522 301 504 L 301 490.15 Q 301 479 289.85 479 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 510px; margin-left: 1px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Connect to LLM</div></div></div></foreignObject><text x="150" y="514" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Connect to LLM</text></switch></g></g></g><g data-cell-id="7tj-21"><g><rect x="320" y="480" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 330.15 479 Q 319 479 319 490.15 L 319 504 Q 470 522 621 504 L 621 490.15 Q 621 479 609.85 479 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 510px; margin-left: 321px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Connect to Elevenlabs or other TTS</div></div></div></foreignObject><text x="470" y="514" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Connect to Elevenlabs or other TTS</text></switch></g></g></g><g data-cell-id="7tj-22"><g><rect x="640" y="480" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 650.15 479 Q 639 479 639 490.15 L 639 504 Q 790 522 941 504 L 941 490.15 Q 941 479 929.85 479 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 510px; margin-left: 641px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Export: Mindmap</div></div></div></foreignObject><text x="790" y="514" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Export: Mindmap</text></switch></g></g></g><g data-cell-id="7tj-23"><g><rect x="0" y="560" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 10.15 559 Q -1 559 -1 570.15 L -1 584 Q 150 602 301 584 L 301 570.15 Q 301 559 289.85 559 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 590px; margin-left: 1px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Export: Agent Framework CrewAI</div></div></div></foreignObject><text x="150" y="594" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Export: Agent Framework CrewAI</text></switch></g></g></g><g data-cell-id="7tj-24"><g><rect x="320" y="560" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 330.15 559 Q 319 559 319 570.15 L 319 584 Q 470 602 621 584 L 621 570.15 Q 621 559 609.85 559 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 590px; margin-left: 321px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Export: Agent Framework Langchain</div></div></div></foreignObject><text x="470" y="594" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Export: Agent Framework Langchain</text></switch></g></g></g><g data-cell-id="7tj-25"><g><rect x="640" y="560" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 650.15 559 Q 639 559 639 570.15 L 639 584 Q 790 602 941 584 L 941 570.15 Q 941 559 929.85 559 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 590px; margin-left: 641px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Export: Agent Framework Rasa</div></div></div></foreignObject><text x="790" y="594" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Export: Agent Framework Rasa</text></switch></g></g></g><g data-cell-id="7tj-26"><g><rect x="0" y="640" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 10.15 639 Q -1 639 -1 650.15 L -1 664 Q 150 682 301 664 L 301 650.15 Q 301 639 289.85 639 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 670px; margin-left: 1px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Export: Agent Framework Botpress</div></div></div></foreignObject><text x="150" y="674" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Export: Agent Framework Botpress</text></switch></g></g></g><g data-cell-id="7tj-27"><g><rect x="320" y="640" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 330.15 639 Q 319 639 319 650.15 L 319 664 Q 470 682 621 664 L 621 650.15 Q 621 639 609.85 639 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 670px; margin-left: 321px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Export: Agent Framework Dialogflow</div></div></div></foreignObject><text x="470" y="674" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Export: Agent Framework Dialogflow</text></switch></g></g></g><g data-cell-id="7tj-28"><g><rect x="640" y="640" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 650.15 639 Q 639 639 639 650.15 L 639 664 Q 790 682 941 664 L 941 650.15 Q 941 639 929.85 639 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 670px; margin-left: 641px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Export: Agent Framework Microsoft Bot Framework</div></div></div></foreignObject><text x="790" y="674" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Export: Agent Framework Microsoft Bot Framework</text></switch></g></g></g></g></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.drawio.com/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>
3
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="942px" height="222px" viewBox="-0.5 -0.5 942 222"><defs><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-ffffff-0.9-ffffff-0.1-s-0"><stop offset="0%" style="stop-color: rgb(255, 255, 255); stop-opacity: 0.9;"/><stop offset="100%" style="stop-color: rgb(255, 255, 255); stop-opacity: 0.1;"/></linearGradient></defs><g><g data-cell-id="page_root_gaX"><g data-cell-id="node_root_gaX"><g data-cell-id="gaX-2"><g><rect x="0" y="0" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 10.15 -1 Q -1 -1 -1 10.15 L -1 24 Q 150 42 301 24 L 301 10.15 Q 301 -1 289.85 -1 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 30px; margin-left: 1px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Add guideline documentation</div></div></div></foreignObject><text x="150" y="34" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Add guideline documentation</text></switch></g></g></g><g data-cell-id="gaX-3"><g><rect x="320" y="0" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 330.15 -1 Q 319 -1 319 10.15 L 319 24 Q 470 42 621 24 L 621 10.15 Q 621 -1 609.85 -1 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 30px; margin-left: 321px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Docs as Code sample DSL</div></div></div></foreignObject><text x="470" y="34" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Docs as Code sample DSL</text></switch></g></g></g><g data-cell-id="gaX-4"><g><rect x="640" y="0" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 650.15 -1 Q 639 -1 639 10.15 L 639 24 Q 790 42 941 24 L 941 10.15 Q 941 -1 929.85 -1 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 30px; margin-left: 641px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Agent as Code sample DSL</div></div></div></foreignObject><text x="790" y="34" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Agent as Code sample DSL</text></switch></g></g></g><g data-cell-id="gaX-5"><g><rect x="0" y="80" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 10.15 79 Q -1 79 -1 90.15 L -1 104 Q 150 122 301 104 L 301 90.15 Q 301 79 289.85 79 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 110px; margin-left: 1px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Poly as Code sample DSL</div></div></div></foreignObject><text x="150" y="114" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Poly as Code sample DSL</text></switch></g></g></g><g data-cell-id="gaX-6"><g><rect x="320" y="80" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 330.15 79 Q 319 79 319 90.15 L 319 104 Q 470 122 621 104 L 621 90.15 Q 621 79 609.85 79 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 110px; margin-left: 321px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Voice as Code sample DSL</div></div></div></foreignObject><text x="470" y="114" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Voice as Code sample DSL</text></switch></g></g></g><g data-cell-id="gaX-7"><g><rect x="640" y="80" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 650.15 79 Q 639 79 639 90.15 L 639 104 Q 790 122 941 104 L 941 90.15 Q 941 79 929.85 79 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 110px; margin-left: 641px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Data as Code sample DSL</div></div></div></foreignObject><text x="790" y="114" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Data as Code sample DSL</text></switch></g></g></g><g data-cell-id="gaX-8"><g><rect x="0" y="160" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 10.15 159 Q -1 159 -1 170.15 L -1 184 Q 150 202 301 184 L 301 170.15 Q 301 159 289.85 159 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 190px; margin-left: 1px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Chart Design as Code sample DSL</div></div></div></foreignObject><text x="150" y="194" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Chart Design as Code sample DSL</text></switch></g></g></g><g data-cell-id="gaX-9"><g><rect x="320" y="160" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 330.15 159 Q 319 159 319 170.15 L 319 184 Q 470 202 621 184 L 621 170.15 Q 621 159 609.85 159 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 190px; margin-left: 321px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Video as Code sample DSL</div></div></div></foreignObject><text x="470" y="194" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Video as Code sample DSL</text></switch></g></g></g><g data-cell-id="gaX-10"><g><rect x="640" y="160" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 650.15 159 Q 639 159 639 170.15 L 639 184 Q 790 202 941 184 L 941 170.15 Q 941 159 929.85 159 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 190px; margin-left: 641px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Image as Code sample DSL</div></div></div></foreignObject><text x="790" y="194" fill="#333333" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Image as Code sample DSL</text></switch></g></g></g></g></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.drawio.com/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Klue
4
4
  module Langcraft
5
- VERSION = '0.0.5'
5
+ VERSION = '0.0.7'
6
6
  end
7
7
  end
data/package-lock.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "klue-langcraft",
3
- "version": "0.0.5",
3
+ "version": "0.0.7",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "klue-langcraft",
9
- "version": "0.0.5",
9
+ "version": "0.0.7",
10
10
  "devDependencies": {
11
11
  "@klueless-js/semantic-release-rubygem": "github:klueless-js/semantic-release-rubygem",
12
12
  "@semantic-release/changelog": "^6.0.3",
data/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "klue-langcraft",
3
- "version": "0.0.5",
3
+ "version": "0.0.7",
4
4
  "description": "Domain Specific Language Crafting",
5
5
  "scripts": {
6
6
  "release": "semantic-release"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: klue-langcraft
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Cruwys
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-09-20 00:00:00.000000000 Z
11
+ date: 2024-09-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: k_log
@@ -48,6 +48,10 @@ files:
48
48
  - Rakefile
49
49
  - bin/console
50
50
  - bin/setup
51
+ - docs/dsl-rules.md
52
+ - docs/dsl-samples/youtube-launch-optimizer.defn.klue
53
+ - docs/dsl-samples/youtube-launch-optimizer.klue
54
+ - docs/project-plan/project-plan.md
51
55
  - docs/project-plan/project.drawio
52
56
  - docs/project-plan/project_done.svg
53
57
  - docs/project-plan/project_in_progress.svg