sqlew 3.5.3 → 3.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (227) hide show
  1. package/CHANGELOG.md +247 -1772
  2. package/README.md +70 -304
  3. package/assets/config.example.toml +97 -0
  4. package/dist/adapters/index.d.ts +11 -0
  5. package/dist/adapters/index.d.ts.map +1 -0
  6. package/dist/adapters/index.js +21 -0
  7. package/dist/adapters/index.js.map +1 -0
  8. package/dist/adapters/mysql-adapter.d.ts +31 -0
  9. package/dist/adapters/mysql-adapter.d.ts.map +1 -0
  10. package/dist/adapters/mysql-adapter.js +63 -0
  11. package/dist/adapters/mysql-adapter.js.map +1 -0
  12. package/dist/adapters/postgresql-adapter.d.ts +31 -0
  13. package/dist/adapters/postgresql-adapter.d.ts.map +1 -0
  14. package/dist/adapters/postgresql-adapter.js +63 -0
  15. package/dist/adapters/postgresql-adapter.js.map +1 -0
  16. package/dist/adapters/sqlite-adapter.d.ts +37 -0
  17. package/dist/adapters/sqlite-adapter.d.ts.map +1 -0
  18. package/dist/adapters/sqlite-adapter.js +129 -0
  19. package/dist/adapters/sqlite-adapter.js.map +1 -0
  20. package/dist/adapters/types.d.ts +33 -0
  21. package/dist/adapters/types.d.ts.map +1 -0
  22. package/dist/adapters/types.js +2 -0
  23. package/dist/adapters/types.js.map +1 -0
  24. package/dist/cli.js +55 -54
  25. package/dist/cli.js.map +1 -1
  26. package/dist/config/example-generator.d.ts +11 -0
  27. package/dist/config/example-generator.d.ts.map +1 -0
  28. package/dist/config/example-generator.js +48 -0
  29. package/dist/config/example-generator.js.map +1 -0
  30. package/dist/config/loader.d.ts.map +1 -1
  31. package/dist/config/loader.js +4 -0
  32. package/dist/config/loader.js.map +1 -1
  33. package/dist/config/types.d.ts +9 -0
  34. package/dist/config/types.d.ts.map +1 -1
  35. package/dist/config/types.js.map +1 -1
  36. package/dist/database.d.ts +44 -122
  37. package/dist/database.d.ts.map +1 -1
  38. package/dist/database.js +145 -416
  39. package/dist/database.js.map +1 -1
  40. package/dist/index.js +215 -185
  41. package/dist/index.js.map +1 -1
  42. package/dist/knexfile.d.ts +6 -0
  43. package/dist/knexfile.d.ts.map +1 -0
  44. package/dist/knexfile.js +85 -0
  45. package/dist/knexfile.js.map +1 -0
  46. package/dist/migrations/add-help-system-tables.d.ts +35 -0
  47. package/dist/migrations/add-help-system-tables.d.ts.map +1 -0
  48. package/dist/migrations/add-help-system-tables.js +206 -0
  49. package/dist/migrations/add-help-system-tables.js.map +1 -0
  50. package/dist/migrations/add-token-tracking.d.ts +28 -0
  51. package/dist/migrations/add-token-tracking.d.ts.map +1 -0
  52. package/dist/migrations/add-token-tracking.js +108 -0
  53. package/dist/migrations/add-token-tracking.js.map +1 -0
  54. package/dist/migrations/index.d.ts +25 -12
  55. package/dist/migrations/index.d.ts.map +1 -1
  56. package/dist/migrations/index.js +147 -20
  57. package/dist/migrations/index.js.map +1 -1
  58. package/dist/migrations/knex/20251025020452_create_master_tables.d.ts +4 -0
  59. package/dist/migrations/knex/20251025020452_create_master_tables.d.ts.map +1 -0
  60. package/dist/migrations/knex/20251025020452_create_master_tables.js +65 -0
  61. package/dist/migrations/knex/20251025020452_create_master_tables.js.map +1 -0
  62. package/dist/migrations/knex/20251025021152_create_transaction_tables.d.ts +4 -0
  63. package/dist/migrations/knex/20251025021152_create_transaction_tables.d.ts.map +1 -0
  64. package/dist/migrations/knex/20251025021152_create_transaction_tables.js +235 -0
  65. package/dist/migrations/knex/20251025021152_create_transaction_tables.js.map +1 -0
  66. package/dist/migrations/knex/20251025021351_create_indexes.d.ts +4 -0
  67. package/dist/migrations/knex/20251025021351_create_indexes.d.ts.map +1 -0
  68. package/dist/migrations/knex/20251025021351_create_indexes.js +62 -0
  69. package/dist/migrations/knex/20251025021351_create_indexes.js.map +1 -0
  70. package/dist/migrations/knex/20251025021416_seed_master_data.d.ts +4 -0
  71. package/dist/migrations/knex/20251025021416_seed_master_data.d.ts.map +1 -0
  72. package/dist/migrations/knex/20251025021416_seed_master_data.js +58 -0
  73. package/dist/migrations/knex/20251025021416_seed_master_data.js.map +1 -0
  74. package/dist/migrations/knex/20251025070349_create_views.d.ts +4 -0
  75. package/dist/migrations/knex/20251025070349_create_views.d.ts.map +1 -0
  76. package/dist/migrations/knex/20251025070349_create_views.js +143 -0
  77. package/dist/migrations/knex/20251025070349_create_views.js.map +1 -0
  78. package/dist/migrations/knex/20251025081221_add_link_type_to_task_decision_links.d.ts +4 -0
  79. package/dist/migrations/knex/20251025081221_add_link_type_to_task_decision_links.d.ts.map +1 -0
  80. package/dist/migrations/knex/20251025081221_add_link_type_to_task_decision_links.js +15 -0
  81. package/dist/migrations/knex/20251025081221_add_link_type_to_task_decision_links.js.map +1 -0
  82. package/dist/migrations/knex/20251025082220_fix_task_dependencies_columns.d.ts +8 -0
  83. package/dist/migrations/knex/20251025082220_fix_task_dependencies_columns.d.ts.map +1 -0
  84. package/dist/migrations/knex/20251025082220_fix_task_dependencies_columns.js +12 -0
  85. package/dist/migrations/knex/20251025082220_fix_task_dependencies_columns.js.map +1 -0
  86. package/dist/migrations/knex/20251025090000_create_help_system_tables.d.ts +19 -0
  87. package/dist/migrations/knex/20251025090000_create_help_system_tables.d.ts.map +1 -0
  88. package/dist/migrations/knex/20251025090000_create_help_system_tables.js +115 -0
  89. package/dist/migrations/knex/20251025090000_create_help_system_tables.js.map +1 -0
  90. package/dist/migrations/knex/20251025090100_seed_help_categories_and_use_cases.d.ts +13 -0
  91. package/dist/migrations/knex/20251025090100_seed_help_categories_and_use_cases.d.ts.map +1 -0
  92. package/dist/migrations/knex/20251025090100_seed_help_categories_and_use_cases.js +377 -0
  93. package/dist/migrations/knex/20251025090100_seed_help_categories_and_use_cases.js.map +1 -0
  94. package/dist/migrations/knex/20251025100000_seed_help_metadata.d.ts +15 -0
  95. package/dist/migrations/knex/20251025100000_seed_help_metadata.d.ts.map +1 -0
  96. package/dist/migrations/knex/20251025100000_seed_help_metadata.js +253 -0
  97. package/dist/migrations/knex/20251025100000_seed_help_metadata.js.map +1 -0
  98. package/dist/migrations/knex/20251025100100_seed_remaining_use_cases.d.ts +16 -0
  99. package/dist/migrations/knex/20251025100100_seed_remaining_use_cases.d.ts.map +1 -0
  100. package/dist/migrations/knex/20251025100100_seed_remaining_use_cases.js +276 -0
  101. package/dist/migrations/knex/20251025100100_seed_remaining_use_cases.js.map +1 -0
  102. package/dist/migrations/knex/20251025120000_add_cascade_to_task_dependencies.d.ts +8 -0
  103. package/dist/migrations/knex/20251025120000_add_cascade_to_task_dependencies.d.ts.map +1 -0
  104. package/dist/migrations/knex/20251025120000_add_cascade_to_task_dependencies.js +64 -0
  105. package/dist/migrations/knex/20251025120000_add_cascade_to_task_dependencies.js.map +1 -0
  106. package/dist/migrations/seed-help-data.d.ts +48 -0
  107. package/dist/migrations/seed-help-data.d.ts.map +1 -0
  108. package/dist/migrations/seed-help-data.js +1466 -0
  109. package/dist/migrations/seed-help-data.js.map +1 -0
  110. package/dist/migrations/seed-tool-metadata.d.ts +24 -0
  111. package/dist/migrations/seed-tool-metadata.d.ts.map +1 -0
  112. package/dist/migrations/seed-tool-metadata.js +392 -0
  113. package/dist/migrations/seed-tool-metadata.js.map +1 -0
  114. package/dist/migrations/v3.6.0-help-system-refactor.d.ts +46 -0
  115. package/dist/migrations/v3.6.0-help-system-refactor.d.ts.map +1 -0
  116. package/dist/migrations/v3.6.0-help-system-refactor.js +223 -0
  117. package/dist/migrations/v3.6.0-help-system-refactor.js.map +1 -0
  118. package/dist/schema.d.ts.map +1 -1
  119. package/dist/schema.js +2 -0
  120. package/dist/schema.js.map +1 -1
  121. package/dist/tests/git-aware-completion.test.js +89 -70
  122. package/dist/tests/git-aware-completion.test.js.map +1 -1
  123. package/dist/tests/help-system.test.d.ts +23 -0
  124. package/dist/tests/help-system.test.d.ts.map +1 -0
  125. package/dist/tests/help-system.test.js +374 -0
  126. package/dist/tests/help-system.test.js.map +1 -0
  127. package/dist/tests/tasks.auto-pruning-decision-link.test.js +92 -78
  128. package/dist/tests/tasks.auto-pruning-decision-link.test.js.map +1 -1
  129. package/dist/tests/tasks.auto-pruning-partial.test.js +106 -95
  130. package/dist/tests/tasks.auto-pruning-partial.test.js.map +1 -1
  131. package/dist/tests/tasks.auto-pruning-persistence.test.js +115 -97
  132. package/dist/tests/tasks.auto-pruning-persistence.test.js.map +1 -1
  133. package/dist/tests/tasks.auto-pruning-safety.test.js +124 -103
  134. package/dist/tests/tasks.auto-pruning-safety.test.js.map +1 -1
  135. package/dist/tests/tasks.dependencies.test.js +338 -307
  136. package/dist/tests/tasks.dependencies.test.js.map +1 -1
  137. package/dist/tests/tasks.link-file-backward-compat.test.js +116 -104
  138. package/dist/tests/tasks.link-file-backward-compat.test.js.map +1 -1
  139. package/dist/tests/tasks.watch-files-action.test.js +122 -101
  140. package/dist/tests/tasks.watch-files-action.test.js.map +1 -1
  141. package/dist/tests/tasks.watch-files-parameter.test.js +105 -94
  142. package/dist/tests/tasks.watch-files-parameter.test.js.map +1 -1
  143. package/dist/tests/two-step-git-completion.test.js +176 -133
  144. package/dist/tests/two-step-git-completion.test.js.map +1 -1
  145. package/dist/tests/vcs-staging.test.js +1 -1
  146. package/dist/tests/vcs-staging.test.js.map +1 -1
  147. package/dist/tools/config.d.ts +9 -6
  148. package/dist/tools/config.d.ts.map +1 -1
  149. package/dist/tools/config.js +16 -14
  150. package/dist/tools/config.js.map +1 -1
  151. package/dist/tools/constraints.d.ts +10 -7
  152. package/dist/tools/constraints.d.ts.map +1 -1
  153. package/dist/tools/constraints.js +66 -48
  154. package/dist/tools/constraints.js.map +1 -1
  155. package/dist/tools/context.d.ts +36 -33
  156. package/dist/tools/context.d.ts.map +1 -1
  157. package/dist/tools/context.js +374 -330
  158. package/dist/tools/context.js.map +1 -1
  159. package/dist/tools/files.d.ts +12 -9
  160. package/dist/tools/files.d.ts.map +1 -1
  161. package/dist/tools/files.js +173 -95
  162. package/dist/tools/files.js.map +1 -1
  163. package/dist/tools/help-queries.d.ts +130 -0
  164. package/dist/tools/help-queries.d.ts.map +1 -0
  165. package/dist/tools/help-queries.js +393 -0
  166. package/dist/tools/help-queries.js.map +1 -0
  167. package/dist/tools/messaging.d.ts +14 -11
  168. package/dist/tools/messaging.d.ts.map +1 -1
  169. package/dist/tools/messaging.js +217 -133
  170. package/dist/tools/messaging.js.map +1 -1
  171. package/dist/tools/tasks.d.ts +18 -16
  172. package/dist/tools/tasks.d.ts.map +1 -1
  173. package/dist/tools/tasks.js +513 -439
  174. package/dist/tools/tasks.js.map +1 -1
  175. package/dist/tools/utils.d.ts +14 -11
  176. package/dist/tools/utils.d.ts.map +1 -1
  177. package/dist/tools/utils.js +86 -121
  178. package/dist/tools/utils.js.map +1 -1
  179. package/dist/utils/activity-logging.d.ts +114 -0
  180. package/dist/utils/activity-logging.d.ts.map +1 -0
  181. package/dist/utils/activity-logging.js +162 -0
  182. package/dist/utils/activity-logging.js.map +1 -0
  183. package/dist/utils/batch.d.ts +2 -2
  184. package/dist/utils/batch.d.ts.map +1 -1
  185. package/dist/utils/batch.js +8 -8
  186. package/dist/utils/batch.js.map +1 -1
  187. package/dist/utils/cleanup.d.ts +21 -13
  188. package/dist/utils/cleanup.d.ts.map +1 -1
  189. package/dist/utils/cleanup.js +31 -24
  190. package/dist/utils/cleanup.js.map +1 -1
  191. package/dist/utils/debug-logger.d.ts +44 -0
  192. package/dist/utils/debug-logger.d.ts.map +1 -0
  193. package/dist/utils/debug-logger.js +116 -0
  194. package/dist/utils/debug-logger.js.map +1 -0
  195. package/dist/utils/help-tracking.d.ts +55 -0
  196. package/dist/utils/help-tracking.d.ts.map +1 -0
  197. package/dist/utils/help-tracking.js +88 -0
  198. package/dist/utils/help-tracking.js.map +1 -0
  199. package/dist/utils/retention.d.ts +7 -7
  200. package/dist/utils/retention.d.ts.map +1 -1
  201. package/dist/utils/retention.js +12 -12
  202. package/dist/utils/retention.js.map +1 -1
  203. package/dist/utils/task-stale-detection.d.ts +15 -13
  204. package/dist/utils/task-stale-detection.d.ts.map +1 -1
  205. package/dist/utils/task-stale-detection.js +100 -302
  206. package/dist/utils/task-stale-detection.js.map +1 -1
  207. package/dist/utils/token-estimation.d.ts +72 -0
  208. package/dist/utils/token-estimation.d.ts.map +1 -0
  209. package/dist/utils/token-estimation.js +71 -0
  210. package/dist/utils/token-estimation.js.map +1 -0
  211. package/dist/utils/token-logging.d.ts +48 -0
  212. package/dist/utils/token-logging.d.ts.map +1 -0
  213. package/dist/utils/token-logging.js +112 -0
  214. package/dist/utils/token-logging.js.map +1 -0
  215. package/dist/utils/view-queries.d.ts +34 -0
  216. package/dist/utils/view-queries.d.ts.map +1 -0
  217. package/dist/utils/view-queries.js +192 -0
  218. package/dist/utils/view-queries.js.map +1 -0
  219. package/dist/watcher/file-watcher.d.ts.map +1 -1
  220. package/dist/watcher/file-watcher.js +25 -11
  221. package/dist/watcher/file-watcher.js.map +1 -1
  222. package/docs/BEST_PRACTICES.md +56 -448
  223. package/docs/MIGRATION_v3.6.0.md +170 -0
  224. package/docs/SHARED_CONCEPTS.md +63 -208
  225. package/docs/TASK_OVERVIEW.md +2 -2
  226. package/docs/TOOL_SELECTION.md +41 -248
  227. package/package.json +16 -4
@@ -4,20 +4,12 @@
4
4
  */
5
5
  import { describe, it, before, after, beforeEach } from 'node:test';
6
6
  import assert from 'node:assert';
7
- import Database from 'better-sqlite3';
8
- import { unlinkSync, existsSync, mkdirSync, writeFileSync, rmSync } from 'fs';
7
+ import { existsSync, mkdirSync, writeFileSync, rmSync } from 'fs';
9
8
  import { join } from 'path';
10
9
  import { execSync } from 'child_process';
11
- import { initializeSchema } from '../schema.js';
10
+ import { initializeDatabase, closeDatabase } from '../database.js';
12
11
  import { detectAndCompleteOnStaging, detectAndArchiveOnCommit } from '../utils/task-stale-detection.js';
13
- const TEST_DB_PATH = join(process.cwd(), 'test-two-step-workflow.db');
14
12
  const TEST_DIR = join(process.cwd(), 'test-two-step-git');
15
- // Helper to clean up test database
16
- function cleanupTestDb() {
17
- if (existsSync(TEST_DB_PATH)) {
18
- unlinkSync(TEST_DB_PATH);
19
- }
20
- }
21
13
  // Helper to clean up test directory
22
14
  function cleanupTestDir() {
23
15
  if (existsSync(TEST_DIR)) {
@@ -26,22 +18,26 @@ function cleanupTestDir() {
26
18
  }
27
19
  describe('Two-Step Git-Aware Workflow Integration Tests', () => {
28
20
  let db;
29
- before(() => {
21
+ before(async () => {
30
22
  // Clean up before tests
31
- cleanupTestDb();
32
23
  cleanupTestDir();
33
- // Create test database
34
- db = new Database(TEST_DB_PATH);
35
- db.pragma('foreign_keys = ON');
36
- // Initialize schema
37
- initializeSchema(db);
38
- // Create 'system' agent (required for activity log triggers)
39
- db.prepare('INSERT INTO m_agents (name) VALUES (?)').run('system');
24
+ // Create test database (in-memory)
25
+ db = await initializeDatabase({
26
+ databaseType: 'sqlite',
27
+ connection: {
28
+ filename: ':memory:'
29
+ }
30
+ });
31
+ const knex = db.getKnex();
40
32
  // Add test config for two-step workflow
41
- db.prepare('INSERT OR REPLACE INTO m_config (key, value) VALUES (?, ?)').run('git_auto_complete_on_stage', '1');
42
- db.prepare('INSERT OR REPLACE INTO m_config (key, value) VALUES (?, ?)').run('git_auto_archive_on_commit', '1');
43
- db.prepare('INSERT OR REPLACE INTO m_config (key, value) VALUES (?, ?)').run('require_all_files_staged', '1');
44
- db.prepare('INSERT OR REPLACE INTO m_config (key, value) VALUES (?, ?)').run('require_all_files_committed_for_archive', '1');
33
+ await knex('m_config').insert({ key: 'git_auto_complete_on_stage', value: '1' })
34
+ .onConflict('key').merge();
35
+ await knex('m_config').insert({ key: 'git_auto_archive_on_commit', value: '1' })
36
+ .onConflict('key').merge();
37
+ await knex('m_config').insert({ key: 'require_all_files_staged', value: '1' })
38
+ .onConflict('key').merge();
39
+ await knex('m_config').insert({ key: 'require_all_files_committed_for_archive', value: '1' })
40
+ .onConflict('key').merge();
45
41
  // Create test git repository
46
42
  mkdirSync(TEST_DIR, { recursive: true });
47
43
  execSync('git init', { cwd: TEST_DIR });
@@ -50,166 +46,201 @@ describe('Two-Step Git-Aware Workflow Integration Tests', () => {
50
46
  // Change to test directory for git operations
51
47
  process.chdir(TEST_DIR);
52
48
  });
53
- after(() => {
49
+ after(async () => {
54
50
  // Close database
55
51
  if (db) {
56
- db.close();
52
+ await closeDatabase();
57
53
  }
58
54
  // Go back to original directory
59
55
  process.chdir(join(TEST_DIR, '..'));
60
- // Clean up test database and directory
61
- cleanupTestDb();
56
+ // Clean up test directory
62
57
  cleanupTestDir();
63
58
  });
64
59
  describe('Step 1: Staging → Done', () => {
65
- beforeEach(() => {
60
+ beforeEach(async () => {
66
61
  // Clean up tasks and file links from previous tests
67
- db.prepare('DELETE FROM t_task_file_links').run();
68
- db.prepare('DELETE FROM t_tasks').run();
62
+ const knex = db.getKnex();
63
+ await knex('t_task_file_links').delete();
64
+ await knex('t_task_details').delete();
65
+ await knex('t_tasks').delete();
69
66
  });
70
67
  it('should transition task from waiting_review to done when all files staged', async () => {
68
+ const knex = db.getKnex();
71
69
  // 1. Create task in waiting_review with watched file
72
- const agentId = db.prepare('INSERT INTO m_agents (name) VALUES (?)').run('test-agent').lastInsertRowid;
73
- const statusId = db.prepare('SELECT id FROM m_task_statuses WHERE name = ?').get('waiting_review');
74
- const taskId = db.prepare(`
75
- INSERT INTO t_tasks (title, assigned_agent_id, status_id, priority, created_ts, updated_ts)
76
- VALUES ('Test task', ?, ?, 2, unixepoch(), unixepoch())
77
- `).run(agentId, statusId.id).lastInsertRowid;
70
+ const [agentId] = await knex('m_agents').insert({ name: 'test-agent' });
71
+ const statusRow = await knex('m_task_statuses').where({ name: 'waiting_review' }).first('id');
72
+ const [taskId] = await knex('t_tasks').insert({
73
+ assigned_agent_id: agentId,
74
+ status_id: statusRow.id,
75
+ priority: 2,
76
+ created_ts: Math.floor(Date.now() / 1000),
77
+ updated_ts: Math.floor(Date.now() / 1000)
78
+ });
79
+ await knex('t_task_details').insert({ task_id: taskId, title: 'Test task' });
78
80
  // 2. Add watched file
79
81
  writeFileSync('test-file1.ts', '// Test content');
80
- const fileId = db.prepare('INSERT INTO m_files (path) VALUES (?)').run('test-file1.ts').lastInsertRowid;
81
- db.prepare('INSERT INTO t_task_file_links (task_id, file_id) VALUES (?, ?)').run(taskId, fileId);
82
+ const [fileId] = await knex('m_files').insert({ path: 'test-file1.ts' });
83
+ await knex('t_task_file_links').insert({ task_id: taskId, file_id: fileId, link_type: 'watch' });
82
84
  // 3. Stage the file
83
85
  execSync('git add test-file1.ts');
84
86
  // 4. Run staging detection
85
87
  const completedCount = await detectAndCompleteOnStaging(db);
86
88
  // 5. Verify task transitioned to done
87
89
  assert.strictEqual(completedCount, 1, 'Should complete 1 task');
88
- const task = db.prepare('SELECT status_id FROM t_tasks WHERE id = ?').get(taskId);
89
- const doneStatusId = db.prepare('SELECT id FROM m_task_statuses WHERE name = ?').get('done');
90
- assert.strictEqual(task.status_id, doneStatusId.id, 'Task should be in done status');
90
+ const task = await knex('t_tasks').where({ id: taskId }).first('status_id');
91
+ const doneStatusRow = await knex('m_task_statuses').where({ name: 'done' }).first('id');
92
+ assert.strictEqual(task.status_id, doneStatusRow.id, 'Task should be in done status');
91
93
  });
92
94
  it('should NOT transition when only some files are staged', async () => {
95
+ const knex = db.getKnex();
93
96
  // 1. Create task with 2 watched files
94
- const agentId = db.prepare('SELECT id FROM m_agents WHERE name = ?').get('test-agent');
95
- const statusId = db.prepare('SELECT id FROM m_task_statuses WHERE name = ?').get('waiting_review');
96
- const taskId = db.prepare(`
97
- INSERT INTO t_tasks (title, assigned_agent_id, status_id, priority, created_ts, updated_ts)
98
- VALUES ('Test task', ?, ?, 2, unixepoch(), unixepoch())
99
- `).run(agentId.id, statusId.id).lastInsertRowid;
97
+ const agentRow = await knex('m_agents').where({ name: 'test-agent' }).first('id');
98
+ const statusRow = await knex('m_task_statuses').where({ name: 'waiting_review' }).first('id');
99
+ const [taskId] = await knex('t_tasks').insert({
100
+ assigned_agent_id: agentRow.id,
101
+ status_id: statusRow.id,
102
+ priority: 2,
103
+ created_ts: Math.floor(Date.now() / 1000),
104
+ updated_ts: Math.floor(Date.now() / 1000)
105
+ });
106
+ await knex('t_task_details').insert({ task_id: taskId, title: 'Test task' });
100
107
  // 2. Add 2 watched files
101
108
  writeFileSync('test-file2.ts', '// Test content 2');
102
109
  writeFileSync('test-file3.ts', '// Test content 3');
103
- const file2Id = db.prepare('INSERT INTO m_files (path) VALUES (?)').run('test-file2.ts').lastInsertRowid;
104
- const file3Id = db.prepare('INSERT INTO m_files (path) VALUES (?)').run('test-file3.ts').lastInsertRowid;
105
- db.prepare('INSERT INTO t_task_file_links (task_id, file_id) VALUES (?, ?)').run(taskId, file2Id);
106
- db.prepare('INSERT INTO t_task_file_links (task_id, file_id) VALUES (?, ?)').run(taskId, file3Id);
110
+ const [file2Id] = await knex('m_files').insert({ path: 'test-file2.ts' });
111
+ const [file3Id] = await knex('m_files').insert({ path: 'test-file3.ts' });
112
+ await knex('t_task_file_links').insert({ task_id: taskId, file_id: file2Id, link_type: 'watch' });
113
+ await knex('t_task_file_links').insert({ task_id: taskId, file_id: file3Id, link_type: 'watch' });
107
114
  // 3. Stage only ONE file
108
115
  execSync('git add test-file2.ts');
109
116
  // 4. Run staging detection
110
117
  const completedCount = await detectAndCompleteOnStaging(db);
111
118
  // 5. Verify task is STILL in waiting_review
112
119
  assert.strictEqual(completedCount, 0, 'Should NOT complete any tasks');
113
- const task = db.prepare('SELECT status_id FROM t_tasks WHERE id = ?').get(taskId);
114
- assert.strictEqual(task.status_id, statusId.id, 'Task should still be in waiting_review');
120
+ const task = await knex('t_tasks').where({ id: taskId }).first('status_id');
121
+ assert.strictEqual(task.status_id, statusRow.id, 'Task should still be in waiting_review');
115
122
  });
116
123
  });
117
124
  describe('Step 2: Commit → Archived', () => {
118
- beforeEach(() => {
125
+ beforeEach(async () => {
119
126
  // Clean up tasks and file links from previous tests
120
- db.prepare('DELETE FROM t_task_file_links').run();
121
- db.prepare('DELETE FROM t_tasks').run();
127
+ const knex = db.getKnex();
128
+ await knex('t_task_file_links').delete();
129
+ await knex('t_task_details').delete();
130
+ await knex('t_tasks').delete();
122
131
  });
123
132
  it('should transition task from done to archived when all files committed', async () => {
133
+ const knex = db.getKnex();
124
134
  // 1. Commit previously staged files
125
135
  execSync('git commit -m "Test commit 1"');
126
136
  // 2. Create task in done status with watched file
127
- const agentId = db.prepare('SELECT id FROM m_agents WHERE name = ?').get('test-agent');
128
- const doneStatusId = db.prepare('SELECT id FROM m_task_statuses WHERE name = ?').get('done');
129
- const taskId = db.prepare(`
130
- INSERT INTO t_tasks (title, assigned_agent_id, status_id, priority, created_ts, updated_ts)
131
- VALUES ('Test task', ?, ?, 2, unixepoch(), unixepoch())
132
- `).run(agentId.id, doneStatusId.id).lastInsertRowid;
137
+ const agentRow = await knex('m_agents').where({ name: 'test-agent' }).first('id');
138
+ const doneStatusRow = await knex('m_task_statuses').where({ name: 'done' }).first('id');
139
+ const [taskId] = await knex('t_tasks').insert({
140
+ assigned_agent_id: agentRow.id,
141
+ status_id: doneStatusRow.id,
142
+ priority: 2,
143
+ created_ts: Math.floor(Date.now() / 1000),
144
+ updated_ts: Math.floor(Date.now() / 1000)
145
+ });
146
+ await knex('t_task_details').insert({ task_id: taskId, title: 'Test task' });
133
147
  // 3. Add watched file and commit it
134
148
  writeFileSync('test-file4.ts', '// Test content 4');
135
- const fileId = db.prepare('INSERT INTO m_files (path) VALUES (?)').run('test-file4.ts').lastInsertRowid;
136
- db.prepare('INSERT INTO t_task_file_links (task_id, file_id) VALUES (?, ?)').run(taskId, fileId);
149
+ const [fileId] = await knex('m_files').insert({ path: 'test-file4.ts' });
150
+ await knex('t_task_file_links').insert({ task_id: taskId, file_id: fileId, link_type: 'watch' });
137
151
  execSync('git add test-file4.ts');
138
152
  execSync('git commit -m "Test commit 2"');
139
153
  // 4. Run archive detection
140
154
  const archivedCount = await detectAndArchiveOnCommit(db);
141
155
  // 5. Verify task transitioned to archived
142
156
  assert.strictEqual(archivedCount, 1, 'Should archive 1 task');
143
- const task = db.prepare('SELECT status_id FROM t_tasks WHERE id = ?').get(taskId);
144
- const archivedStatusId = db.prepare('SELECT id FROM m_task_statuses WHERE name = ?').get('archived');
145
- assert.strictEqual(task.status_id, archivedStatusId.id, 'Task should be in archived status');
157
+ const task = await knex('t_tasks').where({ id: taskId }).first('status_id');
158
+ const archivedStatusRow = await knex('m_task_statuses').where({ name: 'archived' }).first('id');
159
+ assert.strictEqual(task.status_id, archivedStatusRow.id, 'Task should be in archived status');
146
160
  });
147
161
  it('should NOT archive when files are not committed (only staged)', async () => {
162
+ const knex = db.getKnex();
148
163
  // 1. Create task in done status
149
- const agentId = db.prepare('SELECT id FROM m_agents WHERE name = ?').get('test-agent');
150
- const doneStatusId = db.prepare('SELECT id FROM m_task_statuses WHERE name = ?').get('done');
151
- const taskId = db.prepare(`
152
- INSERT INTO t_tasks (title, assigned_agent_id, status_id, priority, created_ts, updated_ts)
153
- VALUES ('Test task', ?, ?, 2, unixepoch(), unixepoch())
154
- `).run(agentId.id, doneStatusId.id).lastInsertRowid;
164
+ const agentRow = await knex('m_agents').where({ name: 'test-agent' }).first('id');
165
+ const doneStatusRow = await knex('m_task_statuses').where({ name: 'done' }).first('id');
166
+ const [taskId] = await knex('t_tasks').insert({
167
+ assigned_agent_id: agentRow.id,
168
+ status_id: doneStatusRow.id,
169
+ priority: 2,
170
+ created_ts: Math.floor(Date.now() / 1000),
171
+ updated_ts: Math.floor(Date.now() / 1000)
172
+ });
173
+ await knex('t_task_details').insert({ task_id: taskId, title: 'Test task' });
155
174
  // 2. Add watched file and ONLY stage it (don't commit)
156
175
  writeFileSync('test-file5.ts', '// Test content 5');
157
- const fileId = db.prepare('INSERT INTO m_files (path) VALUES (?)').run('test-file5.ts').lastInsertRowid;
158
- db.prepare('INSERT INTO t_task_file_links (task_id, file_id) VALUES (?, ?)').run(taskId, fileId);
176
+ const [fileId] = await knex('m_files').insert({ path: 'test-file5.ts' });
177
+ await knex('t_task_file_links').insert({ task_id: taskId, file_id: fileId, link_type: 'watch' });
159
178
  execSync('git add test-file5.ts');
160
179
  // 3. Run archive detection
161
180
  const archivedCount = await detectAndArchiveOnCommit(db);
162
181
  // 4. Verify task is STILL in done
163
182
  assert.strictEqual(archivedCount, 0, 'Should NOT archive any tasks');
164
- const task = db.prepare('SELECT status_id FROM t_tasks WHERE id = ?').get(taskId);
165
- assert.strictEqual(task.status_id, doneStatusId.id, 'Task should still be in done status');
183
+ const task = await knex('t_tasks').where({ id: taskId }).first('status_id');
184
+ assert.strictEqual(task.status_id, doneStatusRow.id, 'Task should still be in done status');
166
185
  });
167
186
  });
168
187
  describe('Full Two-Step Workflow', () => {
169
- beforeEach(() => {
188
+ beforeEach(async () => {
170
189
  // Clean up tasks and file links from previous tests
171
- db.prepare('DELETE FROM t_task_file_links').run();
172
- db.prepare('DELETE FROM t_tasks').run();
190
+ const knex = db.getKnex();
191
+ await knex('t_task_file_links').delete();
192
+ await knex('t_task_details').delete();
193
+ await knex('t_tasks').delete();
173
194
  });
174
195
  it('should complete full cycle: waiting_review → done → archived', async () => {
196
+ const knex = db.getKnex();
175
197
  // 1. Create task in waiting_review
176
- const agentId = db.prepare('SELECT id FROM m_agents WHERE name = ?').get('test-agent');
177
- const waitingReviewId = db.prepare('SELECT id FROM m_task_statuses WHERE name = ?').get('waiting_review');
178
- const taskId = db.prepare(`
179
- INSERT INTO t_tasks (title, assigned_agent_id, status_id, priority, created_ts, updated_ts)
180
- VALUES ('Test task', ?, ?, 2, unixepoch(), unixepoch())
181
- `).run(agentId.id, waitingReviewId.id).lastInsertRowid;
198
+ const agentRow = await knex('m_agents').where({ name: 'test-agent' }).first('id');
199
+ const waitingReviewRow = await knex('m_task_statuses').where({ name: 'waiting_review' }).first('id');
200
+ const [taskId] = await knex('t_tasks').insert({
201
+ assigned_agent_id: agentRow.id,
202
+ status_id: waitingReviewRow.id,
203
+ priority: 2,
204
+ created_ts: Math.floor(Date.now() / 1000),
205
+ updated_ts: Math.floor(Date.now() / 1000)
206
+ });
207
+ await knex('t_task_details').insert({ task_id: taskId, title: 'Test task' });
182
208
  // 2. Add watched file
183
209
  writeFileSync('test-full-cycle.ts', '// Full cycle test');
184
- const fileId = db.prepare('INSERT INTO m_files (path) VALUES (?)').run('test-full-cycle.ts').lastInsertRowid;
185
- db.prepare('INSERT INTO t_task_file_links (task_id, file_id) VALUES (?, ?)').run(taskId, fileId);
210
+ const [fileId] = await knex('m_files').insert({ path: 'test-full-cycle.ts' });
211
+ await knex('t_task_file_links').insert({ task_id: taskId, file_id: fileId, link_type: 'watch' });
186
212
  // 3. STEP 1: Stage file → should transition to done
187
213
  execSync('git add test-full-cycle.ts');
188
214
  const stagingCompleted = await detectAndCompleteOnStaging(db);
189
215
  assert.strictEqual(stagingCompleted, 1);
190
- let task = db.prepare('SELECT status_id FROM t_tasks WHERE id = ?').get(taskId);
191
- const doneStatusId = db.prepare('SELECT id FROM m_task_statuses WHERE name = ?').get('done');
192
- assert.strictEqual(task.status_id, doneStatusId.id, 'Task should be done after staging');
216
+ let task = await knex('t_tasks').where({ id: taskId }).first('status_id');
217
+ const doneStatusRow = await knex('m_task_statuses').where({ name: 'done' }).first('id');
218
+ assert.strictEqual(task.status_id, doneStatusRow.id, 'Task should be done after staging');
193
219
  // 4. STEP 2: Commit file → should transition to archived
194
220
  execSync('git commit -m "Full cycle test"');
195
221
  const commitArchived = await detectAndArchiveOnCommit(db);
196
222
  assert.strictEqual(commitArchived, 1);
197
- task = db.prepare('SELECT status_id FROM t_tasks WHERE id = ?').get(taskId);
198
- const archivedStatusId = db.prepare('SELECT id FROM m_task_statuses WHERE name = ?').get('archived');
199
- assert.strictEqual(task.status_id, archivedStatusId.id, 'Task should be archived after commit');
223
+ task = await knex('t_tasks').where({ id: taskId }).first('status_id');
224
+ const archivedStatusRow = await knex('m_task_statuses').where({ name: 'archived' }).first('id');
225
+ assert.strictEqual(task.status_id, archivedStatusRow.id, 'Task should be archived after commit');
200
226
  });
201
227
  it('should handle rapid staging + commit (git commit -a)', async () => {
228
+ const knex = db.getKnex();
202
229
  // 1. Create task
203
- const agentId = db.prepare('SELECT id FROM m_agents WHERE name = ?').get('test-agent');
204
- const waitingReviewId = db.prepare('SELECT id FROM m_task_statuses WHERE name = ?').get('waiting_review');
205
- const taskId = db.prepare(`
206
- INSERT INTO t_tasks (title, assigned_agent_id, status_id, priority, created_ts, updated_ts)
207
- VALUES ('Test task', ?, ?, 2, unixepoch(), unixepoch())
208
- `).run(agentId.id, waitingReviewId.id).lastInsertRowid;
230
+ const agentRow = await knex('m_agents').where({ name: 'test-agent' }).first('id');
231
+ const waitingReviewRow = await knex('m_task_statuses').where({ name: 'waiting_review' }).first('id');
232
+ const [taskId] = await knex('t_tasks').insert({
233
+ assigned_agent_id: agentRow.id,
234
+ status_id: waitingReviewRow.id,
235
+ priority: 2,
236
+ created_ts: Math.floor(Date.now() / 1000),
237
+ updated_ts: Math.floor(Date.now() / 1000)
238
+ });
239
+ await knex('t_task_details').insert({ task_id: taskId, title: 'Test task' });
209
240
  // 2. Add watched file
210
241
  writeFileSync('test-rapid.ts', '// Rapid test');
211
- const fileId = db.prepare('INSERT INTO m_files (path) VALUES (?)').run('test-rapid.ts').lastInsertRowid;
212
- db.prepare('INSERT INTO t_task_file_links (task_id, file_id) VALUES (?, ?)').run(taskId, fileId);
242
+ const [fileId] = await knex('m_files').insert({ path: 'test-rapid.ts' });
243
+ await knex('t_task_file_links').insert({ task_id: taskId, file_id: fileId, link_type: 'watch' });
213
244
  // 3. Stage and commit immediately
214
245
  execSync('git add test-rapid.ts && git commit -m "Rapid test"');
215
246
  // 4. Run both detections - should go straight to archived
@@ -219,64 +250,76 @@ describe('Two-Step Git-Aware Workflow Integration Tests', () => {
219
250
  // But commit detection should complete it to done first
220
251
  // This is handled by detectAndCompleteReviewedTasks in real workflow
221
252
  // For this test, manually transition to done then test archiving
222
- const doneStatusId = db.prepare('SELECT id FROM m_task_statuses WHERE name = ?').get('done');
223
- db.prepare('UPDATE t_tasks SET status_id = ? WHERE id = ?').run(doneStatusId.id, taskId);
253
+ const doneStatusRow = await knex('m_task_statuses').where({ name: 'done' }).first('id');
254
+ await knex('t_tasks').where({ id: taskId }).update({ status_id: doneStatusRow.id });
224
255
  const commitArchived = await detectAndArchiveOnCommit(db);
225
256
  assert.strictEqual(commitArchived, 1);
226
- const task = db.prepare('SELECT status_id FROM t_tasks WHERE id = ?').get(taskId);
227
- const archivedStatusId = db.prepare('SELECT id FROM m_task_statuses WHERE name = ?').get('archived');
228
- assert.strictEqual(task.status_id, archivedStatusId.id);
257
+ const task = await knex('t_tasks').where({ id: taskId }).first('status_id');
258
+ const archivedStatusRow = await knex('m_task_statuses').where({ name: 'archived' }).first('id');
259
+ assert.strictEqual(task.status_id, archivedStatusRow.id);
229
260
  });
230
261
  });
231
262
  describe('Configuration Tests', () => {
232
- beforeEach(() => {
263
+ beforeEach(async () => {
233
264
  // Clean up tasks and file links from previous tests
234
- db.prepare('DELETE FROM t_task_file_links').run();
235
- db.prepare('DELETE FROM t_tasks').run();
265
+ const knex = db.getKnex();
266
+ await knex('t_task_file_links').delete();
267
+ await knex('t_task_details').delete();
268
+ await knex('t_tasks').delete();
236
269
  });
237
270
  it('should respect require_all_files_staged config', async () => {
271
+ const knex = db.getKnex();
238
272
  // Set to require all files
239
- db.prepare('UPDATE m_config SET value = ? WHERE key = ?').run('1', 'require_all_files_staged');
273
+ await knex('m_config').where({ key: 'require_all_files_staged' }).update({ value: '1' });
240
274
  // Create task with 2 files
241
- const agentId = db.prepare('SELECT id FROM m_agents WHERE name = ?').get('test-agent');
242
- const statusId = db.prepare('SELECT id FROM m_task_statuses WHERE name = ?').get('waiting_review');
243
- const taskId = db.prepare(`
244
- INSERT INTO t_tasks (title, assigned_agent_id, status_id, priority, created_ts, updated_ts)
245
- VALUES ('Test task', ?, ?, 2, unixepoch(), unixepoch())
246
- `).run(agentId.id, statusId.id).lastInsertRowid;
275
+ const agentRow = await knex('m_agents').where({ name: 'test-agent' }).first('id');
276
+ const statusRow = await knex('m_task_statuses').where({ name: 'waiting_review' }).first('id');
277
+ const [taskId] = await knex('t_tasks').insert({
278
+ assigned_agent_id: agentRow.id,
279
+ status_id: statusRow.id,
280
+ priority: 2,
281
+ created_ts: Math.floor(Date.now() / 1000),
282
+ updated_ts: Math.floor(Date.now() / 1000)
283
+ });
284
+ await knex('t_task_details').insert({ task_id: taskId, title: 'Test task' });
247
285
  writeFileSync('config-test1.ts', '// Config test 1');
248
286
  writeFileSync('config-test2.ts', '// Config test 2');
249
- const file1Id = db.prepare('INSERT INTO m_files (path) VALUES (?)').run('config-test1.ts').lastInsertRowid;
250
- const file2Id = db.prepare('INSERT INTO m_files (path) VALUES (?)').run('config-test2.ts').lastInsertRowid;
251
- db.prepare('INSERT INTO t_task_file_links (task_id, file_id) VALUES (?, ?)').run(taskId, file1Id);
252
- db.prepare('INSERT INTO t_task_file_links (task_id, file_id) VALUES (?, ?)').run(taskId, file2Id);
287
+ const [file1Id] = await knex('m_files').insert({ path: 'config-test1.ts' });
288
+ const [file2Id] = await knex('m_files').insert({ path: 'config-test2.ts' });
289
+ await knex('t_task_file_links').insert({ task_id: taskId, file_id: file1Id, link_type: 'watch' });
290
+ await knex('t_task_file_links').insert({ task_id: taskId, file_id: file2Id, link_type: 'watch' });
253
291
  // Stage only one file
254
292
  execSync('git add config-test1.ts');
255
293
  // Should NOT complete (require ALL)
256
294
  const completed = await detectAndCompleteOnStaging(db);
257
295
  assert.strictEqual(completed, 0);
258
- const task = db.prepare('SELECT status_id FROM t_tasks WHERE id = ?').get(taskId);
259
- assert.strictEqual(task.status_id, statusId.id, 'Task should still be waiting_review');
296
+ const task = await knex('t_tasks').where({ id: taskId }).first('status_id');
297
+ assert.strictEqual(task.status_id, statusRow.id, 'Task should still be waiting_review');
260
298
  });
261
299
  it('should respect git_auto_complete_on_stage disabled', async () => {
300
+ const knex = db.getKnex();
262
301
  // Disable staging auto-complete
263
- db.prepare('UPDATE m_config SET value = ? WHERE key = ?').run('0', 'git_auto_complete_on_stage');
302
+ await knex('m_config').where({ key: 'git_auto_complete_on_stage' }).update({ value: '0' });
264
303
  // Create and stage task
265
- const agentId = db.prepare('SELECT id FROM m_agents WHERE name = ?').get('test-agent');
266
- const statusId = db.prepare('SELECT id FROM m_task_statuses WHERE name = ?').get('waiting_review');
267
- const taskId = db.prepare(`
268
- INSERT INTO t_tasks (title, assigned_agent_id, status_id, priority, created_ts, updated_ts)
269
- VALUES ('Test task', ?, ?, 2, unixepoch(), unixepoch())
270
- `).run(agentId.id, statusId.id).lastInsertRowid;
304
+ const agentRow = await knex('m_agents').where({ name: 'test-agent' }).first('id');
305
+ const statusRow = await knex('m_task_statuses').where({ name: 'waiting_review' }).first('id');
306
+ const [taskId] = await knex('t_tasks').insert({
307
+ assigned_agent_id: agentRow.id,
308
+ status_id: statusRow.id,
309
+ priority: 2,
310
+ created_ts: Math.floor(Date.now() / 1000),
311
+ updated_ts: Math.floor(Date.now() / 1000)
312
+ });
313
+ await knex('t_task_details').insert({ task_id: taskId, title: 'Test task' });
271
314
  writeFileSync('disabled-test.ts', '// Disabled test');
272
- const fileId = db.prepare('INSERT INTO m_files (path) VALUES (?)').run('disabled-test.ts').lastInsertRowid;
273
- db.prepare('INSERT INTO t_task_file_links (task_id, file_id) VALUES (?, ?)').run(taskId, fileId);
315
+ const [fileId] = await knex('m_files').insert({ path: 'disabled-test.ts' });
316
+ await knex('t_task_file_links').insert({ task_id: taskId, file_id: fileId, link_type: 'watch' });
274
317
  execSync('git add disabled-test.ts');
275
318
  // Should NOT complete (feature disabled)
276
319
  const completed = await detectAndCompleteOnStaging(db);
277
320
  assert.strictEqual(completed, 0);
278
321
  // Re-enable for other tests
279
- db.prepare('UPDATE m_config SET value = ? WHERE key = ?').run('1', 'git_auto_complete_on_stage');
322
+ await knex('m_config').where({ key: 'git_auto_complete_on_stage' }).update({ value: '1' });
280
323
  });
281
324
  });
282
325
  });
@@ -1 +1 @@
1
- {"version":3,"file":"two-step-git-completion.test.js","sourceRoot":"","sources":["../../src/tests/two-step-git-completion.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"two-step-git-completion.test.js","sourceRoot":"","sources":["../../src/tests/two-step-git-completion.test.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  * Tests for getStagedFiles() method across Git, Mercurial, and SVN adapters
4
4
  */
5
5
  import { describe, it, before, after } from 'node:test';
6
- import assert from 'node:assert';
6
+ import assert from 'node:assert/strict';
7
7
  import { mkdirSync, rmSync, existsSync, writeFileSync } from 'fs';
8
8
  import { join } from 'path';
9
9
  import { execSync } from 'child_process';
@@ -1 +1 @@
1
- {"version":3,"file":"vcs-staging.test.js","sourceRoot":"","sources":["../../src/tests/vcs-staging.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vcs-staging.test.js","sourceRoot":"","sources":["../../src/tests/vcs-staging.test.ts"],"names":[],"mappings":"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"}