amd-gaia 0.15.0__py3-none-any.whl → 0.15.1__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.1.dist-info}/METADATA +223 -223
- amd_gaia-0.15.1.dist-info/RECORD +178 -0
- {amd_gaia-0.15.0.dist-info → amd_gaia-0.15.1.dist-info}/entry_points.txt +1 -0
- {amd_gaia-0.15.0.dist-info → amd_gaia-0.15.1.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 +2177 -2177
- gaia/agents/base/api_agent.py +120 -120
- gaia/agents/base/console.py +1841 -1841
- gaia/agents/base/errors.py +237 -237
- gaia/agents/base/mcp_agent.py +86 -86
- gaia/agents/base/tools.py +83 -83
- gaia/agents/blender/agent.py +556 -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 +835 -835
- gaia/agents/chat/app.py +1058 -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 +1729 -1729
- gaia/agents/chat/tools/shell_tools.py +436 -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 +2036 -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 +642 -642
- gaia/agents/emr/__init__.py +8 -8
- gaia/agents/emr/agent.py +1506 -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 +1974 -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 +173 -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 +430 -430
- gaia/chat/prompts.py +522 -522
- gaia/chat/sdk.py +1228 -1225
- gaia/cli.py +5481 -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/llm/__init__.py +9 -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 +3236 -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 +120 -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 +163 -163
- gaia/talk/app.py +289 -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.1.dist-info}/WHEEL +0 -0
- {amd_gaia-0.15.0.dist-info → amd_gaia-0.15.1.dist-info}/top_level.txt +0 -0
gaia/database/testing.py
CHANGED
|
@@ -1,64 +1,64 @@
|
|
|
1
|
-
# Copyright(C) 2025-2026 Advanced Micro Devices, Inc. All rights reserved.
|
|
2
|
-
# SPDX-License-Identifier: MIT
|
|
3
|
-
|
|
4
|
-
"""Database testing utilities for GAIA SDK users."""
|
|
5
|
-
|
|
6
|
-
import tempfile
|
|
7
|
-
from contextlib import contextmanager
|
|
8
|
-
from pathlib import Path
|
|
9
|
-
from typing import Optional
|
|
10
|
-
|
|
11
|
-
from gaia.database.mixin import DatabaseMixin
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
class _TempDB(DatabaseMixin):
|
|
15
|
-
"""Internal helper for temp_db fixture."""
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
@contextmanager
|
|
19
|
-
def temp_db(schema: Optional[str] = None):
|
|
20
|
-
"""
|
|
21
|
-
Create a temporary SQLite database for testing.
|
|
22
|
-
|
|
23
|
-
Creates a temporary database file that is automatically cleaned up
|
|
24
|
-
after the context exits. Useful for testing agents that use DatabaseMixin.
|
|
25
|
-
|
|
26
|
-
Args:
|
|
27
|
-
schema: Optional SQL to execute on the database (CREATE TABLE, etc.)
|
|
28
|
-
|
|
29
|
-
Yields:
|
|
30
|
-
str: Path to the temporary database file
|
|
31
|
-
|
|
32
|
-
Example:
|
|
33
|
-
from gaia.database import temp_db
|
|
34
|
-
|
|
35
|
-
def test_my_agent():
|
|
36
|
-
schema = '''
|
|
37
|
-
CREATE TABLE users (
|
|
38
|
-
id INTEGER PRIMARY KEY,
|
|
39
|
-
name TEXT NOT NULL
|
|
40
|
-
)
|
|
41
|
-
'''
|
|
42
|
-
|
|
43
|
-
with temp_db(schema) as db_path:
|
|
44
|
-
agent = MyAgent(skip_lemonade=True)
|
|
45
|
-
agent.init_db(db_path) # Use temp database
|
|
46
|
-
agent.insert("users", {"name": "Alice"})
|
|
47
|
-
assert len(agent.query("SELECT * FROM users")) == 1
|
|
48
|
-
|
|
49
|
-
def test_empty_db():
|
|
50
|
-
with temp_db() as db_path:
|
|
51
|
-
agent = MyAgent(skip_lemonade=True)
|
|
52
|
-
agent.init_db(db_path)
|
|
53
|
-
# Agent can create its own schema
|
|
54
|
-
"""
|
|
55
|
-
with tempfile.TemporaryDirectory() as tmpdir:
|
|
56
|
-
db_path = str(Path(tmpdir) / "test.db")
|
|
57
|
-
|
|
58
|
-
if schema:
|
|
59
|
-
db = _TempDB()
|
|
60
|
-
db.init_db(db_path)
|
|
61
|
-
db.execute(schema)
|
|
62
|
-
db.close_db()
|
|
63
|
-
|
|
64
|
-
yield db_path
|
|
1
|
+
# Copyright(C) 2025-2026 Advanced Micro Devices, Inc. All rights reserved.
|
|
2
|
+
# SPDX-License-Identifier: MIT
|
|
3
|
+
|
|
4
|
+
"""Database testing utilities for GAIA SDK users."""
|
|
5
|
+
|
|
6
|
+
import tempfile
|
|
7
|
+
from contextlib import contextmanager
|
|
8
|
+
from pathlib import Path
|
|
9
|
+
from typing import Optional
|
|
10
|
+
|
|
11
|
+
from gaia.database.mixin import DatabaseMixin
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class _TempDB(DatabaseMixin):
|
|
15
|
+
"""Internal helper for temp_db fixture."""
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
@contextmanager
|
|
19
|
+
def temp_db(schema: Optional[str] = None):
|
|
20
|
+
"""
|
|
21
|
+
Create a temporary SQLite database for testing.
|
|
22
|
+
|
|
23
|
+
Creates a temporary database file that is automatically cleaned up
|
|
24
|
+
after the context exits. Useful for testing agents that use DatabaseMixin.
|
|
25
|
+
|
|
26
|
+
Args:
|
|
27
|
+
schema: Optional SQL to execute on the database (CREATE TABLE, etc.)
|
|
28
|
+
|
|
29
|
+
Yields:
|
|
30
|
+
str: Path to the temporary database file
|
|
31
|
+
|
|
32
|
+
Example:
|
|
33
|
+
from gaia.database import temp_db
|
|
34
|
+
|
|
35
|
+
def test_my_agent():
|
|
36
|
+
schema = '''
|
|
37
|
+
CREATE TABLE users (
|
|
38
|
+
id INTEGER PRIMARY KEY,
|
|
39
|
+
name TEXT NOT NULL
|
|
40
|
+
)
|
|
41
|
+
'''
|
|
42
|
+
|
|
43
|
+
with temp_db(schema) as db_path:
|
|
44
|
+
agent = MyAgent(skip_lemonade=True)
|
|
45
|
+
agent.init_db(db_path) # Use temp database
|
|
46
|
+
agent.insert("users", {"name": "Alice"})
|
|
47
|
+
assert len(agent.query("SELECT * FROM users")) == 1
|
|
48
|
+
|
|
49
|
+
def test_empty_db():
|
|
50
|
+
with temp_db() as db_path:
|
|
51
|
+
agent = MyAgent(skip_lemonade=True)
|
|
52
|
+
agent.init_db(db_path)
|
|
53
|
+
# Agent can create its own schema
|
|
54
|
+
"""
|
|
55
|
+
with tempfile.TemporaryDirectory() as tmpdir:
|
|
56
|
+
db_path = str(Path(tmpdir) / "test.db")
|
|
57
|
+
|
|
58
|
+
if schema:
|
|
59
|
+
db = _TempDB()
|
|
60
|
+
db.init_db(db_path)
|
|
61
|
+
db.execute(schema)
|
|
62
|
+
db.close_db()
|
|
63
|
+
|
|
64
|
+
yield db_path
|