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
amd_gaia-0.15.0.dist-info/RECORD
DELETED
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
amd_gaia-0.15.0.dist-info/licenses/LICENSE.md,sha256=G1X5Kiqq2PwbU4BUcxqrxqo7tE_vlQZ_GC0VWembFi8,1103
|
|
2
|
-
gaia/__init__.py,sha256=S5B1WaF88Xdr4zDLjiWsM5y_z1EQwtDWF7dTt15ClQY,872
|
|
3
|
-
gaia/cli.py,sha256=PsglkqhtQuxNoch4673AfzupcoU0Elz8x_OA2YTnPos,225433
|
|
4
|
-
gaia/logger.py,sha256=Atu9q2Bz1qKpVuh52L1mP1Cjb5rTauzT68DH4nAdQuM,6749
|
|
5
|
-
gaia/security.py,sha256=zhwkA_w50Hn7dPQlCLo0pftjho0BrbTB0HszAd7fwvM,5989
|
|
6
|
-
gaia/util.py,sha256=ly96jWiAanWrQew1uL_w0DD2Eycp5ZBp-Fze1rOXoNs,1615
|
|
7
|
-
gaia/version.py,sha256=xU5KTeqWNkfJK0ZWuba0Q4gmn6ynViJ3WfibiPQP1P0,2940
|
|
8
|
-
gaia/agents/__init__.py,sha256=SnPhJ8Rkdoty40Jc9LkO_7JBGwJOdLvrVECt5NIGUMs,490
|
|
9
|
-
gaia/agents/base/__init__.py,sha256=jPPO_kr0_rzMoIbtkN0h8GYWb-BngzT885YULoqaP7o,373
|
|
10
|
-
gaia/agents/base/agent.py,sha256=gwbKajGUbmUYhX56YxGuKTNBoCHnzNhJQX1Wi2HdM7s,98641
|
|
11
|
-
gaia/agents/base/api_agent.py,sha256=LuIsC21rGnuBBXBT25rtGG5zksVOwMHscy3PIfSOHWk,4027
|
|
12
|
-
gaia/agents/base/console.py,sha256=yH_QRAxw33zS2hDjM7VCvqarQWnmOhiQEbWxm-tPyFA,67309
|
|
13
|
-
gaia/agents/base/errors.py,sha256=JIqdGnM6qZM_FIdMBByRifp6PixnLQ5Sv9ZqUEltls0,7248
|
|
14
|
-
gaia/agents/base/mcp_agent.py,sha256=5jM1bF7-VTBLssq-zvmd36xJQ23e0hBO9f0TDQ8Rn6c,2438
|
|
15
|
-
gaia/agents/base/tools.py,sha256=bIp9HsTAZS48T4Vy8vjN-UcTQaxNlWiSq8noG4auWzc,2697
|
|
16
|
-
gaia/agents/blender/agent.py,sha256=mYjo2NlsLyZO_KltB_hKMjdysHOLHAercdGj7y0rJpo,21270
|
|
17
|
-
gaia/agents/blender/agent_simple.py,sha256=JRzRU3fwBV2SHxa2BdNq1ETkGz6qNmA7uXCSFMOudK0,5154
|
|
18
|
-
gaia/agents/blender/app.py,sha256=iTrWkx0tgVKUYxlrWmQVDQWYaXocwFb1KQOOLBB-EiU,7440
|
|
19
|
-
gaia/agents/blender/app_simple.py,sha256=CTi0cESxGfomHIdMFpK1qweG10s_7A10JPgBBYCqAN8,1293
|
|
20
|
-
gaia/agents/blender/core/__init__.py,sha256=0-JY8yoqWBX3uie4RvQ432x3TGZl6FruFo4Jb-bHM2w,415
|
|
21
|
-
gaia/agents/blender/core/materials.py,sha256=C3UBRsHP8ixX_QHSANi_jWgh3yUmAoBUJbBgE87VQN0,17638
|
|
22
|
-
gaia/agents/blender/core/objects.py,sha256=txAZZAlsLWRyN-Ph01EXCnH8pxwrbxZJJmbByoyolno,10646
|
|
23
|
-
gaia/agents/blender/core/rendering.py,sha256=1xl2Lfegee0Lk9PRwbX5i4s5IZ320wcmC82wUV5rp3w,7789
|
|
24
|
-
gaia/agents/blender/core/scene.py,sha256=TF0fw5KT3XzVHgLqy9e7PtatRrcS8utj-L89mw8TofI,7191
|
|
25
|
-
gaia/agents/blender/core/view.py,sha256=WzPpbCE9fl7WzajILJfIpMTnCkxHkKNkvimYA-mLGb0,5124
|
|
26
|
-
gaia/agents/chat/__init__.py,sha256=EdLsNUEdITTpxvtEi_t5o7T6ghvyQ8uCMTDa3zGoGFg,244
|
|
27
|
-
gaia/agents/chat/agent.py,sha256=DCrsVF0NUA__wimVTphxpM25lC9VcpZpeQVwUpmPhbw,34284
|
|
28
|
-
gaia/agents/chat/app.py,sha256=BLE-f0xQQBsPgqWj-gKN37aI_AMvRKxBk14pOX84bO8,48217
|
|
29
|
-
gaia/agents/chat/session.py,sha256=gQiKEyVJIjtzb30lYBojY0JxkEd3BMpl4F_eIXQiE3M,18364
|
|
30
|
-
gaia/agents/chat/tools/__init__.py,sha256=SJvjWGpjxIwu2ByjFsYDaxklFgS7M8BDovKx6ehRCdA,466
|
|
31
|
-
gaia/agents/chat/tools/file_tools.py,sha256=BZGJIoVO8OMhxWqtPAyXVCS8L1PKhUK5kIxBvbeECGA,3859
|
|
32
|
-
gaia/agents/chat/tools/rag_tools.py,sha256=e7sjp7SbsovVuAej-__7P29KQM69g-6v8V6Q4-N5zkU,80508
|
|
33
|
-
gaia/agents/chat/tools/shell_tools.py,sha256=wx8h8AbRpxorWnJ_Wa88MA_DA_kR0Yj1FAgnBeEz7IQ,18665
|
|
34
|
-
gaia/agents/code/__init__.py,sha256=zHxZvmSMCdw-_3_kVZGMzrMPPyKhQCaRtj0KPBDomMw,195
|
|
35
|
-
gaia/agents/code/agent.py,sha256=Uet9oVqKkROgqXA5UJP209rdjMgdumrLmrtU8Zw2zpQ,22543
|
|
36
|
-
gaia/agents/code/app.py,sha256=0NYXfIIiHWY-E1JkEhQjuheSjb8SGoNF-fZVwIkXpnQ,8856
|
|
37
|
-
gaia/agents/code/models.py,sha256=v5uUuNvco3T7WkeGKkRg3V5sjNdw1-xjh9_-RjGNW84,3292
|
|
38
|
-
gaia/agents/code/schema_inference.py,sha256=iuDgXyK3FiwnjXyuJnNSWtiMdH_NT7k0MsgMmlkKEtE,12887
|
|
39
|
-
gaia/agents/code/system_prompt.py,sha256=jG-5ONRc2cIetDQNIpG7I2j7OIAyuF_o9EhXcdOaDZA,1525
|
|
40
|
-
gaia/agents/code/orchestration/__init__.py,sha256=8MnjH_DseoddSVrCxBJ3SB7u89-Hk-b-Y9YFc2_-qbg,689
|
|
41
|
-
gaia/agents/code/orchestration/checklist_executor.py,sha256=6dec_h1aj39rLVoAwN4_Z0ZuVFG3OeTdiQ1bYKvjQCQ,64442
|
|
42
|
-
gaia/agents/code/orchestration/checklist_generator.py,sha256=uKMszGP-thEDMkf05k-yX8-gXavUC9AwspT-Gt89-JA,29181
|
|
43
|
-
gaia/agents/code/orchestration/orchestrator.py,sha256=Ne862JMGczz4pPXCJcGvTKPhLk1DODSwUQrv9t7stIc,33332
|
|
44
|
-
gaia/agents/code/orchestration/project_analyzer.py,sha256=2jcsdEjyQuLMGZRhIc9kLTxoy8eiT7xOiJJNSwkHNJo,12257
|
|
45
|
-
gaia/agents/code/orchestration/template_catalog.py,sha256=5wk9-fQUSdwOAwvYVu_izV1EuWO73hm1rELCkdS0sBU,18339
|
|
46
|
-
gaia/agents/code/orchestration/factories/__init__.py,sha256=jGoEXh8QznE-JEAZ5AETzUnTl-Wcoy1IiSL9nePjT6E,350
|
|
47
|
-
gaia/agents/code/orchestration/factories/base.py,sha256=wVAaqfg7juahCI4JV2VCCkWIgDdvNn_SHsjAyyORVOo,1916
|
|
48
|
-
gaia/agents/code/orchestration/factories/nextjs_factory.py,sha256=Gg23rBlqu605Y6UYAU5RpneorDfE-xxJHBTCEFW0Uu0,3712
|
|
49
|
-
gaia/agents/code/orchestration/factories/python_factory.py,sha256=THQRSdH6fpIxhd-7zEhD1Fj7dbOvOmkbAnHp0vq3bcY,3157
|
|
50
|
-
gaia/agents/code/orchestration/steps/__init__.py,sha256=W3e1Bczz9iUcSAUetSAFhB5WRDgOfmzztnqMfcyjI2M,1659
|
|
51
|
-
gaia/agents/code/orchestration/steps/base.py,sha256=NQaS4pTOtGpipLqvo1PfxyRlaKqZzQCbzJIFhKdiki4,5991
|
|
52
|
-
gaia/agents/code/orchestration/steps/error_handler.py,sha256=2XgHa7PfQMAKtw4HEYJYS10YMN3SrPlJ0vqVqFS_284,11971
|
|
53
|
-
gaia/agents/code/orchestration/steps/nextjs.py,sha256=S8h86hXip_fN9XWqN_MobkfKet_x6tcXjKuN4NCJKSo,31178
|
|
54
|
-
gaia/agents/code/orchestration/steps/python.py,sha256=PQJ_it-eU_kjpoaVwLOhBxCOGSDtl6mEBGrauZ48OG8,10746
|
|
55
|
-
gaia/agents/code/orchestration/workflows/__init__.py,sha256=1jHuo9l36k7GtI_rBYsDFhV8wsjG1WXs3BAoSmZLKS8,423
|
|
56
|
-
gaia/agents/code/orchestration/workflows/base.py,sha256=ZvO-O2rzqrdO58XSayuI-XRy30ld52ynuQmt7s8onM4,2513
|
|
57
|
-
gaia/agents/code/orchestration/workflows/nextjs.py,sha256=8eQBsBtzz22JiFZr9EHgYobEjCPEs6Abdtf9Br5IX1k,6254
|
|
58
|
-
gaia/agents/code/orchestration/workflows/python.py,sha256=AmQ1TmwEOykTT_TDL5Y5UA3ul-eQWjE1rvPy7Qu5w4k,2551
|
|
59
|
-
gaia/agents/code/prompts/__init__.py,sha256=h82MVPwDj3a96hRwBjJ-ge0e8iGWTRyMSIdzZyqOzxw,320
|
|
60
|
-
gaia/agents/code/prompts/base_prompt.py,sha256=c3H7_uTdlkCBQWu0xE37jyUWfqAFR1ASxAFqBbIrc6E,2811
|
|
61
|
-
gaia/agents/code/prompts/code_patterns.py,sha256=_JvI6NaaM31ipqhpi3UPS8BlQtthK0qN5Lhmu2XiHAs,69566
|
|
62
|
-
gaia/agents/code/prompts/nextjs_prompt.py,sha256=FnW9pK__10Xn2br8tPK7sNBbvsz3py0hIXvvunEONec,1376
|
|
63
|
-
gaia/agents/code/prompts/python_prompt.py,sha256=s4XYXOzgMxXGLdBvgBLv3wER1ObwadXw6e4rxst8uv0,5266
|
|
64
|
-
gaia/agents/code/tools/__init__.py,sha256=luM1pb0emSuTfg3tMZUZtFLcDinKmn9a-4nVENWMrMc,1236
|
|
65
|
-
gaia/agents/code/tools/cli_tools.py,sha256=1-DQsRyoxwmTbfgnseSI-S1aT9vtLGjHrT3jVcQDMaE,39814
|
|
66
|
-
gaia/agents/code/tools/code_formatting.py,sha256=-PZHbPpTBoLFTZY4FJ30u8tIsA9EgYyHIumAwEjYkr4,12577
|
|
67
|
-
gaia/agents/code/tools/code_tools.py,sha256=Ygx5V85B57yqy08s8rnpyRcbsOCoAFVlUheRsaNk06c,28202
|
|
68
|
-
gaia/agents/code/tools/error_fixing.py,sha256=owFt1c_FO7QxCsUVVcFdVF0ABB0DlufF9dRfWxhohss,58989
|
|
69
|
-
gaia/agents/code/tools/external_tools.py,sha256=NYhh4pn6K3JL0xA7H6qEAkr4WJp7ugtM_QZSXrQpBE4,7493
|
|
70
|
-
gaia/agents/code/tools/file_io.py,sha256=Yu_FE1fpqepWqUibHKL76TGEF70k6K5shQ7YmS4_mig,33852
|
|
71
|
-
gaia/agents/code/tools/prisma_tools.py,sha256=wv6_tHGDbuTBPB6HxG-O1cZm_C7E4_gFYnYUR0r-Fow,7901
|
|
72
|
-
gaia/agents/code/tools/project_management.py,sha256=9jw3-UCY7GuIwqr84moSe_dCbdl9hS_eIgzK12Gs0k0,46131
|
|
73
|
-
gaia/agents/code/tools/testing.py,sha256=Dby6YsKO-0nV2Ro1BMxrfgrMuJmaQ-1Rjl7-5TtkmKs,13483
|
|
74
|
-
gaia/agents/code/tools/typescript_tools.py,sha256=JOrcv6HVKzGwiQxjST_yezQGjptPkvi4lSoWpvT3dco,4499
|
|
75
|
-
gaia/agents/code/tools/validation_parsing.py,sha256=1d6ktlg_iwrwhclFmaOqRIEqORP9sHDgnF-qC-Vdhvc,17300
|
|
76
|
-
gaia/agents/code/tools/validation_tools.py,sha256=hF0A_fYm_87jiV0Fq7i42vv5zTeUrQRLuRc7sZF9MxE,36355
|
|
77
|
-
gaia/agents/code/tools/web_dev_tools.py,sha256=ikboh4-A9iug1sDqwhq4h2oDAH5Ukg5wHtknR41d7o8,78344
|
|
78
|
-
gaia/agents/code/validators/__init__.py,sha256=gvCXPdksZs703Lkg-3Bs3CoC3k51K9LIUoiZux8koo0,509
|
|
79
|
-
gaia/agents/code/validators/antipattern_checker.py,sha256=4KQtE6yLLxK9tx2M6y8Pz8do5twIUyLWjeIqRcLpqdc,8614
|
|
80
|
-
gaia/agents/code/validators/ast_analyzer.py,sha256=KjZjOFeFWmheO7vScZsCq9m0h62Sdu5O1epOeKWAt9g,6980
|
|
81
|
-
gaia/agents/code/validators/requirements_validator.py,sha256=Ik14nZ8VqmcK9rYlTY_Bmr06ZtWEQ3y_5LcKI44fAxQ,5019
|
|
82
|
-
gaia/agents/code/validators/syntax_validator.py,sha256=nzgm_W54xMQvdC6AjbghAZHRtSeLvv_JxLyQQXbEIT4,5373
|
|
83
|
-
gaia/agents/docker/__init__.py,sha256=d46n5I2Mzv9BhjkZyAEs9sGPzsStd3yPq212gtolddI,219
|
|
84
|
-
gaia/agents/docker/agent.py,sha256=FMO9hsKaydXCKpgkWL95vyCfTt7M-FKKfFPxVRhqxwo,25634
|
|
85
|
-
gaia/agents/emr/__init__.py,sha256=ZF15-3yzG4fSSpc7_avRiCO8trhQn1clxgDdjwXeSn4,265
|
|
86
|
-
gaia/agents/emr/agent.py,sha256=EA56LL_scYq1n-WeaX_fMgFTAGsn0Ht6zK-1uvvbY70,59889
|
|
87
|
-
gaia/agents/emr/cli.py,sha256=7YI1Bb6elV8aynV5P_XQUeeo4FpcWsQ9ScJZj4srzb8,46786
|
|
88
|
-
gaia/agents/emr/constants.py,sha256=IJ0Feh-bK-EDzabQOPkzp_VpH9w11yq9448Cuq_vCxY,14565
|
|
89
|
-
gaia/agents/emr/dashboard/__init__.py,sha256=Na0mWuFe1G16Oyq95aa0-MJTUwRRVG-vAKVS1gfwquA,146
|
|
90
|
-
gaia/agents/emr/dashboard/server.py,sha256=Pm3q0NwNvYF-kPMJYZP7z67VNCV4Aq84oV0cmb8rad0,78979
|
|
91
|
-
gaia/agents/jira/__init__.py,sha256=NrX64RLAB8GjuTTgrm4aWnBfltprzCq91dhIxih81xA,406
|
|
92
|
-
gaia/agents/jira/agent.py,sha256=n5RSdPso_RFdwtROn65OFDuE4nNyHee6Y0-dsUWrnNU,35372
|
|
93
|
-
gaia/agents/jira/jql_templates.py,sha256=WgUGiNoGzRRWwXgewmCpxR2-wcpoGUZu1bVJk5OOgqw,11435
|
|
94
|
-
gaia/agents/routing/__init__.py,sha256=oAD327Rr8yQT43mWq8FcGEzp5WUgFTuWTOIksbuOGb4,246
|
|
95
|
-
gaia/agents/routing/agent.py,sha256=ntC2DEX2AE0sx2H8pDTifiHlkaR6w1Q9sdngqt7SQXA,21581
|
|
96
|
-
gaia/agents/routing/system_prompt.py,sha256=2M32BUWC_nEGBNBCDNTv-EmzwjbxBvg-FrKZ70VQgHM,3736
|
|
97
|
-
gaia/api/__init__.py,sha256=Oe3UOiqzlI64-I9eZSIYFGsYDNmaBqzgsRalPZ9zAlg,664
|
|
98
|
-
gaia/api/agent_registry.py,sha256=NDVJNdFGUI6qqdMVMwhqpEcmAxx2t-fsWlhfAXVWEZw,8235
|
|
99
|
-
gaia/api/app.py,sha256=DFhDXJcX7JyKg3SF00zFmT9Lpqc0zpunLeeSlOpPKUw,10386
|
|
100
|
-
gaia/api/openai_server.py,sha256=c_d10ZbMtCA_i3lz1VXoPrvFzMUQ3k1I3hCgtck7oUc,20219
|
|
101
|
-
gaia/api/schemas.py,sha256=1rLsltBHo0gU97gdzemdAAgE9MH2Go2X73AkdspJzhc,5122
|
|
102
|
-
gaia/api/sse_handler.py,sha256=BIPeUr8xeh0_RcnJFUe7DR9fhHevlTyQOJmR-wQ_9DA,13527
|
|
103
|
-
gaia/apps/__init__.py,sha256=m8pS9onBsAK9HnZmdny7E_Jt9tVE9M7hWzA0T2OoxZI,135
|
|
104
|
-
gaia/apps/llm/__init__.py,sha256=4jcXSIknrexSpS90CKoJtuW9g8CBE9-oD8oxE8lHY6M,162
|
|
105
|
-
gaia/apps/llm/app.py,sha256=takotX-pAQUg8-teig7cF0jOCZYe-fmqbMP_9GpdInE,5097
|
|
106
|
-
gaia/apps/summarize/app.py,sha256=roSFU8VUBNcKNXxxKQ3V_F0eyF5rvst1gAGqcojmJH8,24758
|
|
107
|
-
gaia/apps/summarize/html_viewer.py,sha256=EszoiclACH4i28jB7Rz10m3vpzVd-6skV0juYHA5Yz4,4314
|
|
108
|
-
gaia/apps/summarize/pdf_formatter.py,sha256=oCLNqT7vY4mopYb8KPpB-vHMrvCeM_6qCnIh4srV1jo,10711
|
|
109
|
-
gaia/audio/__init__.py,sha256=r5UeFsXLNtWJH3yDnGStBNvJ912PexiehY213-wYO6Y,108
|
|
110
|
-
gaia/audio/audio_client.py,sha256=rPeaR89Zlh0dR33jkfxrjY6_QQIwzkvzh1QNKtcLvjU,19018
|
|
111
|
-
gaia/audio/audio_recorder.py,sha256=_02npPEcLYKxvCuQwItLQDTCmK7ZJ540n08fT6cfXaI,10009
|
|
112
|
-
gaia/audio/kokoro_tts.py,sha256=A1tsTALQWCTVYUpjSLvb8-aQv_B1jlDZsDp2Z_FsXX0,22430
|
|
113
|
-
gaia/audio/whisper_asr.py,sha256=mWfDtImgG7ts9yysHMMB8TnLvMBDE3SDNq2hRqUdPuo,16948
|
|
114
|
-
gaia/chat/__init__.py,sha256=zXIAXhVm6JyVt8qIAnPcrLmJ-PXq6bNpsRPQEogiPCI,365
|
|
115
|
-
gaia/chat/app.py,sha256=-occvE-x1zRibu4qfCuvWQbEZC2rkfPjYd3DHYK9TXA,12760
|
|
116
|
-
gaia/chat/prompts.py,sha256=ABa4ue2LBUCxIAS84GOVjI1OOiTLSrPbop_VB-SmTlw,22089
|
|
117
|
-
gaia/chat/sdk.py,sha256=1fY1psto12SbHcHA-B9hUPMReMhiA-mV8yG54Ed51OA,45599
|
|
118
|
-
gaia/database/__init__.py,sha256=BZ6QDMGrU0YPkfzuvcg1yMLLR1qRTioaGLnWoVojm2U,348
|
|
119
|
-
gaia/database/agent.py,sha256=fJc1sRQPDx22BHmuux8KkL9Kt1VHyEpbfNfyfe4Z4x0,5943
|
|
120
|
-
gaia/database/mixin.py,sha256=wTlt6y73czW6TpXT4toAx_eJhM8ESep_HQfKTiURwZw,9021
|
|
121
|
-
gaia/database/testing.py,sha256=MnWj0OXLK4JWzTQrR5eoQkGp_gvLelOl6v4fqnRTVs4,1903
|
|
122
|
-
gaia/eval/batch_experiment.py,sha256=U4IU9L5pXRGFp0MgRf268W1Lw32iJS4fDAGtLSg8lKQ,101884
|
|
123
|
-
gaia/eval/claude.py,sha256=8HL0eJ89b9W4T7KprYepGQPlx5EqY9ug8cc9uqyZ0x4,21186
|
|
124
|
-
gaia/eval/config.py,sha256=qB0TH_Tfre6LDqUY3Rw5pMd-3fLZwdgpVWvUW3hHIeQ,1658
|
|
125
|
-
gaia/eval/email_generator.py,sha256=Ga5QzhQPeCeHrfq1FA2OKfIDpxSumKk8lKzf3aBO7nA,21719
|
|
126
|
-
gaia/eval/eval.py,sha256=HAqrplZ949_m_T0v_-0rspZXvmY4yTNTrc33mcBQaAw,151009
|
|
127
|
-
gaia/eval/groundtruth.py,sha256=GOJ9OekYRiqRs3R5ZvgCNKJ-hRF_WMN2Rx-SfHGFkuQ,49542
|
|
128
|
-
gaia/eval/transcript_generator.py,sha256=bXefOpeUiYfZh2PyBQb13SNZQNWy9PSUIs73cUF5rmU,25498
|
|
129
|
-
gaia/eval/webapp/README.md,sha256=63LY0ErkMbVVekc9JT7mGUazV7VnobXt7XmEARS4cno,5073
|
|
130
|
-
gaia/eval/webapp/package-lock.json,sha256=DW0ySjWbvncFhSciCDyKZhbrFF2P3Fet5Bh-Sx5N7QU,32120
|
|
131
|
-
gaia/eval/webapp/package.json,sha256=MrDnqe3cVtE77Rvf5PG6aRitefvLTQNvEy9GOK703CA,659
|
|
132
|
-
gaia/eval/webapp/server.js,sha256=RDU0Qjn1JtrOdNXzDVFGjTeRkuCKr239I9EyLhWsoEU,16214
|
|
133
|
-
gaia/eval/webapp/test-setup.js,sha256=DAVbv4H8z3VkMszkNolU0_2_AW2c_LCI_Ew_bepUNTY,2709
|
|
134
|
-
gaia/eval/webapp/public/app.js,sha256=QFhmgjz2JT-op6Uimv3yarXHtceakogU5oTqetbGa1Y,167949
|
|
135
|
-
gaia/eval/webapp/public/index.html,sha256=sbPwzWyvOtVi4aISI2GiimxhoAErez9lvl7rFXk-7Xo,4825
|
|
136
|
-
gaia/eval/webapp/public/styles.css,sha256=YTn_pyzKY3vzl1APs52vmtw03aQ0OOaIKESRFDyEM2E,75042
|
|
137
|
-
gaia/llm/__init__.py,sha256=r5UeFsXLNtWJH3yDnGStBNvJ912PexiehY213-wYO6Y,108
|
|
138
|
-
gaia/llm/lemonade_client.py,sha256=6I1kDWZGFGTI7OHxnwk7trdkfSONelYyo2FAQFxt6kg,121681
|
|
139
|
-
gaia/llm/lemonade_manager.py,sha256=ZnabNrNHk4oTr7JH36eAKzPLnJj2M3BEsDmjIR7_gs4,11311
|
|
140
|
-
gaia/llm/llm_client.py,sha256=ZROwwGnuFTQ0EHxW6JW1RJ8EOV9mtm2L68kKvpB_eFY,29500
|
|
141
|
-
gaia/llm/vlm_client.py,sha256=V1uX2VB209L9XzZKwIxi9rusSJ48BxtTjjbtAYFj6N0,13629
|
|
142
|
-
gaia/mcp/agent_mcp_server.py,sha256=RWIO2U_xaKvUCIIwWqerauAQRNzhE-7AgvPR6hvL7I4,10397
|
|
143
|
-
gaia/mcp/blender_mcp_client.py,sha256=LHIgISCGNjO29ILRTnpH86y1MQO-6Bv3n8OQc66tKkg,5105
|
|
144
|
-
gaia/mcp/blender_mcp_server.py,sha256=TlQujTFxmvHBIO8qWvNFHk5X5hmF15987GZlosAKeZw,23153
|
|
145
|
-
gaia/mcp/context7_cache.py,sha256=4q0gxa_FO0IPdmKHejgcVNzJqjcyXyg7M2hjxIor0rE,11281
|
|
146
|
-
gaia/mcp/external_services.py,sha256=zjGrFixGFjb_B0F8yH_fpkin1xxaH7IcRTAZbQImuxg,18547
|
|
147
|
-
gaia/mcp/mcp_bridge.py,sha256=O7mOl1Dbtqy72jf5-NTvvUKGSk4nkmgLHhKhsxaXpyc,21610
|
|
148
|
-
gaia/mcp/servers/__init__.py,sha256=dXZuJKCFmkMUL_pf0Iwl9SCqiXpRzKxNB3yYkpPfmAg,158
|
|
149
|
-
gaia/mcp/servers/docker_mcp.py,sha256=SZ7oQpghBWyWNSNJPJMjIuYSNiARs6Z0o4ZAEGurRJw,2183
|
|
150
|
-
gaia/rag/__init__.py,sha256=Ui7XO7C5tB-oEHOG1kYgNYV7GZL3PbQRojDzSgLdNuw,336
|
|
151
|
-
gaia/rag/app.py,sha256=Kee7h_llYBxI2rWgrkg2picSyIj_ECBmsnPrcWmbOs8,8872
|
|
152
|
-
gaia/rag/demo.py,sha256=L9paeJk9dFbkq5g2Ip5nlNQ2AQH9dVSUDiMVtnc2gfE,10609
|
|
153
|
-
gaia/rag/pdf_utils.py,sha256=mUWy4XZ4xLUbvbPbEUMcxwFnaK7ltKd46kdol0DgE2g,7696
|
|
154
|
-
gaia/rag/sdk.py,sha256=GqCl5yFUjd6WK5wkm3UzHwRlh4NhvbfNhONR_5g9rdM,88011
|
|
155
|
-
gaia/talk/app.py,sha256=T8nMkoGQluSo4TV-70OcwzRI48W87DC2O_HfyO0bHBA,8213
|
|
156
|
-
gaia/talk/sdk.py,sha256=MXbyic5JH_TM8JBegwPnNTi58IfRx71sqX0TQV6ijXc,17862
|
|
157
|
-
gaia/testing/__init__.py,sha256=bN4jeVbJ8eY31rYPGKW4H2ATpl1Pr6kglhg8Y-myfOI,2012
|
|
158
|
-
gaia/testing/assertions.py,sha256=t5Q_ABj1aQ2BUKES4F7_EsTK3_OKI7buE6A01h2B6o4,10175
|
|
159
|
-
gaia/testing/fixtures.py,sha256=y2RBLZoMJm9ClypOBIbeaLmzLsywBSmMAXJZ-4JRgSk,10440
|
|
160
|
-
gaia/testing/mocks.py,sha256=8-wGRERu2Q3v6PnCPoRwqysOkyCBkEaGZbljmH0E2Xo,14388
|
|
161
|
-
gaia/utils/__init__.py,sha256=aJkcqGqbu2Eqq7imvezGbpgcbVNYs1gawPnYZeFM3lE,766
|
|
162
|
-
gaia/utils/file_watcher.py,sha256=ri9Mh6qNbVLv-8EP_8-BjVFVkf3CD8eRcyBQ4M6Lniw,23063
|
|
163
|
-
gaia/utils/parsing.py,sha256=vItAQd2E68Ye7hfbjzMudLhH4J79VnSRmaQePvkyohQ,6918
|
|
164
|
-
amd_gaia-0.15.0.dist-info/METADATA,sha256=bXk2D2huOvk8b9rWs9UY6awgjtvrEqdVI38kNMXkUlU,8856
|
|
165
|
-
amd_gaia-0.15.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
166
|
-
amd_gaia-0.15.0.dist-info/entry_points.txt,sha256=3GcGAdkAsl3W7sdNDvJbVahCabxZ99gY6ltiBe6N0Nc,185
|
|
167
|
-
amd_gaia-0.15.0.dist-info/top_level.txt,sha256=79yz2gLmqK4bFQkuN8_cnHVY-lobuVT0Ww4YoO6OFvU,5
|
|
168
|
-
amd_gaia-0.15.0.dist-info/RECORD,,
|
gaia/agents/code/app.py
DELETED
|
@@ -1,266 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env python
|
|
2
|
-
# Copyright(C) 2024-2025 Advanced Micro Devices, Inc. All rights reserved.
|
|
3
|
-
# SPDX-License-Identifier: MIT
|
|
4
|
-
"""
|
|
5
|
-
Code Agent Application.
|
|
6
|
-
|
|
7
|
-
Provides a command-line interface for the Code Agent.
|
|
8
|
-
"""
|
|
9
|
-
|
|
10
|
-
import argparse
|
|
11
|
-
import json
|
|
12
|
-
import logging
|
|
13
|
-
import os
|
|
14
|
-
import sys
|
|
15
|
-
|
|
16
|
-
# Add parent directory to path for imports
|
|
17
|
-
sys.path.insert(
|
|
18
|
-
0, os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
|
19
|
-
)
|
|
20
|
-
|
|
21
|
-
# pylint: disable=wrong-import-position
|
|
22
|
-
from gaia.agents.code.agent import CodeAgent # noqa: E402
|
|
23
|
-
|
|
24
|
-
logging.basicConfig(level=logging.INFO)
|
|
25
|
-
logger = logging.getLogger(__name__)
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
def main(args=None):
|
|
29
|
-
"""Main entry point for the Code Agent CLI."""
|
|
30
|
-
parser = argparse.ArgumentParser(
|
|
31
|
-
description="GAIA Code Agent - Intelligent code assistant",
|
|
32
|
-
formatter_class=argparse.RawDescriptionHelpFormatter,
|
|
33
|
-
epilog="""
|
|
34
|
-
Examples:
|
|
35
|
-
# Generate a Python function
|
|
36
|
-
gaia code "Generate a Python function to calculate factorial"
|
|
37
|
-
|
|
38
|
-
# Analyze a Python file
|
|
39
|
-
gaia code "Analyze the code in /path/to/file.py"
|
|
40
|
-
|
|
41
|
-
# Validate Python syntax
|
|
42
|
-
gaia code "Check if this is valid Python: def hello() print('hi')"
|
|
43
|
-
|
|
44
|
-
# Generate a test class
|
|
45
|
-
gaia code "Create a unittest test class for a Calculator module"
|
|
46
|
-
|
|
47
|
-
# Interactive mode
|
|
48
|
-
gaia code --interactive
|
|
49
|
-
""",
|
|
50
|
-
)
|
|
51
|
-
|
|
52
|
-
parser.add_argument(
|
|
53
|
-
"query",
|
|
54
|
-
nargs="?",
|
|
55
|
-
help="Code operation query (e.g., 'Generate a function to sort a list')",
|
|
56
|
-
)
|
|
57
|
-
parser.add_argument(
|
|
58
|
-
"--interactive",
|
|
59
|
-
"-i",
|
|
60
|
-
action="store_true",
|
|
61
|
-
help="Interactive mode for multiple queries",
|
|
62
|
-
)
|
|
63
|
-
parser.add_argument(
|
|
64
|
-
"--silent",
|
|
65
|
-
"-s",
|
|
66
|
-
action="store_true",
|
|
67
|
-
help="Silent mode - suppress console output, return JSON only",
|
|
68
|
-
)
|
|
69
|
-
parser.add_argument("--debug", action="store_true", help="Enable debug logging")
|
|
70
|
-
parser.add_argument(
|
|
71
|
-
"--show-prompts", action="store_true", help="Display prompts sent to LLM"
|
|
72
|
-
)
|
|
73
|
-
parser.add_argument(
|
|
74
|
-
"--debug-prompts",
|
|
75
|
-
action="store_true",
|
|
76
|
-
help="Include prompts in conversation history (for JSON output)",
|
|
77
|
-
)
|
|
78
|
-
parser.add_argument("--output", "-o", help="Output file for results (JSON format)")
|
|
79
|
-
parser.add_argument(
|
|
80
|
-
"--max-steps",
|
|
81
|
-
type=int,
|
|
82
|
-
default=100,
|
|
83
|
-
help="Maximum conversation steps (default: 100)",
|
|
84
|
-
)
|
|
85
|
-
parser.add_argument(
|
|
86
|
-
"--list-tools", action="store_true", help="List all available tools and exit"
|
|
87
|
-
)
|
|
88
|
-
parser.add_argument(
|
|
89
|
-
"--use-claude",
|
|
90
|
-
action="store_true",
|
|
91
|
-
help="Use Claude API instead of local Lemonade server",
|
|
92
|
-
)
|
|
93
|
-
parser.add_argument(
|
|
94
|
-
"--use-chatgpt",
|
|
95
|
-
action="store_true",
|
|
96
|
-
help="Use ChatGPT/OpenAI API instead of local Lemonade server",
|
|
97
|
-
)
|
|
98
|
-
parser.add_argument(
|
|
99
|
-
"--show-stats",
|
|
100
|
-
action="store_true",
|
|
101
|
-
help="Display LLM performance statistics (tokens, timing)",
|
|
102
|
-
)
|
|
103
|
-
|
|
104
|
-
args = parser.parse_args(args)
|
|
105
|
-
|
|
106
|
-
# Configure logging
|
|
107
|
-
if args.debug:
|
|
108
|
-
logging.getLogger().setLevel(logging.DEBUG)
|
|
109
|
-
|
|
110
|
-
try:
|
|
111
|
-
# Initialize the agent
|
|
112
|
-
agent = CodeAgent(
|
|
113
|
-
silent_mode=args.silent,
|
|
114
|
-
debug=args.debug,
|
|
115
|
-
show_prompts=args.show_prompts,
|
|
116
|
-
debug_prompts=args.debug_prompts,
|
|
117
|
-
max_steps=args.max_steps,
|
|
118
|
-
use_claude=args.use_claude,
|
|
119
|
-
use_chatgpt=args.use_chatgpt,
|
|
120
|
-
show_stats=args.show_stats,
|
|
121
|
-
)
|
|
122
|
-
|
|
123
|
-
# List tools if requested
|
|
124
|
-
if args.list_tools:
|
|
125
|
-
agent.list_tools(verbose=True)
|
|
126
|
-
return 0
|
|
127
|
-
|
|
128
|
-
# Interactive mode
|
|
129
|
-
if args.interactive:
|
|
130
|
-
print("🤖 Code Agent Interactive Mode")
|
|
131
|
-
print("Type 'exit' or 'quit' to end the session")
|
|
132
|
-
print("Type 'help' for available commands\n")
|
|
133
|
-
|
|
134
|
-
while True:
|
|
135
|
-
try:
|
|
136
|
-
query = input("\ncode> ").strip()
|
|
137
|
-
|
|
138
|
-
if query.lower() in ["exit", "quit"]:
|
|
139
|
-
print("Goodbye!")
|
|
140
|
-
break
|
|
141
|
-
|
|
142
|
-
if query.lower() == "help":
|
|
143
|
-
print("\nAvailable commands:")
|
|
144
|
-
print(" Generate functions, classes, or tests")
|
|
145
|
-
print(" Analyze Python files")
|
|
146
|
-
print(" Validate Python syntax")
|
|
147
|
-
print(" Search for code patterns")
|
|
148
|
-
print(" Type 'exit' or 'quit' to end")
|
|
149
|
-
continue
|
|
150
|
-
|
|
151
|
-
if not query:
|
|
152
|
-
continue
|
|
153
|
-
|
|
154
|
-
# Process the query
|
|
155
|
-
result = agent.process_query(
|
|
156
|
-
query,
|
|
157
|
-
max_steps=args.max_steps,
|
|
158
|
-
trace=args.trace,
|
|
159
|
-
step_through=args.step_through,
|
|
160
|
-
)
|
|
161
|
-
|
|
162
|
-
# Display result in interactive mode
|
|
163
|
-
if not args.silent:
|
|
164
|
-
if result.get("status") == "success":
|
|
165
|
-
print(f"\n✅ {result.get('result', 'Task completed')}")
|
|
166
|
-
else:
|
|
167
|
-
print(f"\n❌ {result.get('result', 'Task failed')}")
|
|
168
|
-
|
|
169
|
-
except KeyboardInterrupt:
|
|
170
|
-
print("\n\nInterrupted. Type 'exit' to quit.")
|
|
171
|
-
continue
|
|
172
|
-
except Exception as e:
|
|
173
|
-
logger.error(f"Error processing query: {e}")
|
|
174
|
-
if args.debug:
|
|
175
|
-
import traceback
|
|
176
|
-
|
|
177
|
-
traceback.print_exc()
|
|
178
|
-
|
|
179
|
-
# Single query mode
|
|
180
|
-
elif args.query:
|
|
181
|
-
result = agent.process_query(
|
|
182
|
-
args.query,
|
|
183
|
-
max_steps=args.max_steps,
|
|
184
|
-
trace=args.trace,
|
|
185
|
-
step_through=args.step_through,
|
|
186
|
-
)
|
|
187
|
-
|
|
188
|
-
# Output result
|
|
189
|
-
if args.silent:
|
|
190
|
-
# In silent mode, output only JSON
|
|
191
|
-
print(json.dumps(result, indent=2))
|
|
192
|
-
else:
|
|
193
|
-
# Display formatted result
|
|
194
|
-
agent.display_result("Code Operation Result", result)
|
|
195
|
-
|
|
196
|
-
return 0 if result.get("status") == "success" else 1
|
|
197
|
-
|
|
198
|
-
else:
|
|
199
|
-
# Default to interactive mode when no query is provided
|
|
200
|
-
print("🤖 Code Agent Interactive Mode")
|
|
201
|
-
print("Type 'exit' or 'quit' to end the session")
|
|
202
|
-
print("Type 'help' for available commands\n")
|
|
203
|
-
|
|
204
|
-
while True:
|
|
205
|
-
try:
|
|
206
|
-
query = input("\ncode> ").strip()
|
|
207
|
-
|
|
208
|
-
if query.lower() in ["exit", "quit"]:
|
|
209
|
-
print("Goodbye!")
|
|
210
|
-
break
|
|
211
|
-
|
|
212
|
-
if query.lower() == "help":
|
|
213
|
-
print("\nAvailable commands:")
|
|
214
|
-
print(" Generate functions, classes, or tests")
|
|
215
|
-
print(" Analyze Python files")
|
|
216
|
-
print(" Validate Python syntax")
|
|
217
|
-
print(" Search for code patterns")
|
|
218
|
-
print(" Type 'exit' or 'quit' to end")
|
|
219
|
-
continue
|
|
220
|
-
|
|
221
|
-
if not query:
|
|
222
|
-
continue
|
|
223
|
-
|
|
224
|
-
# Process the query
|
|
225
|
-
result = agent.process_query(
|
|
226
|
-
query,
|
|
227
|
-
max_steps=args.max_steps,
|
|
228
|
-
trace=args.trace,
|
|
229
|
-
step_through=args.step_through,
|
|
230
|
-
)
|
|
231
|
-
|
|
232
|
-
# Display result in interactive mode
|
|
233
|
-
if not args.silent:
|
|
234
|
-
if result.get("status") == "success":
|
|
235
|
-
print(f"\n✅ {result.get('result', 'Task completed')}")
|
|
236
|
-
else:
|
|
237
|
-
print(f"\n❌ {result.get('result', 'Task failed')}")
|
|
238
|
-
|
|
239
|
-
except KeyboardInterrupt:
|
|
240
|
-
print("\n\nInterrupted. Type 'exit' to quit.")
|
|
241
|
-
continue
|
|
242
|
-
except Exception as e:
|
|
243
|
-
logger.error(f"Error processing query: {e}")
|
|
244
|
-
if args.debug:
|
|
245
|
-
import traceback
|
|
246
|
-
|
|
247
|
-
traceback.print_exc()
|
|
248
|
-
|
|
249
|
-
return 0
|
|
250
|
-
|
|
251
|
-
except KeyboardInterrupt:
|
|
252
|
-
print("\n\nOperation cancelled.")
|
|
253
|
-
return 1
|
|
254
|
-
except Exception as e:
|
|
255
|
-
logger.error(f"Fatal error: {e}")
|
|
256
|
-
if args.debug:
|
|
257
|
-
import traceback
|
|
258
|
-
|
|
259
|
-
traceback.print_exc()
|
|
260
|
-
return 1
|
|
261
|
-
|
|
262
|
-
return 0
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
if __name__ == "__main__":
|
|
266
|
-
sys.exit(main())
|