xdog-coding 2.1.1__tar.gz → 2.1.2__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.
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/.gitignore +1 -1
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/PKG-INFO +9 -9
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/README.md +3 -3
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/pyproject.toml +6 -6
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/config.py +7 -7
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/LICENSE +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/LICENSE-EXCEPTION.md +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/__init__.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/cli/__init__.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/cli/args.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/cli/config_selector.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/cli/file_processor.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/cli/initial_message.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/cli/list_models.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/cli/session_picker.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/core/__init__.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/core/agent_session.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/core/bash_executor.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/core/compaction/__init__.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/core/compaction/compaction.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/core/compaction/utils.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/core/defaults.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/core/event_bus.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/core/exec_utils.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/core/extensions/__init__.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/core/extensions/loader.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/core/extensions/runner.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/core/extensions/types.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/core/keybindings.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/core/messages.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/core/prompt_templates.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/core/resource_loader.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/core/sdk.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/core/session_manager.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/core/settings_manager.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/core/slash_commands.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/core/system_prompt.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/core/timings.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/core/tools/__init__.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/main.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/modes/__init__.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/modes/interactive/__init__.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/modes/interactive/components/__init__.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/modes/interactive/components/assistant_message.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/modes/interactive/components/chat_log.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/modes/interactive/components/custom_editor.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/modes/interactive/components/footer.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/modes/interactive/components/tool_execution.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/modes/interactive/components/user_message.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/modes/interactive/interactive_mode.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/modes/interactive/theme.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/modes/print_mode.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/modes/rpc/__init__.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/modes/rpc/rpc_mode.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/py.typed +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/utils/__init__.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/utils/frontmatter.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/utils/git.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/utils/mime.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/utils/shell.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/utils/sleep.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/tests/test_agent_session.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/tests/test_cli_args.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/tests/test_cli_config_selector.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/tests/test_cli_file_processor.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/tests/test_coding_config.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/tests/test_event_bus.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/tests/test_footer_context.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/tests/test_interactive_mode.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/tests/test_messages.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/tests/test_prompt_templates.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/tests/test_resource_loader.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/tests/test_rpc_mode.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/tests/test_session_manager.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/tests/test_session_smoke.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/tests/test_settings_manager.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/tests/test_slash_commands.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/tests/test_slash_skills.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/tests/test_system_prompt.py +0 -0
- {xdog_coding-2.1.1 → xdog_coding-2.1.2}/tests/test_timings.py +0 -0
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: xdog-coding
|
|
3
|
-
Version: 2.1.
|
|
3
|
+
Version: 2.1.2
|
|
4
4
|
Summary: Interactive coding agent CLI
|
|
5
5
|
Project-URL: Homepage, https://xdog.942295.xyz
|
|
6
|
-
Project-URL: Repository, https://github.com/litterzhang/
|
|
6
|
+
Project-URL: Repository, https://github.com/litterzhang/xdog
|
|
7
7
|
Project-URL: Documentation, https://xdog.942295.xyz
|
|
8
|
-
Project-URL: Issues, https://github.com/litterzhang/
|
|
8
|
+
Project-URL: Issues, https://github.com/litterzhang/xdog/issues
|
|
9
9
|
Author: HugeMan
|
|
10
10
|
License-Expression: AGPL-3.0-or-later
|
|
11
11
|
License-File: LICENSE
|
|
@@ -21,9 +21,9 @@ Requires-Python: >=3.12
|
|
|
21
21
|
Requires-Dist: click>=8.1.0
|
|
22
22
|
Requires-Dist: pydantic>=2.0
|
|
23
23
|
Requires-Dist: pyyaml>=6.0
|
|
24
|
-
Requires-Dist: xdog-agent>=2.1.
|
|
25
|
-
Requires-Dist: xdog-ai>=2.1.
|
|
26
|
-
Requires-Dist: xdog-tui>=2.1.
|
|
24
|
+
Requires-Dist: xdog-agent>=2.1.2
|
|
25
|
+
Requires-Dist: xdog-ai>=2.1.2
|
|
26
|
+
Requires-Dist: xdog-tui>=2.1.2
|
|
27
27
|
Description-Content-Type: text/markdown
|
|
28
28
|
|
|
29
29
|
# xdog-coding
|
|
@@ -38,9 +38,9 @@ A terminal coding agent with session management, built on
|
|
|
38
38
|
uv run xdog-coding
|
|
39
39
|
```
|
|
40
40
|
|
|
41
|
-
## Part of
|
|
41
|
+
## Part of xdog
|
|
42
42
|
|
|
43
|
-
This package is one piece of [
|
|
43
|
+
This package is one piece of [xdog](https://github.com/litterzhang/xdog), a
|
|
44
44
|
local-first toolkit for building, running and scheduling LLM workflows. The
|
|
45
45
|
centrepiece is [`xdog-flow`](https://pypi.org/project/xdog-flow/) — a typed
|
|
46
46
|
workflow format and compiler.
|
|
@@ -52,4 +52,4 @@ Documentation: **https://xdog.942295.xyz**
|
|
|
52
52
|
Copyright (c) 2026 HugeMan <942295.xyz>
|
|
53
53
|
|
|
54
54
|
GNU Affero General Public License v3.0 or later — see
|
|
55
|
-
[LICENSE](https://github.com/litterzhang/
|
|
55
|
+
[LICENSE](https://github.com/litterzhang/xdog/blob/main/LICENSE).
|
|
@@ -10,9 +10,9 @@ A terminal coding agent with session management, built on
|
|
|
10
10
|
uv run xdog-coding
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
## Part of
|
|
13
|
+
## Part of xdog
|
|
14
14
|
|
|
15
|
-
This package is one piece of [
|
|
15
|
+
This package is one piece of [xdog](https://github.com/litterzhang/xdog), a
|
|
16
16
|
local-first toolkit for building, running and scheduling LLM workflows. The
|
|
17
17
|
centrepiece is [`xdog-flow`](https://pypi.org/project/xdog-flow/) — a typed
|
|
18
18
|
workflow format and compiler.
|
|
@@ -24,4 +24,4 @@ Documentation: **https://xdog.942295.xyz**
|
|
|
24
24
|
Copyright (c) 2026 HugeMan <942295.xyz>
|
|
25
25
|
|
|
26
26
|
GNU Affero General Public License v3.0 or later — see
|
|
27
|
-
[LICENSE](https://github.com/litterzhang/
|
|
27
|
+
[LICENSE](https://github.com/litterzhang/xdog/blob/main/LICENSE).
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "xdog-coding"
|
|
7
|
-
version = "2.1.
|
|
7
|
+
version = "2.1.2"
|
|
8
8
|
description = "Interactive coding agent CLI"
|
|
9
9
|
requires-python = ">=3.12"
|
|
10
10
|
classifiers = [
|
|
@@ -21,9 +21,9 @@ readme = "README.md"
|
|
|
21
21
|
license = "AGPL-3.0-or-later"
|
|
22
22
|
license-files = ["LICENSE", "LICENSE-EXCEPTION.md"]
|
|
23
23
|
dependencies = [
|
|
24
|
-
"xdog-ai>=2.1.
|
|
25
|
-
"xdog-agent>=2.1.
|
|
26
|
-
"xdog-tui>=2.1.
|
|
24
|
+
"xdog-ai>=2.1.2",
|
|
25
|
+
"xdog-agent>=2.1.2",
|
|
26
|
+
"xdog-tui>=2.1.2",
|
|
27
27
|
"pyyaml>=6.0",
|
|
28
28
|
"click>=8.1.0",
|
|
29
29
|
"pydantic>=2.0",
|
|
@@ -31,9 +31,9 @@ dependencies = [
|
|
|
31
31
|
|
|
32
32
|
[project.urls]
|
|
33
33
|
Homepage = "https://xdog.942295.xyz"
|
|
34
|
-
Repository = "https://github.com/litterzhang/
|
|
34
|
+
Repository = "https://github.com/litterzhang/xdog"
|
|
35
35
|
Documentation = "https://xdog.942295.xyz"
|
|
36
|
-
Issues = "https://github.com/litterzhang/
|
|
36
|
+
Issues = "https://github.com/litterzhang/xdog/issues"
|
|
37
37
|
|
|
38
38
|
[project.scripts]
|
|
39
39
|
xdog-coding = "xdog.coding.main:main"
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"""Global configuration and paths for the coding agent.
|
|
2
2
|
|
|
3
3
|
Follows XDG Base Directory Specification:
|
|
4
|
-
- Config: $XDG_CONFIG_HOME/
|
|
5
|
-
- Data: $XDG_DATA_HOME/
|
|
6
|
-
- State: $XDG_STATE_HOME/
|
|
4
|
+
- Config: $XDG_CONFIG_HOME/xdog/coding/ (settings, models, keybindings)
|
|
5
|
+
- Data: $XDG_DATA_HOME/xdog/coding/ (sessions, auth, extensions)
|
|
6
|
+
- State: $XDG_STATE_HOME/xdog/coding/ (logs, cache)
|
|
7
7
|
- Project: <cwd>/.coding/ (project-local config)
|
|
8
8
|
|
|
9
9
|
Override all XDG paths with a single directory via CODING_DIR env var.
|
|
@@ -24,7 +24,7 @@ from pydantic import BaseModel, Field
|
|
|
24
24
|
# Constants
|
|
25
25
|
# ---------------------------------------------------------------------------
|
|
26
26
|
|
|
27
|
-
MONOREPO_NAME = "
|
|
27
|
+
MONOREPO_NAME = "xdog"
|
|
28
28
|
APP_NAME = "coding"
|
|
29
29
|
VERSION = "0.57.1"
|
|
30
30
|
PROJECT_DIR_NAME = ".coding"
|
|
@@ -45,7 +45,7 @@ def _env_override_dir() -> Path | None:
|
|
|
45
45
|
|
|
46
46
|
|
|
47
47
|
def get_config_dir() -> Path:
|
|
48
|
-
"""$XDG_CONFIG_HOME/
|
|
48
|
+
"""$XDG_CONFIG_HOME/xdog/coding/"""
|
|
49
49
|
override = _env_override_dir()
|
|
50
50
|
if override is not None:
|
|
51
51
|
return override
|
|
@@ -54,7 +54,7 @@ def get_config_dir() -> Path:
|
|
|
54
54
|
|
|
55
55
|
|
|
56
56
|
def get_data_dir() -> Path:
|
|
57
|
-
"""$XDG_DATA_HOME/
|
|
57
|
+
"""$XDG_DATA_HOME/xdog/coding/"""
|
|
58
58
|
override = _env_override_dir()
|
|
59
59
|
if override is not None:
|
|
60
60
|
return override
|
|
@@ -63,7 +63,7 @@ def get_data_dir() -> Path:
|
|
|
63
63
|
|
|
64
64
|
|
|
65
65
|
def get_state_dir() -> Path:
|
|
66
|
-
"""$XDG_STATE_HOME/
|
|
66
|
+
"""$XDG_STATE_HOME/xdog/coding/"""
|
|
67
67
|
override = _env_override_dir()
|
|
68
68
|
if override is not None:
|
|
69
69
|
return override
|
|
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
|
|
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
|
{xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/modes/interactive/components/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/modes/interactive/components/chat_log.py
RENAMED
|
File without changes
|
|
File without changes
|
{xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/modes/interactive/components/footer.py
RENAMED
|
File without changes
|
|
File without changes
|
{xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/modes/interactive/components/user_message.py
RENAMED
|
File without changes
|
{xdog_coding-2.1.1 → xdog_coding-2.1.2}/src/xdog/coding/modes/interactive/interactive_mode.py
RENAMED
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|