ad-agent_architecture 0.0.10 → 0.0.11

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5f5f327df1d3c95d9adf30cbbe9d973b33457737096d21c607fbe080caa9d839
4
- data.tar.gz: 948a4cbd3540dc300eedb249c96b13e1963058abbd4f2c205ea23ce55d446431
3
+ metadata.gz: 2e62425f0ffeff140581be7741ce8b429fb9437a196294e071d017e343894562
4
+ data.tar.gz: b7da8713c09d8179f840a676787aac6608143fde09a112fbe683c9205e9a37d2
5
5
  SHA512:
6
- metadata.gz: 6b7f671d1ad1c28534f6e35f0d141fdb05c8fe0c28192e12087d10fbacb67265e451d17a91df3194e3495d8fec98881ff31a4ec7000db10f13886bc9c0de5785
7
- data.tar.gz: 07de02cccb8f30f128f8e81663eeba0e4e4dc190394c030675a8d574259e5c50d85bb8d4643de1c94db197b7261e2f7bb22b3ed2708eafdb6ac7c07802341258
6
+ metadata.gz: 9e11fffa978aa478142fe2a540c08c2917aa9a169ab0c19f35a19ea449fb7d9a6b06ddbce72a58b489cd50a367cd2e2dd571622f818a14ad63813a770c931626
7
+ data.tar.gz: 733bf3314271fa108de844ffc4fb2189bb7d77742bbfae31e2316b2883995eb2bc21d2888b49da7954db0865bf9cb9c226edce7cc4bde490f4fda535f206f222
data/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## [0.0.10](https://github.com/appydave/ad-agent_architecture/compare/v0.0.9...v0.0.10) (2024-06-29)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * refactor DSL to use component DSLs ([597050a](https://github.com/appydave/ad-agent_architecture/commit/597050ad727f1aaf8eb3e6589cf1c618f41499e7))
7
+
1
8
  ## [0.0.9](https://github.com/appydave/ad-agent_architecture/compare/v0.0.8...v0.0.9) (2024-06-29)
2
9
 
3
10
 
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'k_log'
4
-
5
3
  module Ad
6
4
  module AgentArchitecture
7
5
  module Report
@@ -12,15 +10,17 @@ module Ad
12
10
  def print(workflow)
13
11
  log.section_heading 'Workflow Details Report'
14
12
  log.kv 'Name', workflow.name
15
- log.kv 'Description', workflow.description
13
+ # log.kv 'Description', workflow.description
16
14
 
17
15
  workflow.sections.each do |section|
18
16
  log.section_heading "Section: #{section.name}"
19
- log.kv 'Order', section.order
17
+ # log.kv 'Order', section.order
20
18
  section.steps.each do |step|
21
19
  log.section_heading "Step: #{step.name}"
22
- log.kv 'Order', step.order
23
- log.kv 'Prompt', step.prompt
20
+ # log.kv 'Order', step.order
21
+ # log.kv 'Prompt', step.prompt
22
+ # puts step.input_attributes.first
23
+ # An ERROR here means you have not configured an attribute name
24
24
  log.kv 'Input Attributes', step.input_attributes.map { |ia| ia.attribute.name }.join(', ')
25
25
  log.kv 'Output Attributes', step.output_attributes.map { |oa| oa.attribute.name }.join(', ')
26
26
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Ad
4
4
  module AgentArchitecture
5
- VERSION = '0.0.10'
5
+ VERSION = '0.0.11'
6
6
  end
7
7
  end
@@ -22,11 +22,11 @@ require 'ad/agent_architecture/dsl/agent_dsl'
22
22
  require 'ad/agent_architecture/dsl/actions/save_database'
23
23
  require 'ad/agent_architecture/dsl/actions/save_json'
24
24
  require 'ad/agent_architecture/dsl/actions/save_yaml'
25
- # require 'ad/agent_architecture/report/workflow_detail_report'
26
- # require 'ad/agent_architecture/report/workflow_list_report'
25
+ require 'ad/agent_architecture/report/workflow_detail_report'
26
+ require 'ad/agent_architecture/report/workflow_list_report'
27
27
 
28
28
  # Alias'
29
- # AgentWorkflow = Ad::AgentArchitecture::Dsl::AgentWorkflowDsl
29
+ Agent = Ad::AgentArchitecture::Dsl::AgentDsl
30
30
 
31
31
  module Ad
32
32
  module AgentArchitecture
data/package-lock.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "ad-agent_architecture",
3
- "version": "0.0.10",
3
+ "version": "0.0.11",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "ad-agent_architecture",
9
- "version": "0.0.10",
9
+ "version": "0.0.11",
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": "ad-agent_architecture",
3
- "version": "0.0.10",
3
+ "version": "0.0.11",
4
4
  "description": "Architecture/Schema for AI Agents",
5
5
  "scripts": {
6
6
  "release": "semantic-release"
data/workflow.json CHANGED
@@ -1,78 +1,122 @@
1
1
  {
2
- "name": "YouTube Title Creator",
2
+ "name": "YouTube Transcript to Medium Article",
3
3
  "sections": [
4
4
  {
5
- "name": "Research",
5
+ "name": "Analysis",
6
6
  "order": 1,
7
7
  "steps": [
8
8
  {
9
- "name": "Starting Context",
9
+ "name": "Generate Outline",
10
10
  "order": 1,
11
11
  "input_attributes": [
12
-
12
+ "transcript"
13
13
  ],
14
14
  "output_attributes": [
15
-
15
+ "outline"
16
16
  ],
17
- "prompt": "best_practice"
17
+ "prompt": "Analyze [transcript] and generate a preliminary outline for a blog post."
18
18
  },
19
19
  {
20
- "name": "Basic titles",
20
+ "name": "Write First Draft",
21
21
  "order": 2,
22
22
  "input_attributes": [
23
- "basic_title",
24
- "basic_keyword",
25
- "basic_transcript"
23
+ "outline"
26
24
  ],
27
25
  "output_attributes": [
28
- "potential_titles"
26
+ "first_draft"
29
27
  ],
30
- "prompt": "Keyword: [start_keyword]\nTitle: [start_title]\n\nTranscript:\n\n[start_transcript]\n"
28
+ "prompt": "Write a blog post based on [outline]."
31
29
  },
32
30
  {
33
- "name": "Working Title",
31
+ "name": "Generate Intros",
34
32
  "order": 3,
35
33
  "input_attributes": [
36
- "potential_titles"
34
+ "first_draft"
37
35
  ],
38
36
  "output_attributes": [
39
- "working_title"
40
- ]
37
+ "intro_variations"
38
+ ],
39
+ "prompt": "Create 5 introduction variations for [first_draft]."
40
+ },
41
+ {
42
+ "name": "Update Draft with Intro",
43
+ "order": 4,
44
+ "input_attributes": [
45
+ "first_draft",
46
+ "intro_variation"
47
+ ],
48
+ "output_attributes": [
49
+ "second_draft"
50
+ ],
51
+ "prompt": "Update [first_draft] with a better intro [intro_variation]."
52
+ },
53
+ {
54
+ "name": "Analyse Intro",
55
+ "order": 5,
56
+ "input_attributes": [
57
+ "second_draft"
58
+ ],
59
+ "output_attributes": [
60
+ "intro_analysis"
61
+ ],
62
+ "prompt": "Analyze the article [second_draft] introduction"
63
+ },
64
+ {
65
+ "name": "Combine Intro Analysis",
66
+ "order": 6,
67
+ "input_attributes": [
68
+
69
+ ],
70
+ "output_attributes": [
71
+ "intro_analysis_combined"
72
+ ],
73
+ "prompt": ""
41
74
  }
42
75
  ]
43
76
  }
44
77
  ],
45
78
  "attributes": {
46
- "start_title": {
47
- "name": "start_title",
79
+ "transcript": {
80
+ "name": "transcript",
48
81
  "type": "string",
49
82
  "is_array": false
50
83
  },
51
- "start_keyword": {
52
- "name": "start_keyword",
84
+ "outline": {
85
+ "name": "outline",
53
86
  "type": "string",
54
87
  "is_array": false
55
88
  },
56
- "start_transcript": {
57
- "name": "start_transcript",
89
+ "first_draft": {
90
+ "name": "first_draft",
58
91
  "type": "string",
59
92
  "is_array": false
60
93
  },
61
- "potential_titles": {
62
- "name": "potential_titles",
94
+ "intro_variations": {
95
+ "name": "intro_variations",
63
96
  "type": "array",
64
97
  "is_array": false
65
98
  },
66
- "working_title": {
67
- "name": "working_title",
99
+ "intro_variation": {
100
+ "name": "intro_variation",
101
+ "type": "string",
102
+ "is_array": false
103
+ },
104
+ "second_draft": {
105
+ "name": "second_draft",
106
+ "type": "string",
107
+ "is_array": false
108
+ },
109
+ "intro_analysis": {
110
+ "name": "intro_analysis",
111
+ "type": "string",
112
+ "is_array": false
113
+ },
114
+ "intro_analysis_combined": {
115
+ "name": "intro_analysis_combined",
68
116
  "type": "string",
69
117
  "is_array": false
70
118
  }
71
119
  },
72
- "prompts": [
73
- {
74
- "name": "best_practice",
75
- "path": "youtube/title_creator/best_practice.md"
76
- }
77
- ]
120
+ "prompts": {
121
+ }
78
122
  }
data/workflow.yaml CHANGED
@@ -1,56 +1,82 @@
1
1
  ---
2
- :name: YouTube Title Creator
2
+ :name: YouTube Transcript to Medium Article
3
3
  :sections:
4
- - :name: Research
4
+ - :name: Analysis
5
5
  :order: 1
6
6
  :steps:
7
- - :name: Starting Context
7
+ - :name: Generate Outline
8
8
  :order: 1
9
- :input_attributes: []
10
- :output_attributes: []
11
- :prompt: :best_practice
12
- - :name: Basic titles
9
+ :input_attributes:
10
+ - :transcript
11
+ :output_attributes:
12
+ - :outline
13
+ :prompt: Analyze [transcript] and generate a preliminary outline for a blog post.
14
+ - :name: Write First Draft
13
15
  :order: 2
14
16
  :input_attributes:
15
- - :basic_title
16
- - :basic_keyword
17
- - :basic_transcript
17
+ - :outline
18
18
  :output_attributes:
19
- - :potential_titles
20
- :prompt: |
21
- Keyword: [start_keyword]
22
- Title: [start_title]
23
-
24
- Transcript:
25
-
26
- [start_transcript]
27
- - :name: Working Title
19
+ - :first_draft
20
+ :prompt: Write a blog post based on [outline].
21
+ - :name: Generate Intros
28
22
  :order: 3
29
23
  :input_attributes:
30
- - :potential_titles
24
+ - :first_draft
25
+ :output_attributes:
26
+ - :intro_variations
27
+ :prompt: Create 5 introduction variations for [first_draft].
28
+ - :name: Update Draft with Intro
29
+ :order: 4
30
+ :input_attributes:
31
+ - :first_draft
32
+ - :intro_variation
33
+ :output_attributes:
34
+ - :second_draft
35
+ :prompt: Update [first_draft] with a better intro [intro_variation].
36
+ - :name: Analyse Intro
37
+ :order: 5
38
+ :input_attributes:
39
+ - :second_draft
31
40
  :output_attributes:
32
- - :working_title
41
+ - :intro_analysis
42
+ :prompt: Analyze the article [second_draft] introduction
43
+ - :name: Combine Intro Analysis
44
+ :order: 6
45
+ :input_attributes: []
46
+ :output_attributes:
47
+ - :intro_analysis_combined
48
+ :prompt: ''
33
49
  :attributes:
34
- :start_title:
35
- :name: :start_title
50
+ :transcript:
51
+ :name: :transcript
36
52
  :type: :string
37
53
  :is_array: false
38
- :start_keyword:
39
- :name: :start_keyword
54
+ :outline:
55
+ :name: :outline
40
56
  :type: :string
41
57
  :is_array: false
42
- :start_transcript:
43
- :name: :start_transcript
58
+ :first_draft:
59
+ :name: :first_draft
44
60
  :type: :string
45
61
  :is_array: false
46
- :potential_titles:
47
- :name: :potential_titles
62
+ :intro_variations:
63
+ :name: :intro_variations
48
64
  :type: :array
49
65
  :is_array: false
50
- :working_title:
51
- :name: :working_title
66
+ :intro_variation:
67
+ :name: :intro_variation
68
+ :type: :string
69
+ :is_array: false
70
+ :second_draft:
71
+ :name: :second_draft
72
+ :type: :string
73
+ :is_array: false
74
+ :intro_analysis:
75
+ :name: :intro_analysis
76
+ :type: :string
77
+ :is_array: false
78
+ :intro_analysis_combined:
79
+ :name: :intro_analysis_combined
52
80
  :type: :string
53
81
  :is_array: false
54
- :prompts:
55
- - :name: :best_practice
56
- :path: youtube/title_creator/best_practice.md
82
+ :prompts: {}
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.10
4
+ version: 0.0.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Cruwys