autocoder-nano 0.1.36__py3-none-any.whl → 0.1.37__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.
- autocoder_nano/auto_coder_nano.py +23 -173
- autocoder_nano/index/__init__.py +90 -1
- autocoder_nano/project/__init__.py +15 -1
- autocoder_nano/version.py +1 -1
- {autocoder_nano-0.1.36.dist-info → autocoder_nano-0.1.37.dist-info}/METADATA +1 -1
- {autocoder_nano-0.1.36.dist-info → autocoder_nano-0.1.37.dist-info}/RECORD +10 -10
- {autocoder_nano-0.1.36.dist-info → autocoder_nano-0.1.37.dist-info}/LICENSE +0 -0
- {autocoder_nano-0.1.36.dist-info → autocoder_nano-0.1.37.dist-info}/WHEEL +0 -0
- {autocoder_nano-0.1.36.dist-info → autocoder_nano-0.1.37.dist-info}/entry_points.txt +0 -0
- {autocoder_nano-0.1.36.dist-info → autocoder_nano-0.1.37.dist-info}/top_level.txt +0 -0
@@ -13,9 +13,12 @@ from autocoder_nano.agent.agentic_edit_types import AgenticEditRequest
|
|
13
13
|
from autocoder_nano.chat import stream_chat_display
|
14
14
|
from autocoder_nano.edit import Dispacher
|
15
15
|
from autocoder_nano.helper import show_help
|
16
|
-
from autocoder_nano.
|
17
|
-
from autocoder_nano.index
|
18
|
-
|
16
|
+
from autocoder_nano.project import project_source
|
17
|
+
from autocoder_nano.index import (index_export, index_import, index_build,
|
18
|
+
index_build_and_filter, extract_symbols)
|
19
|
+
# from autocoder_nano.index.entry import build_index_and_filter_files
|
20
|
+
# from autocoder_nano.index.index_manager import IndexManager
|
21
|
+
# from autocoder_nano.index.symbols_utils import extract_symbols
|
19
22
|
from autocoder_nano.llm_client import AutoLLM
|
20
23
|
from autocoder_nano.rules.rules_learn import AutoRulesLearn
|
21
24
|
from autocoder_nano.utils.completer_utils import CommandCompleter
|
@@ -26,7 +29,7 @@ from autocoder_nano.templates import create_actions
|
|
26
29
|
from autocoder_nano.git_utils import (repo_init, commit_changes, revert_changes,
|
27
30
|
get_uncommitted_changes, generate_commit_message)
|
28
31
|
from autocoder_nano.sys_utils import default_exclude_dirs, detect_env
|
29
|
-
from autocoder_nano.project import PyProject, SuffixProject
|
32
|
+
# from autocoder_nano.project import PyProject, SuffixProject, project_source
|
30
33
|
from autocoder_nano.utils.printer_utils import Printer
|
31
34
|
|
32
35
|
import yaml
|
@@ -317,119 +320,13 @@ def exclude_files(query: str):
|
|
317
320
|
|
318
321
|
def index_command(llm):
|
319
322
|
args = get_final_config(query="", delete_execute_file=True)
|
320
|
-
|
321
|
-
|
322
|
-
printer.print_text(f"开始对目录 {source_dir} 中的源代码进行索引", style="green")
|
323
|
-
if args.project_type == "py":
|
324
|
-
pp = PyProject(llm=llm, args=args)
|
325
|
-
else:
|
326
|
-
pp = SuffixProject(llm=llm, args=args)
|
327
|
-
pp.run()
|
328
|
-
_sources = pp.sources
|
329
|
-
index_manager = IndexManager(args=args, source_codes=_sources, llm=llm)
|
330
|
-
index_manager.build_index()
|
331
|
-
|
332
|
-
|
333
|
-
def index_export(export_path: str) -> bool:
|
334
|
-
try:
|
335
|
-
index_path = os.path.join(project_root, ".auto-coder", "index.json")
|
336
|
-
if not os.path.exists(index_path):
|
337
|
-
printer.print_text(Text(f"索引文件不存在. ", style="bold red"))
|
338
|
-
return False
|
339
|
-
|
340
|
-
with open(index_path, "r", encoding="utf-8") as f:
|
341
|
-
index_data = json.load(f)
|
342
|
-
|
343
|
-
converted_data = {}
|
344
|
-
for abs_path, data in index_data.items():
|
345
|
-
try:
|
346
|
-
rel_path = os.path.relpath(abs_path, project_root)
|
347
|
-
data["module_name"] = rel_path
|
348
|
-
converted_data[rel_path] = data
|
349
|
-
except ValueError:
|
350
|
-
printer.print_text(Text(f"索引转换路径失败. ", style="dim yellow"))
|
351
|
-
converted_data[abs_path] = data
|
352
|
-
|
353
|
-
export_file = os.path.join(export_path, "index.json")
|
354
|
-
with open(export_file, "w", encoding="utf-8") as f:
|
355
|
-
json.dump(converted_data, f, indent=2)
|
356
|
-
printer.print_text(Text(f"索引文件导出成功. ", style="bold green"))
|
357
|
-
return True
|
358
|
-
except Exception as err:
|
359
|
-
printer.print_text(Text(f"索引文件导出失败: {err}", style="bold red"))
|
360
|
-
return False
|
361
|
-
|
362
|
-
|
363
|
-
def index_import(import_path: str):
|
364
|
-
try:
|
365
|
-
import_file = os.path.join(import_path, "index.json")
|
366
|
-
if not os.path.exists(import_file):
|
367
|
-
printer.print_text(Text(f"导入索引文件不存在", style="bold red"))
|
368
|
-
return False
|
369
|
-
with open(import_file, "r", encoding="utf-8") as f:
|
370
|
-
index_data = json.load(f)
|
371
|
-
converted_data = {}
|
372
|
-
for rel_path, data in index_data.items():
|
373
|
-
try:
|
374
|
-
abs_path = os.path.join(project_root, rel_path)
|
375
|
-
data["module_name"] = abs_path
|
376
|
-
converted_data[abs_path] = data
|
377
|
-
except Exception as err:
|
378
|
-
printer.print_text(Text(f"{rel_path} 索引转换路径失败: {err}", style="dim yellow"))
|
379
|
-
converted_data[rel_path] = data
|
380
|
-
# Backup existing index
|
381
|
-
index_path = os.path.join(project_root, ".auto-coder", "index.json")
|
382
|
-
if os.path.exists(index_path):
|
383
|
-
printer.print_text(Text(f"原索引文件不存在", style="bold yellow"))
|
384
|
-
backup_path = index_path + ".bak"
|
385
|
-
shutil.copy2(index_path, backup_path)
|
386
|
-
|
387
|
-
# Write new index
|
388
|
-
with open(index_path, "w", encoding="utf-8") as f:
|
389
|
-
json.dump(converted_data, f, indent=2)
|
390
|
-
return True
|
391
|
-
except Exception as err:
|
392
|
-
printer.print_text(Text(f"索引文件导入失败: {err}", style="bold red"))
|
393
|
-
return False
|
323
|
+
index_build(llm=llm, args=args, sources_codes=project_source(source_llm=llm, args=args))
|
324
|
+
return
|
394
325
|
|
395
326
|
|
396
327
|
def index_query_command(query: str, llm: AutoLLM):
|
397
328
|
args = get_final_config(query=query, delete_execute_file=True)
|
398
|
-
|
399
|
-
# args.query = query
|
400
|
-
if args.project_type == "py":
|
401
|
-
pp = PyProject(llm=llm, args=args)
|
402
|
-
else:
|
403
|
-
pp = SuffixProject(llm=llm, args=args)
|
404
|
-
pp.run()
|
405
|
-
_sources = pp.sources
|
406
|
-
|
407
|
-
final_files = []
|
408
|
-
index_manager = IndexManager(args=args, source_codes=_sources, llm=llm)
|
409
|
-
target_files = index_manager.get_target_files_by_query(query)
|
410
|
-
|
411
|
-
if target_files:
|
412
|
-
final_files.extend(target_files.file_list)
|
413
|
-
|
414
|
-
if target_files and args.index_filter_level >= 2:
|
415
|
-
|
416
|
-
related_fiels = index_manager.get_related_files([file.file_path for file in target_files.file_list])
|
417
|
-
|
418
|
-
if related_fiels is not None:
|
419
|
-
final_files.extend(related_fiels.file_list)
|
420
|
-
|
421
|
-
all_results = list({file.file_path: file for file in final_files}.values())
|
422
|
-
printer.print_key_value(
|
423
|
-
{"索引过滤级别": f"{args.index_filter_level}", "查询条件": f"{args.query}", "过滤后的文件数": f"{len(all_results)}"},
|
424
|
-
panel=True
|
425
|
-
)
|
426
|
-
|
427
|
-
printer.print_table_compact(
|
428
|
-
headers=["文件路径", "原因"],
|
429
|
-
data=[[_target_file.file_path, _target_file.reason] for _target_file in all_results],
|
430
|
-
title="Index Query 结果",
|
431
|
-
show_lines=True,
|
432
|
-
)
|
329
|
+
index_build_and_filter(llm=llm, args=args, sources_codes=project_source(source_llm=llm, args=args))
|
433
330
|
return
|
434
331
|
|
435
332
|
|
@@ -539,10 +436,8 @@ def chat(query: str, llm: AutoLLM):
|
|
539
436
|
old_chat_history = json.load(f)
|
540
437
|
if "conversation_history" not in old_chat_history:
|
541
438
|
old_chat_history["conversation_history"] = []
|
542
|
-
old_chat_history["conversation_history"].append(
|
543
|
-
|
544
|
-
chat_history = {"ask_conversation": [
|
545
|
-
], "conversation_history": old_chat_history["conversation_history"]}
|
439
|
+
old_chat_history["conversation_history"].append(old_chat_history.get("ask_conversation", []))
|
440
|
+
chat_history = {"ask_conversation": [], "conversation_history": old_chat_history["conversation_history"]}
|
546
441
|
else:
|
547
442
|
chat_history = {"ask_conversation": [],
|
548
443
|
"conversation_history": []}
|
@@ -569,8 +464,6 @@ def chat(query: str, llm: AutoLLM):
|
|
569
464
|
|
570
465
|
if is_history:
|
571
466
|
show_chat = []
|
572
|
-
# if "conversation_history" in chat_history:
|
573
|
-
# show_chat.extend(chat_history["conversation_history"])
|
574
467
|
if "ask_conversation" in chat_history:
|
575
468
|
show_chat.extend(chat_history["ask_conversation"])
|
576
469
|
print_chat_history(show_chat)
|
@@ -583,13 +476,15 @@ def chat(query: str, llm: AutoLLM):
|
|
583
476
|
chat_llm = llm
|
584
477
|
pre_conversations = []
|
585
478
|
|
586
|
-
if args.project_type == "py":
|
587
|
-
|
588
|
-
else:
|
589
|
-
|
590
|
-
pp.run()
|
591
|
-
_sources = pp.sources
|
592
|
-
|
479
|
+
# if args.project_type == "py":
|
480
|
+
# pp = PyProject(llm=llm, args=args)
|
481
|
+
# else:
|
482
|
+
# pp = SuffixProject(llm=llm, args=args)
|
483
|
+
# pp.run()
|
484
|
+
# _sources = pp.sources
|
485
|
+
# _sources = project_source(source_llm=llm, args=args)
|
486
|
+
# s = build_index_and_filter_files(args=args, llm=llm, sources=_sources)
|
487
|
+
s = index_build_and_filter(llm=llm, args=args, sources_codes=project_source(source_llm=llm, args=args))
|
593
488
|
if s:
|
594
489
|
pre_conversations.append(
|
595
490
|
{
|
@@ -606,51 +501,6 @@ def chat(query: str, llm: AutoLLM):
|
|
606
501
|
|
607
502
|
assistant_response = stream_chat_display(chat_llm=llm, args=args, conversations=loaded_conversations)
|
608
503
|
|
609
|
-
# v = chat_llm.stream_chat_ai(conversations=loaded_conversations, model=args.chat_model)
|
610
|
-
#
|
611
|
-
# MAX_HISTORY_LINES = 15 # 最大保留历史行数
|
612
|
-
# lines_buffer = []
|
613
|
-
# current_line = ""
|
614
|
-
# assistant_response = ""
|
615
|
-
#
|
616
|
-
# try:
|
617
|
-
# with Live(Panel("", title="Response", style="cyan"), refresh_per_second=12) as live:
|
618
|
-
# for chunk in v:
|
619
|
-
# if chunk.choices and chunk.choices[0].delta.content:
|
620
|
-
# content = chunk.choices[0].delta.content
|
621
|
-
# assistant_response += content
|
622
|
-
#
|
623
|
-
# # 处理换行符分割
|
624
|
-
# parts = (current_line + content).split('\n')
|
625
|
-
#
|
626
|
-
# # 最后一部分是未完成的新行
|
627
|
-
# if len(parts) > 1:
|
628
|
-
# # 将完整行加入缓冲区
|
629
|
-
# lines_buffer.extend(parts[:-1])
|
630
|
-
# # 保留最近N行历史
|
631
|
-
# if len(lines_buffer) > MAX_HISTORY_LINES:
|
632
|
-
# del lines_buffer[0: len(lines_buffer) - MAX_HISTORY_LINES]
|
633
|
-
# # 更新当前行(最后未完成的部分)
|
634
|
-
# current_line = parts[-1]
|
635
|
-
# # 构建显示内容 = 历史行 + 当前行
|
636
|
-
# display_content = '\n'.join(lines_buffer[-MAX_HISTORY_LINES:] + [current_line])
|
637
|
-
#
|
638
|
-
# live.update(
|
639
|
-
# Panel(Markdown(display_content), title="模型返回", border_style="cyan",
|
640
|
-
# height=min(25, live.console.height - 4))
|
641
|
-
# )
|
642
|
-
#
|
643
|
-
# # 处理最后未换行的内容
|
644
|
-
# if current_line:
|
645
|
-
# lines_buffer.append(current_line)
|
646
|
-
#
|
647
|
-
# # 最终完整渲染
|
648
|
-
# live.update(
|
649
|
-
# Panel(Markdown(assistant_response), title="模型返回", border_style="dim blue")
|
650
|
-
# )
|
651
|
-
# except Exception as e:
|
652
|
-
# printer.print_panel(Text(f"{str(e)}", style="red"), title="模型返回", center=True)
|
653
|
-
|
654
504
|
chat_history["ask_conversation"].append({"role": "assistant", "content": assistant_response})
|
655
505
|
|
656
506
|
with open(memory_file, "w") as fp:
|
@@ -1881,10 +1731,10 @@ def main():
|
|
1881
1731
|
index_query_command(query=query, llm=auto_llm)
|
1882
1732
|
elif user_input.startswith("/index/export"):
|
1883
1733
|
export_path = user_input[len("/index/export"):].strip()
|
1884
|
-
index_export(export_path)
|
1734
|
+
index_export(project_root, export_path)
|
1885
1735
|
elif user_input.startswith("/index/import"):
|
1886
1736
|
import_path = user_input[len("/index/import"):].strip()
|
1887
|
-
index_import(import_path)
|
1737
|
+
index_import(project_root, import_path)
|
1888
1738
|
elif user_input.startswith("/list_files"):
|
1889
1739
|
list_files()
|
1890
1740
|
elif user_input.startswith("/conf"):
|
autocoder_nano/index/__init__.py
CHANGED
@@ -1,4 +1,93 @@
|
|
1
|
+
import json
|
2
|
+
import os
|
3
|
+
import shutil
|
4
|
+
|
1
5
|
from autocoder_nano.index.entry import build_index_and_filter_files
|
6
|
+
from autocoder_nano.index.index_manager import IndexManager
|
7
|
+
from autocoder_nano.index.symbols_utils import extract_symbols
|
8
|
+
from autocoder_nano.llm_client import AutoLLM
|
9
|
+
from autocoder_nano.llm_types import AutoCoderArgs, SourceCode
|
10
|
+
from autocoder_nano.project import project_source
|
11
|
+
from autocoder_nano.utils.printer_utils import Printer
|
12
|
+
|
13
|
+
|
14
|
+
printer = Printer()
|
15
|
+
|
16
|
+
|
17
|
+
def index_build(llm: AutoLLM, args: AutoCoderArgs, sources_codes: list[SourceCode] = None):
|
18
|
+
if not sources_codes:
|
19
|
+
sources_codes = project_source(source_llm=llm, args=args)
|
20
|
+
index = IndexManager(args=args, source_codes=sources_codes, llm=llm)
|
21
|
+
index.build_index()
|
22
|
+
|
23
|
+
|
24
|
+
def index_build_and_filter(llm: AutoLLM, args: AutoCoderArgs, sources_codes: list[SourceCode] = None) -> str:
|
25
|
+
if not sources_codes:
|
26
|
+
sources_codes = project_source(source_llm=llm, args=args)
|
27
|
+
return build_index_and_filter_files(args=args, llm=llm, sources=sources_codes)
|
28
|
+
|
29
|
+
|
30
|
+
def index_export(project_root: str, export_path: str) -> bool:
|
31
|
+
try:
|
32
|
+
index_path = os.path.join(project_root, ".auto-coder", "index.json")
|
33
|
+
if not os.path.exists(index_path):
|
34
|
+
printer.print_text(f"索引文件不存在. ", style="red")
|
35
|
+
return False
|
36
|
+
|
37
|
+
with open(index_path, "r", encoding="utf-8") as f:
|
38
|
+
index_data = json.load(f)
|
39
|
+
|
40
|
+
converted_data = {}
|
41
|
+
for abs_path, data in index_data.items():
|
42
|
+
try:
|
43
|
+
rel_path = os.path.relpath(abs_path, project_root)
|
44
|
+
data["module_name"] = rel_path
|
45
|
+
converted_data[rel_path] = data
|
46
|
+
except ValueError:
|
47
|
+
printer.print_text(f"索引转换路径失败. ", style="yellow")
|
48
|
+
converted_data[abs_path] = data
|
49
|
+
|
50
|
+
export_file = os.path.join(export_path, "index.json")
|
51
|
+
with open(export_file, "w", encoding="utf-8") as f:
|
52
|
+
json.dump(converted_data, f, indent=2)
|
53
|
+
printer.print_text(f"索引文件导出成功.", style="green")
|
54
|
+
return True
|
55
|
+
except Exception as err:
|
56
|
+
printer.print_text(f"索引文件导出失败: {err}", style="red")
|
57
|
+
return False
|
58
|
+
|
59
|
+
|
60
|
+
def index_import(project_root: str, import_path: str):
|
61
|
+
try:
|
62
|
+
import_file = os.path.join(import_path, "index.json")
|
63
|
+
if not os.path.exists(import_file):
|
64
|
+
printer.print_text(f"导入索引文件不存在. ", style="red")
|
65
|
+
return False
|
66
|
+
with open(import_file, "r", encoding="utf-8") as f:
|
67
|
+
index_data = json.load(f)
|
68
|
+
converted_data = {}
|
69
|
+
for rel_path, data in index_data.items():
|
70
|
+
try:
|
71
|
+
abs_path = os.path.join(project_root, rel_path)
|
72
|
+
data["module_name"] = abs_path
|
73
|
+
converted_data[abs_path] = data
|
74
|
+
except Exception as err:
|
75
|
+
printer.print_text(f"{rel_path} 索引转换路径失败: {err}", style="yellow")
|
76
|
+
converted_data[rel_path] = data
|
77
|
+
# Backup existing index
|
78
|
+
index_path = os.path.join(project_root, ".auto-coder", "index.json")
|
79
|
+
if os.path.exists(index_path):
|
80
|
+
printer.print_text(f"原索引文件不存在", style="yellow")
|
81
|
+
backup_path = index_path + ".bak"
|
82
|
+
shutil.copy2(index_path, backup_path)
|
83
|
+
|
84
|
+
# Write new index
|
85
|
+
with open(index_path, "w", encoding="utf-8") as f:
|
86
|
+
json.dump(converted_data, f, indent=2)
|
87
|
+
return True
|
88
|
+
except Exception as err:
|
89
|
+
printer.print_text(f"索引文件导入失败: {err}", style="red")
|
90
|
+
return False
|
2
91
|
|
3
92
|
|
4
|
-
__all__ = ["
|
93
|
+
__all__ = ["index_build", "index_export", "index_import", "index_build_and_filter", "extract_symbols", "IndexManager"]
|
@@ -1,5 +1,19 @@
|
|
1
|
+
from autocoder_nano.llm_client import AutoLLM
|
2
|
+
from autocoder_nano.llm_types import AutoCoderArgs, SourceCode
|
1
3
|
from autocoder_nano.project.pyproject import PyProject
|
2
4
|
from autocoder_nano.project.suffixproject import SuffixProject
|
3
5
|
from autocoder_nano.project.tsproject import TSProject
|
4
6
|
|
5
|
-
|
7
|
+
|
8
|
+
def project_source(source_llm: AutoLLM, args: AutoCoderArgs) -> list[SourceCode]:
|
9
|
+
if args.project_type == "py":
|
10
|
+
pp = PyProject(llm=source_llm, args=args)
|
11
|
+
elif args.project_type == "ts":
|
12
|
+
pp = TSProject(llm=source_llm, args=args)
|
13
|
+
else:
|
14
|
+
pp = SuffixProject(llm=source_llm, args=args)
|
15
|
+
pp.run()
|
16
|
+
return pp.sources
|
17
|
+
|
18
|
+
|
19
|
+
__all__ = ["PyProject", "SuffixProject", "TSProject", "project_source"]
|
autocoder_nano/version.py
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
autocoder_nano/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
2
|
-
autocoder_nano/auto_coder_nano.py,sha256=
|
2
|
+
autocoder_nano/auto_coder_nano.py,sha256=AMJiNqQyEKaU5KqEOo9EzQwQDi5K3lr4YTeuMqdqWSA,74671
|
3
3
|
autocoder_nano/auto_coder_nano_rag.py,sha256=9BtNZ6nC5D5SPTIuziXZOfouCBLOMNzvJMTdDPQEgO8,10436
|
4
4
|
autocoder_nano/auto_coder_nano_ui.py,sha256=ZBskcIJMeTJY7_JipGJaee58G9fUJaOv3LV4hptLc6c,12669
|
5
5
|
autocoder_nano/file_utils.py,sha256=iGbkbQ191nKL4aNufdexYYYQSDM1XrDC9Uxp_PIbawY,661
|
@@ -10,7 +10,7 @@ autocoder_nano/llm_prompt.py,sha256=ViWUfCZp0gDESAAPHBhZc2WhHiFUHIxK6a2xbFu0sjU,
|
|
10
10
|
autocoder_nano/llm_types.py,sha256=T0ugeWdwejy6BJaQrAlk8Pk5qweW2xbggxzHaSpTBOg,11588
|
11
11
|
autocoder_nano/sys_utils.py,sha256=Sn6kr5diaEkVWbYDBrtenr9zw32jVIWvsAReY7_uEd0,1638
|
12
12
|
autocoder_nano/templates.py,sha256=fqlRtnx6HvPE4CbdnPcnLBB-flPwufwcGRpsFD3aW2c,4271
|
13
|
-
autocoder_nano/version.py,sha256=
|
13
|
+
autocoder_nano/version.py,sha256=zGimidx6OporaPNCY3Rm74IgiKpb8FGFXs-gXvOb2SY,79
|
14
14
|
autocoder_nano/agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
15
15
|
autocoder_nano/agent/agent_base.py,sha256=O5Hq6VnoqrXnBE_oXZHXlbmSRdOEe28H65bJ1WhAQjg,16377
|
16
16
|
autocoder_nano/agent/agentic_edit.py,sha256=I1HjRhMabDmtfxcCOKawUJV0wU1GNzKtof19_GNgAjU,88749
|
@@ -57,11 +57,11 @@ autocoder_nano/edit/code/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZ
|
|
57
57
|
autocoder_nano/edit/code/generate_editblock.py,sha256=s-VTZK0G1OhjEyZXqyjj4sY48fOo02EvHhaxTIw4ytY,13110
|
58
58
|
autocoder_nano/edit/code/merge_editblock.py,sha256=Vk-FOVvaEzKcSRDMyMyR_M77kqj-s5-zejChn4QwLAY,17557
|
59
59
|
autocoder_nano/edit/code/modification_ranker.py,sha256=hnF1acqAzPYKm9hEFxobJHfGGDdM-GclZLxvtt83lGA,3431
|
60
|
-
autocoder_nano/index/__init__.py,sha256=
|
60
|
+
autocoder_nano/index/__init__.py,sha256=fYrXsjRMrL2cjHjH37Bcl51Uqr17_aqlTH-c_2WQcok,3767
|
61
61
|
autocoder_nano/index/entry.py,sha256=S71dfnYC201eQLXwqNCo_Y83ImI1ZxuJ0_m2hz5nCJc,7729
|
62
62
|
autocoder_nano/index/index_manager.py,sha256=ek7AqU8M-Snl5qZYhO_U0SEK3-y1u5OOxD9z-LdDesE,15619
|
63
63
|
autocoder_nano/index/symbols_utils.py,sha256=z_16X6BozTfmric1uU-r2GqzDabJ5ChfAOB4lo7i-_8,1450
|
64
|
-
autocoder_nano/project/__init__.py,sha256=
|
64
|
+
autocoder_nano/project/__init__.py,sha256=KfSsvUVi-MCUJ-AITl8jQpOTPMIW55VmwPzSUP6LnlI,708
|
65
65
|
autocoder_nano/project/pyproject.py,sha256=UZqHBrUmsCW73YkG8shjeFSEYGB_zFDH1ezoPP_f33Q,4478
|
66
66
|
autocoder_nano/project/suffixproject.py,sha256=190GCS25qYi4kPav0Hpk2qgSFalkvJk7VM_pchnfurY,4717
|
67
67
|
autocoder_nano/project/tsproject.py,sha256=3gBS-2aup2W5ehSbhD7Bdr-9v9uL7MgY_7TkLHShh9I,5565
|
@@ -91,9 +91,9 @@ autocoder_nano/utils/config_utils.py,sha256=r5n0De4mz5sL_nj-CeT_F5TxtgWQIN5vv0Z5
|
|
91
91
|
autocoder_nano/utils/formatted_log_utils.py,sha256=1d3xvZ1Bo3-I1wQOMdXpwsMX5cl2FWkmpgHGHvTPEvI,5457
|
92
92
|
autocoder_nano/utils/printer_utils.py,sha256=6rGHihCh8DDESWs6qWqwsf3B6qaeM_CNx6crzkl9UCk,15303
|
93
93
|
autocoder_nano/utils/shell_utils.py,sha256=llVTrOrmS1RH2ws7W69tofVtf53Kq04uh-sURphejrU,2477
|
94
|
-
autocoder_nano-0.1.
|
95
|
-
autocoder_nano-0.1.
|
96
|
-
autocoder_nano-0.1.
|
97
|
-
autocoder_nano-0.1.
|
98
|
-
autocoder_nano-0.1.
|
99
|
-
autocoder_nano-0.1.
|
94
|
+
autocoder_nano-0.1.37.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
95
|
+
autocoder_nano-0.1.37.dist-info/METADATA,sha256=hHgyCckA57oWf1OHZlguJgB9IMxqiolJp-6jyQ3yxvY,13591
|
96
|
+
autocoder_nano-0.1.37.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
97
|
+
autocoder_nano-0.1.37.dist-info/entry_points.txt,sha256=Dj8gGZ_AgLy8ANqr2do_DJjpsR3JMh-ztsrUXo4Vn5Q,194
|
98
|
+
autocoder_nano-0.1.37.dist-info/top_level.txt,sha256=D7s34cwIs1F4EAjRRDvO_zTHtUz1Z7UVccFUNlJn7HI,15
|
99
|
+
autocoder_nano-0.1.37.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|