ad-agent_architecture 0.0.9 → 0.0.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +11 -1
- data/CHANGELOG.md +15 -0
- data/Gemfile +1 -0
- data/Guardfile +6 -0
- data/lib/ad/agent_architecture/database/create_schema.rb +10 -0
- data/lib/ad/agent_architecture/database/models.rb +5 -0
- data/lib/ad/agent_architecture/dsl/actions/save_database.rb +7 -0
- data/lib/ad/agent_architecture/dsl/agent_dsl.rb +54 -0
- data/lib/ad/agent_architecture/dsl/{agent_workflow_dsl.rb → agent_workflow_dsl.rb.old} +9 -1
- data/lib/ad/agent_architecture/dsl/attribute_dsl.rb +18 -0
- data/lib/ad/agent_architecture/dsl/prompt_dsl.rb +18 -0
- data/lib/ad/agent_architecture/dsl/section_dsl.rb +22 -0
- data/lib/ad/agent_architecture/dsl/step_dsl.rb +28 -0
- data/lib/ad/agent_architecture/dsl/workflow_dsl.rb +33 -0
- data/lib/ad/agent_architecture/report/workflow_detail_report.rb +6 -6
- data/lib/ad/agent_architecture/version.rb +1 -1
- data/lib/ad/agent_architecture.rb +9 -1
- data/package-lock.json +2 -2
- data/package.json +1 -1
- data/workflow.json +41 -18
- data/workflow.yaml +30 -13
- metadata +8 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2e62425f0ffeff140581be7741ce8b429fb9437a196294e071d017e343894562
|
4
|
+
data.tar.gz: b7da8713c09d8179f840a676787aac6608143fde09a112fbe683c9205e9a37d2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9e11fffa978aa478142fe2a540c08c2917aa9a169ab0c19f35a19ea449fb7d9a6b06ddbce72a58b489cd50a367cd2e2dd571622f818a14ad63813a770c931626
|
7
|
+
data.tar.gz: 733bf3314271fa108de844ffc4fb2189bb7d77742bbfae31e2316b2883995eb2bc21d2888b49da7954db0865bf9cb9c226edce7cc4bde490f4fda535f206f222
|
data/.rubocop.yml
CHANGED
@@ -15,6 +15,7 @@ AllCops:
|
|
15
15
|
- ".builders/**/*"
|
16
16
|
- "spec/samples/**/*"
|
17
17
|
- "lib/ad/agent_architecture/database/*"
|
18
|
+
- "spec/usecases/**/*"
|
18
19
|
|
19
20
|
Metrics/BlockLength:
|
20
21
|
Exclude:
|
@@ -116,4 +117,13 @@ RSpec/NamedSubject:
|
|
116
117
|
|
117
118
|
RSpec/ExampleLength:
|
118
119
|
Exclude:
|
119
|
-
- "**/spec/**/*"
|
120
|
+
- "**/spec/**/*"
|
121
|
+
|
122
|
+
RSpec/MultipleExpectations:
|
123
|
+
Max: 3
|
124
|
+
Exclude:
|
125
|
+
- "spec/ad/agent_architecture/dsl/actions/save_database_spec.rb"
|
126
|
+
|
127
|
+
Metrics/CyclomaticComplexity:
|
128
|
+
Exclude:
|
129
|
+
- "lib/ad/agent_architecture/dsl/actions/save_database.rb"
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,18 @@
|
|
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
|
+
|
8
|
+
## [0.0.9](https://github.com/appydave/ad-agent_architecture/compare/v0.0.8...v0.0.9) (2024-06-29)
|
9
|
+
|
10
|
+
|
11
|
+
### Bug Fixes
|
12
|
+
|
13
|
+
* add save, save_json, save_yaml and better report support ([4350628](https://github.com/appydave/ad-agent_architecture/commit/4350628f95b06a5df3bac3432f52aa560c7699f5))
|
14
|
+
* add save, save_json, save_yaml and better report support ([9a7238a](https://github.com/appydave/ad-agent_architecture/commit/9a7238a0102e40a6e603a7a82757ff7c684ab374))
|
15
|
+
|
1
16
|
## [0.0.8](https://github.com/appydave/ad-agent_architecture/compare/v0.0.7...v0.0.8) (2024-06-29)
|
2
17
|
|
3
18
|
|
data/Gemfile
CHANGED
data/Guardfile
CHANGED
@@ -27,4 +27,10 @@ group :green_pass_then_cop, halt_on_fail: true do
|
|
27
27
|
watch(/{.+\.rb$/)
|
28
28
|
watch(%r{(?:.+/)?\.rubocop(?:_todo)?\.yml$}) { |m| File.dirname(m[0]) }
|
29
29
|
end
|
30
|
+
|
31
|
+
guard :shell do
|
32
|
+
watch(%r{^spec/usecases/.+\.rbx$}) do |m|
|
33
|
+
`ruby -r ./spec/usecases/dsl_initialize.rb #{m[0]}`
|
34
|
+
end
|
35
|
+
end
|
30
36
|
end
|
@@ -69,6 +69,16 @@ module Ad
|
|
69
69
|
foreign_key :attribute_id, :attributes
|
70
70
|
end
|
71
71
|
|
72
|
+
db.create_table :prompts do
|
73
|
+
primary_key :id
|
74
|
+
String :name, null: false
|
75
|
+
String :path, null: true
|
76
|
+
String :content, null: true
|
77
|
+
foreign_key :workflow_id, :workflows
|
78
|
+
end
|
79
|
+
|
80
|
+
# Workflow runs workflows that are executed
|
81
|
+
|
72
82
|
db.create_table :workflow_runs do
|
73
83
|
primary_key :id
|
74
84
|
foreign_key :workflow_id, :workflows
|
@@ -10,6 +10,7 @@ module Ad
|
|
10
10
|
one_to_many :sections, class: 'Ad::AgentArchitecture::Database::Section'
|
11
11
|
one_to_many :attributes, class: 'Ad::AgentArchitecture::Database::Attribute'
|
12
12
|
one_to_many :workflow_runs, class: 'Ad::AgentArchitecture::Database::WorkflowRun'
|
13
|
+
one_to_many :prompts, class: 'Ad::AgentArchitecture::Database::Prompt'
|
13
14
|
end
|
14
15
|
|
15
16
|
# Section model represents a section entity in the database.
|
@@ -46,6 +47,10 @@ module Ad
|
|
46
47
|
many_to_one :attribute, class: 'Ad::AgentArchitecture::Database::Attribute'
|
47
48
|
end
|
48
49
|
|
50
|
+
class Prompt < Sequel::Model
|
51
|
+
many_to_one :workflow, class: 'Ad::AgentArchitecture::Database::Workflow'
|
52
|
+
end
|
53
|
+
|
49
54
|
# WorkflowRun model represents a workflow run entity in the database.
|
50
55
|
class WorkflowRun < Sequel::Model
|
51
56
|
many_to_one :workflow, class: 'Ad::AgentArchitecture::Database::Workflow'
|
@@ -24,6 +24,13 @@ module Ad
|
|
24
24
|
|
25
25
|
attribute_map = attribute_records.to_h { |ar| [ar.name.to_sym, ar] }
|
26
26
|
|
27
|
+
# Save prompts
|
28
|
+
@workflow_hash[:prompts].each_value do |prompt|
|
29
|
+
Ad::AgentArchitecture::Database::Prompt.create(
|
30
|
+
name: prompt[:name], path: prompt[:path], content: prompt[:content], workflow: workflow_record
|
31
|
+
)
|
32
|
+
end
|
33
|
+
|
27
34
|
# Save sections and steps
|
28
35
|
@workflow_hash[:sections].each do |section|
|
29
36
|
section_record = Ad::AgentArchitecture::Database::Section.create(
|
@@ -0,0 +1,54 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Ad
|
4
|
+
module AgentArchitecture
|
5
|
+
module Dsl
|
6
|
+
# This class is responsible for defining the agent DSL
|
7
|
+
class AgentDsl
|
8
|
+
attr_reader :workflow
|
9
|
+
|
10
|
+
def self.create(name:, &block)
|
11
|
+
new(name).tap do |dsl|
|
12
|
+
dsl.instance_eval(&block) if block_given?
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def initialize(name)
|
17
|
+
@workflow = WorkflowDsl.new(name)
|
18
|
+
end
|
19
|
+
|
20
|
+
def attributes(&block)
|
21
|
+
@workflow.attributes(&block)
|
22
|
+
end
|
23
|
+
|
24
|
+
def prompts(&block)
|
25
|
+
@workflow.prompts(&block)
|
26
|
+
end
|
27
|
+
|
28
|
+
def section(name:, &block)
|
29
|
+
@workflow.section(name: name, &block)
|
30
|
+
end
|
31
|
+
|
32
|
+
def save
|
33
|
+
Ad::AgentArchitecture::Dsl::Actions::SaveDatabase.new(@workflow.workflow).save
|
34
|
+
|
35
|
+
self
|
36
|
+
end
|
37
|
+
|
38
|
+
def save_json(file_name = nil)
|
39
|
+
full_file_name = file_name || 'workflow.json'
|
40
|
+
Ad::AgentArchitecture::Dsl::Actions::SaveJson.new(@workflow.workflow).save(full_file_name)
|
41
|
+
|
42
|
+
self
|
43
|
+
end
|
44
|
+
|
45
|
+
def save_yaml(file_name = nil)
|
46
|
+
full_file_name = file_name || 'workflow.yaml'
|
47
|
+
Ad::AgentArchitecture::Dsl::Actions::SaveYaml.new(@workflow.workflow).save(full_file_name)
|
48
|
+
|
49
|
+
self
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -12,7 +12,7 @@ module Ad
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def initialize(name)
|
15
|
-
@workflow = { name: name, sections: [], attributes: {} }
|
15
|
+
@workflow = { name: name, sections: [], attributes: {}, prompts: [] }
|
16
16
|
@current_section_order = 1
|
17
17
|
end
|
18
18
|
|
@@ -24,6 +24,14 @@ module Ad
|
|
24
24
|
@workflow[:attributes][name] = { name: name, type: type, is_array: is_array }
|
25
25
|
end
|
26
26
|
|
27
|
+
def prompts(&block)
|
28
|
+
instance_eval(&block) if block_given?
|
29
|
+
end
|
30
|
+
|
31
|
+
def define_prompt(name, path: nil, content: nil)
|
32
|
+
@workflow[:prompts] << { name: name, path: path, content: content }
|
33
|
+
end
|
34
|
+
|
27
35
|
def section(name:, &block)
|
28
36
|
@current_step_order = 1
|
29
37
|
@current_section = { name: name, order: @current_section_order, steps: [] }
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Ad
|
4
|
+
module AgentArchitecture
|
5
|
+
module Dsl
|
6
|
+
# This class is responsible for defining the attributes of a workflow
|
7
|
+
class AttributeDsl
|
8
|
+
def initialize(attributes)
|
9
|
+
@attributes = attributes
|
10
|
+
end
|
11
|
+
|
12
|
+
def attribute(name, type:, is_array: false)
|
13
|
+
@attributes[name] = { name: name, type: type, is_array: is_array }
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Ad
|
4
|
+
module AgentArchitecture
|
5
|
+
module Dsl
|
6
|
+
# This class is responsible for defining the prompts of a workflow
|
7
|
+
class PromptDsl
|
8
|
+
def initialize(prompts)
|
9
|
+
@prompts = prompts
|
10
|
+
end
|
11
|
+
|
12
|
+
def prompt(name, path: nil, content: nil)
|
13
|
+
@prompts[name] = { name: name, path: path, content: content }
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Ad
|
4
|
+
module AgentArchitecture
|
5
|
+
module Dsl
|
6
|
+
# This class is responsible for creating a section in the workflow
|
7
|
+
class SectionDsl
|
8
|
+
def initialize(name, order, sections)
|
9
|
+
@section = { name: name, order: order, steps: [] }
|
10
|
+
@sections = sections
|
11
|
+
@current_step_order = 1
|
12
|
+
@sections << @section
|
13
|
+
end
|
14
|
+
|
15
|
+
def step(name:, &block)
|
16
|
+
StepDsl.new(name, @current_step_order, @section[:steps]).instance_eval(&block)
|
17
|
+
@current_step_order += 1
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Ad
|
4
|
+
module AgentArchitecture
|
5
|
+
module Dsl
|
6
|
+
# This class is responsible for defining the steps of a section
|
7
|
+
class StepDsl
|
8
|
+
def initialize(name, order, steps)
|
9
|
+
@step = { name: name, order: order, input_attributes: [], output_attributes: [], prompt: '' }
|
10
|
+
@steps = steps
|
11
|
+
@steps << @step
|
12
|
+
end
|
13
|
+
|
14
|
+
def input(attr_name, **_opts)
|
15
|
+
@step[:input_attributes] << attr_name
|
16
|
+
end
|
17
|
+
|
18
|
+
def output(attr_name, **_opts)
|
19
|
+
@step[:output_attributes] << attr_name
|
20
|
+
end
|
21
|
+
|
22
|
+
def prompt(prompt_text, **_opts)
|
23
|
+
@step[:prompt] = prompt_text
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Ad
|
4
|
+
module AgentArchitecture
|
5
|
+
module Dsl
|
6
|
+
# This class is responsible for defining the workflow DSL
|
7
|
+
class WorkflowDsl
|
8
|
+
attr_reader :workflow
|
9
|
+
|
10
|
+
def initialize(name)
|
11
|
+
@workflow = { name: name, sections: [], attributes: {}, prompts: {} }
|
12
|
+
@current_section_order = 1
|
13
|
+
end
|
14
|
+
|
15
|
+
def attributes(&block)
|
16
|
+
dsl = AttributeDsl.new(@workflow[:attributes])
|
17
|
+
dsl.instance_eval(&block) if block_given?
|
18
|
+
end
|
19
|
+
|
20
|
+
def prompts(&block)
|
21
|
+
dsl = PromptDsl.new(@workflow[:prompts])
|
22
|
+
dsl.instance_eval(&block) if block_given?
|
23
|
+
end
|
24
|
+
|
25
|
+
def section(name:, &block)
|
26
|
+
dsl = SectionDsl.new(name, @current_section_order, @workflow[:sections])
|
27
|
+
dsl.instance_eval(&block) if block_given?
|
28
|
+
@current_section_order += 1
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -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
|
@@ -13,13 +13,21 @@ Ad::AgentArchitecture::Database::CreateSchema.new(DB).execute
|
|
13
13
|
|
14
14
|
require 'ad/agent_architecture/database/models'
|
15
15
|
require 'ad/agent_architecture/database/sql_query'
|
16
|
-
require 'ad/agent_architecture/dsl/
|
16
|
+
require 'ad/agent_architecture/dsl/attribute_dsl'
|
17
|
+
require 'ad/agent_architecture/dsl/prompt_dsl'
|
18
|
+
require 'ad/agent_architecture/dsl/section_dsl'
|
19
|
+
require 'ad/agent_architecture/dsl/step_dsl'
|
20
|
+
require 'ad/agent_architecture/dsl/workflow_dsl'
|
21
|
+
require 'ad/agent_architecture/dsl/agent_dsl'
|
17
22
|
require 'ad/agent_architecture/dsl/actions/save_database'
|
18
23
|
require 'ad/agent_architecture/dsl/actions/save_json'
|
19
24
|
require 'ad/agent_architecture/dsl/actions/save_yaml'
|
20
25
|
require 'ad/agent_architecture/report/workflow_detail_report'
|
21
26
|
require 'ad/agent_architecture/report/workflow_list_report'
|
22
27
|
|
28
|
+
# Alias'
|
29
|
+
Agent = Ad::AgentArchitecture::Dsl::AgentDsl
|
30
|
+
|
23
31
|
module Ad
|
24
32
|
module AgentArchitecture
|
25
33
|
# raise Ad::AgentArchitecture::Error, 'Sample message'
|
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.11",
|
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.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
data/workflow.json
CHANGED
@@ -39,32 +39,38 @@
|
|
39
39
|
"prompt": "Create 5 introduction variations for [first_draft]."
|
40
40
|
},
|
41
41
|
{
|
42
|
-
"name": "
|
42
|
+
"name": "Update Draft with Intro",
|
43
43
|
"order": 4,
|
44
44
|
"input_attributes": [
|
45
|
-
"first_draft"
|
45
|
+
"first_draft",
|
46
|
+
"intro_variation"
|
46
47
|
],
|
47
48
|
"output_attributes": [
|
48
|
-
"
|
49
|
+
"second_draft"
|
49
50
|
],
|
50
|
-
"prompt": "
|
51
|
-
}
|
52
|
-
]
|
53
|
-
},
|
54
|
-
{
|
55
|
-
"name": "Editing",
|
56
|
-
"order": 2,
|
57
|
-
"steps": [
|
51
|
+
"prompt": "Update [first_draft] with a better intro [intro_variation]."
|
52
|
+
},
|
58
53
|
{
|
59
|
-
"name": "
|
60
|
-
"order":
|
54
|
+
"name": "Analyse Intro",
|
55
|
+
"order": 5,
|
61
56
|
"input_attributes": [
|
62
|
-
"
|
57
|
+
"second_draft"
|
63
58
|
],
|
64
59
|
"output_attributes": [
|
65
|
-
"
|
60
|
+
"intro_analysis"
|
66
61
|
],
|
67
|
-
"prompt": "
|
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": ""
|
68
74
|
}
|
69
75
|
]
|
70
76
|
}
|
@@ -90,10 +96,27 @@
|
|
90
96
|
"type": "array",
|
91
97
|
"is_array": false
|
92
98
|
},
|
93
|
-
"
|
94
|
-
"name": "
|
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",
|
95
116
|
"type": "string",
|
96
117
|
"is_array": false
|
97
118
|
}
|
119
|
+
},
|
120
|
+
"prompts": {
|
98
121
|
}
|
99
122
|
}
|
data/workflow.yaml
CHANGED
@@ -25,23 +25,27 @@
|
|
25
25
|
:output_attributes:
|
26
26
|
- :intro_variations
|
27
27
|
:prompt: Create 5 introduction variations for [first_draft].
|
28
|
-
- :name:
|
28
|
+
- :name: Update Draft with Intro
|
29
29
|
:order: 4
|
30
30
|
:input_attributes:
|
31
31
|
- :first_draft
|
32
|
+
- :intro_variation
|
32
33
|
:output_attributes:
|
33
|
-
- :
|
34
|
-
:prompt:
|
35
|
-
- :name:
|
36
|
-
|
37
|
-
:steps:
|
38
|
-
- :name: Edit Draft
|
39
|
-
:order: 1
|
34
|
+
- :second_draft
|
35
|
+
:prompt: Update [first_draft] with a better intro [intro_variation].
|
36
|
+
- :name: Analyse Intro
|
37
|
+
:order: 5
|
40
38
|
:input_attributes:
|
41
|
-
- :
|
39
|
+
- :second_draft
|
42
40
|
:output_attributes:
|
43
|
-
- :
|
44
|
-
:prompt:
|
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: ''
|
45
49
|
:attributes:
|
46
50
|
:transcript:
|
47
51
|
:name: :transcript
|
@@ -59,7 +63,20 @@
|
|
59
63
|
:name: :intro_variations
|
60
64
|
:type: :array
|
61
65
|
:is_array: false
|
62
|
-
:
|
63
|
-
:name: :
|
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
|
64
80
|
:type: :string
|
65
81
|
:is_array: false
|
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.
|
4
|
+
version: 0.0.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Cruwys
|
@@ -86,7 +86,13 @@ files:
|
|
86
86
|
- lib/ad/agent_architecture/dsl/actions/save_database.rb
|
87
87
|
- lib/ad/agent_architecture/dsl/actions/save_json.rb
|
88
88
|
- lib/ad/agent_architecture/dsl/actions/save_yaml.rb
|
89
|
-
- lib/ad/agent_architecture/dsl/
|
89
|
+
- lib/ad/agent_architecture/dsl/agent_dsl.rb
|
90
|
+
- lib/ad/agent_architecture/dsl/agent_workflow_dsl.rb.old
|
91
|
+
- lib/ad/agent_architecture/dsl/attribute_dsl.rb
|
92
|
+
- lib/ad/agent_architecture/dsl/prompt_dsl.rb
|
93
|
+
- lib/ad/agent_architecture/dsl/section_dsl.rb
|
94
|
+
- lib/ad/agent_architecture/dsl/step_dsl.rb
|
95
|
+
- lib/ad/agent_architecture/dsl/workflow_dsl.rb
|
90
96
|
- lib/ad/agent_architecture/report/workflow_detail_report.rb
|
91
97
|
- lib/ad/agent_architecture/report/workflow_list_report.rb
|
92
98
|
- lib/ad/agent_architecture/sql/workflow_details.sql
|