ollaagent 0.1.8__tar.gz → 0.2.0__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.
- {ollaagent-0.1.8 → ollaagent-0.2.0}/CHANGELOG.md +25 -0
- {ollaagent-0.1.8 → ollaagent-0.2.0}/PKG-INFO +1 -1
- {ollaagent-0.1.8 → ollaagent-0.2.0}/ollaAgent/agent.py +2 -7
- {ollaagent-0.1.8 → ollaagent-0.2.0}/pyproject.toml +1 -1
- {ollaagent-0.1.8 → ollaagent-0.2.0}/uv.lock +1 -1
- {ollaagent-0.1.8 → ollaagent-0.2.0}/.agentic_python/guidelines.md +0 -0
- {ollaagent-0.1.8 → ollaagent-0.2.0}/.agentic_python/reviewer_role.md +0 -0
- {ollaagent-0.1.8 → ollaagent-0.2.0}/.env.sample +0 -0
- {ollaagent-0.1.8 → ollaagent-0.2.0}/.gitignore +0 -0
- {ollaagent-0.1.8 → ollaagent-0.2.0}/.python-version +0 -0
- {ollaagent-0.1.8 → ollaagent-0.2.0}/AGENT.md +0 -0
- {ollaagent-0.1.8 → ollaagent-0.2.0}/CLAUDE.md +0 -0
- {ollaagent-0.1.8 → ollaagent-0.2.0}/LICENSE +0 -0
- {ollaagent-0.1.8 → ollaagent-0.2.0}/README.md +0 -0
- {ollaagent-0.1.8 → ollaagent-0.2.0}/README_ko.md +0 -0
- {ollaagent-0.1.8 → ollaagent-0.2.0}/main.py +0 -0
- {ollaagent-0.1.8 → ollaagent-0.2.0}/ollaAgent/__init__.py +0 -0
- {ollaagent-0.1.8 → ollaagent-0.2.0}/ollaAgent/config_loader.py +0 -0
- {ollaagent-0.1.8 → ollaagent-0.2.0}/ollaAgent/memory.py +0 -0
- {ollaagent-0.1.8 → ollaagent-0.2.0}/ollaAgent/ollama_client.py +0 -0
- {ollaagent-0.1.8 → ollaagent-0.2.0}/ollaAgent/permissions.py +0 -0
- {ollaagent-0.1.8 → ollaagent-0.2.0}/ollaAgent/plan_mode.py +0 -0
- {ollaagent-0.1.8 → ollaagent-0.2.0}/ollaAgent/subagent.py +0 -0
- {ollaagent-0.1.8 → ollaagent-0.2.0}/ollaAgent/tool_bash.py +0 -0
- {ollaagent-0.1.8 → ollaagent-0.2.0}/tests/__init__.py +0 -0
- {ollaagent-0.1.8 → ollaagent-0.2.0}/tests/conftest.py +0 -0
- {ollaagent-0.1.8 → ollaagent-0.2.0}/tests/test_agent.py +0 -0
- {ollaagent-0.1.8 → ollaagent-0.2.0}/tests/test_config_loader.py +0 -0
- {ollaagent-0.1.8 → ollaagent-0.2.0}/tests/test_memory.py +0 -0
- {ollaagent-0.1.8 → ollaagent-0.2.0}/tests/test_permissions.py +0 -0
- {ollaagent-0.1.8 → ollaagent-0.2.0}/tests/test_plan_mode.py +0 -0
- {ollaagent-0.1.8 → ollaagent-0.2.0}/tests/test_subagent.py +0 -0
- {ollaagent-0.1.8 → ollaagent-0.2.0}/tests/test_tool_bash.py +0 -0
|
@@ -7,6 +7,31 @@ Versioning: [Semantic Versioning](https://semver.org/spec/v2.0.0.html)
|
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
+
## [0.2.0] - 2026-03-23
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
- 이중 출력 완전 해결 — `Live(auto_refresh=False)` + `live.refresh()` + `Markdown` 유지
|
|
14
|
+
- `Text` + 완료 후 Markdown 재출력 방식 폐기
|
|
15
|
+
- chunk마다 즉시 Markdown 갱신 → 실시간성 + 가독성 동시 확보
|
|
16
|
+
|
|
17
|
+
### Removed
|
|
18
|
+
- 불필요해진 `Text` import 제거
|
|
19
|
+
- `transient=True` 관련 테스트 3종 제거
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## [0.1.9] - 2026-03-23
|
|
24
|
+
|
|
25
|
+
### Fixed
|
|
26
|
+
- 스트리밍 중 plain text와 Markdown이 이중 출력되던 문제 — `Live(transient=True)` 적용으로 스트림 종료 시 plain text 자동 삭제
|
|
27
|
+
|
|
28
|
+
### Tests
|
|
29
|
+
- `test_markdown_printed_once_after_stream` — Markdown 1회만 출력 검증
|
|
30
|
+
- `test_markdown_not_printed_when_no_content` — content 없으면 Markdown 미출력 검증
|
|
31
|
+
- `test_live_created_with_transient_true` — `transient=True` 설정 검증
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
10
35
|
## [0.1.8] - 2026-03-23
|
|
11
36
|
|
|
12
37
|
### Fixed
|
|
@@ -15,7 +15,7 @@ try:
|
|
|
15
15
|
except ImportError:
|
|
16
16
|
pass # Windows 환경에서는 무시
|
|
17
17
|
|
|
18
|
-
__version__ = "0.
|
|
18
|
+
__version__ = "0.2.0"
|
|
19
19
|
|
|
20
20
|
from dotenv import load_dotenv
|
|
21
21
|
from ollama import Client
|
|
@@ -23,7 +23,6 @@ from rich.console import Console
|
|
|
23
23
|
from rich.live import Live
|
|
24
24
|
from rich.markdown import Markdown
|
|
25
25
|
from rich.panel import Panel
|
|
26
|
-
from rich.text import Text
|
|
27
26
|
|
|
28
27
|
from ollaAgent.config_loader import build_system_prompt, load_config
|
|
29
28
|
from ollaAgent.memory import SESSION_DIR, SessionMemory, save_session
|
|
@@ -420,17 +419,13 @@ def stream_response(stream: Any) -> tuple[str, str, dict[int, dict], int]:
|
|
|
420
419
|
content = msg.get("content") or ""
|
|
421
420
|
if content:
|
|
422
421
|
assistant_content += content
|
|
423
|
-
live.update(
|
|
422
|
+
live.update(Markdown(assistant_content))
|
|
424
423
|
live.refresh() # 매 chunk 즉시 출력
|
|
425
424
|
_accumulate_tool_calls(msg, accumulated_tool_calls)
|
|
426
425
|
# done=True 인 마지막 chunk에서 토큰 수 캡처
|
|
427
426
|
if chunk.get("done"):
|
|
428
427
|
prompt_eval_count = chunk.get("prompt_eval_count") or 0
|
|
429
428
|
|
|
430
|
-
# 스트림 완료 후 Markdown으로 최종 렌더링 (가독성 확보)
|
|
431
|
-
if assistant_content:
|
|
432
|
-
console.print(Markdown(assistant_content))
|
|
433
|
-
|
|
434
429
|
return (
|
|
435
430
|
assistant_content,
|
|
436
431
|
thinking_content,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|