aia 1.1.1 → 2.0.0.0.pre.alpha
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 +5 -1
- data/.loki +231 -0
- data/.quality/flay_baseline.txt +1 -0
- data/.quality/flog_baseline.txt +29 -0
- data/.quality/reek_baseline.txt +80 -0
- data/.rubocop.yml +116 -0
- data/.version +1 -1
- data/CHANGELOG.md +259 -50
- data/IMPLEMENTATION_PLAN.md +506 -0
- data/README.md +266 -238
- data/Rakefile +118 -5
- data/architecture_review.md +314 -0
- data/bin/aia +16 -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 +304 -164
- data/lib/aia/config/cli_parser.rb +174 -111
- data/lib/aia/config/defaults.yml +62 -33
- data/lib/aia/config/mcp_parser.rb +39 -46
- data/lib/aia/config/model_spec.rb +34 -2
- data/lib/aia/config/validator.rb +108 -142
- data/lib/aia/config.rb +110 -145
- data/lib/aia/content_extractor.rb +153 -0
- data/lib/aia/cost_calculator.rb +38 -0
- data/lib/aia/crew.rb +164 -0
- data/lib/aia/debate_handler.rb +166 -0
- data/lib/aia/delegate_handler.rb +112 -0
- data/lib/aia/directive.rb +33 -18
- data/lib/aia/directive_processor.rb +16 -7
- data/lib/aia/directives/configuration_directives.rb +160 -20
- data/lib/aia/directives/context_directives.rb +38 -26
- data/lib/aia/directives/execution_directives.rb +136 -4
- data/lib/aia/directives/model_directives.rb +76 -34
- data/lib/aia/directives/trakflow_directives.rb +44 -0
- data/lib/aia/directives/utility_directives.rb +203 -6
- data/lib/aia/directives/web_and_file_directives.rb +96 -60
- 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 +448 -0
- data/lib/aia/logger.rb +24 -4
- data/lib/aia/mcp_config_normalizer.rb +35 -0
- data/lib/aia/mcp_connection_manager.rb +305 -0
- data/lib/aia/mcp_discovery.rb +44 -0
- data/lib/aia/mcp_grouper.rb +33 -0
- data/lib/aia/mcp_utility.rb +57 -0
- data/lib/aia/mention_router.rb +260 -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 +155 -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 +262 -0
- data/lib/aia/plugin_loader.rb +170 -0
- data/lib/aia/plugin_monitor.rb +208 -0
- data/lib/aia/prompt_decomposer.rb +157 -0
- data/lib/aia/prompt_handler.rb +19 -39
- data/lib/aia/robot_builder.rb +51 -0
- data/lib/aia/robot_factory.rb +334 -0
- data/lib/aia/robot_namer.rb +116 -0
- data/lib/aia/session.rb +83 -17
- data/lib/aia/session_tracker.rb +209 -0
- data/lib/aia/similarity_scorer.rb +39 -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 +302 -0
- data/lib/aia/startup_coordinator.rb +150 -0
- data/lib/aia/streaming_runner.rb +169 -0
- data/lib/aia/system_prompt_assembler.rb +88 -0
- data/lib/aia/task_coordinator.rb +202 -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/tool_filter/tfidf.rb +116 -0
- data/lib/aia/tool_filter/wordnet_expander.rb +127 -0
- data/lib/aia/tool_filter.rb +82 -0
- data/lib/aia/tool_filter_registry.rb +30 -0
- data/lib/aia/tool_filter_strategy.rb +143 -0
- data/lib/aia/tool_loader.rb +210 -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 +114 -0
- data/lib/aia/trakflow_bridge.rb +173 -0
- data/lib/aia/turn_state.rb +94 -0
- data/lib/aia/ui_presenter.rb +166 -198
- data/lib/aia/utility.rb +134 -87
- data/lib/aia/{history_manager.rb → variable_input_collector.rb} +8 -9
- data/lib/aia/verification_network.rb +58 -0
- data/lib/aia.rb +108 -63
- data/mkdocs.yml +1 -0
- metadata +179 -56
- 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.alpha
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Dewayne VanHoozer
|
|
@@ -10,7 +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
|
+
requirement: !ruby/object:Gem::Requirement
|
|
15
|
+
requirements:
|
|
16
|
+
- - ">="
|
|
17
|
+
- !ruby/object:Gem::Version
|
|
18
|
+
version: '4.0'
|
|
19
|
+
type: :runtime
|
|
20
|
+
prerelease: false
|
|
21
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
22
|
+
requirements:
|
|
23
|
+
- - ">="
|
|
24
|
+
- !ruby/object:Gem::Version
|
|
25
|
+
version: '4.0'
|
|
26
|
+
- !ruby/object:Gem::Dependency
|
|
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
|
|
14
42
|
requirement: !ruby/object:Gem::Requirement
|
|
15
43
|
requirements:
|
|
16
44
|
- - ">="
|
|
@@ -24,7 +52,21 @@ dependencies:
|
|
|
24
52
|
- !ruby/object:Gem::Version
|
|
25
53
|
version: '0'
|
|
26
54
|
- !ruby/object:Gem::Dependency
|
|
27
|
-
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
|
|
28
70
|
requirement: !ruby/object:Gem::Requirement
|
|
29
71
|
requirements:
|
|
30
72
|
- - ">="
|
|
@@ -38,7 +80,7 @@ dependencies:
|
|
|
38
80
|
- !ruby/object:Gem::Version
|
|
39
81
|
version: '0'
|
|
40
82
|
- !ruby/object:Gem::Dependency
|
|
41
|
-
name:
|
|
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,21 @@ files:
|
|
|
365
421
|
- ".better-commits.json"
|
|
366
422
|
- ".config/tocer/configuration.yml"
|
|
367
423
|
- ".envrc"
|
|
424
|
+
- ".loki"
|
|
425
|
+
- ".quality/flay_baseline.txt"
|
|
426
|
+
- ".quality/flog_baseline.txt"
|
|
427
|
+
- ".quality/reek_baseline.txt"
|
|
428
|
+
- ".rubocop.yml"
|
|
368
429
|
- ".version"
|
|
369
430
|
- CHANGELOG.md
|
|
370
431
|
- COMMITS.md
|
|
432
|
+
- IMPLEMENTATION_PLAN.md
|
|
371
433
|
- LICENSE
|
|
372
434
|
- README.md
|
|
373
435
|
- Rakefile
|
|
436
|
+
- architecture_review.md
|
|
374
437
|
- bin/aia
|
|
438
|
+
- docs/AGENTS.md
|
|
375
439
|
- docs/advanced-prompting.md
|
|
376
440
|
- docs/assets/images/aia.png
|
|
377
441
|
- docs/cli-reference.md
|
|
@@ -391,6 +455,7 @@ files:
|
|
|
391
455
|
- docs/guides/available-models.md
|
|
392
456
|
- docs/guides/basic-usage.md
|
|
393
457
|
- docs/guides/chat.md
|
|
458
|
+
- docs/guides/crew.md
|
|
394
459
|
- docs/guides/executable-prompts.md
|
|
395
460
|
- docs/guides/first-prompt.md
|
|
396
461
|
- docs/guides/getting-started.md
|
|
@@ -406,6 +471,7 @@ files:
|
|
|
406
471
|
- docs/mcp-integration.md
|
|
407
472
|
- docs/prompt_management.md
|
|
408
473
|
- docs/security.md
|
|
474
|
+
- docs/special_projects_guide.md
|
|
409
475
|
- docs/tools-and-mcp-examples.md
|
|
410
476
|
- docs/workflows-and-pipelines.md
|
|
411
477
|
- examples/.gitignore
|
|
@@ -432,8 +498,17 @@ files:
|
|
|
432
498
|
- examples/20_mcp_servers.sh
|
|
433
499
|
- examples/21_executable_prompts.sh
|
|
434
500
|
- examples/22_chat_mode.sh
|
|
501
|
+
- examples/23_verify.sh
|
|
502
|
+
- examples/24_decompose.sh
|
|
503
|
+
- examples/25_spawn.sh
|
|
504
|
+
- examples/26_debate.sh
|
|
505
|
+
- examples/27_mention_routing.sh
|
|
506
|
+
- examples/28_model_switching.sh
|
|
507
|
+
- examples/29_agent_harness.sh
|
|
435
508
|
- examples/README.md
|
|
509
|
+
- examples/advanced_multi_robot_capabilities_without_examples.md
|
|
436
510
|
- examples/aia_config.yml
|
|
511
|
+
- examples/aia_config_orchestrator.yml
|
|
437
512
|
- examples/aia_config_with_mcp.yml
|
|
438
513
|
- examples/common.sh
|
|
439
514
|
- examples/context/project_goals.md
|
|
@@ -461,6 +536,7 @@ files:
|
|
|
461
536
|
- examples/prompts_dir/quiz_with_include.md
|
|
462
537
|
- examples/prompts_dir/require_demo.md
|
|
463
538
|
- examples/prompts_dir/roles/formal.md
|
|
539
|
+
- examples/prompts_dir/roles/orchestrator.md
|
|
464
540
|
- examples/prompts_dir/roles/pirate.md
|
|
465
541
|
- examples/prompts_dir/shell_then_erb.md
|
|
466
542
|
- examples/prompts_dir/sort_compare.md
|
|
@@ -475,58 +551,101 @@ files:
|
|
|
475
551
|
- examples/prompts_dir/weather.md
|
|
476
552
|
- examples/prompts_dir/whats_new.md
|
|
477
553
|
- examples/prompts_dir/with_timestamp.md
|
|
554
|
+
- examples/requirements/sinatra_taskflow_app.md
|
|
555
|
+
- examples/rules/01_classify_ruby.rb
|
|
556
|
+
- examples/rules/02_prefer_claude_for_code.rb
|
|
557
|
+
- examples/rules/03_gate_prompt_length.rb
|
|
558
|
+
- examples/rules/04_tool_selection.rb
|
|
559
|
+
- examples/rules/README.md
|
|
478
560
|
- examples/run_all.sh
|
|
479
561
|
- examples/tools/word_count_tool.rb
|
|
480
|
-
-
|
|
562
|
+
- lib/AGENTS.md
|
|
481
563
|
- 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
564
|
- lib/aia/aia_completion.bash
|
|
493
565
|
- lib/aia/aia_completion.fish
|
|
494
566
|
- lib/aia/aia_completion.zsh
|
|
495
567
|
- lib/aia/chat_loop.rb
|
|
496
|
-
- lib/aia/chat_processor_service.rb
|
|
497
568
|
- lib/aia/config.rb
|
|
498
569
|
- lib/aia/config/cli_parser.rb
|
|
499
570
|
- lib/aia/config/defaults.yml
|
|
500
571
|
- lib/aia/config/mcp_parser.rb
|
|
501
572
|
- lib/aia/config/model_spec.rb
|
|
502
573
|
- lib/aia/config/validator.rb
|
|
574
|
+
- lib/aia/content_extractor.rb
|
|
575
|
+
- lib/aia/cost_calculator.rb
|
|
576
|
+
- lib/aia/crew.rb
|
|
577
|
+
- lib/aia/debate_handler.rb
|
|
578
|
+
- lib/aia/delegate_handler.rb
|
|
503
579
|
- lib/aia/directive.rb
|
|
504
580
|
- lib/aia/directive_processor.rb
|
|
505
581
|
- lib/aia/directives/configuration_directives.rb
|
|
506
582
|
- lib/aia/directives/context_directives.rb
|
|
507
583
|
- lib/aia/directives/execution_directives.rb
|
|
508
584
|
- lib/aia/directives/model_directives.rb
|
|
585
|
+
- lib/aia/directives/trakflow_directives.rb
|
|
509
586
|
- lib/aia/directives/utility_directives.rb
|
|
510
587
|
- lib/aia/directives/web_and_file_directives.rb
|
|
511
588
|
- lib/aia/errors.rb
|
|
589
|
+
- lib/aia/fact_asserter.rb
|
|
512
590
|
- lib/aia/fzf.rb
|
|
513
|
-
- lib/aia/
|
|
591
|
+
- lib/aia/handler_context.rb
|
|
592
|
+
- lib/aia/handler_protocol.rb
|
|
593
|
+
- lib/aia/history_transfer.rb
|
|
514
594
|
- lib/aia/input_collector.rb
|
|
595
|
+
- lib/aia/layered_orchestrator.rb
|
|
515
596
|
- lib/aia/logger.rb
|
|
597
|
+
- lib/aia/mcp_config_normalizer.rb
|
|
598
|
+
- lib/aia/mcp_connection_manager.rb
|
|
599
|
+
- lib/aia/mcp_discovery.rb
|
|
600
|
+
- lib/aia/mcp_grouper.rb
|
|
601
|
+
- lib/aia/mcp_utility.rb
|
|
602
|
+
- lib/aia/mention_router.rb
|
|
603
|
+
- lib/aia/model_alias_registry.rb
|
|
604
|
+
- lib/aia/model_switch_handler.rb
|
|
605
|
+
- lib/aia/network_builder.rb
|
|
606
|
+
- lib/aia/network_memory_manager.rb
|
|
607
|
+
- lib/aia/patches/ruby_llm_streaming_error.rb
|
|
608
|
+
- lib/aia/patches/ruby_llm_tool_error.rb
|
|
609
|
+
- lib/aia/pipeline_orchestrator.rb
|
|
610
|
+
- lib/aia/plugin_loader.rb
|
|
611
|
+
- lib/aia/plugin_monitor.rb
|
|
612
|
+
- lib/aia/prompt_decomposer.rb
|
|
516
613
|
- lib/aia/prompt_handler.rb
|
|
517
|
-
- lib/aia/
|
|
518
|
-
- lib/aia/
|
|
614
|
+
- lib/aia/robot_builder.rb
|
|
615
|
+
- lib/aia/robot_factory.rb
|
|
616
|
+
- lib/aia/robot_namer.rb
|
|
519
617
|
- lib/aia/session.rb
|
|
618
|
+
- lib/aia/session_tracker.rb
|
|
619
|
+
- lib/aia/similarity_scorer.rb
|
|
520
620
|
- lib/aia/skill_utils.rb
|
|
621
|
+
- lib/aia/spawn_handler.rb
|
|
622
|
+
- lib/aia/spawn_spec_parser.rb
|
|
623
|
+
- lib/aia/special_mode_handler.rb
|
|
624
|
+
- lib/aia/startup_coordinator.rb
|
|
625
|
+
- lib/aia/streaming_runner.rb
|
|
626
|
+
- lib/aia/system_prompt_assembler.rb
|
|
627
|
+
- lib/aia/task_coordinator.rb
|
|
628
|
+
- lib/aia/task_decomposer.rb
|
|
629
|
+
- lib/aia/task_executor.rb
|
|
630
|
+
- lib/aia/tfidf_math.rb
|
|
631
|
+
- lib/aia/tool_filter.rb
|
|
632
|
+
- lib/aia/tool_filter/tfidf.rb
|
|
633
|
+
- lib/aia/tool_filter/wordnet_expander.rb
|
|
634
|
+
- lib/aia/tool_filter_registry.rb
|
|
635
|
+
- lib/aia/tool_filter_strategy.rb
|
|
636
|
+
- lib/aia/tool_loader.rb
|
|
637
|
+
- lib/aia/tool_utility.rb
|
|
638
|
+
- lib/aia/tools/delegate_to_foreman_tool.rb
|
|
639
|
+
- lib/aia/tools/recruit_robot_tool.rb
|
|
640
|
+
- lib/aia/tools/reskill_robot_tool.rb
|
|
641
|
+
- lib/aia/tools/task_board_tool.rb
|
|
642
|
+
- lib/aia/trakflow_bridge.rb
|
|
643
|
+
- lib/aia/turn_state.rb
|
|
521
644
|
- lib/aia/ui_presenter.rb
|
|
522
645
|
- lib/aia/utility.rb
|
|
646
|
+
- lib/aia/variable_input_collector.rb
|
|
647
|
+
- lib/aia/verification_network.rb
|
|
523
648
|
- 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
649
|
- mcp_servers/README.md
|
|
531
650
|
- mcp_servers/apple-mcp.json
|
|
532
651
|
- mcp_servers/filesystem.json
|
|
@@ -544,10 +663,14 @@ metadata:
|
|
|
544
663
|
homepage_uri: https://github.com/MadBomber/aia
|
|
545
664
|
source_code_uri: https://github.com/MadBomber/aia
|
|
546
665
|
changelog_uri: https://github.com/MadBomber/aia
|
|
666
|
+
rubygems_mfa_required: 'true'
|
|
547
667
|
post_install_message: |2+
|
|
548
668
|
|
|
549
669
|
╔══════════════════════════════════════════════════════════════╗
|
|
550
|
-
║ AIA — AI Assistant
|
|
670
|
+
║ AIA — AI Assistant v2.0 ║
|
|
671
|
+
║ ║
|
|
672
|
+
║ v2 is powered by robot_lab for robust orchestration ║
|
|
673
|
+
║ Full CLI backward compatibility with v1 ║
|
|
551
674
|
╚══════════════════════════════════════════════════════════════╝
|
|
552
675
|
|
|
553
676
|
Get started: aia --help
|
|
@@ -560,14 +683,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
560
683
|
requirements:
|
|
561
684
|
- - ">="
|
|
562
685
|
- !ruby/object:Gem::Version
|
|
563
|
-
version:
|
|
686
|
+
version: 4.0.0
|
|
564
687
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
565
688
|
requirements:
|
|
566
689
|
- - ">="
|
|
567
690
|
- !ruby/object:Gem::Version
|
|
568
691
|
version: '0'
|
|
569
692
|
requirements: []
|
|
570
|
-
rubygems_version: 4.0.
|
|
693
|
+
rubygems_version: 4.0.19
|
|
571
694
|
specification_version: 4
|
|
572
695
|
summary: Multi-model AI CLI with dynamic prompts, consensus responses, shell & Ruby
|
|
573
696
|
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
|
-
|