auto-coder 0.1.341__py3-none-any.whl → 0.1.343__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.
- {auto_coder-0.1.341.dist-info → auto_coder-0.1.343.dist-info}/METADATA +1 -1
- {auto_coder-0.1.341.dist-info → auto_coder-0.1.343.dist-info}/RECORD +14 -14
- autocoder/commands/auto_command.py +11 -5
- autocoder/commands/tools.py +3 -5
- autocoder/common/v2/agent/agentic_edit.py +17 -10
- autocoder/common/v2/agent/agentic_edit_tools/ask_followup_question_tool_resolver.py +5 -3
- autocoder/common/v2/agent/agentic_edit_tools/plan_mode_respond_tool_resolver.py +1 -2
- autocoder/events/event_manager.py +10 -11
- autocoder/events/event_manager_singleton.py +2 -1
- autocoder/version.py +1 -1
- {auto_coder-0.1.341.dist-info → auto_coder-0.1.343.dist-info}/LICENSE +0 -0
- {auto_coder-0.1.341.dist-info → auto_coder-0.1.343.dist-info}/WHEEL +0 -0
- {auto_coder-0.1.341.dist-info → auto_coder-0.1.343.dist-info}/entry_points.txt +0 -0
- {auto_coder-0.1.341.dist-info → auto_coder-0.1.343.dist-info}/top_level.txt +0 -0
|
@@ -14,7 +14,7 @@ autocoder/command_parser.py,sha256=fx1g9E6GaM273lGTcJqaFQ-hoksS_Ik2glBMnVltPCE,1
|
|
|
14
14
|
autocoder/lang.py,sha256=PFtATuOhHRnfpqHQkXr6p4C893JvpsgwTMif3l-GEi0,14321
|
|
15
15
|
autocoder/models.py,sha256=_SCar82QIeBFTZZBdM2jPS6atKVhHnvE0gX3V0CsxD4,11590
|
|
16
16
|
autocoder/run_context.py,sha256=IUfSO6_gp2Wt1blFWAmOpN0b0nDrTTk4LmtCYUBIoro,1643
|
|
17
|
-
autocoder/version.py,sha256=
|
|
17
|
+
autocoder/version.py,sha256=74rg5Dx1XgbjJnY4e4JBHBAF8e-ViGvp4zlQJAiMaxw,23
|
|
18
18
|
autocoder/agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
19
19
|
autocoder/agent/agentic_edit.py,sha256=XsfePZ-t6M-uBSdG1VLZXk1goqXk2HPeJ_A8IYyBuWQ,58896
|
|
20
20
|
autocoder/agent/agentic_edit_types.py,sha256=oFcDd_cxJ2yH9Ed1uTpD3BipudgoIEWDMPb5pAkq4gI,3288
|
|
@@ -44,9 +44,9 @@ autocoder/agent/agentic_edit_tools/use_mcp_tool_resolver.py,sha256=5WWH8-lEZO29d
|
|
|
44
44
|
autocoder/agent/agentic_edit_tools/write_to_file_tool_resolver.py,sha256=HPX1g7Nh7H8I3P2MNmIK4HXLh8IZYaedQgRZAeGxNdc,5135
|
|
45
45
|
autocoder/chat/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
46
46
|
autocoder/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
47
|
-
autocoder/commands/auto_command.py,sha256=
|
|
47
|
+
autocoder/commands/auto_command.py,sha256=Ogg-mj7lnGBnBzebnYjszvZ8-cxgdl3qJSW9niidhiY,64678
|
|
48
48
|
autocoder/commands/auto_web.py,sha256=Cc0eb6JN3SvFy3GD_lpSLvIqj7F1eFDTcwg1t-zDcKg,39024
|
|
49
|
-
autocoder/commands/tools.py,sha256=
|
|
49
|
+
autocoder/commands/tools.py,sha256=iET_nL8Zn0oK-vIZLZT8y3Zh4ljCTuoJlaOOYVEaKvY,33693
|
|
50
50
|
autocoder/common/JupyterClient.py,sha256=O-wi6pXeAEYhAY24kDa0BINrLYvKS6rKyWe98pDClS0,2816
|
|
51
51
|
autocoder/common/ShellClient.py,sha256=fM1q8t_XMSbLBl2zkCNC2J9xuyKN3eXzGm6hHhqL2WY,2286
|
|
52
52
|
autocoder/common/__init__.py,sha256=U6oImbo5n_sLcFLS7ZAMZqnCc-3DYeVYD9K6r1V7mSk,14601
|
|
@@ -126,18 +126,18 @@ autocoder/common/v2/code_editblock_manager.py,sha256=G0CIuV9Ki0FqMLnpA8nBT4pnkCN
|
|
|
126
126
|
autocoder/common/v2/code_manager.py,sha256=C403bS-f6urixwitlKHcml-J03hci-UyNwHJOqBiY6Q,9182
|
|
127
127
|
autocoder/common/v2/code_strict_diff_manager.py,sha256=v-J1kDyLg7tLGg_6_lbO9S4fNkx7M_L8Xr2G7fPptiU,9347
|
|
128
128
|
autocoder/common/v2/agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
129
|
-
autocoder/common/v2/agent/agentic_edit.py,sha256=
|
|
129
|
+
autocoder/common/v2/agent/agentic_edit.py,sha256=Nw2rXRMhiPzrd69eRuZOzbHYY_Qk9Ph4WiERU2Zqwec,91585
|
|
130
130
|
autocoder/common/v2/agent/agentic_edit_conversation.py,sha256=qLLhTegH619JQTp3s1bj5FVn2hAcoV-DlhGO3UyIOMc,7338
|
|
131
131
|
autocoder/common/v2/agent/agentic_edit_types.py,sha256=6qBLLmvdlcsbzrpMHsYQVIHqbOWubMXOnmkqTs1pBWQ,4629
|
|
132
132
|
autocoder/common/v2/agent/agentic_tool_display.py,sha256=WKirt-2V346KLnbHgH3NVJiK3xvriD9oaCWj2IdvzLU,7309
|
|
133
133
|
autocoder/common/v2/agent/agentic_edit_tools/__init__.py,sha256=wGICCc1dYh07osB21j62zOQ9Ws0PyyOQ12UYRHmHrtI,1229
|
|
134
|
-
autocoder/common/v2/agent/agentic_edit_tools/ask_followup_question_tool_resolver.py,sha256=
|
|
134
|
+
autocoder/common/v2/agent/agentic_edit_tools/ask_followup_question_tool_resolver.py,sha256=YktmocUR0ygth8CVq9gXdUzIhX3FicULhwmnA_DTfik,3099
|
|
135
135
|
autocoder/common/v2/agent/agentic_edit_tools/attempt_completion_tool_resolver.py,sha256=82ZGKeRBSDKeead_XVBW4FxpiE-5dS7tBOk_3RZ6B5s,1511
|
|
136
136
|
autocoder/common/v2/agent/agentic_edit_tools/base_tool_resolver.py,sha256=Zid2m1uZd-2wVFGc_n_KAViXZyNjbdLSpI5n7ut1RUQ,1036
|
|
137
137
|
autocoder/common/v2/agent/agentic_edit_tools/execute_command_tool_resolver.py,sha256=GueQfIY2hVu2R5j9R5rBtn2znl5MlmEdGtsa6snsMHs,4112
|
|
138
138
|
autocoder/common/v2/agent/agentic_edit_tools/list_code_definition_names_tool_resolver.py,sha256=8QoMsADUDWliqiDt_dpguz31403syB8eeW0Pcw-qfb8,3842
|
|
139
139
|
autocoder/common/v2/agent/agentic_edit_tools/list_files_tool_resolver.py,sha256=ERM5E7s2azQ8vcvogan4A_LZci8Pmhmxw1uQaNQhon4,5469
|
|
140
|
-
autocoder/common/v2/agent/agentic_edit_tools/plan_mode_respond_tool_resolver.py,sha256=
|
|
140
|
+
autocoder/common/v2/agent/agentic_edit_tools/plan_mode_respond_tool_resolver.py,sha256=lGT4_QYJK6Fa9f6HVSGo0cSsGK7qCsDYgJGUowNxPzk,1499
|
|
141
141
|
autocoder/common/v2/agent/agentic_edit_tools/read_file_tool_resolver.py,sha256=9Bh0KVbL0qiIqwChlb77biiBiETQ3zekxGe5Fj7hXAg,2800
|
|
142
142
|
autocoder/common/v2/agent/agentic_edit_tools/replace_in_file_tool_resolver.py,sha256=lpD4fCbVR8GTrynqXON69IjM94nPy3nuUL62Ashm5O4,7988
|
|
143
143
|
autocoder/common/v2/agent/agentic_edit_tools/search_files_tool_resolver.py,sha256=ew0RwJ4oGjnpBOyYYtfxbFqU5W_kclT6FrCkpOB-tgs,6058
|
|
@@ -168,8 +168,8 @@ autocoder/dispacher/actions/plugins/action_regex_project.py,sha256=sbK9yFRaq8Ryt
|
|
|
168
168
|
autocoder/dispacher/actions/plugins/action_translate.py,sha256=GEn7dZA22jy5WyzINomjmzzB795p2Olg-CJla97lRF8,7744
|
|
169
169
|
autocoder/events/__init__.py,sha256=1x_juwr9Ows2RADDa2LyI4QlmPxOVOXZeLO1cht-slM,1443
|
|
170
170
|
autocoder/events/event_content.py,sha256=eLHf5M1BifSqhzzEBgAWKn3JD5_z_1mWeNdZ53TpMqk,12240
|
|
171
|
-
autocoder/events/event_manager.py,sha256=
|
|
172
|
-
autocoder/events/event_manager_singleton.py,sha256=
|
|
171
|
+
autocoder/events/event_manager.py,sha256=ObbvPfNrrhC85w5VvsnLS9oy92oHEwqMN08qGPReNNA,11884
|
|
172
|
+
autocoder/events/event_manager_singleton.py,sha256=UubD6HQSDBmA0nBQyo6zr8ctzAPYTiA87ykOoNUCPZk,8895
|
|
173
173
|
autocoder/events/event_store.py,sha256=y6tT3P-o3yhDptrKi-UmqI_ZBNg7v21FriI3f7lo_ME,12709
|
|
174
174
|
autocoder/events/event_types.py,sha256=W_S6PTDIBdufcuPosgz64iITzQy79flL8s3hWB-vZ9o,3638
|
|
175
175
|
autocoder/helper/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -276,9 +276,9 @@ autocoder/utils/types.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
|
276
276
|
autocoder/utils/auto_coder_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
277
277
|
autocoder/utils/auto_coder_utils/chat_stream_out.py,sha256=KW0mlmcHlStXi8-_6fXZ2-ifeJ5mgP0OV7DQFzCtIsw,14008
|
|
278
278
|
autocoder/utils/chat_auto_coder_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
279
|
-
auto_coder-0.1.
|
|
280
|
-
auto_coder-0.1.
|
|
281
|
-
auto_coder-0.1.
|
|
282
|
-
auto_coder-0.1.
|
|
283
|
-
auto_coder-0.1.
|
|
284
|
-
auto_coder-0.1.
|
|
279
|
+
auto_coder-0.1.343.dist-info/LICENSE,sha256=HrhfyXIkWY2tGFK11kg7vPCqhgh5DcxleloqdhrpyMY,11558
|
|
280
|
+
auto_coder-0.1.343.dist-info/METADATA,sha256=vQNFAmhmuXjWYt_T3JkP_hlhT54YzVBNbgBVSXDdp7w,2728
|
|
281
|
+
auto_coder-0.1.343.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
|
|
282
|
+
auto_coder-0.1.343.dist-info/entry_points.txt,sha256=0nzHtHH4pNcM7xq4EBA2toS28Qelrvcbrr59GqD_0Ak,350
|
|
283
|
+
auto_coder-0.1.343.dist-info/top_level.txt,sha256=Jqc0_uJSw2GwoFQAa9iJxYns-2mWla-9ok_Y3Gcznjk,10
|
|
284
|
+
auto_coder-0.1.343.dist-info/RECORD,,
|
|
@@ -787,11 +787,10 @@ class CommandAutoTuner:
|
|
|
787
787
|
<name>list_files</name>
|
|
788
788
|
<description>list_files 查看某个目录下的所有文件</description>
|
|
789
789
|
<usage>
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
790
|
+
该工具用于列出指定目录下的所有文件(不包括子目录中的文件)。
|
|
791
|
+
输入参数 path: 要列出文件的目录路径
|
|
792
|
+
返回值是目录下所有文件的列表,以换行符分隔
|
|
793
|
+
list_files(path="/tmp")
|
|
795
794
|
</usage>
|
|
796
795
|
</command>
|
|
797
796
|
|
|
@@ -1529,3 +1528,10 @@ class CommandAutoTuner:
|
|
|
1529
1528
|
query=f"Command: {command} Parameters: {json.dumps(parameters) if parameters else 'None'}",
|
|
1530
1529
|
response=f"Command execution failed: {error_msg}"
|
|
1531
1530
|
)
|
|
1531
|
+
|
|
1532
|
+
self.result_manager = ResultManager()
|
|
1533
|
+
result = f"command {command} with parameters {parameters} execution failed with error {error_msg}"
|
|
1534
|
+
self.result_manager.add_result(content=result, meta={
|
|
1535
|
+
"action": command,
|
|
1536
|
+
"input": parameters
|
|
1537
|
+
})
|
autocoder/commands/tools.py
CHANGED
|
@@ -655,7 +655,7 @@ class AutoCommandTools:
|
|
|
655
655
|
该工具用于列出指定目录下的所有文件(不包括子目录中的文件)。
|
|
656
656
|
输入参数 path: 要列出文件的目录路径
|
|
657
657
|
返回值是目录下所有文件的列表,以逗号分隔。
|
|
658
|
-
"""
|
|
658
|
+
"""
|
|
659
659
|
# 处理绝对路径和相对路径
|
|
660
660
|
target_path = path
|
|
661
661
|
if not os.path.isabs(path):
|
|
@@ -687,12 +687,10 @@ class AutoCommandTools:
|
|
|
687
687
|
file_list = []
|
|
688
688
|
for item in os.listdir(target_path):
|
|
689
689
|
item_path = os.path.join(target_path, item)
|
|
690
|
-
|
|
691
|
-
if os.path.isfile(item_path):
|
|
692
|
-
file_list.append(item_path)
|
|
690
|
+
file_list.append(item_path)
|
|
693
691
|
|
|
694
692
|
# 生成以逗号分隔的文件列表
|
|
695
|
-
result = "
|
|
693
|
+
result = "\n".join(file_list)
|
|
696
694
|
|
|
697
695
|
# 记录结果
|
|
698
696
|
self.result_manager.add_result(content=result, meta={
|
|
@@ -938,16 +938,23 @@ class AgenticEdit:
|
|
|
938
938
|
if 'requires_approval' in params:
|
|
939
939
|
params['requires_approval'] = params['requires_approval'].lower(
|
|
940
940
|
) == 'true'
|
|
941
|
-
# Attempt to handle JSON parsing for
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
941
|
+
# Attempt to handle JSON parsing for ask_followup_question_tool
|
|
942
|
+
if tool_tag == 'ask_followup_question' and 'options' in params:
|
|
943
|
+
try:
|
|
944
|
+
params['options'] = json.loads(
|
|
945
|
+
params['options'])
|
|
946
|
+
except json.JSONDecodeError:
|
|
947
|
+
logger.warning(
|
|
948
|
+
f"Could not decode JSON options for ask_followup_question_tool: {params['options']}")
|
|
949
|
+
# Keep as string or handle error? Let's keep as string for now.
|
|
950
|
+
pass
|
|
951
|
+
if tool_tag == 'plan_mode_respond' and 'options' in params:
|
|
952
|
+
try:
|
|
953
|
+
params['options'] = json.loads(
|
|
954
|
+
params['options'])
|
|
955
|
+
except json.JSONDecodeError:
|
|
956
|
+
logger.warning(
|
|
957
|
+
f"Could not decode JSON options for plan_mode_respond_tool: {params['options']}")
|
|
951
958
|
# Handle recursive for list_files
|
|
952
959
|
if tool_tag == 'list_files' and 'recursive' in params:
|
|
953
960
|
params['recursive'] = params['recursive'].lower() == 'true'
|
|
@@ -12,6 +12,7 @@ from prompt_toolkit.styles import Style
|
|
|
12
12
|
from rich.console import Console
|
|
13
13
|
from rich.panel import Panel
|
|
14
14
|
from rich.text import Text
|
|
15
|
+
from autocoder.common.result_manager import ResultManager
|
|
15
16
|
|
|
16
17
|
if typing.TYPE_CHECKING:
|
|
17
18
|
from autocoder.common.v2.agent.agentic_edit import AgenticEdit
|
|
@@ -20,6 +21,7 @@ class AskFollowupQuestionToolResolver(BaseToolResolver):
|
|
|
20
21
|
def __init__(self, agent: Optional['AgenticEdit'], tool: AskFollowupQuestionTool, args: AutoCoderArgs):
|
|
21
22
|
super().__init__(agent, tool, args)
|
|
22
23
|
self.tool: AskFollowupQuestionTool = tool # For type hinting
|
|
24
|
+
self.result_manager = ResultManager()
|
|
23
25
|
|
|
24
26
|
def resolve(self) -> ToolResult:
|
|
25
27
|
"""
|
|
@@ -28,17 +30,17 @@ class AskFollowupQuestionToolResolver(BaseToolResolver):
|
|
|
28
30
|
"""
|
|
29
31
|
question = self.tool.question
|
|
30
32
|
options = self.tool.options
|
|
31
|
-
|
|
33
|
+
options_text = "\n".join([f"{i+1}. {option}" for i, option in enumerate(options)])
|
|
32
34
|
if get_run_context().is_web():
|
|
33
35
|
answer = get_event_manager(
|
|
34
36
|
self.args.event_file).ask_user(prompt=question)
|
|
35
|
-
self.result_manager.append(content=answer, meta={
|
|
37
|
+
self.result_manager.append(content=answer + "\n" + options_text, meta={
|
|
36
38
|
"action": "ask_user",
|
|
37
39
|
"input": {
|
|
38
40
|
"question": question
|
|
39
41
|
}
|
|
40
42
|
})
|
|
41
|
-
return answer
|
|
43
|
+
return ToolResult(success=True, message="Follow-up question prepared.", content=answer)
|
|
42
44
|
|
|
43
45
|
console = Console()
|
|
44
46
|
|
|
@@ -18,8 +18,7 @@ class PlanModeRespondToolResolver(BaseToolResolver):
|
|
|
18
18
|
Packages the response and options for Plan Mode interaction.
|
|
19
19
|
"""
|
|
20
20
|
response_text = self.tool.response
|
|
21
|
-
options = self.tool.options
|
|
22
|
-
|
|
21
|
+
options = self.tool.options
|
|
23
22
|
logger.info(f"Resolving PlanModeRespondTool: Response='{response_text[:100]}...', Options={options}")
|
|
24
23
|
|
|
25
24
|
if not response_text:
|
|
@@ -138,7 +138,7 @@ class EventManager:
|
|
|
138
138
|
blocker = threading.Event()
|
|
139
139
|
self.event_store.append_event(event)
|
|
140
140
|
self._blocking_events[event.event_id] = blocker
|
|
141
|
-
logger.
|
|
141
|
+
logger.info(f"ASK_USER: {self} {self.event_store.file_path} self._blocking_events: {self._blocking_events}")
|
|
142
142
|
if callback:
|
|
143
143
|
self._response_callbacks[event.event_id] = callback
|
|
144
144
|
logger.debug(f"Registered callback for event: {event.event_id}")
|
|
@@ -194,7 +194,7 @@ class EventManager:
|
|
|
194
194
|
Returns:
|
|
195
195
|
The created response event
|
|
196
196
|
"""
|
|
197
|
-
logger.
|
|
197
|
+
logger.info(f"respond_to_user called for event: {ask_event_id} with response: '{response}'")
|
|
198
198
|
|
|
199
199
|
# 创建响应事件
|
|
200
200
|
event = ResponseEvent(
|
|
@@ -205,7 +205,7 @@ class EventManager:
|
|
|
205
205
|
|
|
206
206
|
# 存储响应事件
|
|
207
207
|
self.event_store.append_event(event)
|
|
208
|
-
logger.
|
|
208
|
+
logger.info(f"Response event created and stored with ID: {event.event_id}")
|
|
209
209
|
|
|
210
210
|
# 获取回调和阻塞器
|
|
211
211
|
callback = None
|
|
@@ -214,29 +214,28 @@ class EventManager:
|
|
|
214
214
|
if ask_event_id in self._response_callbacks:
|
|
215
215
|
callback = self._response_callbacks[ask_event_id]
|
|
216
216
|
# 暂时不删除回调,确保不会丢失
|
|
217
|
-
logger.
|
|
217
|
+
logger.info(f"Retrieved callback for event: {ask_event_id}")
|
|
218
218
|
else:
|
|
219
|
-
logger.
|
|
219
|
+
logger.info(f"No callback found for event: {ask_event_id}")
|
|
220
220
|
|
|
221
221
|
|
|
222
222
|
# 如果找到了回调,执行它
|
|
223
223
|
if callback:
|
|
224
224
|
try:
|
|
225
|
-
logger.
|
|
225
|
+
logger.info(f"Executing callback for event: {ask_event_id}")
|
|
226
226
|
callback(response)
|
|
227
|
-
logger.
|
|
228
|
-
|
|
229
|
-
# 回调执行后再移除它
|
|
227
|
+
logger.info(f"Callback execution completed for event: {ask_event_id}")
|
|
228
|
+
|
|
230
229
|
if ask_event_id in self._response_callbacks:
|
|
231
230
|
del self._response_callbacks[ask_event_id]
|
|
232
231
|
except Exception as e:
|
|
233
232
|
logger.error(f"Error in response callback: {e}")
|
|
234
233
|
|
|
235
234
|
# 检查是否存在对应的阻塞事件
|
|
236
|
-
logger.
|
|
235
|
+
logger.info(f"RESPONSD_TO_USER: {self} {self.event_store.file_path} self._blocking_events: {self._blocking_events}")
|
|
237
236
|
if ask_event_id in self._blocking_events:
|
|
238
237
|
self._blocking_events[ask_event_id].set()
|
|
239
|
-
logger.
|
|
238
|
+
logger.info(f"Unblocked event: {ask_event_id}")
|
|
240
239
|
else:
|
|
241
240
|
logger.warning(f"No blocking event found for event_id: {ask_event_id}")
|
|
242
241
|
|
|
@@ -93,8 +93,9 @@ def gengerate_event_file_path(project_path: Optional[str] = None) -> Tuple[str,s
|
|
|
93
93
|
# 组合文件名
|
|
94
94
|
file_name = f"{file_id}.jsonl"
|
|
95
95
|
|
|
96
|
+
# 要使用绝对路径,否则会被认为产生两个event_manager
|
|
96
97
|
if project_path is None:
|
|
97
|
-
return os.path.join(".auto-coder", "events", file_name),file_id
|
|
98
|
+
return os.path.join(os.getcwd(),".auto-coder", "events", file_name),file_id
|
|
98
99
|
else:
|
|
99
100
|
return os.path.join(project_path, ".auto-coder", "events", file_name),file_id
|
|
100
101
|
|
autocoder/version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "0.1.
|
|
1
|
+
__version__ = "0.1.343"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|