sqlew 3.6.1 → 3.6.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 (190) hide show
  1. package/CHANGELOG.md +403 -376
  2. package/dist/knexfile.d.ts.map +1 -1
  3. package/dist/knexfile.js +15 -3
  4. package/dist/knexfile.js.map +1 -1
  5. package/dist/migrations/knex/bootstrap/20251025020452_create_master_tables.d.ts.map +1 -0
  6. package/dist/migrations/knex/{20251025020452_create_master_tables.js → bootstrap/20251025020452_create_master_tables.js} +15 -12
  7. package/dist/migrations/knex/bootstrap/20251025020452_create_master_tables.js.map +1 -0
  8. package/dist/migrations/knex/bootstrap/20251025021152_create_transaction_tables.d.ts.map +1 -0
  9. package/dist/migrations/knex/{20251025021152_create_transaction_tables.js → bootstrap/20251025021152_create_transaction_tables.js} +19 -19
  10. package/dist/migrations/knex/bootstrap/20251025021152_create_transaction_tables.js.map +1 -0
  11. package/dist/migrations/knex/bootstrap/20251025021351_create_indexes.d.ts.map +1 -0
  12. package/dist/migrations/knex/bootstrap/20251025021351_create_indexes.js +93 -0
  13. package/dist/migrations/knex/bootstrap/20251025021351_create_indexes.js.map +1 -0
  14. package/dist/migrations/knex/bootstrap/20251025021416_seed_master_data.d.ts.map +1 -0
  15. package/dist/migrations/knex/bootstrap/20251025021416_seed_master_data.js +64 -0
  16. package/dist/migrations/knex/bootstrap/20251025021416_seed_master_data.js.map +1 -0
  17. package/dist/migrations/knex/bootstrap/20251025070349_create_views.d.ts.map +1 -0
  18. package/dist/migrations/knex/bootstrap/20251025070349_create_views.js.map +1 -0
  19. package/dist/migrations/knex/enhancements/20251025081221_add_link_type_to_task_decision_links.d.ts.map +1 -0
  20. package/dist/migrations/knex/enhancements/20251025081221_add_link_type_to_task_decision_links.js.map +1 -0
  21. package/dist/migrations/knex/enhancements/20251025082220_fix_task_dependencies_columns.d.ts.map +1 -0
  22. package/dist/migrations/knex/enhancements/20251025082220_fix_task_dependencies_columns.js.map +1 -0
  23. package/dist/migrations/knex/enhancements/20251025090000_create_help_system_tables.d.ts.map +1 -0
  24. package/dist/migrations/knex/enhancements/20251025090000_create_help_system_tables.js.map +1 -0
  25. package/dist/migrations/knex/enhancements/20251025090100_seed_help_categories_and_use_cases.d.ts.map +1 -0
  26. package/dist/migrations/knex/enhancements/20251025090100_seed_help_categories_and_use_cases.js.map +1 -0
  27. package/dist/migrations/knex/enhancements/20251025100000_seed_help_metadata.d.ts.map +1 -0
  28. package/dist/migrations/knex/enhancements/20251025100000_seed_help_metadata.js.map +1 -0
  29. package/dist/migrations/knex/enhancements/20251025100100_seed_remaining_use_cases.d.ts.map +1 -0
  30. package/dist/migrations/knex/enhancements/20251025100100_seed_remaining_use_cases.js.map +1 -0
  31. package/dist/migrations/knex/enhancements/20251025120000_add_cascade_to_task_dependencies.d.ts.map +1 -0
  32. package/dist/migrations/knex/enhancements/20251025120000_add_cascade_to_task_dependencies.js.map +1 -0
  33. package/dist/migrations/knex/enhancements/20251027000000_add_agent_reuse_system.d.ts.map +1 -0
  34. package/dist/migrations/knex/enhancements/20251027000000_add_agent_reuse_system.js.map +1 -0
  35. package/dist/migrations/knex/enhancements/20251027010000_add_task_constraint_to_decision_context.d.ts.map +1 -0
  36. package/dist/migrations/knex/enhancements/20251027010000_add_task_constraint_to_decision_context.js.map +1 -0
  37. package/dist/migrations/knex/enhancements/20251027020000_update_agent_reusability.d.ts.map +1 -0
  38. package/dist/migrations/knex/enhancements/20251027020000_update_agent_reusability.js.map +1 -0
  39. package/dist/migrations/knex/upgrades/20251024010000_upgrade_v1_0_to_v1_1.d.ts +13 -0
  40. package/dist/migrations/knex/upgrades/20251024010000_upgrade_v1_0_to_v1_1.d.ts.map +1 -0
  41. package/dist/migrations/knex/upgrades/20251024010000_upgrade_v1_0_to_v1_1.js +70 -0
  42. package/dist/migrations/knex/upgrades/20251024010000_upgrade_v1_0_to_v1_1.js.map +1 -0
  43. package/dist/migrations/knex/upgrades/20251024020000_upgrade_v2_0_to_v2_1.d.ts +11 -0
  44. package/dist/migrations/knex/upgrades/20251024020000_upgrade_v2_0_to_v2_1.d.ts.map +1 -0
  45. package/dist/migrations/knex/upgrades/20251024020000_upgrade_v2_0_to_v2_1.js +36 -0
  46. package/dist/migrations/knex/upgrades/20251024020000_upgrade_v2_0_to_v2_1.js.map +1 -0
  47. package/dist/migrations/knex/upgrades/20251024030000_upgrade_v2_1_to_v3_0.d.ts +14 -0
  48. package/dist/migrations/knex/upgrades/20251024030000_upgrade_v2_1_to_v3_0.d.ts.map +1 -0
  49. package/dist/migrations/knex/upgrades/20251024030000_upgrade_v2_1_to_v3_0.js +84 -0
  50. package/dist/migrations/knex/upgrades/20251024030000_upgrade_v2_1_to_v3_0.js.map +1 -0
  51. package/dist/migrations/knex/upgrades/20251024040000_upgrade_v3_0_to_v3_2.d.ts +9 -0
  52. package/dist/migrations/knex/upgrades/20251024040000_upgrade_v3_0_to_v3_2.d.ts.map +1 -0
  53. package/dist/migrations/knex/upgrades/20251024040000_upgrade_v3_0_to_v3_2.js +37 -0
  54. package/dist/migrations/knex/upgrades/20251024040000_upgrade_v3_0_to_v3_2.js.map +1 -0
  55. package/dist/migrations/knex/upgrades/20251024050000_upgrade_v3_2_0_to_v3_2_2.d.ts +9 -0
  56. package/dist/migrations/knex/upgrades/20251024050000_upgrade_v3_2_0_to_v3_2_2.d.ts.map +1 -0
  57. package/dist/migrations/knex/upgrades/20251024050000_upgrade_v3_2_0_to_v3_2_2.js +41 -0
  58. package/dist/migrations/knex/upgrades/20251024050000_upgrade_v3_2_0_to_v3_2_2.js.map +1 -0
  59. package/dist/migrations/knex/upgrades/20251024060000_upgrade_v3_4_to_v3_5.d.ts +9 -0
  60. package/dist/migrations/knex/upgrades/20251024060000_upgrade_v3_4_to_v3_5.d.ts.map +1 -0
  61. package/dist/migrations/knex/upgrades/20251024060000_upgrade_v3_4_to_v3_5.js +36 -0
  62. package/dist/migrations/knex/upgrades/20251024060000_upgrade_v3_4_to_v3_5.js.map +1 -0
  63. package/dist/migrations/knex/upgrades/20251024070000_upgrade_v3_5_to_v3_6.d.ts +10 -0
  64. package/dist/migrations/knex/upgrades/20251024070000_upgrade_v3_5_to_v3_6.d.ts.map +1 -0
  65. package/dist/migrations/knex/upgrades/20251024070000_upgrade_v3_5_to_v3_6.js +28 -0
  66. package/dist/migrations/knex/upgrades/20251024070000_upgrade_v3_5_to_v3_6.js.map +1 -0
  67. package/dist/tests/migrations/test-all-versions-real.d.ts +8 -0
  68. package/dist/tests/migrations/test-all-versions-real.d.ts.map +1 -0
  69. package/dist/tests/migrations/test-all-versions-real.js +234 -0
  70. package/dist/tests/migrations/test-all-versions-real.js.map +1 -0
  71. package/dist/tests/migrations/test-all-versions.d.ts +14 -0
  72. package/dist/tests/migrations/test-all-versions.d.ts.map +1 -0
  73. package/dist/tests/migrations/test-all-versions.js +521 -0
  74. package/dist/tests/migrations/test-all-versions.js.map +1 -0
  75. package/docs/MIGRATION_CHAIN.md +293 -280
  76. package/package.json +85 -82
  77. package/dist/migrations/add-decision-context.d.ts +0 -28
  78. package/dist/migrations/add-decision-context.d.ts.map +0 -1
  79. package/dist/migrations/add-decision-context.js +0 -125
  80. package/dist/migrations/add-decision-context.js.map +0 -1
  81. package/dist/migrations/add-help-system-tables.d.ts +0 -35
  82. package/dist/migrations/add-help-system-tables.d.ts.map +0 -1
  83. package/dist/migrations/add-help-system-tables.js +0 -206
  84. package/dist/migrations/add-help-system-tables.js.map +0 -1
  85. package/dist/migrations/add-table-prefixes.d.ts +0 -29
  86. package/dist/migrations/add-table-prefixes.d.ts.map +0 -1
  87. package/dist/migrations/add-table-prefixes.js +0 -150
  88. package/dist/migrations/add-table-prefixes.js.map +0 -1
  89. package/dist/migrations/add-task-dependencies.d.ts +0 -26
  90. package/dist/migrations/add-task-dependencies.d.ts.map +0 -1
  91. package/dist/migrations/add-task-dependencies.js +0 -94
  92. package/dist/migrations/add-task-dependencies.js.map +0 -1
  93. package/dist/migrations/add-task-tables.d.ts +0 -47
  94. package/dist/migrations/add-task-tables.d.ts.map +0 -1
  95. package/dist/migrations/add-task-tables.js +0 -285
  96. package/dist/migrations/add-task-tables.js.map +0 -1
  97. package/dist/migrations/add-token-tracking.d.ts +0 -28
  98. package/dist/migrations/add-token-tracking.d.ts.map +0 -1
  99. package/dist/migrations/add-token-tracking.js +0 -108
  100. package/dist/migrations/add-token-tracking.js.map +0 -1
  101. package/dist/migrations/add-v2.1.0-features.d.ts +0 -29
  102. package/dist/migrations/add-v2.1.0-features.d.ts.map +0 -1
  103. package/dist/migrations/add-v2.1.0-features.js +0 -198
  104. package/dist/migrations/add-v2.1.0-features.js.map +0 -1
  105. package/dist/migrations/add-v3.5.0-pruned-files.d.ts +0 -26
  106. package/dist/migrations/add-v3.5.0-pruned-files.d.ts.map +0 -1
  107. package/dist/migrations/add-v3.5.0-pruned-files.js +0 -107
  108. package/dist/migrations/add-v3.5.0-pruned-files.js.map +0 -1
  109. package/dist/migrations/index.d.ts +0 -112
  110. package/dist/migrations/index.d.ts.map +0 -1
  111. package/dist/migrations/index.js +0 -411
  112. package/dist/migrations/index.js.map +0 -1
  113. package/dist/migrations/knex/20251025020452_create_master_tables.d.ts.map +0 -1
  114. package/dist/migrations/knex/20251025020452_create_master_tables.js.map +0 -1
  115. package/dist/migrations/knex/20251025021152_create_transaction_tables.d.ts.map +0 -1
  116. package/dist/migrations/knex/20251025021152_create_transaction_tables.js.map +0 -1
  117. package/dist/migrations/knex/20251025021351_create_indexes.d.ts.map +0 -1
  118. package/dist/migrations/knex/20251025021351_create_indexes.js +0 -62
  119. package/dist/migrations/knex/20251025021351_create_indexes.js.map +0 -1
  120. package/dist/migrations/knex/20251025021416_seed_master_data.d.ts.map +0 -1
  121. package/dist/migrations/knex/20251025021416_seed_master_data.js +0 -58
  122. package/dist/migrations/knex/20251025021416_seed_master_data.js.map +0 -1
  123. package/dist/migrations/knex/20251025070349_create_views.d.ts.map +0 -1
  124. package/dist/migrations/knex/20251025070349_create_views.js.map +0 -1
  125. package/dist/migrations/knex/20251025081221_add_link_type_to_task_decision_links.d.ts.map +0 -1
  126. package/dist/migrations/knex/20251025081221_add_link_type_to_task_decision_links.js.map +0 -1
  127. package/dist/migrations/knex/20251025082220_fix_task_dependencies_columns.d.ts.map +0 -1
  128. package/dist/migrations/knex/20251025082220_fix_task_dependencies_columns.js.map +0 -1
  129. package/dist/migrations/knex/20251025090000_create_help_system_tables.d.ts.map +0 -1
  130. package/dist/migrations/knex/20251025090000_create_help_system_tables.js.map +0 -1
  131. package/dist/migrations/knex/20251025090100_seed_help_categories_and_use_cases.d.ts.map +0 -1
  132. package/dist/migrations/knex/20251025090100_seed_help_categories_and_use_cases.js.map +0 -1
  133. package/dist/migrations/knex/20251025100000_seed_help_metadata.d.ts.map +0 -1
  134. package/dist/migrations/knex/20251025100000_seed_help_metadata.js.map +0 -1
  135. package/dist/migrations/knex/20251025100100_seed_remaining_use_cases.d.ts.map +0 -1
  136. package/dist/migrations/knex/20251025100100_seed_remaining_use_cases.js.map +0 -1
  137. package/dist/migrations/knex/20251025120000_add_cascade_to_task_dependencies.d.ts.map +0 -1
  138. package/dist/migrations/knex/20251025120000_add_cascade_to_task_dependencies.js.map +0 -1
  139. package/dist/migrations/knex/20251027000000_add_agent_reuse_system.d.ts.map +0 -1
  140. package/dist/migrations/knex/20251027000000_add_agent_reuse_system.js.map +0 -1
  141. package/dist/migrations/knex/20251027010000_add_task_constraint_to_decision_context.d.ts.map +0 -1
  142. package/dist/migrations/knex/20251027010000_add_task_constraint_to_decision_context.js.map +0 -1
  143. package/dist/migrations/knex/20251027020000_update_agent_reusability.d.ts.map +0 -1
  144. package/dist/migrations/knex/20251027020000_update_agent_reusability.js.map +0 -1
  145. package/dist/migrations/migrate-decisions-to-tasks.d.ts +0 -61
  146. package/dist/migrations/migrate-decisions-to-tasks.d.ts.map +0 -1
  147. package/dist/migrations/migrate-decisions-to-tasks.js +0 -442
  148. package/dist/migrations/migrate-decisions-to-tasks.js.map +0 -1
  149. package/dist/migrations/seed-help-data.d.ts +0 -48
  150. package/dist/migrations/seed-help-data.d.ts.map +0 -1
  151. package/dist/migrations/seed-help-data.js +0 -1466
  152. package/dist/migrations/seed-help-data.js.map +0 -1
  153. package/dist/migrations/seed-tool-metadata.d.ts +0 -24
  154. package/dist/migrations/seed-tool-metadata.d.ts.map +0 -1
  155. package/dist/migrations/seed-tool-metadata.js +0 -392
  156. package/dist/migrations/seed-tool-metadata.js.map +0 -1
  157. package/dist/migrations/v3.6.0-help-system-refactor.d.ts +0 -46
  158. package/dist/migrations/v3.6.0-help-system-refactor.d.ts.map +0 -1
  159. package/dist/migrations/v3.6.0-help-system-refactor.js +0 -223
  160. package/dist/migrations/v3.6.0-help-system-refactor.js.map +0 -1
  161. package/dist/tests/migrations/test-v3.2-migration.d.ts +0 -6
  162. package/dist/tests/migrations/test-v3.2-migration.d.ts.map +0 -1
  163. package/dist/tests/migrations/test-v3.2-migration.js +0 -191
  164. package/dist/tests/migrations/test-v3.2-migration.js.map +0 -1
  165. /package/dist/migrations/knex/{20251025020452_create_master_tables.d.ts → bootstrap/20251025020452_create_master_tables.d.ts} +0 -0
  166. /package/dist/migrations/knex/{20251025021152_create_transaction_tables.d.ts → bootstrap/20251025021152_create_transaction_tables.d.ts} +0 -0
  167. /package/dist/migrations/knex/{20251025021351_create_indexes.d.ts → bootstrap/20251025021351_create_indexes.d.ts} +0 -0
  168. /package/dist/migrations/knex/{20251025021416_seed_master_data.d.ts → bootstrap/20251025021416_seed_master_data.d.ts} +0 -0
  169. /package/dist/migrations/knex/{20251025070349_create_views.d.ts → bootstrap/20251025070349_create_views.d.ts} +0 -0
  170. /package/dist/migrations/knex/{20251025070349_create_views.js → bootstrap/20251025070349_create_views.js} +0 -0
  171. /package/dist/migrations/knex/{20251025081221_add_link_type_to_task_decision_links.d.ts → enhancements/20251025081221_add_link_type_to_task_decision_links.d.ts} +0 -0
  172. /package/dist/migrations/knex/{20251025081221_add_link_type_to_task_decision_links.js → enhancements/20251025081221_add_link_type_to_task_decision_links.js} +0 -0
  173. /package/dist/migrations/knex/{20251025082220_fix_task_dependencies_columns.d.ts → enhancements/20251025082220_fix_task_dependencies_columns.d.ts} +0 -0
  174. /package/dist/migrations/knex/{20251025082220_fix_task_dependencies_columns.js → enhancements/20251025082220_fix_task_dependencies_columns.js} +0 -0
  175. /package/dist/migrations/knex/{20251025090000_create_help_system_tables.d.ts → enhancements/20251025090000_create_help_system_tables.d.ts} +0 -0
  176. /package/dist/migrations/knex/{20251025090000_create_help_system_tables.js → enhancements/20251025090000_create_help_system_tables.js} +0 -0
  177. /package/dist/migrations/knex/{20251025090100_seed_help_categories_and_use_cases.d.ts → enhancements/20251025090100_seed_help_categories_and_use_cases.d.ts} +0 -0
  178. /package/dist/migrations/knex/{20251025090100_seed_help_categories_and_use_cases.js → enhancements/20251025090100_seed_help_categories_and_use_cases.js} +0 -0
  179. /package/dist/migrations/knex/{20251025100000_seed_help_metadata.d.ts → enhancements/20251025100000_seed_help_metadata.d.ts} +0 -0
  180. /package/dist/migrations/knex/{20251025100000_seed_help_metadata.js → enhancements/20251025100000_seed_help_metadata.js} +0 -0
  181. /package/dist/migrations/knex/{20251025100100_seed_remaining_use_cases.d.ts → enhancements/20251025100100_seed_remaining_use_cases.d.ts} +0 -0
  182. /package/dist/migrations/knex/{20251025100100_seed_remaining_use_cases.js → enhancements/20251025100100_seed_remaining_use_cases.js} +0 -0
  183. /package/dist/migrations/knex/{20251025120000_add_cascade_to_task_dependencies.d.ts → enhancements/20251025120000_add_cascade_to_task_dependencies.d.ts} +0 -0
  184. /package/dist/migrations/knex/{20251025120000_add_cascade_to_task_dependencies.js → enhancements/20251025120000_add_cascade_to_task_dependencies.js} +0 -0
  185. /package/dist/migrations/knex/{20251027000000_add_agent_reuse_system.d.ts → enhancements/20251027000000_add_agent_reuse_system.d.ts} +0 -0
  186. /package/dist/migrations/knex/{20251027000000_add_agent_reuse_system.js → enhancements/20251027000000_add_agent_reuse_system.js} +0 -0
  187. /package/dist/migrations/knex/{20251027010000_add_task_constraint_to_decision_context.d.ts → enhancements/20251027010000_add_task_constraint_to_decision_context.d.ts} +0 -0
  188. /package/dist/migrations/knex/{20251027010000_add_task_constraint_to_decision_context.js → enhancements/20251027010000_add_task_constraint_to_decision_context.js} +0 -0
  189. /package/dist/migrations/knex/{20251027020000_update_agent_reusability.d.ts → enhancements/20251027020000_update_agent_reusability.d.ts} +0 -0
  190. /package/dist/migrations/knex/{20251027020000_update_agent_reusability.js → enhancements/20251027020000_update_agent_reusability.js} +0 -0
@@ -1,442 +0,0 @@
1
- /**
2
- * Migration: Convert Task-Like Decisions to Tasks
3
- *
4
- * This migration detects decisions being used for task/todo tracking
5
- * and migrates them to the dedicated task management system.
6
- *
7
- * Features:
8
- * - Heuristic detection of task-like decisions
9
- * - Dry-run mode to preview before executing
10
- * - Confidence scoring for each detection
11
- * - Links tasks to original decisions for traceability
12
- * - Optional deprecation of original decisions
13
- *
14
- * Detection Heuristics:
15
- * - Keys containing: task_, _task, todo_, _todo, wip_, _wip, implement_, fix_
16
- * - Tags containing: task, todo, in_progress, wip, blocked, done
17
- * - Values containing: TODO:, WIP:, DONE:, BLOCKED:, [ ], [x]
18
- * - Status indicators in value (e.g., "Status: in_progress")
19
- */
20
- /**
21
- * Extract status from decision value
22
- *
23
- * Patterns:
24
- * - "Status: in_progress"
25
- * - "TODO: Description"
26
- * - "WIP: Description"
27
- * - "DONE: Description"
28
- * - "BLOCKED: Description"
29
- * - "[x] Description" (done)
30
- * - "[ ] Description" (todo)
31
- */
32
- function extractStatus(value) {
33
- const valueLower = value.toLowerCase();
34
- // Check for explicit status markers
35
- if (valueLower.includes('status:')) {
36
- const statusMatch = valueLower.match(/status:\s*(\w+)/);
37
- if (statusMatch) {
38
- const status = statusMatch[1];
39
- if (status.includes('progress') || status === 'wip')
40
- return 'in_progress';
41
- if (status.includes('review') || status.includes('waiting'))
42
- return 'waiting_review';
43
- if (status === 'blocked')
44
- return 'blocked';
45
- if (status === 'done' || status === 'complete')
46
- return 'done';
47
- if (status === 'todo' || status === 'pending')
48
- return 'todo';
49
- }
50
- }
51
- // Check for prefix markers
52
- if (valueLower.startsWith('wip:') || valueLower.startsWith('in progress:'))
53
- return 'in_progress';
54
- if (valueLower.startsWith('done:') || valueLower.startsWith('completed:'))
55
- return 'done';
56
- if (valueLower.startsWith('blocked:'))
57
- return 'blocked';
58
- if (valueLower.startsWith('todo:') || valueLower.startsWith('pending:'))
59
- return 'todo';
60
- if (valueLower.startsWith('review:') || valueLower.startsWith('waiting:'))
61
- return 'waiting_review';
62
- // Check for markdown checkboxes
63
- if (value.trim().startsWith('[x]') || value.trim().startsWith('[X]'))
64
- return 'done';
65
- if (value.trim().startsWith('[ ]'))
66
- return 'todo';
67
- // Default to todo
68
- return 'todo';
69
- }
70
- /**
71
- * Extract priority from decision value or tags
72
- */
73
- function extractPriority(value, tags) {
74
- const valueLower = value.toLowerCase();
75
- const allTags = tags.join(',').toLowerCase();
76
- // Check for explicit priority markers
77
- if (valueLower.includes('priority:') || valueLower.includes('p:')) {
78
- if (valueLower.includes('critical') || valueLower.includes('p0') || valueLower.includes('p:0'))
79
- return 'critical';
80
- if (valueLower.includes('high') || valueLower.includes('p1') || valueLower.includes('p:1'))
81
- return 'high';
82
- if (valueLower.includes('medium') || valueLower.includes('p2') || valueLower.includes('p:2'))
83
- return 'medium';
84
- if (valueLower.includes('low') || valueLower.includes('p3') || valueLower.includes('p:3'))
85
- return 'low';
86
- }
87
- // Check tags
88
- if (allTags.includes('critical') || allTags.includes('urgent'))
89
- return 'critical';
90
- if (allTags.includes('high') || allTags.includes('important'))
91
- return 'high';
92
- if (allTags.includes('low'))
93
- return 'low';
94
- // Default to medium
95
- return 'medium';
96
- }
97
- /**
98
- * Clean task title from decision key
99
- *
100
- * Removes prefixes like "task_", "todo_", "wip_"
101
- * Converts snake_case to Title Case
102
- */
103
- function cleanTaskTitle(key) {
104
- // Remove common prefixes
105
- let cleaned = key
106
- .replace(/^task_/i, '')
107
- .replace(/^todo_/i, '')
108
- .replace(/^wip_/i, '')
109
- .replace(/^implement_/i, '')
110
- .replace(/^fix_/i, '')
111
- .replace(/_task$/i, '')
112
- .replace(/_todo$/i, '');
113
- // Convert snake_case to Title Case
114
- cleaned = cleaned
115
- .split('_')
116
- .map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
117
- .join(' ');
118
- return cleaned;
119
- }
120
- /**
121
- * Extract description from decision value
122
- *
123
- * Removes status prefixes and markers
124
- */
125
- function extractDescription(value) {
126
- let description = value;
127
- // Remove status prefixes
128
- description = description
129
- .replace(/^(TODO|WIP|DONE|BLOCKED|REVIEW|WAITING|STATUS):\s*/i, '')
130
- .replace(/^Status:\s*\w+\s*-?\s*/i, '')
131
- .replace(/^\[[ xX]\]\s*/, '');
132
- // Trim
133
- description = description.trim();
134
- return description;
135
- }
136
- /**
137
- * Detect if a decision is task-like
138
- *
139
- * @param key - Decision key
140
- * @param value - Decision value
141
- * @param tags - Decision tags
142
- * @returns Confidence score (0-100) and reasons
143
- */
144
- function detectTaskLikeDecision(key, value, tags) {
145
- let confidence = 0;
146
- const reasons = [];
147
- const keyLower = key.toLowerCase();
148
- const valueLower = value.toLowerCase();
149
- const allTags = tags.join(',').toLowerCase();
150
- // Key pattern matching (high confidence)
151
- if (keyLower.includes('task_') || keyLower.includes('_task')) {
152
- confidence += 30;
153
- reasons.push('Key contains "task"');
154
- }
155
- if (keyLower.includes('todo_') || keyLower.includes('_todo')) {
156
- confidence += 30;
157
- reasons.push('Key contains "todo"');
158
- }
159
- if (keyLower.includes('wip_') || keyLower.includes('_wip')) {
160
- confidence += 25;
161
- reasons.push('Key contains "wip"');
162
- }
163
- if (keyLower.startsWith('implement_') || keyLower.startsWith('fix_')) {
164
- confidence += 20;
165
- reasons.push('Key starts with "implement" or "fix"');
166
- }
167
- // Tag matching (high confidence)
168
- if (allTags.includes('task')) {
169
- confidence += 25;
170
- reasons.push('Has "task" tag');
171
- }
172
- if (allTags.includes('todo')) {
173
- confidence += 25;
174
- reasons.push('Has "todo" tag');
175
- }
176
- if (allTags.includes('in_progress') || allTags.includes('wip')) {
177
- confidence += 20;
178
- reasons.push('Has "in_progress" or "wip" tag');
179
- }
180
- if (allTags.includes('blocked')) {
181
- confidence += 20;
182
- reasons.push('Has "blocked" tag');
183
- }
184
- if (allTags.includes('done') && allTags.includes('task')) {
185
- confidence += 15;
186
- reasons.push('Has both "done" and "task" tags');
187
- }
188
- // Value pattern matching (medium confidence)
189
- if (valueLower.includes('status:')) {
190
- confidence += 15;
191
- reasons.push('Value contains "Status:"');
192
- }
193
- if (valueLower.startsWith('todo:') || valueLower.startsWith('wip:') || valueLower.startsWith('done:')) {
194
- confidence += 15;
195
- reasons.push('Value starts with status prefix');
196
- }
197
- if (value.trim().match(/^\[[ xX]\]/)) {
198
- confidence += 15;
199
- reasons.push('Value starts with markdown checkbox');
200
- }
201
- if (valueLower.includes('blocked:')) {
202
- confidence += 15;
203
- reasons.push('Value contains "blocked:"');
204
- }
205
- // Cap at 100
206
- confidence = Math.min(100, confidence);
207
- return { confidence, reasons };
208
- }
209
- /**
210
- * Detect all task-like decisions in the database
211
- *
212
- * @param db - Database connection
213
- * @param minConfidence - Minimum confidence threshold (0-100, default: 50)
214
- * @returns Array of decision-task mappings
215
- */
216
- export function detectTaskLikeDecisions(db, minConfidence = 50) {
217
- const mappings = [];
218
- try {
219
- // Query all active decisions with their tags and layers
220
- const decisions = db.prepare(`
221
- SELECT
222
- ck.key as decision_key,
223
- d.value,
224
- l.name as layer,
225
- d.agent_id,
226
- a.name as agent_name,
227
- GROUP_CONCAT(t.name, ',') as tags
228
- FROM t_decisions d
229
- JOIN m_context_keys ck ON d.key_id = ck.id
230
- LEFT JOIN m_layers l ON d.layer_id = l.id
231
- LEFT JOIN m_agents a ON d.agent_id = a.id
232
- LEFT JOIN t_decision_tags dt ON d.key_id = dt.decision_key_id
233
- LEFT JOIN m_tags t ON dt.tag_id = t.id
234
- WHERE d.status = 1 -- active only
235
- GROUP BY ck.key
236
- `).all();
237
- for (const decision of decisions) {
238
- const tags = decision.tags ? decision.tags.split(',').filter(t => t.trim()) : [];
239
- // Detect if task-like
240
- const { confidence, reasons } = detectTaskLikeDecision(decision.decision_key, decision.value, tags);
241
- if (confidence >= minConfidence) {
242
- const mapping = {
243
- decisionKey: decision.decision_key,
244
- taskTitle: cleanTaskTitle(decision.decision_key),
245
- description: extractDescription(decision.value),
246
- status: extractStatus(decision.value),
247
- priority: extractPriority(decision.value, tags),
248
- tags: tags.filter(t => !['task', 'todo', 'wip', 'in_progress', 'blocked', 'done'].includes(t.toLowerCase())),
249
- layer: decision.layer,
250
- assignee: decision.agent_name,
251
- confidence,
252
- detectionReasons: reasons,
253
- };
254
- mappings.push(mapping);
255
- }
256
- }
257
- // Sort by confidence (highest first)
258
- mappings.sort((a, b) => b.confidence - a.confidence);
259
- return mappings;
260
- }
261
- catch (error) {
262
- const message = error instanceof Error ? error.message : String(error);
263
- throw new Error(`Failed to detect task-like decisions: ${message}`);
264
- }
265
- }
266
- /**
267
- * Migrate decisions to tasks
268
- *
269
- * @param db - Database connection
270
- * @param dryRun - If true, only preview without executing (default: true)
271
- * @param minConfidence - Minimum confidence threshold (default: 50)
272
- * @param deprecateOriginal - If true, mark original decisions as deprecated (default: false)
273
- * @returns Migration result with mappings
274
- */
275
- export function migrateDecisionsToTasks(db, dryRun = true, minConfidence = 50, deprecateOriginal = false) {
276
- const details = [];
277
- try {
278
- // Detect task-like decisions
279
- const mappings = detectTaskLikeDecisions(db, minConfidence);
280
- if (mappings.length === 0) {
281
- return {
282
- success: true,
283
- message: 'No task-like decisions detected',
284
- details: [`Minimum confidence threshold: ${minConfidence}%`],
285
- mappings: [],
286
- };
287
- }
288
- details.push(`Detected ${mappings.length} task-like decisions (confidence ≥ ${minConfidence}%)`);
289
- if (dryRun) {
290
- details.push('DRY-RUN MODE: No changes will be made');
291
- details.push('');
292
- details.push('Migration preview:');
293
- mappings.forEach((mapping, i) => {
294
- details.push('');
295
- details.push(`${i + 1}. Decision: ${mapping.decisionKey} (${mapping.confidence}% confidence)`);
296
- details.push(` → Task: ${mapping.taskTitle}`);
297
- details.push(` → Status: ${mapping.status}`);
298
- details.push(` → Priority: ${mapping.priority}`);
299
- if (mapping.tags.length > 0) {
300
- details.push(` → Tags: ${mapping.tags.join(', ')}`);
301
- }
302
- if (mapping.layer) {
303
- details.push(` → Layer: ${mapping.layer}`);
304
- }
305
- if (mapping.assignee) {
306
- details.push(` → Assignee: ${mapping.assignee}`);
307
- }
308
- details.push(` → Detection reasons: ${mapping.detectionReasons.join(', ')}`);
309
- });
310
- return {
311
- success: true,
312
- message: `Dry-run complete: ${mappings.length} decisions would be migrated`,
313
- details,
314
- mappings,
315
- };
316
- }
317
- // Execute migration in transaction
318
- db.exec('BEGIN TRANSACTION');
319
- try {
320
- const createdTasks = [];
321
- for (const mapping of mappings) {
322
- // 1. Get IDs for foreign keys
323
- const statusId = db.prepare('SELECT id FROM m_task_statuses WHERE name = ?').get(mapping.status);
324
- if (!statusId) {
325
- throw new Error(`Invalid status: ${mapping.status}`);
326
- }
327
- let layerId = null;
328
- if (mapping.layer) {
329
- const layer = db.prepare('SELECT id FROM m_layers WHERE name = ?').get(mapping.layer);
330
- layerId = layer ? layer.id : null;
331
- }
332
- let assigneeId = null;
333
- if (mapping.assignee) {
334
- const agent = db.prepare('SELECT id FROM m_agents WHERE name = ?').get(mapping.assignee);
335
- assigneeId = agent ? agent.id : null;
336
- }
337
- // Priority mapping
338
- const priorityMap = {
339
- low: 1,
340
- medium: 2,
341
- high: 3,
342
- critical: 4,
343
- };
344
- const priority = priorityMap[mapping.priority] || 2;
345
- // 2. Insert task
346
- const taskResult = db.prepare(`
347
- INSERT INTO t_tasks (title, status_id, priority, assigned_agent_id, layer_id, created_ts, updated_ts)
348
- VALUES (?, ?, ?, ?, ?, unixepoch(), unixepoch())
349
- `).run(mapping.taskTitle, statusId.id, priority, assigneeId, layerId);
350
- const taskId = taskResult.lastInsertRowid;
351
- createdTasks.push(taskId);
352
- // 3. Insert task details (description)
353
- db.prepare(`
354
- INSERT INTO t_task_details (task_id, description)
355
- VALUES (?, ?)
356
- `).run(taskId, mapping.description);
357
- // 4. Insert task tags
358
- for (const tagName of mapping.tags) {
359
- // Get or create tag
360
- db.prepare('INSERT OR IGNORE INTO m_tags (name) VALUES (?)').run(tagName);
361
- const tag = db.prepare('SELECT id FROM m_tags WHERE name = ?').get(tagName);
362
- db.prepare(`
363
- INSERT INTO t_task_tags (task_id, tag_id)
364
- VALUES (?, ?)
365
- `).run(taskId, tag.id);
366
- }
367
- // 5. Link task to original decision
368
- const decisionKey = db.prepare('SELECT id FROM m_context_keys WHERE key = ?').get(mapping.decisionKey);
369
- if (decisionKey) {
370
- db.prepare(`
371
- INSERT INTO t_task_decision_links (task_id, decision_key_id)
372
- VALUES (?, ?)
373
- `).run(taskId, decisionKey.id);
374
- }
375
- details.push(`✓ Created task ${taskId}: ${mapping.taskTitle} (from decision: ${mapping.decisionKey})`);
376
- // 6. Optionally deprecate original decision
377
- if (deprecateOriginal && decisionKey) {
378
- db.prepare(`
379
- UPDATE t_decisions
380
- SET status = 2 -- deprecated
381
- WHERE key_id = ?
382
- `).run(decisionKey.id);
383
- details.push(` → Deprecated original decision: ${mapping.decisionKey}`);
384
- }
385
- }
386
- db.exec('COMMIT');
387
- return {
388
- success: true,
389
- message: `Successfully migrated ${createdTasks.length} decisions to tasks`,
390
- details,
391
- mappings,
392
- };
393
- }
394
- catch (error) {
395
- db.exec('ROLLBACK');
396
- throw error;
397
- }
398
- }
399
- catch (error) {
400
- const message = error instanceof Error ? error.message : String(error);
401
- return {
402
- success: false,
403
- message: `Migration failed: ${message}`,
404
- details,
405
- };
406
- }
407
- }
408
- /**
409
- * Get migration info
410
- */
411
- export function getMigrationInfo() {
412
- return `
413
- Migration: Convert Task-Like Decisions to Tasks
414
-
415
- This migration detects decisions being used for task/todo tracking
416
- and migrates them to the dedicated task management system.
417
-
418
- Detection Heuristics:
419
- - Keys containing: task_, _task, todo_, _todo, wip_, _wip, implement_, fix_
420
- - Tags containing: task, todo, in_progress, wip, blocked, done
421
- - Values containing: TODO:, WIP:, DONE:, BLOCKED:, Status:, [ ], [x]
422
-
423
- Features:
424
- - Dry-run mode to preview before executing
425
- - Confidence scoring (0-100%) for each detection
426
- - Links tasks to original decisions for traceability
427
- - Optional deprecation of original decisions
428
- - Adjustable confidence threshold
429
-
430
- Usage:
431
- 1. Dry-run: migrateDecisionsToTasks(db, true, 50, false)
432
- 2. Execute: migrateDecisionsToTasks(db, false, 70, true)
433
- - minConfidence=70: Only migrate high-confidence detections
434
- - deprecateOriginal=true: Mark original decisions as deprecated
435
-
436
- This migration is safe and reversible via:
437
- - Original decisions remain linked to tasks
438
- - Can be re-run with different confidence thresholds
439
- - Hard-delete function available for manual cleanup
440
- `.trim();
441
- }
442
- //# sourceMappingURL=migrate-decisions-to-tasks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"migrate-decisions-to-tasks.js","sourceRoot":"","sources":["../../src/migrations/migrate-decisions-to-tasks.ts"],"names":[],"mappings":"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"}
@@ -1,48 +0,0 @@
1
- /**
2
- * Migration: Seed Help System Data - All Complexity Levels (v3.6.0)
3
- *
4
- * Seeds the help system database with 41 use-cases covering all 6 use-case
5
- * categories from the taxonomy:
6
- * - 18 basic complexity use-cases (single action)
7
- * - 15 intermediate complexity use-cases (2-3 actions)
8
- * - 8 advanced complexity use-cases (4-6+ actions, multi-tool orchestration)
9
- *
10
- * Distribution by Category:
11
- * - task_management: 9 use-cases (4 basic, 3 intermediate, 2 advanced)
12
- * - decision_tracking: 8 use-cases (4 basic, 3 intermediate, 1 advanced)
13
- * - file_tracking: 6 use-cases (3 basic, 2 intermediate, 1 advanced)
14
- * - constraint_management: 4 use-cases (2 basic, 2 intermediate, 0 advanced)
15
- * - cross_tool_workflow: 8 use-cases (2 basic, 3 intermediate, 3 advanced)
16
- * - configuration: 6 use-cases (3 basic, 2 intermediate, 1 advanced)
17
- *
18
- * Each use-case includes:
19
- * - Title: Clear, actionable description
20
- * - Complexity: 'basic' (single action), 'intermediate' (2-3 actions), or 'advanced' (4-6+ actions)
21
- * - Description: Detailed explanation
22
- * - Full Example: JSON with action and params (or complex multi-step scenario for advanced)
23
- * - Action Sequence: JSON array of action names
24
- * - Expected Outcome (intermediate/advanced): What success looks like
25
- * - Common Pitfalls (intermediate): Typical mistakes to avoid
26
- * - Related Tools (intermediate): Cross-tool dependencies
27
- * - Real-world scenarios (advanced): Production use-case context
28
- */
29
- import { Database } from 'better-sqlite3';
30
- interface MigrationResult {
31
- success: boolean;
32
- message: string;
33
- details?: string[];
34
- }
35
- /**
36
- * Check if seed data is needed
37
- */
38
- export declare function needsHelpDataSeeding(db: Database): boolean;
39
- /**
40
- * Run the seed data migration
41
- */
42
- export declare function seedHelpData(db: Database): MigrationResult;
43
- /**
44
- * Get migration info
45
- */
46
- export declare function getHelpDataSeedingInfo(): string;
47
- export {};
48
- //# sourceMappingURL=seed-help-data.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"seed-help-data.d.ts","sourceRoot":"","sources":["../../src/migrations/seed-help-data.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,UAAU,eAAe;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAO1D;AA43CD;;GAEG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,QAAQ,GAAG,eAAe,CAoD1D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAoE/C"}