coze-coding-utils 0.2.8a1__tar.gz → 0.2.8a2__tar.gz
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.
- {coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/PKG-INFO +1 -1
- {coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/pyproject.toml +1 -1
- coze_coding_utils-0.2.8a2/src/coze_coding_utils/log/config.py +28 -0
- {coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/log/node_log.py +5 -2
- {coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/log/write_log.py +2 -2
- coze_coding_utils-0.2.8a1/src/coze_coding_utils/log/config.py +0 -10
- {coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/.gitignore +0 -0
- {coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/LICENSE +0 -0
- {coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/README.md +0 -0
- {coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/__init__.py +0 -0
- {coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/error/__init__.py +0 -0
- {coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/error/classifier.py +0 -0
- {coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/error/codes.py +0 -0
- {coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/error/exceptions.py +0 -0
- {coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/error/patterns.py +0 -0
- {coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/file/__init__.py +0 -0
- {coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/file/file.py +0 -0
- {coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/helper/__init__.py +0 -0
- {coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/helper/agent_helper.py +0 -0
- {coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/helper/graph_helper.py +0 -0
- {coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/helper/stream_runner.py +0 -0
- {coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/log/__init__.py +0 -0
- {coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/log/common.py +0 -0
- {coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/log/err_trace.py +0 -0
- {coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/log/loop_trace.py +0 -0
- {coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/log/parser.py +0 -0
- {coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/messages/__init__.py +0 -0
- {coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/messages/client.py +0 -0
- {coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/messages/server.py +0 -0
- {coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/openai/__init__.py +0 -0
- {coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/openai/converter/__init__.py +0 -0
- {coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/openai/converter/request_converter.py +0 -0
- {coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/openai/converter/response_converter.py +0 -0
- {coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/openai/handler.py +0 -0
- {coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/openai/types/__init__.py +0 -0
- {coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/openai/types/request.py +0 -0
- {coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/openai/types/response.py +0 -0
- {coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/runtime_ctx/__init__.py +0 -0
- {coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/runtime_ctx/context.py +0 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Application configuration
|
|
3
|
+
"""
|
|
4
|
+
import os
|
|
5
|
+
from pathlib import Path
|
|
6
|
+
|
|
7
|
+
from coze_coding_utils.runtime_ctx.context import ENV_WORKTREE_NAME
|
|
8
|
+
|
|
9
|
+
# Logging
|
|
10
|
+
LOG_LEVEL = os.getenv("LOG_LEVEL", "INFO")
|
|
11
|
+
|
|
12
|
+
LOG_DIR = Path(os.getenv("COZE_LOG_DIR", "/tmp/app/work/logs/bypass"))
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def resolve_log_dir() -> Path:
|
|
16
|
+
"""Resolve the per-process log directory based on COZE_WORKTREE_NAME.
|
|
17
|
+
|
|
18
|
+
沙箱拉起产物子进程时通过环境变量 COZE_WORKTREE_NAME 注入当前 worktree 名(主仓为空)。
|
|
19
|
+
LogWatcherManager 在 services/devbox/app/services/log_watcher.py 里按 worktree 隔离监听目录:
|
|
20
|
+
- 主仓 → LOG_DIR/
|
|
21
|
+
- 具名 worktree → LOG_DIR/worktrees/<name>/
|
|
22
|
+
SDK 这里用同样规则解析写入目录,watcher 才能拾起对应日志,按正确 worktree group 推 IDE。
|
|
23
|
+
"""
|
|
24
|
+
worktree_name = os.getenv(ENV_WORKTREE_NAME, "")
|
|
25
|
+
if worktree_name:
|
|
26
|
+
return LOG_DIR / "worktrees" / worktree_name
|
|
27
|
+
return LOG_DIR
|
|
28
|
+
|
{coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/log/node_log.py
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import time
|
|
2
2
|
import logging
|
|
3
3
|
from uuid import UUID
|
|
4
|
-
from coze_coding_utils.log.config import LOG_DIR
|
|
4
|
+
from coze_coding_utils.log.config import LOG_DIR, resolve_log_dir
|
|
5
5
|
from coze_coding_utils.log.common import get_execute_mode, is_prod
|
|
6
6
|
import uuid
|
|
7
7
|
from langchain_core.callbacks import BaseCallbackHandler
|
|
@@ -26,8 +26,11 @@ class ParamInfo:
|
|
|
26
26
|
|
|
27
27
|
# 2. 确保日志目录存在
|
|
28
28
|
# 尝试使用可写目录,先尝试/app目录,如果失败则使用/tmp目录
|
|
29
|
+
|
|
29
30
|
try:
|
|
30
|
-
|
|
31
|
+
_resolved_log_dir = resolve_log_dir()
|
|
32
|
+
os.makedirs(_resolved_log_dir, exist_ok=True)
|
|
33
|
+
LOG_FILE = os.path.join(_resolved_log_dir, 'app.log')
|
|
31
34
|
# 测试写入权限
|
|
32
35
|
with open(LOG_FILE, 'a') as f:
|
|
33
36
|
pass
|
{coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/log/write_log.py
RENAMED
|
@@ -5,7 +5,7 @@ from contextvars import ContextVar
|
|
|
5
5
|
from typing import Optional
|
|
6
6
|
from pathlib import Path
|
|
7
7
|
from coze_coding_utils.runtime_ctx.context import Context
|
|
8
|
-
from coze_coding_utils.log.config import LOG_DIR
|
|
8
|
+
from coze_coding_utils.log.config import LOG_DIR, resolve_log_dir
|
|
9
9
|
|
|
10
10
|
request_context: ContextVar[Optional[Context]] = ContextVar('request_context', default=None)
|
|
11
11
|
|
|
@@ -134,7 +134,7 @@ def setup_logging(
|
|
|
134
134
|
|
|
135
135
|
if log_file is None:
|
|
136
136
|
try:
|
|
137
|
-
log_dir = Path(
|
|
137
|
+
log_dir = Path(resolve_log_dir())
|
|
138
138
|
log_dir.mkdir(parents=True, exist_ok=True)
|
|
139
139
|
log_file = str(log_dir / 'app.log')
|
|
140
140
|
except Exception as e:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/error/__init__.py
RENAMED
|
File without changes
|
{coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/error/classifier.py
RENAMED
|
File without changes
|
{coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/error/codes.py
RENAMED
|
File without changes
|
{coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/error/exceptions.py
RENAMED
|
File without changes
|
{coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/error/patterns.py
RENAMED
|
File without changes
|
{coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/file/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/helper/__init__.py
RENAMED
|
File without changes
|
{coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/helper/agent_helper.py
RENAMED
|
File without changes
|
{coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/helper/graph_helper.py
RENAMED
|
File without changes
|
|
File without changes
|
{coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/log/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/log/err_trace.py
RENAMED
|
File without changes
|
{coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/log/loop_trace.py
RENAMED
|
File without changes
|
|
File without changes
|
{coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/messages/__init__.py
RENAMED
|
File without changes
|
{coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/messages/client.py
RENAMED
|
File without changes
|
{coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/messages/server.py
RENAMED
|
File without changes
|
{coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/openai/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/openai/handler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{coze_coding_utils-0.2.8a1 → coze_coding_utils-0.2.8a2}/src/coze_coding_utils/runtime_ctx/context.py
RENAMED
|
File without changes
|