amd-gaia 0.15.0__py3-none-any.whl → 0.15.2__py3-none-any.whl
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.
- {amd_gaia-0.15.0.dist-info → amd_gaia-0.15.2.dist-info}/METADATA +222 -223
- amd_gaia-0.15.2.dist-info/RECORD +182 -0
- {amd_gaia-0.15.0.dist-info → amd_gaia-0.15.2.dist-info}/WHEEL +1 -1
- {amd_gaia-0.15.0.dist-info → amd_gaia-0.15.2.dist-info}/entry_points.txt +1 -0
- {amd_gaia-0.15.0.dist-info → amd_gaia-0.15.2.dist-info}/licenses/LICENSE.md +20 -20
- gaia/__init__.py +29 -29
- gaia/agents/__init__.py +19 -19
- gaia/agents/base/__init__.py +9 -9
- gaia/agents/base/agent.py +2132 -2177
- gaia/agents/base/api_agent.py +119 -120
- gaia/agents/base/console.py +1967 -1841
- gaia/agents/base/errors.py +237 -237
- gaia/agents/base/mcp_agent.py +86 -86
- gaia/agents/base/tools.py +88 -83
- gaia/agents/blender/__init__.py +7 -0
- gaia/agents/blender/agent.py +553 -556
- gaia/agents/blender/agent_simple.py +133 -135
- gaia/agents/blender/app.py +211 -211
- gaia/agents/blender/app_simple.py +41 -41
- gaia/agents/blender/core/__init__.py +16 -16
- gaia/agents/blender/core/materials.py +506 -506
- gaia/agents/blender/core/objects.py +316 -316
- gaia/agents/blender/core/rendering.py +225 -225
- gaia/agents/blender/core/scene.py +220 -220
- gaia/agents/blender/core/view.py +146 -146
- gaia/agents/chat/__init__.py +9 -9
- gaia/agents/chat/agent.py +809 -835
- gaia/agents/chat/app.py +1065 -1058
- gaia/agents/chat/session.py +508 -508
- gaia/agents/chat/tools/__init__.py +15 -15
- gaia/agents/chat/tools/file_tools.py +96 -96
- gaia/agents/chat/tools/rag_tools.py +1744 -1729
- gaia/agents/chat/tools/shell_tools.py +437 -436
- gaia/agents/code/__init__.py +7 -7
- gaia/agents/code/agent.py +549 -549
- gaia/agents/code/cli.py +377 -0
- gaia/agents/code/models.py +135 -135
- gaia/agents/code/orchestration/__init__.py +24 -24
- gaia/agents/code/orchestration/checklist_executor.py +1763 -1763
- gaia/agents/code/orchestration/checklist_generator.py +713 -713
- gaia/agents/code/orchestration/factories/__init__.py +9 -9
- gaia/agents/code/orchestration/factories/base.py +63 -63
- gaia/agents/code/orchestration/factories/nextjs_factory.py +118 -118
- gaia/agents/code/orchestration/factories/python_factory.py +106 -106
- gaia/agents/code/orchestration/orchestrator.py +841 -841
- gaia/agents/code/orchestration/project_analyzer.py +391 -391
- gaia/agents/code/orchestration/steps/__init__.py +67 -67
- gaia/agents/code/orchestration/steps/base.py +188 -188
- gaia/agents/code/orchestration/steps/error_handler.py +314 -314
- gaia/agents/code/orchestration/steps/nextjs.py +828 -828
- gaia/agents/code/orchestration/steps/python.py +307 -307
- gaia/agents/code/orchestration/template_catalog.py +469 -469
- gaia/agents/code/orchestration/workflows/__init__.py +14 -14
- gaia/agents/code/orchestration/workflows/base.py +80 -80
- gaia/agents/code/orchestration/workflows/nextjs.py +186 -186
- gaia/agents/code/orchestration/workflows/python.py +94 -94
- gaia/agents/code/prompts/__init__.py +11 -11
- gaia/agents/code/prompts/base_prompt.py +77 -77
- gaia/agents/code/prompts/code_patterns.py +2034 -2036
- gaia/agents/code/prompts/nextjs_prompt.py +40 -40
- gaia/agents/code/prompts/python_prompt.py +109 -109
- gaia/agents/code/schema_inference.py +365 -365
- gaia/agents/code/system_prompt.py +41 -41
- gaia/agents/code/tools/__init__.py +42 -42
- gaia/agents/code/tools/cli_tools.py +1138 -1138
- gaia/agents/code/tools/code_formatting.py +319 -319
- gaia/agents/code/tools/code_tools.py +769 -769
- gaia/agents/code/tools/error_fixing.py +1347 -1347
- gaia/agents/code/tools/external_tools.py +180 -180
- gaia/agents/code/tools/file_io.py +845 -845
- gaia/agents/code/tools/prisma_tools.py +190 -190
- gaia/agents/code/tools/project_management.py +1016 -1016
- gaia/agents/code/tools/testing.py +321 -321
- gaia/agents/code/tools/typescript_tools.py +122 -122
- gaia/agents/code/tools/validation_parsing.py +461 -461
- gaia/agents/code/tools/validation_tools.py +806 -806
- gaia/agents/code/tools/web_dev_tools.py +1758 -1758
- gaia/agents/code/validators/__init__.py +16 -16
- gaia/agents/code/validators/antipattern_checker.py +241 -241
- gaia/agents/code/validators/ast_analyzer.py +197 -197
- gaia/agents/code/validators/requirements_validator.py +145 -145
- gaia/agents/code/validators/syntax_validator.py +171 -171
- gaia/agents/docker/__init__.py +7 -7
- gaia/agents/docker/agent.py +643 -642
- gaia/agents/emr/__init__.py +8 -8
- gaia/agents/emr/agent.py +1504 -1506
- gaia/agents/emr/cli.py +1322 -1322
- gaia/agents/emr/constants.py +475 -475
- gaia/agents/emr/dashboard/__init__.py +4 -4
- gaia/agents/emr/dashboard/server.py +1972 -1974
- gaia/agents/jira/__init__.py +11 -11
- gaia/agents/jira/agent.py +894 -894
- gaia/agents/jira/jql_templates.py +299 -299
- gaia/agents/routing/__init__.py +7 -7
- gaia/agents/routing/agent.py +567 -570
- gaia/agents/routing/system_prompt.py +75 -75
- gaia/agents/summarize/__init__.py +11 -0
- gaia/agents/summarize/agent.py +885 -0
- gaia/agents/summarize/prompts.py +129 -0
- gaia/api/__init__.py +23 -23
- gaia/api/agent_registry.py +238 -238
- gaia/api/app.py +305 -305
- gaia/api/openai_server.py +575 -575
- gaia/api/schemas.py +186 -186
- gaia/api/sse_handler.py +373 -373
- gaia/apps/__init__.py +4 -4
- gaia/apps/llm/__init__.py +6 -6
- gaia/apps/llm/app.py +184 -169
- gaia/apps/summarize/app.py +116 -633
- gaia/apps/summarize/html_viewer.py +133 -133
- gaia/apps/summarize/pdf_formatter.py +284 -284
- gaia/audio/__init__.py +2 -2
- gaia/audio/audio_client.py +439 -439
- gaia/audio/audio_recorder.py +269 -269
- gaia/audio/kokoro_tts.py +599 -599
- gaia/audio/whisper_asr.py +432 -432
- gaia/chat/__init__.py +16 -16
- gaia/chat/app.py +428 -430
- gaia/chat/prompts.py +522 -522
- gaia/chat/sdk.py +1228 -1225
- gaia/cli.py +5659 -5632
- gaia/database/__init__.py +10 -10
- gaia/database/agent.py +176 -176
- gaia/database/mixin.py +290 -290
- gaia/database/testing.py +64 -64
- gaia/eval/batch_experiment.py +2332 -2332
- gaia/eval/claude.py +542 -542
- gaia/eval/config.py +37 -37
- gaia/eval/email_generator.py +512 -512
- gaia/eval/eval.py +3179 -3179
- gaia/eval/groundtruth.py +1130 -1130
- gaia/eval/transcript_generator.py +582 -582
- gaia/eval/webapp/README.md +167 -167
- gaia/eval/webapp/package-lock.json +875 -875
- gaia/eval/webapp/package.json +20 -20
- gaia/eval/webapp/public/app.js +3402 -3402
- gaia/eval/webapp/public/index.html +87 -87
- gaia/eval/webapp/public/styles.css +3661 -3661
- gaia/eval/webapp/server.js +415 -415
- gaia/eval/webapp/test-setup.js +72 -72
- gaia/installer/__init__.py +23 -0
- gaia/installer/init_command.py +1275 -0
- gaia/installer/lemonade_installer.py +619 -0
- gaia/llm/__init__.py +10 -2
- gaia/llm/base_client.py +60 -0
- gaia/llm/exceptions.py +12 -0
- gaia/llm/factory.py +70 -0
- gaia/llm/lemonade_client.py +3421 -3221
- gaia/llm/lemonade_manager.py +294 -294
- gaia/llm/providers/__init__.py +9 -0
- gaia/llm/providers/claude.py +108 -0
- gaia/llm/providers/lemonade.py +118 -0
- gaia/llm/providers/openai_provider.py +79 -0
- gaia/llm/vlm_client.py +382 -382
- gaia/logger.py +189 -189
- gaia/mcp/agent_mcp_server.py +245 -245
- gaia/mcp/blender_mcp_client.py +138 -138
- gaia/mcp/blender_mcp_server.py +648 -648
- gaia/mcp/context7_cache.py +332 -332
- gaia/mcp/external_services.py +518 -518
- gaia/mcp/mcp_bridge.py +811 -550
- gaia/mcp/servers/__init__.py +6 -6
- gaia/mcp/servers/docker_mcp.py +83 -83
- gaia/perf_analysis.py +361 -0
- gaia/rag/__init__.py +10 -10
- gaia/rag/app.py +293 -293
- gaia/rag/demo.py +304 -304
- gaia/rag/pdf_utils.py +235 -235
- gaia/rag/sdk.py +2194 -2194
- gaia/security.py +183 -163
- gaia/talk/app.py +287 -289
- gaia/talk/sdk.py +538 -538
- gaia/testing/__init__.py +87 -87
- gaia/testing/assertions.py +330 -330
- gaia/testing/fixtures.py +333 -333
- gaia/testing/mocks.py +493 -493
- gaia/util.py +46 -46
- gaia/utils/__init__.py +33 -33
- gaia/utils/file_watcher.py +675 -675
- gaia/utils/parsing.py +223 -223
- gaia/version.py +100 -100
- amd_gaia-0.15.0.dist-info/RECORD +0 -168
- gaia/agents/code/app.py +0 -266
- gaia/llm/llm_client.py +0 -723
- {amd_gaia-0.15.0.dist-info → amd_gaia-0.15.2.dist-info}/top_level.txt +0 -0
gaia/util.py
CHANGED
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
# Copyright(C) 2025-2026 Advanced Micro Devices, Inc. All rights reserved.
|
|
2
|
-
# SPDX-License-Identifier: MIT
|
|
3
|
-
|
|
4
|
-
import subprocess
|
|
5
|
-
import time
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
def kill_process_on_port(port):
|
|
9
|
-
"""Kill any process running on the specified port."""
|
|
10
|
-
try:
|
|
11
|
-
# Find process using the port
|
|
12
|
-
result = subprocess.run(
|
|
13
|
-
f"netstat -ano | findstr :{port}",
|
|
14
|
-
shell=True,
|
|
15
|
-
capture_output=True,
|
|
16
|
-
text=True,
|
|
17
|
-
check=False,
|
|
18
|
-
)
|
|
19
|
-
|
|
20
|
-
if result.stdout:
|
|
21
|
-
# Extract PID
|
|
22
|
-
pids_to_kill = set()
|
|
23
|
-
for line in result.stdout.strip().split("\n"):
|
|
24
|
-
if f":{port}" in line and (
|
|
25
|
-
"LISTENING" in line or "ESTABLISHED" in line
|
|
26
|
-
):
|
|
27
|
-
parts = line.strip().split()
|
|
28
|
-
if len(parts) > 4:
|
|
29
|
-
pid = parts[-1]
|
|
30
|
-
pids_to_kill.add(pid)
|
|
31
|
-
|
|
32
|
-
# Kill each process found
|
|
33
|
-
for pid in pids_to_kill:
|
|
34
|
-
print(f"Found process with PID {pid} on port {port}")
|
|
35
|
-
try:
|
|
36
|
-
# Kill the process
|
|
37
|
-
subprocess.run(f"taskkill /F /PID {pid}", shell=True, check=False)
|
|
38
|
-
print(f"Killed process with PID {pid}")
|
|
39
|
-
except Exception as e:
|
|
40
|
-
print(f"Error killing PID {pid}: {e}")
|
|
41
|
-
|
|
42
|
-
# Give the OS some time to free the port
|
|
43
|
-
if pids_to_kill:
|
|
44
|
-
time.sleep(2)
|
|
45
|
-
except Exception as e:
|
|
46
|
-
print(f"Error killing process on port {port}: {e}")
|
|
1
|
+
# Copyright(C) 2025-2026 Advanced Micro Devices, Inc. All rights reserved.
|
|
2
|
+
# SPDX-License-Identifier: MIT
|
|
3
|
+
|
|
4
|
+
import subprocess
|
|
5
|
+
import time
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def kill_process_on_port(port):
|
|
9
|
+
"""Kill any process running on the specified port."""
|
|
10
|
+
try:
|
|
11
|
+
# Find process using the port
|
|
12
|
+
result = subprocess.run(
|
|
13
|
+
f"netstat -ano | findstr :{port}",
|
|
14
|
+
shell=True,
|
|
15
|
+
capture_output=True,
|
|
16
|
+
text=True,
|
|
17
|
+
check=False,
|
|
18
|
+
)
|
|
19
|
+
|
|
20
|
+
if result.stdout:
|
|
21
|
+
# Extract PID
|
|
22
|
+
pids_to_kill = set()
|
|
23
|
+
for line in result.stdout.strip().split("\n"):
|
|
24
|
+
if f":{port}" in line and (
|
|
25
|
+
"LISTENING" in line or "ESTABLISHED" in line
|
|
26
|
+
):
|
|
27
|
+
parts = line.strip().split()
|
|
28
|
+
if len(parts) > 4:
|
|
29
|
+
pid = parts[-1]
|
|
30
|
+
pids_to_kill.add(pid)
|
|
31
|
+
|
|
32
|
+
# Kill each process found
|
|
33
|
+
for pid in pids_to_kill:
|
|
34
|
+
print(f"Found process with PID {pid} on port {port}")
|
|
35
|
+
try:
|
|
36
|
+
# Kill the process
|
|
37
|
+
subprocess.run(f"taskkill /F /PID {pid}", shell=True, check=False)
|
|
38
|
+
print(f"Killed process with PID {pid}")
|
|
39
|
+
except Exception as e:
|
|
40
|
+
print(f"Error killing PID {pid}: {e}")
|
|
41
|
+
|
|
42
|
+
# Give the OS some time to free the port
|
|
43
|
+
if pids_to_kill:
|
|
44
|
+
time.sleep(2)
|
|
45
|
+
except Exception as e:
|
|
46
|
+
print(f"Error killing process on port {port}: {e}")
|
gaia/utils/__init__.py
CHANGED
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
# Copyright(C) 2025-2026 Advanced Micro Devices, Inc. All rights reserved.
|
|
2
|
-
# SPDX-License-Identifier: MIT
|
|
3
|
-
|
|
4
|
-
"""GAIA utilities."""
|
|
5
|
-
|
|
6
|
-
from gaia.utils.file_watcher import (
|
|
7
|
-
FileChangeHandler,
|
|
8
|
-
FileWatcher,
|
|
9
|
-
FileWatcherMixin,
|
|
10
|
-
compute_bytes_hash,
|
|
11
|
-
compute_file_hash,
|
|
12
|
-
)
|
|
13
|
-
from gaia.utils.parsing import (
|
|
14
|
-
detect_field_changes,
|
|
15
|
-
extract_json_from_text,
|
|
16
|
-
pdf_page_to_image,
|
|
17
|
-
validate_required_fields,
|
|
18
|
-
)
|
|
19
|
-
|
|
20
|
-
__all__ = [
|
|
21
|
-
# File watching
|
|
22
|
-
"FileChangeHandler",
|
|
23
|
-
"FileWatcher",
|
|
24
|
-
"FileWatcherMixin",
|
|
25
|
-
# File hashing
|
|
26
|
-
"compute_file_hash",
|
|
27
|
-
"compute_bytes_hash",
|
|
28
|
-
# Parsing utilities
|
|
29
|
-
"extract_json_from_text",
|
|
30
|
-
"pdf_page_to_image",
|
|
31
|
-
"detect_field_changes",
|
|
32
|
-
"validate_required_fields",
|
|
33
|
-
]
|
|
1
|
+
# Copyright(C) 2025-2026 Advanced Micro Devices, Inc. All rights reserved.
|
|
2
|
+
# SPDX-License-Identifier: MIT
|
|
3
|
+
|
|
4
|
+
"""GAIA utilities."""
|
|
5
|
+
|
|
6
|
+
from gaia.utils.file_watcher import (
|
|
7
|
+
FileChangeHandler,
|
|
8
|
+
FileWatcher,
|
|
9
|
+
FileWatcherMixin,
|
|
10
|
+
compute_bytes_hash,
|
|
11
|
+
compute_file_hash,
|
|
12
|
+
)
|
|
13
|
+
from gaia.utils.parsing import (
|
|
14
|
+
detect_field_changes,
|
|
15
|
+
extract_json_from_text,
|
|
16
|
+
pdf_page_to_image,
|
|
17
|
+
validate_required_fields,
|
|
18
|
+
)
|
|
19
|
+
|
|
20
|
+
__all__ = [
|
|
21
|
+
# File watching
|
|
22
|
+
"FileChangeHandler",
|
|
23
|
+
"FileWatcher",
|
|
24
|
+
"FileWatcherMixin",
|
|
25
|
+
# File hashing
|
|
26
|
+
"compute_file_hash",
|
|
27
|
+
"compute_bytes_hash",
|
|
28
|
+
# Parsing utilities
|
|
29
|
+
"extract_json_from_text",
|
|
30
|
+
"pdf_page_to_image",
|
|
31
|
+
"detect_field_changes",
|
|
32
|
+
"validate_required_fields",
|
|
33
|
+
]
|