sqlew 2.1.3 → 3.0.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.
Files changed (84) hide show
  1. package/CHANGELOG.md +891 -535
  2. package/README.md +302 -613
  3. package/assets/kanban-style.png +0 -0
  4. package/assets/schema.sql +531 -402
  5. package/dist/database.d.ts +9 -0
  6. package/dist/database.d.ts.map +1 -1
  7. package/dist/database.js +33 -34
  8. package/dist/database.js.map +1 -1
  9. package/dist/index.js +1024 -21
  10. package/dist/index.js.map +1 -1
  11. package/dist/migrations/add-task-tables.d.ts +47 -0
  12. package/dist/migrations/add-task-tables.d.ts.map +1 -0
  13. package/dist/migrations/add-task-tables.js +285 -0
  14. package/dist/migrations/add-task-tables.js.map +1 -0
  15. package/dist/migrations/index.d.ts +96 -0
  16. package/dist/migrations/index.d.ts.map +1 -0
  17. package/dist/migrations/index.js +239 -0
  18. package/dist/migrations/index.js.map +1 -0
  19. package/dist/migrations/migrate-decisions-to-tasks.d.ts +61 -0
  20. package/dist/migrations/migrate-decisions-to-tasks.d.ts.map +1 -0
  21. package/dist/migrations/migrate-decisions-to-tasks.js +442 -0
  22. package/dist/migrations/migrate-decisions-to-tasks.js.map +1 -0
  23. package/dist/schema.d.ts.map +1 -1
  24. package/dist/schema.js +14 -3
  25. package/dist/schema.js.map +1 -1
  26. package/dist/tools/constraints.d.ts +4 -0
  27. package/dist/tools/constraints.d.ts.map +1 -1
  28. package/dist/tools/constraints.js +6 -27
  29. package/dist/tools/constraints.js.map +1 -1
  30. package/dist/tools/context.d.ts +17 -1
  31. package/dist/tools/context.d.ts.map +1 -1
  32. package/dist/tools/context.js +195 -190
  33. package/dist/tools/context.js.map +1 -1
  34. package/dist/tools/files.d.ts.map +1 -1
  35. package/dist/tools/files.js +113 -166
  36. package/dist/tools/files.js.map +1 -1
  37. package/dist/tools/messaging.d.ts +2 -9
  38. package/dist/tools/messaging.d.ts.map +1 -1
  39. package/dist/tools/messaging.js +67 -126
  40. package/dist/tools/messaging.js.map +1 -1
  41. package/dist/tools/tasks.d.ts +90 -0
  42. package/dist/tools/tasks.d.ts.map +1 -0
  43. package/dist/tools/tasks.js +732 -0
  44. package/dist/tools/tasks.js.map +1 -0
  45. package/dist/tools/utils.d.ts +8 -1
  46. package/dist/tools/utils.d.ts.map +1 -1
  47. package/dist/tools/utils.js +50 -21
  48. package/dist/tools/utils.js.map +1 -1
  49. package/dist/types.d.ts +14 -0
  50. package/dist/types.d.ts.map +1 -1
  51. package/dist/utils/batch.d.ts +69 -0
  52. package/dist/utils/batch.d.ts.map +1 -0
  53. package/dist/utils/batch.js +148 -0
  54. package/dist/utils/batch.js.map +1 -0
  55. package/dist/utils/query-builder.d.ts +68 -0
  56. package/dist/utils/query-builder.d.ts.map +1 -0
  57. package/dist/utils/query-builder.js +116 -0
  58. package/dist/utils/query-builder.js.map +1 -0
  59. package/dist/utils/task-stale-detection.d.ts +28 -0
  60. package/dist/utils/task-stale-detection.d.ts.map +1 -0
  61. package/dist/utils/task-stale-detection.js +92 -0
  62. package/dist/utils/task-stale-detection.js.map +1 -0
  63. package/dist/utils/validators.d.ts +57 -0
  64. package/dist/utils/validators.d.ts.map +1 -0
  65. package/dist/utils/validators.js +117 -0
  66. package/dist/utils/validators.js.map +1 -0
  67. package/docs/AI_AGENT_GUIDE.md +1471 -0
  68. package/{ARCHITECTURE.md → docs/ARCHITECTURE.md} +636 -636
  69. package/docs/BEST_PRACTICES.md +481 -0
  70. package/docs/DECISION_TO_TASK_MIGRATION_GUIDE.md +457 -0
  71. package/docs/MIGRATION_CHAIN.md +280 -0
  72. package/{MIGRATION_v2.md → docs/MIGRATION_v2.md} +538 -538
  73. package/docs/SHARED_CONCEPTS.md +339 -0
  74. package/docs/TASK_ACTIONS.md +854 -0
  75. package/docs/TASK_LINKING.md +729 -0
  76. package/docs/TASK_MIGRATION.md +701 -0
  77. package/docs/TASK_OVERVIEW.md +363 -0
  78. package/docs/TASK_SYSTEM.md +1244 -0
  79. package/docs/TOOL_REFERENCE.md +471 -0
  80. package/docs/TOOL_SELECTION.md +279 -0
  81. package/docs/WORKFLOWS.md +602 -0
  82. package/docs/refactoring-summary-2025-10-17.md +365 -0
  83. package/docs/requirement-2025-10-17.md +508 -0
  84. package/package.json +64 -63
@@ -2,29 +2,25 @@
2
2
  * Messaging Tools for MCP Shared Context Server
3
3
  * Agent-to-agent communication with priority and read tracking
4
4
  */
5
- import { getDatabase, getOrCreateAgent, transaction } from '../database.js';
5
+ import { getDatabase, getOrCreateAgent } from '../database.js';
6
6
  import { STRING_TO_MESSAGE_TYPE, STRING_TO_PRIORITY, MESSAGE_TYPE_TO_STRING, PRIORITY_TO_STRING, } from '../constants.js';
7
+ import { validateMessageType, validatePriority } from '../utils/validators.js';
7
8
  import { performAutoCleanup } from '../utils/cleanup.js';
9
+ import { processBatch } from '../utils/batch.js';
8
10
  /**
9
- * Send a message from one agent to another (or broadcast)
10
- * Supports priority levels and optional JSON payload
11
+ * Internal helper: Send message without cleanup or transaction wrapper
12
+ * Used by sendMessage (with cleanup) and sendMessageBatch (manages its own transaction)
11
13
  *
12
14
  * @param params - Message parameters
15
+ * @param db - Database instance
13
16
  * @returns Response with message ID and timestamp
14
17
  */
15
- export function sendMessage(params) {
16
- const db = getDatabase();
17
- // Cleanup old messages before inserting new one
18
- performAutoCleanup(db);
18
+ function sendMessageInternal(params, db) {
19
19
  // Validate msg_type
20
- if (!STRING_TO_MESSAGE_TYPE[params.msg_type]) {
21
- throw new Error(`Invalid msg_type: ${params.msg_type}. Must be one of: decision, warning, request, info`);
22
- }
20
+ validateMessageType(params.msg_type);
23
21
  // Validate priority if provided
24
22
  const priority = params.priority || 'medium';
25
- if (!STRING_TO_PRIORITY[priority]) {
26
- throw new Error(`Invalid priority: ${priority}. Must be one of: low, medium, high, critical`);
27
- }
23
+ validatePriority(priority);
28
24
  // Auto-register from_agent
29
25
  const fromAgentId = getOrCreateAgent(db, params.from_agent);
30
26
  // Auto-register to_agent if provided (null = broadcast)
@@ -35,9 +31,9 @@ export function sendMessage(params) {
35
31
  // Serialize payload if provided
36
32
  const payloadStr = params.payload ? JSON.stringify(params.payload) : null;
37
33
  // Insert message
38
- const stmt = db.prepare(`
39
- INSERT INTO t_agent_messages (from_agent_id, to_agent_id, msg_type, priority, payload, read)
40
- VALUES (?, ?, ?, ?, ?, 0)
34
+ const stmt = db.prepare(`
35
+ INSERT INTO t_agent_messages (from_agent_id, to_agent_id, msg_type, priority, payload, read)
36
+ VALUES (?, ?, ?, ?, ?, 0)
41
37
  `);
42
38
  const result = stmt.run(fromAgentId, toAgentId, msgTypeInt, priorityInt, payloadStr);
43
39
  // Get timestamp
@@ -49,6 +45,19 @@ export function sendMessage(params) {
49
45
  timestamp,
50
46
  };
51
47
  }
48
+ /**
49
+ * Send a message from one agent to another (or broadcast)
50
+ * Supports priority levels and optional JSON payload
51
+ *
52
+ * @param params - Message parameters
53
+ * @returns Response with message ID and timestamp
54
+ */
55
+ export function sendMessage(params) {
56
+ const db = getDatabase();
57
+ // Cleanup old messages before inserting new one
58
+ performAutoCleanup(db);
59
+ return sendMessageInternal(params, db);
60
+ }
52
61
  /**
53
62
  * Get messages for an agent with optional filtering
54
63
  * Returns messages addressed to agent or broadcast (to_agent_id IS NULL)
@@ -61,18 +70,18 @@ export function getMessages(params) {
61
70
  // Get or create agent to get ID
62
71
  const agentId = getOrCreateAgent(db, params.agent_name);
63
72
  // Build query dynamically based on filters
64
- let query = `
65
- SELECT
66
- m.id,
67
- a.name as from_agent,
68
- m.msg_type,
69
- m.priority,
70
- m.payload,
71
- m.ts,
72
- m.read
73
- FROM t_agent_messages m
74
- JOIN m_agents a ON m.from_agent_id = a.id
75
- WHERE (m.to_agent_id = ? OR m.to_agent_id IS NULL)
73
+ let query = `
74
+ SELECT
75
+ m.id,
76
+ a.name as from_agent,
77
+ m.msg_type,
78
+ m.priority,
79
+ m.payload,
80
+ m.ts,
81
+ m.read
82
+ FROM t_agent_messages m
83
+ JOIN m_agents a ON m.from_agent_id = a.id
84
+ WHERE (m.to_agent_id = ? OR m.to_agent_id IS NULL)
76
85
  `;
77
86
  const queryParams = [agentId];
78
87
  // Filter by read status
@@ -81,18 +90,14 @@ export function getMessages(params) {
81
90
  }
82
91
  // Filter by priority
83
92
  if (params.priority_filter) {
84
- if (!STRING_TO_PRIORITY[params.priority_filter]) {
85
- throw new Error(`Invalid priority_filter: ${params.priority_filter}`);
86
- }
93
+ validatePriority(params.priority_filter);
87
94
  const priorityInt = STRING_TO_PRIORITY[params.priority_filter];
88
95
  query += ' AND m.priority = ?';
89
96
  queryParams.push(priorityInt);
90
97
  }
91
98
  // Filter by msg_type
92
99
  if (params.msg_type_filter) {
93
- if (!STRING_TO_MESSAGE_TYPE[params.msg_type_filter]) {
94
- throw new Error(`Invalid msg_type_filter: ${params.msg_type_filter}`);
95
- }
100
+ validateMessageType(params.msg_type_filter);
96
101
  const msgTypeInt = STRING_TO_MESSAGE_TYPE[params.msg_type_filter];
97
102
  query += ' AND m.msg_type = ?';
98
103
  queryParams.push(msgTypeInt);
@@ -139,11 +144,11 @@ export function markRead(params) {
139
144
  const placeholders = params.message_ids.map(() => '?').join(',');
140
145
  // Update only messages addressed to this agent (security check)
141
146
  // Also allow broadcast messages (to_agent_id IS NULL)
142
- const stmt = db.prepare(`
143
- UPDATE t_agent_messages
144
- SET read = 1
145
- WHERE id IN (${placeholders})
146
- AND (to_agent_id = ? OR to_agent_id IS NULL)
147
+ const stmt = db.prepare(`
148
+ UPDATE t_agent_messages
149
+ SET read = 1
150
+ WHERE id IN (${placeholders})
151
+ AND (to_agent_id = ? OR to_agent_id IS NULL)
147
152
  `);
148
153
  const result = stmt.run(...params.message_ids, agentId);
149
154
  return {
@@ -165,96 +170,32 @@ export function sendMessageBatch(params) {
165
170
  if (!params.messages || !Array.isArray(params.messages)) {
166
171
  throw new Error('Parameter "messages" is required and must be an array');
167
172
  }
168
- // Enforce limit (constraint #3)
169
- if (params.messages.length === 0) {
170
- throw new Error('Parameter "messages" must contain at least one item');
171
- }
172
- if (params.messages.length > 50) {
173
- throw new Error('Batch operations are limited to 50 items maximum (constraint #3)');
174
- }
175
173
  // Cleanup old messages before processing batch
176
174
  performAutoCleanup(db);
177
175
  const atomic = params.atomic !== undefined ? params.atomic : true;
178
- const results = [];
179
- let inserted = 0;
180
- let failed = 0;
181
- // Helper function to process a single message
182
- const processSingleMessage = (message) => {
183
- try {
184
- const result = sendMessage({
185
- from_agent: message.from_agent,
186
- to_agent: message.to_agent,
187
- msg_type: message.msg_type,
188
- message: message.message,
189
- priority: message.priority,
190
- payload: message.payload
191
- });
192
- results.push({
193
- from_agent: message.from_agent,
194
- to_agent: message.to_agent || null,
195
- message_id: result.message_id,
196
- timestamp: result.timestamp,
197
- success: true
198
- });
199
- inserted++;
200
- }
201
- catch (error) {
202
- const errorMessage = error instanceof Error ? error.message : String(error);
203
- results.push({
204
- from_agent: message.from_agent,
205
- to_agent: message.to_agent || null,
206
- success: false,
207
- error: errorMessage
208
- });
209
- failed++;
210
- // In atomic mode, throw immediately to trigger rollback
211
- if (atomic) {
212
- throw error;
213
- }
214
- }
176
+ // Use processBatch utility
177
+ const batchResult = processBatch(db, params.messages, (message, db) => {
178
+ const result = sendMessageInternal(message, db);
179
+ return {
180
+ from_agent: message.from_agent,
181
+ to_agent: message.to_agent || null,
182
+ message_id: result.message_id,
183
+ timestamp: result.timestamp
184
+ };
185
+ }, atomic, 50);
186
+ // Map batch results to SendMessageBatchResponse format
187
+ return {
188
+ success: batchResult.success,
189
+ inserted: batchResult.processed,
190
+ failed: batchResult.failed,
191
+ results: batchResult.results.map(r => ({
192
+ from_agent: r.data?.from_agent || '',
193
+ to_agent: r.data?.to_agent || null,
194
+ message_id: r.data?.message_id,
195
+ timestamp: r.data?.timestamp,
196
+ success: r.success,
197
+ error: r.error
198
+ }))
215
199
  };
216
- try {
217
- if (atomic) {
218
- // Atomic mode: use transaction, all succeed or all fail
219
- return transaction(db, () => {
220
- for (const message of params.messages) {
221
- processSingleMessage(message);
222
- }
223
- return {
224
- success: failed === 0,
225
- inserted,
226
- failed,
227
- results
228
- };
229
- });
230
- }
231
- else {
232
- // Non-atomic mode: process all, return individual results
233
- for (const message of params.messages) {
234
- processSingleMessage(message);
235
- }
236
- return {
237
- success: failed === 0,
238
- inserted,
239
- failed,
240
- results
241
- };
242
- }
243
- }
244
- catch (error) {
245
- if (atomic) {
246
- // In atomic mode, if any error occurred, all failed
247
- throw new Error(`Batch operation failed (atomic mode): ${error instanceof Error ? error.message : String(error)}`);
248
- }
249
- else {
250
- // In non-atomic mode, return partial results
251
- return {
252
- success: false,
253
- inserted,
254
- failed,
255
- results
256
- };
257
- }
258
- }
259
200
  }
260
201
  //# sourceMappingURL=messaging.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"messaging.js","sourceRoot":"","sources":["../../src/tools/messaging.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messaging.js","sourceRoot":"","sources":["../../src/tools/messaging.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Task management tools for Kanban Task Watcher
3
+ * Implements create, update, get, list, move, link, archive, batch_create actions
4
+ */
5
+ /**
6
+ * Create a new task
7
+ */
8
+ export declare function createTask(params: {
9
+ title: string;
10
+ description?: string;
11
+ acceptance_criteria?: string;
12
+ notes?: string;
13
+ priority?: number;
14
+ assigned_agent?: string;
15
+ created_by_agent?: string;
16
+ layer?: string;
17
+ tags?: string[];
18
+ status?: string;
19
+ }): any;
20
+ /**
21
+ * Update task metadata
22
+ */
23
+ export declare function updateTask(params: {
24
+ task_id: number;
25
+ title?: string;
26
+ priority?: number;
27
+ assigned_agent?: string;
28
+ layer?: string;
29
+ description?: string;
30
+ acceptance_criteria?: string;
31
+ notes?: string;
32
+ }): any;
33
+ /**
34
+ * Get full task details
35
+ */
36
+ export declare function getTask(params: {
37
+ task_id: number;
38
+ }): any;
39
+ /**
40
+ * List tasks (token-efficient, no descriptions)
41
+ */
42
+ export declare function listTasks(params?: {
43
+ status?: string;
44
+ assigned_agent?: string;
45
+ layer?: string;
46
+ tags?: string[];
47
+ limit?: number;
48
+ offset?: number;
49
+ }): any;
50
+ /**
51
+ * Move task to different status
52
+ */
53
+ export declare function moveTask(params: {
54
+ task_id: number;
55
+ new_status: string;
56
+ }): any;
57
+ /**
58
+ * Link task to decision/constraint/file
59
+ */
60
+ export declare function linkTask(params: {
61
+ task_id: number;
62
+ link_type: 'decision' | 'constraint' | 'file';
63
+ target_id: string | number;
64
+ link_relation?: string;
65
+ }): any;
66
+ /**
67
+ * Archive completed task
68
+ */
69
+ export declare function archiveTask(params: {
70
+ task_id: number;
71
+ }): any;
72
+ /**
73
+ * Create multiple tasks atomically
74
+ */
75
+ export declare function batchCreateTasks(params: {
76
+ tasks: Array<{
77
+ title: string;
78
+ description?: string;
79
+ priority?: number;
80
+ assigned_agent?: string;
81
+ layer?: string;
82
+ tags?: string[];
83
+ }>;
84
+ atomic?: boolean;
85
+ }): any;
86
+ /**
87
+ * Return comprehensive help documentation
88
+ */
89
+ export declare function taskHelp(): any;
90
+ //# sourceMappingURL=tasks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../src/tools/tasks.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA0KH;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,GAAG,CAkBN;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,GAAG,CAoHN;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,GAAG,CA4FxD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,GAAE;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACZ,GAAG,GAAG,CAkEX;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG,GAAG,CA6DN;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,UAAU,GAAG,YAAY,GAAG,MAAM,CAAC;IAC9C,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,GAAG,CA4FN;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,GAAG,CAkC5D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IACvC,KAAK,EAAE,KAAK,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GAAG,GAAG,CAoCN;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,GAAG,CAyI9B"}