aia 1.1.1 → 2.0.0.0.pre.beta2
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/.envrc +9 -1
- data/.loki +11 -0
- data/.reek.yml +160 -0
- data/.rubocop.yml +116 -0
- data/.rubocop_strict.yml +15 -0
- data/.version +1 -1
- data/CHANGELOG.md +269 -55
- data/IMPLEMENTATION_PLAN.md +506 -0
- data/README.md +267 -239
- data/Rakefile +5 -5
- data/_typos.toml +10 -0
- data/aia.gemspec +92 -0
- data/architecture_review.md +314 -0
- data/bin/aia +16 -0
- data/config/aia.yml +13 -0
- data/docs/AGENTS.md +40 -0
- data/docs/advanced-prompting.md +67 -3
- data/docs/cli-reference.md +312 -56
- data/docs/configuration.md +130 -19
- data/docs/contributing.md +56 -2
- data/docs/directives-reference.md +593 -78
- data/docs/faq.md +85 -3
- data/docs/guides/available-models.md +1 -1
- data/docs/guides/basic-usage.md +6 -6
- data/docs/guides/chat.md +40 -16
- data/docs/guides/crew.md +239 -0
- data/docs/guides/executable-prompts.md +1 -1
- data/docs/guides/index.md +1 -0
- data/docs/guides/models.md +15 -0
- data/docs/index.md +29 -2
- data/docs/installation.md +44 -17
- data/docs/mcp-integration.md +40 -0
- data/docs/prompt_management.md +85 -86
- data/docs/security.md +47 -0
- data/docs/special_projects_guide.md +386 -0
- data/docs/tools-and-mcp-examples.md +23 -0
- data/docs/workflows-and-pipelines.md +84 -7
- data/examples/.gitignore +1 -0
- data/examples/00_setup_aia.sh +27 -44
- data/examples/11_multi_model.sh +4 -14
- data/examples/12_token_usage.sh +3 -12
- data/examples/18_tools.sh +10 -2
- data/examples/22_chat_mode.sh +0 -10
- data/examples/23_verify.sh +139 -0
- data/examples/24_decompose.sh +139 -0
- data/examples/25_spawn.sh +139 -0
- data/examples/26_debate.sh +97 -0
- data/examples/27_mention_routing.sh +157 -0
- data/examples/28_model_switching.sh +106 -0
- data/examples/29_agent_harness.sh +177 -0
- data/examples/README.md +65 -0
- data/examples/advanced_multi_robot_capabilities_without_examples.md +106 -0
- data/examples/aia_config.yml +1 -1
- data/examples/aia_config_orchestrator.yml +45 -0
- data/examples/common.sh +18 -6
- data/examples/context/tech_stack.md +2 -2
- data/examples/prompts_dir/roles/orchestrator.md +21 -0
- data/examples/requirements/sinatra_taskflow_app.md +139 -0
- data/examples/rules/01_classify_ruby.rb +16 -0
- data/examples/rules/02_prefer_claude_for_code.rb +19 -0
- data/examples/rules/03_gate_prompt_length.rb +19 -0
- data/examples/rules/04_tool_selection.rb +41 -0
- data/examples/rules/README.md +30 -0
- data/examples/run_all.sh +48 -15
- data/examples/tools/word_count_tool.rb +1 -1
- data/lib/AGENTS.md +57 -0
- data/lib/aia/chat_loop.rb +263 -167
- data/lib/aia/config/cli_parser.rb +217 -145
- data/lib/aia/config/defaults.yml +62 -33
- data/lib/aia/config/mcp_parser.rb +52 -51
- data/lib/aia/config/model_spec.rb +34 -2
- data/lib/aia/config/validator.rb +171 -216
- data/lib/aia/config.rb +111 -145
- data/lib/aia/content_extractor.rb +155 -0
- data/lib/aia/cost_calculator.rb +39 -0
- data/lib/aia/crew.rb +164 -0
- data/lib/aia/debate_handler.rb +174 -0
- data/lib/aia/delegate_handler.rb +116 -0
- data/lib/aia/directive.rb +43 -26
- data/lib/aia/directive_processor.rb +16 -7
- data/lib/aia/directives/configuration_directives.rb +214 -60
- data/lib/aia/directives/context_directives.rb +67 -52
- data/lib/aia/directives/execution_directives.rb +141 -4
- data/lib/aia/directives/model_directives.rb +163 -141
- data/lib/aia/directives/trakflow_directives.rb +62 -0
- data/lib/aia/directives/utility_directives.rb +227 -30
- data/lib/aia/directives/web_and_file_directives.rb +126 -77
- data/lib/aia/errors.rb +15 -0
- data/lib/aia/fact_asserter.rb +27 -0
- data/lib/aia/fzf.rb +9 -31
- data/lib/aia/handler_context.rb +17 -0
- data/lib/aia/handler_protocol.rb +19 -0
- data/lib/aia/history_transfer.rb +55 -0
- data/lib/aia/input_collector.rb +3 -3
- data/lib/aia/layered_orchestrator.rb +471 -0
- data/lib/aia/logger.rb +45 -25
- data/lib/aia/mcp_config_normalizer.rb +35 -0
- data/lib/aia/mcp_connection_manager.rb +315 -0
- data/lib/aia/mcp_discovery.rb +44 -0
- data/lib/aia/mcp_grouper.rb +33 -0
- data/lib/aia/mcp_server_config.rb +30 -0
- data/lib/aia/mcp_utility.rb +60 -0
- data/lib/aia/mention_router.rb +217 -0
- data/lib/aia/model_alias_registry.rb +97 -0
- data/lib/aia/model_switch_handler.rb +100 -0
- data/lib/aia/network_builder.rb +160 -0
- data/lib/aia/network_memory_manager.rb +55 -0
- data/lib/aia/patches/ruby_llm_streaming_error.rb +43 -0
- data/lib/aia/patches/ruby_llm_tool_error.rb +96 -0
- data/lib/aia/pipeline_orchestrator.rb +272 -0
- data/lib/aia/plugin_loader.rb +170 -0
- data/lib/aia/plugin_monitor.rb +211 -0
- data/lib/aia/prompt_decomposer.rb +159 -0
- data/lib/aia/prompt_handler.rb +56 -82
- data/lib/aia/robot_builder.rb +51 -0
- data/lib/aia/robot_factory.rb +338 -0
- data/lib/aia/robot_namer.rb +110 -0
- data/lib/aia/session.rb +87 -17
- data/lib/aia/session_tracker.rb +207 -0
- data/lib/aia/similarity_scorer.rb +41 -0
- data/lib/aia/skill_utils.rb +105 -1
- data/lib/aia/spawn_handler.rb +129 -0
- data/lib/aia/spawn_spec_parser.rb +65 -0
- data/lib/aia/special_mode_handler.rb +322 -0
- data/lib/aia/speech.rb +67 -0
- data/lib/aia/startup_coordinator.rb +151 -0
- data/lib/aia/streaming_runner.rb +172 -0
- data/lib/aia/system_prompt_assembler.rb +92 -0
- data/lib/aia/task_coordinator.rb +207 -0
- data/lib/aia/task_decomposer.rb +57 -0
- data/lib/aia/task_executor.rb +51 -0
- data/lib/aia/tfidf_math.rb +27 -0
- data/lib/aia/timing.rb +15 -0
- data/lib/aia/tool_filter/tfidf.rb +116 -0
- data/lib/aia/tool_filter/wordnet_expander.rb +127 -0
- data/lib/aia/tool_filter.rb +83 -0
- data/lib/aia/tool_filter_registry.rb +30 -0
- data/lib/aia/tool_filter_strategy.rb +146 -0
- data/lib/aia/tool_introspection.rb +17 -0
- data/lib/aia/tool_loader.rb +216 -0
- data/lib/aia/tool_utility.rb +30 -0
- data/lib/aia/tools/delegate_to_foreman_tool.rb +70 -0
- data/lib/aia/tools/recruit_robot_tool.rb +60 -0
- data/lib/aia/tools/reskill_robot_tool.rb +44 -0
- data/lib/aia/tools/task_board_tool.rb +115 -0
- data/lib/aia/trakflow_bridge.rb +175 -0
- data/lib/aia/turn_state.rb +95 -0
- data/lib/aia/ui_presenter.rb +182 -206
- data/lib/aia/utility.rb +136 -87
- data/lib/aia/{history_manager.rb → variable_input_collector.rb} +9 -9
- data/lib/aia/verification_network.rb +57 -0
- data/lib/aia.rb +124 -63
- data/mkdocs.yml +1 -0
- metadata +187 -58
- data/justfile +0 -215
- data/lib/aia/adapter/chat_execution.rb +0 -242
- data/lib/aia/adapter/error_handler.rb +0 -68
- data/lib/aia/adapter/gem_activator.rb +0 -57
- data/lib/aia/adapter/mcp_connector.rb +0 -274
- data/lib/aia/adapter/modality_handlers.rb +0 -167
- data/lib/aia/adapter/model_registry.rb +0 -81
- data/lib/aia/adapter/multi_model_chat.rb +0 -218
- data/lib/aia/adapter/provider_configurator.rb +0 -59
- data/lib/aia/adapter/tool_filter.rb +0 -85
- data/lib/aia/adapter/tool_loader.rb +0 -90
- data/lib/aia/chat_processor_service.rb +0 -178
- data/lib/aia/prompt_pipeline.rb +0 -183
- data/lib/aia/ruby_llm_adapter.rb +0 -95
- data/lib/extensions/openstruct_merge.rb +0 -48
- data/lib/extensions/ruby_llm/.irbrc +0 -56
- data/lib/extensions/ruby_llm/modalities.rb +0 -36
- data/lib/extensions/ruby_llm/provider_fix.rb +0 -79
- data/lib/refinements/string.rb +0 -16
- data/main.just +0 -76
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: aia
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 2.0.0.0.pre.beta2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Dewayne VanHoozer
|
|
@@ -10,21 +10,35 @@ cert_chain: []
|
|
|
10
10
|
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
12
|
- !ruby/object:Gem::Dependency
|
|
13
|
-
name:
|
|
13
|
+
name: bigdecimal
|
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
|
15
15
|
requirements:
|
|
16
16
|
- - ">="
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
|
-
version: '0'
|
|
18
|
+
version: '4.0'
|
|
19
19
|
type: :runtime
|
|
20
20
|
prerelease: false
|
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
22
22
|
requirements:
|
|
23
23
|
- - ">="
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
|
-
version: '0'
|
|
25
|
+
version: '4.0'
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
|
-
name:
|
|
27
|
+
name: robot_lab
|
|
28
|
+
requirement: !ruby/object:Gem::Requirement
|
|
29
|
+
requirements:
|
|
30
|
+
- - "~>"
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: '0.2'
|
|
33
|
+
type: :runtime
|
|
34
|
+
prerelease: false
|
|
35
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
36
|
+
requirements:
|
|
37
|
+
- - "~>"
|
|
38
|
+
- !ruby/object:Gem::Version
|
|
39
|
+
version: '0.2'
|
|
40
|
+
- !ruby/object:Gem::Dependency
|
|
41
|
+
name: myway_config
|
|
28
42
|
requirement: !ruby/object:Gem::Requirement
|
|
29
43
|
requirements:
|
|
30
44
|
- - ">="
|
|
@@ -38,7 +52,35 @@ dependencies:
|
|
|
38
52
|
- !ruby/object:Gem::Version
|
|
39
53
|
version: '0'
|
|
40
54
|
- !ruby/object:Gem::Dependency
|
|
41
|
-
name:
|
|
55
|
+
name: prompt_manager
|
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
|
57
|
+
requirements:
|
|
58
|
+
- - "~>"
|
|
59
|
+
- !ruby/object:Gem::Version
|
|
60
|
+
version: 1.0.2
|
|
61
|
+
type: :runtime
|
|
62
|
+
prerelease: false
|
|
63
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
64
|
+
requirements:
|
|
65
|
+
- - "~>"
|
|
66
|
+
- !ruby/object:Gem::Version
|
|
67
|
+
version: 1.0.2
|
|
68
|
+
- !ruby/object:Gem::Dependency
|
|
69
|
+
name: lumberjack
|
|
70
|
+
requirement: !ruby/object:Gem::Requirement
|
|
71
|
+
requirements:
|
|
72
|
+
- - "~>"
|
|
73
|
+
- !ruby/object:Gem::Version
|
|
74
|
+
version: '2.1'
|
|
75
|
+
type: :runtime
|
|
76
|
+
prerelease: false
|
|
77
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
78
|
+
requirements:
|
|
79
|
+
- - "~>"
|
|
80
|
+
- !ruby/object:Gem::Version
|
|
81
|
+
version: '2.1'
|
|
82
|
+
- !ruby/object:Gem::Dependency
|
|
83
|
+
name: activesupport
|
|
42
84
|
requirement: !ruby/object:Gem::Requirement
|
|
43
85
|
requirements:
|
|
44
86
|
- - ">="
|
|
@@ -52,7 +94,7 @@ dependencies:
|
|
|
52
94
|
- !ruby/object:Gem::Version
|
|
53
95
|
version: '0'
|
|
54
96
|
- !ruby/object:Gem::Dependency
|
|
55
|
-
name:
|
|
97
|
+
name: simple_flow
|
|
56
98
|
requirement: !ruby/object:Gem::Requirement
|
|
57
99
|
requirements:
|
|
58
100
|
- - ">="
|
|
@@ -66,7 +108,7 @@ dependencies:
|
|
|
66
108
|
- !ruby/object:Gem::Version
|
|
67
109
|
version: '0'
|
|
68
110
|
- !ruby/object:Gem::Dependency
|
|
69
|
-
name:
|
|
111
|
+
name: trak_flow
|
|
70
112
|
requirement: !ruby/object:Gem::Requirement
|
|
71
113
|
requirements:
|
|
72
114
|
- - ">="
|
|
@@ -80,7 +122,7 @@ dependencies:
|
|
|
80
122
|
- !ruby/object:Gem::Version
|
|
81
123
|
version: '0'
|
|
82
124
|
- !ruby/object:Gem::Dependency
|
|
83
|
-
name:
|
|
125
|
+
name: reline
|
|
84
126
|
requirement: !ruby/object:Gem::Requirement
|
|
85
127
|
requirements:
|
|
86
128
|
- - ">="
|
|
@@ -94,21 +136,21 @@ dependencies:
|
|
|
94
136
|
- !ruby/object:Gem::Version
|
|
95
137
|
version: '0'
|
|
96
138
|
- !ruby/object:Gem::Dependency
|
|
97
|
-
name:
|
|
139
|
+
name: tty-screen
|
|
98
140
|
requirement: !ruby/object:Gem::Requirement
|
|
99
141
|
requirements:
|
|
100
|
-
- - "
|
|
142
|
+
- - ">="
|
|
101
143
|
- !ruby/object:Gem::Version
|
|
102
|
-
version:
|
|
144
|
+
version: '0'
|
|
103
145
|
type: :runtime
|
|
104
146
|
prerelease: false
|
|
105
147
|
version_requirements: !ruby/object:Gem::Requirement
|
|
106
148
|
requirements:
|
|
107
|
-
- - "
|
|
149
|
+
- - ">="
|
|
108
150
|
- !ruby/object:Gem::Version
|
|
109
|
-
version:
|
|
151
|
+
version: '0'
|
|
110
152
|
- !ruby/object:Gem::Dependency
|
|
111
|
-
name:
|
|
153
|
+
name: tty-spinner
|
|
112
154
|
requirement: !ruby/object:Gem::Requirement
|
|
113
155
|
requirements:
|
|
114
156
|
- - ">="
|
|
@@ -122,35 +164,35 @@ dependencies:
|
|
|
122
164
|
- !ruby/object:Gem::Version
|
|
123
165
|
version: '0'
|
|
124
166
|
- !ruby/object:Gem::Dependency
|
|
125
|
-
name:
|
|
167
|
+
name: tty-table
|
|
126
168
|
requirement: !ruby/object:Gem::Requirement
|
|
127
169
|
requirements:
|
|
128
170
|
- - "~>"
|
|
129
171
|
- !ruby/object:Gem::Version
|
|
130
|
-
version: '
|
|
172
|
+
version: '0.12'
|
|
131
173
|
type: :runtime
|
|
132
174
|
prerelease: false
|
|
133
175
|
version_requirements: !ruby/object:Gem::Requirement
|
|
134
176
|
requirements:
|
|
135
177
|
- - "~>"
|
|
136
178
|
- !ruby/object:Gem::Version
|
|
137
|
-
version: '
|
|
179
|
+
version: '0.12'
|
|
138
180
|
- !ruby/object:Gem::Dependency
|
|
139
|
-
name:
|
|
181
|
+
name: classifier
|
|
140
182
|
requirement: !ruby/object:Gem::Requirement
|
|
141
183
|
requirements:
|
|
142
184
|
- - "~>"
|
|
143
185
|
- !ruby/object:Gem::Version
|
|
144
|
-
version: '
|
|
186
|
+
version: '2.3'
|
|
145
187
|
type: :runtime
|
|
146
188
|
prerelease: false
|
|
147
189
|
version_requirements: !ruby/object:Gem::Requirement
|
|
148
190
|
requirements:
|
|
149
191
|
- - "~>"
|
|
150
192
|
- !ruby/object:Gem::Version
|
|
151
|
-
version: '
|
|
193
|
+
version: '2.3'
|
|
152
194
|
- !ruby/object:Gem::Dependency
|
|
153
|
-
name:
|
|
195
|
+
name: word_wrapper
|
|
154
196
|
requirement: !ruby/object:Gem::Requirement
|
|
155
197
|
requirements:
|
|
156
198
|
- - ">="
|
|
@@ -164,7 +206,7 @@ dependencies:
|
|
|
164
206
|
- !ruby/object:Gem::Version
|
|
165
207
|
version: '0'
|
|
166
208
|
- !ruby/object:Gem::Dependency
|
|
167
|
-
name:
|
|
209
|
+
name: amazing_print
|
|
168
210
|
requirement: !ruby/object:Gem::Requirement
|
|
169
211
|
requirements:
|
|
170
212
|
- - ">="
|
|
@@ -178,7 +220,7 @@ dependencies:
|
|
|
178
220
|
- !ruby/object:Gem::Version
|
|
179
221
|
version: '0'
|
|
180
222
|
- !ruby/object:Gem::Dependency
|
|
181
|
-
name:
|
|
223
|
+
name: clipboard
|
|
182
224
|
requirement: !ruby/object:Gem::Requirement
|
|
183
225
|
requirements:
|
|
184
226
|
- - ">="
|
|
@@ -192,7 +234,7 @@ dependencies:
|
|
|
192
234
|
- !ruby/object:Gem::Version
|
|
193
235
|
version: '0'
|
|
194
236
|
- !ruby/object:Gem::Dependency
|
|
195
|
-
name:
|
|
237
|
+
name: faraday
|
|
196
238
|
requirement: !ruby/object:Gem::Requirement
|
|
197
239
|
requirements:
|
|
198
240
|
- - ">="
|
|
@@ -206,7 +248,21 @@ dependencies:
|
|
|
206
248
|
- !ruby/object:Gem::Version
|
|
207
249
|
version: '0'
|
|
208
250
|
- !ruby/object:Gem::Dependency
|
|
209
|
-
name:
|
|
251
|
+
name: listen
|
|
252
|
+
requirement: !ruby/object:Gem::Requirement
|
|
253
|
+
requirements:
|
|
254
|
+
- - ">="
|
|
255
|
+
- !ruby/object:Gem::Version
|
|
256
|
+
version: '0'
|
|
257
|
+
type: :runtime
|
|
258
|
+
prerelease: false
|
|
259
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
260
|
+
requirements:
|
|
261
|
+
- - ">="
|
|
262
|
+
- !ruby/object:Gem::Version
|
|
263
|
+
version: '0'
|
|
264
|
+
- !ruby/object:Gem::Dependency
|
|
265
|
+
name: shellwords
|
|
210
266
|
requirement: !ruby/object:Gem::Requirement
|
|
211
267
|
requirements:
|
|
212
268
|
- - ">="
|
|
@@ -345,14 +401,14 @@ dependencies:
|
|
|
345
401
|
- - ">="
|
|
346
402
|
- !ruby/object:Gem::Version
|
|
347
403
|
version: '0'
|
|
348
|
-
description: 'AIA is a
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
404
|
+
description: 'AIA is a powerful CLI console application that brings multi-model AI
|
|
405
|
+
capabilities to your command line, supporting 20+ providers including OpenAI, Anthropic,
|
|
406
|
+
and Google. Built on robot_lab for robust robot orchestration, AIA v2 provides a
|
|
407
|
+
thin CLI shell over a rich execution engine. Run multiple AI models simultaneously
|
|
408
|
+
for comparison, get consensus responses from collaborative AI teams, or compare
|
|
409
|
+
individual outputs side-by-side. With dynamic prompt management, embedded directives,
|
|
410
|
+
shell and Ruby integration, interactive chats, and comprehensive history tracking,
|
|
411
|
+
AIA transforms how you interact with AI.
|
|
356
412
|
|
|
357
413
|
'
|
|
358
414
|
email:
|
|
@@ -365,13 +421,23 @@ files:
|
|
|
365
421
|
- ".better-commits.json"
|
|
366
422
|
- ".config/tocer/configuration.yml"
|
|
367
423
|
- ".envrc"
|
|
424
|
+
- ".loki"
|
|
425
|
+
- ".reek.yml"
|
|
426
|
+
- ".rubocop.yml"
|
|
427
|
+
- ".rubocop_strict.yml"
|
|
368
428
|
- ".version"
|
|
369
429
|
- CHANGELOG.md
|
|
370
430
|
- COMMITS.md
|
|
431
|
+
- IMPLEMENTATION_PLAN.md
|
|
371
432
|
- LICENSE
|
|
372
433
|
- README.md
|
|
373
434
|
- Rakefile
|
|
435
|
+
- _typos.toml
|
|
436
|
+
- aia.gemspec
|
|
437
|
+
- architecture_review.md
|
|
374
438
|
- bin/aia
|
|
439
|
+
- config/aia.yml
|
|
440
|
+
- docs/AGENTS.md
|
|
375
441
|
- docs/advanced-prompting.md
|
|
376
442
|
- docs/assets/images/aia.png
|
|
377
443
|
- docs/cli-reference.md
|
|
@@ -391,6 +457,7 @@ files:
|
|
|
391
457
|
- docs/guides/available-models.md
|
|
392
458
|
- docs/guides/basic-usage.md
|
|
393
459
|
- docs/guides/chat.md
|
|
460
|
+
- docs/guides/crew.md
|
|
394
461
|
- docs/guides/executable-prompts.md
|
|
395
462
|
- docs/guides/first-prompt.md
|
|
396
463
|
- docs/guides/getting-started.md
|
|
@@ -406,6 +473,7 @@ files:
|
|
|
406
473
|
- docs/mcp-integration.md
|
|
407
474
|
- docs/prompt_management.md
|
|
408
475
|
- docs/security.md
|
|
476
|
+
- docs/special_projects_guide.md
|
|
409
477
|
- docs/tools-and-mcp-examples.md
|
|
410
478
|
- docs/workflows-and-pipelines.md
|
|
411
479
|
- examples/.gitignore
|
|
@@ -432,8 +500,17 @@ files:
|
|
|
432
500
|
- examples/20_mcp_servers.sh
|
|
433
501
|
- examples/21_executable_prompts.sh
|
|
434
502
|
- examples/22_chat_mode.sh
|
|
503
|
+
- examples/23_verify.sh
|
|
504
|
+
- examples/24_decompose.sh
|
|
505
|
+
- examples/25_spawn.sh
|
|
506
|
+
- examples/26_debate.sh
|
|
507
|
+
- examples/27_mention_routing.sh
|
|
508
|
+
- examples/28_model_switching.sh
|
|
509
|
+
- examples/29_agent_harness.sh
|
|
435
510
|
- examples/README.md
|
|
511
|
+
- examples/advanced_multi_robot_capabilities_without_examples.md
|
|
436
512
|
- examples/aia_config.yml
|
|
513
|
+
- examples/aia_config_orchestrator.yml
|
|
437
514
|
- examples/aia_config_with_mcp.yml
|
|
438
515
|
- examples/common.sh
|
|
439
516
|
- examples/context/project_goals.md
|
|
@@ -461,6 +538,7 @@ files:
|
|
|
461
538
|
- examples/prompts_dir/quiz_with_include.md
|
|
462
539
|
- examples/prompts_dir/require_demo.md
|
|
463
540
|
- examples/prompts_dir/roles/formal.md
|
|
541
|
+
- examples/prompts_dir/roles/orchestrator.md
|
|
464
542
|
- examples/prompts_dir/roles/pirate.md
|
|
465
543
|
- examples/prompts_dir/shell_then_erb.md
|
|
466
544
|
- examples/prompts_dir/sort_compare.md
|
|
@@ -475,58 +553,105 @@ files:
|
|
|
475
553
|
- examples/prompts_dir/weather.md
|
|
476
554
|
- examples/prompts_dir/whats_new.md
|
|
477
555
|
- examples/prompts_dir/with_timestamp.md
|
|
556
|
+
- examples/requirements/sinatra_taskflow_app.md
|
|
557
|
+
- examples/rules/01_classify_ruby.rb
|
|
558
|
+
- examples/rules/02_prefer_claude_for_code.rb
|
|
559
|
+
- examples/rules/03_gate_prompt_length.rb
|
|
560
|
+
- examples/rules/04_tool_selection.rb
|
|
561
|
+
- examples/rules/README.md
|
|
478
562
|
- examples/run_all.sh
|
|
479
563
|
- examples/tools/word_count_tool.rb
|
|
480
|
-
-
|
|
564
|
+
- lib/AGENTS.md
|
|
481
565
|
- lib/aia.rb
|
|
482
|
-
- lib/aia/adapter/chat_execution.rb
|
|
483
|
-
- lib/aia/adapter/error_handler.rb
|
|
484
|
-
- lib/aia/adapter/gem_activator.rb
|
|
485
|
-
- lib/aia/adapter/mcp_connector.rb
|
|
486
|
-
- lib/aia/adapter/modality_handlers.rb
|
|
487
|
-
- lib/aia/adapter/model_registry.rb
|
|
488
|
-
- lib/aia/adapter/multi_model_chat.rb
|
|
489
|
-
- lib/aia/adapter/provider_configurator.rb
|
|
490
|
-
- lib/aia/adapter/tool_filter.rb
|
|
491
|
-
- lib/aia/adapter/tool_loader.rb
|
|
492
566
|
- lib/aia/aia_completion.bash
|
|
493
567
|
- lib/aia/aia_completion.fish
|
|
494
568
|
- lib/aia/aia_completion.zsh
|
|
495
569
|
- lib/aia/chat_loop.rb
|
|
496
|
-
- lib/aia/chat_processor_service.rb
|
|
497
570
|
- lib/aia/config.rb
|
|
498
571
|
- lib/aia/config/cli_parser.rb
|
|
499
572
|
- lib/aia/config/defaults.yml
|
|
500
573
|
- lib/aia/config/mcp_parser.rb
|
|
501
574
|
- lib/aia/config/model_spec.rb
|
|
502
575
|
- lib/aia/config/validator.rb
|
|
576
|
+
- lib/aia/content_extractor.rb
|
|
577
|
+
- lib/aia/cost_calculator.rb
|
|
578
|
+
- lib/aia/crew.rb
|
|
579
|
+
- lib/aia/debate_handler.rb
|
|
580
|
+
- lib/aia/delegate_handler.rb
|
|
503
581
|
- lib/aia/directive.rb
|
|
504
582
|
- lib/aia/directive_processor.rb
|
|
505
583
|
- lib/aia/directives/configuration_directives.rb
|
|
506
584
|
- lib/aia/directives/context_directives.rb
|
|
507
585
|
- lib/aia/directives/execution_directives.rb
|
|
508
586
|
- lib/aia/directives/model_directives.rb
|
|
587
|
+
- lib/aia/directives/trakflow_directives.rb
|
|
509
588
|
- lib/aia/directives/utility_directives.rb
|
|
510
589
|
- lib/aia/directives/web_and_file_directives.rb
|
|
511
590
|
- lib/aia/errors.rb
|
|
591
|
+
- lib/aia/fact_asserter.rb
|
|
512
592
|
- lib/aia/fzf.rb
|
|
513
|
-
- lib/aia/
|
|
593
|
+
- lib/aia/handler_context.rb
|
|
594
|
+
- lib/aia/handler_protocol.rb
|
|
595
|
+
- lib/aia/history_transfer.rb
|
|
514
596
|
- lib/aia/input_collector.rb
|
|
597
|
+
- lib/aia/layered_orchestrator.rb
|
|
515
598
|
- lib/aia/logger.rb
|
|
599
|
+
- lib/aia/mcp_config_normalizer.rb
|
|
600
|
+
- lib/aia/mcp_connection_manager.rb
|
|
601
|
+
- lib/aia/mcp_discovery.rb
|
|
602
|
+
- lib/aia/mcp_grouper.rb
|
|
603
|
+
- lib/aia/mcp_server_config.rb
|
|
604
|
+
- lib/aia/mcp_utility.rb
|
|
605
|
+
- lib/aia/mention_router.rb
|
|
606
|
+
- lib/aia/model_alias_registry.rb
|
|
607
|
+
- lib/aia/model_switch_handler.rb
|
|
608
|
+
- lib/aia/network_builder.rb
|
|
609
|
+
- lib/aia/network_memory_manager.rb
|
|
610
|
+
- lib/aia/patches/ruby_llm_streaming_error.rb
|
|
611
|
+
- lib/aia/patches/ruby_llm_tool_error.rb
|
|
612
|
+
- lib/aia/pipeline_orchestrator.rb
|
|
613
|
+
- lib/aia/plugin_loader.rb
|
|
614
|
+
- lib/aia/plugin_monitor.rb
|
|
615
|
+
- lib/aia/prompt_decomposer.rb
|
|
516
616
|
- lib/aia/prompt_handler.rb
|
|
517
|
-
- lib/aia/
|
|
518
|
-
- lib/aia/
|
|
617
|
+
- lib/aia/robot_builder.rb
|
|
618
|
+
- lib/aia/robot_factory.rb
|
|
619
|
+
- lib/aia/robot_namer.rb
|
|
519
620
|
- lib/aia/session.rb
|
|
621
|
+
- lib/aia/session_tracker.rb
|
|
622
|
+
- lib/aia/similarity_scorer.rb
|
|
520
623
|
- lib/aia/skill_utils.rb
|
|
624
|
+
- lib/aia/spawn_handler.rb
|
|
625
|
+
- lib/aia/spawn_spec_parser.rb
|
|
626
|
+
- lib/aia/special_mode_handler.rb
|
|
627
|
+
- lib/aia/speech.rb
|
|
628
|
+
- lib/aia/startup_coordinator.rb
|
|
629
|
+
- lib/aia/streaming_runner.rb
|
|
630
|
+
- lib/aia/system_prompt_assembler.rb
|
|
631
|
+
- lib/aia/task_coordinator.rb
|
|
632
|
+
- lib/aia/task_decomposer.rb
|
|
633
|
+
- lib/aia/task_executor.rb
|
|
634
|
+
- lib/aia/tfidf_math.rb
|
|
635
|
+
- lib/aia/timing.rb
|
|
636
|
+
- lib/aia/tool_filter.rb
|
|
637
|
+
- lib/aia/tool_filter/tfidf.rb
|
|
638
|
+
- lib/aia/tool_filter/wordnet_expander.rb
|
|
639
|
+
- lib/aia/tool_filter_registry.rb
|
|
640
|
+
- lib/aia/tool_filter_strategy.rb
|
|
641
|
+
- lib/aia/tool_introspection.rb
|
|
642
|
+
- lib/aia/tool_loader.rb
|
|
643
|
+
- lib/aia/tool_utility.rb
|
|
644
|
+
- lib/aia/tools/delegate_to_foreman_tool.rb
|
|
645
|
+
- lib/aia/tools/recruit_robot_tool.rb
|
|
646
|
+
- lib/aia/tools/reskill_robot_tool.rb
|
|
647
|
+
- lib/aia/tools/task_board_tool.rb
|
|
648
|
+
- lib/aia/trakflow_bridge.rb
|
|
649
|
+
- lib/aia/turn_state.rb
|
|
521
650
|
- lib/aia/ui_presenter.rb
|
|
522
651
|
- lib/aia/utility.rb
|
|
652
|
+
- lib/aia/variable_input_collector.rb
|
|
653
|
+
- lib/aia/verification_network.rb
|
|
523
654
|
- lib/aia/version.rb
|
|
524
|
-
- lib/extensions/openstruct_merge.rb
|
|
525
|
-
- lib/extensions/ruby_llm/.irbrc
|
|
526
|
-
- lib/extensions/ruby_llm/modalities.rb
|
|
527
|
-
- lib/extensions/ruby_llm/provider_fix.rb
|
|
528
|
-
- lib/refinements/string.rb
|
|
529
|
-
- main.just
|
|
530
655
|
- mcp_servers/README.md
|
|
531
656
|
- mcp_servers/apple-mcp.json
|
|
532
657
|
- mcp_servers/filesystem.json
|
|
@@ -544,10 +669,14 @@ metadata:
|
|
|
544
669
|
homepage_uri: https://github.com/MadBomber/aia
|
|
545
670
|
source_code_uri: https://github.com/MadBomber/aia
|
|
546
671
|
changelog_uri: https://github.com/MadBomber/aia
|
|
672
|
+
rubygems_mfa_required: 'true'
|
|
547
673
|
post_install_message: |2+
|
|
548
674
|
|
|
549
675
|
╔══════════════════════════════════════════════════════════════╗
|
|
550
|
-
║ AIA — AI Assistant
|
|
676
|
+
║ AIA — AI Assistant v2.0 ║
|
|
677
|
+
║ ║
|
|
678
|
+
║ v2 is powered by robot_lab for robust orchestration ║
|
|
679
|
+
║ Full CLI backward compatibility with v1 ║
|
|
551
680
|
╚══════════════════════════════════════════════════════════════╝
|
|
552
681
|
|
|
553
682
|
Get started: aia --help
|
|
@@ -560,14 +689,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
560
689
|
requirements:
|
|
561
690
|
- - ">="
|
|
562
691
|
- !ruby/object:Gem::Version
|
|
563
|
-
version:
|
|
692
|
+
version: 4.0.0
|
|
564
693
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
565
694
|
requirements:
|
|
566
695
|
- - ">="
|
|
567
696
|
- !ruby/object:Gem::Version
|
|
568
697
|
version: '0'
|
|
569
698
|
requirements: []
|
|
570
|
-
rubygems_version: 4.0.
|
|
699
|
+
rubygems_version: 4.0.20
|
|
571
700
|
specification_version: 4
|
|
572
701
|
summary: Multi-model AI CLI with dynamic prompts, consensus responses, shell & Ruby
|
|
573
702
|
integration, and seamless chat workflows.
|
data/justfile
DELETED
|
@@ -1,215 +0,0 @@
|
|
|
1
|
-
# aia/main.just
|
|
2
|
-
#
|
|
3
|
-
|
|
4
|
-
RR := env_var('RR')
|
|
5
|
-
version_filepath := env_var('RR') + "/.version"
|
|
6
|
-
|
|
7
|
-
# with ~/.justfile
|
|
8
|
-
|
|
9
|
-
# >>> /Users/dewayne/.justfile
|
|
10
|
-
# ~/.justfile
|
|
11
|
-
# brew install just
|
|
12
|
-
# gem install justprep OR brew install justprep for the Crystal version
|
|
13
|
-
# alias jj='justprep && just'
|
|
14
|
-
#
|
|
15
|
-
# See: https://cheatography.com/linux-china/cheat-sheets/justfile/
|
|
16
|
-
#
|
|
17
|
-
|
|
18
|
-
# high-level just directives
|
|
19
|
-
|
|
20
|
-
set fallback # search up for recipe name if not found locally.
|
|
21
|
-
|
|
22
|
-
set positional-arguments := true
|
|
23
|
-
set allow-duplicate-recipes := true
|
|
24
|
-
set allow-duplicate-variables := true
|
|
25
|
-
set dotenv-load := false
|
|
26
|
-
|
|
27
|
-
# my common variables
|
|
28
|
-
|
|
29
|
-
pwd := env_var('PWD')
|
|
30
|
-
|
|
31
|
-
me := justfile()
|
|
32
|
-
|
|
33
|
-
home := env_var('HOME')
|
|
34
|
-
downloads_dir := env_var('HOME') + "/Downloads/"
|
|
35
|
-
documents_dir := env_var('HOME') + "/Documents/"
|
|
36
|
-
|
|
37
|
-
backup_dir := env_var('JUST_BACKUP_DIR')
|
|
38
|
-
backup_file := trim_start_match(me, home)
|
|
39
|
-
my_backup := backup_dir + backup_file
|
|
40
|
-
project := "`basename $RR`"
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
# List available recipes
|
|
44
|
-
@list:
|
|
45
|
-
echo
|
|
46
|
-
echo "Available Recipes at"
|
|
47
|
-
echo "$PWD"
|
|
48
|
-
echo "are:"
|
|
49
|
-
echo
|
|
50
|
-
just -l --list-prefix 'jj ' --list-heading ''
|
|
51
|
-
echo
|
|
52
|
-
echo "jj <module_name> to see sub-tasks"
|
|
53
|
-
echo
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
# Show help/usage for "just" command
|
|
57
|
-
@help: list
|
|
58
|
-
just --help
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
# Backup .envrc & *.just files
|
|
62
|
-
@backup_support_files: _backup_all_just_files _backup_all_envrc_files
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
# Backup all changed just files to $JUST_BACKUP_DIR
|
|
66
|
-
@_backup_all_just_files:
|
|
67
|
-
backup_just.rb
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
# backup all changed envrc files to ENVRC_BACKUP_DIR
|
|
71
|
-
@_backup_all_envrc_files:
|
|
72
|
-
backup_envrc.rb
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
# Delete all mods saved conversations
|
|
76
|
-
mods_delete_all:
|
|
77
|
-
mods -l | awk '{print $1}' | xargs -I {} mods -d {}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
#############################################
|
|
81
|
-
## iTerm2-related
|
|
82
|
-
|
|
83
|
-
# Fix half-duplex terminal
|
|
84
|
-
fix:
|
|
85
|
-
stty sane
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
# Clear the scroll-back buffer
|
|
89
|
-
@clear_buffer:
|
|
90
|
-
printf "\e[3J"
|
|
91
|
-
|
|
92
|
-
#################################################
|
|
93
|
-
## Private recipes
|
|
94
|
-
|
|
95
|
-
# Show private recipes
|
|
96
|
-
@show_private: # Show private recipes
|
|
97
|
-
grep -B 1 "^[@]_" {{justfile()}}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
# Show the differences between this justfile and is last backup
|
|
101
|
-
@_just_diff_my_backup:
|
|
102
|
-
# echo "me -=> {{me}}"
|
|
103
|
-
# echo "home -=> {{home}}"
|
|
104
|
-
# echo "backup_file -=> {{backup_file}}"
|
|
105
|
-
# echo "my_backup -=> {{my_backup}}"
|
|
106
|
-
|
|
107
|
-
@diff {{me}} {{my_backup}}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
# Replace current justfile with most recent backup
|
|
111
|
-
@_just_restore_me_from_backup:
|
|
112
|
-
echo
|
|
113
|
-
echo "Do this because I will not ..."
|
|
114
|
-
echo
|
|
115
|
-
echo "cp -f {{my_backup}} {{me}}"
|
|
116
|
-
echo
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
# Edit the $JUSTPREP_FILENAME_IN file
|
|
120
|
-
@_just_edit_me:
|
|
121
|
-
$EDITOR {{me}}
|
|
122
|
-
# <<< /Users/dewayne/.justfile
|
|
123
|
-
|
|
124
|
-
# FIXME: justprep module process still has an issue with ~ and $HOME
|
|
125
|
-
# FIXME: justprep does not like more than one space between module name and path.
|
|
126
|
-
|
|
127
|
-
module_repo := "/Users/dewayne/sandbox/git_repos/repo.just"
|
|
128
|
-
module_gem := "/Users/dewayne/sandbox/git_repos/gem.just"
|
|
129
|
-
module_version := "/Users/dewayne/just_modules/version_versionaire.just"
|
|
130
|
-
module_git := "/Users/dewayne/just_modules/git.just"
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
# Install Locally
|
|
134
|
-
install: update_toc_in_readmen flay
|
|
135
|
-
rake install
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
# Create the TOC
|
|
139
|
-
update_toc_in_readmen:
|
|
140
|
-
rake toc
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
# Static Code Check
|
|
144
|
-
flay: coverage
|
|
145
|
-
flay {{RR}}
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
# View coverage report
|
|
149
|
-
coverage: test
|
|
150
|
-
open {{RR}}/coverage/index.html
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
# Run Unit Tests
|
|
154
|
-
test:
|
|
155
|
-
rake test
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
# Generate the Documentation
|
|
159
|
-
gen_doc: update_toc_in_readmen
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
##########################################
|
|
163
|
-
|
|
164
|
-
# Tag the current commit, push it, then bump the version
|
|
165
|
-
tag_push_and_bump: tag push bump
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
# Create a git tag for the current version
|
|
169
|
-
tag:
|
|
170
|
-
git tag v`head -1 {{version_filepath}}`
|
|
171
|
-
|
|
172
|
-
# Push the git current working directory and all tags
|
|
173
|
-
push:
|
|
174
|
-
git push
|
|
175
|
-
git push origin --tags
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
alias inc := bump
|
|
179
|
-
|
|
180
|
-
# Increment version's level: major.minor.patch
|
|
181
|
-
@bump level='patch':
|
|
182
|
-
#!/usr/bin/env ruby
|
|
183
|
-
require 'versionaire'
|
|
184
|
-
old_version = Versionaire::Version File.read("{{version_filepath}}").strip
|
|
185
|
-
level = "{{level}}".to_sym
|
|
186
|
-
new_version = old_version.bump level
|
|
187
|
-
puts "Bumping #{level}: #{old_version} to #{new_version}"
|
|
188
|
-
File.open("{{version_filepath}}", 'w')
|
|
189
|
-
.write(new_version.to_s + "\n")
|
|
190
|
-
#
|
|
191
|
-
`git add {{version_filepath}}`
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
# Module repo
|
|
195
|
-
@repo what='' args='':
|
|
196
|
-
just -d . -f {{module_repo}} {{what}} {{args}}
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
# Module gem
|
|
201
|
-
@gem what='' args='':
|
|
202
|
-
just -d . -f {{module_gem}} {{what}} {{args}}
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
# Module version
|
|
207
|
-
@version what='' args='':
|
|
208
|
-
just -d . -f {{module_version}} {{what}} {{args}}
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
# Module git
|
|
213
|
-
@git what='' args='':
|
|
214
|
-
just -d . -f {{module_git}} {{what}} {{args}}
|
|
215
|
-
|