sqlew 3.1.1 → 3.2.2
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/CHANGELOG.md +100 -0
- package/README.md +12 -2
- package/assets/schema.sql +28 -1
- package/dist/database.d.ts +65 -0
- package/dist/database.d.ts.map +1 -1
- package/dist/database.js +190 -0
- package/dist/database.js.map +1 -1
- package/dist/index.js +36 -6
- package/dist/index.js.map +1 -1
- package/dist/migrations/add-decision-context.d.ts +28 -0
- package/dist/migrations/add-decision-context.d.ts.map +1 -0
- package/dist/migrations/add-decision-context.js +125 -0
- package/dist/migrations/add-decision-context.js.map +1 -0
- package/dist/migrations/add-task-dependencies.d.ts +26 -0
- package/dist/migrations/add-task-dependencies.d.ts.map +1 -0
- package/dist/migrations/add-task-dependencies.js +94 -0
- package/dist/migrations/add-task-dependencies.js.map +1 -0
- package/dist/migrations/index.d.ts +3 -1
- package/dist/migrations/index.d.ts.map +1 -1
- package/dist/migrations/index.js +32 -2
- package/dist/migrations/index.js.map +1 -1
- package/dist/schema.js +2 -2
- package/dist/schema.js.map +1 -1
- package/dist/tests/migrations/test-v3.2-migration.d.ts +6 -0
- package/dist/tests/migrations/test-v3.2-migration.d.ts.map +1 -0
- package/dist/tests/migrations/test-v3.2-migration.js +191 -0
- package/dist/tests/migrations/test-v3.2-migration.js.map +1 -0
- package/dist/tests/tasks.dependencies.test.d.ts +7 -0
- package/dist/tests/tasks.dependencies.test.d.ts.map +1 -0
- package/dist/tests/tasks.dependencies.test.js +613 -0
- package/dist/tests/tasks.dependencies.test.js.map +1 -0
- package/dist/tools/context.d.ts +21 -2
- package/dist/tools/context.d.ts.map +1 -1
- package/dist/tools/context.js +110 -3
- package/dist/tools/context.js.map +1 -1
- package/dist/tools/tasks.d.ts +23 -0
- package/dist/tools/tasks.d.ts.map +1 -1
- package/dist/tools/tasks.js +298 -8
- package/dist/tools/tasks.js.map +1 -1
- package/dist/tools/utils.d.ts.map +1 -1
- package/dist/tools/utils.js +44 -21
- package/dist/tools/utils.js.map +1 -1
- package/dist/types.d.ts +26 -0
- package/dist/types.d.ts.map +1 -1
- package/docs/AI_AGENT_GUIDE.md +25 -3
- package/docs/DECISION_CONTEXT.md +474 -0
- package/docs/TASK_ACTIONS.md +311 -10
- package/docs/TASK_DEPENDENCIES.md +748 -0
- package/docs/TASK_LINKING.md +188 -8
- package/docs/WORKFLOWS.md +25 -3
- package/package.json +4 -2
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,106 @@ All notable changes to sqlew will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [3.2.2] - 2025-10-18
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- **Decision Context - Rich Decision Documentation** (GitHub Discussion #9)
|
|
12
|
+
- New `add_decision_context` action: Attach rationale, alternatives, and trade-offs to decisions
|
|
13
|
+
- New `list_decision_contexts` action: Query decision contexts with flexible filters
|
|
14
|
+
- Enhanced `get` action with `include_context` parameter to retrieve decision with full context
|
|
15
|
+
- Database schema: New `t_decision_context` table with relationships to decisions, tasks, and constraints
|
|
16
|
+
- Migration script for existing databases (v3.2.0 → v3.2.2)
|
|
17
|
+
- Comprehensive documentation: `docs/DECISION_CONTEXT.md` (500+ lines with real-world scenarios)
|
|
18
|
+
|
|
19
|
+
### Features
|
|
20
|
+
- **Rich Context Storage:**
|
|
21
|
+
- `rationale` (required): Explanation of WHY a decision was made
|
|
22
|
+
- `alternatives_considered` (optional): JSON array of rejected alternatives with reasons
|
|
23
|
+
- `tradeoffs` (optional): JSON object with pros/cons analysis
|
|
24
|
+
- `decided_by` (optional): Agent who made the decision
|
|
25
|
+
- `related_task_id` (optional): Link to implementation task
|
|
26
|
+
- `related_constraint_id` (optional): Link to system constraint
|
|
27
|
+
|
|
28
|
+
### Use Cases (from DECISION_CONTEXT.md)
|
|
29
|
+
- **Multi-Session AI Development**: Preserve decision rationale across days/weeks of development
|
|
30
|
+
- **Architecture Reviews & Team Handoffs**: Explain non-standard choices to future developers
|
|
31
|
+
- **Breaking Changes & Deprecations**: Document migration requirements and timelines
|
|
32
|
+
- **Performance Optimization Trade-offs**: Prevent future "optimizations" that regress quality
|
|
33
|
+
|
|
34
|
+
### Documentation
|
|
35
|
+
- Added `docs/DECISION_CONTEXT.md` - Comprehensive guide with 4 detailed scenarios:
|
|
36
|
+
- Scenario 1: Multi-Session AI Development (auth token storage example)
|
|
37
|
+
- Scenario 2: Architecture Reviews (SQLite vs PostgreSQL example)
|
|
38
|
+
- Scenario 3: Breaking Changes (API versioning example)
|
|
39
|
+
- Scenario 4: Performance Optimization (caching strategy example)
|
|
40
|
+
- Includes best practices, token efficiency guidelines, and migration patterns
|
|
41
|
+
- API reference with all parameters and examples
|
|
42
|
+
|
|
43
|
+
### Technical Details
|
|
44
|
+
- **Backward Compatible**: Zero breaking changes - new feature is completely optional
|
|
45
|
+
- **Migration Safety**: CREATE TABLE IF NOT EXISTS pattern ensures idempotent migration
|
|
46
|
+
- **Token Efficiency**: Optional feature - only add context when decision rationale is critical
|
|
47
|
+
- **Indexes**: 3 optimized indexes for key-based, task-based, and constraint-based queries
|
|
48
|
+
- **CASCADE Deletion**: Contexts are deleted when parent decision is removed
|
|
49
|
+
- **SET NULL**: Task/constraint links remain even if linked resources are deleted
|
|
50
|
+
|
|
51
|
+
### Changed
|
|
52
|
+
- Database schema version bumped to v3.2.2
|
|
53
|
+
- MCP server version updated to 3.2.2
|
|
54
|
+
- Enhanced `decision` tool with 2 new actions (total: 17 actions)
|
|
55
|
+
|
|
56
|
+
## [3.2.0] - 2025-10-18
|
|
57
|
+
|
|
58
|
+
### Added
|
|
59
|
+
- **Task Dependency Management** (GitHub Issue #16)
|
|
60
|
+
- New `add_dependency` action: Add blocking relationships between tasks
|
|
61
|
+
- New `remove_dependency` action: Remove blocking relationships
|
|
62
|
+
- New `get_dependencies` action: Query task dependencies bidirectionally
|
|
63
|
+
- Circular dependency detection (direct and transitive) using recursive CTE
|
|
64
|
+
- Enhanced `list` action with `include_dependency_counts` parameter
|
|
65
|
+
- Enhanced `get` action with `include_dependencies` parameter
|
|
66
|
+
- Database schema: New `t_task_dependencies` table with CASCADE deletion
|
|
67
|
+
- Migration script for existing databases (v3.1.x → v3.2.0)
|
|
68
|
+
- Comprehensive validation: self-dependency, circular, archived task checks
|
|
69
|
+
- New documentation: `docs/TASK_DEPENDENCIES.md`
|
|
70
|
+
|
|
71
|
+
### Changed
|
|
72
|
+
- Task system now supports workflow dependencies and blocking relationships
|
|
73
|
+
- Database schema version bumped to v3.2.0
|
|
74
|
+
- `list` action returns dependency counts when `include_dependency_counts: true`
|
|
75
|
+
- `get` action includes dependency arrays when `include_dependencies: true`
|
|
76
|
+
|
|
77
|
+
### Documentation
|
|
78
|
+
- Added `docs/TASK_DEPENDENCIES.md` - Focused guide for dependency management (500+ lines)
|
|
79
|
+
- Updated `docs/TASK_ACTIONS.md` - Documented 3 new dependency actions and enhanced parameters
|
|
80
|
+
- Updated `docs/TASK_LINKING.md` - Added task-to-task dependency section explaining differences
|
|
81
|
+
- Updated `README.md` - Mentioned dependency feature in task system highlights
|
|
82
|
+
|
|
83
|
+
### Technical Details
|
|
84
|
+
- **Circular Detection Algorithm**: Recursive CTE with 100-level depth limit
|
|
85
|
+
- **Validation Rules**: 5 comprehensive checks (self-dep, circular, existence, archived)
|
|
86
|
+
- **Token Efficiency**: Metadata-only queries by default (~88% reduction vs full details)
|
|
87
|
+
- **CASCADE Deletion**: Dependencies auto-remove when tasks are deleted
|
|
88
|
+
- **Index Support**: `idx_task_deps_blocked` for efficient reverse queries
|
|
89
|
+
- **Bidirectional Queries**: Find blockers and blocking tasks in single call
|
|
90
|
+
|
|
91
|
+
## [3.1.2] - 2025-10-18
|
|
92
|
+
|
|
93
|
+
### Added
|
|
94
|
+
- **Help action discoverability improvement**
|
|
95
|
+
- Added prominent note in all 7 tool help actions: "💡 TIP: Use action: \"example\" to see comprehensive usage scenarios and real-world examples"
|
|
96
|
+
- Helps AI agents discover the `example` action which was previously missed
|
|
97
|
+
- Improves UX by making it clear that comprehensive examples are available beyond basic help
|
|
98
|
+
|
|
99
|
+
### Changed
|
|
100
|
+
- Enhanced help response format for all tools (decision, message, file, constraint, stats, config, task)
|
|
101
|
+
- Added `note` field to help output highlighting example action availability
|
|
102
|
+
|
|
103
|
+
### Impact
|
|
104
|
+
- AI agents will now be more aware of the `example` action
|
|
105
|
+
- Reduces confusion when agents need detailed usage scenarios
|
|
106
|
+
- Better guidance for discovering comprehensive documentation
|
|
107
|
+
|
|
8
108
|
## [3.1.1] - 2025-10-18
|
|
9
109
|
|
|
10
110
|
### Fixed
|
package/README.md
CHANGED
|
@@ -59,6 +59,15 @@ Traditional code only tells you **WHAT** and **HOW**. sqlew adds **WHY**:
|
|
|
59
59
|
### 🎯 Key Features
|
|
60
60
|
- **7 Specialized Tools**: decisions, messages, tasks, files, constraints, stats, config
|
|
61
61
|
- **Metadata-Driven**: Tag, layer, scope, and version everything
|
|
62
|
+
- **Decision Context** (v3.2.2): Rich decision documentation with rationale and trade-offs
|
|
63
|
+
- Document **WHY** decisions were made, not just **WHAT**
|
|
64
|
+
- Store alternatives considered and pros/cons analysis
|
|
65
|
+
- Perfect for multi-session AI development and team handoffs
|
|
66
|
+
- Link decisions to tasks and constraints for full traceability
|
|
67
|
+
- **Task Dependencies** (v3.2.0): Blocking relationships with circular detection
|
|
68
|
+
- Sequential workflow management (API before UI, DB before ORM)
|
|
69
|
+
- Bidirectional queries (find blockers and blocking tasks)
|
|
70
|
+
- Token-efficient metadata-only queries (~88% reduction)
|
|
62
71
|
- **Auto-File Tracking** (v3.0.2): Zero-token task management via automatic file watching
|
|
63
72
|
- Auto-transition: `todo` → `in_progress` on file edit
|
|
64
73
|
- Auto-complete: `in_progress` → `done` when acceptance criteria pass
|
|
@@ -195,8 +204,9 @@ Each tool supports `action: "help"` for full documentation and `action: "example
|
|
|
195
204
|
|
|
196
205
|
**Task System:**
|
|
197
206
|
- 📋 **[Task Overview](docs/TASK_OVERVIEW.md)** - Lifecycle, status transitions, auto-stale (363 lines, ~10k tokens)
|
|
198
|
-
- ⚙️ **[Task Actions](docs/TASK_ACTIONS.md)** - All actions with examples (
|
|
199
|
-
- 🔗 **[Task
|
|
207
|
+
- ⚙️ **[Task Actions](docs/TASK_ACTIONS.md)** - All actions with examples (1,100+ lines, ~28k tokens)
|
|
208
|
+
- 🔗 **[Task Dependencies](docs/TASK_DEPENDENCIES.md)** - Blocking relationships, circular detection (500+ lines, ~13k tokens) **NEW v3.2.0**
|
|
209
|
+
- 🔗 **[Task Linking](docs/TASK_LINKING.md)** - Link tasks to decisions/constraints/files/tasks (900+ lines, ~23k tokens)
|
|
200
210
|
- 🔄 **[Task Migration](docs/TASK_MIGRATION.md)** - Migrate from decision-based tracking (701 lines, ~18k tokens)
|
|
201
211
|
|
|
202
212
|
**Auto File Tracking (v3.0.2):**
|
package/assets/schema.sql
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
-- MCP Shared Context Server - Database Schema
|
|
2
|
-
-- Version: 3.
|
|
2
|
+
-- Version: 3.3.0 (with Decision Context, Kanban Task Watcher, activity log, smart defaults, batch ops, templates)
|
|
3
3
|
|
|
4
4
|
-- ============================================================================
|
|
5
5
|
-- Master Tables (Normalization)
|
|
@@ -166,6 +166,21 @@ CREATE TABLE IF NOT EXISTS t_decision_templates (
|
|
|
166
166
|
ts INTEGER DEFAULT (unixepoch())
|
|
167
167
|
);
|
|
168
168
|
|
|
169
|
+
-- Decision Context (v3.3.0 - Rich Decision Documentation)
|
|
170
|
+
CREATE TABLE IF NOT EXISTS t_decision_context (
|
|
171
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
172
|
+
decision_key_id INTEGER NOT NULL REFERENCES m_context_keys(id) ON DELETE CASCADE,
|
|
173
|
+
rationale TEXT NOT NULL,
|
|
174
|
+
alternatives_considered TEXT, -- JSON array: ["Alternative 1", "Alternative 2"]
|
|
175
|
+
tradeoffs TEXT, -- JSON object: {"pros": ["Pro 1"], "cons": ["Con 1"]}
|
|
176
|
+
decided_by_agent_id INTEGER REFERENCES m_agents(id),
|
|
177
|
+
decision_date INTEGER DEFAULT (unixepoch()),
|
|
178
|
+
related_task_id INTEGER REFERENCES t_tasks(id) ON DELETE SET NULL,
|
|
179
|
+
related_constraint_id INTEGER REFERENCES t_constraints(id) ON DELETE SET NULL,
|
|
180
|
+
ts INTEGER DEFAULT (unixepoch()),
|
|
181
|
+
UNIQUE(decision_key_id, id)
|
|
182
|
+
);
|
|
183
|
+
|
|
169
184
|
-- ============================================================================
|
|
170
185
|
-- Kanban Task Watcher (v3.0.0)
|
|
171
186
|
-- ============================================================================
|
|
@@ -228,6 +243,14 @@ CREATE TABLE IF NOT EXISTS t_task_file_links (
|
|
|
228
243
|
PRIMARY KEY (task_id, file_id)
|
|
229
244
|
);
|
|
230
245
|
|
|
246
|
+
-- Task dependencies (blocking relationships)
|
|
247
|
+
CREATE TABLE IF NOT EXISTS t_task_dependencies (
|
|
248
|
+
blocker_task_id INTEGER REFERENCES t_tasks(id) ON DELETE CASCADE,
|
|
249
|
+
blocked_task_id INTEGER REFERENCES t_tasks(id) ON DELETE CASCADE,
|
|
250
|
+
created_ts INTEGER DEFAULT (unixepoch()),
|
|
251
|
+
PRIMARY KEY (blocker_task_id, blocked_task_id)
|
|
252
|
+
);
|
|
253
|
+
|
|
231
254
|
-- ============================================================================
|
|
232
255
|
-- Indexes
|
|
233
256
|
-- ============================================================================
|
|
@@ -251,6 +274,10 @@ CREATE INDEX IF NOT EXISTS idx_activity_log_action ON t_activity_log(action_type
|
|
|
251
274
|
CREATE INDEX IF NOT EXISTS idx_task_status ON t_tasks(status_id);
|
|
252
275
|
CREATE INDEX IF NOT EXISTS idx_task_updated ON t_tasks(updated_ts DESC);
|
|
253
276
|
CREATE INDEX IF NOT EXISTS idx_task_assignee ON t_tasks(assigned_agent_id);
|
|
277
|
+
CREATE INDEX IF NOT EXISTS idx_task_deps_blocked ON t_task_dependencies(blocked_task_id);
|
|
278
|
+
CREATE INDEX IF NOT EXISTS idx_decision_context_key ON t_decision_context(decision_key_id, ts DESC);
|
|
279
|
+
CREATE INDEX IF NOT EXISTS idx_decision_context_task ON t_decision_context(related_task_id);
|
|
280
|
+
CREATE INDEX IF NOT EXISTS idx_decision_context_constraint ON t_decision_context(related_constraint_id);
|
|
254
281
|
|
|
255
282
|
-- ============================================================================
|
|
256
283
|
-- Views (Token Efficiency)
|
package/dist/database.d.ts
CHANGED
|
@@ -141,4 +141,69 @@ export declare function getAllConfig(db: DatabaseType): Record<string, string>;
|
|
|
141
141
|
* @returns Result from function
|
|
142
142
|
*/
|
|
143
143
|
export declare function transaction<T>(db: DatabaseType, fn: () => T): T;
|
|
144
|
+
/**
|
|
145
|
+
* Add decision context to a decision
|
|
146
|
+
*
|
|
147
|
+
* @param db - Database instance
|
|
148
|
+
* @param decisionKey - Decision key to attach context to
|
|
149
|
+
* @param rationale - Rationale for the decision (required)
|
|
150
|
+
* @param alternatives - JSON array of alternatives considered (optional)
|
|
151
|
+
* @param tradeoffs - JSON object with pros/cons (optional)
|
|
152
|
+
* @param decidedBy - Agent name who decided (optional)
|
|
153
|
+
* @param relatedTaskId - Related task ID (optional)
|
|
154
|
+
* @param relatedConstraintId - Related constraint ID (optional)
|
|
155
|
+
* @returns Context ID
|
|
156
|
+
*/
|
|
157
|
+
export declare function addDecisionContext(db: DatabaseType, decisionKey: string, rationale: string, alternatives?: string | null, tradeoffs?: string | null, decidedBy?: string | null, relatedTaskId?: number | null, relatedConstraintId?: number | null): number;
|
|
158
|
+
/**
|
|
159
|
+
* Get decision with context
|
|
160
|
+
*
|
|
161
|
+
* @param db - Database instance
|
|
162
|
+
* @param decisionKey - Decision key
|
|
163
|
+
* @returns Decision with context or null if not found
|
|
164
|
+
*/
|
|
165
|
+
export declare function getDecisionWithContext(db: DatabaseType, decisionKey: string): {
|
|
166
|
+
key: string;
|
|
167
|
+
value: string;
|
|
168
|
+
version: string;
|
|
169
|
+
status: string;
|
|
170
|
+
layer: string | null;
|
|
171
|
+
decided_by: string | null;
|
|
172
|
+
updated: string;
|
|
173
|
+
context: {
|
|
174
|
+
id: number;
|
|
175
|
+
rationale: string;
|
|
176
|
+
alternatives_considered: string | null;
|
|
177
|
+
tradeoffs: string | null;
|
|
178
|
+
decided_by: string | null;
|
|
179
|
+
decision_date: string;
|
|
180
|
+
related_task_id: number | null;
|
|
181
|
+
related_constraint_id: number | null;
|
|
182
|
+
}[];
|
|
183
|
+
} | null;
|
|
184
|
+
/**
|
|
185
|
+
* List decision contexts with optional filters
|
|
186
|
+
*
|
|
187
|
+
* @param db - Database instance
|
|
188
|
+
* @param filters - Optional filters
|
|
189
|
+
* @returns Array of decision contexts
|
|
190
|
+
*/
|
|
191
|
+
export declare function listDecisionContexts(db: DatabaseType, filters?: {
|
|
192
|
+
decisionKey?: string;
|
|
193
|
+
relatedTaskId?: number;
|
|
194
|
+
relatedConstraintId?: number;
|
|
195
|
+
decidedBy?: string;
|
|
196
|
+
limit?: number;
|
|
197
|
+
offset?: number;
|
|
198
|
+
}): Array<{
|
|
199
|
+
id: number;
|
|
200
|
+
decision_key: string;
|
|
201
|
+
rationale: string;
|
|
202
|
+
alternatives_considered: string | null;
|
|
203
|
+
tradeoffs: string | null;
|
|
204
|
+
decided_by: string | null;
|
|
205
|
+
decision_date: string;
|
|
206
|
+
related_task_id: number | null;
|
|
207
|
+
related_constraint_id: number | null;
|
|
208
|
+
}>;
|
|
144
209
|
//# sourceMappingURL=database.d.ts.map
|
package/dist/database.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,KAAK,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,YAAY,CAAC;AAM3D;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,YAAY,CAyHhE;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAMpC;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,IAAI,YAAY,CAK1C;AAMD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAYvE;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAU3E;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAUtE;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAUrE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAUvE;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQhF;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGxE;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG3E;AAMD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG3E;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAGpG;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,GAAE,OAAe,GAAG,OAAO,CAInG;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,GAAE,MAAU,GAAG,MAAM,CAK5F;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOrE;AAMD;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAW/D"}
|
|
1
|
+
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"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"}
|
package/dist/database.js
CHANGED
|
@@ -354,4 +354,194 @@ export function transaction(db, fn) {
|
|
|
354
354
|
throw error;
|
|
355
355
|
}
|
|
356
356
|
}
|
|
357
|
+
// ============================================================================
|
|
358
|
+
// Decision Context Management (v3.2.2)
|
|
359
|
+
// ============================================================================
|
|
360
|
+
/**
|
|
361
|
+
* Validate JSON structure for alternatives array
|
|
362
|
+
* @param alternatives - JSON string or null
|
|
363
|
+
* @throws Error if JSON is invalid or not an array
|
|
364
|
+
*/
|
|
365
|
+
function validateAlternativesJson(alternatives) {
|
|
366
|
+
if (alternatives === null || alternatives === undefined)
|
|
367
|
+
return;
|
|
368
|
+
try {
|
|
369
|
+
const parsed = JSON.parse(alternatives);
|
|
370
|
+
if (!Array.isArray(parsed)) {
|
|
371
|
+
throw new Error('alternatives_considered must be a JSON array');
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
catch (error) {
|
|
375
|
+
if (error instanceof SyntaxError) {
|
|
376
|
+
throw new Error('alternatives_considered contains invalid JSON');
|
|
377
|
+
}
|
|
378
|
+
throw error;
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
/**
|
|
382
|
+
* Validate JSON structure for tradeoffs object
|
|
383
|
+
* @param tradeoffs - JSON string or null
|
|
384
|
+
* @throws Error if JSON is invalid or doesn't have pros/cons structure
|
|
385
|
+
*/
|
|
386
|
+
function validateTradeoffsJson(tradeoffs) {
|
|
387
|
+
if (tradeoffs === null || tradeoffs === undefined)
|
|
388
|
+
return;
|
|
389
|
+
try {
|
|
390
|
+
const parsed = JSON.parse(tradeoffs);
|
|
391
|
+
if (typeof parsed !== 'object' || parsed === null) {
|
|
392
|
+
throw new Error('tradeoffs must be a JSON object');
|
|
393
|
+
}
|
|
394
|
+
// Optional: Check for pros/cons keys if provided
|
|
395
|
+
if (parsed.pros !== undefined && !Array.isArray(parsed.pros)) {
|
|
396
|
+
throw new Error('tradeoffs.pros must be an array');
|
|
397
|
+
}
|
|
398
|
+
if (parsed.cons !== undefined && !Array.isArray(parsed.cons)) {
|
|
399
|
+
throw new Error('tradeoffs.cons must be an array');
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
catch (error) {
|
|
403
|
+
if (error instanceof SyntaxError) {
|
|
404
|
+
throw new Error('tradeoffs contains invalid JSON');
|
|
405
|
+
}
|
|
406
|
+
throw error;
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
/**
|
|
410
|
+
* Add decision context to a decision
|
|
411
|
+
*
|
|
412
|
+
* @param db - Database instance
|
|
413
|
+
* @param decisionKey - Decision key to attach context to
|
|
414
|
+
* @param rationale - Rationale for the decision (required)
|
|
415
|
+
* @param alternatives - JSON array of alternatives considered (optional)
|
|
416
|
+
* @param tradeoffs - JSON object with pros/cons (optional)
|
|
417
|
+
* @param decidedBy - Agent name who decided (optional)
|
|
418
|
+
* @param relatedTaskId - Related task ID (optional)
|
|
419
|
+
* @param relatedConstraintId - Related constraint ID (optional)
|
|
420
|
+
* @returns Context ID
|
|
421
|
+
*/
|
|
422
|
+
export function addDecisionContext(db, decisionKey, rationale, alternatives = null, tradeoffs = null, decidedBy = null, relatedTaskId = null, relatedConstraintId = null) {
|
|
423
|
+
// Validate JSON inputs
|
|
424
|
+
validateAlternativesJson(alternatives);
|
|
425
|
+
validateTradeoffsJson(tradeoffs);
|
|
426
|
+
// Get decision key ID
|
|
427
|
+
const keyId = getOrCreateContextKey(db, decisionKey);
|
|
428
|
+
// Get agent ID if provided
|
|
429
|
+
let agentId = null;
|
|
430
|
+
if (decidedBy) {
|
|
431
|
+
agentId = getOrCreateAgent(db, decidedBy);
|
|
432
|
+
}
|
|
433
|
+
// Insert context
|
|
434
|
+
const result = db.prepare(`
|
|
435
|
+
INSERT INTO t_decision_context (
|
|
436
|
+
decision_key_id,
|
|
437
|
+
rationale,
|
|
438
|
+
alternatives_considered,
|
|
439
|
+
tradeoffs,
|
|
440
|
+
decided_by_agent_id,
|
|
441
|
+
related_task_id,
|
|
442
|
+
related_constraint_id
|
|
443
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
444
|
+
`).run(keyId, rationale, alternatives, tradeoffs, agentId, relatedTaskId, relatedConstraintId);
|
|
445
|
+
return result.lastInsertRowid;
|
|
446
|
+
}
|
|
447
|
+
/**
|
|
448
|
+
* Get decision with context
|
|
449
|
+
*
|
|
450
|
+
* @param db - Database instance
|
|
451
|
+
* @param decisionKey - Decision key
|
|
452
|
+
* @returns Decision with context or null if not found
|
|
453
|
+
*/
|
|
454
|
+
export function getDecisionWithContext(db, decisionKey) {
|
|
455
|
+
// First get the decision
|
|
456
|
+
const decision = db.prepare(`
|
|
457
|
+
SELECT
|
|
458
|
+
k.key,
|
|
459
|
+
d.value,
|
|
460
|
+
d.version,
|
|
461
|
+
CASE d.status WHEN 1 THEN 'active' WHEN 2 THEN 'deprecated' ELSE 'draft' END as status,
|
|
462
|
+
l.name as layer,
|
|
463
|
+
a.name as decided_by,
|
|
464
|
+
datetime(d.ts, 'unixepoch') as updated
|
|
465
|
+
FROM t_decisions d
|
|
466
|
+
JOIN m_context_keys k ON d.key_id = k.id
|
|
467
|
+
LEFT JOIN m_layers l ON d.layer_id = l.id
|
|
468
|
+
LEFT JOIN m_agents a ON d.agent_id = a.id
|
|
469
|
+
WHERE k.key = ?
|
|
470
|
+
`).get(decisionKey);
|
|
471
|
+
if (!decision)
|
|
472
|
+
return null;
|
|
473
|
+
// Get all contexts for this decision
|
|
474
|
+
const contexts = db.prepare(`
|
|
475
|
+
SELECT
|
|
476
|
+
dc.id,
|
|
477
|
+
dc.rationale,
|
|
478
|
+
dc.alternatives_considered,
|
|
479
|
+
dc.tradeoffs,
|
|
480
|
+
a.name as decided_by,
|
|
481
|
+
datetime(dc.decision_date, 'unixepoch') as decision_date,
|
|
482
|
+
dc.related_task_id,
|
|
483
|
+
dc.related_constraint_id
|
|
484
|
+
FROM t_decision_context dc
|
|
485
|
+
JOIN m_context_keys k ON dc.decision_key_id = k.id
|
|
486
|
+
LEFT JOIN m_agents a ON dc.decided_by_agent_id = a.id
|
|
487
|
+
WHERE k.key = ?
|
|
488
|
+
ORDER BY dc.decision_date DESC
|
|
489
|
+
`).all(decisionKey);
|
|
490
|
+
return {
|
|
491
|
+
...decision,
|
|
492
|
+
context: contexts,
|
|
493
|
+
};
|
|
494
|
+
}
|
|
495
|
+
/**
|
|
496
|
+
* List decision contexts with optional filters
|
|
497
|
+
*
|
|
498
|
+
* @param db - Database instance
|
|
499
|
+
* @param filters - Optional filters
|
|
500
|
+
* @returns Array of decision contexts
|
|
501
|
+
*/
|
|
502
|
+
export function listDecisionContexts(db, filters) {
|
|
503
|
+
let query = `
|
|
504
|
+
SELECT
|
|
505
|
+
dc.id,
|
|
506
|
+
k.key as decision_key,
|
|
507
|
+
dc.rationale,
|
|
508
|
+
dc.alternatives_considered,
|
|
509
|
+
dc.tradeoffs,
|
|
510
|
+
a.name as decided_by,
|
|
511
|
+
datetime(dc.decision_date, 'unixepoch') as decision_date,
|
|
512
|
+
dc.related_task_id,
|
|
513
|
+
dc.related_constraint_id
|
|
514
|
+
FROM t_decision_context dc
|
|
515
|
+
JOIN m_context_keys k ON dc.decision_key_id = k.id
|
|
516
|
+
LEFT JOIN m_agents a ON dc.decided_by_agent_id = a.id
|
|
517
|
+
WHERE 1=1
|
|
518
|
+
`;
|
|
519
|
+
const params = [];
|
|
520
|
+
if (filters?.decisionKey) {
|
|
521
|
+
query += ' AND k.key = ?';
|
|
522
|
+
params.push(filters.decisionKey);
|
|
523
|
+
}
|
|
524
|
+
if (filters?.relatedTaskId !== undefined) {
|
|
525
|
+
query += ' AND dc.related_task_id = ?';
|
|
526
|
+
params.push(filters.relatedTaskId);
|
|
527
|
+
}
|
|
528
|
+
if (filters?.relatedConstraintId !== undefined) {
|
|
529
|
+
query += ' AND dc.related_constraint_id = ?';
|
|
530
|
+
params.push(filters.relatedConstraintId);
|
|
531
|
+
}
|
|
532
|
+
if (filters?.decidedBy) {
|
|
533
|
+
query += ' AND a.name = ?';
|
|
534
|
+
params.push(filters.decidedBy);
|
|
535
|
+
}
|
|
536
|
+
query += ' ORDER BY dc.decision_date DESC';
|
|
537
|
+
if (filters?.limit) {
|
|
538
|
+
query += ' LIMIT ?';
|
|
539
|
+
params.push(filters.limit);
|
|
540
|
+
}
|
|
541
|
+
if (filters?.offset) {
|
|
542
|
+
query += ' OFFSET ?';
|
|
543
|
+
params.push(filters.offset);
|
|
544
|
+
}
|
|
545
|
+
return db.prepare(query).all(...params);
|
|
546
|
+
}
|
|
357
547
|
//# sourceMappingURL=database.js.map
|
package/dist/database.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.js","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"database.js","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"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"}
|