@langadventurellc/task-trellis-mcp 1.0.0-rc.2 → 1.0.0
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.
- package/README.md +344 -80
- package/dist/utils/__tests__/replaceStringWithRegex.test.js +18 -0
- package/dist/utils/__tests__/replaceStringWithRegex.test.js.map +1 -1
- package/dist/utils/replaceStringWithRegex.d.ts.map +1 -1
- package/dist/utils/replaceStringWithRegex.js +14 -5
- package/dist/utils/replaceStringWithRegex.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,110 +1,358 @@
|
|
|
1
1
|
# Task Trellis MCP
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
> Transform AI coding chaos into organized productivity
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/@langadventurellc/task-trellis-mcp)
|
|
6
|
+
[](https://www.gnu.org/licenses/gpl-3.0)
|
|
7
|
+
|
|
8
|
+
An MCP (Model Context Protocol) server that greatly improves how AI coding agents handle complex projects. Task Trellis breaks down large development efforts into manageable, trackable work items with built-in workflow management, dependency handling, and progress tracking.
|
|
9
|
+
|
|
10
|
+
## Table of Contents
|
|
11
|
+
|
|
12
|
+
- [Why Task Trellis?](#why-task-trellis)
|
|
13
|
+
- [Core Benefits](#core-benefits)
|
|
14
|
+
- [Usage](#usage)
|
|
15
|
+
- [Available Tools](#available-tools)
|
|
16
|
+
- [Project Hierarchy](#project-hierarchy)
|
|
17
|
+
- [Prerequisites & Dependencies](#prerequisites--dependencies)
|
|
18
|
+
- [File Storage](#file-storage)
|
|
19
|
+
- [Installation](#installation)
|
|
20
|
+
- [Quick Test](#quick-test)
|
|
21
|
+
- [Configuration Options](#configuration-options)
|
|
22
|
+
- [Troubleshooting](#troubleshooting)
|
|
23
|
+
|
|
24
|
+
## Why Task Trellis?
|
|
25
|
+
|
|
26
|
+
### Without Task Trellis
|
|
27
|
+
|
|
28
|
+
- AI agents lose track of complex, multi-step projects
|
|
29
|
+
- Agents spin out of control with no clear task structure
|
|
30
|
+
- Tasks are often too large or vague, leading to confusion
|
|
31
|
+
- No way to manage dependencies or prerequisites
|
|
32
|
+
- No visibility into what's been completed vs. what's pending
|
|
33
|
+
- Tasks get forgotten, duplicated, or done out of order
|
|
34
|
+
- Zero coordination between multiple AI sessions
|
|
35
|
+
- Complex projects become chaotic and overwhelming
|
|
36
|
+
|
|
37
|
+
### With Task Trellis
|
|
38
|
+
|
|
39
|
+
- **Structured Breakdown**: Automatically organize projects into hierarchical tasks (depending on the size of the effort required)
|
|
40
|
+
- For large projects, create a project with epics, features, and tasks
|
|
41
|
+
- For medium projects, create features with tasks
|
|
42
|
+
- For small tasks, create standalone tasks
|
|
43
|
+
- **Smart Dependencies**: Prevent tasks from starting until prerequisites are complete
|
|
44
|
+
- **Progress Tracking**: Real-time visibility into what's done, in-progress, and pending
|
|
45
|
+
- **Session Continuity**: Pick up exactly where you left off across AI conversations
|
|
46
|
+
- **Workflow Management**: Built-in task claiming, completion, and validation workflows
|
|
47
|
+
- **File Change Tracking**: Automatic documentation of what files were modified for each task
|
|
48
|
+
|
|
49
|
+
## Core Benefits
|
|
50
|
+
|
|
51
|
+
**Focused Execution**: AI agents work on one clearly-defined task at a time
|
|
52
|
+
**Progress Visibility**: Always know project status and what's next
|
|
53
|
+
**Dependency Management**: Automatic task ordering based on prerequisites
|
|
54
|
+
**Audit Trail**: Complete history of all work completed and changes made
|
|
55
|
+
**Multi-Session Support**: Seamlessly collaborate across different AI conversations
|
|
56
|
+
**Productivity Boost**: Reduce context switching and eliminate forgotten tasks
|
|
57
|
+
|
|
58
|
+
## Usage
|
|
59
|
+
|
|
60
|
+
### Basic Workflow
|
|
61
|
+
|
|
62
|
+
See sample prompts (written as Claude Code slash commands): [Sample Prompts](docs/sample_prompts/index.md)
|
|
63
|
+
|
|
64
|
+
1. **Create Tasks**
|
|
65
|
+
- For large projects
|
|
66
|
+
- Create a project
|
|
67
|
+
- Create epics to group features
|
|
68
|
+
- Create features to break down epics
|
|
69
|
+
- Create tasks for specific work items
|
|
70
|
+
- For medium-sized projects
|
|
71
|
+
- Create standalone feature
|
|
72
|
+
- Create tasks directly under the feature
|
|
73
|
+
- For small tasks
|
|
74
|
+
- Create standalone tasks
|
|
75
|
+
|
|
76
|
+
2. **Claim & Work on Tasks**
|
|
77
|
+
- AI agent claims next available task
|
|
78
|
+
- Works on the specific task requirements
|
|
79
|
+
- Marks task complete with file changes documented
|
|
80
|
+
|
|
81
|
+
3. **Track Progress**
|
|
82
|
+
- View completed vs. pending work
|
|
83
|
+
- See dependency relationships
|
|
84
|
+
- Monitor overall project health
|
|
4
85
|
|
|
5
86
|
## Available Tools
|
|
6
87
|
|
|
7
|
-
This MCP server provides comprehensive task management functionality through the following tools:
|
|
8
|
-
|
|
9
88
|
### Core Object Management
|
|
10
89
|
|
|
11
|
-
- **create_object
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
90
|
+
- **create_object** - Create projects, epics, features, or tasks with hierarchical relationships
|
|
91
|
+
- **update_object** - Modify object properties, status, priority, or prerequisites
|
|
92
|
+
- **get_object** - Retrieve detailed object information with history and relationships
|
|
93
|
+
- **list_objects** - Query and filter objects by type, status, priority, or scope
|
|
94
|
+
- **delete_object** - Remove objects (with dependency validation)
|
|
95
|
+
- **replace_object_body_regex** - Make targeted content edits using regex patterns
|
|
15
96
|
|
|
16
|
-
|
|
17
|
-
- Change status, priority, prerequisites, or content
|
|
18
|
-
- Validates status transitions and maintains object integrity
|
|
19
|
-
- Parameters: id, priority, status, prerequisites, body, force
|
|
97
|
+
### Task Workflow Management
|
|
20
98
|
|
|
21
|
-
- **
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
- Parameters: id, regex, replacement, allowMultipleOccurrences (optional)
|
|
99
|
+
- **claim_task** - Claim available tasks for execution with automatic priority ordering
|
|
100
|
+
- **complete_task** - Mark tasks complete with file change documentation
|
|
101
|
+
- **append_object_log** - Add progress notes and status updates to task history
|
|
25
102
|
|
|
26
|
-
|
|
27
|
-
- Returns complete object data including metadata, relationships, and history
|
|
28
|
-
- Parameters: id
|
|
103
|
+
### System Management
|
|
29
104
|
|
|
30
|
-
- **
|
|
31
|
-
|
|
32
|
-
- Parameters: id, force
|
|
105
|
+
- **activate** - Initialize the task system (if not configured via command line)
|
|
106
|
+
- **prune_closed** - Clean up old completed/cancelled objects for maintenance
|
|
33
107
|
|
|
34
|
-
|
|
35
|
-
- Filter by type, status, priority, scope, or closed status
|
|
36
|
-
- Essential for discovering and managing work items
|
|
37
|
-
- Parameters: type, scope (optional), status (optional), priority (optional), includeClosed
|
|
108
|
+
## Project Hierarchy
|
|
38
109
|
|
|
39
|
-
|
|
110
|
+
Task Trellis supports a flexible 4-level hierarchy:
|
|
40
111
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
112
|
+
```
|
|
113
|
+
Project (Top-level container)
|
|
114
|
+
└── Epic (Large feature groupings)
|
|
115
|
+
└── Feature (Specific functionality)
|
|
116
|
+
└── Task (Individual work items)
|
|
117
|
+
```
|
|
45
118
|
|
|
46
|
-
|
|
47
|
-
- Documents file changes and completion summary
|
|
48
|
-
- Updates task status and triggers dependent task progression
|
|
49
|
-
- Parameters: taskId, summary, filesChanged
|
|
119
|
+
**Supported Patterns:**
|
|
50
120
|
|
|
51
|
-
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
- Parameters: id, contents
|
|
121
|
+
- Full hierarchy: `Project → Epic → Feature → Task`
|
|
122
|
+
- Simplified: `Feature → Task`
|
|
123
|
+
- Standalone: `Task` only
|
|
55
124
|
|
|
56
|
-
|
|
125
|
+
## Prerequisites & Dependencies
|
|
126
|
+
|
|
127
|
+
Tasks can have prerequisites that must be completed before they become available:
|
|
128
|
+
|
|
129
|
+
```typescript
|
|
130
|
+
{
|
|
131
|
+
"type": "task",
|
|
132
|
+
"title": "Deploy authentication system",
|
|
133
|
+
"prerequisites": ["T-user-registration", "T-login-system", "T-email-verification"]
|
|
134
|
+
}
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
## File Storage
|
|
138
|
+
|
|
139
|
+
Task Trellis uses a local file-based storage system with different hierarchy patterns:
|
|
140
|
+
|
|
141
|
+
### Full Project Hierarchy
|
|
142
|
+
|
|
143
|
+
```
|
|
144
|
+
your-project/
|
|
145
|
+
└── .trellis/
|
|
146
|
+
└── p/
|
|
147
|
+
└── P-project-id/
|
|
148
|
+
└── e/
|
|
149
|
+
└── E-epic-id/
|
|
150
|
+
└── f/
|
|
151
|
+
└── F-feature-id/
|
|
152
|
+
└── t/
|
|
153
|
+
├── open/
|
|
154
|
+
│ └── T-task-id.md
|
|
155
|
+
└── closed/
|
|
156
|
+
└── T-completed-task-id.md
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### Feature-Only Hierarchy
|
|
160
|
+
|
|
161
|
+
```
|
|
162
|
+
your-project/
|
|
163
|
+
└── .trellis/
|
|
164
|
+
└── f/
|
|
165
|
+
└── F-feature-id/
|
|
166
|
+
└── t/
|
|
167
|
+
├── open/
|
|
168
|
+
│ └── T-task-id.md
|
|
169
|
+
└── closed/
|
|
170
|
+
└── T-completed-task-id.md
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
### Standalone Tasks
|
|
174
|
+
|
|
175
|
+
```
|
|
176
|
+
your-project/
|
|
177
|
+
└── .trellis/
|
|
178
|
+
└── t/
|
|
179
|
+
├── open/
|
|
180
|
+
│ └── T-task-id.md
|
|
181
|
+
└── closed/
|
|
182
|
+
└── T-completed-task-id.md
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
Each object is stored as a Markdown file with YAML frontmatter metadata and content body.
|
|
186
|
+
|
|
187
|
+
## Installation
|
|
188
|
+
|
|
189
|
+
### Claude Code
|
|
190
|
+
|
|
191
|
+
The easiest way to install Task Trellis MCP in Claude Code:
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
claude mcp add @langadventurellc/task-trellis-mcp --projectRootFolder "$(pwd)"
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
Or (you'll be required to call the activate tool once to set the project root folder):
|
|
198
|
+
|
|
199
|
+
```bash
|
|
200
|
+
claude mcp add @langadventurellc/task-trellis-mcp
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
### VS Code with GitHub Copilot
|
|
204
|
+
|
|
205
|
+
1. Add Task Trellis to your VS Code settings. Open your settings JSON file and add:
|
|
206
|
+
|
|
207
|
+
```json
|
|
208
|
+
{
|
|
209
|
+
"github.copilot.chat.mcpServers": {
|
|
210
|
+
"task-trellis": {
|
|
211
|
+
"command": "npx",
|
|
212
|
+
"args": [
|
|
213
|
+
"-y",
|
|
214
|
+
"@langadventurellc/task-trellis-mcp",
|
|
215
|
+
"--projectRootFolder",
|
|
216
|
+
"${workspaceFolder}"
|
|
217
|
+
]
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
### Cursor
|
|
224
|
+
|
|
225
|
+
Install Task Trellis MCP in Cursor by adding to your Cursor settings:
|
|
226
|
+
|
|
227
|
+
**Method 1: Via Settings UI**
|
|
228
|
+
|
|
229
|
+
1. Open Cursor Settings (⌘/Ctrl + ,)
|
|
230
|
+
2. Search for "MCP"
|
|
231
|
+
3. Add new server with:
|
|
232
|
+
- **Name**: `task-trellis`
|
|
233
|
+
- **Command**: `npx`
|
|
234
|
+
- **Args**: `["-y", "@langadventurellc/task-trellis-mcp", "--projectRootFolder", "${workspaceFolder}"]`
|
|
235
|
+
|
|
236
|
+
**Method 2: Via Configuration File**
|
|
237
|
+
Add to your Cursor configuration:
|
|
238
|
+
|
|
239
|
+
```json
|
|
240
|
+
{
|
|
241
|
+
"mcpServers": {
|
|
242
|
+
"task-trellis": {
|
|
243
|
+
"command": "npx",
|
|
244
|
+
"args": [
|
|
245
|
+
"-y",
|
|
246
|
+
"@langadventurellc/task-trellis-mcp",
|
|
247
|
+
"--projectRootFolder",
|
|
248
|
+
"${workspaceFolder}"
|
|
249
|
+
]
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
### Windsurf
|
|
256
|
+
|
|
257
|
+
Add Task Trellis to your Windsurf MCP configuration:
|
|
258
|
+
|
|
259
|
+
```json
|
|
260
|
+
{
|
|
261
|
+
"mcpServers": {
|
|
262
|
+
"task-trellis": {
|
|
263
|
+
"command": "npx",
|
|
264
|
+
"args": [
|
|
265
|
+
"-y",
|
|
266
|
+
"@langadventurellc/task-trellis-mcp",
|
|
267
|
+
"--projectRootFolder",
|
|
268
|
+
"${workspaceRoot}"
|
|
269
|
+
]
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
### Cline (VS Code Extension)
|
|
276
|
+
|
|
277
|
+
1. Add Task Trellis to your Cline MCP servers in VS Code settings:
|
|
278
|
+
|
|
279
|
+
```json
|
|
280
|
+
{
|
|
281
|
+
"cline.mcpServers": {
|
|
282
|
+
"task-trellis": {
|
|
283
|
+
"command": "npx",
|
|
284
|
+
"args": [
|
|
285
|
+
"-y",
|
|
286
|
+
"@langadventurellc/task-trellis-mcp",
|
|
287
|
+
"--projectRootFolder",
|
|
288
|
+
"${workspaceFolder}"
|
|
289
|
+
]
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
### Continue (VS Code Extension)
|
|
296
|
+
|
|
297
|
+
1. Add to your Continue configuration file (`~/.continue/config.json`):
|
|
57
298
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
299
|
+
```json
|
|
300
|
+
{
|
|
301
|
+
"mcpServers": {
|
|
302
|
+
"task-trellis": {
|
|
303
|
+
"command": "npx",
|
|
304
|
+
"args": [
|
|
305
|
+
"-y",
|
|
306
|
+
"@langadventurellc/task-trellis-mcp",
|
|
307
|
+
"--projectRootFolder",
|
|
308
|
+
"/path/to/your/project"
|
|
309
|
+
]
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
```
|
|
62
314
|
|
|
63
|
-
|
|
64
|
-
- Improves system performance and reduces clutter
|
|
65
|
-
- Validates relationships before deletion to maintain integrity
|
|
66
|
-
- Parameters: age, scope (optional)
|
|
315
|
+
### Other MCP Clients
|
|
67
316
|
|
|
68
|
-
|
|
317
|
+
For any MCP-compatible client, use this configuration:
|
|
69
318
|
|
|
70
|
-
|
|
319
|
+
```json
|
|
320
|
+
{
|
|
321
|
+
"mcpServers": {
|
|
322
|
+
"task-trellis": {
|
|
323
|
+
"command": "npx",
|
|
324
|
+
"args": [
|
|
325
|
+
"-y",
|
|
326
|
+
"@langadventurellc/task-trellis-mcp",
|
|
327
|
+
"--projectRootFolder",
|
|
328
|
+
"/absolute/path/to/project"
|
|
329
|
+
]
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
```
|
|
71
334
|
|
|
72
|
-
|
|
73
|
-
npm run build
|
|
74
|
-
```
|
|
335
|
+
## Quick Test
|
|
75
336
|
|
|
76
|
-
|
|
337
|
+
After installation, test that Task Trellis is working by asking your AI assistant:
|
|
77
338
|
|
|
78
|
-
|
|
79
|
-
npm run serve
|
|
80
|
-
```
|
|
339
|
+
> "Create a new project called 'My Test Project'"
|
|
81
340
|
|
|
82
|
-
|
|
83
|
-
```json
|
|
84
|
-
{
|
|
85
|
-
"mcpServers": {
|
|
86
|
-
"task-trellis": {
|
|
87
|
-
"type": "stdio",
|
|
88
|
-
"command": "npx",
|
|
89
|
-
"args": ["@langadventurellc/task-trellis-mcp"]
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
```
|
|
341
|
+
If configured correctly, the AI should respond with a confirmation and create the project structure in your specified project root folder.
|
|
94
342
|
|
|
95
|
-
|
|
343
|
+
## Configuration Options
|
|
96
344
|
|
|
97
|
-
The
|
|
345
|
+
The Task Trellis MCP server supports these command-line options:
|
|
98
346
|
|
|
99
347
|
- `--mode <mode>` - Server mode (default: "local")
|
|
100
348
|
- `local` - Use local file-based storage
|
|
101
|
-
- `remote` - Use remote repository (
|
|
349
|
+
- `remote` - Use remote repository (planned feature)
|
|
102
350
|
|
|
103
351
|
- `--projectRootFolder <path>` - Project root folder path
|
|
104
|
-
-
|
|
352
|
+
- Creates a `.trellis` folder inside the project root for task storage
|
|
105
353
|
- Example: `--projectRootFolder /path/to/my-project` creates `/path/to/my-project/.trellis/`
|
|
106
354
|
|
|
107
|
-
**
|
|
355
|
+
**Advanced Configuration Example:**
|
|
108
356
|
|
|
109
357
|
```json
|
|
110
358
|
{
|
|
@@ -124,12 +372,28 @@ The server accepts the following optional command line arguments:
|
|
|
124
372
|
}
|
|
125
373
|
```
|
|
126
374
|
|
|
127
|
-
|
|
375
|
+
## Troubleshooting
|
|
376
|
+
|
|
377
|
+
### Common Issues
|
|
378
|
+
|
|
379
|
+
**Tasks not appearing:**
|
|
380
|
+
|
|
381
|
+
- Ensure prerequisites are completed
|
|
382
|
+
- Check task status (should be 'open' or 'draft')
|
|
383
|
+
- Verify project scope configuration
|
|
384
|
+
|
|
385
|
+
**Configuration issues:**
|
|
386
|
+
|
|
387
|
+
- Validate JSON syntax in MCP client configuration
|
|
388
|
+
- Ensure absolute paths are used for `--projectRootFolder`
|
|
389
|
+
- Restart your MCP client after configuration changes
|
|
390
|
+
|
|
391
|
+
### Getting Help
|
|
392
|
+
|
|
393
|
+
- **Issues**: [Report bugs or feature requests](https://github.com/langadventurellc/task-trellis-mcp/issues)
|
|
394
|
+
- **Documentation**: Check this README and inline tool descriptions
|
|
395
|
+
- **Community**: Share experiences and get help from other users
|
|
128
396
|
|
|
129
|
-
|
|
397
|
+
## License
|
|
130
398
|
|
|
131
|
-
-
|
|
132
|
-
- `npm run dev` - Watch mode for development
|
|
133
|
-
- `npm test` - Run Jest tests
|
|
134
|
-
- `npm run test:watch` - Run tests in watch mode
|
|
135
|
-
- `npm run quality` - Run linting, formatting, and type checks
|
|
399
|
+
GPL-3.0-only - see [LICENSE](LICENSE) file for details.
|
|
@@ -122,6 +122,24 @@ describe("replaceStringWithRegex", () => {
|
|
|
122
122
|
expect(result1).toBe("special pattern");
|
|
123
123
|
expect(result2).toBe("special pattern");
|
|
124
124
|
});
|
|
125
|
+
it("should efficiently detect multiple matches in large strings without creating full array upfront", () => {
|
|
126
|
+
// Create a large string with many matches to test performance optimization
|
|
127
|
+
const pattern = "match";
|
|
128
|
+
const largeString = Array(1000).fill(`${pattern} text`).join(" ");
|
|
129
|
+
expect(() => {
|
|
130
|
+
(0, replaceStringWithRegex_1.replaceStringWithRegex)(largeString, {
|
|
131
|
+
regex: pattern,
|
|
132
|
+
replacement: "replaced",
|
|
133
|
+
});
|
|
134
|
+
}).toThrow(MultipleMatchesError_1.MultipleMatchesError);
|
|
135
|
+
// Verify the error message still contains correct count despite optimization
|
|
136
|
+
expect(() => {
|
|
137
|
+
(0, replaceStringWithRegex_1.replaceStringWithRegex)(largeString, {
|
|
138
|
+
regex: pattern,
|
|
139
|
+
replacement: "replaced",
|
|
140
|
+
});
|
|
141
|
+
}).toThrow(/Found 1000 matches for pattern/);
|
|
142
|
+
});
|
|
125
143
|
});
|
|
126
144
|
describe("error handling", () => {
|
|
127
145
|
it("should throw error for empty regex pattern", () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replaceStringWithRegex.test.js","sourceRoot":"","sources":["../../../src/utils/__tests__/replaceStringWithRegex.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"replaceStringWithRegex.test.js","sourceRoot":"","sources":["../../../src/utils/__tests__/replaceStringWithRegex.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replaceStringWithRegex.d.ts","sourceRoot":"","sources":["../../src/utils/replaceStringWithRegex.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,oBAAoB,GAC5B,MAAM,
|
|
1
|
+
{"version":3,"file":"replaceStringWithRegex.d.ts","sourceRoot":"","sources":["../../src/utils/replaceStringWithRegex.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,oBAAoB,GAC5B,MAAM,CAgDR"}
|
|
@@ -59,14 +59,23 @@ function replaceStringWithRegex(input, options) {
|
|
|
59
59
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
60
60
|
throw new Error(`Invalid regex pattern: ${errorMessage}`);
|
|
61
61
|
}
|
|
62
|
-
//
|
|
63
|
-
const
|
|
64
|
-
|
|
62
|
+
// Efficiently check for matches without creating full array
|
|
63
|
+
const matchIterator = input.matchAll(regexObj);
|
|
64
|
+
const firstMatch = matchIterator.next();
|
|
65
|
+
if (firstMatch.done) {
|
|
65
66
|
// No matches, return original string
|
|
66
67
|
return input;
|
|
67
68
|
}
|
|
68
|
-
|
|
69
|
-
|
|
69
|
+
// If we don't allow multiple occurrences, check if there's a second match
|
|
70
|
+
if (!allowMultipleOccurrences) {
|
|
71
|
+
const secondMatch = matchIterator.next();
|
|
72
|
+
if (!secondMatch.done) {
|
|
73
|
+
// We have at least 2 matches, need to count them all for the error
|
|
74
|
+
// Reset and count all matches for accurate error reporting
|
|
75
|
+
regexObj.lastIndex = 0;
|
|
76
|
+
const allMatches = Array.from(input.matchAll(regexObj));
|
|
77
|
+
throw new MultipleMatchesError_1.MultipleMatchesError(allMatches.length, regex);
|
|
78
|
+
}
|
|
70
79
|
}
|
|
71
80
|
// Perform the replacement
|
|
72
81
|
// Reset the regex since matchAll() affects the lastIndex
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replaceStringWithRegex.js","sourceRoot":"","sources":["../../src/utils/replaceStringWithRegex.ts"],"names":[],"mappings":";;AA6CA,
|
|
1
|
+
{"version":3,"file":"replaceStringWithRegex.js","sourceRoot":"","sources":["../../src/utils/replaceStringWithRegex.ts"],"names":[],"mappings":";;AA6CA,wDAmDC;AAhGD,iEAA8D;AAG9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,SAAgB,sBAAsB,CACpC,KAAa,EACb,OAA6B;IAE7B,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,wBAAwB,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAEzE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,wFAAwF;QACxF,4EAA4E;QAC5E,QAAQ,GAAG,IAAI,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5E,MAAM,IAAI,KAAK,CAAC,0BAA0B,YAAY,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,4DAA4D;IAC5D,MAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;IAExC,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;QACpB,qCAAqC;QACrC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,0EAA0E;IAC1E,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;QACzC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YACtB,mEAAmE;YACnE,2DAA2D;YAC3D,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC;YACvB,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxD,MAAM,IAAI,2CAAoB,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,yDAAyD;IACzD,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC;IAEvB,IAAI,CAAC;QACH,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5E,MAAM,IAAI,KAAK,CAAC,6BAA6B,YAAY,EAAE,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@langadventurellc/task-trellis-mcp",
|
|
3
|
-
"version": "1.0.0
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "An MCP server that helps AI coding agents break down projects into tasks and track their progress.",
|
|
5
5
|
"homepage": "https://github.com/langadventurellc/task-trellis-mcp#readme",
|
|
6
6
|
"bugs": {
|