ad-agent_architecture 0.0.13 → 0.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.builders/boot.rb +1 -0
- data/.builders/generators/project-plan.rb +49 -0
- data/CHANGELOG.md +7 -0
- data/README.md +1 -1
- data/docs/project-plan/project-plan.md +25 -0
- data/docs/project-plan/project.drawio +62 -0
- data/docs/project-plan/project_done.svg +3 -0
- data/docs/project-plan/project_in_progress.svg +3 -0
- data/docs/project-plan/project_todo.svg +3 -0
- data/lib/ad/agent_architecture/dsl/attribute_dsl.rb +10 -0
- data/lib/ad/agent_architecture/dsl/step_dsl.rb +16 -6
- data/lib/ad/agent_architecture/version.rb +1 -1
- data/package-lock.json +2 -2
- data/package.json +1 -1
- metadata +7 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 574aa418cb9ec56beda935dc38e6573ff0e0d5c8ea986b68ebf0b7a9df80b7b5
|
|
4
|
+
data.tar.gz: 2b5d33ed282079527589c6bc37ecd6369554948043d6e021f7bb557d24275547
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 79b61a1cf84d2aa223f66d7926ba2f9e9b401f808863f6bd50af42b455acee24761c2481e82c3de8d43a49d1a4d8a5ea2f45f51af43229fb3f3519b717737072
|
|
7
|
+
data.tar.gz: ee02ed0f832fe470936df997d0353da6a06afa52e58bc97923f1dd5d44620a13fa18e2a382f404f176fb992a5a04c27b90ecbf94aad3ea4884909536497ef2c1
|
data/.builders/boot.rb
CHANGED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
KManager.action :project_plan do
|
|
2
|
+
action do
|
|
3
|
+
|
|
4
|
+
DrawioDsl::Drawio
|
|
5
|
+
.init(k_builder, on_exist: :write, on_action: :execute)
|
|
6
|
+
.diagram(rounded: 1, glass: 1)
|
|
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
|
+
grid_layout(y: 190, direction: :horizontal, grid_h: 80, grid_w: 320, wrap_at: 3, grid: 0)
|
|
12
|
+
|
|
13
|
+
# Prompts need to support file read operation
|
|
14
|
+
|
|
15
|
+
todo(title: 'Include a report_attribute method or DSL under the tool namespace')
|
|
16
|
+
end
|
|
17
|
+
.page('To Do', theme: :style_02, margin_left: 0, margin_top: 0) do
|
|
18
|
+
|
|
19
|
+
# h5(x: 300, y: 0, w: 400, h: 80, title: 'DrawIO DSL')
|
|
20
|
+
|
|
21
|
+
grid_layout(y:90, direction: :horizontal, grid_h: 80, grid_w: 320, wrap_at: 3, grid: 0)
|
|
22
|
+
|
|
23
|
+
todo(title: 'Visual graph of the workflow')
|
|
24
|
+
todo(title: 'Horizontal')
|
|
25
|
+
todo(title: 'Clicking on sections will show the steps in that section')
|
|
26
|
+
todo(title: 'Clicking on attributes will show all attributes in the workflow')
|
|
27
|
+
todo(title: 'Clicking on prompts will show all prompts in the workflow')
|
|
28
|
+
todo(title: 'Clicking on dashboard will show visual hierarchy of the workflow')
|
|
29
|
+
todo(title: 'Need a runs button')
|
|
30
|
+
todo(title: 'VCode Editor: https://chatgpt.com/c/e09e1367-db5e-4786-b362-db35805b1e20')
|
|
31
|
+
|
|
32
|
+
end
|
|
33
|
+
.page('Done', theme: :style_06, margin_left: 0, margin_top: 0) do
|
|
34
|
+
|
|
35
|
+
# h5(x: 300, y: 0, w: 400, h: 80, title: 'DrawIO DSL')
|
|
36
|
+
|
|
37
|
+
grid_layout(y:90, direction: :horizontal, grid_h: 80, grid_w: 320, wrap_at: 3, grid: 0)
|
|
38
|
+
|
|
39
|
+
todo(title: 'Attributes are auto created when used in a step, but not preconfigured')
|
|
40
|
+
todo(title: 'Add support for project plan')
|
|
41
|
+
todo(title: 'Fix the DB issue introduced via DSL refactor')
|
|
42
|
+
end
|
|
43
|
+
.cd(:docs)
|
|
44
|
+
.save('project-plan/project.drawio')
|
|
45
|
+
.export_svg('project-plan/project_in_progress', page: 1)
|
|
46
|
+
.export_svg('project-plan/project_todo' , page: 2)
|
|
47
|
+
.export_svg('project-plan/project_done' , page: 3)
|
|
48
|
+
end
|
|
49
|
+
end
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
## [0.0.13](https://github.com/appydave/ad-agent_architecture/compare/v0.0.12...v0.0.13) (2024-07-03)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* add listen GEM and watch RBS files, plus bugs in database save ([b95e9ff](https://github.com/appydave/ad-agent_architecture/commit/b95e9ffec2fd03780e890a9ec7ca3708a53c17ef))
|
|
7
|
+
|
|
1
8
|
## [0.0.12](https://github.com/appydave/ad-agent_architecture/compare/v0.0.11...v0.0.12) (2024-07-02)
|
|
2
9
|
|
|
3
10
|
|
data/README.md
CHANGED
|
@@ -28,7 +28,7 @@ gem install ad-agent_architecture
|
|
|
28
28
|
|
|
29
29
|
As a Developer, I want to understand the object graph and workflows for AI agents in multiple scenarios, so that I can build out AI applications effectively
|
|
30
30
|
|
|
31
|
-
See
|
|
31
|
+
See [project plan](./docs/project-plan/project-plan.md)
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
## Usage
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Drawio Dsl - Project Plan
|
|
2
|
+
|
|
3
|
+
## In Progress
|
|
4
|
+
|
|
5
|
+
The next ticket to work on
|
|
6
|
+
|
|
7
|
+

|
|
8
|
+
|
|
9
|
+
## To Do
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
List of tickets to do
|
|
13
|
+
|
|
14
|
+

|
|
15
|
+
|
|
16
|
+
## Complete
|
|
17
|
+
|
|
18
|
+
List of completed tickets
|
|
19
|
+
|
|
20
|
+

|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
## Copyright
|
|
24
|
+
|
|
25
|
+
Copyright (c) David Cruwys. See [MIT License](LICENSE.txt) for further details.
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
<mxfile host="OWd">
|
|
2
|
+
<diagram id="iN9" name="In progress">
|
|
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
|
+
<root>
|
|
5
|
+
<mxCell id="page_root_iN9" parent="iN9"/>
|
|
6
|
+
<mxCell id="node_root_iN9" parent="page_root_iN9"/>
|
|
7
|
+
<mxCell id="iN9-2" value="Include a report_attribute method or DSL under the tool namespace" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#333333" vertex="1" parent="node_root_iN9">
|
|
8
|
+
<mxGeometry x="10" y="10" width="300" height="60" as="geometry"/>
|
|
9
|
+
</mxCell>
|
|
10
|
+
</root>
|
|
11
|
+
</mxGraphModel>
|
|
12
|
+
</diagram>
|
|
13
|
+
<diagram id="97Z" name="To Do">
|
|
14
|
+
<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
|
+
<root>
|
|
16
|
+
<mxCell id="page_root_97Z" parent="97Z"/>
|
|
17
|
+
<mxCell id="node_root_97Z" parent="page_root_97Z"/>
|
|
18
|
+
<mxCell id="97Z-2" 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_97Z">
|
|
19
|
+
<mxGeometry x="10" y="10" width="300" height="60" as="geometry"/>
|
|
20
|
+
</mxCell>
|
|
21
|
+
<mxCell id="97Z-3" value="Horizontal" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_97Z">
|
|
22
|
+
<mxGeometry x="330" y="10" width="300" height="60" as="geometry"/>
|
|
23
|
+
</mxCell>
|
|
24
|
+
<mxCell id="97Z-4" 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_97Z">
|
|
25
|
+
<mxGeometry x="650" y="10" width="300" height="60" as="geometry"/>
|
|
26
|
+
</mxCell>
|
|
27
|
+
<mxCell id="97Z-5" 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_97Z">
|
|
28
|
+
<mxGeometry x="10" y="90" width="300" height="60" as="geometry"/>
|
|
29
|
+
</mxCell>
|
|
30
|
+
<mxCell id="97Z-6" 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_97Z">
|
|
31
|
+
<mxGeometry x="330" y="90" width="300" height="60" as="geometry"/>
|
|
32
|
+
</mxCell>
|
|
33
|
+
<mxCell id="97Z-7" 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_97Z">
|
|
34
|
+
<mxGeometry x="650" y="90" width="300" height="60" as="geometry"/>
|
|
35
|
+
</mxCell>
|
|
36
|
+
<mxCell id="97Z-8" 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_97Z">
|
|
37
|
+
<mxGeometry x="10" y="170" width="300" height="60" as="geometry"/>
|
|
38
|
+
</mxCell>
|
|
39
|
+
<mxCell id="97Z-9" 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_97Z">
|
|
40
|
+
<mxGeometry x="330" y="170" width="300" height="60" as="geometry"/>
|
|
41
|
+
</mxCell>
|
|
42
|
+
</root>
|
|
43
|
+
</mxGraphModel>
|
|
44
|
+
</diagram>
|
|
45
|
+
<diagram id="n1O" name="Done">
|
|
46
|
+
<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">
|
|
47
|
+
<root>
|
|
48
|
+
<mxCell id="page_root_n1O" parent="n1O"/>
|
|
49
|
+
<mxCell id="node_root_n1O" parent="page_root_n1O"/>
|
|
50
|
+
<mxCell id="n1O-2" 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_n1O">
|
|
51
|
+
<mxGeometry x="10" y="10" width="300" height="60" as="geometry"/>
|
|
52
|
+
</mxCell>
|
|
53
|
+
<mxCell id="n1O-3" 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_n1O">
|
|
54
|
+
<mxGeometry x="330" y="10" width="300" height="60" as="geometry"/>
|
|
55
|
+
</mxCell>
|
|
56
|
+
<mxCell id="n1O-4" 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_n1O">
|
|
57
|
+
<mxGeometry x="650" y="10" width="300" height="60" as="geometry"/>
|
|
58
|
+
</mxCell>
|
|
59
|
+
</root>
|
|
60
|
+
</mxGraphModel>
|
|
61
|
+
</diagram>
|
|
62
|
+
</mxfile>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
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="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_n1O"><g data-cell-id="node_root_n1O"><g data-cell-id="n1O-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;">Attributes are auto created when used in a step, but not preconfigured</div></div></div></foreignObject><text x="150" y="34" fill="#333333" font-family=""Helvetica"" 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="n1O-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;">Add support for project plan</div></div></div></foreignObject><text x="470" y="34" fill="#333333" font-family=""Helvetica"" font-size="12px" text-anchor="middle">Add support for project plan</text></switch></g></g></g><g data-cell-id="n1O-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;">Fix the DB issue introduced via DSL refactor</div></div></div></foreignObject><text x="790" y="34" fill="#333333" font-family=""Helvetica"" 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>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
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_iN9"><g data-cell-id="node_root_iN9"><g data-cell-id="iN9-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;">Include a report_attribute method or DSL under the tool namespace</div></div></div></foreignObject><text x="150" y="34" fill="#333333" font-family=""Helvetica"" font-size="12px" text-anchor="middle">Include a report_attribute method or DSL under the...</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>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
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="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_97Z"><g data-cell-id="node_root_97Z"><g data-cell-id="97Z-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;">Visual graph of the workflow</div></div></div></foreignObject><text x="150" y="34" fill="#333333" font-family=""Helvetica"" font-size="12px" text-anchor="middle">Visual graph of the workflow</text></switch></g></g></g><g data-cell-id="97Z-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;">Horizontal</div></div></div></foreignObject><text x="470" y="34" fill="#333333" font-family=""Helvetica"" font-size="12px" text-anchor="middle">Horizontal</text></switch></g></g></g><g data-cell-id="97Z-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;">Clicking on sections will show the steps in that section</div></div></div></foreignObject><text x="790" y="34" fill="#333333" font-family=""Helvetica"" 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="97Z-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;">Clicking on attributes will show all attributes in the workflow</div></div></div></foreignObject><text x="150" y="114" fill="#333333" font-family=""Helvetica"" font-size="12px" text-anchor="middle">Clicking on attributes will show all attributes in...</text></switch></g></g></g><g data-cell-id="97Z-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;">Clicking on prompts will show all prompts in the workflow</div></div></div></foreignObject><text x="470" y="114" fill="#333333" font-family=""Helvetica"" 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="97Z-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;">Clicking on dashboard will show visual hierarchy of the workflow</div></div></div></foreignObject><text x="790" y="114" fill="#333333" font-family=""Helvetica"" font-size="12px" text-anchor="middle">Clicking on dashboard will show visual hierarchy o...</text></switch></g></g></g><g data-cell-id="97Z-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;">Need a runs button</div></div></div></foreignObject><text x="150" y="194" fill="#333333" font-family=""Helvetica"" font-size="12px" text-anchor="middle">Need a runs button</text></switch></g></g></g><g data-cell-id="97Z-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;">VCode Editor: https://chatgpt.com/c/e09e1367-db5e-4786-b362-db35805b1e20</div></div></div></foreignObject><text x="470" y="194" fill="#333333" font-family=""Helvetica"" font-size="12px" text-anchor="middle">VCode Editor: https://chatgpt.com/c/e09e1367-db5e-...</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>
|
|
@@ -10,6 +10,16 @@ module Ad
|
|
|
10
10
|
|
|
11
11
|
workflow[:attributes][name] = { name: name, type: type, is_array: is_array }
|
|
12
12
|
end
|
|
13
|
+
|
|
14
|
+
def infer_attribute(name)
|
|
15
|
+
raise ArgumentError, 'Attribute name must be a string or symbol' unless name.is_a?(String) || name.is_a?(Symbol)
|
|
16
|
+
|
|
17
|
+
return if workflow[:attributes].key?(name)
|
|
18
|
+
|
|
19
|
+
# May want to add more sophisticated type inference here
|
|
20
|
+
type = name.to_s.end_with?('s') ? 'array' : 'string'
|
|
21
|
+
workflow[:attributes][name] = { name: name, type: type, is_array: type == 'array' }
|
|
22
|
+
end
|
|
13
23
|
end
|
|
14
24
|
end
|
|
15
25
|
end
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# file: lib/ad/agent_architecture/dsl/step_dsl.rb
|
|
2
|
+
|
|
1
3
|
# frozen_string_literal: true
|
|
2
4
|
|
|
3
5
|
module Ad
|
|
@@ -22,16 +24,24 @@ module Ad
|
|
|
22
24
|
@section[:steps] << @step
|
|
23
25
|
end
|
|
24
26
|
|
|
25
|
-
def input(
|
|
26
|
-
|
|
27
|
+
def input(name, **_opts)
|
|
28
|
+
infer_attribute(name)
|
|
29
|
+
@step[:input_attributes] << name
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def output(name, **_opts)
|
|
33
|
+
infer_attribute(name)
|
|
34
|
+
@step[:output_attributes] << name
|
|
27
35
|
end
|
|
28
36
|
|
|
29
|
-
def
|
|
30
|
-
@step[:
|
|
37
|
+
def prompt(prompt, **_opts)
|
|
38
|
+
@step[:prompt] = prompt
|
|
31
39
|
end
|
|
32
40
|
|
|
33
|
-
|
|
34
|
-
|
|
41
|
+
private
|
|
42
|
+
|
|
43
|
+
def infer_attribute(name)
|
|
44
|
+
AttributeDsl.new(workflow).infer_attribute(name)
|
|
35
45
|
end
|
|
36
46
|
end
|
|
37
47
|
end
|
data/package-lock.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ad-agent_architecture",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.14",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "ad-agent_architecture",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.14",
|
|
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
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ad-agent_architecture
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.14
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- David Cruwys
|
|
@@ -62,6 +62,7 @@ files:
|
|
|
62
62
|
- ".builders/_.rb"
|
|
63
63
|
- ".builders/boot.rb"
|
|
64
64
|
- ".builders/generators/01-bootstrap.rb"
|
|
65
|
+
- ".builders/generators/project-plan.rb"
|
|
65
66
|
- ".releaserc.json"
|
|
66
67
|
- ".rspec"
|
|
67
68
|
- ".rubocop.yml"
|
|
@@ -78,6 +79,11 @@ files:
|
|
|
78
79
|
- bin/watch.rb
|
|
79
80
|
- docs/erd.svg
|
|
80
81
|
- docs/images/sample-workflow.png
|
|
82
|
+
- docs/project-plan/project-plan.md
|
|
83
|
+
- docs/project-plan/project.drawio
|
|
84
|
+
- docs/project-plan/project_done.svg
|
|
85
|
+
- docs/project-plan/project_in_progress.svg
|
|
86
|
+
- docs/project-plan/project_todo.svg
|
|
81
87
|
- docs/requirements.md
|
|
82
88
|
- docs/structure-youtube-script.yaml
|
|
83
89
|
- lib/ad/agent_architecture.rb
|