ad-agent_architecture 0.0.10 → 0.0.12

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: cbe6603e537c91457b8d7a3694ecaa23f77eec779bc43ae46a175f37c51e957b
4
+ data.tar.gz: a65c74eae0fc6fdd21296f5da8b6b03d1ef46f6a6dd407d1b6deb38577dbf116
5
5
  SHA512:
6
- metadata.gz: 6b7f671d1ad1c28534f6e35f0d141fdb05c8fe0c28192e12087d10fbacb67265e451d17a91df3194e3495d8fec98881ff31a4ec7000db10f13886bc9c0de5785
7
- data.tar.gz: 07de02cccb8f30f128f8e81663eeba0e4e4dc190394c030675a8d574259e5c50d85bb8d4643de1c94db197b7261e2f7bb22b3ed2708eafdb6ac7c07802341258
6
+ metadata.gz: 9e9c114cd087a31e91352a3c9165cbad5b3e11b8668a77c37bd3226503e4746e2e6cdd53fb30b9c0b3a2bba84b4b050b32bce525b9b1d4e79ce215e9a7355f33
7
+ data.tar.gz: c0473487b838ebc28e5a59ef16b9b9d77e3a4bb3ba210f1ff771a1747053736500747dd06542c482b5326a5cd97b8e1d9058a0697e02bae9b9f1dbc76e343a15
data/.rubocop.yml CHANGED
@@ -93,9 +93,6 @@ Style/AccessorGrouping:
93
93
  Metrics/AbcSize:
94
94
  Exclude:
95
95
  - "lib/ad/agent_architecture/**/*"
96
- Metrics/NoExpectationExample:
97
- Exclude:
98
- - "spec/ad/agent_architecture/dsl/*"
99
96
 
100
97
  Layout/SpaceBeforeComma:
101
98
  Enabled: false
@@ -112,18 +109,19 @@ RSpec/SpecFilePathSuffix:
112
109
  Enabled: true
113
110
 
114
111
  RSpec/NamedSubject:
115
- Exclude:
116
- - "**/spec/**/*"
112
+ Enabled: false
117
113
 
118
114
  RSpec/ExampleLength:
119
- Exclude:
120
- - "**/spec/**/*"
115
+ Enabled: false
121
116
 
122
117
  RSpec/MultipleExpectations:
123
118
  Max: 3
124
119
  Exclude:
125
120
  - "spec/ad/agent_architecture/dsl/actions/save_database_spec.rb"
126
121
 
122
+ RSpec/MultipleMemoizedHelpers:
123
+ Enabled: false
124
+
127
125
  Metrics/CyclomaticComplexity:
128
126
  Exclude:
129
127
  - "lib/ad/agent_architecture/dsl/actions/save_database.rb"
data/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ ## [0.0.11](https://github.com/appydave/ad-agent_architecture/compare/v0.0.10...v0.0.11) (2024-06-29)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * improve reports ([62aac63](https://github.com/appydave/ad-agent_architecture/commit/62aac63af8b48b30514f21b940005e899538307f))
7
+
8
+ ## [0.0.10](https://github.com/appydave/ad-agent_architecture/compare/v0.0.9...v0.0.10) (2024-06-29)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * refactor DSL to use component DSLs ([597050a](https://github.com/appydave/ad-agent_architecture/commit/597050ad727f1aaf8eb3e6589cf1c618f41499e7))
14
+
1
15
  ## [0.0.9](https://github.com/appydave/ad-agent_architecture/compare/v0.0.8...v0.0.9) (2024-06-29)
2
16
 
3
17
 
data/Guardfile CHANGED
@@ -28,9 +28,9 @@ group :green_pass_then_cop, halt_on_fail: true do
28
28
  watch(%r{(?:.+/)?\.rubocop(?:_todo)?\.yml$}) { |m| File.dirname(m[0]) }
29
29
  end
30
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
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
36
36
  end
@@ -17,6 +17,10 @@ module Ad
17
17
  @workflow = WorkflowDsl.new(name)
18
18
  end
19
19
 
20
+ def settings(&block)
21
+ @workflow.settings(&block)
22
+ end
23
+
20
24
  def attributes(&block)
21
25
  @workflow.attributes(&block)
22
26
  end
@@ -25,8 +29,8 @@ module Ad
25
29
  @workflow.prompts(&block)
26
30
  end
27
31
 
28
- def section(name:, &block)
29
- @workflow.section(name: name, &block)
32
+ def section(name, &block)
33
+ @workflow.section(name, &block)
30
34
  end
31
35
 
32
36
  def save
@@ -4,13 +4,9 @@ module Ad
4
4
  module AgentArchitecture
5
5
  module Dsl
6
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
-
7
+ class AttributeDsl < ChildDsl
12
8
  def attribute(name, type:, is_array: false)
13
- @attributes[name] = { name: name, type: type, is_array: is_array }
9
+ workflow[:attributes][name] = { name: name, type: type, is_array: is_array }
14
10
  end
15
11
  end
16
12
  end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Ad
4
+ module AgentArchitecture
5
+ module Dsl
6
+ # This is the base class for all child DSLs
7
+ class ChildDsl
8
+ attr_reader :workflow
9
+
10
+ def initialize(workflow)
11
+ @workflow = workflow
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -4,13 +4,17 @@ module Ad
4
4
  module AgentArchitecture
5
5
  module Dsl
6
6
  # This class is responsible for defining the prompts of a workflow
7
- class PromptDsl
8
- def initialize(prompts)
9
- @prompts = prompts
7
+ class PromptDsl < ChildDsl
8
+ def prompt(name, path: nil, content: nil)
9
+ workflow[:prompts][name] = { name: name, content: content }
10
10
  end
11
11
 
12
- def prompt(name, path: nil, content: nil)
13
- @prompts[name] = { name: name, path: path, content: content }
12
+ def prompt_file(file)
13
+ prompt_path = workflow[:settings][:prompt_path]
14
+ raise 'Prompt path not defined in settings' unless prompt_path
15
+
16
+ full_path = File.join(prompt_path, file)
17
+ File.read(full_path)
14
18
  end
15
19
  end
16
20
  end
@@ -4,16 +4,17 @@ module Ad
4
4
  module AgentArchitecture
5
5
  module Dsl
6
6
  # This class is responsible for creating a section in the workflow
7
- class SectionDsl
8
- def initialize(name, order, sections)
7
+ class SectionDsl < ChildDsl
8
+ def initialize(workflow, name, order)
9
+ super(workflow)
10
+
9
11
  @section = { name: name, order: order, steps: [] }
10
- @sections = sections
12
+ @workflow[:sections] << @section
11
13
  @current_step_order = 1
12
- @sections << @section
13
14
  end
14
15
 
15
16
  def step(name:, &block)
16
- StepDsl.new(name, @current_step_order, @section[:steps]).instance_eval(&block)
17
+ StepDsl.new(workflow, @section, name, @current_step_order).instance_eval(&block)
17
18
  @current_step_order += 1
18
19
  end
19
20
  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 defining the settings of a workflow
7
+ class SettingsDsl < ChildDsl
8
+ def method_missing(name, *args, &block)
9
+ if args.length == 1 && block.nil?
10
+ workflow[:settings][name] = args.first
11
+ else
12
+ super
13
+ end
14
+ end
15
+
16
+ def respond_to_missing?(_name, _include_private = false)
17
+ true
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -5,10 +5,16 @@ module Ad
5
5
  module Dsl
6
6
  # This class is responsible for defining the steps of a section
7
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
8
+ def initialize(_workflow, section, name, order)
9
+ @step = {
10
+ name: name,
11
+ order: order,
12
+ prompt: '',
13
+ input_attributes: [],
14
+ output_attributes: []
15
+ }
16
+
17
+ section[:steps] << @step
12
18
  end
13
19
 
14
20
  def input(attr_name, **_opts)
@@ -8,24 +8,33 @@ module Ad
8
8
  attr_reader :workflow
9
9
 
10
10
  def initialize(name)
11
- @workflow = { name: name, sections: [], attributes: {}, prompts: {} }
11
+ @workflow = { name: name, sections: [], attributes: {}, prompts: {}, settings: {} }
12
12
  @current_section_order = 1
13
13
  end
14
14
 
15
+ def settings(&block)
16
+ dsl = SettingsDsl.new(@workflow)
17
+ dsl.instance_eval(&block) if block_given?
18
+ dsl
19
+ end
20
+
15
21
  def attributes(&block)
16
- dsl = AttributeDsl.new(@workflow[:attributes])
22
+ dsl = AttributeDsl.new(@workflow)
17
23
  dsl.instance_eval(&block) if block_given?
24
+ dsl
18
25
  end
19
26
 
20
27
  def prompts(&block)
21
- dsl = PromptDsl.new(@workflow[:prompts])
28
+ dsl = PromptDsl.new(@workflow)
22
29
  dsl.instance_eval(&block) if block_given?
30
+ dsl
23
31
  end
24
32
 
25
- def section(name:, &block)
26
- dsl = SectionDsl.new(name, @current_section_order, @workflow[:sections])
27
- dsl.instance_eval(&block) if block_given?
33
+ def section(name, &block)
34
+ dsl = SectionDsl.new(@workflow, name, @current_section_order)
28
35
  @current_section_order += 1
36
+ dsl.instance_eval(&block) if block_given?
37
+ dsl
29
38
  end
30
39
  end
31
40
  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,17 +10,19 @@ 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
- log.kv 'Output Attributes', step.output_attributes.map { |oa| oa.attribute.name }.join(', ')
25
+ log.kv 'Output Attributes', step.output_attributes.map { |oa| oa.attribute&.name }.join(', ')
26
26
  end
27
27
  end
28
28
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Ad
4
4
  module AgentArchitecture
5
- VERSION = '0.0.10'
5
+ VERSION = '0.0.12'
6
6
  end
7
7
  end
@@ -13,27 +13,39 @@ 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/child_dsl'
16
17
  require 'ad/agent_architecture/dsl/attribute_dsl'
17
18
  require 'ad/agent_architecture/dsl/prompt_dsl'
18
19
  require 'ad/agent_architecture/dsl/section_dsl'
19
20
  require 'ad/agent_architecture/dsl/step_dsl'
21
+ require 'ad/agent_architecture/dsl/settings_dsl'
20
22
  require 'ad/agent_architecture/dsl/workflow_dsl'
21
23
  require 'ad/agent_architecture/dsl/agent_dsl'
22
24
  require 'ad/agent_architecture/dsl/actions/save_database'
23
25
  require 'ad/agent_architecture/dsl/actions/save_json'
24
26
  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'
27
+ require 'ad/agent_architecture/report/workflow_detail_report'
28
+ require 'ad/agent_architecture/report/workflow_list_report'
27
29
 
28
- # Alias'
29
- # AgentWorkflow = Ad::AgentArchitecture::Dsl::AgentWorkflowDsl
30
+ # AgentDsl Alias
31
+ Agent = Ad::AgentArchitecture::Dsl::AgentDsl
30
32
 
31
33
  module Ad
34
+ # Module for the Agent Architecture gem
32
35
  module AgentArchitecture
33
36
  # raise Ad::AgentArchitecture::Error, 'Sample message'
34
37
  Error = Class.new(StandardError)
35
38
 
36
- # Your code goes here...
39
+ # Define the root path of the gem
40
+ ROOT_PATH = Pathname.new(File.expand_path('../..', __dir__))
41
+
42
+ def self.gem_root
43
+ ROOT_PATH
44
+ end
45
+
46
+ def self.gem_relative_file(*args)
47
+ File.join(ROOT_PATH, *args)
48
+ end
37
49
  end
38
50
  end
39
51
 
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.12",
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.12",
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.12",
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,14 +1,14 @@
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.12
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-06-29 00:00:00.000000000 Z
11
+ date: 2024-07-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: k_log
@@ -89,8 +89,10 @@ files:
89
89
  - lib/ad/agent_architecture/dsl/agent_dsl.rb
90
90
  - lib/ad/agent_architecture/dsl/agent_workflow_dsl.rb.old
91
91
  - lib/ad/agent_architecture/dsl/attribute_dsl.rb
92
+ - lib/ad/agent_architecture/dsl/child_dsl.rb
92
93
  - lib/ad/agent_architecture/dsl/prompt_dsl.rb
93
94
  - lib/ad/agent_architecture/dsl/section_dsl.rb
95
+ - lib/ad/agent_architecture/dsl/settings_dsl.rb
94
96
  - lib/ad/agent_architecture/dsl/step_dsl.rb
95
97
  - lib/ad/agent_architecture/dsl/workflow_dsl.rb
96
98
  - lib/ad/agent_architecture/report/workflow_detail_report.rb