saga-mcp 1.7.0 → 1.8.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 CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  [![npm](https://img.shields.io/npm/v/saga-mcp)](https://www.npmjs.com/package/saga-mcp)
4
4
  [![npm downloads](https://img.shields.io/npm/dm/saga-mcp)](https://www.npmjs.com/package/saga-mcp)
5
+ [![license](https://img.shields.io/npm/l/saga-mcp)](https://github.com/spranab/saga-mcp/blob/master/LICENSE)
5
6
  [![IdeaCred](https://ideacred.com/api/badge/spranab/saga-mcp)](https://ideacred.com/profile/spranab)
6
7
 
7
8
  Your coding agent loses the plan between sessions. You come back tomorrow and
@@ -11,7 +12,7 @@ lived in the context window, or in a `TODO.md` nobody updates.
11
12
 
12
13
  saga-mcp gives the agent a real tracker instead: a SQLite file in your project
13
14
  holding projects, epics, tasks, subtasks, dependencies, comments, notes and
14
- decisions, exposed as 33 MCP tools. The agent writes to it as it works and
15
+ decisions, exposed as 35 MCP tools. The agent writes to it as it works and
15
16
  reads the dashboard when it comes back. No accounts, no external service, no
16
17
  network calls — the database is a file you own.
17
18
 
@@ -65,6 +66,8 @@ recent activity, notes.
65
66
 
66
67
  - **Full hierarchy**: Projects > Epics > Tasks > Subtasks
67
68
  - **Task dependencies**: Express sequencing with auto-block/unblock when deps are met
69
+ - **Description lock**: Stop agents rewriting a task's spec when they meant to leave a comment
70
+ - **Subtask ordering & dependencies**: Explicit order, and checklist items that wait on siblings
68
71
  - **Comments**: Threaded discussions on tasks — leave breadcrumbs across sessions, with reversible soft-delete
69
72
  - **Web UI**: `saga-web` serves a local dashboard for browsing *and* editing the same database
70
73
  - **Templates**: Reusable task sets with `{variable}` substitution
@@ -73,7 +76,7 @@ recent activity, notes.
73
76
  - **Activity log**: Every mutation is automatically tracked with old/new values
74
77
  - **Notes system**: Decisions, context, meeting notes, blockers — all searchable
75
78
  - **Batch operations**: Create multiple subtasks or update multiple tasks in one call
76
- - **33 focused tools**: With MCP safety annotations on every tool
79
+ - **35 focused tools**: With MCP safety annotations on every tool
77
80
  - **Import/export**: Full project backup and migration as JSON (with dependencies and comments)
78
81
  - **Source references**: Link tasks to specific code locations
79
82
  - **Auto time tracking**: Hours computed automatically from activity log
@@ -187,6 +190,7 @@ import/export, session diffs and the rest discoverable.
187
190
  | `task_list` | List/filter tasks with dependency info | `readOnly: true` |
188
191
  | `task_get` | Get task with subtasks, notes, comments, and dependencies | `readOnly: true` |
189
192
  | `task_update` | Update task (auto-logs, auto-blocks/unblocks) | `readOnly: false`, `idempotent: true` |
193
+ | `task_lock_description` | Lock/unlock a description so agents can't rewrite it | `readOnly: false`, `idempotent: true` |
190
194
  | `task_batch_update` | Update multiple tasks at once | `readOnly: false`, `idempotent: true` |
191
195
 
192
196
  ### Subtasks
@@ -194,7 +198,8 @@ import/export, session diffs and the rest discoverable.
194
198
  | Tool | Description | Annotations |
195
199
  |------|-------------|-------------|
196
200
  | `subtask_create` | Create subtask(s) — supports batch | `readOnly: false` |
197
- | `subtask_update` | Update subtask title/status | `readOnly: false`, `idempotent: true` |
201
+ | `subtask_update` | Update title/status/position; `depends_on` and `blocks` set ordering | `readOnly: false`, `idempotent: true` |
202
+ | `subtask_reorder` | Set the order of a task's subtasks in one call | `readOnly: false`, `idempotent: true` |
198
203
  | `subtask_delete` | Delete subtask(s) — supports batch | `destructive: true`, `idempotent: true` |
199
204
 
200
205
  ### Comments
@@ -355,6 +360,41 @@ project was a guess, rather than silently reporting on the wrong repo.
355
360
  The web UI is unaffected either way: its project switcher lists every project in the database, and
356
361
  each tab is scoped to the selected one.
357
362
 
363
+ ## Keeping agents on the rails
364
+
365
+ Two guards for the ways an agent goes wrong on a long task.
366
+
367
+ **A locked description.** Agents sometimes rewrite a task's description to record progress, when
368
+ they meant to add a comment — and the spec you agreed on is gone. Lock it and `task_update` refuses:
369
+
370
+ ```
371
+ task_lock_description({ id: 12 })
372
+ task_update({ id: 12, description: "..." })
373
+ -> Task 12's description is locked and was not changed. Record progress with
374
+ comment_add instead, or unlock it in the web UI if the description is genuinely wrong.
375
+ ```
376
+
377
+ Everything else about the task stays editable — the point is to protect the spec, not freeze the
378
+ task. The lock cannot be cleared as a side effect of an ordinary `task_update`; it takes a
379
+ deliberate `task_lock_description` call or the lock toggle in the web UI, and both are logged.
380
+
381
+ This is a guard against confusion, not an adversarial control: an agent that is told to unlock
382
+ still can. It turns a silent overwrite into a visible, reversible decision.
383
+
384
+ **Subtask order and dependencies.** New subtasks are appended in order rather than all landing at
385
+ position 0, `subtask_reorder` sets the order in one call (or drag them in the UI), and a subtask
386
+ can wait on its siblings:
387
+
388
+ ```
389
+ subtask_update({ id: 8, depends_on: [5, 6] }) # 8 waits for 5 and 6
390
+ subtask_update({ id: 4, blocks: [5, 6, 7, 8] }) # a bug that holds up the rest
391
+ ```
392
+
393
+ Reads then carry `depends_on` and `blocked`, and the UI marks blocked items. Dependencies stay
394
+ within one task — a checklist item waiting on something under a *different* task is a task-level
395
+ dependency, and `task_update depends_on` already models that. Cycles are refused with the loop
396
+ spelled out.
397
+
358
398
  ## Web UI
359
399
 
360
400
  Everything above is agent-facing. `saga-web` puts the same database in a browser — for the times
@@ -384,8 +424,9 @@ What you get:
384
424
  - **Board** — kanban across the five task statuses; drag a card to change its status
385
425
  - **Epics** — the full Epic → Task → Subtask tree, which is the fastest way to review a spec an agent just wrote
386
426
  - **Notes** and **Activity** — decisions and the complete change history
387
- - **Task drawer** — edit any field, tick subtasks, comment, remove or restore a comment
427
+ - **Task drawer** — edit any field, tick subtasks, comment, remove or restore a comment, lock the description, drag subtasks into order, and set which subtasks wait on which
388
428
  - **Project switcher** — every project in the database, so one central `.tracker.db` covers all your repos; every tab, including Activity, is scoped to the selected project
429
+ - **Shareable, refreshable URLs** — the open project, tab and task live in the address bar, so a browser refresh puts you back where you were and back/forward move between tasks. A ⟳ button in the task drawer re-reads that task without a page reload, for picking up what an agent just wrote
389
430
 
390
431
  Writes from the UI call the *same handlers* the MCP tools do, so edits you make by hand are
391
432
  validated identically and land in the same activity log as the agent's — an agent calling
package/dist/db.js CHANGED
@@ -47,6 +47,10 @@ export function getDb() {
47
47
  db.exec('CREATE INDEX IF NOT EXISTS idx_comments_task_live ON comments(task_id, is_deleted)');
48
48
  }
49
49
  catch { /* index already exists */ }
50
+ try {
51
+ db.exec('ALTER TABLE tasks ADD COLUMN description_locked INTEGER NOT NULL DEFAULT 0');
52
+ }
53
+ catch { /* column already exists */ }
50
54
  return db;
51
55
  }
52
56
  export function closeDb() {
package/dist/db.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,IAAI,EAAE,GAA6B,IAAI,CAAC;AAExC,MAAM,UAAU,KAAK;IACnB,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IAElB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;IACnC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,mIAAmI,CACpI,CAAC;IACJ,CAAC;IAED,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE1B,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAChC,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC/B,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACjC,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAElC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAEpB,oCAAoC;IACpC,IAAI,CAAC;QAAC,EAAE,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;IACtG,IAAI,CAAC;QAAC,EAAE,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;IAClG,IAAI,CAAC;QAAC,EAAE,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,0BAA0B,CAAC,CAAC;IACrH,IAAI,CAAC;QAAC,EAAE,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;IAC/H,IAAI,CAAC;QAAC,EAAE,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;IACzG,IAAI,CAAC;QAAC,EAAE,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;IACzG,IAAI,CAAC;QAAC,EAAE,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;IAC5G,IAAI,CAAC;QAAC,EAAE,CAAC,IAAI,CAAC,oFAAoF,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,0BAA0B,CAAC,CAAC;IAE3I,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,OAAO;IACrB,IAAI,EAAE,EAAE,CAAC;QACP,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,EAAE,GAAG,IAAI,CAAC;IACZ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,IAAI,EAAE,GAA6B,IAAI,CAAC;AAExC,MAAM,UAAU,KAAK;IACnB,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IAElB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;IACnC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,mIAAmI,CACpI,CAAC;IACJ,CAAC;IAED,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE1B,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAChC,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC/B,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACjC,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAElC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAEpB,oCAAoC;IACpC,IAAI,CAAC;QAAC,EAAE,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;IACtG,IAAI,CAAC;QAAC,EAAE,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;IAClG,IAAI,CAAC;QAAC,EAAE,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,0BAA0B,CAAC,CAAC;IACrH,IAAI,CAAC;QAAC,EAAE,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;IAC/H,IAAI,CAAC;QAAC,EAAE,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;IACzG,IAAI,CAAC;QAAC,EAAE,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;IACzG,IAAI,CAAC;QAAC,EAAE,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;IAC5G,IAAI,CAAC;QAAC,EAAE,CAAC,IAAI,CAAC,oFAAoF,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,0BAA0B,CAAC,CAAC;IAC3I,IAAI,CAAC;QAAC,EAAE,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;IAEpI,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,OAAO;IACrB,IAAI,EAAE,EAAE,CAAC;QACP,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,EAAE,GAAG,IAAI,CAAC;IACZ,CAAC;AACH,CAAC"}
@@ -16,6 +16,8 @@ export function truncate(text, max = LIST_DESCRIPTION_CHARS) {
16
16
  }
17
17
  /** Fields never worth their bytes in a list response. */
18
18
  const ALWAYS_DROP = new Set(['metadata']);
19
+ /** Flags that only matter when set — carrying the common `0` is pure noise. */
20
+ const DROP_WHEN_ZERO = new Set(['description_locked', 'is_deleted']);
19
21
  /**
20
22
  * Strip a list row down: no nulls, no metadata blob, no empty tags array, and
21
23
  * long text fields truncated. Everything removed here is still available from
@@ -28,6 +30,8 @@ export function slimListRow(row, truncateFields = ['description'], drop = []) {
28
30
  continue;
29
31
  if (ALWAYS_DROP.has(key) || drop.includes(key))
30
32
  continue;
33
+ if (DROP_WHEN_ZERO.has(key) && (value === 0 || value === false))
34
+ continue;
31
35
  if (key === 'tags' && (value === '[]' || value === ''))
32
36
  continue;
33
37
  if (truncateFields.includes(key) && typeof value === 'string') {
@@ -1 +1 @@
1
- {"version":3,"file":"slim.js","sourceRoot":"","sources":["../../src/helpers/slim.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,mFAAmF;AACnF,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAE1C,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,GAAG,GAAG,sBAAsB;IACjE,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,IAAI,CAAC;IACpC,0EAA0E;IAC1E,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC/B,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACvC,OAAO,CAAC,SAAS,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC;AACjF,CAAC;AAED,yDAAyD;AACzD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;AAE1C;;;;GAIG;AACH,MAAM,UAAU,WAAW,CACzB,GAA4B,EAC5B,iBAA2B,CAAC,aAAa,CAAC,EAC1C,OAAiB,EAAE;IAEnB,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QACpD,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,SAAS;QACzD,IAAI,GAAG,KAAK,MAAM,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YAAE,SAAS;QACjE,IAAI,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9D,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC3B,SAAS;QACX,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACnB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,QAAQ,CACtB,IAAoC,EACpC,cAAyB,EACzB,IAAe;IAEf,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC;AACnE,CAAC"}
1
+ {"version":3,"file":"slim.js","sourceRoot":"","sources":["../../src/helpers/slim.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,mFAAmF;AACnF,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAE1C,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,GAAG,GAAG,sBAAsB;IACjE,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,IAAI,CAAC;IACpC,0EAA0E;IAC1E,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC/B,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACvC,OAAO,CAAC,SAAS,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC;AACjF,CAAC;AAED,yDAAyD;AACzD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;AAE1C,+EAA+E;AAC/E,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC,CAAC;AAErE;;;;GAIG;AACH,MAAM,UAAU,WAAW,CACzB,GAA4B,EAC5B,iBAA2B,CAAC,aAAa,CAAC,EAC1C,OAAiB,EAAE;IAEnB,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QACpD,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,SAAS;QACzD,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,KAAK,CAAC;YAAE,SAAS;QAC1E,IAAI,GAAG,KAAK,MAAM,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YAAE,SAAS;QACjE,IAAI,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9D,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC3B,SAAS;QACX,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACnB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,QAAQ,CACtB,IAAoC,EACpC,cAAyB,EACzB,IAAe;IAEf,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC;AACnE,CAAC"}
package/dist/schema.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const SCHEMA_SQL = "\n-- Core hierarchy: projects > epics > tasks > subtasks\n\nCREATE TABLE IF NOT EXISTS projects (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n name TEXT NOT NULL,\n description TEXT,\n status TEXT NOT NULL DEFAULT 'active'\n CHECK (status IN ('active', 'on_hold', 'completed', 'archived')),\n tags TEXT NOT NULL DEFAULT '[]',\n metadata TEXT NOT NULL DEFAULT '{}',\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n updated_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\nCREATE TABLE IF NOT EXISTS epics (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n project_id INTEGER NOT NULL REFERENCES projects(id) ON DELETE CASCADE,\n name TEXT NOT NULL,\n description TEXT,\n status TEXT NOT NULL DEFAULT 'planned'\n CHECK (status IN ('planned', 'in_progress', 'completed', 'cancelled')),\n priority TEXT NOT NULL DEFAULT 'medium'\n CHECK (priority IN ('low', 'medium', 'high', 'critical')),\n sort_order INTEGER NOT NULL DEFAULT 0,\n branch TEXT,\n tags TEXT NOT NULL DEFAULT '[]',\n metadata TEXT NOT NULL DEFAULT '{}',\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n updated_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\nCREATE TABLE IF NOT EXISTS tasks (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n epic_id INTEGER NOT NULL REFERENCES epics(id) ON DELETE CASCADE,\n title TEXT NOT NULL,\n description TEXT,\n status TEXT NOT NULL DEFAULT 'todo'\n CHECK (status IN ('todo', 'in_progress', 'review', 'done', 'blocked')),\n priority TEXT NOT NULL DEFAULT 'medium'\n CHECK (priority IN ('low', 'medium', 'high', 'critical')),\n sort_order INTEGER NOT NULL DEFAULT 0,\n assigned_to TEXT,\n estimated_hours REAL,\n actual_hours REAL,\n due_date TEXT,\n source_ref TEXT,\n tags TEXT NOT NULL DEFAULT '[]',\n metadata TEXT NOT NULL DEFAULT '{}',\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n updated_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\nCREATE TABLE IF NOT EXISTS subtasks (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n task_id INTEGER NOT NULL REFERENCES tasks(id) ON DELETE CASCADE,\n title TEXT NOT NULL,\n status TEXT NOT NULL DEFAULT 'todo'\n CHECK (status IN ('todo', 'in_progress', 'done')),\n sort_order INTEGER NOT NULL DEFAULT 0,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n updated_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\n-- Task dependencies (junction table)\n\nCREATE TABLE IF NOT EXISTS task_dependencies (\n task_id INTEGER NOT NULL REFERENCES tasks(id) ON DELETE CASCADE,\n depends_on_task_id INTEGER NOT NULL REFERENCES tasks(id) ON DELETE CASCADE,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n PRIMARY KEY (task_id, depends_on_task_id)\n);\n\n-- Comments (threaded discussions on tasks)\n\nCREATE TABLE IF NOT EXISTS comments (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n task_id INTEGER NOT NULL REFERENCES tasks(id) ON DELETE CASCADE,\n author TEXT,\n content TEXT NOT NULL,\n is_deleted INTEGER NOT NULL DEFAULT 0,\n deleted_at TEXT,\n deleted_by TEXT,\n delete_reason TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\n-- Task templates\n\nCREATE TABLE IF NOT EXISTS templates (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n name TEXT NOT NULL UNIQUE,\n description TEXT,\n template_data TEXT NOT NULL DEFAULT '[]',\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n updated_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\n-- Unified notes (replaces summaries + status_updates + context)\n\nCREATE TABLE IF NOT EXISTS notes (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n title TEXT NOT NULL,\n content TEXT NOT NULL,\n note_type TEXT NOT NULL DEFAULT 'general'\n CHECK (note_type IN (\n 'general', 'decision', 'context', 'meeting',\n 'technical', 'blocker', 'progress', 'release'\n )),\n related_entity_type TEXT CHECK (related_entity_type IN ('project', 'epic', 'task') OR related_entity_type IS NULL),\n related_entity_id INTEGER,\n tags TEXT NOT NULL DEFAULT '[]',\n metadata TEXT NOT NULL DEFAULT '{}',\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n updated_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\n-- Automatic activity log\n\nCREATE TABLE IF NOT EXISTS activity_log (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n entity_type TEXT NOT NULL,\n entity_id INTEGER NOT NULL,\n action TEXT NOT NULL,\n field_name TEXT,\n old_value TEXT,\n new_value TEXT,\n summary TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\n-- Indexes\n\nCREATE INDEX IF NOT EXISTS idx_epics_project_id ON epics(project_id);\nCREATE INDEX IF NOT EXISTS idx_tasks_epic_id ON tasks(epic_id);\nCREATE INDEX IF NOT EXISTS idx_subtasks_task_id ON subtasks(task_id);\n\nCREATE INDEX IF NOT EXISTS idx_projects_status ON projects(status);\nCREATE INDEX IF NOT EXISTS idx_epics_status ON epics(status);\nCREATE INDEX IF NOT EXISTS idx_tasks_status ON tasks(status);\nCREATE INDEX IF NOT EXISTS idx_subtasks_status ON subtasks(status);\n\nCREATE INDEX IF NOT EXISTS idx_epics_priority ON epics(priority);\nCREATE INDEX IF NOT EXISTS idx_tasks_priority ON tasks(priority);\n\nCREATE INDEX IF NOT EXISTS idx_epics_sort ON epics(project_id, sort_order);\nCREATE INDEX IF NOT EXISTS idx_tasks_sort ON tasks(epic_id, sort_order);\nCREATE INDEX IF NOT EXISTS idx_subtasks_sort ON subtasks(task_id, sort_order);\n\nCREATE INDEX IF NOT EXISTS idx_notes_type ON notes(note_type);\nCREATE INDEX IF NOT EXISTS idx_notes_entity ON notes(related_entity_type, related_entity_id);\nCREATE INDEX IF NOT EXISTS idx_notes_created ON notes(created_at DESC);\n\nCREATE INDEX IF NOT EXISTS idx_activity_entity ON activity_log(entity_type, entity_id);\nCREATE INDEX IF NOT EXISTS idx_activity_created ON activity_log(created_at DESC);\nCREATE INDEX IF NOT EXISTS idx_activity_action ON activity_log(action);\n\nCREATE INDEX IF NOT EXISTS idx_tasks_assigned ON tasks(assigned_to);\nCREATE INDEX IF NOT EXISTS idx_tasks_due ON tasks(due_date);\n\nCREATE INDEX IF NOT EXISTS idx_task_deps_depends ON task_dependencies(depends_on_task_id);\nCREATE INDEX IF NOT EXISTS idx_comments_task ON comments(task_id);\n";
1
+ export declare const SCHEMA_SQL = "\n-- Core hierarchy: projects > epics > tasks > subtasks\n\nCREATE TABLE IF NOT EXISTS projects (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n name TEXT NOT NULL,\n description TEXT,\n status TEXT NOT NULL DEFAULT 'active'\n CHECK (status IN ('active', 'on_hold', 'completed', 'archived')),\n tags TEXT NOT NULL DEFAULT '[]',\n metadata TEXT NOT NULL DEFAULT '{}',\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n updated_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\nCREATE TABLE IF NOT EXISTS epics (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n project_id INTEGER NOT NULL REFERENCES projects(id) ON DELETE CASCADE,\n name TEXT NOT NULL,\n description TEXT,\n status TEXT NOT NULL DEFAULT 'planned'\n CHECK (status IN ('planned', 'in_progress', 'completed', 'cancelled')),\n priority TEXT NOT NULL DEFAULT 'medium'\n CHECK (priority IN ('low', 'medium', 'high', 'critical')),\n sort_order INTEGER NOT NULL DEFAULT 0,\n branch TEXT,\n tags TEXT NOT NULL DEFAULT '[]',\n metadata TEXT NOT NULL DEFAULT '{}',\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n updated_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\nCREATE TABLE IF NOT EXISTS tasks (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n epic_id INTEGER NOT NULL REFERENCES epics(id) ON DELETE CASCADE,\n title TEXT NOT NULL,\n description TEXT,\n status TEXT NOT NULL DEFAULT 'todo'\n CHECK (status IN ('todo', 'in_progress', 'review', 'done', 'blocked')),\n priority TEXT NOT NULL DEFAULT 'medium'\n CHECK (priority IN ('low', 'medium', 'high', 'critical')),\n sort_order INTEGER NOT NULL DEFAULT 0,\n assigned_to TEXT,\n estimated_hours REAL,\n actual_hours REAL,\n due_date TEXT,\n source_ref TEXT,\n tags TEXT NOT NULL DEFAULT '[]',\n metadata TEXT NOT NULL DEFAULT '{}',\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n updated_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\nCREATE TABLE IF NOT EXISTS subtasks (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n task_id INTEGER NOT NULL REFERENCES tasks(id) ON DELETE CASCADE,\n title TEXT NOT NULL,\n status TEXT NOT NULL DEFAULT 'todo'\n CHECK (status IN ('todo', 'in_progress', 'done')),\n sort_order INTEGER NOT NULL DEFAULT 0,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n updated_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\n-- Task dependencies (junction table)\n\nCREATE TABLE IF NOT EXISTS task_dependencies (\n task_id INTEGER NOT NULL REFERENCES tasks(id) ON DELETE CASCADE,\n depends_on_task_id INTEGER NOT NULL REFERENCES tasks(id) ON DELETE CASCADE,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n PRIMARY KEY (task_id, depends_on_task_id)\n);\n\n-- Subtask dependencies (junction table, same shape as task_dependencies)\n\nCREATE TABLE IF NOT EXISTS subtask_dependencies (\n subtask_id INTEGER NOT NULL REFERENCES subtasks(id) ON DELETE CASCADE,\n depends_on_subtask_id INTEGER NOT NULL REFERENCES subtasks(id) ON DELETE CASCADE,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n PRIMARY KEY (subtask_id, depends_on_subtask_id)\n);\n\n-- Comments (threaded discussions on tasks)\n\nCREATE TABLE IF NOT EXISTS comments (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n task_id INTEGER NOT NULL REFERENCES tasks(id) ON DELETE CASCADE,\n author TEXT,\n content TEXT NOT NULL,\n is_deleted INTEGER NOT NULL DEFAULT 0,\n deleted_at TEXT,\n deleted_by TEXT,\n delete_reason TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\n-- Task templates\n\nCREATE TABLE IF NOT EXISTS templates (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n name TEXT NOT NULL UNIQUE,\n description TEXT,\n template_data TEXT NOT NULL DEFAULT '[]',\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n updated_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\n-- Unified notes (replaces summaries + status_updates + context)\n\nCREATE TABLE IF NOT EXISTS notes (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n title TEXT NOT NULL,\n content TEXT NOT NULL,\n note_type TEXT NOT NULL DEFAULT 'general'\n CHECK (note_type IN (\n 'general', 'decision', 'context', 'meeting',\n 'technical', 'blocker', 'progress', 'release'\n )),\n related_entity_type TEXT CHECK (related_entity_type IN ('project', 'epic', 'task') OR related_entity_type IS NULL),\n related_entity_id INTEGER,\n tags TEXT NOT NULL DEFAULT '[]',\n metadata TEXT NOT NULL DEFAULT '{}',\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n updated_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\n-- Automatic activity log\n\nCREATE TABLE IF NOT EXISTS activity_log (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n entity_type TEXT NOT NULL,\n entity_id INTEGER NOT NULL,\n action TEXT NOT NULL,\n field_name TEXT,\n old_value TEXT,\n new_value TEXT,\n summary TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\n-- Indexes\n\nCREATE INDEX IF NOT EXISTS idx_epics_project_id ON epics(project_id);\nCREATE INDEX IF NOT EXISTS idx_tasks_epic_id ON tasks(epic_id);\nCREATE INDEX IF NOT EXISTS idx_subtasks_task_id ON subtasks(task_id);\n\nCREATE INDEX IF NOT EXISTS idx_projects_status ON projects(status);\nCREATE INDEX IF NOT EXISTS idx_epics_status ON epics(status);\nCREATE INDEX IF NOT EXISTS idx_tasks_status ON tasks(status);\nCREATE INDEX IF NOT EXISTS idx_subtasks_status ON subtasks(status);\n\nCREATE INDEX IF NOT EXISTS idx_epics_priority ON epics(priority);\nCREATE INDEX IF NOT EXISTS idx_tasks_priority ON tasks(priority);\n\nCREATE INDEX IF NOT EXISTS idx_epics_sort ON epics(project_id, sort_order);\nCREATE INDEX IF NOT EXISTS idx_tasks_sort ON tasks(epic_id, sort_order);\nCREATE INDEX IF NOT EXISTS idx_subtasks_sort ON subtasks(task_id, sort_order);\n\nCREATE INDEX IF NOT EXISTS idx_notes_type ON notes(note_type);\nCREATE INDEX IF NOT EXISTS idx_notes_entity ON notes(related_entity_type, related_entity_id);\nCREATE INDEX IF NOT EXISTS idx_notes_created ON notes(created_at DESC);\n\nCREATE INDEX IF NOT EXISTS idx_activity_entity ON activity_log(entity_type, entity_id);\nCREATE INDEX IF NOT EXISTS idx_activity_created ON activity_log(created_at DESC);\nCREATE INDEX IF NOT EXISTS idx_activity_action ON activity_log(action);\n\nCREATE INDEX IF NOT EXISTS idx_tasks_assigned ON tasks(assigned_to);\nCREATE INDEX IF NOT EXISTS idx_tasks_due ON tasks(due_date);\n\nCREATE INDEX IF NOT EXISTS idx_task_deps_depends ON task_dependencies(depends_on_task_id);\nCREATE INDEX IF NOT EXISTS idx_subtask_deps_depends ON subtask_dependencies(depends_on_subtask_id);\nCREATE INDEX IF NOT EXISTS idx_comments_task ON comments(task_id);\n";
package/dist/schema.js CHANGED
@@ -71,6 +71,15 @@ CREATE TABLE IF NOT EXISTS task_dependencies (
71
71
  PRIMARY KEY (task_id, depends_on_task_id)
72
72
  );
73
73
 
74
+ -- Subtask dependencies (junction table, same shape as task_dependencies)
75
+
76
+ CREATE TABLE IF NOT EXISTS subtask_dependencies (
77
+ subtask_id INTEGER NOT NULL REFERENCES subtasks(id) ON DELETE CASCADE,
78
+ depends_on_subtask_id INTEGER NOT NULL REFERENCES subtasks(id) ON DELETE CASCADE,
79
+ created_at TEXT NOT NULL DEFAULT (datetime('now')),
80
+ PRIMARY KEY (subtask_id, depends_on_subtask_id)
81
+ );
82
+
74
83
  -- Comments (threaded discussions on tasks)
75
84
 
76
85
  CREATE TABLE IF NOT EXISTS comments (
@@ -159,6 +168,7 @@ CREATE INDEX IF NOT EXISTS idx_tasks_assigned ON tasks(assigned_to);
159
168
  CREATE INDEX IF NOT EXISTS idx_tasks_due ON tasks(due_date);
160
169
 
161
170
  CREATE INDEX IF NOT EXISTS idx_task_deps_depends ON task_dependencies(depends_on_task_id);
171
+ CREATE INDEX IF NOT EXISTS idx_subtask_deps_depends ON subtask_dependencies(depends_on_subtask_id);
162
172
  CREATE INDEX IF NOT EXISTS idx_comments_task ON comments(task_id);
163
173
  `;
164
174
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkKzB,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4KzB,CAAC"}
@@ -68,6 +68,7 @@ function handleExport(args) {
68
68
  actual_hours: task.actual_hours,
69
69
  due_date: task.due_date,
70
70
  source_ref: task.source_ref,
71
+ description_locked: task.description_locked,
71
72
  tags: task.tags,
72
73
  metadata: task.metadata,
73
74
  depends_on: deps.map((d) => d.depends_on_task_id),
@@ -1 +1 @@
1
- {"version":3,"file":"export-import.js","sourceRoot":"","sources":["../../src/tools/export-import.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"export-import.js","sourceRoot":"","sources":["../../src/tools/export-import.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import { slimList } from '../helpers/slim.js';
5
5
  export const definitions = [
6
6
  {
7
7
  name: 'tracker_search',
8
- description: 'Search across ALL entities (projects, epics, tasks, notes) by keyword. Returns categorized results. Pass branch="current" to restrict epic/task matches to the active git branch (projects and notes are not branch-scoped).',
8
+ description: 'Search projects, epics, tasks and notes by keyword. Returns categorized previews use task_get or note_list for full text.',
9
9
  annotations: { title: 'Global Search', readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false },
10
10
  inputSchema: {
11
11
  type: 'object',
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,20 @@
1
1
  import type { Tool } from '@modelcontextprotocol/sdk/types.js';
2
+ import type Database from 'better-sqlite3';
2
3
  import type { ToolHandler } from '../types.js';
3
4
  export declare const definitions: Tool[];
5
+ /**
6
+ * Subtasks have no 'blocked' status — the three they have are enough, and
7
+ * widening the CHECK constraint would mean rebuilding the table. So a blocked
8
+ * subtask is reported, not restyled: reads carry depends_on and blocked.
9
+ */
10
+ export declare function describeDependencies(db: Database.Database, subtaskId: number): {
11
+ depends_on: Array<{
12
+ id: number;
13
+ title: string;
14
+ status: string;
15
+ }>;
16
+ blocked: boolean;
17
+ };
18
+ /** Attach dependency info to a set of sibling rows, in one pass. */
19
+ export declare function withDependencies(db: Database.Database, rows: Array<Record<string, unknown>>): Array<Record<string, unknown>>;
4
20
  export declare const handlers: Record<string, ToolHandler>;