@aicqtools/guardrail 1.0.0-alpha.12 → 1.0.0-alpha.16

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 (47) hide show
  1. package/dist/docs/render-rule-md.d.ts.map +1 -1
  2. package/dist/docs/render-rule-md.js +80 -0
  3. package/dist/docs/render-rule-md.js.map +1 -1
  4. package/dist/rules-default/camelcase-migration-column.d.ts.map +1 -1
  5. package/dist/rules-default/camelcase-migration-column.js +26 -2
  6. package/dist/rules-default/camelcase-migration-column.js.map +1 -1
  7. package/dist/rules-default/mask-pii-in-ai-prompt.d.ts.map +1 -1
  8. package/dist/rules-default/mask-pii-in-ai-prompt.js +44 -7
  9. package/dist/rules-default/mask-pii-in-ai-prompt.js.map +1 -1
  10. package/dist/rules-default/no-console-log.d.ts.map +1 -1
  11. package/dist/rules-default/no-console-log.js +22 -2
  12. package/dist/rules-default/no-console-log.js.map +1 -1
  13. package/dist/rules-default/no-empty-catch.d.ts +6 -0
  14. package/dist/rules-default/no-empty-catch.d.ts.map +1 -1
  15. package/dist/rules-default/no-empty-catch.js +42 -2
  16. package/dist/rules-default/no-empty-catch.js.map +1 -1
  17. package/dist/rules-default/no-fstring-sql.d.ts.map +1 -1
  18. package/dist/rules-default/no-fstring-sql.js +51 -2
  19. package/dist/rules-default/no-fstring-sql.js.map +1 -1
  20. package/dist/rules-default/no-magic-number.d.ts.map +1 -1
  21. package/dist/rules-default/no-magic-number.js +24 -4
  22. package/dist/rules-default/no-magic-number.js.map +1 -1
  23. package/dist/runner/apply-rule-config.d.ts +43 -12
  24. package/dist/runner/apply-rule-config.d.ts.map +1 -1
  25. package/dist/runner/apply-rule-config.js +115 -41
  26. package/dist/runner/apply-rule-config.js.map +1 -1
  27. package/dist/runner/context.d.ts +7 -0
  28. package/dist/runner/context.d.ts.map +1 -1
  29. package/dist/runner/context.js +2 -0
  30. package/dist/runner/context.js.map +1 -1
  31. package/dist/runner/index.d.ts +4 -2
  32. package/dist/runner/index.d.ts.map +1 -1
  33. package/dist/runner/index.js +2 -1
  34. package/dist/runner/index.js.map +1 -1
  35. package/dist/runner/resolve-rule-options.d.ts +28 -0
  36. package/dist/runner/resolve-rule-options.d.ts.map +1 -0
  37. package/dist/runner/resolve-rule-options.js +27 -0
  38. package/dist/runner/resolve-rule-options.js.map +1 -0
  39. package/dist/runner/run-file.d.ts +10 -2
  40. package/dist/runner/run-file.d.ts.map +1 -1
  41. package/dist/runner/run-file.js +14 -4
  42. package/dist/runner/run-file.js.map +1 -1
  43. package/dist/runner/run-project.d.ts +14 -0
  44. package/dist/runner/run-project.d.ts.map +1 -1
  45. package/dist/runner/run-project.js +22 -5
  46. package/dist/runner/run-project.js.map +1 -1
  47. package/package.json +3 -3
@@ -2,7 +2,7 @@ import fastGlob from 'fast-glob';
2
2
  import { readFile, stat } from 'node:fs/promises';
3
3
  import { resolve } from 'node:path';
4
4
  import { FileCache, hashRulesetSignature } from '@aicqtools/core';
5
- import { applyOverridesForFile } from './apply-rule-config.js';
5
+ import { applyOverridesForFileResolved } from './apply-rule-config.js';
6
6
  import { runFile } from './run-file.js';
7
7
  import { rulesetSignature } from './ruleset-signature.js';
8
8
  export async function runProject(opts) {
@@ -17,23 +17,29 @@ export async function runProject(opts) {
17
17
  });
18
18
  const cache = opts.cache;
19
19
  const overrides = opts.overrides ?? [];
20
+ const baselineRuleOptions = opts.ruleOptions ?? new Map();
21
+ const skipBuiltinSkips = opts.skipBuiltinSkips ?? false;
20
22
  // Per-entry match counters (alpha.10). Allocated only when overrides is non-empty so the
21
23
  // unused-feature fast path stays allocation-free. Slots that remain 0 after the scan are
22
24
  // reported by the CLI as "matched no files — ignored." warnings.
23
25
  const matchCounts = overrides.length > 0 ? new Array(overrides.length).fill(0) : undefined;
24
26
  // The ruleset hash mixes in the overrides shape so cache entries invalidate when a user adds,
25
27
  // removes, or edits override paths/rules. Without this, a stale entry could survive a config
26
- // change that should have flipped a diagnostic on or off.
28
+ // change that should have flipped a diagnostic on or off. Alpha.14 also folds the per-rule
29
+ // options into the hash so flipping `options.allowedNumbers` invalidates stale entries.
27
30
  const rulesHash = cache
28
31
  ? hashRulesetSignature([
29
32
  ...rulesetSignature(opts.rules),
30
33
  'overrides=' + JSON.stringify(overrides),
34
+ 'skipBuiltinSkips=' + String(skipBuiltinSkips),
35
+ 'ruleOptions=' + serializeRuleOptions(baselineRuleOptions),
31
36
  ])
32
37
  : '';
33
38
  const diagnostics = [];
34
39
  for (const file of files) {
35
40
  try {
36
- const fileRules = applyOverridesForFile(opts.rules, overrides, file, matchCounts);
41
+ const { rules: fileRules, ruleOptions: fileRuleOptions } = applyOverridesForFileResolved(opts.rules, overrides, file, matchCounts, baselineRuleOptions);
42
+ const runFileOpts = { skipBuiltinSkips, ruleOptions: fileRuleOptions };
37
43
  if (cache) {
38
44
  const st = await stat(file);
39
45
  const cached = cache.get({
@@ -46,12 +52,12 @@ export async function runProject(opts) {
46
52
  diagnostics.push(...cached);
47
53
  continue;
48
54
  }
49
- const result = await runFile(file, fileRules);
55
+ const result = await runFile(file, fileRules, runFileOpts);
50
56
  cache.set({ filePath: file, mtime: Math.floor(st.mtimeMs), size: st.size, rulesHash }, result.diagnostics);
51
57
  diagnostics.push(...result.diagnostics);
52
58
  }
53
59
  else {
54
- const result = await runFile(file, fileRules);
60
+ const result = await runFile(file, fileRules, runFileOpts);
55
61
  diagnostics.push(...result.diagnostics);
56
62
  }
57
63
  }
@@ -104,6 +110,17 @@ export async function resolveIgnores(cwd, exclude, respectGitignore) {
104
110
  }
105
111
  return ignores;
106
112
  }
113
+ /**
114
+ * Deterministic JSON serialization of the per-rule options map (alpha.14). Map iteration order
115
+ * follows insertion order in V8, but a callsite could populate the map in different orders
116
+ * across runs (e.g. two overrides reordered). Sorting by ruleId keeps the cache hash stable.
117
+ */
118
+ function serializeRuleOptions(map) {
119
+ if (map.size === 0)
120
+ return '{}';
121
+ const sorted = Array.from(map.entries()).sort((a, b) => a[0].localeCompare(b[0]));
122
+ return JSON.stringify(sorted);
123
+ }
107
124
  function parseFailedDiagnostic(file, err) {
108
125
  const message = err instanceof Error ? err.message : String(err);
109
126
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"run-project.js","sourceRoot":"","sources":["../../src/runner/run-project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-project.js","sourceRoot":"","sources":["../../src/runner/run-project.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aicqtools/guardrail",
3
- "version": "1.0.0-alpha.12",
3
+ "version": "1.0.0-alpha.16",
4
4
  "type": "module",
5
5
  "description": "Deterministic AI code guardrail engine — 37 built-in rules, hybrid YAML/function DSL, MCP server, .cursorrules sync, sqlite cache.",
6
6
  "keywords": [
@@ -45,8 +45,8 @@
45
45
  "micromatch": "^4.0.8",
46
46
  "yaml": "^2.6.1",
47
47
  "zod": "^3.23.8",
48
- "@aicqtools/core": "1.0.0-alpha.12",
49
- "@aicqtools/rule-sdk": "1.0.0-alpha.12"
48
+ "@aicqtools/core": "1.0.0-alpha.16",
49
+ "@aicqtools/rule-sdk": "1.0.0-alpha.16"
50
50
  },
51
51
  "peerDependencies": {
52
52
  "tree-sitter": "~0.22.4"