sqlew 3.5.3 → 3.6.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.
Files changed (227) hide show
  1. package/CHANGELOG.md +247 -1772
  2. package/README.md +70 -304
  3. package/assets/config.example.toml +97 -0
  4. package/dist/adapters/index.d.ts +11 -0
  5. package/dist/adapters/index.d.ts.map +1 -0
  6. package/dist/adapters/index.js +21 -0
  7. package/dist/adapters/index.js.map +1 -0
  8. package/dist/adapters/mysql-adapter.d.ts +31 -0
  9. package/dist/adapters/mysql-adapter.d.ts.map +1 -0
  10. package/dist/adapters/mysql-adapter.js +63 -0
  11. package/dist/adapters/mysql-adapter.js.map +1 -0
  12. package/dist/adapters/postgresql-adapter.d.ts +31 -0
  13. package/dist/adapters/postgresql-adapter.d.ts.map +1 -0
  14. package/dist/adapters/postgresql-adapter.js +63 -0
  15. package/dist/adapters/postgresql-adapter.js.map +1 -0
  16. package/dist/adapters/sqlite-adapter.d.ts +37 -0
  17. package/dist/adapters/sqlite-adapter.d.ts.map +1 -0
  18. package/dist/adapters/sqlite-adapter.js +129 -0
  19. package/dist/adapters/sqlite-adapter.js.map +1 -0
  20. package/dist/adapters/types.d.ts +33 -0
  21. package/dist/adapters/types.d.ts.map +1 -0
  22. package/dist/adapters/types.js +2 -0
  23. package/dist/adapters/types.js.map +1 -0
  24. package/dist/cli.js +55 -54
  25. package/dist/cli.js.map +1 -1
  26. package/dist/config/example-generator.d.ts +11 -0
  27. package/dist/config/example-generator.d.ts.map +1 -0
  28. package/dist/config/example-generator.js +48 -0
  29. package/dist/config/example-generator.js.map +1 -0
  30. package/dist/config/loader.d.ts.map +1 -1
  31. package/dist/config/loader.js +4 -0
  32. package/dist/config/loader.js.map +1 -1
  33. package/dist/config/types.d.ts +9 -0
  34. package/dist/config/types.d.ts.map +1 -1
  35. package/dist/config/types.js.map +1 -1
  36. package/dist/database.d.ts +44 -122
  37. package/dist/database.d.ts.map +1 -1
  38. package/dist/database.js +145 -416
  39. package/dist/database.js.map +1 -1
  40. package/dist/index.js +215 -185
  41. package/dist/index.js.map +1 -1
  42. package/dist/knexfile.d.ts +6 -0
  43. package/dist/knexfile.d.ts.map +1 -0
  44. package/dist/knexfile.js +85 -0
  45. package/dist/knexfile.js.map +1 -0
  46. package/dist/migrations/add-help-system-tables.d.ts +35 -0
  47. package/dist/migrations/add-help-system-tables.d.ts.map +1 -0
  48. package/dist/migrations/add-help-system-tables.js +206 -0
  49. package/dist/migrations/add-help-system-tables.js.map +1 -0
  50. package/dist/migrations/add-token-tracking.d.ts +28 -0
  51. package/dist/migrations/add-token-tracking.d.ts.map +1 -0
  52. package/dist/migrations/add-token-tracking.js +108 -0
  53. package/dist/migrations/add-token-tracking.js.map +1 -0
  54. package/dist/migrations/index.d.ts +25 -12
  55. package/dist/migrations/index.d.ts.map +1 -1
  56. package/dist/migrations/index.js +147 -20
  57. package/dist/migrations/index.js.map +1 -1
  58. package/dist/migrations/knex/20251025020452_create_master_tables.d.ts +4 -0
  59. package/dist/migrations/knex/20251025020452_create_master_tables.d.ts.map +1 -0
  60. package/dist/migrations/knex/20251025020452_create_master_tables.js +65 -0
  61. package/dist/migrations/knex/20251025020452_create_master_tables.js.map +1 -0
  62. package/dist/migrations/knex/20251025021152_create_transaction_tables.d.ts +4 -0
  63. package/dist/migrations/knex/20251025021152_create_transaction_tables.d.ts.map +1 -0
  64. package/dist/migrations/knex/20251025021152_create_transaction_tables.js +235 -0
  65. package/dist/migrations/knex/20251025021152_create_transaction_tables.js.map +1 -0
  66. package/dist/migrations/knex/20251025021351_create_indexes.d.ts +4 -0
  67. package/dist/migrations/knex/20251025021351_create_indexes.d.ts.map +1 -0
  68. package/dist/migrations/knex/20251025021351_create_indexes.js +62 -0
  69. package/dist/migrations/knex/20251025021351_create_indexes.js.map +1 -0
  70. package/dist/migrations/knex/20251025021416_seed_master_data.d.ts +4 -0
  71. package/dist/migrations/knex/20251025021416_seed_master_data.d.ts.map +1 -0
  72. package/dist/migrations/knex/20251025021416_seed_master_data.js +58 -0
  73. package/dist/migrations/knex/20251025021416_seed_master_data.js.map +1 -0
  74. package/dist/migrations/knex/20251025070349_create_views.d.ts +4 -0
  75. package/dist/migrations/knex/20251025070349_create_views.d.ts.map +1 -0
  76. package/dist/migrations/knex/20251025070349_create_views.js +143 -0
  77. package/dist/migrations/knex/20251025070349_create_views.js.map +1 -0
  78. package/dist/migrations/knex/20251025081221_add_link_type_to_task_decision_links.d.ts +4 -0
  79. package/dist/migrations/knex/20251025081221_add_link_type_to_task_decision_links.d.ts.map +1 -0
  80. package/dist/migrations/knex/20251025081221_add_link_type_to_task_decision_links.js +15 -0
  81. package/dist/migrations/knex/20251025081221_add_link_type_to_task_decision_links.js.map +1 -0
  82. package/dist/migrations/knex/20251025082220_fix_task_dependencies_columns.d.ts +8 -0
  83. package/dist/migrations/knex/20251025082220_fix_task_dependencies_columns.d.ts.map +1 -0
  84. package/dist/migrations/knex/20251025082220_fix_task_dependencies_columns.js +12 -0
  85. package/dist/migrations/knex/20251025082220_fix_task_dependencies_columns.js.map +1 -0
  86. package/dist/migrations/knex/20251025090000_create_help_system_tables.d.ts +19 -0
  87. package/dist/migrations/knex/20251025090000_create_help_system_tables.d.ts.map +1 -0
  88. package/dist/migrations/knex/20251025090000_create_help_system_tables.js +115 -0
  89. package/dist/migrations/knex/20251025090000_create_help_system_tables.js.map +1 -0
  90. package/dist/migrations/knex/20251025090100_seed_help_categories_and_use_cases.d.ts +13 -0
  91. package/dist/migrations/knex/20251025090100_seed_help_categories_and_use_cases.d.ts.map +1 -0
  92. package/dist/migrations/knex/20251025090100_seed_help_categories_and_use_cases.js +377 -0
  93. package/dist/migrations/knex/20251025090100_seed_help_categories_and_use_cases.js.map +1 -0
  94. package/dist/migrations/knex/20251025100000_seed_help_metadata.d.ts +15 -0
  95. package/dist/migrations/knex/20251025100000_seed_help_metadata.d.ts.map +1 -0
  96. package/dist/migrations/knex/20251025100000_seed_help_metadata.js +253 -0
  97. package/dist/migrations/knex/20251025100000_seed_help_metadata.js.map +1 -0
  98. package/dist/migrations/knex/20251025100100_seed_remaining_use_cases.d.ts +16 -0
  99. package/dist/migrations/knex/20251025100100_seed_remaining_use_cases.d.ts.map +1 -0
  100. package/dist/migrations/knex/20251025100100_seed_remaining_use_cases.js +276 -0
  101. package/dist/migrations/knex/20251025100100_seed_remaining_use_cases.js.map +1 -0
  102. package/dist/migrations/knex/20251025120000_add_cascade_to_task_dependencies.d.ts +8 -0
  103. package/dist/migrations/knex/20251025120000_add_cascade_to_task_dependencies.d.ts.map +1 -0
  104. package/dist/migrations/knex/20251025120000_add_cascade_to_task_dependencies.js +64 -0
  105. package/dist/migrations/knex/20251025120000_add_cascade_to_task_dependencies.js.map +1 -0
  106. package/dist/migrations/seed-help-data.d.ts +48 -0
  107. package/dist/migrations/seed-help-data.d.ts.map +1 -0
  108. package/dist/migrations/seed-help-data.js +1466 -0
  109. package/dist/migrations/seed-help-data.js.map +1 -0
  110. package/dist/migrations/seed-tool-metadata.d.ts +24 -0
  111. package/dist/migrations/seed-tool-metadata.d.ts.map +1 -0
  112. package/dist/migrations/seed-tool-metadata.js +392 -0
  113. package/dist/migrations/seed-tool-metadata.js.map +1 -0
  114. package/dist/migrations/v3.6.0-help-system-refactor.d.ts +46 -0
  115. package/dist/migrations/v3.6.0-help-system-refactor.d.ts.map +1 -0
  116. package/dist/migrations/v3.6.0-help-system-refactor.js +223 -0
  117. package/dist/migrations/v3.6.0-help-system-refactor.js.map +1 -0
  118. package/dist/schema.d.ts.map +1 -1
  119. package/dist/schema.js +2 -0
  120. package/dist/schema.js.map +1 -1
  121. package/dist/tests/git-aware-completion.test.js +89 -70
  122. package/dist/tests/git-aware-completion.test.js.map +1 -1
  123. package/dist/tests/help-system.test.d.ts +23 -0
  124. package/dist/tests/help-system.test.d.ts.map +1 -0
  125. package/dist/tests/help-system.test.js +374 -0
  126. package/dist/tests/help-system.test.js.map +1 -0
  127. package/dist/tests/tasks.auto-pruning-decision-link.test.js +92 -78
  128. package/dist/tests/tasks.auto-pruning-decision-link.test.js.map +1 -1
  129. package/dist/tests/tasks.auto-pruning-partial.test.js +106 -95
  130. package/dist/tests/tasks.auto-pruning-partial.test.js.map +1 -1
  131. package/dist/tests/tasks.auto-pruning-persistence.test.js +115 -97
  132. package/dist/tests/tasks.auto-pruning-persistence.test.js.map +1 -1
  133. package/dist/tests/tasks.auto-pruning-safety.test.js +124 -103
  134. package/dist/tests/tasks.auto-pruning-safety.test.js.map +1 -1
  135. package/dist/tests/tasks.dependencies.test.js +338 -307
  136. package/dist/tests/tasks.dependencies.test.js.map +1 -1
  137. package/dist/tests/tasks.link-file-backward-compat.test.js +116 -104
  138. package/dist/tests/tasks.link-file-backward-compat.test.js.map +1 -1
  139. package/dist/tests/tasks.watch-files-action.test.js +122 -101
  140. package/dist/tests/tasks.watch-files-action.test.js.map +1 -1
  141. package/dist/tests/tasks.watch-files-parameter.test.js +105 -94
  142. package/dist/tests/tasks.watch-files-parameter.test.js.map +1 -1
  143. package/dist/tests/two-step-git-completion.test.js +176 -133
  144. package/dist/tests/two-step-git-completion.test.js.map +1 -1
  145. package/dist/tests/vcs-staging.test.js +1 -1
  146. package/dist/tests/vcs-staging.test.js.map +1 -1
  147. package/dist/tools/config.d.ts +9 -6
  148. package/dist/tools/config.d.ts.map +1 -1
  149. package/dist/tools/config.js +16 -14
  150. package/dist/tools/config.js.map +1 -1
  151. package/dist/tools/constraints.d.ts +10 -7
  152. package/dist/tools/constraints.d.ts.map +1 -1
  153. package/dist/tools/constraints.js +66 -48
  154. package/dist/tools/constraints.js.map +1 -1
  155. package/dist/tools/context.d.ts +36 -33
  156. package/dist/tools/context.d.ts.map +1 -1
  157. package/dist/tools/context.js +374 -330
  158. package/dist/tools/context.js.map +1 -1
  159. package/dist/tools/files.d.ts +12 -9
  160. package/dist/tools/files.d.ts.map +1 -1
  161. package/dist/tools/files.js +173 -95
  162. package/dist/tools/files.js.map +1 -1
  163. package/dist/tools/help-queries.d.ts +130 -0
  164. package/dist/tools/help-queries.d.ts.map +1 -0
  165. package/dist/tools/help-queries.js +393 -0
  166. package/dist/tools/help-queries.js.map +1 -0
  167. package/dist/tools/messaging.d.ts +14 -11
  168. package/dist/tools/messaging.d.ts.map +1 -1
  169. package/dist/tools/messaging.js +217 -133
  170. package/dist/tools/messaging.js.map +1 -1
  171. package/dist/tools/tasks.d.ts +18 -16
  172. package/dist/tools/tasks.d.ts.map +1 -1
  173. package/dist/tools/tasks.js +513 -439
  174. package/dist/tools/tasks.js.map +1 -1
  175. package/dist/tools/utils.d.ts +14 -11
  176. package/dist/tools/utils.d.ts.map +1 -1
  177. package/dist/tools/utils.js +86 -121
  178. package/dist/tools/utils.js.map +1 -1
  179. package/dist/utils/activity-logging.d.ts +114 -0
  180. package/dist/utils/activity-logging.d.ts.map +1 -0
  181. package/dist/utils/activity-logging.js +162 -0
  182. package/dist/utils/activity-logging.js.map +1 -0
  183. package/dist/utils/batch.d.ts +2 -2
  184. package/dist/utils/batch.d.ts.map +1 -1
  185. package/dist/utils/batch.js +8 -8
  186. package/dist/utils/batch.js.map +1 -1
  187. package/dist/utils/cleanup.d.ts +21 -13
  188. package/dist/utils/cleanup.d.ts.map +1 -1
  189. package/dist/utils/cleanup.js +31 -24
  190. package/dist/utils/cleanup.js.map +1 -1
  191. package/dist/utils/debug-logger.d.ts +44 -0
  192. package/dist/utils/debug-logger.d.ts.map +1 -0
  193. package/dist/utils/debug-logger.js +116 -0
  194. package/dist/utils/debug-logger.js.map +1 -0
  195. package/dist/utils/help-tracking.d.ts +55 -0
  196. package/dist/utils/help-tracking.d.ts.map +1 -0
  197. package/dist/utils/help-tracking.js +88 -0
  198. package/dist/utils/help-tracking.js.map +1 -0
  199. package/dist/utils/retention.d.ts +7 -7
  200. package/dist/utils/retention.d.ts.map +1 -1
  201. package/dist/utils/retention.js +12 -12
  202. package/dist/utils/retention.js.map +1 -1
  203. package/dist/utils/task-stale-detection.d.ts +15 -13
  204. package/dist/utils/task-stale-detection.d.ts.map +1 -1
  205. package/dist/utils/task-stale-detection.js +100 -302
  206. package/dist/utils/task-stale-detection.js.map +1 -1
  207. package/dist/utils/token-estimation.d.ts +72 -0
  208. package/dist/utils/token-estimation.d.ts.map +1 -0
  209. package/dist/utils/token-estimation.js +71 -0
  210. package/dist/utils/token-estimation.js.map +1 -0
  211. package/dist/utils/token-logging.d.ts +48 -0
  212. package/dist/utils/token-logging.d.ts.map +1 -0
  213. package/dist/utils/token-logging.js +112 -0
  214. package/dist/utils/token-logging.js.map +1 -0
  215. package/dist/utils/view-queries.d.ts +34 -0
  216. package/dist/utils/view-queries.d.ts.map +1 -0
  217. package/dist/utils/view-queries.js +192 -0
  218. package/dist/utils/view-queries.js.map +1 -0
  219. package/dist/watcher/file-watcher.d.ts.map +1 -1
  220. package/dist/watcher/file-watcher.js +25 -11
  221. package/dist/watcher/file-watcher.js.map +1 -1
  222. package/docs/BEST_PRACTICES.md +56 -448
  223. package/docs/MIGRATION_v3.6.0.md +170 -0
  224. package/docs/SHARED_CONCEPTS.md +63 -208
  225. package/docs/TASK_OVERVIEW.md +2 -2
  226. package/docs/TOOL_SELECTION.md +41 -248
  227. package/package.json +16 -4
@@ -1 +1 @@
1
- {"version":3,"file":"messaging.d.ts","sourceRoot":"","sources":["../../src/tools/messaging.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,OAAO,KAAK,EACV,iBAAiB,EAGjB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,wBAAwB,EACxB,QAAQ,EACT,MAAM,aAAa,CAAC;AAoDrB;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,iBAAiB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,mBAAmB,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAOjH;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IACzD,eAAe,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,mBAAmB,CA8ErC;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE;IAC/B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,gBAAgB,GAAG;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,CA6B7D;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,wBAAwB,CA4CxG;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,GAAG,CAwBjC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,GAAG,CAsGpC"}
1
+ {"version":3,"file":"messaging.d.ts","sourceRoot":"","sources":["../../src/tools/messaging.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAevD,OAAO,KAAK,EACV,iBAAiB,EAGjB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,aAAa,CAAC;AAqErB;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,iBAAiB,EACzB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,mBAAmB,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAWtD;AAED;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IACzD,eAAe,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAiF1D;AAED;;;;;;;GAOG;AACH,wBAAsB,QAAQ,CAAC,MAAM,EAAE;IACrC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,GAAG;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CA+BlF;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,sBAAsB,EAC9B,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,wBAAwB,CAAC,CAqGnC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,GAAG,CAwBjC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,GAAG,CAsGpC"}
@@ -1,47 +1,61 @@
1
1
  /**
2
2
  * Messaging Tools for MCP Shared Context Server
3
3
  * Agent-to-agent communication with priority and read tracking
4
+ *
5
+ * CONVERTED: Using Knex.js with DatabaseAdapter (async/await)
4
6
  */
5
- import { getDatabase, getOrCreateAgent } from '../database.js';
7
+ import { getAdapter, getOrCreateAgent, } from '../database.js';
6
8
  import { STRING_TO_MESSAGE_TYPE, STRING_TO_PRIORITY, MESSAGE_TYPE_TO_STRING, PRIORITY_TO_STRING, } from '../constants.js';
7
9
  import { validateMessageType, validatePriority } from '../utils/validators.js';
8
- import { performAutoCleanup } from '../utils/cleanup.js';
9
- import { processBatch } from '../utils/batch.js';
10
+ import { logMessageSend } from '../utils/activity-logging.js';
10
11
  /**
11
- * Internal helper: Send message without cleanup or transaction wrapper
12
- * Used by sendMessage (with cleanup) and sendMessageBatch (manages its own transaction)
12
+ * Internal helper: Send message without wrapping in transaction
13
+ * Used by sendMessage (with transaction) and sendMessageBatch (manages its own transaction)
13
14
  *
14
15
  * @param params - Message parameters
15
- * @param db - Database instance
16
+ * @param adapter - Database adapter instance
17
+ * @param trx - Optional transaction
16
18
  * @returns Response with message ID and timestamp
17
19
  */
18
- function sendMessageInternal(params, db) {
20
+ async function sendMessageInternal(params, adapter, trx) {
21
+ const knex = trx || adapter.getKnex();
19
22
  // Validate msg_type
20
23
  validateMessageType(params.msg_type);
21
24
  // Validate priority if provided
22
25
  const priority = params.priority || 'medium';
23
26
  validatePriority(priority);
24
27
  // Auto-register from_agent
25
- const fromAgentId = getOrCreateAgent(db, params.from_agent);
28
+ const fromAgentId = await getOrCreateAgent(adapter, params.from_agent, trx);
26
29
  // Auto-register to_agent if provided (null = broadcast)
27
- const toAgentId = params.to_agent ? getOrCreateAgent(db, params.to_agent) : null;
30
+ const toAgentId = params.to_agent ? await getOrCreateAgent(adapter, params.to_agent, trx) : null;
28
31
  // Convert enums to integers
29
32
  const msgTypeInt = STRING_TO_MESSAGE_TYPE[params.msg_type];
30
33
  const priorityInt = STRING_TO_PRIORITY[priority];
31
34
  // Serialize payload if provided
32
35
  const payloadStr = params.payload ? JSON.stringify(params.payload) : null;
36
+ // Current timestamp
37
+ const ts = Math.floor(Date.now() / 1000);
33
38
  // Insert message
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)
37
- `);
38
- const result = stmt.run(fromAgentId, toAgentId, msgTypeInt, priorityInt, payloadStr);
39
- // Get timestamp
40
- const tsResult = db.prepare('SELECT ts FROM t_agent_messages WHERE id = ?').get(result.lastInsertRowid);
41
- const timestamp = new Date(tsResult.ts * 1000).toISOString();
39
+ const [messageId] = await knex('t_agent_messages').insert({
40
+ from_agent_id: fromAgentId,
41
+ to_agent_id: toAgentId,
42
+ msg_type: msgTypeInt,
43
+ priority: priorityInt,
44
+ payload: payloadStr,
45
+ read: 0,
46
+ ts: ts
47
+ });
48
+ // Activity logging (replaces trigger)
49
+ await logMessageSend(knex, {
50
+ from_agent_id: fromAgentId,
51
+ to_agent_id: toAgentId || 0,
52
+ msg_type: msgTypeInt,
53
+ priority: priorityInt
54
+ });
55
+ const timestamp = new Date(ts * 1000).toISOString();
42
56
  return {
43
57
  success: true,
44
- message_id: Number(result.lastInsertRowid),
58
+ message_id: Number(messageId),
45
59
  timestamp,
46
60
  };
47
61
  }
@@ -50,114 +64,123 @@ function sendMessageInternal(params, db) {
50
64
  * Supports priority levels and optional JSON payload
51
65
  *
52
66
  * @param params - Message parameters
53
- * @param db - Optional database instance (for testing)
67
+ * @param adapter - Optional database adapter (for testing)
54
68
  * @returns Response with message ID and timestamp
55
69
  */
56
- export function sendMessage(params, db) {
57
- const actualDb = db ?? getDatabase();
58
- // Cleanup old messages before inserting new one
59
- performAutoCleanup(actualDb);
60
- return sendMessageInternal(params, actualDb);
70
+ export async function sendMessage(params, adapter) {
71
+ const actualAdapter = adapter ?? getAdapter();
72
+ try {
73
+ return await actualAdapter.transaction(async (trx) => {
74
+ return await sendMessageInternal(params, actualAdapter, trx);
75
+ });
76
+ }
77
+ catch (error) {
78
+ const message = error instanceof Error ? error.message : String(error);
79
+ throw new Error(`Failed to send message: ${message}`);
80
+ }
61
81
  }
62
82
  /**
63
83
  * Get messages for an agent with optional filtering
64
84
  * Returns messages addressed to agent or broadcast (to_agent_id IS NULL)
65
85
  *
66
86
  * @param params - Query parameters
67
- * @param db - Optional database instance (for testing)
87
+ * @param adapter - Optional database adapter (for testing)
68
88
  * @returns Array of messages with metadata
69
89
  */
70
- export function getMessages(params, db) {
71
- const actualDb = db ?? getDatabase();
72
- // Get or create agent to get ID
73
- const agentId = getOrCreateAgent(actualDb, params.agent_name);
74
- // Build query dynamically based on filters
75
- let query = `
76
- SELECT
77
- m.id,
78
- a.name as from_agent,
79
- m.msg_type,
80
- m.priority,
81
- m.payload,
82
- m.ts,
83
- m.read
84
- FROM t_agent_messages m
85
- JOIN m_agents a ON m.from_agent_id = a.id
86
- WHERE (m.to_agent_id = ? OR m.to_agent_id IS NULL)
87
- `;
88
- const queryParams = [agentId];
89
- // Filter by read status
90
- if (params.unread_only) {
91
- query += ' AND m.read = 0';
92
- }
93
- // Filter by priority
94
- if (params.priority_filter) {
95
- validatePriority(params.priority_filter);
96
- const priorityInt = STRING_TO_PRIORITY[params.priority_filter];
97
- query += ' AND m.priority = ?';
98
- queryParams.push(priorityInt);
90
+ export async function getMessages(params, adapter) {
91
+ const actualAdapter = adapter ?? getAdapter();
92
+ const knex = actualAdapter.getKnex();
93
+ try {
94
+ // Get or create agent to get ID
95
+ const agentId = await getOrCreateAgent(actualAdapter, params.agent_name);
96
+ // Build query dynamically based on filters
97
+ let query = knex('t_agent_messages as m')
98
+ .join('m_agents as a', 'm.from_agent_id', 'a.id')
99
+ .where((builder) => {
100
+ builder.where('m.to_agent_id', agentId)
101
+ .orWhereNull('m.to_agent_id');
102
+ })
103
+ .select('m.id', 'a.name as from_agent', 'm.msg_type', 'm.priority', 'm.payload', 'm.ts', 'm.read');
104
+ // Filter by read status
105
+ if (params.unread_only) {
106
+ query = query.where('m.read', 0);
107
+ }
108
+ // Filter by priority
109
+ if (params.priority_filter) {
110
+ validatePriority(params.priority_filter);
111
+ const priorityInt = STRING_TO_PRIORITY[params.priority_filter];
112
+ query = query.where('m.priority', priorityInt);
113
+ }
114
+ // Filter by msg_type
115
+ if (params.msg_type_filter) {
116
+ validateMessageType(params.msg_type_filter);
117
+ const msgTypeInt = STRING_TO_MESSAGE_TYPE[params.msg_type_filter];
118
+ query = query.where('m.msg_type', msgTypeInt);
119
+ }
120
+ // Order by priority DESC, then timestamp DESC
121
+ const limit = params.limit || 50;
122
+ query = query.orderBy([
123
+ { column: 'm.priority', order: 'desc' },
124
+ { column: 'm.ts', order: 'desc' }
125
+ ]).limit(limit);
126
+ // Execute query
127
+ const rows = await query;
128
+ // Transform results
129
+ const messages = rows.map(row => ({
130
+ id: row.id,
131
+ from_agent: row.from_agent,
132
+ msg_type: MESSAGE_TYPE_TO_STRING[row.msg_type],
133
+ priority: PRIORITY_TO_STRING[row.priority],
134
+ payload: row.payload ? JSON.parse(row.payload) : null,
135
+ timestamp: new Date(row.ts * 1000).toISOString(),
136
+ read: row.read === 1,
137
+ }));
138
+ return {
139
+ messages,
140
+ count: messages.length,
141
+ };
99
142
  }
100
- // Filter by msg_type
101
- if (params.msg_type_filter) {
102
- validateMessageType(params.msg_type_filter);
103
- const msgTypeInt = STRING_TO_MESSAGE_TYPE[params.msg_type_filter];
104
- query += ' AND m.msg_type = ?';
105
- queryParams.push(msgTypeInt);
143
+ catch (error) {
144
+ const message = error instanceof Error ? error.message : String(error);
145
+ throw new Error(`Failed to get messages: ${message}`);
106
146
  }
107
- // Order by priority DESC, then timestamp DESC
108
- query += ' ORDER BY m.priority DESC, m.ts DESC';
109
- // Limit results
110
- const limit = params.limit || 50;
111
- query += ' LIMIT ?';
112
- queryParams.push(limit);
113
- const stmt = actualDb.prepare(query);
114
- const rows = stmt.all(...queryParams);
115
- // Transform results
116
- const messages = rows.map(row => ({
117
- id: row.id,
118
- from_agent: row.from_agent,
119
- msg_type: MESSAGE_TYPE_TO_STRING[row.msg_type],
120
- priority: PRIORITY_TO_STRING[row.priority],
121
- payload: row.payload ? JSON.parse(row.payload) : null,
122
- timestamp: new Date(row.ts * 1000).toISOString(),
123
- read: row.read === 1,
124
- }));
125
- return {
126
- messages,
127
- count: messages.length,
128
- };
129
147
  }
130
148
  /**
131
149
  * Mark messages as read
132
150
  * Only marks messages addressed to the specified agent (security check)
133
151
  *
134
152
  * @param params - Message IDs and agent name
135
- * @param db - Optional database instance (for testing)
153
+ * @param adapter - Optional database adapter (for testing)
136
154
  * @returns Success status and count of marked messages
137
155
  */
138
- export function markRead(params, db) {
139
- const actualDb = db ?? getDatabase();
140
- // Validate message_ids array
141
- if (!params.message_ids || params.message_ids.length === 0) {
142
- throw new Error('message_ids array cannot be empty');
156
+ export async function markRead(params, adapter) {
157
+ const actualAdapter = adapter ?? getAdapter();
158
+ const knex = actualAdapter.getKnex();
159
+ try {
160
+ // Validate message_ids array
161
+ if (!params.message_ids || params.message_ids.length === 0) {
162
+ throw new Error('message_ids array cannot be empty');
163
+ }
164
+ // Get agent ID
165
+ const agentId = await getOrCreateAgent(actualAdapter, params.agent_name);
166
+ // Update only messages addressed to this agent (security check)
167
+ // Also allow broadcast messages (to_agent_id IS NULL)
168
+ const markedCount = await knex('t_agent_messages')
169
+ .whereIn('id', params.message_ids)
170
+ .where((builder) => {
171
+ builder.where('to_agent_id', agentId)
172
+ .orWhereNull('to_agent_id');
173
+ })
174
+ .update({ read: 1 });
175
+ return {
176
+ success: true,
177
+ marked_count: markedCount,
178
+ };
179
+ }
180
+ catch (error) {
181
+ const message = error instanceof Error ? error.message : String(error);
182
+ throw new Error(`Failed to mark messages as read: ${message}`);
143
183
  }
144
- // Get agent ID
145
- const agentId = getOrCreateAgent(actualDb, params.agent_name);
146
- // Build placeholders for IN clause
147
- const placeholders = params.message_ids.map(() => '?').join(',');
148
- // Update only messages addressed to this agent (security check)
149
- // Also allow broadcast messages (to_agent_id IS NULL)
150
- const stmt = actualDb.prepare(`
151
- UPDATE t_agent_messages
152
- SET read = 1
153
- WHERE id IN (${placeholders})
154
- AND (to_agent_id = ? OR to_agent_id IS NULL)
155
- `);
156
- const result = stmt.run(...params.message_ids, agentId);
157
- return {
158
- success: true,
159
- marked_count: result.changes,
160
- };
161
184
  }
162
185
  /**
163
186
  * Send multiple messages in a single batch operation (FR-005)
@@ -165,42 +188,103 @@ export function markRead(params, db) {
165
188
  * Limit: 50 items per batch (constraint #3)
166
189
  *
167
190
  * @param params - Batch parameters with array of messages and atomic flag
168
- * @param db - Optional database instance (for testing)
191
+ * @param adapter - Optional database adapter (for testing)
169
192
  * @returns Response with success status and detailed results for each item
170
193
  */
171
- export function sendMessageBatch(params, db) {
172
- const actualDb = db ?? getDatabase();
194
+ export async function sendMessageBatch(params, adapter) {
195
+ const actualAdapter = adapter ?? getAdapter();
173
196
  // Validate required parameters
174
197
  if (!params.messages || !Array.isArray(params.messages)) {
175
198
  throw new Error('Parameter "messages" is required and must be an array');
176
199
  }
177
- // Cleanup old messages before processing batch
178
- performAutoCleanup(actualDb);
179
- const atomic = params.atomic !== undefined ? params.atomic : true;
180
- // Use processBatch utility
181
- const batchResult = processBatch(actualDb, params.messages, (message, db) => {
182
- const result = sendMessageInternal(message, db);
200
+ if (params.messages.length === 0) {
183
201
  return {
184
- from_agent: message.from_agent,
185
- to_agent: message.to_agent || null,
186
- message_id: result.message_id,
187
- timestamp: result.timestamp
202
+ success: true,
203
+ inserted: 0,
204
+ failed: 0,
205
+ results: []
188
206
  };
189
- }, atomic, 50);
190
- // Map batch results to SendMessageBatchResponse format
191
- return {
192
- success: batchResult.success,
193
- inserted: batchResult.processed,
194
- failed: batchResult.failed,
195
- results: batchResult.results.map(r => ({
196
- from_agent: r.data?.from_agent || '',
197
- to_agent: r.data?.to_agent || null,
198
- message_id: r.data?.message_id,
199
- timestamp: r.data?.timestamp,
200
- success: r.success,
201
- error: r.error
202
- }))
203
- };
207
+ }
208
+ if (params.messages.length > 50) {
209
+ throw new Error('Parameter "messages" must contain at most 50 items');
210
+ }
211
+ const atomic = params.atomic !== undefined ? params.atomic : true;
212
+ try {
213
+ if (atomic) {
214
+ // Atomic mode: All or nothing
215
+ const results = await actualAdapter.transaction(async (trx) => {
216
+ const processedResults = [];
217
+ for (const message of params.messages) {
218
+ try {
219
+ const result = await sendMessageInternal(message, actualAdapter, trx);
220
+ processedResults.push({
221
+ from_agent: message.from_agent,
222
+ to_agent: message.to_agent || null,
223
+ message_id: result.message_id,
224
+ timestamp: result.timestamp,
225
+ success: true,
226
+ error: undefined
227
+ });
228
+ }
229
+ catch (error) {
230
+ const errorMessage = error instanceof Error ? error.message : String(error);
231
+ throw new Error(`Batch failed at message from "${message.from_agent}": ${errorMessage}`);
232
+ }
233
+ }
234
+ return processedResults;
235
+ });
236
+ return {
237
+ success: true,
238
+ inserted: results.length,
239
+ failed: 0,
240
+ results: results
241
+ };
242
+ }
243
+ else {
244
+ // Non-atomic mode: Process each independently
245
+ const results = [];
246
+ let inserted = 0;
247
+ let failed = 0;
248
+ for (const message of params.messages) {
249
+ try {
250
+ const result = await actualAdapter.transaction(async (trx) => {
251
+ return await sendMessageInternal(message, actualAdapter, trx);
252
+ });
253
+ results.push({
254
+ from_agent: message.from_agent,
255
+ to_agent: message.to_agent || null,
256
+ message_id: result.message_id,
257
+ timestamp: result.timestamp,
258
+ success: true,
259
+ error: undefined
260
+ });
261
+ inserted++;
262
+ }
263
+ catch (error) {
264
+ const errorMessage = error instanceof Error ? error.message : String(error);
265
+ results.push({
266
+ from_agent: message.from_agent,
267
+ to_agent: message.to_agent || null,
268
+ message_id: undefined,
269
+ timestamp: undefined,
270
+ success: false,
271
+ error: errorMessage
272
+ });
273
+ failed++;
274
+ }
275
+ }
276
+ return {
277
+ success: failed === 0,
278
+ inserted: inserted,
279
+ failed: failed,
280
+ results: results
281
+ };
282
+ }
283
+ }
284
+ catch (error) {
285
+ const message = error instanceof Error ? error.message : String(error);
286
+ throw new Error(`Failed to execute batch operation: ${message}`);
287
+ }
204
288
  }
205
289
  /**
206
290
  * Help action for message tool
@@ -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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"}
@@ -1,8 +1,10 @@
1
1
  /**
2
2
  * Task management tools for Kanban Task Watcher
3
3
  * Implements create, update, get, list, move, link, archive, batch_create actions
4
+ *
5
+ * CONVERTED: Using Knex.js with DatabaseAdapter (async/await)
4
6
  */
5
- import type { Database } from '../types.js';
7
+ import { DatabaseAdapter } from '../adapters/index.js';
6
8
  /**
7
9
  * Create a new task
8
10
  */
@@ -18,7 +20,7 @@ export declare function createTask(params: {
18
20
  tags?: string[];
19
21
  status?: string;
20
22
  watch_files?: string[];
21
- }, db?: Database): any;
23
+ }, adapter?: DatabaseAdapter): Promise<any>;
22
24
  /**
23
25
  * Update task metadata
24
26
  */
@@ -32,14 +34,14 @@ export declare function updateTask(params: {
32
34
  acceptance_criteria?: string | any[];
33
35
  notes?: string;
34
36
  watch_files?: string[];
35
- }, db?: Database): any;
37
+ }, adapter?: DatabaseAdapter): Promise<any>;
36
38
  /**
37
39
  * Get full task details
38
40
  */
39
41
  export declare function getTask(params: {
40
42
  task_id: number;
41
43
  include_dependencies?: boolean;
42
- }, db?: Database): any;
44
+ }, adapter?: DatabaseAdapter): Promise<any>;
43
45
  /**
44
46
  * List tasks (token-efficient, no descriptions)
45
47
  */
@@ -51,14 +53,14 @@ export declare function listTasks(params?: {
51
53
  limit?: number;
52
54
  offset?: number;
53
55
  include_dependency_counts?: boolean;
54
- }, db?: Database): Promise<any>;
56
+ }, adapter?: DatabaseAdapter): Promise<any>;
55
57
  /**
56
58
  * Move task to different status
57
59
  */
58
60
  export declare function moveTask(params: {
59
61
  task_id: number;
60
62
  new_status: string;
61
- }, db?: Database): any;
63
+ }, adapter?: DatabaseAdapter): Promise<any>;
62
64
  /**
63
65
  * Link task to decision/constraint/file
64
66
  */
@@ -67,34 +69,34 @@ export declare function linkTask(params: {
67
69
  link_type: 'decision' | 'constraint' | 'file';
68
70
  target_id: string | number;
69
71
  link_relation?: string;
70
- }, db?: Database): any;
72
+ }, adapter?: DatabaseAdapter): Promise<any>;
71
73
  /**
72
74
  * Archive completed task
73
75
  */
74
76
  export declare function archiveTask(params: {
75
77
  task_id: number;
76
- }, db?: Database): any;
78
+ }, adapter?: DatabaseAdapter): Promise<any>;
77
79
  /**
78
80
  * Add dependency (blocking relationship) between tasks
79
81
  */
80
82
  export declare function addDependency(params: {
81
83
  blocker_task_id: number;
82
84
  blocked_task_id: number;
83
- }, db?: Database): any;
85
+ }, adapter?: DatabaseAdapter): Promise<any>;
84
86
  /**
85
87
  * Remove dependency between tasks
86
88
  */
87
89
  export declare function removeDependency(params: {
88
90
  blocker_task_id: number;
89
91
  blocked_task_id: number;
90
- }, db?: Database): any;
92
+ }, adapter?: DatabaseAdapter): Promise<any>;
91
93
  /**
92
94
  * Get dependencies for a task (bidirectional: what blocks this task, what this task blocks)
93
95
  */
94
96
  export declare function getDependencies(params: {
95
97
  task_id: number;
96
98
  include_details?: boolean;
97
- }, db?: Database): any;
99
+ }, adapter?: DatabaseAdapter): Promise<any>;
98
100
  /**
99
101
  * Create multiple tasks atomically
100
102
  */
@@ -108,7 +110,7 @@ export declare function batchCreateTasks(params: {
108
110
  tags?: string[];
109
111
  }>;
110
112
  atomic?: boolean;
111
- }, db?: Database): any;
113
+ }, adapter?: DatabaseAdapter): Promise<any>;
112
114
  /**
113
115
  * Watch/unwatch files for a task (v3.4.1)
114
116
  * Replaces the need to use task.link(file) for file watching
@@ -117,7 +119,7 @@ export declare function watchFiles(params: {
117
119
  task_id: number;
118
120
  action: 'watch' | 'unwatch' | 'list';
119
121
  file_paths?: string[];
120
- }, db?: Database): any;
122
+ }, adapter?: DatabaseAdapter): Promise<any>;
121
123
  /**
122
124
  * Get pruned files for a task (v3.5.0 Auto-Pruning)
123
125
  * Returns audit trail of files that were auto-pruned as non-existent
@@ -125,7 +127,7 @@ export declare function watchFiles(params: {
125
127
  export declare function getPrunedFiles(params: {
126
128
  task_id: number;
127
129
  limit?: number;
128
- }, db?: Database): any;
130
+ }, adapter?: DatabaseAdapter): Promise<any>;
129
131
  /**
130
132
  * Link a pruned file to a decision (v3.5.0 Auto-Pruning)
131
133
  * Attaches WHY reasoning to pruned files for project archaeology
@@ -133,7 +135,7 @@ export declare function getPrunedFiles(params: {
133
135
  export declare function linkPrunedFile(params: {
134
136
  pruned_file_id: number;
135
137
  decision_key: string;
136
- }, db?: Database): any;
138
+ }, adapter?: DatabaseAdapter): Promise<any>;
137
139
  /**
138
140
  * Return comprehensive help documentation
139
141
  */
@@ -141,7 +143,7 @@ export declare function taskHelp(): any;
141
143
  /**
142
144
  * Query file watcher status and monitored files/tasks
143
145
  */
144
- export declare function watcherStatus(args: any, db?: Database): any;
146
+ export declare function watcherStatus(args: any, adapter?: DatabaseAdapter): Promise<any>;
145
147
  /**
146
148
  * Get comprehensive examples for task tool
147
149
  * @returns Examples documentation object
@@ -1 +1 @@
1
- {"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../src/tools/tasks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../src/tools/tasks.ts"],"names":[],"mappings":"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"}