auto-coder 0.1.322__py3-none-any.whl → 0.1.324__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.

Potentially problematic release.


This version of auto-coder might be problematic. Click here for more details.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: auto-coder
3
- Version: 0.1.322
3
+ Version: 0.1.324
4
4
  Summary: AutoCoder: AutoCoder
5
5
  Author: allwefantasy
6
6
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
@@ -4,7 +4,7 @@ autocoder/auto_coder_lang.py,sha256=Rtupq6N3_HT7JRhDKdgCBcwRaiAnyCOR_Gsp4jUomrI,
4
4
  autocoder/auto_coder_rag.py,sha256=vOqwBHdK_KwMNUUc8ji_tlZ5DoALAG1rDjWAic3rM-4,34561
5
5
  autocoder/auto_coder_rag_client_mcp.py,sha256=QRxUbjc6A8UmDMQ8lXgZkjgqtq3lgKYeatJbDY6rSo0,6270
6
6
  autocoder/auto_coder_rag_mcp.py,sha256=-RrjNwFaS2e5v8XDIrKR-zlUNUE8UBaeOtojffBrvJo,8521
7
- autocoder/auto_coder_runner.py,sha256=WqDriAMoZHyVivjFKwVYqcWoGbR7iIR3rovn_bJrhnA,107354
7
+ autocoder/auto_coder_runner.py,sha256=uU2FQPnG6Ze6ZLzjgbN6zFhg78cc6B7q6nbriynKe0U,107604
8
8
  autocoder/auto_coder_server.py,sha256=E3Z829TPSooRSNhuh3_x9yaZi0f5G0Lm0ntoZhjGaoQ,20576
9
9
  autocoder/benchmark.py,sha256=Ypomkdzd1T3GE6dRICY3Hj547dZ6_inqJbBJIp5QMco,4423
10
10
  autocoder/chat_auto_coder.py,sha256=SzH6fdoH8kJgARYXBu0CTB8J9PY8Q2T9CrIB844PXtM,25841
@@ -14,7 +14,7 @@ autocoder/command_parser.py,sha256=fx1g9E6GaM273lGTcJqaFQ-hoksS_Ik2glBMnVltPCE,1
14
14
  autocoder/lang.py,sha256=U6AjVV8Rs1uLyjFCZ8sT6WWuNUxMBqkXXIOs4S120uk,14511
15
15
  autocoder/models.py,sha256=AyoZ-Pzy0oyYUmWCxOIRiOImsqboSfRET7LO9-UOuxI,11172
16
16
  autocoder/run_context.py,sha256=IUfSO6_gp2Wt1blFWAmOpN0b0nDrTTk4LmtCYUBIoro,1643
17
- autocoder/version.py,sha256=u1GVlR8vzmoaHdH5QzbLTQJB61NfOSgbSjp4H9gZ8t0,23
17
+ autocoder/version.py,sha256=izddPEZsxPVCGodhDA8N-1QI6vTdRQsEW8KC3GOSYbs,23
18
18
  autocoder/agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
19
  autocoder/agent/auto_demand_organizer.py,sha256=URAq0gSEiHeV_W4zwhOI_83kHz0Ryfj1gcfh5jwCv_w,6501
20
20
  autocoder/agent/auto_filegroup.py,sha256=pBsAkBcpFTff-9L5OwI8xhf2xPKpl-aZwz-skF2B6dc,6296
@@ -83,7 +83,7 @@ autocoder/common/search.py,sha256=245iPFgWhMldoUK3CqCP89ltaxZiNPK73evoG6Fp1h8,16
83
83
  autocoder/common/search_replace.py,sha256=GphFkc57Hb673CAwmbiocqTbw8vrV7TrZxtOhD0332g,22147
84
84
  autocoder/common/shells.py,sha256=elminFpNosnV0hsEUcsugDxlGO8NfH96uah-8bkaBvA,19929
85
85
  autocoder/common/stats_panel.py,sha256=wGl9O45pjVVDxhNumLv4_NfLYSlUP_18Tw4hcJSjw50,4596
86
- autocoder/common/stream_out_type.py,sha256=uNHRg-1my6CxcPzQM6pACrYpTZbxOenVT8aLxnruv2w,333
86
+ autocoder/common/stream_out_type.py,sha256=XWONDrdNsWQTSzloVJSwbKD_Tacxe9mX_ozXdl-5VIc,379
87
87
  autocoder/common/sys_prompt.py,sha256=JlexfjZt554faqbgkCmzOJqYUzDHfbnxly5ugFfHfEE,26403
88
88
  autocoder/common/text.py,sha256=KGRQq314GHBmY4MWG8ossRoQi1_DTotvhxchpn78c-k,1003
89
89
  autocoder/common/token_cost_caculate.py,sha256=MSWJtl7YpQSUt-gFQoqUcJMblyPqHXe2ZioiZOFkV80,10085
@@ -102,7 +102,7 @@ autocoder/common/v2/code_auto_merge_diff.py,sha256=xh93G9Gn8zSRhGq6L90tlodFM2u-g
102
102
  autocoder/common/v2/code_auto_merge_editblock.py,sha256=FpXdHAuHhtOLXybrUd2e1rDrxqoge-CpUyWpX0yNEv8,22018
103
103
  autocoder/common/v2/code_auto_merge_strict_diff.py,sha256=jIIedNZGW52dhSmNxb3vB7UdJZp8tg59Z2gg3sCpqoM,10117
104
104
  autocoder/common/v2/code_diff_manager.py,sha256=ciXviNjldX9ce9lgIvmWoG_8JT2GnwRW8U7QCWVdAH0,10512
105
- autocoder/common/v2/code_editblock_manager.py,sha256=LfkL5DehL-4MPfTuW8A8nov0M7U6YannUwls3c710Zg,11372
105
+ autocoder/common/v2/code_editblock_manager.py,sha256=AUT_zbawG9nSOrMr68bSfUB5fckSFWMv4yWcBUInyXM,12221
106
106
  autocoder/common/v2/code_manager.py,sha256=C403bS-f6urixwitlKHcml-J03hci-UyNwHJOqBiY6Q,9182
107
107
  autocoder/common/v2/code_strict_diff_manager.py,sha256=v-J1kDyLg7tLGg_6_lbO9S4fNkx7M_L8Xr2G7fPptiU,9347
108
108
  autocoder/data/byzerllm.md,sha256=SGCMpEaUQ0ysPxQsgzyyp5sgvEr8dZsxEGAfVcPBIq0,47741
@@ -226,9 +226,9 @@ autocoder/utils/types.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
226
226
  autocoder/utils/auto_coder_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
227
227
  autocoder/utils/auto_coder_utils/chat_stream_out.py,sha256=xuBeWD0YOckqRo8JB1WkVIMOYH6c24m7JfV4svBfPDo,15113
228
228
  autocoder/utils/chat_auto_coder_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
229
- auto_coder-0.1.322.dist-info/LICENSE,sha256=HrhfyXIkWY2tGFK11kg7vPCqhgh5DcxleloqdhrpyMY,11558
230
- auto_coder-0.1.322.dist-info/METADATA,sha256=9tZRQOBvXcpSJj2ILoPzpRuU07m--xQbX2Y9GYqyoN0,2747
231
- auto_coder-0.1.322.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
232
- auto_coder-0.1.322.dist-info/entry_points.txt,sha256=0nzHtHH4pNcM7xq4EBA2toS28Qelrvcbrr59GqD_0Ak,350
233
- auto_coder-0.1.322.dist-info/top_level.txt,sha256=Jqc0_uJSw2GwoFQAa9iJxYns-2mWla-9ok_Y3Gcznjk,10
234
- auto_coder-0.1.322.dist-info/RECORD,,
229
+ auto_coder-0.1.324.dist-info/LICENSE,sha256=HrhfyXIkWY2tGFK11kg7vPCqhgh5DcxleloqdhrpyMY,11558
230
+ auto_coder-0.1.324.dist-info/METADATA,sha256=hXCMoch8Ys41G0P1nDGgYIhY70pIE4ev0x0VnBUK-y8,2747
231
+ auto_coder-0.1.324.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
232
+ auto_coder-0.1.324.dist-info/entry_points.txt,sha256=0nzHtHH4pNcM7xq4EBA2toS28Qelrvcbrr59GqD_0Ak,350
233
+ auto_coder-0.1.324.dist-info/top_level.txt,sha256=Jqc0_uJSw2GwoFQAa9iJxYns-2mWla-9ok_Y3Gcznjk,10
234
+ auto_coder-0.1.324.dist-info/RECORD,,
@@ -1648,14 +1648,14 @@ def chat(query: str):
1648
1648
  commands_infos = CommandParser.parse_query(query)
1649
1649
  if len(commands_infos) > 0:
1650
1650
  if "query" in commands_infos:
1651
- query = commands_infos["query"]["args"][-1]
1651
+ query = " ".join(commands_infos["query"]["args"])
1652
1652
  else:
1653
- # 获取第一个command 的最后一个位置参数作为默认query
1653
+ # 获取第一个有位置参数的command 的最后一个位置参数作为默认query
1654
1654
  temp_query = ""
1655
1655
  for (command,command_info) in commands_infos.items():
1656
1656
  if command_info["args"]:
1657
- temp_query = command_info["args"][-1]
1658
- break
1657
+ temp_query = " ".join(command_info["args"])
1658
+ # 删除break,使循环继续,这样最后一个有args的command会覆盖之前的
1659
1659
  query = temp_query
1660
1660
 
1661
1661
  is_new = "new" in commands_infos
@@ -2532,28 +2532,26 @@ def index_import(path: str):
2532
2532
 
2533
2533
  @run_in_raw_thread()
2534
2534
  def index_query(query: str):
2535
- conf = memory.get("conf", {})
2536
- yaml_config = {
2537
- "include_file": ["./base/base.yml"],
2538
- }
2539
-
2540
- for key, value in conf.items():
2541
- converted_value = convert_config_value(key, value)
2542
- if converted_value is not None:
2543
- yaml_config[key] = converted_value
2544
-
2545
- yaml_config["query"] = query
2546
-
2547
- yaml_content = convert_yaml_config_to_str(yaml_config=yaml_config)
2548
- yaml_file = os.path.join("actions", f"{uuid.uuid4()}.yml")
2549
-
2550
- with open(yaml_file, "w",encoding="utf-8") as f:
2551
- f.write(yaml_content)
2552
- try:
2553
- auto_coder_main(["index-query", "--file", yaml_file])
2554
- finally:
2555
- os.remove(yaml_file)
2556
-
2535
+ from autocoder.index.entry import build_index_and_filter_files
2536
+ from autocoder.pyproject import PyProject
2537
+ from autocoder.tsproject import TSProject
2538
+ from autocoder.suffixproject import SuffixProject
2539
+
2540
+ config = get_final_config()
2541
+ config.query = query
2542
+ config.skip_filter_index = False
2543
+ llm = get_single_llm(config.chat_model or config.model, product_mode=config.product_mode)
2544
+
2545
+ if config.project_type == "ts":
2546
+ pp = TSProject(args=config, llm=llm)
2547
+ elif config.project_type == "py":
2548
+ pp = PyProject(args=config, llm=llm)
2549
+ else:
2550
+ pp = SuffixProject(args=config, llm=llm, file_filter=None)
2551
+ pp.run()
2552
+ sources = pp.sources
2553
+ source_code_list = build_index_and_filter_files(llm=llm, args=config, sources=sources)
2554
+ return source_code_list
2557
2555
 
2558
2556
  def list_files():
2559
2557
  console = Console()
@@ -11,4 +11,7 @@ class CodeGenerateStreamOutType(Enum):
11
11
  CODE_GENERATE = "code_generate"
12
12
 
13
13
  class CodeRankStreamOutType(Enum):
14
- CODE_RANK = "code_rank"
14
+ CODE_RANK = "code_rank"
15
+
16
+ class LintStreamOutType(Enum):
17
+ LINT = "lint"
@@ -13,7 +13,7 @@ from autocoder.common import sys_prompt
13
13
  from autocoder.privacy.model_filter import ModelPathFilter
14
14
  from autocoder.common.utils_code_auto_generate import chat_with_continue, stream_chat_with_continue, ChatWithContinueResult
15
15
  from autocoder.utils.auto_coder_utils.chat_stream_out import stream_out
16
- from autocoder.common.stream_out_type import CodeGenerateStreamOutType
16
+ from autocoder.common.stream_out_type import LintStreamOutType
17
17
  from autocoder.common.auto_coder_lang import get_message_with_format
18
18
  from autocoder.common.printer import Printer
19
19
  from autocoder.rag.token_counter import count_tokens
@@ -28,6 +28,9 @@ from loguru import logger
28
28
  from autocoder.common.global_cancel import global_cancel
29
29
  from autocoder.linters.models import ProjectLintResult
30
30
  from autocoder.common.token_cost_caculate import TokenCostCalculator
31
+ from autocoder.events.event_manager_singleton import get_event_manager
32
+ from autocoder.events.event_types import Event, EventType, EventMetadata
33
+ from autocoder.events import event_content as EventContentCreator
31
34
 
32
35
 
33
36
  class CodeEditBlockManager:
@@ -226,6 +229,20 @@ class CodeEditBlockManager:
226
229
  error_count=error_count,
227
230
  formatted_issues=formatted_issues
228
231
  )
232
+
233
+ get_event_manager(self.args.event_file).add_event(Event(
234
+ event_type=EventType.RESULT,
235
+ content=EventContentCreator.create_result(
236
+ content=EventContentCreator.ResultContent(
237
+ content=f"Lint attempt {attempt + 1}/{self.max_correction_attempts}: Found {error_count} issues:\n {formatted_issues}",
238
+ metadata={}
239
+ )
240
+ ).to_dict(),
241
+ metadata={
242
+ "stream_out_type": LintStreamOutType.LINT.value,
243
+ "action_file": self.args.file
244
+ }
245
+ ))
229
246
 
230
247
  if attempt == self.max_correction_attempts - 1:
231
248
  self.printer.print_in_terminal("max_attempts_reached", style="yellow")
autocoder/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.1.322"
1
+ __version__ = "0.1.324"