sqlew 4.1.1 → 4.1.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 (117) hide show
  1. package/CHANGELOG.md +1830 -1817
  2. package/dist/database/initialization/schema-version.js +1 -1
  3. package/dist/database/initialization/schema-version.js.map +1 -1
  4. package/dist/database/migrations/v4/20251126000000_v4_bootstrap.js +32 -32
  5. package/dist/database/migrations/v4/20251225000000_v4_seed_missing_help_data.d.ts +14 -0
  6. package/dist/database/migrations/v4/20251225000000_v4_seed_missing_help_data.d.ts.map +1 -0
  7. package/dist/database/migrations/v4/20251225000000_v4_seed_missing_help_data.js +201 -0
  8. package/dist/database/migrations/v4/20251225000000_v4_seed_missing_help_data.js.map +1 -0
  9. package/dist/database/migrations/v4/20251225000001_v4_fix_help_params.d.ts +12 -0
  10. package/dist/database/migrations/v4/20251225000001_v4_fix_help_params.d.ts.map +1 -0
  11. package/dist/database/migrations/v4/20251225000001_v4_fix_help_params.js +61 -0
  12. package/dist/database/migrations/v4/20251225000001_v4_fix_help_params.js.map +1 -0
  13. package/dist/server/setup.d.ts.map +1 -1
  14. package/dist/server/setup.js +28 -6
  15. package/dist/server/setup.js.map +1 -1
  16. package/dist/tests/database/sql-dump/table-ordering.test.js +6 -1
  17. package/dist/tests/database/sql-dump/table-ordering.test.js.map +1 -1
  18. package/dist/tests/docker/native/constraint-operations.test.js +74 -137
  19. package/dist/tests/docker/native/constraint-operations.test.js.map +1 -1
  20. package/dist/tests/docker/native/decision-operations.test.js +52 -40
  21. package/dist/tests/docker/native/decision-operations.test.js.map +1 -1
  22. package/dist/tests/docker/native/help-system.test.d.ts +3 -2
  23. package/dist/tests/docker/native/help-system.test.d.ts.map +1 -1
  24. package/dist/tests/docker/native/help-system.test.js +90 -80
  25. package/dist/tests/docker/native/help-system.test.js.map +1 -1
  26. package/dist/tests/docker/native/suggest-tool.test.d.ts +2 -2
  27. package/dist/tests/docker/native/suggest-tool.test.js +130 -63
  28. package/dist/tests/docker/native/suggest-tool.test.js.map +1 -1
  29. package/dist/tests/docker/native/task-operations.test.js +9 -19
  30. package/dist/tests/docker/native/task-operations.test.js.map +1 -1
  31. package/dist/tests/docker/native/test-harness.d.ts.map +1 -1
  32. package/dist/tests/docker/native/test-harness.js +6 -5
  33. package/dist/tests/docker/native/test-harness.js.map +1 -1
  34. package/dist/tests/feature/decision/batch-validation-comprehensive.test.js +7 -8
  35. package/dist/tests/feature/decision/batch-validation-comprehensive.test.js.map +1 -1
  36. package/dist/tests/feature/decision/context-modular.test.js +1 -3
  37. package/dist/tests/feature/decision/context-modular.test.js.map +1 -1
  38. package/dist/tests/feature/help/help-system.test.d.ts +1 -13
  39. package/dist/tests/feature/help/help-system.test.d.ts.map +1 -1
  40. package/dist/tests/feature/help/help-system.test.js +107 -331
  41. package/dist/tests/feature/help/help-system.test.js.map +1 -1
  42. package/dist/tests/feature/task/auto-pruning-decision-link.test.js +2 -4
  43. package/dist/tests/feature/task/auto-pruning-decision-link.test.js.map +1 -1
  44. package/dist/tests/integration/all-features.standalone.js +1 -3
  45. package/dist/tests/integration/all-features.standalone.js.map +1 -1
  46. package/dist/tests/migrations/test-all-versions-real.js +2 -4
  47. package/dist/tests/migrations/test-all-versions-real.js.map +1 -1
  48. package/dist/tests/migrations/test-all-versions.js +3 -7
  49. package/dist/tests/migrations/test-all-versions.js.map +1 -1
  50. package/dist/tests/unit/universal-knex.test.js +3 -0
  51. package/dist/tests/unit/universal-knex.test.js.map +1 -1
  52. package/dist/tests/unit/utils/config-loader.test.js +130 -191
  53. package/dist/tests/unit/utils/config-loader.test.js.map +1 -1
  54. package/dist/tests/unit/utils/project-detector.test.js +24 -0
  55. package/dist/tests/unit/utils/project-detector.test.js.map +1 -1
  56. package/dist/tests/unit/validation/parameter-validation.test.js +2 -2
  57. package/dist/tests/unit/validation/parameter-validation.test.js.map +1 -1
  58. package/dist/tests/unit/validation/policy-validation.test.js +1 -3
  59. package/dist/tests/unit/validation/policy-validation.test.js.map +1 -1
  60. package/dist/tools/files/help/example.js +8 -8
  61. package/dist/tools/files/help/example.js.map +1 -1
  62. package/dist/tools/files/help/help.js +4 -4
  63. package/dist/tools/files/help/help.js.map +1 -1
  64. package/dist/tools/files/internal/validation.d.ts.map +1 -1
  65. package/dist/tools/files/internal/validation.js +1 -2
  66. package/dist/tools/files/internal/validation.js.map +1 -1
  67. package/dist/tools/help-queries.d.ts.map +1 -1
  68. package/dist/tools/help-queries.js +57 -27
  69. package/dist/tools/help-queries.js.map +1 -1
  70. package/dist/tools/suggest/actions/by-tags.d.ts.map +1 -1
  71. package/dist/tools/suggest/actions/by-tags.js +3 -1
  72. package/dist/tools/suggest/actions/by-tags.js.map +1 -1
  73. package/dist/tools/suggest/help/constraint-help.js +2 -2
  74. package/dist/tools/suggest/help/constraint-help.js.map +1 -1
  75. package/dist/tools/tasks/help/example.d.ts.map +1 -1
  76. package/dist/tools/tasks/help/example.js +10 -0
  77. package/dist/tools/tasks/help/example.js.map +1 -1
  78. package/dist/tools/tasks/help/help.d.ts.map +1 -1
  79. package/dist/tools/tasks/help/help.js +10 -0
  80. package/dist/tools/tasks/help/help.js.map +1 -1
  81. package/dist/tools/use_case/actions/search.js +5 -5
  82. package/dist/tools/use_case/actions/search.js.map +1 -1
  83. package/dist/tools/use_case/help/example.d.ts +2 -7
  84. package/dist/tools/use_case/help/example.d.ts.map +1 -1
  85. package/dist/tools/use_case/help/example.js +24 -37
  86. package/dist/tools/use_case/help/example.js.map +1 -1
  87. package/dist/tools/use_case/help/help.js +1 -1
  88. package/dist/tools/use_case/help/help.js.map +1 -1
  89. package/dist/types.d.ts +2 -2
  90. package/dist/types.d.ts.map +1 -1
  91. package/dist/utils/action-specs/decision-specs.d.ts.map +1 -1
  92. package/dist/utils/action-specs/decision-specs.js +2 -3
  93. package/dist/utils/action-specs/decision-specs.js.map +1 -1
  94. package/dist/utils/action-specs/file-specs.d.ts.map +1 -1
  95. package/dist/utils/action-specs/file-specs.js +4 -6
  96. package/dist/utils/action-specs/file-specs.js.map +1 -1
  97. package/dist/utils/db-aggregations.d.ts.map +1 -1
  98. package/dist/utils/db-aggregations.js +44 -1
  99. package/dist/utils/db-aggregations.js.map +1 -1
  100. package/dist/utils/project-detector.js +21 -6
  101. package/dist/utils/project-detector.js.map +1 -1
  102. package/dist/utils/suggestion-scorer.d.ts.map +1 -1
  103. package/dist/utils/suggestion-scorer.js +5 -0
  104. package/dist/utils/suggestion-scorer.js.map +1 -1
  105. package/package.json +87 -123
  106. package/dist/tests/feature/vcs/git-aware-completion.test.d.ts +0 -6
  107. package/dist/tests/feature/vcs/git-aware-completion.test.d.ts.map +0 -1
  108. package/dist/tests/feature/vcs/git-aware-completion.test.js +0 -197
  109. package/dist/tests/feature/vcs/git-aware-completion.test.js.map +0 -1
  110. package/dist/tests/feature/vcs/two-step-git-completion.test.d.ts +0 -6
  111. package/dist/tests/feature/vcs/two-step-git-completion.test.d.ts.map +0 -1
  112. package/dist/tests/feature/vcs/two-step-git-completion.test.js +0 -305
  113. package/dist/tests/feature/vcs/two-step-git-completion.test.js.map +0 -1
  114. package/dist/tests/feature/vcs/vcs-staging.test.d.ts +0 -6
  115. package/dist/tests/feature/vcs/vcs-staging.test.d.ts.map +0 -1
  116. package/dist/tests/feature/vcs/vcs-staging.test.js +0 -142
  117. package/dist/tests/feature/vcs/vcs-staging.test.js.map +0 -1
@@ -1,10 +1,11 @@
1
1
  /**
2
2
  * Help System - Native RDBMS Integration Tests
3
3
  *
4
- * Tests help system tables (m_help_tools, m_help_actions, t_help_action_examples,
5
- * t_help_use_cases) on fresh MySQL, MariaDB, and PostgreSQL installations.
4
+ * Tests help system tables (v4_help_tools, v4_help_actions, v4_help_action_examples,
5
+ * v4_help_use_cases, v4_help_use_case_cats) on fresh MySQL, MariaDB, and PostgreSQL installations.
6
6
  *
7
7
  * Task #534: Refactor to use direct Knex operations instead of MCP tool functions
8
+ * v4 migration: Updated all table/column names to v4 schema (2025-12-25)
8
9
  */
9
10
  import { describe, it } from 'node:test';
10
11
  import assert from 'node:assert';
@@ -19,9 +20,9 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
19
20
  projectId = project.id;
20
21
  });
21
22
  // ============================================================================
22
- // m_help_tools - Tool Registry
23
+ // v4_help_tools - Tool Registry
23
24
  // ============================================================================
24
- describe('m_help_tools table', () => {
25
+ describe('v4_help_tools table', () => {
25
26
  it('should have decision tool registered', async () => {
26
27
  const db = getDb();
27
28
  const tool = await db('v4_help_tools')
@@ -75,9 +76,9 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
75
76
  });
76
77
  });
77
78
  // ============================================================================
78
- // m_help_actions - Action Documentation
79
+ // v4_help_actions - Action Documentation
79
80
  // ============================================================================
80
- describe('m_help_actions table', () => {
81
+ describe('v4_help_actions table', () => {
81
82
  it('should have decision.set action documented', async () => {
82
83
  const db = getDb();
83
84
  const action = await db('v4_help_actions')
@@ -86,9 +87,9 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
86
87
  assert.ok(action, 'decision.set action should be documented');
87
88
  assert.strictEqual(action.action_name, 'set');
88
89
  assert.ok(action.description, 'Action should have description');
89
- // Parameters are stored in t_help_action_params table
90
+ // Parameters are stored in v4_help_action_params table
90
91
  const params = await db('v4_help_action_params')
91
- .where({ action_id: action.action_id })
92
+ .where({ action_id: action.id })
92
93
  .select('*');
93
94
  assert.ok(Array.isArray(params), 'Parameters should be an array');
94
95
  assert.ok(params.length > 0, 'Should have at least one parameter');
@@ -105,9 +106,9 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
105
106
  assert.ok(action, 'task.create action should be documented');
106
107
  assert.strictEqual(action.action_name, 'create');
107
108
  assert.ok(action.description, 'Action should have description');
108
- // Parameters are stored in t_help_action_params table
109
+ // Parameters are stored in v4_help_action_params table
109
110
  const params = await db('v4_help_action_params')
110
- .where({ action_id: action.action_id })
111
+ .where({ action_id: action.id })
111
112
  .select('*');
112
113
  // Verify file_actions parameter is documented (v3.8.0)
113
114
  const paramNames = params.map((p) => p.param_name);
@@ -123,9 +124,9 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
123
124
  assert.ok(action, 'constraint.add action should be documented');
124
125
  assert.strictEqual(action.action_name, 'add');
125
126
  assert.ok(action.description, 'Action should have description');
126
- // Parameters are stored in t_help_action_params table
127
+ // Parameters are stored in v4_help_action_params table
127
128
  const params = await db('v4_help_action_params')
128
- .where({ action_id: action.action_id })
129
+ .where({ action_id: action.id })
129
130
  .select('*');
130
131
  assert.ok(Array.isArray(params), 'Should have parameters');
131
132
  });
@@ -151,9 +152,9 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
151
152
  .where({ tool_name: 'decision', action_name: 'set' })
152
153
  .first();
153
154
  assert.ok(action, 'Action should exist');
154
- // Parameters are stored in t_help_action_params table
155
+ // Parameters are stored in v4_help_action_params table
155
156
  const params = await db('v4_help_action_params')
156
- .where({ action_id: action.action_id })
157
+ .where({ action_id: action.id })
157
158
  .select('*');
158
159
  assert.ok(params.length > 0, 'Should have parameters');
159
160
  // Check that parameters have required flag (stored as integer 0/1)
@@ -162,17 +163,18 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
162
163
  });
163
164
  });
164
165
  // ============================================================================
165
- // m_help_actions - Foreign Key Constraints
166
+ // v4_help_actions - Foreign Key Constraints
166
167
  // ============================================================================
167
- describe('m_help_actions foreign key constraints', () => {
168
+ describe('v4_help_actions foreign key constraints', () => {
168
169
  it('should enforce FK constraint on tool_name', async () => {
169
170
  const db = getDb();
170
171
  try {
172
+ // v4_help_actions columns: id, tool_name, action_name, description, returns
173
+ // (parameters is stored in separate v4_help_action_params table)
171
174
  await db('v4_help_actions').insert({
172
175
  tool_name: 'non_existent_tool',
173
176
  action_name: 'test_action',
174
177
  description: 'Test description',
175
- parameters: '[]',
176
178
  });
177
179
  assert.fail('Should have thrown FK constraint error');
178
180
  }
@@ -187,11 +189,11 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
187
189
  const db = getDb();
188
190
  // Insert a test action with valid tool_name
189
191
  const testActionName = `test_action_${Date.now()}`;
192
+ // v4_help_actions columns: id, tool_name, action_name, description, returns
190
193
  await db('v4_help_actions').insert({
191
194
  tool_name: 'decision',
192
195
  action_name: testActionName,
193
196
  description: 'Test action',
194
- parameters: '[]',
195
197
  });
196
198
  const inserted = await db('v4_help_actions')
197
199
  .where({ tool_name: 'decision', action_name: testActionName })
@@ -204,31 +206,31 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
204
206
  });
205
207
  });
206
208
  // ============================================================================
207
- // t_help_action_examples - Example Storage
209
+ // v4_help_action_examples - Example Storage
208
210
  // ============================================================================
209
- describe('t_help_action_examples table', () => {
211
+ describe('v4_help_action_examples table', () => {
210
212
  it('should have examples for decision tool', async () => {
211
213
  const db = getDb();
212
- // Join with m_help_actions to filter by tool_name
214
+ // Join with v4_help_actions to filter by tool_name
213
215
  const examples = await db('v4_help_action_examples')
214
- .join('v4_help_actions', 't_help_action_examples.action_id', 'm_help_actions.action_id')
215
- .where({ 'm_help_actions.tool_name': 'decision' })
216
- .select('t_help_action_examples.*');
216
+ .join('v4_help_actions', 'v4_help_action_examples.action_id', 'v4_help_actions.id')
217
+ .where({ 'v4_help_actions.tool_name': 'decision' })
218
+ .select('v4_help_action_examples.*');
217
219
  // Should have examples seeded
218
220
  assert.ok(examples.length >= 0, 'Should return examples (or empty array if none seeded)');
219
221
  if (examples.length > 0) {
220
222
  const example = examples[0];
221
- assert.ok(example.example_title, 'Example should have example_title');
222
- assert.ok(example.example_code, 'Example should have example_code');
223
+ assert.ok(example.title, 'Example should have title');
224
+ assert.ok(example.code, 'Example should have code');
223
225
  }
224
226
  });
225
227
  it('should filter examples by action', async () => {
226
228
  const db = getDb();
227
- // Join with m_help_actions to filter by tool_name and action_name
229
+ // Join with v4_help_actions to filter by tool_name and action_name
228
230
  const examples = await db('v4_help_action_examples')
229
- .join('v4_help_actions', 't_help_action_examples.action_id', 'm_help_actions.action_id')
230
- .where({ 'm_help_actions.tool_name': 'decision', 'm_help_actions.action_name': 'set' })
231
- .select('t_help_action_examples.*', 'm_help_actions.tool_name', 'm_help_actions.action_name');
231
+ .join('v4_help_actions', 'v4_help_action_examples.action_id', 'v4_help_actions.id')
232
+ .where({ 'v4_help_actions.tool_name': 'decision', 'v4_help_actions.action_name': 'set' })
233
+ .select('v4_help_action_examples.*', 'v4_help_actions.tool_name', 'v4_help_actions.action_name');
232
234
  // Verify filtering works
233
235
  assert.ok(Array.isArray(examples), 'Should return array');
234
236
  // All returned examples should match the filter
@@ -245,10 +247,10 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
245
247
  assert.ok(Array.isArray(examples), 'Should return examples array');
246
248
  if (examples.length > 0) {
247
249
  const example = examples[0];
248
- assert.ok('example_id' in example, 'Should have example_id');
250
+ assert.ok('id' in example, 'Should have id');
249
251
  assert.ok('action_id' in example, 'Should have action_id');
250
- assert.ok('example_title' in example, 'Should have example_title');
251
- assert.ok('example_code' in example, 'Should have example_code');
252
+ assert.ok('title' in example, 'Should have title');
253
+ assert.ok('code' in example, 'Should have code');
252
254
  assert.ok('explanation' in example, 'Should have explanation');
253
255
  }
254
256
  });
@@ -256,12 +258,12 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
256
258
  const db = getDb();
257
259
  const keyword = 'decision';
258
260
  const examples = await db('v4_help_action_examples')
259
- .where('example_title', 'like', `%${keyword}%`)
261
+ .where('title', 'like', `%${keyword}%`)
260
262
  .select('*');
261
263
  assert.ok(Array.isArray(examples), 'Should return search results');
262
264
  // All results should match keyword in title
263
265
  examples.forEach((ex) => {
264
- assert.ok(ex.example_title.toLowerCase().includes(keyword.toLowerCase()), 'Title should contain keyword');
266
+ assert.ok(ex.title.toLowerCase().includes(keyword.toLowerCase()), 'Title should contain keyword');
265
267
  });
266
268
  });
267
269
  it('should search examples by keyword in explanation', async () => {
@@ -274,15 +276,15 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
274
276
  });
275
277
  it('should search examples by tool and keyword', async () => {
276
278
  const db = getDb();
277
- // Join with m_help_actions to filter by tool_name
279
+ // Join with v4_help_actions to filter by tool_name
278
280
  const examples = await db('v4_help_action_examples')
279
- .join('v4_help_actions', 't_help_action_examples.action_id', 'm_help_actions.action_id')
280
- .where({ 'm_help_actions.tool_name': 'task' })
281
+ .join('v4_help_actions', 'v4_help_action_examples.action_id', 'v4_help_actions.id')
282
+ .where({ 'v4_help_actions.tool_name': 'task' })
281
283
  .andWhere(function () {
282
- this.where('example_title', 'like', '%create%')
284
+ this.where('title', 'like', '%create%')
283
285
  .orWhere('explanation', 'like', '%create%');
284
286
  })
285
- .select('t_help_action_examples.*', 'm_help_actions.tool_name');
287
+ .select('v4_help_action_examples.*', 'v4_help_actions.tool_name');
286
288
  assert.ok(Array.isArray(examples), 'Should return filtered search results');
287
289
  // All results should be for task tool
288
290
  examples.forEach((ex) => {
@@ -291,9 +293,9 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
291
293
  });
292
294
  });
293
295
  // ============================================================================
294
- // t_help_use_cases - Use Case Storage
296
+ // v4_help_use_cases - Use Case Storage
295
297
  // ============================================================================
296
- describe('t_help_use_cases table', () => {
298
+ describe('v4_help_use_cases table', () => {
297
299
  it('should have use case table structure', async () => {
298
300
  const db = getDb();
299
301
  const useCases = await db('v4_help_use_cases')
@@ -302,7 +304,7 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
302
304
  assert.ok(Array.isArray(useCases), 'Should return use cases array');
303
305
  if (useCases.length > 0) {
304
306
  const useCase = useCases[0];
305
- assert.ok('use_case_id' in useCase, 'Use case should have use_case_id');
307
+ assert.ok('id' in useCase, 'Use case should have id');
306
308
  assert.ok('title' in useCase, 'Use case should have title');
307
309
  assert.ok('category_id' in useCase, 'Use case should have category_id');
308
310
  assert.ok('complexity' in useCase, 'Use case should have complexity');
@@ -312,14 +314,14 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
312
314
  const db = getDb();
313
315
  // Get first use case if any exist
314
316
  const firstUseCase = await db('v4_help_use_cases')
315
- .orderBy('use_case_id', 'asc')
317
+ .orderBy('id', 'asc')
316
318
  .first();
317
319
  if (firstUseCase) {
318
320
  const useCase = await db('v4_help_use_cases')
319
- .where({ use_case_id: firstUseCase.use_case_id })
321
+ .where({ id: firstUseCase.id })
320
322
  .first();
321
323
  assert.ok(useCase, 'Should retrieve use case by ID');
322
- assert.strictEqual(useCase.use_case_id, firstUseCase.use_case_id);
324
+ assert.strictEqual(useCase.id, firstUseCase.id);
323
325
  assert.ok(useCase.title, 'Use case should have title');
324
326
  }
325
327
  });
@@ -358,12 +360,12 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
358
360
  });
359
361
  });
360
362
  // ============================================================================
361
- // m_help_use_case_categories - Category Management
363
+ // v4_help_use_case_cats - Use Case Category Management
362
364
  // ============================================================================
363
- describe('m_help_use_case_categories table', () => {
365
+ describe('v4_help_use_case_cats table', () => {
364
366
  it('should have use case categories', async () => {
365
367
  const db = getDb();
366
- const categories = await db('v4_help_use_case_categories')
368
+ const categories = await db('v4_help_use_case_cats')
367
369
  .select('*');
368
370
  assert.ok(Array.isArray(categories), 'Should return categories');
369
371
  assert.ok(categories.length > 0, 'Should have at least one category');
@@ -375,8 +377,8 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
375
377
  it('should join use cases with categories', async () => {
376
378
  const db = getDb();
377
379
  const useCasesWithCategory = await db('v4_help_use_cases')
378
- .join('v4_help_use_case_categories', 't_help_use_cases.category_id', 'm_help_use_case_categories.category_id')
379
- .select('t_help_use_cases.*', 'm_help_use_case_categories.category_name')
380
+ .join('v4_help_use_case_cats', 'v4_help_use_cases.category_id', 'v4_help_use_case_cats.id')
381
+ .select('v4_help_use_cases.*', 'v4_help_use_case_cats.category_name')
380
382
  .limit(5);
381
383
  assert.ok(Array.isArray(useCasesWithCategory), 'Should return joined results');
382
384
  useCasesWithCategory.forEach((uc) => {
@@ -385,20 +387,20 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
385
387
  });
386
388
  it('should filter use cases by category name', async () => {
387
389
  const db = getDb();
388
- const categories = await db('v4_help_use_case_categories')
390
+ const categories = await db('v4_help_use_case_cats')
389
391
  .select('*');
390
392
  if (categories.length > 0) {
391
393
  const firstCategory = categories[0];
392
394
  const useCases = await db('v4_help_use_cases')
393
- .join('v4_help_use_case_categories', 't_help_use_cases.category_id', 'm_help_use_case_categories.category_id')
394
- .where('m_help_use_case_categories.category_name', firstCategory.category_name)
395
- .select('t_help_use_cases.*');
395
+ .join('v4_help_use_case_cats', 'v4_help_use_cases.category_id', 'v4_help_use_case_cats.id')
396
+ .where('v4_help_use_case_cats.category_name', firstCategory.category_name)
397
+ .select('v4_help_use_cases.*');
396
398
  assert.ok(Array.isArray(useCases), 'Should return category-filtered results');
397
399
  }
398
400
  });
399
401
  });
400
402
  // NOTE: m_help_use_case_steps table does not exist in current schema
401
- // Use case steps are stored in the 'action_sequence' TEXT column of t_help_use_cases
403
+ // Use case steps are stored in the 'workflow' TEXT column of v4_help_use_cases
402
404
  // ============================================================================
403
405
  // Cross-Database Compatibility Tests
404
406
  // ============================================================================
@@ -454,42 +456,48 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
454
456
  assert.ok(Array.isArray(page1), 'Should return page 1');
455
457
  assert.ok(Array.isArray(page2), 'Should return page 2');
456
458
  });
457
- it('should retrieve parameters from t_help_action_params', async () => {
459
+ it('should retrieve parameters from v4_help_action_params', async () => {
458
460
  const db = getDb();
459
461
  const action = await db('v4_help_actions')
460
462
  .where({ tool_name: 'decision', action_name: 'set' })
461
463
  .first();
462
464
  if (action) {
463
465
  const params = await db('v4_help_action_params')
464
- .where({ action_id: action.action_id })
466
+ .where({ action_id: action.id })
465
467
  .select('*');
466
468
  assert.ok(Array.isArray(params), 'Should retrieve parameters as array');
467
469
  }
468
470
  });
469
- it('should enforce UNIQUE constraint on tool_name in m_help_tools', async () => {
471
+ it('should enforce PRIMARY KEY uniqueness on tool_name in v4_help_tools', async () => {
470
472
  const db = getDb();
471
473
  try {
472
474
  await db('v4_help_tools').insert({
473
- tool_name: 'decision', // Duplicate
475
+ tool_name: 'decision', // Duplicate - conflicts with PRIMARY KEY
474
476
  description: 'Duplicate tool',
475
477
  });
476
- assert.fail('Should have thrown UNIQUE constraint error');
478
+ assert.fail('Should have thrown uniqueness constraint error');
477
479
  }
478
480
  catch (error) {
479
- // Expected: UNIQUE constraint violation
480
- assert.ok(error.message.includes('unique') ||
481
- error.message.includes('UNIQUE') ||
482
- error.message.includes('duplicate'), 'Should be a unique constraint error');
481
+ // Expected: PRIMARY KEY or UNIQUE constraint violation
482
+ // Different databases use different error messages:
483
+ // - MySQL/MariaDB: "Duplicate entry"
484
+ // - PostgreSQL: "duplicate key value"
485
+ // - SQLite: "UNIQUE constraint"
486
+ const msg = error.message.toLowerCase();
487
+ assert.ok(msg.includes('unique') ||
488
+ msg.includes('duplicate') ||
489
+ msg.includes('primary') ||
490
+ msg.includes('constraint'), `Should be a uniqueness constraint error, got: ${error.message}`);
483
491
  }
484
492
  });
485
493
  it('should enforce composite UNIQUE on (tool_name, action_name)', async () => {
486
494
  const db = getDb();
487
495
  try {
496
+ // v4_help_actions columns: id, tool_name, action_name, description, returns
488
497
  await db('v4_help_actions').insert({
489
498
  tool_name: 'decision',
490
499
  action_name: 'set', // Duplicate combination
491
500
  description: 'Duplicate action',
492
- parameters: '[]',
493
501
  });
494
502
  assert.fail('Should have thrown UNIQUE constraint error');
495
503
  }
@@ -508,15 +516,15 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
508
516
  it('should join tools, actions, and examples', async () => {
509
517
  const db = getDb();
510
518
  const results = await db('v4_help_tools')
511
- .join('v4_help_actions', 'm_help_tools.tool_name', 'm_help_actions.tool_name')
512
- .leftJoin('v4_help_action_examples', 'm_help_actions.action_id', 't_help_action_examples.action_id')
513
- .select('m_help_tools.tool_name', 'm_help_actions.action_name', 't_help_action_examples.example_title')
519
+ .join('v4_help_actions', 'v4_help_tools.tool_name', 'v4_help_actions.tool_name')
520
+ .leftJoin('v4_help_action_examples', 'v4_help_actions.id', 'v4_help_action_examples.action_id')
521
+ .select('v4_help_tools.tool_name', 'v4_help_actions.action_name', 'v4_help_action_examples.title')
514
522
  .limit(10);
515
523
  assert.ok(Array.isArray(results), 'Should return joined results');
516
524
  results.forEach((row) => {
517
525
  assert.ok(row.tool_name, 'Should have tool_name');
518
526
  assert.ok(row.action_name, 'Should have action_name');
519
- // example_title may be null (left join)
527
+ // title may be null (left join)
520
528
  });
521
529
  });
522
530
  it('should count actions per tool', async () => {
@@ -533,34 +541,36 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
533
541
  assert.ok(row.action_count > 0, 'Should have positive count');
534
542
  });
535
543
  });
536
- it('should count examples per complexity level', async () => {
544
+ // Note: v4_help_action_examples does not have 'complexity' column
545
+ // Complexity is stored in v4_help_use_cases
546
+ it('should count use cases per complexity level', async () => {
537
547
  const db = getDb();
538
- const counts = await db('v4_help_action_examples')
548
+ const counts = await db('v4_help_use_cases')
539
549
  .select('complexity')
540
- .count('* as example_count')
550
+ .count('* as use_case_count')
541
551
  .groupBy('complexity')
542
552
  .orderBy('complexity');
543
553
  assert.ok(Array.isArray(counts), 'Should return counts');
544
554
  counts.forEach((row) => {
545
555
  assert.ok(row.complexity, 'Should have complexity');
546
- assert.ok(row.example_count >= 0, 'Should have count');
556
+ assert.ok(row.use_case_count >= 0, 'Should have count');
547
557
  });
548
558
  });
549
559
  it('should get full use case with category', async () => {
550
560
  const db = getDb();
551
561
  // Note: m_help_use_case_steps table does not exist
552
- // Steps are stored in action_sequence TEXT column
562
+ // Steps are stored in 'workflow' TEXT column
553
563
  const fullUseCases = await db('v4_help_use_cases')
554
- .join('v4_help_use_case_categories', 't_help_use_cases.category_id', 'm_help_use_case_categories.category_id')
555
- .select('t_help_use_cases.use_case_id', 't_help_use_cases.title', 'm_help_use_case_categories.category_name', 't_help_use_cases.action_sequence')
556
- .orderBy('t_help_use_cases.use_case_id')
564
+ .join('v4_help_use_case_cats', 'v4_help_use_cases.category_id', 'v4_help_use_case_cats.id')
565
+ .select('v4_help_use_cases.id', 'v4_help_use_cases.title', 'v4_help_use_case_cats.category_name', 'v4_help_use_cases.workflow')
566
+ .orderBy('v4_help_use_cases.id')
557
567
  .limit(20);
558
568
  assert.ok(Array.isArray(fullUseCases), 'Should return full use cases');
559
569
  fullUseCases.forEach((row) => {
560
- assert.ok(row.use_case_id, 'Should have use_case_id');
570
+ assert.ok(row.id, 'Should have id');
561
571
  assert.ok(row.title, 'Should have title');
562
572
  assert.ok(row.category_name, 'Should have category_name');
563
- // action_sequence contains the workflow steps
573
+ // workflow contains the workflow steps
564
574
  });
565
575
  });
566
576
  });
@@ -1 +1 @@
1
- {"version":3,"file":"help-system.test.js","sourceRoot":"","sources":["../../../../src/tests/docker/native/help-system.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"help-system.test.js","sourceRoot":"","sources":["../../../../src/tests/docker/native/help-system.test.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  /**
2
2
  * Suggest Tool (v3.9.0) - Native RDBMS Integration Tests (Refactored)
3
3
  *
4
- * Tests Decision Intelligence tag index (m_tag_index), similarity calculations,
4
+ * Tests Decision Intelligence tag index (v4_tag_index), similarity calculations,
5
5
  * and three-tier detection on fresh MySQL, MariaDB, and PostgreSQL installations.
6
6
  *
7
7
  * Task #533: Refactor to use direct Knex operations instead of MCP tool functions
8
8
  *
9
9
  * REFACTORING PATTERN:
10
10
  * - Direct database operations via Knex for all data setup
11
- * - Manual tag index population (m_tag_index inserts)
11
+ * - Manual tag index population (v4_tag_index inserts)
12
12
  * - Manual similarity score calculation (Levenshtein, Jaccard)
13
13
  * - No MCP tool function calls (no handleSuggestAction, no setDecision)
14
14
  */