@orygn/opa-mcp 0.5.0 → 0.7.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 (185) hide show
  1. package/CHANGELOG.md +291 -1
  2. package/README.md +104 -52
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +1 -0
  5. package/dist/cli.js.map +1 -1
  6. package/dist/config.d.ts +13 -3
  7. package/dist/config.d.ts.map +1 -1
  8. package/dist/config.js +35 -5
  9. package/dist/config.js.map +1 -1
  10. package/dist/constants.d.ts +1 -6
  11. package/dist/constants.d.ts.map +1 -1
  12. package/dist/constants.js +17 -3
  13. package/dist/constants.js.map +1 -1
  14. package/dist/lib/child-env.d.ts +2 -2
  15. package/dist/lib/child-env.d.ts.map +1 -1
  16. package/dist/lib/child-env.js +6 -2
  17. package/dist/lib/child-env.js.map +1 -1
  18. package/dist/lib/conftest-cli.d.ts +2 -2
  19. package/dist/lib/conftest-cli.d.ts.map +1 -1
  20. package/dist/lib/conftest-cli.js +88 -18
  21. package/dist/lib/conftest-cli.js.map +1 -1
  22. package/dist/lib/errors.d.ts +4 -5
  23. package/dist/lib/errors.d.ts.map +1 -1
  24. package/dist/lib/errors.js +15 -3
  25. package/dist/lib/errors.js.map +1 -1
  26. package/dist/lib/inline-paths.d.ts +37 -0
  27. package/dist/lib/inline-paths.d.ts.map +1 -0
  28. package/dist/lib/inline-paths.js +162 -0
  29. package/dist/lib/inline-paths.js.map +1 -0
  30. package/dist/lib/opa-cli.d.ts +10 -0
  31. package/dist/lib/opa-cli.d.ts.map +1 -1
  32. package/dist/lib/opa-cli.js +9 -2
  33. package/dist/lib/opa-cli.js.map +1 -1
  34. package/dist/lib/opa-client.d.ts +27 -1
  35. package/dist/lib/opa-client.d.ts.map +1 -1
  36. package/dist/lib/opa-client.js +98 -14
  37. package/dist/lib/opa-client.js.map +1 -1
  38. package/dist/lib/opa-paths.d.ts +11 -1
  39. package/dist/lib/opa-paths.d.ts.map +1 -1
  40. package/dist/lib/opa-paths.js +30 -21
  41. package/dist/lib/opa-paths.js.map +1 -1
  42. package/dist/lib/output.d.ts.map +1 -1
  43. package/dist/lib/output.js +83 -10
  44. package/dist/lib/output.js.map +1 -1
  45. package/dist/lib/regal-cli.d.ts +18 -7
  46. package/dist/lib/regal-cli.d.ts.map +1 -1
  47. package/dist/lib/regal-cli.js +30 -8
  48. package/dist/lib/regal-cli.js.map +1 -1
  49. package/dist/lib/rego-ast-walker.d.ts +0 -6
  50. package/dist/lib/rego-ast-walker.d.ts.map +1 -1
  51. package/dist/lib/rego-ast-walker.js +48 -46
  52. package/dist/lib/rego-ast-walker.js.map +1 -1
  53. package/dist/lib/rego-counterexample.d.ts +14 -1
  54. package/dist/lib/rego-counterexample.d.ts.map +1 -1
  55. package/dist/lib/rego-counterexample.js +40 -10
  56. package/dist/lib/rego-counterexample.js.map +1 -1
  57. package/dist/lib/rego-input-path.d.ts +20 -0
  58. package/dist/lib/rego-input-path.d.ts.map +1 -0
  59. package/dist/lib/rego-input-path.js +70 -0
  60. package/dist/lib/rego-input-path.js.map +1 -0
  61. package/dist/lib/rego-ir.d.ts +2 -1
  62. package/dist/lib/rego-ir.d.ts.map +1 -1
  63. package/dist/lib/rego-smt-encoder.d.ts +35 -0
  64. package/dist/lib/rego-smt-encoder.d.ts.map +1 -1
  65. package/dist/lib/rego-smt-encoder.js +81 -8
  66. package/dist/lib/rego-smt-encoder.js.map +1 -1
  67. package/dist/lib/rego-type-inferencer.d.ts +26 -1
  68. package/dist/lib/rego-type-inferencer.d.ts.map +1 -1
  69. package/dist/lib/rego-type-inferencer.js +68 -0
  70. package/dist/lib/rego-type-inferencer.js.map +1 -1
  71. package/dist/lib/rego-verify-engine.d.ts.map +1 -1
  72. package/dist/lib/rego-verify-engine.js +171 -90
  73. package/dist/lib/rego-verify-engine.js.map +1 -1
  74. package/dist/lib/rego-z3.d.ts +56 -0
  75. package/dist/lib/rego-z3.d.ts.map +1 -1
  76. package/dist/lib/rego-z3.js +276 -7
  77. package/dist/lib/rego-z3.js.map +1 -1
  78. package/dist/lib/subprocess.d.ts +13 -0
  79. package/dist/lib/subprocess.d.ts.map +1 -1
  80. package/dist/lib/subprocess.js +153 -18
  81. package/dist/lib/subprocess.js.map +1 -1
  82. package/dist/lib/tool-helpers.d.ts +12 -25
  83. package/dist/lib/tool-helpers.d.ts.map +1 -1
  84. package/dist/lib/tool-helpers.js +67 -41
  85. package/dist/lib/tool-helpers.js.map +1 -1
  86. package/dist/prompts/index.js +2 -2
  87. package/dist/resources/index.js +1 -1
  88. package/dist/resources/index.js.map +1 -1
  89. package/dist/resources/patterns.d.ts +1 -1
  90. package/dist/resources/patterns.d.ts.map +1 -1
  91. package/dist/resources/patterns.js +2 -3
  92. package/dist/resources/patterns.js.map +1 -1
  93. package/dist/server.d.ts +2 -2
  94. package/dist/server.d.ts.map +1 -1
  95. package/dist/server.js +40 -5
  96. package/dist/server.js.map +1 -1
  97. package/dist/tools/authoring/capabilities.d.ts +4 -0
  98. package/dist/tools/authoring/capabilities.d.ts.map +1 -1
  99. package/dist/tools/authoring/capabilities.js +42 -5
  100. package/dist/tools/authoring/capabilities.js.map +1 -1
  101. package/dist/tools/authoring/check-schema.d.ts +6 -0
  102. package/dist/tools/authoring/check-schema.d.ts.map +1 -1
  103. package/dist/tools/authoring/check-schema.js +56 -3
  104. package/dist/tools/authoring/check-schema.js.map +1 -1
  105. package/dist/tools/authoring/format.d.ts.map +1 -1
  106. package/dist/tools/authoring/format.js +2 -2
  107. package/dist/tools/authoring/format.js.map +1 -1
  108. package/dist/tools/authoring/lint.d.ts.map +1 -1
  109. package/dist/tools/authoring/lint.js +8 -6
  110. package/dist/tools/authoring/lint.js.map +1 -1
  111. package/dist/tools/authoring/migrate-v1.d.ts.map +1 -1
  112. package/dist/tools/authoring/migrate-v1.js +20 -4
  113. package/dist/tools/authoring/migrate-v1.js.map +1 -1
  114. package/dist/tools/authoring/parse.d.ts.map +1 -1
  115. package/dist/tools/authoring/parse.js +3 -3
  116. package/dist/tools/authoring/parse.js.map +1 -1
  117. package/dist/tools/bundles/sign.d.ts.map +1 -1
  118. package/dist/tools/bundles/sign.js +14 -34
  119. package/dist/tools/bundles/sign.js.map +1 -1
  120. package/dist/tools/conftest/index.d.ts +5 -0
  121. package/dist/tools/conftest/index.d.ts.map +1 -1
  122. package/dist/tools/conftest/index.js.map +1 -1
  123. package/dist/tools/conftest/test.d.ts.map +1 -1
  124. package/dist/tools/conftest/test.js +16 -17
  125. package/dist/tools/conftest/test.js.map +1 -1
  126. package/dist/tools/conftest/verify.d.ts.map +1 -1
  127. package/dist/tools/conftest/verify.js +14 -18
  128. package/dist/tools/conftest/verify.js.map +1 -1
  129. package/dist/tools/evaluation/_shared.js +9 -12
  130. package/dist/tools/evaluation/_shared.js.map +1 -1
  131. package/dist/tools/evaluation/bench.d.ts +20 -9
  132. package/dist/tools/evaluation/bench.d.ts.map +1 -1
  133. package/dist/tools/evaluation/bench.js +31 -12
  134. package/dist/tools/evaluation/bench.js.map +1 -1
  135. package/dist/tools/evaluation/compile.js +4 -4
  136. package/dist/tools/evaluation/compile.js.map +1 -1
  137. package/dist/tools/evaluation/eval.d.ts.map +1 -1
  138. package/dist/tools/evaluation/eval.js +12 -16
  139. package/dist/tools/evaluation/eval.js.map +1 -1
  140. package/dist/tools/evaluation/exec.d.ts.map +1 -1
  141. package/dist/tools/evaluation/exec.js +3 -4
  142. package/dist/tools/evaluation/exec.js.map +1 -1
  143. package/dist/tools/evaluation/test-multiroot.d.ts +2 -0
  144. package/dist/tools/evaluation/test-multiroot.d.ts.map +1 -1
  145. package/dist/tools/evaluation/test-multiroot.js +23 -6
  146. package/dist/tools/evaluation/test-multiroot.js.map +1 -1
  147. package/dist/tools/evaluation/test.d.ts.map +1 -1
  148. package/dist/tools/evaluation/test.js +8 -6
  149. package/dist/tools/evaluation/test.js.map +1 -1
  150. package/dist/tools/helpers/coverage-gaps.d.ts.map +1 -1
  151. package/dist/tools/helpers/coverage-gaps.js +4 -5
  152. package/dist/tools/helpers/coverage-gaps.js.map +1 -1
  153. package/dist/tools/helpers/describe-policy.d.ts.map +1 -1
  154. package/dist/tools/helpers/describe-policy.js +2 -2
  155. package/dist/tools/helpers/describe-policy.js.map +1 -1
  156. package/dist/tools/helpers/explain-decision.d.ts.map +1 -1
  157. package/dist/tools/helpers/explain-decision.js +3 -4
  158. package/dist/tools/helpers/explain-decision.js.map +1 -1
  159. package/dist/tools/helpers/explain-undefined.d.ts.map +1 -1
  160. package/dist/tools/helpers/explain-undefined.js +131 -22
  161. package/dist/tools/helpers/explain-undefined.js.map +1 -1
  162. package/dist/tools/helpers/fix.d.ts +11 -5
  163. package/dist/tools/helpers/fix.d.ts.map +1 -1
  164. package/dist/tools/helpers/fix.js +100 -51
  165. package/dist/tools/helpers/fix.js.map +1 -1
  166. package/dist/tools/helpers/generate-test-skeleton.d.ts.map +1 -1
  167. package/dist/tools/helpers/generate-test-skeleton.js +105 -21
  168. package/dist/tools/helpers/generate-test-skeleton.js.map +1 -1
  169. package/dist/tools/helpers/playground-share.d.ts +4 -2
  170. package/dist/tools/helpers/playground-share.d.ts.map +1 -1
  171. package/dist/tools/helpers/playground-share.js +13 -3
  172. package/dist/tools/helpers/playground-share.js.map +1 -1
  173. package/dist/tools/helpers/policy-diff.d.ts.map +1 -1
  174. package/dist/tools/helpers/policy-diff.js +3 -4
  175. package/dist/tools/helpers/policy-diff.js.map +1 -1
  176. package/dist/tools/helpers/security-audit.d.ts.map +1 -1
  177. package/dist/tools/helpers/security-audit.js +32 -21
  178. package/dist/tools/helpers/security-audit.js.map +1 -1
  179. package/dist/tools/meta/index.d.ts +1 -1
  180. package/dist/tools/server-management/_shared.d.ts.map +1 -1
  181. package/dist/tools/server-management/_shared.js +13 -1
  182. package/dist/tools/server-management/_shared.js.map +1 -1
  183. package/dist/types.d.ts +1 -1
  184. package/dist/types.d.ts.map +1 -1
  185. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"explain-undefined.js","sourceRoot":"","sources":["../../../src/tools/helpers/explain-undefined.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"explain-undefined.js","sourceRoot":"","sources":["../../../src/tools/helpers/explain-undefined.ts"],"names":[],"mappings":"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"}
@@ -21,17 +21,23 @@ export interface RegoFixOutput {
21
21
  }
22
22
  /**
23
23
  * Parse the plain-text output of `regal fix --no-color` into a structured
24
- * result. The format produced by regal 0.30.0 is:
24
+ * result. regal 0.30.0 prints one of:
25
25
  *
26
- * No fixes to apply.
26
+ * No fixes to apply. (dry run)
27
+ * No fixes applied. (real run)
27
28
  *
28
- * or:
29
+ * or a count followed by one or more blocks, each headed by a project root:
29
30
  *
30
- * X fix(es) to apply:
31
+ * X fix(es) to apply: (dry run)
32
+ * X fix(es) applied: (real run)
31
33
  * In project root: <absolute-root>
32
- * <filename>[-> <new-relative-path>]:
34
+ * <path>[ -> <new-path>]:
33
35
  * - <rule-name>
34
36
  * ...
37
+ *
38
+ * Paths are relative to their block's root, or absolute when the root is
39
+ * blank. A file that moves may be listed twice across blocks, once under its
40
+ * old name with the arrow and once under its new one; that is one file.
35
41
  */
36
42
  export declare function parseFixOutput(stdout: string): {
37
43
  fixCount: number;
@@ -1 +1 @@
1
- {"version":3,"file":"fix.d.ts","sourceRoot":"","sources":["../../../src/tools/helpers/fix.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAqC9C,MAAM,WAAW,SAAS;IACxB,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,8EAA8E;IAC9E,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,SAAS,EAAE,CAAA;CAAE,CAiD5F;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CA4EvE"}
1
+ {"version":3,"file":"fix.d.ts","sourceRoot":"","sources":["../../../src/tools/helpers/fix.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAqC9C,MAAM,WAAW,SAAS;IACxB,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,8EAA8E;IAC9E,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,SAAS,EAAE,CAAA;CAAE,CA8C5F;AAmCD,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CA4EvE"}
@@ -1,21 +1,27 @@
1
1
  /**
2
- * `rego_fix` -- run `regal fix` to auto-apply mechanical fixes for the
3
- * five rules regal 0.30.0 supports:
2
+ * `rego_fix` -- run `regal fix` to auto-apply mechanical fixes. As of
3
+ * regal 0.42.0 the fixable rules are:
4
4
  *
5
5
  * opa-fmt format the file (like opa fmt --write)
6
6
  * use-rego-v1 add `import rego.v1` and update syntax
7
7
  * use-assignment-operator replace `=` with `:=` in rule heads
8
8
  * no-whitespace-comment add a space after `#` in comments
9
9
  * directory-package-mismatch move the file to a path matching its package
10
+ * non-raw-regex-pattern use a raw string for a regex pattern
11
+ * prefer-equals-comparison `==` rather than `=` in a comparison
12
+ * redundant-existence-check drop a check the following expression implies
13
+ * constant-condition drop a condition that is always true or false
14
+ *
15
+ * Older releases fix a subset of these.
10
16
  *
11
17
  * WARNING: `directory-package-mismatch` moves files on disk. The newPath
12
18
  * field in the output tells you where a file was moved. Run with
13
19
  * `dryRun: true` first to see what would change.
14
20
  *
15
- * Files with uncommitted git changes are refused unless `force: true`
16
- * is set. This is regal's own safety check, not ours.
21
+ * Regal before 0.41 refuses files with uncommitted git changes unless
22
+ * `force: true` is set; that is regal's own check, and 0.41 removed it.
17
23
  */
18
- import { join } from 'node:path';
24
+ import { join, normalize } from 'node:path';
19
25
  import { z } from 'zod';
20
26
  import { RegalCli } from '../../lib/regal-cli.js';
21
27
  import { err, ok } from '../../lib/errors.js';
@@ -32,7 +38,7 @@ const RegoFixInput = {
32
38
  force: z
33
39
  .boolean()
34
40
  .optional()
35
- .describe('Allow fixing files that have uncommitted git changes, or when the project is not a git repository. Without this flag regal refuses to touch uncommitted files.'),
41
+ .describe('On Regal before 0.41, allow fixing files that have uncommitted git changes; those releases refuse them otherwise. Regal 0.41 removed that check, and the flag is not sent to it.'),
36
42
  configFile: z.string().optional().describe('Path to a Regal config file (.regal/config.yaml).'),
37
43
  disable: z
38
44
  .array(z.string())
@@ -45,79 +51,122 @@ const RegoFixInput = {
45
51
  };
46
52
  /**
47
53
  * Parse the plain-text output of `regal fix --no-color` into a structured
48
- * result. The format produced by regal 0.30.0 is:
54
+ * result. regal 0.30.0 prints one of:
49
55
  *
50
- * No fixes to apply.
56
+ * No fixes to apply. (dry run)
57
+ * No fixes applied. (real run)
51
58
  *
52
- * or:
59
+ * or a count followed by one or more blocks, each headed by a project root:
53
60
  *
54
- * X fix(es) to apply:
61
+ * X fix(es) to apply: (dry run)
62
+ * X fix(es) applied: (real run)
55
63
  * In project root: <absolute-root>
56
- * <filename>[-> <new-relative-path>]:
64
+ * <path>[ -> <new-path>]:
57
65
  * - <rule-name>
58
66
  * ...
67
+ *
68
+ * Paths are relative to their block's root, or absolute when the root is
69
+ * blank. A file that moves may be listed twice across blocks, once under its
70
+ * old name with the arrow and once under its new one; that is one file.
59
71
  */
60
72
  export function parseFixOutput(stdout) {
61
73
  const text = stdout.trim();
62
- if (!text || text === 'No fixes to apply.') {
74
+ const firstLine = text.split('\n')[0]?.trim() ?? '';
75
+ if (!text || /^No fixes (?:to apply|applied)\.$/.test(firstLine)) {
63
76
  return { fixCount: 0, fixedFiles: [] };
64
77
  }
65
- const countMatch = /(\d+) fix(?:es)? to apply/.exec(text);
78
+ // A real run says "applied" where a dry run says "to apply". Reading only
79
+ // the dry-run form reported every real run as having changed nothing.
80
+ const countMatch = /^(\d+) fix(?:es)? (?:to apply|applied):?$/.exec(firstLine);
66
81
  if (!countMatch)
67
82
  return { fixCount: 0, fixedFiles: [] };
68
83
  const fixCount = parseInt(countMatch[1] ?? '0', 10);
69
- // Locate the summary block that starts with "In project root:"
70
- const rootIdx = text.indexOf('\nIn project root: ');
71
- if (rootIdx === -1)
72
- return { fixCount, fixedFiles: [] };
73
- const summaryLines = text.slice(rootIdx + 1).split('\n');
74
- const root = (summaryLines[0] ?? '').replace('In project root: ', '').trim();
75
84
  const fixedFiles = [];
76
- let current = null;
77
- for (let i = 1; i < summaryLines.length; i++) {
78
- const line = summaryLines[i];
79
- if (!line?.trim())
80
- continue;
81
- if (line.trim().startsWith('- ')) {
82
- // Rule entry under the current file
83
- if (current)
84
- current.rules.push(line.trim().slice(2));
85
- }
86
- else if (line.trim().endsWith(':')) {
87
- // New file entry: "filename:" or "old -> new:"
88
- if (current)
89
- fixedFiles.push(current);
90
- const entry = line.trim().slice(0, -1); // strip trailing ":"
91
- const arrowIdx = entry.indexOf(' -> ');
92
- if (arrowIdx !== -1) {
93
- const oldName = entry.slice(0, arrowIdx).trim();
94
- const newName = entry.slice(arrowIdx + 4).trim();
95
- current = {
96
- path: join(root, oldName),
97
- newPath: join(root, newName),
98
- rules: [],
99
- };
85
+ for (const block of text.split(/\n(?=In project root:)/).slice(1)) {
86
+ const lines = block.split('\n');
87
+ const root = (lines[0] ?? '').replace('In project root:', '').trim();
88
+ const resolve = (name) => (root ? join(root, name) : name);
89
+ let current = null;
90
+ for (const raw of lines.slice(1)) {
91
+ const line = raw.trim();
92
+ if (!line)
93
+ continue;
94
+ if (line.startsWith('- ')) {
95
+ // Rule entry under the current file
96
+ if (current)
97
+ current.rules.push(line.slice(2));
100
98
  }
101
- else {
102
- current = { path: join(root, entry.trim()), rules: [] };
99
+ else if (line.endsWith(':')) {
100
+ // New file entry: "path:" or "old -> new:"
101
+ if (current)
102
+ fixedFiles.push(current);
103
+ const entry = line.slice(0, -1);
104
+ const arrowIdx = entry.indexOf(' -> ');
105
+ current =
106
+ arrowIdx === -1
107
+ ? { path: resolve(entry.trim()), rules: [] }
108
+ : {
109
+ path: resolve(entry.slice(0, arrowIdx).trim()),
110
+ newPath: resolve(entry.slice(arrowIdx + 4).trim()),
111
+ rules: [],
112
+ };
103
113
  }
104
114
  }
115
+ if (current)
116
+ fixedFiles.push(current);
117
+ }
118
+ return { fixCount, fixedFiles: foldMoved(fixedFiles) };
119
+ }
120
+ /**
121
+ * Report a moved file once. regal lists a file that moves in every block that
122
+ * touched it, with the arrow each time, so entries are grouped by original
123
+ * path with their rules joined. An entry listed at a moved file's destination
124
+ * without the arrow is folded into the move as well.
125
+ */
126
+ function foldMoved(entries) {
127
+ const byPath = new Map();
128
+ for (const e of entries) {
129
+ const key = normalize(e.path);
130
+ const seen = byPath.get(key);
131
+ if (seen === undefined) {
132
+ byPath.set(key, { ...e, rules: [...e.rules] });
133
+ continue;
134
+ }
135
+ for (const r of e.rules)
136
+ if (!seen.rules.includes(r))
137
+ seen.rules.push(r);
138
+ if (seen.newPath === undefined && e.newPath !== undefined)
139
+ seen.newPath = e.newPath;
140
+ }
141
+ const merged = [...byPath.values()];
142
+ const movers = new Map();
143
+ for (const e of merged)
144
+ if (e.newPath)
145
+ movers.set(normalize(e.newPath), e);
146
+ const out = [];
147
+ for (const e of merged) {
148
+ const mover = e.newPath ? undefined : movers.get(normalize(e.path));
149
+ if (mover) {
150
+ for (const r of e.rules)
151
+ if (!mover.rules.includes(r))
152
+ mover.rules.push(r);
153
+ continue;
154
+ }
155
+ out.push(e);
105
156
  }
106
- if (current)
107
- fixedFiles.push(current);
108
- return { fixCount, fixedFiles };
157
+ return out;
109
158
  }
110
159
  export function registerRegoFix(server, config) {
111
160
  const regal = new RegalCli(config);
112
161
  server.registerTool('rego_fix', {
113
162
  title: 'Auto-fix Rego violations',
114
- description: 'Run regal fix to automatically apply mechanical fixes for the five rules regal 0.30.0 supports: opa-fmt, use-rego-v1, use-assignment-operator, no-whitespace-comment, and directory-package-mismatch. Use dryRun: true to preview changes before modifying files. NOTE: directory-package-mismatch moves files to match their package path -- use disable: ["directory-package-mismatch"] to skip it. Files with uncommitted git changes require force: true. Requires regal.',
163
+ description: 'Run regal fix to automatically apply mechanical fixes. Regal 0.42 fixes opa-fmt, use-rego-v1, use-assignment-operator, no-whitespace-comment, directory-package-mismatch, non-raw-regex-pattern, prefer-equals-comparison, redundant-existence-check and constant-condition; older releases fix a subset. Use dryRun: true to preview changes before modifying files. NOTE: directory-package-mismatch moves files to match their package path -- use disable: ["directory-package-mismatch"] to skip it. Regal before 0.41 refuses files with uncommitted git changes unless force: true. Requires regal.',
115
164
  inputSchema: RegoFixInput,
116
165
  annotations: {
117
166
  readOnlyHint: false,
118
167
  destructiveHint: true,
119
- idempotentHint: true,
120
- openWorldHint: false,
168
+ // Runs a project's custom Regal rules, which are Rego with the network built-ins.
169
+ openWorldHint: true,
121
170
  },
122
171
  }, async ({ paths, dryRun, force, configFile, disable, enable, disableCategory, enableCategory, ignoreFiles, }, { signal }) => {
123
172
  return withToolEnvelope(config, async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"fix.js","sourceRoot":"","sources":["../../../src/tools/helpers/fix.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fix.js","sourceRoot":"","sources":["../../../src/tools/helpers/fix.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"generate-test-skeleton.d.ts","sourceRoot":"","sources":["../../../src/tools/helpers/generate-test-skeleton.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AA4B9C,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,2EAA2E;IAC3E,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C;AAoKD,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAqExF"}
1
+ {"version":3,"file":"generate-test-skeleton.d.ts","sourceRoot":"","sources":["../../../src/tools/helpers/generate-test-skeleton.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAyH9C,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,2EAA2E;IAC3E,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C;AA+KD,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CA0ExF"}
@@ -15,6 +15,71 @@ const RegoGenerateTestSkeletonInput = {
15
15
  .optional()
16
16
  .describe('Generate table-driven test stubs instead of single-case stubs. Each rule gets a `cases` array and an `every tc in cases { ... }` assertion loop. Pair with `rego_test varValues: true` to see which case failed.'),
17
17
  };
18
+ function ruleKindFromAst(rule) {
19
+ const head = rule.head ?? {};
20
+ if (Array.isArray(head.args))
21
+ return { kind: 'function', arity: head.args.length };
22
+ const value = head.value;
23
+ // A multi-segment ref is a dotted rule name, not a key.
24
+ const keyed = head.key !== undefined;
25
+ if (keyed) {
26
+ // A keyed head with a value is a partial object (`perms[k] := v`); one
27
+ // without, or with the implicit boolean, is a partial set (`deny contains x`).
28
+ return value !== undefined && value.type !== 'boolean' ? { kind: 'object' } : { kind: 'set' };
29
+ }
30
+ if (value === undefined || value.type === 'boolean')
31
+ return { kind: 'boolean' };
32
+ if (value.type === 'string' || value.type === 'number' || value.type === 'null') {
33
+ return { kind: 'value', literal: JSON.stringify(value.value ?? null) };
34
+ }
35
+ // A call, array, object or set: the type checker would reject a comparison
36
+ // against a placeholder of the wrong type, so the stub asserts only that
37
+ // the rule is defined.
38
+ return { kind: 'value' };
39
+ }
40
+ /** The expression a stub compares against, and the reference it evaluates. */
41
+ function stubParts(ruleRef, shape) {
42
+ switch (shape.kind) {
43
+ case 'function': {
44
+ const args = Array.from({ length: shape.arity }, () => 'null').join(', ');
45
+ return {
46
+ reference: `${ruleRef}(${args})`,
47
+ expected: 'true',
48
+ note: `# TODO: replace the ${shape.arity} placeholder argument(s) and the expected value.`,
49
+ };
50
+ }
51
+ case 'set':
52
+ return {
53
+ reference: ruleRef,
54
+ expected: 'set()',
55
+ note: '# Set rule: expected is the set of values, or set() when nothing should match.',
56
+ };
57
+ case 'object':
58
+ return {
59
+ reference: ruleRef,
60
+ expected: '{}',
61
+ note: '# Object rule: expected is the object of entries, or {} when nothing should match.',
62
+ };
63
+ case 'value':
64
+ return shape.literal !== undefined
65
+ ? {
66
+ reference: ruleRef,
67
+ expected: shape.literal,
68
+ note: '# Value rule: the head assigns a value; expected is that value for this input.',
69
+ }
70
+ : {
71
+ reference: ruleRef,
72
+ expected: 'null',
73
+ note: '# Value rule with a computed head: nothing could be inferred to assert, so this\n# is a todo_test_ that opa test skips. Fill in the expected value and rename it test_.',
74
+ };
75
+ case 'boolean':
76
+ return {
77
+ reference: ruleRef,
78
+ expected: 'true',
79
+ note: '# Boolean rule: expected is true or false; an undefined rule fails the comparison.',
80
+ };
81
+ }
82
+ }
18
83
  function packageNameFromAst(ast) {
19
84
  const parts = ast.package?.path ?? [];
20
85
  // The first entry is always `data`. Skip it.
@@ -104,34 +169,43 @@ function shapeToRegoLiteral(shape) {
104
169
  .join(', ');
105
170
  return `{${inner}}`;
106
171
  }
107
- function makeTableSkeleton(packageName, ruleNames, inputShape) {
172
+ /**
173
+ * A computed head gives the generator nothing to assert against, so its stub
174
+ * is a `todo_test_` rule: opa test reports it as skipped rather than passing
175
+ * a placeholder, and the name says what is left to do.
176
+ */
177
+ function isTodo(shape) {
178
+ return shape.kind === 'value' && shape.literal === undefined;
179
+ }
180
+ function makeTableSkeleton(packageName, rules, inputShape) {
108
181
  const lines = [];
109
182
  const testPackage = packageName ? `${packageName}_test` : 'main_test';
110
183
  lines.push(`package ${testPackage}`);
111
184
  lines.push('');
112
185
  lines.push('import rego.v1');
113
- if (packageName) {
114
- lines.push(`import data.${packageName}`);
115
- }
186
+ // The stubs reference rules by their full data path, so an import of the
187
+ // package would go unused, which opa check --strict rejects.
116
188
  lines.push('');
117
189
  const inputLiteral = shapeToRegoLiteral(inputShape);
118
- for (const name of ruleNames) {
190
+ for (const { name, shape } of rules) {
119
191
  const safeName = name.replace(/[^a-zA-Z0-9_]/g, '_');
120
- const testName = `test_${safeName}`;
192
+ const testName = `${isTodo(shape) ? 'todo_test_' : 'test_'}${safeName}`;
121
193
  const ruleRef = packageName ? `data.${packageName}.${name}` : `data.${name}`;
194
+ const { reference, expected, note } = stubParts(ruleRef, shape);
122
195
  const casesVar = `${safeName}_cases`;
123
196
  lines.push(`# TODO: add test cases -- one object per scenario.`);
197
+ lines.push(note);
124
198
  lines.push(`${casesVar} := [`);
125
199
  lines.push(`\t{`);
126
200
  lines.push(`\t\t"description": "TODO: describe what this case tests",`);
127
201
  lines.push(`\t\t"input": ${inputLiteral},`);
128
- lines.push(`\t\t"expected": true,`);
202
+ lines.push(`\t\t"expected": ${expected},`);
129
203
  lines.push(`\t},`);
130
204
  lines.push(`]`);
131
205
  lines.push('');
132
206
  lines.push(`${testName} if {`);
133
207
  lines.push(`\tevery tc in ${casesVar} {`);
134
- lines.push(`\t\tactual := ${ruleRef} with input as tc.input`);
208
+ lines.push(`\t\tactual := ${reference} with input as tc.input`);
135
209
  lines.push(`\t\tactual == tc.expected`);
136
210
  lines.push(`\t}`);
137
211
  lines.push(`}`);
@@ -139,25 +213,30 @@ function makeTableSkeleton(packageName, ruleNames, inputShape) {
139
213
  }
140
214
  return lines.join('\n');
141
215
  }
142
- function makeSkeleton(packageName, ruleNames, inputShape) {
216
+ function makeSkeleton(packageName, rules, inputShape) {
143
217
  const lines = [];
144
218
  const testPackage = packageName ? `${packageName}_test` : 'main_test';
145
219
  lines.push(`package ${testPackage}`);
146
220
  lines.push('');
147
221
  lines.push('import rego.v1');
148
- if (packageName) {
149
- lines.push(`import data.${packageName}`);
150
- }
222
+ // The stubs reference rules by their full data path, so an import of the
223
+ // package would go unused, which opa check --strict rejects.
151
224
  lines.push('');
152
225
  const inputLiteral = shapeToRegoLiteral(inputShape);
153
- for (const name of ruleNames) {
154
- const testName = `test_${name.replace(/[^a-zA-Z0-9_]/g, '_')}`;
155
- const ruleRef = packageName ? `${packageName}.${name}` : name;
226
+ for (const { name, shape } of rules) {
227
+ const safeName = name.replace(/[^a-zA-Z0-9_]/g, '_');
228
+ const testName = `${isTodo(shape) ? 'todo_test_' : 'test_'}${safeName}`;
229
+ const ruleRef = packageName ? `data.${packageName}.${name}` : `data.${name}`;
230
+ const { reference, expected, note } = stubParts(ruleRef, shape);
156
231
  lines.push(`# TODO: replace the placeholder input and expected value with a realistic case.`);
157
- lines.push(`# Boolean rules: assert == true/false. Set/partial rules: assert membership or count(actual).`);
232
+ lines.push(note);
158
233
  lines.push(`${testName} if {`);
159
- lines.push(`\tactual := data.${ruleRef} with input as ${inputLiteral}`);
160
- lines.push(`\tactual == true`);
234
+ lines.push(`\tactual := ${reference} with input as ${inputLiteral}`);
235
+ // A computed head has no typed placeholder; `!= null` type-checks for any
236
+ // value and still fails when the rule is undefined.
237
+ lines.push(shape.kind === 'value' && shape.literal === undefined
238
+ ? '\tactual != null'
239
+ : `\tactual == ${expected}`);
161
240
  lines.push(`}`);
162
241
  lines.push('');
163
242
  }
@@ -167,7 +246,7 @@ export function registerRegoGenerateTestSkeleton(server, config) {
167
246
  const opa = new OpaCli(config);
168
247
  server.registerTool('rego_generate_test_skeleton', {
169
248
  title: 'Generate Rego test skeleton',
170
- description: 'Generate a `*_test.rego` skeleton from a policy. Parses the AST, finds each non-test rule, and emits one stub test per rule. Existing `test_*` and `todo_test_*` rules are skipped automatically -- only testable production rules get stubs. The AST is walked to infer which `input.*` fields the policy accesses; the inferred shape is used as the placeholder `with input as {...}` in each stub, so the developer only needs to fill in realistic values rather than guess the structure. With `tableStyle: true`, each stub uses an `every tc in cases { ... }` loop so you can add multiple input/expected pairs without duplicating assertion code. The `inferredInputShape` field in the response shows the detected shape for reference.',
249
+ description: 'Generate a `*_test.rego` skeleton from a policy. Parses the AST, finds each non-test rule, and emits one stub test per rule. Existing `test_*` and `todo_test_*` rules are skipped automatically -- only production rules get stubs, and a value rule whose head is computed gets a `todo_test_` stub, which `opa test` reports as skipped until its expected value is filled in and it is renamed `test_`. The AST is walked to infer which `input.*` fields the policy accesses; the inferred shape is used as the placeholder `with input as {...}` in each stub, so the developer only needs to fill in realistic values rather than guess the structure. With `tableStyle: true`, each stub uses an `every tc in cases { ... }` loop so you can add multiple input/expected pairs without duplicating assertion code. The `inferredInputShape` field in the response shows the detected shape for reference.',
171
250
  inputSchema: RegoGenerateTestSkeletonInput,
172
251
  annotations: {
173
252
  readOnlyHint: true,
@@ -203,9 +282,14 @@ export function registerRegoGenerateTestSkeleton(server, config) {
203
282
  }
204
283
  // Infer input shape from AST ref accesses.
205
284
  const inputShape = inferInputShape(ast);
285
+ // One stub per rule name, shaped by the first head that carries it.
286
+ const stubs = ruleNames.map((name) => {
287
+ const rule = (ast.rules ?? []).find((r) => ruleNameFromAst(r) === name);
288
+ return { name, shape: rule ? ruleKindFromAst(rule) : { kind: 'boolean' } };
289
+ });
206
290
  const testFile = tableStyle
207
- ? makeTableSkeleton(packageName, ruleNames, inputShape)
208
- : makeSkeleton(packageName, ruleNames, inputShape);
291
+ ? makeTableSkeleton(packageName, stubs, inputShape)
292
+ : makeSkeleton(packageName, stubs, inputShape);
209
293
  return ok({
210
294
  testFile,
211
295
  ruleNames,
@@ -1 +1 @@
1
- {"version":3,"file":"generate-test-skeleton.js","sourceRoot":"","sources":["../../../src/tools/helpers/generate-test-skeleton.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-test-skeleton.js","sourceRoot":"","sources":["../../../src/tools/helpers/generate-test-skeleton.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /**
2
- * `rego_playground_share` -- publish a Rego policy as a public GitHub Gist
3
- * and return a shareable URL.
2
+ * `rego_playground_share` -- publish a Rego policy as a GitHub Gist, secret
3
+ * unless asked otherwise, and return a shareable URL.
4
4
  *
5
5
  * Why Gist and not the OPA playground? Every endpoint on
6
6
  * play.openpolicyagent.org requires a GitHub OAuth session cookie -- there is
@@ -20,6 +20,8 @@ export interface RegoPlaygroundShareOutput {
20
20
  rawPolicyUrl: string;
21
21
  /** GitHub Gist ID. */
22
22
  id: string;
23
+ /** True when the Gist was created public (listed), false when secret. */
24
+ public: boolean;
23
25
  }
24
26
  export declare function registerRegoPlaygroundShare(server: McpServer, _config: Config): void;
25
27
  //# sourceMappingURL=playground-share.d.ts.map