kon-coding-agent 0.2.7__tar.gz → 0.3.1__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.
Files changed (137) hide show
  1. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/.kon/skills/kon-release-publish/SKILL.md +6 -0
  2. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/.kon/skills/kon-tmux-test/run-e2e-tests.sh +12 -11
  3. kon_coding_agent-0.3.1/CHANGELOG.md +107 -0
  4. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/LICENSE +1 -1
  5. kon_coding_agent-0.3.1/PKG-INFO +550 -0
  6. kon_coding_agent-0.3.1/README.md +532 -0
  7. kon_coding_agent-0.3.1/docs/architecture-review.md +306 -0
  8. kon_coding_agent-0.3.1/docs/images/kon-screenshot.png +0 -0
  9. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/pyproject.toml +3 -1
  10. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/__init__.py +3 -1
  11. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/config.py +148 -42
  12. kon_coding_agent-0.3.1/src/kon/context/__init__.py +15 -0
  13. kon_coding_agent-0.2.7/src/kon/shared.py → kon_coding_agent-0.3.1/src/kon/context/_xml.py +0 -10
  14. kon_coding_agent-0.2.7/src/kon/context/agents.py → kon_coding_agent-0.3.1/src/kon/context/agent_mds.py +4 -3
  15. kon_coding_agent-0.3.1/src/kon/context/git.py +64 -0
  16. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/context/loader.py +3 -3
  17. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/context/skills.py +12 -3
  18. kon_coding_agent-0.3.1/src/kon/core/handoff.py +51 -0
  19. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/core/types.py +38 -2
  20. kon_coding_agent-0.3.1/src/kon/defaults/config.toml +61 -0
  21. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/events.py +18 -3
  22. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/llm/base.py +5 -1
  23. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/llm/models.py +20 -18
  24. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/llm/providers/__init__.py +4 -0
  25. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/llm/providers/anthropic.py +57 -12
  26. kon_coding_agent-0.3.1/src/kon/llm/providers/azure_ai_foundry.py +30 -0
  27. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/llm/providers/copilot_anthropic.py +7 -15
  28. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/llm/providers/mock.py +41 -8
  29. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/loop.py +26 -18
  30. kon_coding_agent-0.3.1/src/kon/metrics.py +37 -0
  31. kon_coding_agent-0.3.1/src/kon/permissions.py +114 -0
  32. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/session.py +87 -8
  33. kon_coding_agent-0.3.1/src/kon/themes.py +503 -0
  34. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/tools/__init__.py +19 -6
  35. kon_coding_agent-0.3.1/src/kon/tools/_tool_utils.py +101 -0
  36. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/tools/base.py +11 -0
  37. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/tools/bash.py +24 -12
  38. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/tools/edit.py +32 -11
  39. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/tools/find.py +22 -33
  40. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/tools/grep.py +22 -35
  41. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/tools/read.py +17 -13
  42. kon_coding_agent-0.3.1/src/kon/tools/web_fetch.py +80 -0
  43. kon_coding_agent-0.3.1/src/kon/tools/web_search.py +61 -0
  44. kon_coding_agent-0.3.1/src/kon/tools/write.py +80 -0
  45. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/tools_manager.py +8 -2
  46. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/turn.py +144 -32
  47. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/ui/app.py +319 -37
  48. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/ui/autocomplete.py +3 -0
  49. kon_coding_agent-0.3.1/src/kon/ui/blocks.py +483 -0
  50. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/ui/chat.py +120 -9
  51. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/ui/commands.py +237 -55
  52. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/ui/export.py +2 -2
  53. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/ui/floating_list.py +90 -9
  54. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/ui/formatting.py +22 -1
  55. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/ui/input.py +90 -13
  56. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/ui/prompt_history.py +4 -0
  57. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/ui/selection_mode.py +1 -0
  58. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/ui/session_ui.py +94 -12
  59. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/ui/styles.py +101 -25
  60. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/ui/widgets.py +160 -9
  61. kon_coding_agent-0.3.1/src/kon/update_check.py +49 -0
  62. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/tests/conftest.py +19 -1
  63. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/tests/context/test_agents.py +18 -18
  64. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/tests/context/test_skills.py +12 -6
  65. kon_coding_agent-0.3.1/tests/llm/test_anthropic_provider.py +203 -0
  66. kon_coding_agent-0.3.1/tests/llm/test_azure_ai_foundry_provider.py +54 -0
  67. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/tests/test_agentic_loop.py +86 -17
  68. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/tests/test_compaction.py +10 -13
  69. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/tests/test_config_injection.py +4 -4
  70. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/tests/test_config_migration.py +48 -8
  71. kon_coding_agent-0.3.1/tests/test_handoff.py +284 -0
  72. kon_coding_agent-0.3.1/tests/test_launch_warnings.py +64 -0
  73. kon_coding_agent-0.3.1/tests/test_metrics.py +50 -0
  74. kon_coding_agent-0.3.1/tests/test_permissions.py +90 -0
  75. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/tests/test_session_persistence.py +100 -1
  76. kon_coding_agent-0.3.1/tests/test_session_resume.py +144 -0
  77. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/tests/test_system_prompt.py +24 -0
  78. kon_coding_agent-0.3.1/tests/test_system_prompt_git_context.py +31 -0
  79. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/tests/test_update_check.py +3 -3
  80. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/tests/tools/test_edit.py +4 -2
  81. kon_coding_agent-0.3.1/tests/tools/test_edit_display.py +31 -0
  82. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/tests/tools/test_read.py +25 -1
  83. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/tests/tools/test_read_image_integration.py +2 -1
  84. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/tests/ui/test_autocomplete.py +2 -1
  85. kon_coding_agent-0.3.1/tests/ui/test_input_handoff.py +53 -0
  86. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/tests/ui/test_input_paste.py +8 -0
  87. kon_coding_agent-0.3.1/tests/ui/test_status_line.py +24 -0
  88. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/uv.lock +398 -1
  89. kon_coding_agent-0.2.7/CHANGELOG.md +0 -52
  90. kon_coding_agent-0.2.7/PKG-INFO +0 -326
  91. kon_coding_agent-0.2.7/README.md +0 -310
  92. kon_coding_agent-0.2.7/TODO.md +0 -5
  93. kon_coding_agent-0.2.7/src/kon/context/__init__.py +0 -13
  94. kon_coding_agent-0.2.7/src/kon/defaults/config.toml +0 -55
  95. kon_coding_agent-0.2.7/src/kon/tools/write.py +0 -54
  96. kon_coding_agent-0.2.7/src/kon/ui/blocks.py +0 -253
  97. kon_coding_agent-0.2.7/src/kon/update_check.py +0 -68
  98. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/.gitignore +0 -0
  99. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/.kon/skills/kon-tmux-test/SKILL.md +0 -0
  100. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/.kon/skills/kon-tmux-test/setup-test-project.sh +0 -0
  101. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/.python-version +0 -0
  102. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/AGENTS.md +0 -0
  103. /kon_coding_agent-0.2.7/LOCAL.md → /kon_coding_agent-0.3.1/docs/local-models.md +0 -0
  104. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/core/__init__.py +0 -0
  105. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/core/compaction.py +0 -0
  106. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/defaults/__init__.py +0 -0
  107. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/llm/__init__.py +0 -0
  108. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/llm/oauth/__init__.py +0 -0
  109. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/llm/oauth/copilot.py +0 -0
  110. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/llm/oauth/openai.py +0 -0
  111. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/llm/providers/copilot.py +0 -0
  112. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/llm/providers/github_copilot_headers.py +0 -0
  113. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/llm/providers/openai_codex_responses.py +0 -0
  114. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/llm/providers/openai_compat.py +0 -0
  115. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/llm/providers/openai_completions.py +0 -0
  116. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/llm/providers/openai_responses.py +0 -0
  117. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/llm/providers/sanitize.py +0 -0
  118. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/py.typed +0 -0
  119. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/tools/_read_image.py +0 -0
  120. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/ui/__init__.py +0 -0
  121. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/ui/app_protocol.py +0 -0
  122. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/ui/clipboard.py +0 -0
  123. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/src/kon/ui/path_complete.py +0 -0
  124. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/tests/llm/__init__.py +0 -0
  125. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/tests/llm/test_mock_provider.py +0 -0
  126. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/tests/llm/test_openai_codex_provider_errors.py +0 -0
  127. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/tests/test_cli_provider_resolution.py +0 -0
  128. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/tests/test_config_binaries.py +0 -0
  129. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/tests/test_config_error_fallback.py +0 -0
  130. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/tests/test_model_provider_resolution.py +0 -0
  131. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/tests/test_openai_compat.py +0 -0
  132. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/tests/test_update_notice_behavior.py +0 -0
  133. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/tests/tools/test_diff.py +0 -0
  134. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/tests/tools/test_read_image.py +0 -0
  135. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/tests/tools/test_write.py +0 -0
  136. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/tests/ui/test_floating_list.py +0 -0
  137. {kon_coding_agent-0.2.7 → kon_coding_agent-0.3.1}/tests/ui/test_prompt_history.py +0 -0
@@ -15,6 +15,12 @@ Use this skill when the user asks to cut a new Kon version, tag it, publish to P
15
15
  - Whether to publish to PyPI now
16
16
  - Whether to create GitHub release now
17
17
 
18
+ ## Versioning requirement
19
+
20
+ - Kon's update check only supports strict numeric `MAJOR.MINOR.PATCH` versions such as `0.2.7` and `0.3.0`.
21
+ - Do **not** cut releases with PyPI/PEP 440 prerelease or suffix forms like `0.3.0rc1`, `0.3.0b1`, `0.3.0.post1`, or `0.3.0.dev1` unless the update-check logic is updated first.
22
+ - Even though PyPI commonly allows those formats, Kon releases should continue following plain `X.Y.Z` so update detection stays correct.
23
+
18
24
  ## Files to bump
19
25
 
20
26
  - `pyproject.toml` → `[project].version`
@@ -104,10 +104,10 @@ capture /tmp/kon-test-4-new.txt
104
104
 
105
105
  # =============================================================================
106
106
  # Test 5: Tab completion - unique match
107
- # Verify: typing "sr" then Tab completes to "src/"
107
+ # Verify: typing "pypr" then Tab completes to "pyproject.toml"
108
108
  # =============================================================================
109
109
  echo "Test 5: Tab completion - unique match..."
110
- tmux send-keys -t "$SESSION_NAME" 'sr'
110
+ tmux send-keys -t "$SESSION_NAME" 'pypr'
111
111
  sleep 1
112
112
  tmux send-keys -t "$SESSION_NAME" Tab
113
113
  sleep 2
@@ -116,10 +116,11 @@ clear_input
116
116
 
117
117
  # =============================================================================
118
118
  # Test 6: Tab completion - multiple alternatives (floating list)
119
- # Verify: typing "s" then Tab shows floating list with scripts/, src/
119
+ # Verify: typing "src/kon/ui/s" then Tab shows a list including:
120
+ # selection_mode.py, session_ui.py, styles.py
120
121
  # =============================================================================
121
122
  echo "Test 6: Tab completion - multiple alternatives..."
122
- tmux send-keys -t "$SESSION_NAME" 's'
123
+ tmux send-keys -t "$SESSION_NAME" 'src/kon/ui/s'
123
124
  sleep 1
124
125
  tmux send-keys -t "$SESSION_NAME" Tab
125
126
  sleep 2
@@ -127,11 +128,11 @@ capture /tmp/kon-test-6-tab-multiple.txt
127
128
  clear_input
128
129
 
129
130
  # =============================================================================
130
- # Test 7: Tab completion - home directory
131
- # Verify: typing "~/De" then Tab shows floating list with Desktop/, Developer/, etc.
131
+ # Test 7: Tab completion - nested unique file
132
+ # Verify: typing "src/kon/ui/widg" then Tab completes to "src/kon/ui/widgets.py"
132
133
  # =============================================================================
133
- echo "Test 7: Tab completion - home directory..."
134
- tmux send-keys -t "$SESSION_NAME" '~/De'
134
+ echo "Test 7: Tab completion - nested unique file..."
135
+ tmux send-keys -t "$SESSION_NAME" 'src/kon/ui/widg'
135
136
  sleep 1
136
137
  tmux send-keys -t "$SESSION_NAME" Tab
137
138
  sleep 2
@@ -140,14 +141,14 @@ clear_input
140
141
 
141
142
  # =============================================================================
142
143
  # Test 8: Tab completion - select from list
143
- # Verify: typing "s" Tab shows list, then select with Enter applies completion
144
+ # Verify: typing "src/kon/ui/s" Tab shows list, then Enter applies first completion
144
145
  # =============================================================================
145
146
  echo "Test 8: Tab completion - select from list..."
146
- tmux send-keys -t "$SESSION_NAME" 's'
147
+ tmux send-keys -t "$SESSION_NAME" 'src/kon/ui/s'
147
148
  sleep 1
148
149
  tmux send-keys -t "$SESSION_NAME" Tab
149
150
  sleep 2
150
- # Select first item (scripts/) with Enter
151
+ # Select first item from floating list with Enter
151
152
  tmux send-keys -t "$SESSION_NAME" Enter
152
153
  sleep 1
153
154
  capture /tmp/kon-test-8-tab-select.txt
@@ -0,0 +1,107 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ ## [Unreleased]
6
+
7
+ - No changes yet.
8
+
9
+ ## 0.3.1 - 2026-03-21
10
+
11
+ ### Added
12
+
13
+ - Added optional built-in web tools (`web_search`, `web_fetch`) configurable via `--extra-tools` and config - @Meltedd.
14
+ - Added tool permission controls with bash safety analysis - @Meltedd.
15
+ - Added popular built-in themes.
16
+ - Added tool previews in approval prompts.
17
+ - Added run token throughput metrics.
18
+
19
+ ### Changed
20
+
21
+ - Updated the default config shape to use `ui.theme`, add `tools` and `permissions` sections, and simplify agent loop defaults.
22
+ - Refreshed README/config/local-model docs and clarified custom skill slash commands.
23
+ - Improved plain-text tool call displays, approval UI presentation, and thinking/input styling.
24
+
25
+ ### Fixed
26
+
27
+ - Fixed session loading to rebuild the agent and persist the session system prompt.
28
+ - Fixed session file handling by tightening session directory permissions and tarfile path filtering.
29
+ - Fixed update-version check behavior and shortened web fetch extraction errors.
30
+ - Fixed collapsed thinking block rendering, exit summary theming, and summary formatting polish.
31
+ - Fixed skill collision warning path formatting to display consistently.
32
+
33
+ ## 0.3.0 - 2026-03-15
34
+
35
+ ### Added
36
+
37
+ - Added `/handoff` to start a focused handoff in a new session, including handoff links between sessions.
38
+ - Added Azure AI Foundry provider support for Anthropic models.
39
+ - Added configurable Git context controls in the system prompt.
40
+ - Added startup launch warnings for provider/config/skill initialization issues.
41
+ - Added dotted spinner statuses for handoff and auto-compaction.
42
+ - Added resume-list improvements for skill-trigger sessions and session deletion.
43
+ - Added file change tracking from edit/write tools, including InfoBar counters and details modal.
44
+ - Added incremental markdown rendering during streaming with heading color support.
45
+ - Added adaptive thinking support for Claude 4.6 models.
46
+ - Added richer exit summary with KON logo, elapsed duration, and file-change totals.
47
+
48
+ ### Changed
49
+
50
+ - Improved model picker ordering by provider and model id.
51
+ - Improved status line token display to show raw streaming token counts.
52
+ - Improved handoff marker/link rendering for cleaner output.
53
+ - Updated README intro/config guidance and model/provider documentation.
54
+
55
+ ### Fixed
56
+
57
+ - Fixed Anthropic stream handling by dropping unsigned thinking blocks, leading empty text chunks, and empty assistant messages.
58
+ - Fixed tool error propagation so failures are sent back to the model in tool result content.
59
+ - Fixed file change stats reset behavior on `/new` and `/clear`.
60
+ - Fixed markdown finalization to preserve block-level structure after streaming.
61
+ - Fixed editor/input UX regressions (newline border flicker and truncation/history cycling conflicts).
62
+ - Fixed git-status prompt spacing and reduced git-context prompt cap for stability.
63
+
64
+ ## 0.2.7 - 2026-03-14
65
+
66
+ ### Added
67
+
68
+ - Added automatic user config migration with schema versioning and backup creation (`~/.kon/config.toml.bak.<timestamp>`).
69
+ - Added migration tests for legacy config key upgrades and no-op behavior on current schema versions.
70
+ - Added provider error-format tests to ensure empty upstream exceptions render with readable fallback text.
71
+
72
+ ### Fixed
73
+
74
+ - Fixed blank error notifications (`✗` with no message) by normalizing empty provider/UI error messages.
75
+
76
+ ## 0.2.6 - 2026-03-14
77
+
78
+ ### New Features
79
+
80
+ - Added slash-triggered skill workflow in the TUI.
81
+
82
+ ### Added
83
+
84
+ - Added clearer UI highlighting for informational/system notices.
85
+ - Added regression tests for compaction behavior and update notice behavior.
86
+ - Added a direct changelog link in update-available notices.
87
+
88
+ ### Changed
89
+
90
+ - Improved tool output presentation, including truncated output labels and bash previews.
91
+ - Refined loaded resource headers in chat (`[Context]` and `[Skills]`) for better scanning.
92
+ - Renamed warning color usage to `notice` in UI color configuration for consistency.
93
+ - Simplified update notifications to always show the repository changelog URL.
94
+ - Updated README skills docs with `register_cmd` and `cmd_info` front matter fields and validation rules.
95
+
96
+ ### Fixed
97
+
98
+ - Fixed compaction usage accounting by backtracking token usage correctly.
99
+ - Fixed markdown heading rendering by sanitizing inline code ticks.
100
+ - Fixed skill-trigger prompt formatting edge cases in UI messages.
101
+ - Removed italic styling from thinking blocks in both TUI and exported transcripts.
102
+
103
+ ## 0.2.5 - 2026-03-14
104
+
105
+ - Added update-available notice in TUI.
106
+ - Improved configuration and context loading behavior.
107
+ - Added tests for update notice behavior.
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2026 kuutsav
3
+ Copyright (c) 2026 0xku
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal