saga-mcp 1.9.0 → 1.10.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
@@ -12,7 +12,7 @@ lived in the context window, or in a `TODO.md` nobody updates.
12
12
 
13
13
  saga-mcp gives the agent a real tracker instead: a SQLite file in your project
14
14
  holding projects, epics, tasks, subtasks, dependencies, comments, notes and
15
- decisions, exposed as 35 MCP tools. The agent writes to it as it works and
15
+ decisions, exposed as 38 MCP tools. The agent writes to it as it works and
16
16
  reads the dashboard when it comes back. No accounts, no external service, no
17
17
  network calls — the database is a file you own.
18
18
 
@@ -76,7 +76,7 @@ recent activity, notes.
76
76
  - **Activity log**: Every mutation is automatically tracked with old/new values
77
77
  - **Notes system**: Decisions, context, meeting notes, blockers — all searchable
78
78
  - **Batch operations**: Create multiple subtasks or update multiple tasks in one call
79
- - **35 focused tools**: With MCP safety annotations on every tool
79
+ - **38 focused tools**: With MCP safety annotations on every tool
80
80
  - **Import/export**: Full project backup and migration as JSON (with dependencies and comments)
81
81
  - **Source references**: Link tasks to specific code locations
82
82
  - **Auto time tracking**: Hours computed automatically from activity log
@@ -180,6 +180,7 @@ import/export, session diffs and the rest discoverable.
180
180
  |------|-------------|-------------|
181
181
  | `epic_create` | Create an epic within a project | `readOnly: false` |
182
182
  | `epic_list` | List epics with task counts | `readOnly: true` |
183
+ | `epic_archive` | Archive/unarchive an epic, hiding it and its tasks from listings | `readOnly: false`, `idempotent: true` |
183
184
  | `epic_update` | Update an epic | `readOnly: false`, `idempotent: true` |
184
185
 
185
186
  ### Tasks
@@ -191,6 +192,8 @@ import/export, session diffs and the rest discoverable.
191
192
  | `task_get` | Get task with subtasks, notes, comments, and dependencies | `readOnly: true` |
192
193
  | `task_update` | Update task (auto-logs, auto-blocks/unblocks) | `readOnly: false`, `idempotent: true` |
193
194
  | `task_lock_description` | Lock/unlock a description so agents can't rewrite it | `readOnly: false`, `idempotent: true` |
195
+ | `task_delete` | Remove a `todo` task (soft delete, restorable) | `readOnly: false`, `idempotent: true` |
196
+ | `task_restore` | Restore a removed task | `readOnly: false`, `idempotent: true` |
194
197
  | `task_batch_update` | Update multiple tasks at once | `readOnly: false`, `idempotent: true` |
195
198
 
196
199
  ### Subtasks
@@ -378,6 +381,33 @@ Coercion stops where intent becomes ambiguous. A comma inside a *title* is left
378
381
  list is a separator, because neither can contain one. Anything genuinely unusable is refused with
379
382
  a message naming what arrived and what was wanted, rather than a leaked `ids.map is not a function`.
380
383
 
384
+ ## Getting old work out of the way
385
+
386
+ An epic list that is mostly finished work, and tasks an agent created that should have been
387
+ subtasks, are context you pay for on every call.
388
+
389
+ ```
390
+ epic_archive({ id: 4 }) # the epic and its tasks drop out of listings
391
+ task_delete({ id: 12, reason: "should have been a subtask" })
392
+ ```
393
+
394
+ Archiving is deliberately **not** the `cancelled` status: `cancelled` means "we decided not to do
395
+ this", while most of what you want to archive is *completed*. Archived epics and their tasks
396
+ disappear from `epic_list`, `tracker_dashboard`, `task_list` and `tracker_search` — including the
397
+ statistics, not just the lists — and come back with `include_archived`.
398
+
399
+ Nothing vanishes silently. The dashboard says what it left out:
400
+
401
+ ```
402
+ Hidden: 2 archived epic(s) and 1 removed task(s) — pass include_archived to include them.
403
+ ```
404
+
405
+ `task_delete` is the same soft delete comments have, restricted to tasks still in `todo`:
406
+ anything further along has comments, time tracking and an activity log that removing it would
407
+ strand, and a task other tasks depend on is refused outright so nothing is left blocked forever.
408
+ The row is kept, `task_restore` brings it back, and `tracker_export` includes archived and removed
409
+ rows because a backup that omits things is not a backup.
410
+
381
411
  ## Keeping agents on the rails
382
412
 
383
413
  Two guards for the ways an agent goes wrong on a long task.
@@ -457,6 +487,7 @@ What you get:
457
487
  - **Board** — kanban across the five task statuses; drag a card to change its status
458
488
  - **Epics** — the full Epic → Task → Subtask tree, which is the fastest way to review a spec an agent just wrote
459
489
  - **Notes** and **Activity** — decisions and the complete change history
490
+ - **Archived section** — archived epics collapse below a divider, with a "show archived (N)" toggle
460
491
  - **Task drawer** — edit any field, comment, remove or restore a comment, lock the description, drag subtasks into order, and set which subtasks wait on which. Each subtask has one control carrying its whole state (todo / in progress / done, or blocked), and the drawer resizes by dragging its edge
461
492
  - **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
462
493
  - **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
package/dist/db.js CHANGED
@@ -51,6 +51,40 @@ export function getDb() {
51
51
  db.exec('ALTER TABLE tasks ADD COLUMN description_locked INTEGER NOT NULL DEFAULT 0');
52
52
  }
53
53
  catch { /* column already exists */ }
54
+ // #30: archiving an epic hides it without pretending it was cancelled, and a
55
+ // todo task can be removed the way a comment can — kept, hidden, restorable.
56
+ try {
57
+ db.exec('ALTER TABLE epics ADD COLUMN archived INTEGER NOT NULL DEFAULT 0');
58
+ }
59
+ catch { /* column already exists */ }
60
+ try {
61
+ db.exec('ALTER TABLE epics ADD COLUMN archived_at TEXT');
62
+ }
63
+ catch { /* column already exists */ }
64
+ try {
65
+ db.exec('ALTER TABLE tasks ADD COLUMN is_deleted INTEGER NOT NULL DEFAULT 0');
66
+ }
67
+ catch { /* column already exists */ }
68
+ try {
69
+ db.exec('ALTER TABLE tasks ADD COLUMN deleted_at TEXT');
70
+ }
71
+ catch { /* column already exists */ }
72
+ try {
73
+ db.exec('ALTER TABLE tasks ADD COLUMN deleted_by TEXT');
74
+ }
75
+ catch { /* column already exists */ }
76
+ try {
77
+ db.exec('ALTER TABLE tasks ADD COLUMN delete_reason TEXT');
78
+ }
79
+ catch { /* column already exists */ }
80
+ try {
81
+ db.exec('CREATE INDEX IF NOT EXISTS idx_epics_archived ON epics(project_id, archived)');
82
+ }
83
+ catch { /* index already exists */ }
84
+ try {
85
+ db.exec('CREATE INDEX IF NOT EXISTS idx_tasks_live ON tasks(epic_id, is_deleted)');
86
+ }
87
+ catch { /* index already exists */ }
54
88
  // #29 left corrupted tags behind: a tags array sent as a JSON *string* was
55
89
  // stored verbatim, so the column held a string rather than an array. The UI
56
90
  // then rendered one pill per character and json_each tag filters matched
package/dist/db.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@ export function truncate(text, max = LIST_DESCRIPTION_CHARS) {
17
17
  /** Fields never worth their bytes in a list response. */
18
18
  const ALWAYS_DROP = new Set(['metadata']);
19
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']);
20
+ const DROP_WHEN_ZERO = new Set(['description_locked', 'is_deleted', 'archived']);
21
21
  /**
22
22
  * Strip a list row down: no nulls, no metadata blob, no empty tags array, and
23
23
  * long text fields truncated. Everything removed here is still available from
@@ -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,+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"}
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,EAAE,UAAU,CAAC,CAAC,CAAC;AAEjF;;;;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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * What a listing shows by default.
3
+ *
4
+ * #30: after a while the epic list is mostly finished work, and agents leave
5
+ * behind tasks that should have been subtasks. Both are noise an agent pays
6
+ * for on every call, so both can be put out of sight without being destroyed.
7
+ *
8
+ * Two separate ideas, deliberately not merged into one:
9
+ *
10
+ * epics.archived — "stop showing me this". Distinct from the `cancelled`
11
+ * status, which means "we decided not to do it": most of
12
+ * what you want to archive is *completed*, and overloading
13
+ * the status would make that impossible to say.
14
+ * tasks.is_deleted — the same soft delete comments already have. Restricted
15
+ * to `todo` tasks, because a task with real history has an
16
+ * activity log that deleting it would orphan.
17
+ *
18
+ * Nothing is hidden silently: the dashboard reports how much it left out.
19
+ */
20
+ /** SQL fragment hiding archived epics, given the alias the caller used. */
21
+ export declare function liveEpicClause(alias?: string): string;
22
+ /**
23
+ * SQL fragment hiding removed tasks, and tasks belonging to an archived epic —
24
+ * an epic you have put away should not keep sending its tasks to the model.
25
+ */
26
+ export declare function liveTaskClause(taskAlias?: string, epicAlias?: string): string;
27
+ /** Whether a caller asked to see hidden rows. Accepts the usual truthy shapes. */
28
+ export declare function wantsHidden(value: unknown): boolean;
29
+ /** Shared schema fragments, so every tool documents these identically. */
30
+ export declare const INCLUDE_ARCHIVED_SCHEMA: {
31
+ type: "boolean";
32
+ default: boolean;
33
+ description: string;
34
+ };
35
+ export declare const INCLUDE_DELETED_TASKS_SCHEMA: {
36
+ type: "boolean";
37
+ default: boolean;
38
+ description: string;
39
+ };
@@ -0,0 +1,46 @@
1
+ /**
2
+ * What a listing shows by default.
3
+ *
4
+ * #30: after a while the epic list is mostly finished work, and agents leave
5
+ * behind tasks that should have been subtasks. Both are noise an agent pays
6
+ * for on every call, so both can be put out of sight without being destroyed.
7
+ *
8
+ * Two separate ideas, deliberately not merged into one:
9
+ *
10
+ * epics.archived — "stop showing me this". Distinct from the `cancelled`
11
+ * status, which means "we decided not to do it": most of
12
+ * what you want to archive is *completed*, and overloading
13
+ * the status would make that impossible to say.
14
+ * tasks.is_deleted — the same soft delete comments already have. Restricted
15
+ * to `todo` tasks, because a task with real history has an
16
+ * activity log that deleting it would orphan.
17
+ *
18
+ * Nothing is hidden silently: the dashboard reports how much it left out.
19
+ */
20
+ /** SQL fragment hiding archived epics, given the alias the caller used. */
21
+ export function liveEpicClause(alias = 'e') {
22
+ return `${alias}.archived = 0`;
23
+ }
24
+ /**
25
+ * SQL fragment hiding removed tasks, and tasks belonging to an archived epic —
26
+ * an epic you have put away should not keep sending its tasks to the model.
27
+ */
28
+ export function liveTaskClause(taskAlias = 't', epicAlias = 'e') {
29
+ return `${taskAlias}.is_deleted = 0 AND ${epicAlias}.archived = 0`;
30
+ }
31
+ /** Whether a caller asked to see hidden rows. Accepts the usual truthy shapes. */
32
+ export function wantsHidden(value) {
33
+ return value === true || value === 'true' || value === 1 || value === '1';
34
+ }
35
+ /** Shared schema fragments, so every tool documents these identically. */
36
+ export const INCLUDE_ARCHIVED_SCHEMA = {
37
+ type: 'boolean',
38
+ default: false,
39
+ description: 'Include archived epics and their tasks.',
40
+ };
41
+ export const INCLUDE_DELETED_TASKS_SCHEMA = {
42
+ type: 'boolean',
43
+ default: false,
44
+ description: 'Include removed tasks.',
45
+ };
46
+ //# sourceMappingURL=visibility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visibility.js","sourceRoot":"","sources":["../../src/helpers/visibility.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,2EAA2E;AAC3E,MAAM,UAAU,cAAc,CAAC,KAAK,GAAG,GAAG;IACxC,OAAO,GAAG,KAAK,eAAe,CAAC;AACjC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,SAAS,GAAG,GAAG,EAAE,SAAS,GAAG,GAAG;IAC7D,OAAO,GAAG,SAAS,uBAAuB,SAAS,eAAe,CAAC;AACrE,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,GAAG,CAAC;AAC5E,CAAC;AAED,0EAA0E;AAC1E,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,IAAI,EAAE,SAAkB;IACxB,OAAO,EAAE,KAAK;IACd,WAAW,EAAE,yCAAyC;CACvD,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,IAAI,EAAE,SAAkB;IACxB,OAAO,EAAE,KAAK;IACd,WAAW,EAAE,wBAAwB;CACtC,CAAC"}
@@ -3,6 +3,7 @@ import { logActivity } from '../helpers/activity-logger.js';
3
3
  import { resolveBranch } from '../helpers/git.js';
4
4
  import { resolveProjectId, projectCount } from '../helpers/project-scope.js';
5
5
  import { slimList } from '../helpers/slim.js';
6
+ import { wantsHidden, INCLUDE_ARCHIVED_SCHEMA } from '../helpers/visibility.js';
6
7
  export const definitions = [
7
8
  {
8
9
  name: 'tracker_dashboard',
@@ -11,6 +12,7 @@ export const definitions = [
11
12
  inputSchema: {
12
13
  type: 'object',
13
14
  properties: {
15
+ include_archived: INCLUDE_ARCHIVED_SCHEMA,
14
16
  project_id: {
15
17
  type: 'integer',
16
18
  description: 'Project ID. Omit if the database holds one project, or if SAGA_PROJECT is set. With several projects and neither, the first is used and the rest are listed under other_projects.',
@@ -57,6 +59,12 @@ function handleDashboard(args) {
57
59
  if (!project)
58
60
  throw new Error(`Project ${projectId} not found`);
59
61
  const branchFilter = resolveBranch(args.branch);
62
+ // Archived epics and removed tasks are excluded from the numbers as well as
63
+ // the lists — the point is to stop paying for them — but the response says
64
+ // how much it left out rather than quietly shrinking.
65
+ const showHidden = wantsHidden(args.include_archived);
66
+ const archivedSql = showHidden ? '' : ' AND e.archived = 0';
67
+ const deletedSql = showHidden ? '' : ' AND t.is_deleted = 0';
60
68
  let branchSql = '';
61
69
  const branchParams = [];
62
70
  let branchLabel = null;
@@ -73,7 +81,7 @@ function handleDashboard(args) {
73
81
  const stats = db
74
82
  .prepare(`
75
83
  WITH epic_ids AS (
76
- SELECT e.id FROM epics e WHERE e.project_id = ?${branchSql}
84
+ SELECT e.id FROM epics e WHERE e.project_id = ?${branchSql}${archivedSql}
77
85
  ),
78
86
  task_stats AS (
79
87
  SELECT
@@ -85,7 +93,7 @@ function handleDashboard(args) {
85
93
  SUM(CASE WHEN status = 'review' THEN 1 ELSE 0 END) as tasks_review,
86
94
  COALESCE(SUM(estimated_hours), 0) as total_estimated_hours,
87
95
  COALESCE(SUM(actual_hours), 0) as total_actual_hours
88
- FROM tasks WHERE epic_id IN (SELECT id FROM epic_ids)
96
+ FROM tasks WHERE epic_id IN (SELECT id FROM epic_ids)${showHidden ? '' : ' AND is_deleted = 0'}
89
97
  )
90
98
  SELECT
91
99
  (SELECT COUNT(*) FROM epic_ids) as total_epics,
@@ -107,8 +115,8 @@ function handleDashboard(args) {
107
115
  THEN ROUND(SUM(CASE WHEN t.status = 'done' THEN 1 ELSE 0 END) * 100.0 / COUNT(t.id), 1)
108
116
  ELSE 0 END as completion_pct
109
117
  FROM epics e
110
- LEFT JOIN tasks t ON t.epic_id = e.id
111
- WHERE e.project_id = ?${branchSql}
118
+ LEFT JOIN tasks t ON t.epic_id = e.id${showHidden ? '' : ' AND t.is_deleted = 0'}
119
+ WHERE e.project_id = ?${branchSql}${archivedSql}
112
120
  GROUP BY e.id
113
121
  ORDER BY e.sort_order, e.created_at
114
122
  `)
@@ -119,7 +127,7 @@ function handleDashboard(args) {
119
127
  SELECT t.id, t.title, t.priority, e.name as epic_name
120
128
  FROM tasks t
121
129
  JOIN epics e ON e.id = t.epic_id
122
- WHERE e.project_id = ? AND t.status = 'blocked'${branchSql}
130
+ WHERE e.project_id = ? AND t.status = 'blocked'${branchSql}${archivedSql}${deletedSql}
123
131
  ORDER BY
124
132
  CASE t.priority WHEN 'critical' THEN 0 WHEN 'high' THEN 1 WHEN 'medium' THEN 2 ELSE 3 END
125
133
  `)
@@ -130,7 +138,7 @@ function handleDashboard(args) {
130
138
  .prepare(`SELECT t.id, t.title, t.due_date, t.priority, e.name as epic_name
131
139
  FROM tasks t
132
140
  JOIN epics e ON e.id = t.epic_id
133
- WHERE e.project_id = ? AND t.due_date < ? AND t.status NOT IN ('done')${branchSql}
141
+ WHERE e.project_id = ? AND t.due_date < ? AND t.status NOT IN ('done')${branchSql}${archivedSql}${deletedSql}
134
142
  ORDER BY t.due_date ASC`)
135
143
  .all(projectId, today, ...branchParams);
136
144
  // Recent activity (last 10)
@@ -173,6 +181,20 @@ function handleDashboard(args) {
173
181
  }
174
182
  // When the project was a guess, tell the caller what else is in the file so it
175
183
  // can pass project_id (or the operator can set SAGA_PROJECT) instead.
184
+ const hiddenCounts = db
185
+ .prepare(`SELECT
186
+ (SELECT COUNT(*) FROM epics WHERE project_id = ? AND archived = 1) as archived_epics,
187
+ (SELECT COUNT(*) FROM tasks t JOIN epics e ON e.id = t.epic_id
188
+ WHERE e.project_id = ? AND t.is_deleted = 1) as removed_tasks`)
189
+ .get(projectId, projectId);
190
+ if (!showHidden && (hiddenCounts.archived_epics > 0 || hiddenCounts.removed_tasks > 0)) {
191
+ const parts = [];
192
+ if (hiddenCounts.archived_epics > 0)
193
+ parts.push(`${hiddenCounts.archived_epics} archived epic(s)`);
194
+ if (hiddenCounts.removed_tasks > 0)
195
+ parts.push(`${hiddenCounts.removed_tasks} removed task(s)`);
196
+ summaryParts.push(`Hidden: ${parts.join(' and ')} — pass include_archived to include them.`);
197
+ }
176
198
  const otherProjects = guessed
177
199
  ? db.prepare('SELECT id, name, status FROM projects WHERE id != ? ORDER BY id').all(projectId)
178
200
  : [];
@@ -183,6 +205,8 @@ function handleDashboard(args) {
183
205
  const summary = summaryParts.join(' ');
184
206
  return {
185
207
  summary,
208
+ ...(hiddenCounts.archived_epics > 0 ? { archived_epic_count: hiddenCounts.archived_epics } : {}),
209
+ ...(hiddenCounts.removed_tasks > 0 ? { removed_task_count: hiddenCounts.removed_tasks } : {}),
186
210
  ...(otherProjects.length > 0 ? { other_projects: otherProjects } : {}),
187
211
  project,
188
212
  branch_scope: branchLabel,
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../src/tools/dashboard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../src/tools/dashboard.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { getDb } from '../db.js';
2
2
  import { buildUpdate } from '../helpers/sql-builder.js';
3
3
  import { slimList } from '../helpers/slim.js';
4
+ import { liveEpicClause, wantsHidden, INCLUDE_ARCHIVED_SCHEMA } from '../helpers/visibility.js';
4
5
  import { tagsColumn } from '../helpers/coerce.js';
5
6
  import { logActivity, logEntityUpdate } from '../helpers/activity-logger.js';
6
7
  import { resolveBranch } from '../helpers/git.js';
@@ -36,7 +37,7 @@ export const definitions = [
36
37
  },
37
38
  {
38
39
  name: 'epic_list',
39
- description: 'List epics for a project with task counts and completion stats. Filter by status, priority or branch.',
40
+ description: 'List epics for a project with task counts and completion stats. Filter by status, priority or branch. Archived epics are hidden unless include_archived is set.',
40
41
  annotations: { title: 'List Epics', readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false },
41
42
  inputSchema: {
42
43
  type: 'object',
@@ -44,6 +45,7 @@ export const definitions = [
44
45
  project_id: { type: 'integer', description: 'Project ID' },
45
46
  status: { type: 'string', enum: ['planned', 'in_progress', 'completed', 'cancelled'] },
46
47
  priority: { type: 'string', enum: ['low', 'medium', 'high', 'critical'] },
48
+ include_archived: INCLUDE_ARCHIVED_SCHEMA,
47
49
  branch: {
48
50
  type: 'string',
49
51
  description: 'Git branch filter: "current" = active branch, "" = branch-agnostic only, omit = all.',
@@ -52,6 +54,19 @@ export const definitions = [
52
54
  required: ['project_id'],
53
55
  },
54
56
  },
57
+ {
58
+ name: 'epic_archive',
59
+ description: "Archive or unarchive an epic. Archived epics and their tasks drop out of listings, the dashboard and search unless include_archived is set. For putting finished work out of sight without cancelling it; nothing is deleted.",
60
+ annotations: { title: 'Archive Epic', readOnlyHint: false, destructiveHint: false, idempotentHint: true, openWorldHint: false },
61
+ inputSchema: {
62
+ type: 'object',
63
+ properties: {
64
+ id: { type: 'integer' },
65
+ archived: { type: 'boolean', default: true, description: 'true to archive, false to bring it back' },
66
+ },
67
+ required: ['id'],
68
+ },
69
+ },
55
70
  {
56
71
  name: 'epic_update',
57
72
  description: 'Update an epic. Pass only the fields you want to change. Set status to "cancelled" to soft-delete. Pass branch="current" to pin to the active branch, or empty string to clear.',
@@ -109,6 +124,9 @@ function handleEpicList(args) {
109
124
  whereClauses.push('e.priority = ?');
110
125
  params.push(priority);
111
126
  }
127
+ if (!wantsHidden(args.include_archived)) {
128
+ whereClauses.push(liveEpicClause('e'));
129
+ }
112
130
  if (branchFilter === null) {
113
131
  whereClauses.push('e.branch IS NULL');
114
132
  }
@@ -154,8 +172,32 @@ function handleEpicUpdate(args) {
154
172
  logEntityUpdate(db, 'epic', id, newRow.name, oldRow, newRow, ['name', 'status', 'priority', 'branch']);
155
173
  return newRow;
156
174
  }
175
+ function handleEpicArchive(args) {
176
+ const db = getDb();
177
+ const id = args.id;
178
+ const archived = args.archived === undefined ? true : Boolean(args.archived);
179
+ const epic = db.prepare('SELECT id, name, archived FROM epics WHERE id = ?').get(id);
180
+ if (!epic)
181
+ throw new Error(`Epic ${id} not found`);
182
+ if (Boolean(epic.archived) === archived) {
183
+ return { message: `Epic ${id} is already ${archived ? 'archived' : 'active'}.`, epic };
184
+ }
185
+ const row = db
186
+ .prepare(`UPDATE epics SET archived = ?, archived_at = ${archived ? "datetime('now')" : 'NULL'},
187
+ updated_at = datetime('now') WHERE id = ? RETURNING *`)
188
+ .get(archived ? 1 : 0, id);
189
+ const taskCount = db.prepare('SELECT COUNT(*) as n FROM tasks WHERE epic_id = ? AND is_deleted = 0').get(id).n;
190
+ logActivity(db, 'epic', id, 'updated', 'archived', archived ? '0' : '1', archived ? '1' : '0', `Epic '${epic.name}' ${archived ? 'archived' : 'unarchived'}`);
191
+ return {
192
+ message: archived
193
+ ? `Epic ${id} archived. It and its ${taskCount} task(s) are hidden from listings; pass include_archived to see them.`
194
+ : `Epic ${id} is active again.`,
195
+ epic: row,
196
+ };
197
+ }
157
198
  export const handlers = {
158
199
  epic_create: handleEpicCreate,
200
+ epic_archive: handleEpicArchive,
159
201
  epic_list: handleEpicList,
160
202
  epic_update: handleEpicUpdate,
161
203
  };
@@ -1 +1 @@
1
- {"version":3,"file":"epics.js","sourceRoot":"","sources":["../../src/tools/epics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"epics.js","sourceRoot":"","sources":["../../src/tools/epics.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { getDb } from '../db.js';
2
2
  import { resolveBranch } from '../helpers/git.js';
3
3
  import { resolveProjectId, noteScopeClause, repeatId, PROJECT_ID_SCHEMA } from '../helpers/project-scope.js';
4
4
  import { slimList } from '../helpers/slim.js';
5
+ import { wantsHidden, INCLUDE_ARCHIVED_SCHEMA } from '../helpers/visibility.js';
5
6
  import { asTagList } from '../helpers/coerce.js';
6
7
  export const definitions = [
7
8
  {
@@ -18,6 +19,7 @@ export const definitions = [
18
19
  description: 'Limit search to specific entity types (omit for all)',
19
20
  },
20
21
  project_id: PROJECT_ID_SCHEMA,
22
+ include_archived: INCLUDE_ARCHIVED_SCHEMA,
21
23
  branch: {
22
24
  type: 'string',
23
25
  description: 'Git branch filter: "current" = active branch, "" = branch-agnostic only, omit = all.',
@@ -51,6 +53,10 @@ function handleSearch(args) {
51
53
  epicBranchParams.push(branchFilter);
52
54
  taskBranchParams.push(branchFilter);
53
55
  }
56
+ if (!wantsHidden(args.include_archived)) {
57
+ epicBranchClause += ' AND e.archived = 0';
58
+ taskBranchClause += ' AND e.archived = 0 AND t.is_deleted = 0';
59
+ }
54
60
  const projectId = resolveProjectId(db, args);
55
61
  if (projectId !== undefined) {
56
62
  epicBranchClause += ' AND e.project_id = ?';
@@ -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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"}
@@ -7,6 +7,7 @@ import { resolveBranch } from '../helpers/git.js';
7
7
  import { withDependencies } from './subtasks.js';
8
8
  import { guardTaskDone, FORCE_SCHEMA } from '../helpers/completion-guard.js';
9
9
  import { asIdList, tagsColumn } from '../helpers/coerce.js';
10
+ import { wantsHidden, INCLUDE_ARCHIVED_SCHEMA, INCLUDE_DELETED_TASKS_SCHEMA } from '../helpers/visibility.js';
10
11
  export const definitions = [
11
12
  {
12
13
  name: 'task_create',
@@ -51,7 +52,7 @@ export const definitions = [
51
52
  },
52
53
  {
53
54
  name: 'task_list',
54
- description: 'List tasks with optional filters; without epic_id, across all epics. Includes subtask and dependency counts. ' +
55
+ description: 'List tasks; without epic_id, across all epics. Includes subtask and dependency counts. ' +
55
56
  'Rows are compact: nulls and metadata dropped, descriptions cut to ' + LIST_DESCRIPTION_CHARS + ' chars (task_get for full). ' +
56
57
  'branch="current" restricts to the active git branch.',
57
58
  annotations: { title: 'List Tasks', readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false },
@@ -68,6 +69,8 @@ export const definitions = [
68
69
  type: 'string',
69
70
  description: 'Git branch filter: "current" = active branch, "" = branch-agnostic only, omit = all.',
70
71
  },
72
+ include_archived: INCLUDE_ARCHIVED_SCHEMA,
73
+ include_deleted: INCLUDE_DELETED_TASKS_SCHEMA,
71
74
  sort_by: {
72
75
  type: 'string',
73
76
  enum: ['priority', 'created', 'due_date', 'status'],
@@ -78,6 +81,30 @@ export const definitions = [
78
81
  },
79
82
  },
80
83
  },
84
+ {
85
+ name: 'task_delete',
86
+ description: "Remove a task (soft delete). Only 'todo' tasks — anything further along has history worth keeping. The row is kept and hidden from listings; task_restore brings it back.",
87
+ annotations: { title: 'Remove Task', readOnlyHint: false, destructiveHint: false, idempotentHint: true, openWorldHint: false },
88
+ inputSchema: {
89
+ type: 'object',
90
+ properties: {
91
+ id: { type: 'integer' },
92
+ reason: { type: 'string', description: 'Why it is being removed (kept in the audit trail)' },
93
+ deleted_by: { type: 'string' },
94
+ },
95
+ required: ['id'],
96
+ },
97
+ },
98
+ {
99
+ name: 'task_restore',
100
+ description: 'Restore a task removed with task_delete.',
101
+ annotations: { title: 'Restore Task', readOnlyHint: false, destructiveHint: false, idempotentHint: true, openWorldHint: false },
102
+ inputSchema: {
103
+ type: 'object',
104
+ properties: { id: { type: 'integer' } },
105
+ required: ['id'],
106
+ },
107
+ },
81
108
  {
82
109
  name: 'task_lock_description',
83
110
  description: "Lock or unlock a task's description. While locked, task_update refuses to change it — a guard against rewriting the spec when you meant to add a comment. Everything else stays editable. Unlock only when a human asks, never to get past the refusal.",
@@ -259,6 +286,12 @@ function handleTaskList(args) {
259
286
  if (tag) {
260
287
  addTagFilter(whereClauses, params, tag, 't');
261
288
  }
289
+ // #30: a removed task, and a task inside an archived epic, are both noise the
290
+ // caller is paying for on every listing.
291
+ if (!wantsHidden(args.include_deleted))
292
+ whereClauses.push('t.is_deleted = 0');
293
+ if (!wantsHidden(args.include_archived))
294
+ whereClauses.push('e.archived = 0');
262
295
  if (branchFilter === null) {
263
296
  whereClauses.push('e.branch IS NULL');
264
297
  }
@@ -416,8 +449,61 @@ function handleTaskLockDescription(args) {
416
449
  task: row,
417
450
  };
418
451
  }
452
+ function handleTaskDelete(args) {
453
+ const db = getDb();
454
+ const id = args.id;
455
+ const reason = args.reason ?? null;
456
+ const deletedBy = args.deleted_by ?? null;
457
+ const task = db.prepare('SELECT * FROM tasks WHERE id = ?').get(id);
458
+ if (!task)
459
+ throw new Error(`Task ${id} not found`);
460
+ if (task.is_deleted)
461
+ return { message: `Task ${id} was already removed.`, task };
462
+ // Restricted to todo on purpose: anything further along has an activity log,
463
+ // comments and time tracking that removing it would strand.
464
+ if (task.status !== 'todo') {
465
+ throw new Error(`Task ${id} is '${task.status}', not 'todo', so it cannot be removed — work that has started has history worth keeping. ` +
466
+ 'Close it by setting status to done, or move it back to todo first if it was created by mistake.');
467
+ }
468
+ // Something else waiting on this task would wait forever.
469
+ const dependents = db
470
+ .prepare(`SELECT t.id, t.title FROM task_dependencies d
471
+ JOIN tasks t ON t.id = d.task_id
472
+ WHERE d.depends_on_task_id = ? AND t.is_deleted = 0`)
473
+ .all(id);
474
+ if (dependents.length > 0) {
475
+ throw new Error(`Task ${id} cannot be removed — ${dependents.map((d) => `#${d.id} '${d.title}'`).join(', ')} ` +
476
+ `depend${dependents.length === 1 ? 's' : ''} on it and would stay blocked forever. Clear those dependencies first.`);
477
+ }
478
+ const row = db
479
+ .prepare(`UPDATE tasks SET is_deleted = 1, deleted_at = datetime('now'), deleted_by = ?, delete_reason = ?,
480
+ updated_at = datetime('now') WHERE id = ? RETURNING *`)
481
+ .get(deletedBy, reason, id);
482
+ logActivity(db, 'task', id, 'deleted', 'is_deleted', '0', '1', `Task '${task.title}' removed${deletedBy ? ` by ${deletedBy}` : ''}${reason ? `: ${reason}` : ''}`);
483
+ return {
484
+ message: `Task ${id} removed. The row is kept — pass include_deleted to task_list to see it, or task_restore to bring it back.`,
485
+ task: row,
486
+ };
487
+ }
488
+ function handleTaskRestore(args) {
489
+ const db = getDb();
490
+ const id = args.id;
491
+ const task = db.prepare('SELECT * FROM tasks WHERE id = ?').get(id);
492
+ if (!task)
493
+ throw new Error(`Task ${id} not found`);
494
+ if (!task.is_deleted)
495
+ return { message: `Task ${id} is not removed — nothing to restore.`, task };
496
+ const row = db
497
+ .prepare(`UPDATE tasks SET is_deleted = 0, deleted_at = NULL, deleted_by = NULL, delete_reason = NULL,
498
+ updated_at = datetime('now') WHERE id = ? RETURNING *`)
499
+ .get(id);
500
+ logActivity(db, 'task', id, 'restored', 'is_deleted', '1', '0', `Task '${task.title}' restored`);
501
+ return { message: `Task ${id} restored.`, task: row };
502
+ }
419
503
  export const handlers = {
420
504
  task_create: handleTaskCreate,
505
+ task_delete: handleTaskDelete,
506
+ task_restore: handleTaskRestore,
421
507
  task_lock_description: handleTaskLockDescription,
422
508
  task_list: handleTaskList,
423
509
  task_get: handleTaskGet,
@@ -1 +1 @@
1
- {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../src/tools/tasks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../src/tools/tasks.ts"],"names":[],"mappings":"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"}
package/dist/web/index.js CHANGED
@@ -29,9 +29,12 @@ const WRITE_TOOLS = {
29
29
  tracker_init: dashboardHandlers.tracker_init,
30
30
  epic_create: epicHandlers.epic_create,
31
31
  epic_update: epicHandlers.epic_update,
32
+ epic_archive: epicHandlers.epic_archive,
32
33
  task_create: taskHandlers.task_create,
33
34
  task_update: taskHandlers.task_update,
34
35
  task_lock_description: taskHandlers.task_lock_description,
36
+ task_delete: taskHandlers.task_delete,
37
+ task_restore: taskHandlers.task_restore,
35
38
  subtask_create: subtaskHandlers.subtask_create,
36
39
  subtask_update: subtaskHandlers.subtask_update,
37
40
  subtask_reorder: subtaskHandlers.subtask_reorder,
@@ -256,7 +259,7 @@ async function handle(req, res, opts, db) {
256
259
  const pid = Number(url.searchParams.get('project_id'));
257
260
  if (!pid)
258
261
  return json(res, 400, { error: 'project_id is required' });
259
- const data = q.getOverview(db, pid);
262
+ const data = q.getOverview(db, pid, url.searchParams.get('include_archived') === '1');
260
263
  if (!data)
261
264
  return json(res, 404, { error: `Project ${pid} not found` });
262
265
  return json(res, 200, data);
@@ -265,7 +268,7 @@ async function handle(req, res, opts, db) {
265
268
  const pid = Number(url.searchParams.get('project_id'));
266
269
  if (!pid)
267
270
  return json(res, 400, { error: 'project_id is required' });
268
- return json(res, 200, { tasks: q.listTasks(db, pid) });
271
+ return json(res, 200, { tasks: q.listTasks(db, pid, url.searchParams.get('include_archived') === '1') });
269
272
  }
270
273
  const taskMatch = /^\/api\/tasks\/(\d+)$/.exec(path);
271
274
  if (req.method === 'GET' && taskMatch) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/web/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/web/index.ts"],"names":[],"mappings":"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"}
@@ -4,15 +4,16 @@ import type Database from 'better-sqlite3';
4
4
  * the viewer never writes. The MCP tools remain the only write path.
5
5
  */
6
6
  export declare function listProjects(db: Database.Database): unknown[];
7
- export declare function getOverview(db: Database.Database, projectId: number): {
7
+ export declare function getOverview(db: Database.Database, projectId: number, includeArchived?: boolean): {
8
8
  project: {};
9
9
  stats: unknown;
10
10
  epics: unknown[];
11
11
  overdue_tasks: unknown[];
12
12
  blocked_tasks: unknown[];
13
13
  branches: unknown[];
14
+ hidden: unknown;
14
15
  } | null;
15
- export declare function listTasks(db: Database.Database, projectId: number): unknown[];
16
+ export declare function listTasks(db: Database.Database, projectId: number, includeArchived?: boolean): unknown[];
16
17
  export declare function getTask(db: Database.Database, taskId: number, includeDeleted: boolean): {
17
18
  subtasks: Record<string, unknown>[];
18
19
  comments: unknown[];
@@ -22,12 +22,14 @@ export function listProjects(db) {
22
22
  p.created_at DESC`)
23
23
  .all();
24
24
  }
25
- export function getOverview(db, projectId) {
25
+ export function getOverview(db, projectId, includeArchived = false) {
26
+ const archivedSql = includeArchived ? '' : ' AND e.archived = 0';
27
+ const liveTasks = includeArchived ? '' : ' AND t.is_deleted = 0';
26
28
  const project = db.prepare('SELECT * FROM projects WHERE id = ?').get(projectId);
27
29
  if (!project)
28
30
  return null;
29
31
  const stats = db
30
- .prepare(`WITH epic_ids AS (SELECT id FROM epics WHERE project_id = ?),
32
+ .prepare(`WITH epic_ids AS (SELECT id FROM epics e WHERE project_id = ?${archivedSql}),
31
33
  task_stats AS (
32
34
  SELECT
33
35
  COUNT(*) as total_tasks,
@@ -38,7 +40,7 @@ export function getOverview(db, projectId) {
38
40
  SUM(CASE WHEN status = 'todo' THEN 1 ELSE 0 END) as tasks_todo,
39
41
  COALESCE(SUM(estimated_hours), 0) as total_estimated_hours,
40
42
  COALESCE(SUM(actual_hours), 0) as total_actual_hours
41
- FROM tasks WHERE epic_id IN (SELECT id FROM epic_ids)
43
+ FROM tasks t WHERE epic_id IN (SELECT id FROM epic_ids)${liveTasks}
42
44
  )
43
45
  SELECT (SELECT COUNT(*) FROM epic_ids) as total_epics, ts.*,
44
46
  CASE WHEN ts.total_tasks > 0
@@ -55,8 +57,8 @@ export function getOverview(db, projectId) {
55
57
  THEN ROUND(SUM(CASE WHEN t.status = 'done' THEN 1 ELSE 0 END) * 100.0 / COUNT(t.id), 1)
56
58
  ELSE 0 END as completion_pct
57
59
  FROM epics e
58
- LEFT JOIN tasks t ON t.epic_id = e.id
59
- WHERE e.project_id = ?
60
+ LEFT JOIN tasks t ON t.epic_id = e.id${liveTasks}
61
+ WHERE e.project_id = ?${archivedSql}
60
62
  GROUP BY e.id
61
63
  ORDER BY e.sort_order, e.created_at`)
62
64
  .all(projectId);
@@ -64,13 +66,13 @@ export function getOverview(db, projectId) {
64
66
  const overdue = db
65
67
  .prepare(`SELECT t.id, t.title, t.due_date, t.priority, t.status, e.name as epic_name
66
68
  FROM tasks t JOIN epics e ON e.id = t.epic_id
67
- WHERE e.project_id = ? AND t.due_date IS NOT NULL AND t.due_date < ? AND t.status != 'done'
69
+ WHERE e.project_id = ? AND t.due_date IS NOT NULL AND t.due_date < ? AND t.status != 'done'${archivedSql}${liveTasks}
68
70
  ORDER BY t.due_date ASC`)
69
71
  .all(projectId, today);
70
72
  const blocked = db
71
73
  .prepare(`SELECT t.id, t.title, t.priority, t.status, e.name as epic_name
72
74
  FROM tasks t JOIN epics e ON e.id = t.epic_id
73
- WHERE e.project_id = ? AND t.status = 'blocked'
75
+ WHERE e.project_id = ? AND t.status = 'blocked'${archivedSql}${liveTasks}
74
76
  ORDER BY CASE t.priority WHEN 'critical' THEN 0 WHEN 'high' THEN 1 WHEN 'medium' THEN 2 ELSE 3 END`)
75
77
  .all(projectId);
76
78
  const branches = db
@@ -78,16 +80,23 @@ export function getOverview(db, projectId) {
78
80
  WHERE project_id = ? AND branch IS NOT NULL AND branch != ''
79
81
  GROUP BY branch ORDER BY branch`)
80
82
  .all(projectId);
81
- return { project, stats, epics, overdue_tasks: overdue, blocked_tasks: blocked, branches };
83
+ const hidden = db
84
+ .prepare(`SELECT
85
+ (SELECT COUNT(*) FROM epics WHERE project_id = ? AND archived = 1) as archived_epics,
86
+ (SELECT COUNT(*) FROM tasks t JOIN epics e ON e.id = t.epic_id
87
+ WHERE e.project_id = ? AND t.is_deleted = 1) as removed_tasks`)
88
+ .get(projectId, projectId);
89
+ return { project, stats, epics, overdue_tasks: overdue, blocked_tasks: blocked, branches, hidden };
82
90
  }
83
- export function listTasks(db, projectId) {
91
+ export function listTasks(db, projectId, includeArchived = false) {
92
+ const hide = includeArchived ? '' : ' AND e.archived = 0 AND t.is_deleted = 0';
84
93
  return db
85
94
  .prepare(`SELECT t.*, e.name as epic_name, e.branch as epic_branch,
86
95
  (SELECT COUNT(*) FROM subtasks s WHERE s.task_id = t.id) as subtask_count,
87
96
  (SELECT COUNT(*) FROM subtasks s WHERE s.task_id = t.id AND s.status = 'done') as subtask_done,
88
97
  (SELECT COUNT(*) FROM comments c WHERE c.task_id = t.id AND c.is_deleted = 0) as comment_count
89
98
  FROM tasks t JOIN epics e ON e.id = t.epic_id
90
- WHERE e.project_id = ?
99
+ WHERE e.project_id = ?${hide}
91
100
  ORDER BY e.sort_order, e.created_at, t.sort_order, t.created_at`)
92
101
  .all(projectId);
93
102
  }
@@ -171,12 +180,12 @@ export function search(db, query, limit) {
171
180
  epics: db
172
181
  .prepare(`SELECT e.id, e.name, e.description, e.status, e.project_id, p.name as project_name
173
182
  FROM epics e JOIN projects p ON p.id = e.project_id
174
- WHERE e.name LIKE ? OR e.description LIKE ? LIMIT ?`)
183
+ WHERE (e.name LIKE ? OR e.description LIKE ?) AND e.archived = 0 LIMIT ?`)
175
184
  .all(pattern, pattern, limit),
176
185
  tasks: db
177
186
  .prepare(`SELECT t.id, t.title, t.status, t.priority, e.name as epic_name, e.project_id
178
187
  FROM tasks t JOIN epics e ON e.id = t.epic_id
179
- WHERE t.title LIKE ? OR t.description LIKE ? LIMIT ?`)
188
+ WHERE (t.title LIKE ? OR t.description LIKE ?) AND e.archived = 0 AND t.is_deleted = 0 LIMIT ?`)
180
189
  .all(pattern, pattern, limit),
181
190
  notes: db
182
191
  .prepare('SELECT id, title, note_type, related_entity_type, related_entity_id, created_at FROM notes WHERE title LIKE ? OR content LIKE ? LIMIT ?')
@@ -1 +1 @@
1
- {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/web/queries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/web/queries.ts"],"names":[],"mappings":"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"}
package/dist/web/ui.js CHANGED
@@ -251,6 +251,13 @@ body.resizing { cursor: ew-resize; user-select: none; }
251
251
  }
252
252
  .dep.unmet { color: var(--blocked); border-color: var(--blocked); }
253
253
  .lockbtn.on { color: var(--high); border-color: var(--high); }
254
+ .card.archived { opacity: .62; border-style: dashed; }
255
+ .tline.removed .ellip { text-decoration: line-through; color: var(--muted); }
256
+ .hiddenbar {
257
+ display: flex; align-items: center; gap: 8px; margin: 14px 0 8px;
258
+ font-size: 12px; color: var(--muted);
259
+ }
260
+ .hiddenbar hr { flex: 1; border: none; border-top: 1px dashed var(--border); }
254
261
  .toast {
255
262
  position: fixed; bottom: 18px; left: 50%; transform: translateX(-50%);
256
263
  background: var(--panel); border: 1px solid var(--border); border-radius: 8px;
@@ -274,7 +281,8 @@ body.resizing { cursor: ew-resize; user-select: none; }
274
281
  <main id="view"><p class="muted">Loading…</p></main>
275
282
  <script>
276
283
  var S = { projects: [], projectId: null, tab: 'overview', overview: null, tasks: [],
277
- epicOpen: {}, task: null, showDeleted: false, query: '', readOnly: false };
284
+ epicOpen: {}, task: null, showDeleted: false, query: '', readOnly: false,
285
+ showArchived: false, hidden: { archived_epics: 0, removed_tasks: 0 } };
278
286
 
279
287
  var TABS = [['overview','Overview'],['board','Board'],['epics','Epics'],['notes','Notes'],['activity','Activity']];
280
288
  var TASK_STATUS = ['todo', 'in_progress', 'review', 'blocked', 'done'];
@@ -520,11 +528,13 @@ function loadProject(keepDrawer) {
520
528
  : 'Create one with the <code>tracker_init</code> MCP tool.') + '</p>';
521
529
  return Promise.resolve();
522
530
  }
531
+ var inc = S.showArchived ? '&include_archived=1' : '';
523
532
  return Promise.all([
524
- get('/api/overview?project_id=' + S.projectId),
525
- get('/api/tasks?project_id=' + S.projectId)
533
+ get('/api/overview?project_id=' + S.projectId + inc),
534
+ get('/api/tasks?project_id=' + S.projectId + inc)
526
535
  ]).then(function (r) {
527
536
  S.overview = r[0];
537
+ S.hidden = r[0].hidden || { archived_epics: 0, removed_tasks: 0 };
528
538
  S.tasks = r[1].tasks;
529
539
  render();
530
540
  if (keepDrawer && S.task) return openTask(S.task.id);
@@ -567,14 +577,30 @@ function viewOverview() {
567
577
  '<div style="margin-top:10px">' + progressBar(s.completion_pct) + '</div>' +
568
578
  '</div>';
569
579
 
570
- h += '<h2>Epics <span class="muted">(' + o.epics.length + ')</span>' +
571
- (canEdit() ? ' <button class="btn" id="newEpic">+ Epic</button>' : '') + '</h2>';
580
+ var hiddenEpics = (o.hidden && o.hidden.archived_epics) || 0;
581
+ var hiddenTasks = (o.hidden && o.hidden.removed_tasks) || 0;
582
+ h += '<h2>Epics <span class="muted">(' + o.epics.filter(function (e) { return !e.archived; }).length + ')</span>' +
583
+ (canEdit() ? ' <button class="btn" id="newEpic">+ Epic</button>' : '') +
584
+ (hiddenEpics || hiddenTasks
585
+ ? ' <button class="btn" id="toggleArchived">' + (S.showArchived ? 'Hide' : 'Show') + ' archived' +
586
+ (hiddenEpics ? ' (' + hiddenEpics + ')' : '') + '</button>'
587
+ : '') + '</h2>';
572
588
  if (!o.epics.length) h += '<p class="empty">No epics yet.</p>';
573
- o.epics.forEach(function (e) {
574
- h += '<div class="card" data-epic-open="' + e.id + '" style="cursor:pointer">' +
589
+ var shownEpics = o.epics.slice();
590
+ var archivedShown = false;
591
+ shownEpics.forEach(function (e) {
592
+ // Archived epics sort below a divider rather than mixing in.
593
+ if (e.archived && !archivedShown) {
594
+ archivedShown = true;
595
+ h += '<div class="hiddenbar"><hr>archived<hr></div>';
596
+ }
597
+ h += '<div class="card' + (e.archived ? ' archived' : '') + '" data-epic-open="' + e.id + '" style="cursor:pointer">' +
575
598
  '<div class="row"><span class="grow ellip"><strong>' + esc(e.name) + '</strong></span>' +
576
599
  (e.branch ? '<span class="pill pr-low" title="branch">⎇ ' + esc(e.branch) + '</span> ' : '') +
577
- pill('pr', e.priority) + ' ' + pill('st', e.status) + '</div>' +
600
+ (e.archived ? '<span class="pill pr-low" title="Hidden from listings">archived</span> ' : '') +
601
+ pill('pr', e.priority) + ' ' + pill('st', e.status) +
602
+ (canEdit() ? ' <button class="btn" data-archive-epic="' + e.id + '" data-archived="' + (e.archived ? 1 : 0) + '">' +
603
+ (e.archived ? 'Unarchive' : 'Archive') + '</button>' : '') + '</div>' +
578
604
  '<div class="row" style="margin-top:8px"><span class="grow">' + progressBar(e.completion_pct) + '</span>' +
579
605
  '<span class="muted" style="font-size:12px">' + (e.done_count || 0) + '/' + (e.task_count || 0) +
580
606
  (e.blocked_count ? ' · ' + e.blocked_count + ' blocked' : '') + '</span></div></div>';
@@ -809,9 +835,19 @@ function drawTask() {
809
835
  var h = '<div class="drawer-resize" id="drawerResize" title="Drag to resize"></div>' +
810
836
  '<div class="row"><span class="grow"></span>' +
811
837
  '<button class="btn" id="refreshTask" title="Re-read this task from the database">⟳ Refresh</button>' +
838
+ (ed && t.is_deleted ? '<button class="btn" id="restoreTask">Restore</button>' : '') +
839
+ (ed && !t.is_deleted && t.status === 'todo'
840
+ ? '<button class="btn danger" id="deleteTask" title="Remove this task — kept for the audit trail, restorable">Remove</button>'
841
+ : '') +
812
842
  (ed ? '<button class="btn" id="editTask">Edit task</button>' : '') +
813
843
  '<button class="btn" id="closeDrawer">Close ✕</button></div>';
814
844
  h += '<h2 style="margin:6px 0 8px;font-size:18px">' + esc(t.title) + '</h2>';
845
+ if (t.is_deleted) {
846
+ h += '<div class="empty" style="color:var(--blocked)">This task was removed' +
847
+ (t.deleted_by ? ' by ' + esc(t.deleted_by) : '') +
848
+ (t.delete_reason ? ': ' + esc(t.delete_reason) : '') +
849
+ '. It is hidden from listings until restored.</div>';
850
+ }
815
851
  h += '<div class="row" style="gap:6px;flex-wrap:wrap">';
816
852
  if (ed) {
817
853
  h += '<select id="quickStatus" title="Status">' + TASK_STATUS.map(function (s) {
@@ -1098,6 +1134,34 @@ document.addEventListener('click', function (ev) {
1098
1134
  if (target.id === 'collapseAll') { S.epicOpen = {}; render(); return; }
1099
1135
  if (target.id === 'newProject') return projectModal(null);
1100
1136
  if (target.id === 'editProject') return projectModal(S.overview.project);
1137
+ if (target.id === 'toggleArchived') {
1138
+ S.showArchived = !S.showArchived;
1139
+ return loadProject();
1140
+ }
1141
+
1142
+ var archBtn = target.closest('[data-archive-epic]');
1143
+ if (archBtn) {
1144
+ var aid = Number(archBtn.dataset.archiveEpic);
1145
+ var isArchived = archBtn.dataset.archived === '1';
1146
+ return act('epic_archive', { id: aid, archived: !isArchived })
1147
+ .then(function (r) { toast(r.message); return refresh(); }).catch(oops);
1148
+ }
1149
+
1150
+ if (target.id === 'deleteTask') {
1151
+ var t = S.task;
1152
+ if (t.status !== 'todo') {
1153
+ return oops(new Error("Only a task still in 'todo' can be removed — this one is '" + label(t.status) + "'."));
1154
+ }
1155
+ var why = prompt('Why is this task being removed? (kept in the audit trail)');
1156
+ if (why === null) return;
1157
+ return act('task_delete', { id: t.id, reason: why || null })
1158
+ .then(function (r) { toast(r.message); closeDrawer(); return refresh(); }).catch(oops);
1159
+ }
1160
+ if (target.id === 'restoreTask') {
1161
+ return act('task_restore', { id: S.task.id })
1162
+ .then(function (r) { toast(r.message); return refresh(); }).catch(oops);
1163
+ }
1164
+
1101
1165
  if (target.id === 'newEpic') return epicModal(null);
1102
1166
  if (target.id === 'newNote') return noteModal(null, null);
1103
1167
  if (target.id === 'editTask') return editTaskModal();
@@ -1 +1 @@
1
- {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/web/ui.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,IAAI,GAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAg9CpB,CAAC"}
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/web/ui.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,IAAI,GAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAghDpB,CAAC"}
package/manifest.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "manifest_version": "0.3",
3
3
  "name": "saga-mcp",
4
4
  "display_name": "Saga — Project Tracker for AI Agents",
5
- "version": "1.9.0",
5
+ "version": "1.10.0",
6
6
  "description": "A Jira-like project tracker MCP server for AI agents. SQLite-backed, per-project scoped, with full hierarchy and activity logging — so LLMs never lose track.",
7
7
  "long_description": "Saga gives your AI assistant a structured SQLite database to track projects, epics, tasks, subtasks, notes, and decisions across sessions. No more scattered markdown files — one `tracker_dashboard` call gives full project context to resume work.\n\n**Key features:**\n- Full hierarchy: Projects > Epics > Tasks > Subtasks\n- Task dependencies: Express sequencing with auto-block/unblock\n- Comments: Threaded discussions on tasks for decision trails, with reversible soft-delete\n- Templates: Reusable task sets with variable substitution\n- Dashboard: One tool call gives full overview with natural language summary\n- SQLite: Self-contained `.tracker.db` file per project — zero setup\n- Activity log: Every mutation is automatically tracked\n- Notes system: Decisions, context, meeting notes, blockers\n- Batch operations: Create multiple subtasks or update multiple tasks in one call\n- 35 focused tools with safety annotations\n- Web UI: `saga-web` serves a local dashboard for browsing and editing the same database\n- Import/export: Full project backup and migration as JSON",
8
8
  "author": {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "saga-mcp",
3
3
  "mcpName": "io.github.spranab/saga-mcp",
4
- "version": "1.9.0",
4
+ "version": "1.10.0",
5
5
  "description": "A Jira-like project tracker MCP server for AI agents. SQLite-backed, per-project scoped, with full hierarchy (Projects > Epics > Tasks > Subtasks), activity logging, and a dashboard \u2014 so LLMs never lose track.",
6
6
  "type": "module",
7
7
  "main": "dist/index.js",