todo-agent 0.2.6__tar.gz → 0.2.9__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.
- {todo_agent-0.2.6 → todo_agent-0.2.9}/PKG-INFO +33 -65
- {todo_agent-0.2.6 → todo_agent-0.2.9}/README.md +32 -64
- {todo_agent-0.2.6 → todo_agent-0.2.9}/tests/test_core/test_conversation_manager.py +1 -1
- todo_agent-0.2.9/tests/test_core/test_todo_manager.py +521 -0
- todo_agent-0.2.9/tests/test_infrastructure/test_todo_shell.py +775 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/tests/test_interface/test_formatters.py +6 -6
- {todo_agent-0.2.6 → todo_agent-0.2.9}/tests/test_interface/test_tools.py +67 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/todo_agent/_version.py +3 -3
- {todo_agent-0.2.6 → todo_agent-0.2.9}/todo_agent/core/conversation_manager.py +57 -6
- {todo_agent-0.2.6 → todo_agent-0.2.9}/todo_agent/core/todo_manager.py +139 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/todo_agent/infrastructure/inference.py +23 -1
- {todo_agent-0.2.6 → todo_agent-0.2.9}/todo_agent/infrastructure/ollama_client.py +2 -2
- {todo_agent-0.2.6 → todo_agent-0.2.9}/todo_agent/infrastructure/openrouter_client.py +26 -20
- todo_agent-0.2.9/todo_agent/infrastructure/prompts/system_prompt.txt +413 -0
- todo_agent-0.2.9/todo_agent/infrastructure/todo_shell.py +476 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/todo_agent/interface/cli.py +8 -8
- {todo_agent-0.2.6 → todo_agent-0.2.9}/todo_agent/interface/formatters.py +3 -9
- {todo_agent-0.2.6 → todo_agent-0.2.9}/todo_agent/interface/tools.py +265 -9
- {todo_agent-0.2.6 → todo_agent-0.2.9}/todo_agent.egg-info/PKG-INFO +33 -65
- todo_agent-0.2.6/tests/test_core/test_todo_manager.py +0 -188
- todo_agent-0.2.6/tests/test_infrastructure/test_todo_shell.py +0 -299
- todo_agent-0.2.6/todo_agent/infrastructure/prompts/system_prompt.txt +0 -160
- todo_agent-0.2.6/todo_agent/infrastructure/todo_shell.py +0 -153
- {todo_agent-0.2.6 → todo_agent-0.2.9}/.gitignore +0 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/LICENSE +0 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/MANIFEST.in +0 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/Makefile +0 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/docs/publishing.md +0 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/pyproject.toml +0 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/requirements-dev.txt +0 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/requirements.txt +0 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/setup.cfg +0 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/tests/__init__.py +0 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/tests/test_core/__init__.py +0 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/tests/test_infrastructure/__init__.py +0 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/tests/test_infrastructure/test_calendar_utils.py +0 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/tests/test_infrastructure/test_config.py +0 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/tests/test_infrastructure/test_inference.py +0 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/tests/test_infrastructure/test_llm_client_factory.py +0 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/tests/test_infrastructure/test_ollama_client.py +0 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/tests/test_infrastructure/test_openrouter_client.py +0 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/tests/test_infrastructure/test_token_counter.py +0 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/tests/test_interface/__init__.py +0 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/tests/test_interface/test_cli.py +0 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/tests/test_linting.py +0 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/tests/test_logger.py +0 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/tests/test_main.py +0 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/todo_agent/__init__.py +0 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/todo_agent/core/__init__.py +0 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/todo_agent/core/exceptions.py +0 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/todo_agent/infrastructure/__init__.py +0 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/todo_agent/infrastructure/calendar_utils.py +0 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/todo_agent/infrastructure/config.py +0 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/todo_agent/infrastructure/llm_client.py +0 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/todo_agent/infrastructure/llm_client_factory.py +0 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/todo_agent/infrastructure/logger.py +0 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/todo_agent/infrastructure/token_counter.py +0 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/todo_agent/interface/__init__.py +0 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/todo_agent/main.py +0 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/todo_agent.egg-info/SOURCES.txt +0 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/todo_agent.egg-info/dependency_links.txt +0 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/todo_agent.egg-info/entry_points.txt +0 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/todo_agent.egg-info/requires.txt +0 -0
- {todo_agent-0.2.6 → todo_agent-0.2.9}/todo_agent.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: todo-agent
|
3
|
-
Version: 0.2.
|
3
|
+
Version: 0.2.9
|
4
4
|
Summary: A natural language interface for todo.sh task management
|
5
5
|
Author: codeprimate
|
6
6
|
Maintainer: codeprimate
|
@@ -51,7 +51,7 @@ A natural language interface for [todo.sh](https://github.com/todotxt/todo.txt-c
|
|
51
51
|
|
52
52
|
## What it does
|
53
53
|
|
54
|
-
Transform natural language into todo.sh commands:
|
54
|
+
Transform natural language into todo.sh commands with intelligent task management:
|
55
55
|
|
56
56
|
```bash
|
57
57
|
# Use interactively
|
@@ -62,91 +62,43 @@ todo-agent "add buy groceries to shopping list"
|
|
62
62
|
todo-agent "show my work tasks"
|
63
63
|
```
|
64
64
|
|
65
|
-
##
|
66
|
-
|
67
|
-
### 1. Install
|
65
|
+
## Why Todo Agent?
|
68
66
|
|
69
|
-
|
67
|
+
**Speak naturally** instead of memorizing commands. Todo Agent understands "add dentist appointment next Monday" and automatically sets the right date, project, and context.
|
70
68
|
|
71
|
-
**
|
69
|
+
**Get intelligent insights** beyond basic task lists. It organizes tasks strategically, suggests priorities, and recommends optimal timing based on your patterns.
|
72
70
|
|
73
|
-
|
71
|
+
**Work smarter** with automatic duplicate detection, recurring task handling, and calendar-aware scheduling.
|
74
72
|
|
75
|
-
**
|
76
|
-
```bash
|
77
|
-
# Using Homebrew
|
78
|
-
brew install todo-txt
|
79
|
-
# Or using MacPorts
|
80
|
-
sudo port install todo-txt
|
81
|
-
```
|
73
|
+
**Choose your privacy** - use cloud AI (OpenRouter) or run locally (Ollama).
|
82
74
|
|
83
|
-
|
84
|
-
```bash
|
85
|
-
# Ubuntu/Debian
|
86
|
-
sudo apt-get install todo-txt-cli
|
87
|
-
# CentOS/RHEL/Fedora
|
88
|
-
sudo yum install todo-txt-cli
|
89
|
-
# or
|
90
|
-
sudo dnf install todo-txt-cli
|
91
|
-
# Arch Linux
|
92
|
-
sudo pacman -S todo-txt-cli
|
93
|
-
```
|
75
|
+
## Quick Start
|
94
76
|
|
95
|
-
|
96
|
-
```bash
|
97
|
-
# Using Chocolatey
|
98
|
-
choco install todo-txt-cli
|
99
|
-
# Using Scoop
|
100
|
-
scoop install todo-txt-cli
|
101
|
-
```
|
77
|
+
### 1. Install
|
102
78
|
|
103
|
-
|
104
|
-
```bash
|
105
|
-
git clone https://github.com/todotxt/todo.txt-cli.git
|
106
|
-
cd todo.txt-cli
|
107
|
-
make
|
108
|
-
sudo make install
|
109
|
-
```
|
79
|
+
#### Install todo.sh (required)
|
110
80
|
|
111
|
-
|
81
|
+
**macOS:** `brew install todo-txt`
|
82
|
+
**Linux:** `sudo apt-get install todo-txt-cli` (Ubuntu/Debian) or `sudo pacman -S todo-txt-cli` (Arch)
|
83
|
+
**Windows:** `choco install todo-txt-cli` (Chocolatey) or `scoop install todo-txt-cli` (Scoop)
|
112
84
|
|
113
|
-
|
85
|
+
#### Set up todo.sh
|
114
86
|
|
115
87
|
```bash
|
116
|
-
# Create
|
117
|
-
mkdir ~/todo
|
118
|
-
cd ~/todo
|
119
|
-
|
120
|
-
# Initialize todo.sh (this creates the initial todo.txt file)
|
88
|
+
# Create and initialize your todo directory
|
89
|
+
mkdir ~/todo && cd ~/todo
|
121
90
|
todo.sh init
|
122
91
|
|
123
|
-
#
|
124
|
-
todo.sh version
|
125
|
-
```
|
126
|
-
|
127
|
-
**Important:** Set the `TODO_DIR` environment variable to point to your todo.txt repository:
|
128
|
-
|
129
|
-
```bash
|
92
|
+
# Add to your shell profile (.bashrc, .zshrc, etc.)
|
130
93
|
export TODO_DIR="$HOME/todo"
|
131
94
|
```
|
132
95
|
|
133
|
-
You can add this to your shell profile (`.bashrc`, `.zshrc`, etc.) to make it permanent.
|
134
|
-
|
135
96
|
#### Install todo-agent
|
136
97
|
|
137
98
|
```bash
|
138
|
-
# Clone and install from source
|
139
99
|
git clone https://github.com/codeprimate/todo-agent.git
|
140
100
|
cd todo_agent
|
141
|
-
|
142
|
-
# Option 1: Install built package locally
|
143
101
|
make install
|
144
|
-
|
145
|
-
# Option 2: Install in development mode with dev dependencies
|
146
|
-
make install-dev
|
147
|
-
|
148
|
-
# Option 3: Install in development mode (basic)
|
149
|
-
pip install -e .
|
150
102
|
```
|
151
103
|
|
152
104
|
### 2. Set up your LLM provider
|
@@ -200,6 +152,22 @@ todo-agent "show completed tasks"
|
|
200
152
|
todo-agent "list my contexts"
|
201
153
|
```
|
202
154
|
|
155
|
+
### Strategic Planning
|
156
|
+
```bash
|
157
|
+
todo-agent "what should I do next?"
|
158
|
+
todo-agent "organize my tasks by priority"
|
159
|
+
todo-agent "show me everything due this week"
|
160
|
+
todo-agent "what tasks are blocking other work?"
|
161
|
+
```
|
162
|
+
|
163
|
+
### Natural Language Intelligence
|
164
|
+
```bash
|
165
|
+
todo-agent "add dentist appointment next Monday"
|
166
|
+
todo-agent "set up recurring daily vitamin reminder"
|
167
|
+
todo-agent "move all completed tasks to archive"
|
168
|
+
todo-agent "show me tasks I can do from home"
|
169
|
+
```
|
170
|
+
|
203
171
|
## Configuration
|
204
172
|
|
205
173
|
|
@@ -4,7 +4,7 @@ A natural language interface for [todo.sh](https://github.com/todotxt/todo.txt-c
|
|
4
4
|
|
5
5
|
## What it does
|
6
6
|
|
7
|
-
Transform natural language into todo.sh commands:
|
7
|
+
Transform natural language into todo.sh commands with intelligent task management:
|
8
8
|
|
9
9
|
```bash
|
10
10
|
# Use interactively
|
@@ -15,91 +15,43 @@ todo-agent "add buy groceries to shopping list"
|
|
15
15
|
todo-agent "show my work tasks"
|
16
16
|
```
|
17
17
|
|
18
|
-
##
|
19
|
-
|
20
|
-
### 1. Install
|
18
|
+
## Why Todo Agent?
|
21
19
|
|
22
|
-
|
20
|
+
**Speak naturally** instead of memorizing commands. Todo Agent understands "add dentist appointment next Monday" and automatically sets the right date, project, and context.
|
23
21
|
|
24
|
-
**
|
22
|
+
**Get intelligent insights** beyond basic task lists. It organizes tasks strategically, suggests priorities, and recommends optimal timing based on your patterns.
|
25
23
|
|
26
|
-
|
24
|
+
**Work smarter** with automatic duplicate detection, recurring task handling, and calendar-aware scheduling.
|
27
25
|
|
28
|
-
**
|
29
|
-
```bash
|
30
|
-
# Using Homebrew
|
31
|
-
brew install todo-txt
|
32
|
-
# Or using MacPorts
|
33
|
-
sudo port install todo-txt
|
34
|
-
```
|
26
|
+
**Choose your privacy** - use cloud AI (OpenRouter) or run locally (Ollama).
|
35
27
|
|
36
|
-
|
37
|
-
```bash
|
38
|
-
# Ubuntu/Debian
|
39
|
-
sudo apt-get install todo-txt-cli
|
40
|
-
# CentOS/RHEL/Fedora
|
41
|
-
sudo yum install todo-txt-cli
|
42
|
-
# or
|
43
|
-
sudo dnf install todo-txt-cli
|
44
|
-
# Arch Linux
|
45
|
-
sudo pacman -S todo-txt-cli
|
46
|
-
```
|
28
|
+
## Quick Start
|
47
29
|
|
48
|
-
|
49
|
-
```bash
|
50
|
-
# Using Chocolatey
|
51
|
-
choco install todo-txt-cli
|
52
|
-
# Using Scoop
|
53
|
-
scoop install todo-txt-cli
|
54
|
-
```
|
30
|
+
### 1. Install
|
55
31
|
|
56
|
-
|
57
|
-
```bash
|
58
|
-
git clone https://github.com/todotxt/todo.txt-cli.git
|
59
|
-
cd todo.txt-cli
|
60
|
-
make
|
61
|
-
sudo make install
|
62
|
-
```
|
32
|
+
#### Install todo.sh (required)
|
63
33
|
|
64
|
-
|
34
|
+
**macOS:** `brew install todo-txt`
|
35
|
+
**Linux:** `sudo apt-get install todo-txt-cli` (Ubuntu/Debian) or `sudo pacman -S todo-txt-cli` (Arch)
|
36
|
+
**Windows:** `choco install todo-txt-cli` (Chocolatey) or `scoop install todo-txt-cli` (Scoop)
|
65
37
|
|
66
|
-
|
38
|
+
#### Set up todo.sh
|
67
39
|
|
68
40
|
```bash
|
69
|
-
# Create
|
70
|
-
mkdir ~/todo
|
71
|
-
cd ~/todo
|
72
|
-
|
73
|
-
# Initialize todo.sh (this creates the initial todo.txt file)
|
41
|
+
# Create and initialize your todo directory
|
42
|
+
mkdir ~/todo && cd ~/todo
|
74
43
|
todo.sh init
|
75
44
|
|
76
|
-
#
|
77
|
-
todo.sh version
|
78
|
-
```
|
79
|
-
|
80
|
-
**Important:** Set the `TODO_DIR` environment variable to point to your todo.txt repository:
|
81
|
-
|
82
|
-
```bash
|
45
|
+
# Add to your shell profile (.bashrc, .zshrc, etc.)
|
83
46
|
export TODO_DIR="$HOME/todo"
|
84
47
|
```
|
85
48
|
|
86
|
-
You can add this to your shell profile (`.bashrc`, `.zshrc`, etc.) to make it permanent.
|
87
|
-
|
88
49
|
#### Install todo-agent
|
89
50
|
|
90
51
|
```bash
|
91
|
-
# Clone and install from source
|
92
52
|
git clone https://github.com/codeprimate/todo-agent.git
|
93
53
|
cd todo_agent
|
94
|
-
|
95
|
-
# Option 1: Install built package locally
|
96
54
|
make install
|
97
|
-
|
98
|
-
# Option 2: Install in development mode with dev dependencies
|
99
|
-
make install-dev
|
100
|
-
|
101
|
-
# Option 3: Install in development mode (basic)
|
102
|
-
pip install -e .
|
103
55
|
```
|
104
56
|
|
105
57
|
### 2. Set up your LLM provider
|
@@ -153,6 +105,22 @@ todo-agent "show completed tasks"
|
|
153
105
|
todo-agent "list my contexts"
|
154
106
|
```
|
155
107
|
|
108
|
+
### Strategic Planning
|
109
|
+
```bash
|
110
|
+
todo-agent "what should I do next?"
|
111
|
+
todo-agent "organize my tasks by priority"
|
112
|
+
todo-agent "show me everything due this week"
|
113
|
+
todo-agent "what tasks are blocking other work?"
|
114
|
+
```
|
115
|
+
|
116
|
+
### Natural Language Intelligence
|
117
|
+
```bash
|
118
|
+
todo-agent "add dentist appointment next Monday"
|
119
|
+
todo-agent "set up recurring daily vitamin reminder"
|
120
|
+
todo-agent "move all completed tasks to archive"
|
121
|
+
todo-agent "show me tasks I can do from home"
|
122
|
+
```
|
123
|
+
|
156
124
|
## Configuration
|
157
125
|
|
158
126
|
|
@@ -14,7 +14,7 @@ class TestConversationManager:
|
|
14
14
|
"""Test ConversationManager initialization."""
|
15
15
|
manager = ConversationManager()
|
16
16
|
assert len(manager.history) == 0
|
17
|
-
assert manager.max_tokens ==
|
17
|
+
assert manager.max_tokens == 32000
|
18
18
|
assert manager.max_messages == 50
|
19
19
|
assert manager.system_prompt is None
|
20
20
|
|