sqlew 4.0.2 → 4.0.3

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 (34) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/README.md +17 -105
  3. package/assets/claude-md-snippets/plan-mode-integration.md +13 -0
  4. package/assets/sample-commands/sqlew.md +144 -0
  5. package/assets/sample-skills/sqlew-plan-guidance/SKILL.md +55 -0
  6. package/dist/init-commands.d.ts +5 -2
  7. package/dist/init-commands.d.ts.map +1 -1
  8. package/dist/init-commands.js +36 -175
  9. package/dist/init-commands.js.map +1 -1
  10. package/dist/init-skills.d.ts +19 -0
  11. package/dist/init-skills.d.ts.map +1 -0
  12. package/dist/init-skills.js +104 -0
  13. package/dist/init-skills.js.map +1 -0
  14. package/dist/server/setup.d.ts.map +1 -1
  15. package/dist/server/setup.js +9 -0
  16. package/dist/server/setup.js.map +1 -1
  17. package/dist/tests/unit/case-insensitive-validator.test.d.ts +14 -0
  18. package/dist/tests/unit/case-insensitive-validator.test.d.ts.map +1 -0
  19. package/dist/tests/unit/case-insensitive-validator.test.js +390 -0
  20. package/dist/tests/unit/case-insensitive-validator.test.js.map +1 -0
  21. package/dist/tools/tasks/actions/get.d.ts.map +1 -1
  22. package/dist/tools/tasks/actions/get.js +1 -4
  23. package/dist/tools/tasks/actions/get.js.map +1 -1
  24. package/dist/tools/tasks/internal/task-queries.d.ts.map +1 -1
  25. package/dist/tools/tasks/internal/task-queries.js +2 -8
  26. package/dist/tools/tasks/internal/task-queries.js.map +1 -1
  27. package/docs/SLASH_COMMANDS.md +192 -478
  28. package/docs/SPECIALIZED_AGENTS.md +81 -43
  29. package/package.json +1 -1
  30. package/assets/sample-commands/sqw-documentor.md +0 -204
  31. package/assets/sample-commands/sqw-plan.md +0 -348
  32. package/assets/sample-commands/sqw-research.md +0 -359
  33. package/assets/sample-commands/sqw-review.md +0 -377
  34. package/assets/sample-commands/sqw-scrum.md +0 -457
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Auto-initialize sqlew skills and CLAUDE.md integration on server startup
3
+ * Copies skills from assets if not present, appends to CLAUDE.md if section missing
4
+ */
5
+ /**
6
+ * Initialize skills in project's .claude/skills directory
7
+ * Only copies if skill directory doesn't exist
8
+ */
9
+ export declare function initializeSkills(projectRoot: string): void;
10
+ /**
11
+ * Append Plan Mode Integration section to CLAUDE.md if not present
12
+ */
13
+ export declare function initializeClaudeMd(projectRoot: string): void;
14
+ /**
15
+ * Initialize all sqlew integrations (skills + CLAUDE.md)
16
+ * Called during server startup
17
+ */
18
+ export declare function initializeSqlewIntegrations(projectRoot: string): void;
19
+ //# sourceMappingURL=init-skills.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init-skills.d.ts","sourceRoot":"","sources":["../src/init-skills.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAmBH;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAuC1D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAoC5D;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAQrE"}
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Auto-initialize sqlew skills and CLAUDE.md integration on server startup
3
+ * Copies skills from assets if not present, appends to CLAUDE.md if section missing
4
+ */
5
+ import * as fs from 'fs';
6
+ import * as path from 'path';
7
+ import { fileURLToPath } from 'url';
8
+ import { debugLog } from './utils/debug-logger.js';
9
+ const __filename = fileURLToPath(import.meta.url);
10
+ const __dirname = path.dirname(__filename);
11
+ /**
12
+ * Get path to assets directory (relative to dist/)
13
+ */
14
+ function getAssetsPath() {
15
+ const distDir = __dirname; // .../dist
16
+ const packageRoot = path.dirname(distDir); // .../mcp-sqlew
17
+ return path.join(packageRoot, 'assets');
18
+ }
19
+ /**
20
+ * Initialize skills in project's .claude/skills directory
21
+ * Only copies if skill directory doesn't exist
22
+ */
23
+ export function initializeSkills(projectRoot) {
24
+ const skillsSourceDir = path.join(getAssetsPath(), 'sample-skills');
25
+ const skillsTargetDir = path.join(projectRoot, '.claude', 'skills');
26
+ // Check if source exists
27
+ if (!fs.existsSync(skillsSourceDir)) {
28
+ debugLog('WARN', 'Skills source directory not found', { skillsSourceDir });
29
+ return;
30
+ }
31
+ // Get list of skill directories to copy
32
+ const skillDirs = fs.readdirSync(skillsSourceDir, { withFileTypes: true })
33
+ .filter(dirent => dirent.isDirectory())
34
+ .map(dirent => dirent.name);
35
+ for (const skillName of skillDirs) {
36
+ const sourceSkillDir = path.join(skillsSourceDir, skillName);
37
+ const targetSkillDir = path.join(skillsTargetDir, skillName);
38
+ // Only copy if target doesn't exist
39
+ if (!fs.existsSync(targetSkillDir)) {
40
+ try {
41
+ // Create target directory
42
+ fs.mkdirSync(targetSkillDir, { recursive: true });
43
+ // Copy all files in skill directory
44
+ const files = fs.readdirSync(sourceSkillDir);
45
+ for (const file of files) {
46
+ const sourceFile = path.join(sourceSkillDir, file);
47
+ const targetFile = path.join(targetSkillDir, file);
48
+ fs.copyFileSync(sourceFile, targetFile);
49
+ }
50
+ debugLog('INFO', `Skill initialized: ${skillName}`, { targetSkillDir });
51
+ }
52
+ catch (error) {
53
+ debugLog('WARN', `Failed to initialize skill: ${skillName}`, { error });
54
+ }
55
+ }
56
+ }
57
+ }
58
+ /**
59
+ * Append Plan Mode Integration section to CLAUDE.md if not present
60
+ */
61
+ export function initializeClaudeMd(projectRoot) {
62
+ const claudeMdPath = path.join(projectRoot, 'CLAUDE.md');
63
+ const snippetPath = path.join(getAssetsPath(), 'claude-md-snippets', 'plan-mode-integration.md');
64
+ // Check if snippet source exists
65
+ if (!fs.existsSync(snippetPath)) {
66
+ debugLog('WARN', 'CLAUDE.md snippet not found', { snippetPath });
67
+ return;
68
+ }
69
+ // Check if CLAUDE.md exists
70
+ if (!fs.existsSync(claudeMdPath)) {
71
+ debugLog('INFO', 'CLAUDE.md not found, skipping integration', { claudeMdPath });
72
+ return;
73
+ }
74
+ // Read current CLAUDE.md content
75
+ const currentContent = fs.readFileSync(claudeMdPath, 'utf-8');
76
+ // Check if Plan Mode Integration section already exists
77
+ if (currentContent.includes('## Plan Mode Integration')) {
78
+ debugLog('DEBUG', 'Plan Mode Integration section already present in CLAUDE.md');
79
+ return;
80
+ }
81
+ // Read snippet content
82
+ const snippetContent = fs.readFileSync(snippetPath, 'utf-8');
83
+ // Append snippet to CLAUDE.md
84
+ try {
85
+ const newContent = currentContent.trimEnd() + '\n\n' + snippetContent;
86
+ fs.writeFileSync(claudeMdPath, newContent, 'utf-8');
87
+ debugLog('INFO', 'Plan Mode Integration section added to CLAUDE.md', { claudeMdPath });
88
+ }
89
+ catch (error) {
90
+ debugLog('WARN', 'Failed to update CLAUDE.md', { error });
91
+ }
92
+ }
93
+ /**
94
+ * Initialize all sqlew integrations (skills + CLAUDE.md)
95
+ * Called during server startup
96
+ */
97
+ export function initializeSqlewIntegrations(projectRoot) {
98
+ debugLog('DEBUG', 'Initializing sqlew integrations', { projectRoot });
99
+ // Initialize skills
100
+ initializeSkills(projectRoot);
101
+ // Initialize CLAUDE.md integration
102
+ initializeClaudeMd(projectRoot);
103
+ }
104
+ //# sourceMappingURL=init-skills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init-skills.js","sourceRoot":"","sources":["../src/init-skills.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/server/setup.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAgE,MAAM,gBAAgB,CAAC;AAG/G,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAM7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,eAAe,CAAC;IACpB,UAAU,EAAE,WAAW,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,EAAE;QACZ,aAAa,EAAE,OAAO,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,eAAe,EAAE,KAAK,GAAG,QAAQ,GAAG,KAAK,GAAG,UAAU,GAAG,WAAW,CAAC;CACtE;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CA6KnF;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAGtD"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/server/setup.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAgE,MAAM,gBAAgB,CAAC;AAG/G,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAM7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,eAAe,CAAC;IACpB,UAAU,EAAE,WAAW,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,EAAE;QACZ,aAAa,EAAE,OAAO,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,eAAe,EAAE,KAAK,GAAG,QAAQ,GAAG,KAAK,GAAG,UAAU,GAAG,WAAW,CAAC;CACtE;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CAqLnF;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAGtD"}
@@ -12,6 +12,7 @@ import { FileWatcher } from '../watcher/index.js';
12
12
  import { initDebugLogger, debugLog } from '../utils/debug-logger.js';
13
13
  import { ensureSqlewDirectory } from '../config/example-generator.js';
14
14
  import { determineProjectRoot } from '../utils/project-root.js';
15
+ import { initializeSqlewIntegrations } from '../init-skills.js';
15
16
  /**
16
17
  * Initialize server: database, config, project context, file watcher
17
18
  * Returns initialized components for server startup
@@ -166,6 +167,14 @@ export async function initializeServer(parsedArgs) {
166
167
  autoDeleteConfig: { messageHours, fileHistoryDays, ignoreWeekend },
167
168
  debugLogLevel: debugLogLevel
168
169
  });
170
+ // 5. Initialize sqlew integrations (skills + CLAUDE.md) - silent, non-blocking
171
+ try {
172
+ initializeSqlewIntegrations(finalProjectRoot);
173
+ }
174
+ catch (error) {
175
+ debugLog('WARN', 'Failed to initialize sqlew integrations', { error });
176
+ // Non-fatal - continue server startup
177
+ }
169
178
  return {
170
179
  db,
171
180
  fileConfig,
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/server/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/server/setup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Unit Tests for Case-Insensitive Validator Utility
3
+ *
4
+ * Tests all normalization and duplicate detection functions:
5
+ * - normalizeIdentifier()
6
+ * - checkNormalizedDuplicate()
7
+ * - validateNoNormalizedDuplicate()
8
+ * - findNormalizedMatch()
9
+ *
10
+ * @see src/utils/case-insensitive-validator.ts
11
+ * @since v4.0.2
12
+ */
13
+ export {};
14
+ //# sourceMappingURL=case-insensitive-validator.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"case-insensitive-validator.test.d.ts","sourceRoot":"","sources":["../../../src/tests/unit/case-insensitive-validator.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG"}
@@ -0,0 +1,390 @@
1
+ /**
2
+ * Unit Tests for Case-Insensitive Validator Utility
3
+ *
4
+ * Tests all normalization and duplicate detection functions:
5
+ * - normalizeIdentifier()
6
+ * - checkNormalizedDuplicate()
7
+ * - validateNoNormalizedDuplicate()
8
+ * - findNormalizedMatch()
9
+ *
10
+ * @see src/utils/case-insensitive-validator.ts
11
+ * @since v4.0.2
12
+ */
13
+ import { describe, it, before, after } from 'node:test';
14
+ import assert from 'node:assert';
15
+ import knex from 'knex';
16
+ import { normalizeIdentifier, checkNormalizedDuplicate, validateNoNormalizedDuplicate, findNormalizedMatch } from '../../utils/case-insensitive-validator.js';
17
+ // ============================================================================
18
+ // Test Suite: normalizeIdentifier()
19
+ // ============================================================================
20
+ describe('normalizeIdentifier()', () => {
21
+ it('should convert to lowercase', () => {
22
+ assert.strictEqual(normalizeIdentifier('DRY'), 'dry');
23
+ assert.strictEqual(normalizeIdentifier('API'), 'api');
24
+ assert.strictEqual(normalizeIdentifier('SOLID'), 'solid');
25
+ });
26
+ it('should handle kebab-case', () => {
27
+ assert.strictEqual(normalizeIdentifier('api-design'), 'apidesign');
28
+ assert.strictEqual(normalizeIdentifier('test-case-name'), 'testcasename');
29
+ assert.strictEqual(normalizeIdentifier('dry-principle'), 'dryprinciple');
30
+ });
31
+ it('should handle snake_case', () => {
32
+ assert.strictEqual(normalizeIdentifier('api_design'), 'apidesign');
33
+ assert.strictEqual(normalizeIdentifier('test_case_name'), 'testcasename');
34
+ assert.strictEqual(normalizeIdentifier('dry_principle'), 'dryprinciple');
35
+ });
36
+ it('should handle camelCase', () => {
37
+ assert.strictEqual(normalizeIdentifier('apiDesign'), 'apidesign');
38
+ assert.strictEqual(normalizeIdentifier('testCaseName'), 'testcasename');
39
+ assert.strictEqual(normalizeIdentifier('dryPrinciple'), 'dryprinciple');
40
+ });
41
+ it('should handle PascalCase', () => {
42
+ assert.strictEqual(normalizeIdentifier('ApiDesign'), 'apidesign');
43
+ assert.strictEqual(normalizeIdentifier('TestCaseName'), 'testcasename');
44
+ assert.strictEqual(normalizeIdentifier('DryPrinciple'), 'dryprinciple');
45
+ });
46
+ it('should handle mixed formats', () => {
47
+ assert.strictEqual(normalizeIdentifier('API-Design_Test'), 'apidesigntest');
48
+ assert.strictEqual(normalizeIdentifier('test_Case-Name'), 'testcasename');
49
+ assert.strictEqual(normalizeIdentifier('DRY_Principle-Test'), 'dryprincipletest');
50
+ });
51
+ it('should remove spaces', () => {
52
+ assert.strictEqual(normalizeIdentifier('api design'), 'apidesign');
53
+ assert.strictEqual(normalizeIdentifier('test case name'), 'testcasename');
54
+ assert.strictEqual(normalizeIdentifier('dry principle'), 'dryprinciple');
55
+ });
56
+ it('should handle all normalization at once', () => {
57
+ // Test: "API-Design_Test Case" → "apidesigntestcase"
58
+ // - Uppercase → lowercase
59
+ // - Hyphens removed
60
+ // - Underscores removed
61
+ // - Spaces removed
62
+ assert.strictEqual(normalizeIdentifier('API-Design_Test Case'), 'apidesigntestcase');
63
+ });
64
+ it('should be consistent for equivalent values', () => {
65
+ const variants = [
66
+ 'apiDesign',
67
+ 'api-design',
68
+ 'api_design',
69
+ 'API_DESIGN',
70
+ 'API-DESIGN',
71
+ 'ApiDesign',
72
+ 'api design'
73
+ ];
74
+ const normalized = variants.map(normalizeIdentifier);
75
+ const expected = 'apidesign';
76
+ // All should normalize to the same value
77
+ normalized.forEach((value, index) => {
78
+ assert.strictEqual(value, expected, `"${variants[index]}" should normalize to "${expected}"`);
79
+ });
80
+ });
81
+ });
82
+ // ============================================================================
83
+ // Test Suite: checkNormalizedDuplicate()
84
+ // ============================================================================
85
+ describe('checkNormalizedDuplicate()', () => {
86
+ let db;
87
+ before(async () => {
88
+ // Setup in-memory SQLite database
89
+ db = knex({
90
+ client: 'better-sqlite3',
91
+ connection: ':memory:',
92
+ useNullAsDefault: true
93
+ });
94
+ // Create test table
95
+ await db.schema.createTable('test_tags', (table) => {
96
+ table.increments('id').primary();
97
+ table.integer('project_id').notNullable();
98
+ table.string('name', 255).notNullable();
99
+ });
100
+ // Insert test data
101
+ await db('test_tags').insert([
102
+ { project_id: 1, name: 'DRY' },
103
+ { project_id: 1, name: 'api-design' },
104
+ { project_id: 1, name: 'testCase' },
105
+ { project_id: 2, name: 'SOLID' }, // Different project
106
+ { project_id: 2, name: 'API_DESIGN' } // Different project
107
+ ]);
108
+ });
109
+ after(async () => {
110
+ await db.destroy();
111
+ });
112
+ it('should return no duplicate for non-existing value', async () => {
113
+ const result = await checkNormalizedDuplicate(db, 'test_tags', 'name', 'new-tag', { project_id: 1 });
114
+ assert.strictEqual(result.isDuplicate, false);
115
+ assert.strictEqual(result.existingValue, undefined);
116
+ assert.strictEqual(result.existingId, undefined);
117
+ assert.strictEqual(result.matchType, undefined);
118
+ });
119
+ it('should return no duplicate for exact match (same value)', async () => {
120
+ // Exact match should NOT be considered a duplicate
121
+ // (e.g., updating existing record with same name)
122
+ const result = await checkNormalizedDuplicate(db, 'test_tags', 'name', 'DRY', { project_id: 1 });
123
+ assert.strictEqual(result.isDuplicate, false, 'Exact match should not be duplicate');
124
+ });
125
+ it('should detect case-only difference (matchType: case)', async () => {
126
+ const result = await checkNormalizedDuplicate(db, 'test_tags', 'name', 'dry', // lowercase vs uppercase "DRY"
127
+ { project_id: 1 });
128
+ assert.strictEqual(result.isDuplicate, true);
129
+ assert.strictEqual(result.existingValue, 'DRY');
130
+ assert.strictEqual(result.matchType, 'case');
131
+ assert.strictEqual(typeof result.existingId, 'number');
132
+ });
133
+ it('should detect naming convention difference (matchType: naming-convention)', async () => {
134
+ const result = await checkNormalizedDuplicate(db, 'test_tags', 'name', 'api_design', // snake_case vs kebab-case "api-design"
135
+ { project_id: 1 });
136
+ assert.strictEqual(result.isDuplicate, true);
137
+ assert.strictEqual(result.existingValue, 'api-design');
138
+ assert.strictEqual(result.matchType, 'naming-convention');
139
+ assert.strictEqual(typeof result.existingId, 'number');
140
+ });
141
+ it('should detect camelCase vs kebab-case difference', async () => {
142
+ const result = await checkNormalizedDuplicate(db, 'test_tags', 'name', 'test-case', // kebab-case vs camelCase "testCase"
143
+ { project_id: 1 });
144
+ assert.strictEqual(result.isDuplicate, true);
145
+ assert.strictEqual(result.existingValue, 'testCase');
146
+ assert.strictEqual(result.matchType, 'naming-convention');
147
+ });
148
+ it('should respect additionalWhere conditions (project isolation)', async () => {
149
+ // "SOLID" exists in project_id: 2, should not conflict with project_id: 1
150
+ const result = await checkNormalizedDuplicate(db, 'test_tags', 'name', 'solid', // lowercase vs "SOLID" in different project
151
+ { project_id: 1 });
152
+ assert.strictEqual(result.isDuplicate, false);
153
+ });
154
+ it('should detect duplicate in same project only', async () => {
155
+ // "SOLID" exists in project_id: 2
156
+ const result = await checkNormalizedDuplicate(db, 'test_tags', 'name', 'solid', { project_id: 2 });
157
+ assert.strictEqual(result.isDuplicate, true);
158
+ assert.strictEqual(result.existingValue, 'SOLID');
159
+ assert.strictEqual(result.matchType, 'case');
160
+ });
161
+ it('should work without additionalWhere (global check)', async () => {
162
+ const result = await checkNormalizedDuplicate(db, 'test_tags', 'name', 'dry' // Should find "DRY" in project_id: 1
163
+ );
164
+ assert.strictEqual(result.isDuplicate, true);
165
+ assert.strictEqual(result.existingValue, 'DRY');
166
+ });
167
+ it('should handle complex naming variations', async () => {
168
+ // "api-design" exists in project_id: 1
169
+ const variants = ['apiDesign', 'API_DESIGN', 'api_design', 'ApiDesign'];
170
+ for (const variant of variants) {
171
+ const result = await checkNormalizedDuplicate(db, 'test_tags', 'name', variant, { project_id: 1 });
172
+ assert.strictEqual(result.isDuplicate, true, `"${variant}" should be detected as duplicate of "api-design"`);
173
+ assert.strictEqual(result.existingValue, 'api-design');
174
+ }
175
+ });
176
+ });
177
+ // ============================================================================
178
+ // Test Suite: validateNoNormalizedDuplicate()
179
+ // ============================================================================
180
+ describe('validateNoNormalizedDuplicate()', () => {
181
+ let db;
182
+ before(async () => {
183
+ db = knex({
184
+ client: 'better-sqlite3',
185
+ connection: ':memory:',
186
+ useNullAsDefault: true
187
+ });
188
+ await db.schema.createTable('test_scopes', (table) => {
189
+ table.increments('id').primary();
190
+ table.integer('project_id').notNullable();
191
+ table.string('name', 255).notNullable();
192
+ });
193
+ await db('test_scopes').insert([
194
+ { project_id: 1, name: 'database' },
195
+ { project_id: 1, name: 'API-Gateway' }
196
+ ]);
197
+ });
198
+ after(async () => {
199
+ await db.destroy();
200
+ });
201
+ it('should not throw for non-duplicate value', async () => {
202
+ await assert.doesNotReject(async () => {
203
+ await validateNoNormalizedDuplicate(db, 'test_scopes', 'name', 'new-scope', 'scope', { project_id: 1 });
204
+ });
205
+ });
206
+ it('should throw for case-only duplicate', async () => {
207
+ await assert.rejects(async () => {
208
+ await validateNoNormalizedDuplicate(db, 'test_scopes', 'name', 'Database', // vs "database"
209
+ 'scope', { project_id: 1 });
210
+ }, {
211
+ name: 'Error',
212
+ message: /Scope "database" already exists \(case-insensitive match with "Database"\)/
213
+ });
214
+ });
215
+ it('should throw for naming convention duplicate', async () => {
216
+ await assert.rejects(async () => {
217
+ await validateNoNormalizedDuplicate(db, 'test_scopes', 'name', 'api_gateway', // vs "API-Gateway"
218
+ 'scope', { project_id: 1 });
219
+ }, {
220
+ name: 'Error',
221
+ message: /Scope "API-Gateway" already exists \(naming conflict with "api_gateway"\)/
222
+ });
223
+ });
224
+ it('should include entity type in error message (capitalized)', async () => {
225
+ await assert.rejects(async () => {
226
+ await validateNoNormalizedDuplicate(db, 'test_scopes', 'name', 'DATABASE', 'policy', // Different entity type
227
+ { project_id: 1 });
228
+ }, {
229
+ name: 'Error',
230
+ message: /Policy "database" already exists/
231
+ });
232
+ });
233
+ it('should respect project isolation', async () => {
234
+ // "database" exists in project_id: 1, but we're checking project_id: 2
235
+ await assert.doesNotReject(async () => {
236
+ await validateNoNormalizedDuplicate(db, 'test_scopes', 'name', 'DATABASE', 'scope', { project_id: 2 });
237
+ });
238
+ });
239
+ it('should work without additionalWhere', async () => {
240
+ await assert.rejects(async () => {
241
+ await validateNoNormalizedDuplicate(db, 'test_scopes', 'name', 'DATABASE', 'scope');
242
+ }, {
243
+ name: 'Error',
244
+ message: /Scope "database" already exists/
245
+ });
246
+ });
247
+ });
248
+ // ============================================================================
249
+ // Test Suite: findNormalizedMatch()
250
+ // ============================================================================
251
+ describe('findNormalizedMatch()', () => {
252
+ let db;
253
+ before(async () => {
254
+ db = knex({
255
+ client: 'better-sqlite3',
256
+ connection: ':memory:',
257
+ useNullAsDefault: true
258
+ });
259
+ await db.schema.createTable('test_layers', (table) => {
260
+ table.increments('id').primary();
261
+ table.integer('project_id').notNullable();
262
+ table.string('name', 255).notNullable();
263
+ });
264
+ await db('test_layers').insert([
265
+ { project_id: 1, name: 'presentation' },
266
+ { project_id: 1, name: 'Business-Layer' },
267
+ { project_id: 2, name: 'dataLayer' }
268
+ ]);
269
+ });
270
+ after(async () => {
271
+ await db.destroy();
272
+ });
273
+ it('should find exact match', async () => {
274
+ const result = await findNormalizedMatch(db, 'test_layers', 'name', 'presentation', { project_id: 1 });
275
+ assert.notStrictEqual(result, null);
276
+ assert.strictEqual(result.name, 'presentation');
277
+ assert.strictEqual(result.project_id, 1);
278
+ });
279
+ it('should find case-insensitive match', async () => {
280
+ const result = await findNormalizedMatch(db, 'test_layers', 'name', 'PRESENTATION', // vs "presentation"
281
+ { project_id: 1 });
282
+ assert.notStrictEqual(result, null);
283
+ assert.strictEqual(result.name, 'presentation');
284
+ });
285
+ it('should find naming convention match', async () => {
286
+ const result = await findNormalizedMatch(db, 'test_layers', 'name', 'business_layer', // vs "Business-Layer"
287
+ { project_id: 1 });
288
+ assert.notStrictEqual(result, null);
289
+ assert.strictEqual(result.name, 'Business-Layer');
290
+ });
291
+ it('should find camelCase match', async () => {
292
+ const result = await findNormalizedMatch(db, 'test_layers', 'name', 'data-layer', // vs "dataLayer"
293
+ { project_id: 2 });
294
+ assert.notStrictEqual(result, null);
295
+ assert.strictEqual(result.name, 'dataLayer');
296
+ assert.strictEqual(result.project_id, 2);
297
+ });
298
+ it('should return null for non-existing value', async () => {
299
+ const result = await findNormalizedMatch(db, 'test_layers', 'name', 'non-existing', { project_id: 1 });
300
+ assert.strictEqual(result, null);
301
+ });
302
+ it('should respect project isolation', async () => {
303
+ // "dataLayer" exists in project_id: 2, but not in project_id: 1
304
+ const result = await findNormalizedMatch(db, 'test_layers', 'name', 'dataLayer', { project_id: 1 });
305
+ assert.strictEqual(result, null);
306
+ });
307
+ it('should work without additionalWhere (global search)', async () => {
308
+ const result = await findNormalizedMatch(db, 'test_layers', 'name', 'PRESENTATION');
309
+ assert.notStrictEqual(result, null);
310
+ assert.strictEqual(result.name, 'presentation');
311
+ });
312
+ it('should return complete record with all fields', async () => {
313
+ const result = await findNormalizedMatch(db, 'test_layers', 'name', 'business-layer', { project_id: 1 });
314
+ assert.notStrictEqual(result, null);
315
+ assert.strictEqual(typeof result.id, 'number');
316
+ assert.strictEqual(result.project_id, 1);
317
+ assert.strictEqual(result.name, 'Business-Layer');
318
+ });
319
+ });
320
+ // ============================================================================
321
+ // Integration Tests: Real-world scenarios
322
+ // ============================================================================
323
+ describe('Integration: Real-world scenarios', () => {
324
+ let db;
325
+ before(async () => {
326
+ db = knex({
327
+ client: 'better-sqlite3',
328
+ connection: ':memory:',
329
+ useNullAsDefault: true
330
+ });
331
+ await db.schema.createTable('test_policies', (table) => {
332
+ table.increments('id').primary();
333
+ table.integer('project_id').notNullable();
334
+ table.string('name', 255).notNullable();
335
+ });
336
+ });
337
+ after(async () => {
338
+ await db.destroy();
339
+ });
340
+ it('should prevent duplicate policy creation with different formats', async () => {
341
+ // Create initial policy
342
+ await db('test_policies').insert({
343
+ project_id: 1,
344
+ name: 'api-design-pattern'
345
+ });
346
+ // Try to create duplicates with different formats
347
+ const duplicateVariants = [
348
+ 'apiDesignPattern',
349
+ 'API_DESIGN_PATTERN',
350
+ 'api_design_pattern',
351
+ 'ApiDesignPattern'
352
+ ];
353
+ for (const variant of duplicateVariants) {
354
+ await assert.rejects(async () => {
355
+ await validateNoNormalizedDuplicate(db, 'test_policies', 'name', variant, 'policy', { project_id: 1 });
356
+ }, {
357
+ name: 'Error',
358
+ message: /Policy "api-design-pattern" already exists/
359
+ }, `Should reject duplicate: ${variant}`);
360
+ }
361
+ });
362
+ it('should allow same name in different projects', async () => {
363
+ // Policy exists in project_id: 1
364
+ await assert.doesNotReject(async () => {
365
+ await validateNoNormalizedDuplicate(db, 'test_policies', 'name', 'apiDesignPattern', // Same normalized value, different project
366
+ 'policy', { project_id: 2 });
367
+ });
368
+ // Insert should succeed
369
+ await db('test_policies').insert({
370
+ project_id: 2,
371
+ name: 'apiDesignPattern'
372
+ });
373
+ });
374
+ it('should find existing record regardless of format', async () => {
375
+ // Original: "api-design-pattern" in project_id: 1
376
+ const searchVariants = [
377
+ 'api-design-pattern',
378
+ 'apiDesignPattern',
379
+ 'API_DESIGN_PATTERN',
380
+ 'api_design_pattern'
381
+ ];
382
+ for (const variant of searchVariants) {
383
+ const result = await findNormalizedMatch(db, 'test_policies', 'name', variant, { project_id: 1 });
384
+ assert.notStrictEqual(result, null, `Should find match for: ${variant}`);
385
+ assert.strictEqual(result.name, 'api-design-pattern');
386
+ assert.strictEqual(result.project_id, 1);
387
+ }
388
+ });
389
+ });
390
+ //# sourceMappingURL=case-insensitive-validator.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"case-insensitive-validator.test.js","sourceRoot":"","sources":["../../../src/tests/unit/case-insensitive-validator.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../src/tools/tasks/actions/get.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAM7D;;GAEG;AACH,wBAAsB,OAAO,CAAC,MAAM,EAAE;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,CAkG1C"}
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../src/tools/tasks/actions/get.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAM7D;;GAEG;AACH,wBAAsB,OAAO,CAAC,MAAM,EAAE;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,CA+F1C"}