sqlew 3.5.3 → 3.6.1

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 (257) hide show
  1. package/CHANGELOG.md +247 -1772
  2. package/README.md +70 -304
  3. package/assets/config.example.toml +106 -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 +11 -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 +56 -121
  37. package/dist/database.d.ts.map +1 -1
  38. package/dist/database.js +266 -414
  39. package/dist/database.js.map +1 -1
  40. package/dist/index.js +329 -245
  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/knex/20251027000000_add_agent_reuse_system.d.ts +14 -0
  107. package/dist/migrations/knex/20251027000000_add_agent_reuse_system.d.ts.map +1 -0
  108. package/dist/migrations/knex/20251027000000_add_agent_reuse_system.js +34 -0
  109. package/dist/migrations/knex/20251027000000_add_agent_reuse_system.js.map +1 -0
  110. package/dist/migrations/knex/20251027010000_add_task_constraint_to_decision_context.d.ts +4 -0
  111. package/dist/migrations/knex/20251027010000_add_task_constraint_to_decision_context.d.ts.map +1 -0
  112. package/dist/migrations/knex/20251027010000_add_task_constraint_to_decision_context.js +24 -0
  113. package/dist/migrations/knex/20251027010000_add_task_constraint_to_decision_context.js.map +1 -0
  114. package/dist/migrations/knex/20251027020000_update_agent_reusability.d.ts +16 -0
  115. package/dist/migrations/knex/20251027020000_update_agent_reusability.d.ts.map +1 -0
  116. package/dist/migrations/knex/20251027020000_update_agent_reusability.js +27 -0
  117. package/dist/migrations/knex/20251027020000_update_agent_reusability.js.map +1 -0
  118. package/dist/migrations/seed-help-data.d.ts +48 -0
  119. package/dist/migrations/seed-help-data.d.ts.map +1 -0
  120. package/dist/migrations/seed-help-data.js +1466 -0
  121. package/dist/migrations/seed-help-data.js.map +1 -0
  122. package/dist/migrations/seed-tool-metadata.d.ts +24 -0
  123. package/dist/migrations/seed-tool-metadata.d.ts.map +1 -0
  124. package/dist/migrations/seed-tool-metadata.js +392 -0
  125. package/dist/migrations/seed-tool-metadata.js.map +1 -0
  126. package/dist/migrations/v3.6.0-help-system-refactor.d.ts +46 -0
  127. package/dist/migrations/v3.6.0-help-system-refactor.d.ts.map +1 -0
  128. package/dist/migrations/v3.6.0-help-system-refactor.js +223 -0
  129. package/dist/migrations/v3.6.0-help-system-refactor.js.map +1 -0
  130. package/dist/schema.d.ts.map +1 -1
  131. package/dist/schema.js +2 -0
  132. package/dist/schema.js.map +1 -1
  133. package/dist/tests/agent-reuse.test.d.ts +6 -0
  134. package/dist/tests/agent-reuse.test.d.ts.map +1 -0
  135. package/dist/tests/agent-reuse.test.js +242 -0
  136. package/dist/tests/agent-reuse.test.js.map +1 -0
  137. package/dist/tests/all-features.test.d.ts +7 -0
  138. package/dist/tests/all-features.test.d.ts.map +1 -0
  139. package/dist/tests/all-features.test.js +514 -0
  140. package/dist/tests/all-features.test.js.map +1 -0
  141. package/dist/tests/git-aware-completion.test.js +89 -70
  142. package/dist/tests/git-aware-completion.test.js.map +1 -1
  143. package/dist/tests/help-system.test.d.ts +23 -0
  144. package/dist/tests/help-system.test.d.ts.map +1 -0
  145. package/dist/tests/help-system.test.js +374 -0
  146. package/dist/tests/help-system.test.js.map +1 -0
  147. package/dist/tests/tasks.auto-pruning-decision-link.test.js +92 -78
  148. package/dist/tests/tasks.auto-pruning-decision-link.test.js.map +1 -1
  149. package/dist/tests/tasks.auto-pruning-partial.test.js +106 -95
  150. package/dist/tests/tasks.auto-pruning-partial.test.js.map +1 -1
  151. package/dist/tests/tasks.auto-pruning-persistence.test.js +115 -97
  152. package/dist/tests/tasks.auto-pruning-persistence.test.js.map +1 -1
  153. package/dist/tests/tasks.auto-pruning-safety.test.js +124 -103
  154. package/dist/tests/tasks.auto-pruning-safety.test.js.map +1 -1
  155. package/dist/tests/tasks.dependencies.test.js +338 -307
  156. package/dist/tests/tasks.dependencies.test.js.map +1 -1
  157. package/dist/tests/tasks.link-file-backward-compat.test.js +116 -104
  158. package/dist/tests/tasks.link-file-backward-compat.test.js.map +1 -1
  159. package/dist/tests/tasks.watch-files-action.test.js +122 -101
  160. package/dist/tests/tasks.watch-files-action.test.js.map +1 -1
  161. package/dist/tests/tasks.watch-files-parameter.test.js +105 -94
  162. package/dist/tests/tasks.watch-files-parameter.test.js.map +1 -1
  163. package/dist/tests/two-step-git-completion.test.js +176 -133
  164. package/dist/tests/two-step-git-completion.test.js.map +1 -1
  165. package/dist/tests/vcs-staging.test.js +1 -1
  166. package/dist/tests/vcs-staging.test.js.map +1 -1
  167. package/dist/tools/config.d.ts +9 -6
  168. package/dist/tools/config.d.ts.map +1 -1
  169. package/dist/tools/config.js +16 -14
  170. package/dist/tools/config.js.map +1 -1
  171. package/dist/tools/constraints.d.ts +10 -7
  172. package/dist/tools/constraints.d.ts.map +1 -1
  173. package/dist/tools/constraints.js +73 -51
  174. package/dist/tools/constraints.js.map +1 -1
  175. package/dist/tools/context.d.ts +36 -33
  176. package/dist/tools/context.d.ts.map +1 -1
  177. package/dist/tools/context.js +441 -340
  178. package/dist/tools/context.js.map +1 -1
  179. package/dist/tools/files.d.ts +12 -9
  180. package/dist/tools/files.d.ts.map +1 -1
  181. package/dist/tools/files.js +173 -95
  182. package/dist/tools/files.js.map +1 -1
  183. package/dist/tools/help-queries.d.ts +130 -0
  184. package/dist/tools/help-queries.d.ts.map +1 -0
  185. package/dist/tools/help-queries.js +393 -0
  186. package/dist/tools/help-queries.js.map +1 -0
  187. package/dist/tools/messaging.d.ts +14 -11
  188. package/dist/tools/messaging.d.ts.map +1 -1
  189. package/dist/tools/messaging.js +239 -133
  190. package/dist/tools/messaging.js.map +1 -1
  191. package/dist/tools/tasks.d.ts +18 -16
  192. package/dist/tools/tasks.d.ts.map +1 -1
  193. package/dist/tools/tasks.js +519 -442
  194. package/dist/tools/tasks.js.map +1 -1
  195. package/dist/tools/utils.d.ts +14 -11
  196. package/dist/tools/utils.d.ts.map +1 -1
  197. package/dist/tools/utils.js +90 -122
  198. package/dist/tools/utils.js.map +1 -1
  199. package/dist/types.d.ts +1 -0
  200. package/dist/types.d.ts.map +1 -1
  201. package/dist/utils/activity-logging.d.ts +114 -0
  202. package/dist/utils/activity-logging.d.ts.map +1 -0
  203. package/dist/utils/activity-logging.js +162 -0
  204. package/dist/utils/activity-logging.js.map +1 -0
  205. package/dist/utils/batch.d.ts +2 -2
  206. package/dist/utils/batch.d.ts.map +1 -1
  207. package/dist/utils/batch.js +8 -8
  208. package/dist/utils/batch.js.map +1 -1
  209. package/dist/utils/cleanup.d.ts +24 -14
  210. package/dist/utils/cleanup.d.ts.map +1 -1
  211. package/dist/utils/cleanup.js +37 -27
  212. package/dist/utils/cleanup.js.map +1 -1
  213. package/dist/utils/debug-logger.d.ts +99 -0
  214. package/dist/utils/debug-logger.d.ts.map +1 -0
  215. package/dist/utils/debug-logger.js +267 -0
  216. package/dist/utils/debug-logger.js.map +1 -0
  217. package/dist/utils/error-handler.d.ts +28 -0
  218. package/dist/utils/error-handler.d.ts.map +1 -0
  219. package/dist/utils/error-handler.js +121 -0
  220. package/dist/utils/error-handler.js.map +1 -0
  221. package/dist/utils/help-tracking.d.ts +55 -0
  222. package/dist/utils/help-tracking.d.ts.map +1 -0
  223. package/dist/utils/help-tracking.js +88 -0
  224. package/dist/utils/help-tracking.js.map +1 -0
  225. package/dist/utils/param-parser.d.ts +23 -0
  226. package/dist/utils/param-parser.d.ts.map +1 -0
  227. package/dist/utils/param-parser.js +52 -0
  228. package/dist/utils/param-parser.js.map +1 -0
  229. package/dist/utils/retention.d.ts +17 -7
  230. package/dist/utils/retention.d.ts.map +1 -1
  231. package/dist/utils/retention.js +31 -12
  232. package/dist/utils/retention.js.map +1 -1
  233. package/dist/utils/task-stale-detection.d.ts +15 -13
  234. package/dist/utils/task-stale-detection.d.ts.map +1 -1
  235. package/dist/utils/task-stale-detection.js +100 -302
  236. package/dist/utils/task-stale-detection.js.map +1 -1
  237. package/dist/utils/token-estimation.d.ts +72 -0
  238. package/dist/utils/token-estimation.d.ts.map +1 -0
  239. package/dist/utils/token-estimation.js +71 -0
  240. package/dist/utils/token-estimation.js.map +1 -0
  241. package/dist/utils/token-logging.d.ts +48 -0
  242. package/dist/utils/token-logging.d.ts.map +1 -0
  243. package/dist/utils/token-logging.js +112 -0
  244. package/dist/utils/token-logging.js.map +1 -0
  245. package/dist/utils/view-queries.d.ts +34 -0
  246. package/dist/utils/view-queries.d.ts.map +1 -0
  247. package/dist/utils/view-queries.js +192 -0
  248. package/dist/utils/view-queries.js.map +1 -0
  249. package/dist/watcher/file-watcher.d.ts.map +1 -1
  250. package/dist/watcher/file-watcher.js +25 -11
  251. package/dist/watcher/file-watcher.js.map +1 -1
  252. package/docs/BEST_PRACTICES.md +56 -448
  253. package/docs/MIGRATION_v3.6.0.md +170 -0
  254. package/docs/SHARED_CONCEPTS.md +63 -208
  255. package/docs/TASK_OVERVIEW.md +2 -2
  256. package/docs/TOOL_SELECTION.md +41 -248
  257. package/package.json +17 -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;AAsBvD,OAAO,KAAK,EACV,iBAAiB,EAGjB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,aAAa,CAAC;AAqFrB;;;;;;;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,CAwBtD;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,73 @@
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';
11
+ import { debugLogFunctionEntry, debugLogFunctionExit, debugLogSchemaOperation, debugLogValidation, debugLogCriticalError } from '../utils/debug-logger.js';
10
12
  /**
11
- * Internal helper: Send message without cleanup or transaction wrapper
12
- * Used by sendMessage (with cleanup) and sendMessageBatch (manages its own transaction)
13
+ * Internal helper: Send message without wrapping in transaction
14
+ * Used by sendMessage (with transaction) and sendMessageBatch (manages its own transaction)
13
15
  *
14
16
  * @param params - Message parameters
15
- * @param db - Database instance
17
+ * @param adapter - Database adapter instance
18
+ * @param trx - Optional transaction
16
19
  * @returns Response with message ID and timestamp
17
20
  */
18
- function sendMessageInternal(params, db) {
21
+ async function sendMessageInternal(params, adapter, trx) {
22
+ const knex = trx || adapter.getKnex();
19
23
  // Validate msg_type
20
24
  validateMessageType(params.msg_type);
21
25
  // Validate priority if provided
22
26
  const priority = params.priority || 'medium';
23
27
  validatePriority(priority);
24
28
  // Auto-register from_agent
25
- const fromAgentId = getOrCreateAgent(db, params.from_agent);
29
+ const fromAgentId = await getOrCreateAgent(adapter, params.from_agent, trx);
26
30
  // Auto-register to_agent if provided (null = broadcast)
27
- const toAgentId = params.to_agent ? getOrCreateAgent(db, params.to_agent) : null;
31
+ const toAgentId = params.to_agent ? await getOrCreateAgent(adapter, params.to_agent, trx) : null;
28
32
  // Convert enums to integers
29
33
  const msgTypeInt = STRING_TO_MESSAGE_TYPE[params.msg_type];
30
34
  const priorityInt = STRING_TO_PRIORITY[priority];
31
35
  // Serialize payload if provided
32
36
  const payloadStr = params.payload ? JSON.stringify(params.payload) : null;
37
+ // Current timestamp
38
+ const ts = Math.floor(Date.now() / 1000);
39
+ debugLogSchemaOperation('INSERT', 't_agent_messages', ['from_agent_id', 'to_agent_id', 'msg_type', 'priority', 'message', 'payload', 'read', 'ts'], undefined, {
40
+ from_agent_id: fromAgentId,
41
+ to_agent_id: toAgentId,
42
+ msg_type: msgTypeInt,
43
+ priority: priorityInt,
44
+ message: params.message,
45
+ payload: payloadStr,
46
+ read: 0,
47
+ ts: ts
48
+ });
33
49
  // 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();
50
+ const [messageId] = await knex('t_agent_messages').insert({
51
+ from_agent_id: fromAgentId,
52
+ to_agent_id: toAgentId,
53
+ msg_type: msgTypeInt,
54
+ priority: priorityInt,
55
+ message: params.message,
56
+ payload: payloadStr,
57
+ read: 0,
58
+ ts: ts
59
+ });
60
+ // Activity logging (replaces trigger)
61
+ await logMessageSend(knex, {
62
+ from_agent_id: fromAgentId,
63
+ to_agent_id: toAgentId || 0,
64
+ msg_type: msgTypeInt,
65
+ priority: priorityInt
66
+ });
67
+ const timestamp = new Date(ts * 1000).toISOString();
42
68
  return {
43
69
  success: true,
44
- message_id: Number(result.lastInsertRowid),
70
+ message_id: Number(messageId),
45
71
  timestamp,
46
72
  };
47
73
  }
@@ -50,114 +76,133 @@ function sendMessageInternal(params, db) {
50
76
  * Supports priority levels and optional JSON payload
51
77
  *
52
78
  * @param params - Message parameters
53
- * @param db - Optional database instance (for testing)
79
+ * @param adapter - Optional database adapter (for testing)
54
80
  * @returns Response with message ID and timestamp
55
81
  */
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);
82
+ export async function sendMessage(params, adapter) {
83
+ debugLogFunctionEntry('sendMessage', params);
84
+ // Validate that message field is provided
85
+ debugLogValidation('sendMessage', 'message', params.message, !!params.message, !params.message ? 'message field is required' : undefined);
86
+ const actualAdapter = adapter ?? getAdapter();
87
+ try {
88
+ const result = await actualAdapter.transaction(async (trx) => {
89
+ return await sendMessageInternal(params, actualAdapter, trx);
90
+ });
91
+ debugLogFunctionExit('sendMessage', true, result);
92
+ return result;
93
+ }
94
+ catch (error) {
95
+ const message = error instanceof Error ? error.message : String(error);
96
+ debugLogCriticalError('sendMessage', error, {
97
+ function: 'sendMessage',
98
+ params
99
+ });
100
+ debugLogFunctionExit('sendMessage', false, undefined, error);
101
+ throw new Error(`Failed to send message: ${message}`);
102
+ }
61
103
  }
62
104
  /**
63
105
  * Get messages for an agent with optional filtering
64
106
  * Returns messages addressed to agent or broadcast (to_agent_id IS NULL)
65
107
  *
66
108
  * @param params - Query parameters
67
- * @param db - Optional database instance (for testing)
109
+ * @param adapter - Optional database adapter (for testing)
68
110
  * @returns Array of messages with metadata
69
111
  */
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);
112
+ export async function getMessages(params, adapter) {
113
+ const actualAdapter = adapter ?? getAdapter();
114
+ const knex = actualAdapter.getKnex();
115
+ try {
116
+ // Get or create agent to get ID
117
+ const agentId = await getOrCreateAgent(actualAdapter, params.agent_name);
118
+ // Build query dynamically based on filters
119
+ let query = knex('t_agent_messages as m')
120
+ .join('m_agents as a', 'm.from_agent_id', 'a.id')
121
+ .where((builder) => {
122
+ builder.where('m.to_agent_id', agentId)
123
+ .orWhereNull('m.to_agent_id');
124
+ })
125
+ .select('m.id', 'a.name as from_agent', 'm.msg_type', 'm.priority', 'm.payload', 'm.ts', 'm.read');
126
+ // Filter by read status
127
+ if (params.unread_only) {
128
+ query = query.where('m.read', 0);
129
+ }
130
+ // Filter by priority
131
+ if (params.priority_filter) {
132
+ validatePriority(params.priority_filter);
133
+ const priorityInt = STRING_TO_PRIORITY[params.priority_filter];
134
+ query = query.where('m.priority', priorityInt);
135
+ }
136
+ // Filter by msg_type
137
+ if (params.msg_type_filter) {
138
+ validateMessageType(params.msg_type_filter);
139
+ const msgTypeInt = STRING_TO_MESSAGE_TYPE[params.msg_type_filter];
140
+ query = query.where('m.msg_type', msgTypeInt);
141
+ }
142
+ // Order by priority DESC, then timestamp DESC
143
+ const limit = params.limit || 50;
144
+ query = query.orderBy([
145
+ { column: 'm.priority', order: 'desc' },
146
+ { column: 'm.ts', order: 'desc' }
147
+ ]).limit(limit);
148
+ // Execute query
149
+ const rows = await query;
150
+ // Transform results
151
+ const messages = rows.map(row => ({
152
+ id: row.id,
153
+ from_agent: row.from_agent,
154
+ msg_type: MESSAGE_TYPE_TO_STRING[row.msg_type],
155
+ priority: PRIORITY_TO_STRING[row.priority],
156
+ payload: row.payload ? JSON.parse(row.payload) : null,
157
+ timestamp: new Date(row.ts * 1000).toISOString(),
158
+ read: row.read === 1,
159
+ }));
160
+ return {
161
+ messages,
162
+ count: messages.length,
163
+ };
99
164
  }
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);
165
+ catch (error) {
166
+ const message = error instanceof Error ? error.message : String(error);
167
+ throw new Error(`Failed to get messages: ${message}`);
106
168
  }
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
169
  }
130
170
  /**
131
171
  * Mark messages as read
132
172
  * Only marks messages addressed to the specified agent (security check)
133
173
  *
134
174
  * @param params - Message IDs and agent name
135
- * @param db - Optional database instance (for testing)
175
+ * @param adapter - Optional database adapter (for testing)
136
176
  * @returns Success status and count of marked messages
137
177
  */
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');
178
+ export async function markRead(params, adapter) {
179
+ const actualAdapter = adapter ?? getAdapter();
180
+ const knex = actualAdapter.getKnex();
181
+ try {
182
+ // Validate message_ids array
183
+ if (!params.message_ids || params.message_ids.length === 0) {
184
+ throw new Error('message_ids array cannot be empty');
185
+ }
186
+ // Get agent ID
187
+ const agentId = await getOrCreateAgent(actualAdapter, params.agent_name);
188
+ // Update only messages addressed to this agent (security check)
189
+ // Also allow broadcast messages (to_agent_id IS NULL)
190
+ const markedCount = await knex('t_agent_messages')
191
+ .whereIn('id', params.message_ids)
192
+ .where((builder) => {
193
+ builder.where('to_agent_id', agentId)
194
+ .orWhereNull('to_agent_id');
195
+ })
196
+ .update({ read: 1 });
197
+ return {
198
+ success: true,
199
+ marked_count: markedCount,
200
+ };
201
+ }
202
+ catch (error) {
203
+ const message = error instanceof Error ? error.message : String(error);
204
+ throw new Error(`Failed to mark messages as read: ${message}`);
143
205
  }
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
206
  }
162
207
  /**
163
208
  * Send multiple messages in a single batch operation (FR-005)
@@ -165,42 +210,103 @@ export function markRead(params, db) {
165
210
  * Limit: 50 items per batch (constraint #3)
166
211
  *
167
212
  * @param params - Batch parameters with array of messages and atomic flag
168
- * @param db - Optional database instance (for testing)
213
+ * @param adapter - Optional database adapter (for testing)
169
214
  * @returns Response with success status and detailed results for each item
170
215
  */
171
- export function sendMessageBatch(params, db) {
172
- const actualDb = db ?? getDatabase();
216
+ export async function sendMessageBatch(params, adapter) {
217
+ const actualAdapter = adapter ?? getAdapter();
173
218
  // Validate required parameters
174
219
  if (!params.messages || !Array.isArray(params.messages)) {
175
220
  throw new Error('Parameter "messages" is required and must be an array');
176
221
  }
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);
222
+ if (params.messages.length === 0) {
183
223
  return {
184
- from_agent: message.from_agent,
185
- to_agent: message.to_agent || null,
186
- message_id: result.message_id,
187
- timestamp: result.timestamp
224
+ success: true,
225
+ inserted: 0,
226
+ failed: 0,
227
+ results: []
188
228
  };
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
- };
229
+ }
230
+ if (params.messages.length > 50) {
231
+ throw new Error('Parameter "messages" must contain at most 50 items');
232
+ }
233
+ const atomic = params.atomic !== undefined ? params.atomic : true;
234
+ try {
235
+ if (atomic) {
236
+ // Atomic mode: All or nothing
237
+ const results = await actualAdapter.transaction(async (trx) => {
238
+ const processedResults = [];
239
+ for (const message of params.messages) {
240
+ try {
241
+ const result = await sendMessageInternal(message, actualAdapter, trx);
242
+ processedResults.push({
243
+ from_agent: message.from_agent,
244
+ to_agent: message.to_agent || null,
245
+ message_id: result.message_id,
246
+ timestamp: result.timestamp,
247
+ success: true,
248
+ error: undefined
249
+ });
250
+ }
251
+ catch (error) {
252
+ const errorMessage = error instanceof Error ? error.message : String(error);
253
+ throw new Error(`Batch failed at message from "${message.from_agent}": ${errorMessage}`);
254
+ }
255
+ }
256
+ return processedResults;
257
+ });
258
+ return {
259
+ success: true,
260
+ inserted: results.length,
261
+ failed: 0,
262
+ results: results
263
+ };
264
+ }
265
+ else {
266
+ // Non-atomic mode: Process each independently
267
+ const results = [];
268
+ let inserted = 0;
269
+ let failed = 0;
270
+ for (const message of params.messages) {
271
+ try {
272
+ const result = await actualAdapter.transaction(async (trx) => {
273
+ return await sendMessageInternal(message, actualAdapter, trx);
274
+ });
275
+ results.push({
276
+ from_agent: message.from_agent,
277
+ to_agent: message.to_agent || null,
278
+ message_id: result.message_id,
279
+ timestamp: result.timestamp,
280
+ success: true,
281
+ error: undefined
282
+ });
283
+ inserted++;
284
+ }
285
+ catch (error) {
286
+ const errorMessage = error instanceof Error ? error.message : String(error);
287
+ results.push({
288
+ from_agent: message.from_agent,
289
+ to_agent: message.to_agent || null,
290
+ message_id: undefined,
291
+ timestamp: undefined,
292
+ success: false,
293
+ error: errorMessage
294
+ });
295
+ failed++;
296
+ }
297
+ }
298
+ return {
299
+ success: failed === 0,
300
+ inserted: inserted,
301
+ failed: failed,
302
+ results: results
303
+ };
304
+ }
305
+ }
306
+ catch (error) {
307
+ const message = error instanceof Error ? error.message : String(error);
308
+ throw new Error(`Failed to execute batch operation: ${message}`);
309
+ }
204
310
  }
205
311
  /**
206
312
  * 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