doc-freshness-checker 2.2.0 → 2.2.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 (69) hide show
  1. package/README.md +20 -7
  2. package/dist/cli.d.ts +0 -1
  3. package/dist/cli.js +0 -6
  4. package/dist/cli.js.map +1 -1
  5. package/dist/cli.test.js +1 -29
  6. package/dist/cli.test.js.map +1 -1
  7. package/dist/config/defaults.d.ts +2 -1
  8. package/dist/config/defaults.js +2 -1
  9. package/dist/config/defaults.js.map +1 -1
  10. package/dist/config/validateConfig.js +17 -1
  11. package/dist/config/validateConfig.js.map +1 -1
  12. package/dist/config/validateConfig.test.js +23 -0
  13. package/dist/config/validateConfig.test.js.map +1 -1
  14. package/dist/parsers/documentParser.js +12 -8
  15. package/dist/parsers/documentParser.js.map +1 -1
  16. package/dist/parsers/documentParser.test.js +40 -0
  17. package/dist/parsers/documentParser.test.js.map +1 -1
  18. package/dist/parsers/extractors/codeSnippetExtractor.d.ts +3 -4
  19. package/dist/parsers/extractors/codeSnippetExtractor.js +21 -32
  20. package/dist/parsers/extractors/codeSnippetExtractor.js.map +1 -1
  21. package/dist/parsers/extractors/codeSnippetExtractor.test.js +37 -0
  22. package/dist/parsers/extractors/codeSnippetExtractor.test.js.map +1 -1
  23. package/dist/parsers/extractors/externalUrlExtractor.test.js +27 -52
  24. package/dist/parsers/extractors/externalUrlExtractor.test.js.map +1 -1
  25. package/dist/runner.js +3 -11
  26. package/dist/runner.js.map +1 -1
  27. package/dist/runner.test.js +72 -73
  28. package/dist/runner.test.js.map +1 -1
  29. package/dist/source/sourceIndex.d.ts +1 -1
  30. package/dist/source/sourceIndex.js +61 -55
  31. package/dist/source/sourceIndex.js.map +1 -1
  32. package/dist/source/sourceIndex.largeGlob.test.js +13 -6
  33. package/dist/source/sourceIndex.largeGlob.test.js.map +1 -1
  34. package/dist/source/sourceIndex.test.js +65 -17
  35. package/dist/source/sourceIndex.test.js.map +1 -1
  36. package/dist/types.d.ts +7 -0
  37. package/dist/utils/pathSecurity.d.ts +5 -0
  38. package/dist/utils/pathSecurity.js +21 -0
  39. package/dist/utils/pathSecurity.js.map +1 -1
  40. package/dist/utils/pathSecurity.test.js +29 -1
  41. package/dist/utils/pathSecurity.test.js.map +1 -1
  42. package/dist/validators/codePatternValidator.js +1 -7
  43. package/dist/validators/codePatternValidator.js.map +1 -1
  44. package/dist/validators/codePatternValidator.test.js +4 -4
  45. package/dist/validators/codePatternValidator.test.js.map +1 -1
  46. package/dist/validators/codeSnippetValidator.d.ts +6 -0
  47. package/dist/validators/codeSnippetValidator.js +45 -27
  48. package/dist/validators/codeSnippetValidator.js.map +1 -1
  49. package/dist/validators/codeSnippetValidator.test.js +99 -0
  50. package/dist/validators/codeSnippetValidator.test.js.map +1 -1
  51. package/dist/validators/directoryValidator.d.ts +0 -1
  52. package/dist/validators/directoryValidator.js +18 -19
  53. package/dist/validators/directoryValidator.js.map +1 -1
  54. package/dist/validators/directoryValidator.test.js +44 -0
  55. package/dist/validators/directoryValidator.test.js.map +1 -1
  56. package/dist/validators/fileValidator.js +16 -25
  57. package/dist/validators/fileValidator.js.map +1 -1
  58. package/dist/validators/fileValidator.test.js +25 -0
  59. package/dist/validators/fileValidator.test.js.map +1 -1
  60. package/package.json +6 -8
  61. package/dist/config/defineConfig.test.d.ts +0 -1
  62. package/dist/config/defineConfig.test.js +0 -10
  63. package/dist/config/defineConfig.test.js.map +0 -1
  64. package/dist/utils/parallel.d.ts +0 -14
  65. package/dist/utils/parallel.js +0 -43
  66. package/dist/utils/parallel.js.map +0 -1
  67. package/dist/utils/parallel.test.d.ts +0 -1
  68. package/dist/utils/parallel.test.js +0 -48
  69. package/dist/utils/parallel.test.js.map +0 -1
@@ -1,4 +1,7 @@
1
+ import fs from 'fs';
1
2
  import path from 'path';
3
+ // Paths that cannot exist: absent, through a file, a symlink loop, a name too long, or a NUL byte.
4
+ const MISSING_PATH_CODES = new Set(['ENOENT', 'ENOTDIR', 'ELOOP', 'ENAMETOOLONG', 'ERR_INVALID_ARG_VALUE']);
2
5
  /**
3
6
  * Returns true if candidatePath is equal to or nested within rootDir.
4
7
  */
@@ -7,6 +10,24 @@ export function isWithinRoot(candidatePath, rootDir) {
7
10
  const resolvedCandidate = path.resolve(candidatePath);
8
11
  return resolvedCandidate === resolvedRoot || resolvedCandidate.startsWith(resolvedRoot + path.sep);
9
12
  }
13
+ /**
14
+ * Resolves symlinks in both paths, so a link inside rootDir that points outside it reports 'outside'.
15
+ * Throws on filesystem errors other than a missing path, such as EACCES.
16
+ */
17
+ export async function locateRealPath(candidatePath, rootDir) {
18
+ let realCandidate;
19
+ try {
20
+ realCandidate = await fs.promises.realpath(candidatePath);
21
+ }
22
+ catch (error) {
23
+ if (MISSING_PATH_CODES.has(error.code ?? '')) {
24
+ return 'missing';
25
+ }
26
+ throw error;
27
+ }
28
+ const realRoot = await fs.promises.realpath(rootDir);
29
+ return isWithinRoot(realCandidate, realRoot) ? 'inside' : 'outside';
30
+ }
10
31
  /**
11
32
  * Resolve project root from config or process cwd.
12
33
  */
@@ -1 +1 @@
1
- {"version":3,"file":"pathSecurity.js","sourceRoot":"","sources":["../../src/utils/pathSecurity.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,aAAqB,EAAE,OAAe;IACjE,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACtD,OAAO,iBAAiB,KAAK,YAAY,IAAI,iBAAiB,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;AACrG,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,aAAsB;IACvD,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AACtD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe,EAAE,YAAoB;IACtE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"pathSecurity.js","sourceRoot":"","sources":["../../src/utils/pathSecurity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,mGAAmG;AACnG,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,uBAAuB,CAAC,CAAC,CAAC;AAE5G;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,aAAqB,EAAE,OAAe;IACjE,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACtD,OAAO,iBAAiB,KAAK,YAAY,IAAI,iBAAiB,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;AACrG,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,aAAqB,EAAE,OAAe;IACzE,IAAI,aAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,aAAa,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,kBAAkB,CAAC,GAAG,CAAE,KAA+B,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC;YACxE,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACrD,OAAO,YAAY,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AACtE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,aAAsB;IACvD,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AACtD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe,EAAE,YAAoB;IACtE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;AAC3D,CAAC"}
@@ -1,5 +1,7 @@
1
+ import fs from 'fs';
2
+ import os from 'os';
1
3
  import path from 'path';
2
- import { isWithinRoot, resolveProjectRoot, resolveDocumentDir } from './pathSecurity.js';
4
+ import { isWithinRoot, locateRealPath, resolveProjectRoot, resolveDocumentDir } from './pathSecurity.js';
3
5
  describe('isWithinRoot', () => {
4
6
  const root = '/project';
5
7
  it.each([
@@ -16,6 +18,32 @@ describe('isWithinRoot', () => {
16
18
  expect(isWithinRoot('/project/../other', root)).toBe(false);
17
19
  });
18
20
  });
21
+ describe('locateRealPath', () => {
22
+ it('reports missing paths and rethrows other filesystem errors', async () => {
23
+ const realpath = fs.promises.realpath;
24
+ const rootDir = await fs.promises.mkdtemp(path.join(os.tmpdir(), 'doc-freshness-path-security-'));
25
+ try {
26
+ const file = path.join(rootDir, 'file.txt');
27
+ await fs.promises.writeFile(file, '');
28
+ await expect(locateRealPath(path.join(rootDir, 'absent'), rootDir)).resolves.toBe('missing');
29
+ await expect(locateRealPath(path.join(file, 'child'), rootDir)).resolves.toBe('missing');
30
+ await fs.promises.symlink('loop-b', path.join(rootDir, 'loop-a'));
31
+ await fs.promises.symlink('loop-a', path.join(rootDir, 'loop-b'));
32
+ await expect(locateRealPath(path.join(rootDir, 'loop-a'), rootDir)).resolves.toBe('missing');
33
+ await expect(locateRealPath(path.join(rootDir, 'a'.repeat(300)), rootDir)).resolves.toBe('missing');
34
+ await expect(locateRealPath(path.join(rootDir, 'a\0b'), rootDir)).resolves.toBe('missing');
35
+ const permissionError = Object.assign(new Error('permission denied'), { code: 'EACCES' });
36
+ vi.spyOn(fs.promises, 'realpath').mockRejectedValueOnce(permissionError);
37
+ await expect(locateRealPath(file, rootDir)).rejects.toBe(permissionError);
38
+ vi.spyOn(fs.promises, 'realpath').mockImplementation(async (candidate, options) => candidate === rootDir ? Promise.reject(permissionError) : realpath(candidate, options));
39
+ await expect(locateRealPath(file, rootDir)).rejects.toBe(permissionError);
40
+ }
41
+ finally {
42
+ vi.restoreAllMocks();
43
+ await fs.promises.rm(rootDir, { recursive: true, force: true });
44
+ }
45
+ });
46
+ });
19
47
  describe('resolveProjectRoot', () => {
20
48
  it('returns resolved configRootDir when provided', () => {
21
49
  expect(resolveProjectRoot('/my/project')).toBe(path.resolve('/my/project'));
@@ -1 +1 @@
1
- {"version":3,"file":"pathSecurity.test.js","sourceRoot":"","sources":["../../src/utils/pathSecurity.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEzF,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,MAAM,IAAI,GAAG,UAAU,CAAC;IAExB,EAAE,CAAC,IAAI,CAAC;QACN,CAAC,sBAAsB,EAAE,IAAI,CAAC;QAC9B,CAAC,UAAU,EAAE,IAAI,CAAC;QAClB,CAAC,8BAA8B,EAAE,IAAI,CAAC;QACtC,CAAC,cAAc,EAAE,KAAK,CAAC;QACvB,CAAC,uBAAuB,EAAE,KAAK,CAAC;KACjC,CAAC,CAAC,kCAAkC,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE;QAC7D,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,CAAC,YAAY,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrE,MAAM,CAAC,YAAY,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC/D,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,MAAM,GAAG,kBAAkB,CAAC,UAAU,EAAE,sBAAsB,CAAC,CAAC;QACtE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"pathSecurity.test.js","sourceRoot":"","sources":["../../src/utils/pathSecurity.test.ts"],"names":[],"mappings":"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"}
@@ -25,13 +25,7 @@ export class CodePatternValidator {
25
25
  if (this.sourceIndex) {
26
26
  return;
27
27
  }
28
- try {
29
- this.useSnapshot(await this.index.load(config, 'pattern'));
30
- }
31
- catch (error) {
32
- this.useSnapshot(await this.index.load(config, 'pattern'));
33
- throw error;
34
- }
28
+ this.useSnapshot(await this.index.load(config, 'pattern'));
35
29
  }
36
30
  useSnapshot(snapshot) {
37
31
  this.sourceIndex = snapshot.symbols;
@@ -1 +1 @@
1
- {"version":3,"file":"codePatternValidator.js","sourceRoot":"","sources":["../../src/validators/codePatternValidator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codePatternValidator.js","sourceRoot":"","sources":["../../src/validators/codePatternValidator.ts"],"names":[],"mappings":"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"}
@@ -68,12 +68,12 @@ describe('CodePatternValidator', () => {
68
68
  await fs.promises.rm(rootDir, { recursive: true, force: true });
69
69
  }
70
70
  });
71
- it('marks source inputs unavailable when source discovery fails', async () => {
71
+ it('rejects source inputs when source discovery fails', async () => {
72
72
  const validator = new CodePatternValidator();
73
73
  const invalidConfig = { rootDir: process.cwd(), sourcePatterns: [null] };
74
- expect(await validator.getIncrementalInputs([], doc, invalidConfig)).toBeNull();
74
+ await expect(validator.getIncrementalInputs([], doc, invalidConfig)).rejects.toThrow('Could not scan source pattern null');
75
75
  });
76
- it('marks source inputs unavailable when a matched source file is unreadable', async () => {
76
+ it('rejects source inputs when a matched source file is unreadable', async () => {
77
77
  const rootDir = await fs.promises.mkdtemp(path.join(os.tmpdir(), 'code-pattern-unreadable-'));
78
78
  const sourceDir = path.join(rootDir, 'src');
79
79
  const sourcePath = path.join(sourceDir, 'source.ts');
@@ -88,7 +88,7 @@ describe('CodePatternValidator', () => {
88
88
  });
89
89
  try {
90
90
  const validator = new CodePatternValidator();
91
- await expect(validator.getIncrementalInputs([], doc, { rootDir, sourcePatterns: ['src/**/*.ts'] })).resolves.toBeNull();
91
+ await expect(validator.getIncrementalInputs([], doc, { rootDir, sourcePatterns: ['src/**/*.ts'] })).rejects.toThrow(`Could not read source file ${sourcePath}: permission denied`);
92
92
  }
93
93
  finally {
94
94
  readSpy.mockRestore();
@@ -1 +1 @@
1
- {"version":3,"file":"codePatternValidator.test.js","sourceRoot":"","sources":["../../src/validators/codePatternValidator.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codePatternValidator.test.js","sourceRoot":"","sources":["../../src/validators/codePatternValidator.test.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,12 @@ export declare class CodeSnippetValidator {
29
29
  private legacyImportSpecifiers;
30
30
  private extractSpecifiersByPrefix;
31
31
  private validateFunctionParameterNames;
32
+ /** Custom extractors can set any value; an impossible count is treated as all-positional, the strictest reading. */
33
+ private keywordArgumentCount;
34
+ private acceptsArity;
35
+ /** How many arguments a call must add or remove to fit the signature; 0 means it fits. */
36
+ private arityDistance;
37
+ private maxPositional;
32
38
  private parameterNamesMatch;
33
39
  getFunctionSignatures(): Map<string, FunctionSignature[]> | null;
34
40
  getInterfaceKeys(): Map<string, Set<string>> | null;
@@ -56,13 +56,7 @@ export class CodeSnippetValidator {
56
56
  if (this.sourceFiles) {
57
57
  return;
58
58
  }
59
- try {
60
- this.useSnapshot(await this.index.load(config, 'snippet'));
61
- }
62
- catch (error) {
63
- this.useSnapshot(await this.index.load(config, 'snippet'));
64
- throw error;
65
- }
59
+ this.useSnapshot(await this.index.load(config, 'snippet'));
66
60
  }
67
61
  useSnapshot(snapshot) {
68
62
  this.sourceFiles = snapshot.snippetFiles;
@@ -208,6 +202,7 @@ export class CodeSnippetValidator {
208
202
  validateFunctionCall(ref, config) {
209
203
  const funcName = ref.value;
210
204
  const snippetArity = parseInt(ref.linkText || '0', 10);
205
+ const keywordCount = this.keywordArgumentCount(ref, snippetArity);
211
206
  if (isIllustrativeSymbol(funcName)) {
212
207
  return {
213
208
  reference: ref,
@@ -225,10 +220,18 @@ export class CodeSnippetValidator {
225
220
  message: `Function ${funcName} not found in project source (may be external)`,
226
221
  };
227
222
  }
223
+ if (ref.unpacksArguments) {
224
+ return {
225
+ reference: ref,
226
+ valid: true,
227
+ skipped: true,
228
+ message: `Function ${funcName} call spreads or unpacks arguments, so its argument count is not checked`,
229
+ };
230
+ }
228
231
  // A call is valid if any signature can accept this many arguments
229
- const compatible = signatures.find((sig) => snippetArity >= sig.requiredParams && snippetArity <= sig.params.length);
232
+ const compatible = signatures.find((sig) => this.acceptsArity(sig, snippetArity, keywordCount));
230
233
  if (compatible) {
231
- const parameterNamesResult = this.validateFunctionParameterNames(ref, compatible, signatures, config);
234
+ const parameterNamesResult = this.validateFunctionParameterNames(ref, keywordCount, compatible, signatures, config);
232
235
  if (parameterNamesResult) {
233
236
  return parameterNamesResult;
234
237
  }
@@ -238,19 +241,21 @@ export class CodeSnippetValidator {
238
241
  foundIn: [compatible.filePath],
239
242
  };
240
243
  }
241
- const closest = signatures.reduce((prev, curr) => {
242
- const prevMid = (prev.requiredParams + prev.params.length) / 2;
243
- const currMid = (curr.requiredParams + curr.params.length) / 2;
244
- return Math.abs(snippetArity - currMid) < Math.abs(snippetArity - prevMid) ? curr : prev;
245
- });
246
- const arityDesc = closest.requiredParams === closest.params.length
247
- ? String(closest.params.length)
248
- : `${closest.requiredParams}–${closest.params.length}`;
244
+ const closest = signatures.reduce((prev, curr) => this.arityDistance(curr, snippetArity, keywordCount) < this.arityDistance(prev, snippetArity, keywordCount) ? curr : prev);
245
+ const maxPositional = this.maxPositional(closest);
246
+ const arityDesc = closest.restIndex !== undefined
247
+ ? `at least ${closest.requiredParams}`
248
+ : closest.requiredParams === maxPositional
249
+ ? String(maxPositional)
250
+ : `${closest.requiredParams}–${maxPositional}`;
251
+ const message = closest.keywordRestIndex !== undefined && closest.restIndex === undefined
252
+ ? `Function ${funcName} called with ${snippetArity - keywordCount} positional arg(s) but expects ${arityDesc} positional`
253
+ : `Function ${funcName} called with ${snippetArity} arg(s) but expects ${arityDesc}`;
249
254
  return {
250
255
  reference: ref,
251
256
  valid: false,
252
257
  severity: getRuleSeverity(config, 'code-snippet', 'warning'),
253
- message: `Function ${funcName} called with ${snippetArity} arg(s) but expects ${arityDesc}`,
258
+ message,
254
259
  suggestion: `Current signature: ${funcName}(${closest.params.join(', ')})`,
255
260
  foundIn: signatures.map((s) => s.filePath),
256
261
  };
@@ -313,14 +318,13 @@ export class CodeSnippetValidator {
313
318
  return value ? [value] : [];
314
319
  });
315
320
  }
316
- validateFunctionParameterNames(ref, compatible, signatures, config) {
321
+ validateFunctionParameterNames(ref, keywordCount, compatible, signatures, config) {
317
322
  const argumentNames = ref.argumentNames;
318
323
  if (!argumentNames || argumentNames.length === 0) {
319
324
  return null;
320
325
  }
321
- const compatibleByNames = signatures.find((signature) => argumentNames.length >= signature.requiredParams &&
322
- argumentNames.length <= signature.params.length &&
323
- this.parameterNamesMatch(argumentNames, signature.params));
326
+ const compatibleByNames = signatures.find((signature) => this.acceptsArity(signature, argumentNames.length, keywordCount) &&
327
+ this.parameterNamesMatch(argumentNames.slice(0, Math.max(0, argumentNames.length - keywordCount)), signature));
324
328
  if (compatibleByNames) {
325
329
  return null;
326
330
  }
@@ -333,11 +337,25 @@ export class CodeSnippetValidator {
333
337
  foundIn: signatures.map((signature) => signature.filePath),
334
338
  };
335
339
  }
336
- parameterNamesMatch(argumentNames, parameterNames) {
337
- if (argumentNames.length > parameterNames.length) {
338
- return false;
339
- }
340
- return argumentNames.every((name, index) => name === parameterNames[index]);
340
+ /** Custom extractors can set any value; an impossible count is treated as all-positional, the strictest reading. */
341
+ keywordArgumentCount(ref, arity) {
342
+ const count = ref.keywordArgumentCount;
343
+ return count !== undefined && Number.isInteger(count) && count >= 0 && count <= arity ? count : 0;
344
+ }
345
+ acceptsArity(signature, arity, keywordCount) {
346
+ return this.arityDistance(signature, arity, keywordCount) === 0;
347
+ }
348
+ /** How many arguments a call must add or remove to fit the signature; 0 means it fits. */
349
+ arityDistance(signature, arity, keywordCount) {
350
+ const maxArity = signature.restIndex === undefined && signature.keywordRestIndex === undefined ? signature.params.length : Infinity;
351
+ return Math.max(signature.requiredParams - arity, arity - maxArity, arity - keywordCount - this.maxPositional(signature), 0);
352
+ }
353
+ maxPositional(signature) {
354
+ return signature.restIndex === undefined ? (signature.keywordRestIndex ?? signature.params.length) : Infinity;
355
+ }
356
+ parameterNamesMatch(argumentNames, signature) {
357
+ const positionalCount = signature.restIndex ?? signature.keywordRestIndex ?? signature.params.length;
358
+ return argumentNames.slice(0, positionalCount).every((name, index) => name === signature.params[index]);
341
359
  }
342
360
  // Exposed for testing / integration
343
361
  getFunctionSignatures() {
@@ -1 +1 @@
1
- {"version":3,"file":"codeSnippetValidator.js","sourceRoot":"","sources":["../../src/validators/codeSnippetValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAC7G,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,+BAA+B,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAWnH;;;;;;;GAOG;AACH,MAAM,OAAO,oBAAoB;IAQF;IAPrB,WAAW,GAAuC,IAAI,CAAC;IACvD,kBAAkB,GAA4C,IAAI,CAAC;IACnE,aAAa,GAAoC,IAAI,CAAC;IACtD,aAAa,GAAoC,IAAI,CAAC;IACtD,cAAc,GAAa,EAAE,CAAC;IAGtC,YAA6B,QAAQ,IAAI,WAAW,EAAE;QAAzB,UAAK,GAAL,KAAK,CAAoB;IAAG,CAAC;IAE1D,KAAK,CAAC,aAAa,CAAC,UAAuB,EAAE,SAAmB,EAAE,MAA0B;QAC1F,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAE9B,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,cAAc,CAAsC,CAAC;QACvF,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACpC,OAAO,OAAO,CAAC,GAAG,CAChB,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC3B,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;gBACjB,KAAK,QAAQ;oBACX,OAAO,UAAU,EAAE,eAAe,KAAK,KAAK;wBAC1C,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,4BAA4B,EAAE;wBACvF,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBAEvC,KAAK,eAAe;oBAClB,OAAO,UAAU,EAAE,qBAAqB,KAAK,KAAK;wBAChD,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,mCAAmC,EAAE;wBAC9F,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBAE7C,KAAK,aAAa;oBAChB,OAAO,UAAU,EAAE,kBAAkB,KAAK,KAAK;wBAC7C,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,gCAAgC,EAAE;wBAC3F,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBAE3C;oBACE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC;YAC3F,CAAC;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,kBAAkB,CAAC,UAAkC;QAC3D,MAAM,cAAc,GAAG,UAAU,EAAE,oBAAoB,CAAC;QACxD,IAAI,CAAC,cAAc,GAAG,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3G,CAAC;IAED,8EAA8E;IAC9E,iBAAiB;IACjB,8EAA8E;IAEtE,KAAK,CAAC,UAAU,CAAC,MAA0B;QACjD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;YAC3D,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,QAA6B;QAC/C,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC,kBAAkB,CAAC;QACtD,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;QAC5C,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;IAC9C,CAAC;IAED,8EAA8E;IAC9E,oBAAoB;IACpB,8EAA8E;IAEtE,KAAK,CAAC,cAAc,CAAC,GAAc,EAAE,MAA0B;QACrE,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC;QAC7B,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,cAAc,CAAsC,CAAC;QACvF,MAAM,gBAAgB,GAAG,UAAU,EAAE,gBAAgB,KAAK,KAAK,CAAC;QAChE,MAAM,YAAY,GAAG,kBAAkB,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAEzE,IAAI,YAAY,IAAI,gBAAgB,EAAE,CAAC;YACrC,OAAO,+BAA+B,CAAC,GAAG,EAAE,mDAAmD,CAAC,CAAC;QACnG,CAAC;QAED,MAAM,gBAAgB,GACpB,GAAG,CAAC,gBAAgB,IAAI,GAAG,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE7H,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAEpF,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxF,OAAO;oBACL,SAAS,EAAE,GAAG;oBACd,KAAK,EAAE,IAAI;oBACX,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,GAAG,GAAG,CAAC,QAAQ,mEAAmE;iBAC5F,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,SAAS,EAAE,GAAG;gBACd,KAAK,EAAE,KAAK;gBACZ,QAAQ,EAAE,uBAAuB,CAAC,YAAY,EAAE,eAAe,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;gBACnG,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,yCAAyC,UAAU,EAAE,CAAC,CAAC,CAAC,0BAA0B,UAAU,EAAE;gBACtH,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;aAC/C,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,yBAAyB,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QAChF,MAAM,cAAc,GAAG,IAAI,CAAC,yBAAyB,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;QAEpF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzD,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;YACtD,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAChD,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACjE,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5F,MAAM,OAAO,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,cAAc,CAAC,CAAC;YAErD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACxC,MAAM,WAAW,GAAG;oBAClB,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;wBAC7B,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;wBACjD,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,MAAM,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;oBACrD,CAAC,CAAC;oBACF,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBAChG,CAAC;gBAEF,OAAO;oBACL,SAAS,EAAE,GAAG;oBACd,KAAK,EAAE,KAAK;oBACZ,QAAQ,EAAE,uBAAuB,CAAC,YAAY,EAAE,eAAe,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;oBACnG,OAAO,EAAE,YAAY;wBACnB,CAAC,CAAC,+BAA+B,YAAY,oBAAoB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;wBACrF,CAAC,CAAC,+BAA+B,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACxE,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;oBACxG,YAAY;iBACb,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IACvD,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,UAAkB,EAAE,QAA4B,EAAE,MAA0B;QAC1G,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;QAClE,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9C,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC3C,MAAM,QAAQ,GAAG,IAAI,GAAG,SAAS,CAAC;YAClC,OAAO,CAAC,QAAQ,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,QAAQ,GAAG,GAAG,EAAE,GAAG,QAAQ,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QACjG,CAAC,CAAC,CAAC;QAEH,0CAA0C;QAC1C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACrC,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QAED,sBAAsB;QACtB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAChD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;gBACxD,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM,CAAC;gBACL,cAAc;YAChB,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,uBAAuB,CAAC,UAAkB,EAAE,MAA0B;QAClF,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACrE,MAAM,UAAU,GAAG,CAAC,SAAS,GAAG,KAAK,EAAE,SAAS,GAAG,cAAc,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAEhD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACrC,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QAED,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;gBACxD,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM,CAAC;gBACL,cAAc;YAChB,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,iBAAiB,CAAC,UAAkB;QAC1C,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;QAClE,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;YACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YAC/E,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzB,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,iBAAiB,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAC5D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,kBAAkB,CAAC,QAAgB;QACzC,OAAO,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;IACxD,CAAC;IAED,8EAA8E;IAC9E,2BAA2B;IAC3B,8EAA8E;IAEtE,oBAAoB,CAAC,GAAc,EAAE,MAA0B;QACrE,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC;QAC3B,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;QAEvD,IAAI,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,OAAO;gBACL,SAAS,EAAE,GAAG;gBACd,KAAK,EAAE,IAAI;gBACX,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,YAAY,QAAQ,6DAA6D;aAC3F,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE1D,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3C,OAAO;gBACL,SAAS,EAAE,GAAG;gBACd,KAAK,EAAE,IAAI;gBACX,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,YAAY,QAAQ,gDAAgD;aAC9E,CAAC;QACJ,CAAC;QAED,kEAAkE;QAClE,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,IAAI,GAAG,CAAC,cAAc,IAAI,YAAY,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAErH,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,oBAAoB,GAAG,IAAI,CAAC,8BAA8B,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;YACtG,IAAI,oBAAoB,EAAE,CAAC;gBACzB,OAAO,oBAAoB,CAAC;YAC9B,CAAC;YAED,OAAO;gBACL,SAAS,EAAE,GAAG;gBACd,KAAK,EAAE,IAAI;gBACX,OAAO,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;aAC/B,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;YAC/C,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC/D,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC/D,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3F,CAAC,CAAC,CAAC;QAEH,MAAM,SAAS,GACb,OAAO,CAAC,cAAc,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM;YAC9C,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;YAC/B,CAAC,CAAC,GAAG,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAE3D,OAAO;YACL,SAAS,EAAE,GAAG;YACd,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,eAAe,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,CAAC;YAC5D,OAAO,EAAE,YAAY,QAAQ,gBAAgB,YAAY,uBAAuB,SAAS,EAAE;YAC3F,UAAU,EAAE,sBAAsB,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YAC1E,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;SAC3C,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,wBAAwB;IACxB,8EAA8E;IAEtE,kBAAkB,CAAC,GAAc,EAAE,MAA0B;QACnE,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAE9B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;gBACL,SAAS,EAAE,GAAG;gBACd,KAAK,EAAE,IAAI;gBACX,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,0CAA0C;aACpD,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEpD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;gBACL,SAAS,EAAE,GAAG;gBACd,KAAK,EAAE,IAAI;gBACX,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,QAAQ,QAAQ,8BAA8B;aACxD,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAEjE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACzC,CAAC;QAED,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACtC,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;YAChD,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,SAAS,EAAE,GAAG;YACd,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,eAAe,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,CAAC;YAC5D,OAAO,EAAE,8BAA8B,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACxE,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;SACzG,CAAC;IACJ,CAAC;IAEO,sBAAsB,CAAC,QAAiB;QAC9C,OAAO,QAAQ;YACb,CAAC,CAAC,QAAQ;iBACL,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;iBAC9B,MAAM,CAAC,OAAO,CAAC;iBACf,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,MAAM,EAAE,CAAC;YACvC,CAAC,CAAC,EAAE,CAAC;IACT,CAAC;IAEO,yBAAyB,CAAC,gBAA0B,EAAE,MAAc;QAC1E,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YAC5C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClC,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC7C,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,8BAA8B,CACpC,GAAc,EACd,UAA6B,EAC7B,UAA+B,EAC/B,MAA0B;QAE1B,MAAM,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC;QACxC,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,iBAAiB,GAAG,UAAU,CAAC,IAAI,CACvC,CAAC,SAAS,EAAE,EAAE,CACZ,aAAa,CAAC,MAAM,IAAI,SAAS,CAAC,cAAc;YAChD,aAAa,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM;YAC/C,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,SAAS,CAAC,MAAM,CAAC,CAC5D,CAAC;QAEF,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,SAAS,EAAE,GAAG;YACd,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,eAAe,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,CAAC;YAC5D,OAAO,EAAE,YAAY,GAAG,CAAC,KAAK,6CAA6C,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACrG,UAAU,EAAE,sBAAsB,GAAG,CAAC,KAAK,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YAC9E,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC;SAC3D,CAAC;IACJ,CAAC;IAEO,mBAAmB,CAAC,aAAuB,EAAE,cAAwB;QAC3E,IAAI,aAAa,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC;YACjD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,oCAAoC;IACpC,qBAAqB;QACnB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;CACF"}
1
+ {"version":3,"file":"codeSnippetValidator.js","sourceRoot":"","sources":["../../src/validators/codeSnippetValidator.ts"],"names":[],"mappings":"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"}
@@ -216,6 +216,105 @@ describe('CodeSnippetValidator', () => {
216
216
  expect(results[0].suggestion).toContain('createUser(name, email, role)');
217
217
  });
218
218
  });
219
+ it('accepts any number of arguments for rest parameters and reports too few as a minimum', async () => {
220
+ await withTempSourceFiles({
221
+ 'src/api.ts': 'export function log(level: string, ...messages: string[]) { return [level, ...messages]; }\n',
222
+ 'src/api.py': 'def gather(first, *rest): pass\n',
223
+ }, async (tempConfig) => {
224
+ const validator = new CodeSnippetValidator();
225
+ const results = await validator.validateBatch([
226
+ makeRef('function-call', 'log', { argumentNames: ['level', 'first', 'second', 'third'], linkText: '4', raw: 'log(...)' }),
227
+ makeRef('function-call', 'gather', { linkText: '3', raw: 'gather(a, b, c)', language: 'python' }),
228
+ makeRef('function-call', 'log', { linkText: '0', raw: 'log()' }),
229
+ ], doc, tempConfig);
230
+ expect(results[0].valid).toBe(true);
231
+ expect(results[1].valid).toBe(true);
232
+ expect(results[2].valid).toBe(false);
233
+ expect(results[2].message).toContain('expects at least 1');
234
+ });
235
+ });
236
+ it('lets **kwargs absorb keyword arguments but not positional arguments', async () => {
237
+ await withTempSourceFiles({
238
+ 'src/api.py': 'def configure(required, **options): pass\ndef gather(first, *rest, **options): pass\n',
239
+ }, async (tempConfig) => {
240
+ const python = { language: 'python' };
241
+ const results = await new CodeSnippetValidator().validateBatch([
242
+ makeRef('function-call', 'configure', {
243
+ ...python,
244
+ linkText: '3',
245
+ keywordArgumentCount: 2,
246
+ raw: 'configure(x, debug=True, level=2)',
247
+ }),
248
+ makeRef('function-call', 'configure', { ...python, linkText: '1', keywordArgumentCount: 1, raw: 'configure(required=x)' }),
249
+ makeRef('function-call', 'configure', { ...python, linkText: '3', keywordArgumentCount: 0, raw: 'configure(a, b, c)' }),
250
+ makeRef('function-call', 'gather', { ...python, linkText: '4', keywordArgumentCount: 1, raw: 'gather(a, b, c, debug=True)' }),
251
+ ], doc, tempConfig);
252
+ expect(results.map((result) => result.valid)).toEqual([true, true, false, true]);
253
+ expect(results[2].message).toBe('Function configure called with 3 positional arg(s) but expects 1 positional');
254
+ });
255
+ });
256
+ it('skips arity and name checks for calls that spread or unpack arguments', async () => {
257
+ await withTempSourceFiles({
258
+ 'src/api.py': 'def connect(host, port): pass\n',
259
+ 'src/mount.ts': 'export function mount(target: string, options: object) {}\n',
260
+ }, async (tempConfig) => {
261
+ const python = { language: 'python' };
262
+ const results = await new CodeSnippetValidator().validateBatch([
263
+ makeRef('function-call', 'connect', { ...python, linkText: '1', unpacksArguments: true, raw: 'connect(*address)' }),
264
+ makeRef('function-call', 'connect', {
265
+ ...python,
266
+ linkText: '1',
267
+ keywordArgumentCount: 1,
268
+ unpacksArguments: true,
269
+ raw: 'connect(**settings)',
270
+ }),
271
+ makeRef('function-call', 'mount', {
272
+ language: 'typescript',
273
+ linkText: '1',
274
+ argumentNames: ['args'],
275
+ unpacksArguments: true,
276
+ raw: 'mount(...args)',
277
+ }),
278
+ makeRef('function-call', 'connect', { ...python, linkText: '1', raw: 'connect(address)' }),
279
+ ], doc, tempConfig);
280
+ expect(results.map((result) => result.valid)).toEqual([true, true, true, false]);
281
+ expect(results.map((result) => result.skipped)).toEqual([true, true, true, undefined]);
282
+ expect(results[0].message).toBe('Function connect call spreads or unpacks arguments, so its argument count is not checked');
283
+ });
284
+ });
285
+ it('checks only positional argument names and treats impossible keyword counts as zero', async () => {
286
+ await withTempSourceFiles({
287
+ 'src/api.py': 'def configure(required, **options): pass\ndef tune(a, b=1, **options): pass\n',
288
+ }, async (tempConfig) => {
289
+ const python = { language: 'python' };
290
+ const results = await new CodeSnippetValidator().validateBatch([
291
+ makeRef('function-call', 'configure', {
292
+ ...python,
293
+ linkText: '2',
294
+ argumentNames: ['required', 'debug'],
295
+ keywordArgumentCount: 1,
296
+ }),
297
+ makeRef('function-call', 'tune', { ...python, linkText: '2', argumentNames: ['a', 'debug'], keywordArgumentCount: 1 }),
298
+ makeRef('function-call', 'configure', { ...python, linkText: '2', argumentNames: ['x', 'debug'], keywordArgumentCount: 1 }),
299
+ makeRef('function-call', 'configure', { ...python, linkText: '3', keywordArgumentCount: 4 }),
300
+ makeRef('function-call', 'configure', { ...python, linkText: '3', keywordArgumentCount: Number.NaN }),
301
+ ], doc, tempConfig);
302
+ expect(results.map((result) => result.valid)).toEqual([true, true, false, false, false]);
303
+ expect(results[2].message).toContain('outdated parameter name');
304
+ expect(results[3].message).toBe('Function configure called with 3 positional arg(s) but expects 1 positional');
305
+ expect(results[4].message).toBe(results[3].message);
306
+ });
307
+ });
308
+ it('describes the overload nearest to the call when no overload accepts it', async () => {
309
+ await withTempSourceFiles({
310
+ 'src/rest.ts': 'export function pick(first: string, ...rest: string[]) { return [first, ...rest]; }\n',
311
+ 'src/fixed.ts': 'export function pick(a: string, b: string, c: string, d: string, e: string, f: string, g: string, h: string) { return a; }\n',
312
+ }, async (tempConfig) => {
313
+ const [result] = await new CodeSnippetValidator().validateBatch([makeRef('function-call', 'pick', { linkText: '0', raw: 'pick()' })], doc, tempConfig);
314
+ expect(result.valid).toBe(false);
315
+ expect(result.message).toBe('Function pick called with 0 arg(s) but expects at least 1');
316
+ });
317
+ });
219
318
  it('skips parameter-name comparison when arguments are expressions', async () => {
220
319
  await withTempSourceFiles({
221
320
  'src/api.ts': 'export function createUser(name: string, email: string) { return { name, email }; }\n',
@@ -1 +1 @@
1
- {"version":3,"file":"codeSnippetValidator.test.js","sourceRoot":"","sources":["../../src/validators/codeSnippetValidator.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codeSnippetValidator.test.js","sourceRoot":"","sources":["../../src/validators/codeSnippetValidator.test.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,6 @@ export declare class DirectoryValidator {
16
16
  private initCustomPatterns;
17
17
  validateBatch(references: Reference[], document: Document, config: DocFreshnessConfig): Promise<ValidationResult[]>;
18
18
  private validateReference;
19
- private pathExists;
20
19
  /**
21
20
  * Try to find a similar path for suggestions
22
21
  * Handles common issues like singular/plural mismatches