@orygn/opa-mcp 0.4.0 → 0.5.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 (146) hide show
  1. package/CHANGELOG.md +339 -3
  2. package/README.md +71 -72
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +8 -3
  5. package/dist/cli.js.map +1 -1
  6. package/dist/config.d.ts +1 -1
  7. package/dist/config.d.ts.map +1 -1
  8. package/dist/config.js +57 -15
  9. package/dist/config.js.map +1 -1
  10. package/dist/lib/bundle-signatures.d.ts +23 -0
  11. package/dist/lib/bundle-signatures.d.ts.map +1 -0
  12. package/dist/lib/bundle-signatures.js +152 -0
  13. package/dist/lib/bundle-signatures.js.map +1 -0
  14. package/dist/lib/child-env.d.ts +9 -2
  15. package/dist/lib/child-env.d.ts.map +1 -1
  16. package/dist/lib/child-env.js +38 -6
  17. package/dist/lib/child-env.js.map +1 -1
  18. package/dist/lib/conftest-cli.d.ts +25 -10
  19. package/dist/lib/conftest-cli.d.ts.map +1 -1
  20. package/dist/lib/conftest-cli.js +152 -33
  21. package/dist/lib/conftest-cli.js.map +1 -1
  22. package/dist/lib/install-id.d.ts.map +1 -1
  23. package/dist/lib/install-id.js +18 -3
  24. package/dist/lib/install-id.js.map +1 -1
  25. package/dist/lib/json-stream.d.ts +26 -0
  26. package/dist/lib/json-stream.d.ts.map +1 -0
  27. package/dist/lib/json-stream.js +69 -0
  28. package/dist/lib/json-stream.js.map +1 -0
  29. package/dist/lib/opa-cli.d.ts +64 -16
  30. package/dist/lib/opa-cli.d.ts.map +1 -1
  31. package/dist/lib/opa-cli.js +98 -28
  32. package/dist/lib/opa-cli.js.map +1 -1
  33. package/dist/lib/opa-paths.d.ts +24 -0
  34. package/dist/lib/opa-paths.d.ts.map +1 -0
  35. package/dist/lib/opa-paths.js +97 -0
  36. package/dist/lib/opa-paths.js.map +1 -0
  37. package/dist/lib/regal-cli.d.ts +16 -1
  38. package/dist/lib/regal-cli.d.ts.map +1 -1
  39. package/dist/lib/regal-cli.js +40 -6
  40. package/dist/lib/regal-cli.js.map +1 -1
  41. package/dist/lib/rego-ast-walker.d.ts.map +1 -1
  42. package/dist/lib/rego-ast-walker.js +141 -17
  43. package/dist/lib/rego-ast-walker.js.map +1 -1
  44. package/dist/lib/rego-counterexample.d.ts +1 -1
  45. package/dist/lib/rego-counterexample.d.ts.map +1 -1
  46. package/dist/lib/rego-counterexample.js +23 -5
  47. package/dist/lib/rego-counterexample.js.map +1 -1
  48. package/dist/lib/rego-ir.d.ts +32 -2
  49. package/dist/lib/rego-ir.d.ts.map +1 -1
  50. package/dist/lib/rego-smt-encoder.d.ts +53 -5
  51. package/dist/lib/rego-smt-encoder.d.ts.map +1 -1
  52. package/dist/lib/rego-smt-encoder.js +192 -26
  53. package/dist/lib/rego-smt-encoder.js.map +1 -1
  54. package/dist/lib/rego-type-inferencer.d.ts +1 -1
  55. package/dist/lib/rego-type-inferencer.d.ts.map +1 -1
  56. package/dist/lib/rego-type-inferencer.js +3 -3
  57. package/dist/lib/rego-type-inferencer.js.map +1 -1
  58. package/dist/lib/rego-verify-engine.d.ts.map +1 -1
  59. package/dist/lib/rego-verify-engine.js +109 -77
  60. package/dist/lib/rego-verify-engine.js.map +1 -1
  61. package/dist/lib/rego-z3.d.ts +10 -0
  62. package/dist/lib/rego-z3.d.ts.map +1 -1
  63. package/dist/lib/rego-z3.js +38 -0
  64. package/dist/lib/rego-z3.js.map +1 -1
  65. package/dist/lib/security.d.ts +8 -0
  66. package/dist/lib/security.d.ts.map +1 -1
  67. package/dist/lib/security.js +130 -54
  68. package/dist/lib/security.js.map +1 -1
  69. package/dist/resources/patterns.d.ts +1 -1
  70. package/dist/resources/patterns.d.ts.map +1 -1
  71. package/dist/resources/patterns.js +40 -12
  72. package/dist/resources/patterns.js.map +1 -1
  73. package/dist/server.d.ts.map +1 -1
  74. package/dist/server.js +10 -2
  75. package/dist/server.js.map +1 -1
  76. package/dist/tools/bundles/build.d.ts.map +1 -1
  77. package/dist/tools/bundles/build.js +12 -4
  78. package/dist/tools/bundles/build.js.map +1 -1
  79. package/dist/tools/bundles/sign.d.ts +9 -2
  80. package/dist/tools/bundles/sign.d.ts.map +1 -1
  81. package/dist/tools/bundles/sign.js +145 -19
  82. package/dist/tools/bundles/sign.js.map +1 -1
  83. package/dist/tools/bundles/verify.d.ts +1 -1
  84. package/dist/tools/bundles/verify.d.ts.map +1 -1
  85. package/dist/tools/bundles/verify.js +58 -19
  86. package/dist/tools/bundles/verify.js.map +1 -1
  87. package/dist/tools/conftest/pull.d.ts.map +1 -1
  88. package/dist/tools/conftest/pull.js +24 -10
  89. package/dist/tools/conftest/pull.js.map +1 -1
  90. package/dist/tools/conftest/push.d.ts.map +1 -1
  91. package/dist/tools/conftest/push.js +17 -7
  92. package/dist/tools/conftest/push.js.map +1 -1
  93. package/dist/tools/conftest/test.d.ts +10 -6
  94. package/dist/tools/conftest/test.d.ts.map +1 -1
  95. package/dist/tools/conftest/test.js +47 -24
  96. package/dist/tools/conftest/test.js.map +1 -1
  97. package/dist/tools/conftest/verify.d.ts +10 -6
  98. package/dist/tools/conftest/verify.d.ts.map +1 -1
  99. package/dist/tools/conftest/verify.js +30 -18
  100. package/dist/tools/conftest/verify.js.map +1 -1
  101. package/dist/tools/evaluation/bench.d.ts +16 -0
  102. package/dist/tools/evaluation/bench.d.ts.map +1 -1
  103. package/dist/tools/evaluation/bench.js +30 -5
  104. package/dist/tools/evaluation/bench.js.map +1 -1
  105. package/dist/tools/evaluation/exec.d.ts +16 -0
  106. package/dist/tools/evaluation/exec.d.ts.map +1 -1
  107. package/dist/tools/evaluation/exec.js +35 -2
  108. package/dist/tools/evaluation/exec.js.map +1 -1
  109. package/dist/tools/evaluation/test-multiroot.d.ts +4 -0
  110. package/dist/tools/evaluation/test-multiroot.d.ts.map +1 -1
  111. package/dist/tools/evaluation/test-multiroot.js +12 -2
  112. package/dist/tools/evaluation/test-multiroot.js.map +1 -1
  113. package/dist/tools/evaluation/test.d.ts +45 -0
  114. package/dist/tools/evaluation/test.d.ts.map +1 -1
  115. package/dist/tools/evaluation/test.js +146 -27
  116. package/dist/tools/evaluation/test.js.map +1 -1
  117. package/dist/tools/helpers/coverage-gaps.d.ts +11 -3
  118. package/dist/tools/helpers/coverage-gaps.d.ts.map +1 -1
  119. package/dist/tools/helpers/coverage-gaps.js +4 -3
  120. package/dist/tools/helpers/coverage-gaps.js.map +1 -1
  121. package/dist/tools/helpers/explain-undefined.d.ts +9 -3
  122. package/dist/tools/helpers/explain-undefined.d.ts.map +1 -1
  123. package/dist/tools/helpers/explain-undefined.js +83 -51
  124. package/dist/tools/helpers/explain-undefined.js.map +1 -1
  125. package/dist/tools/helpers/verify.d.ts.map +1 -1
  126. package/dist/tools/helpers/verify.js +5 -1
  127. package/dist/tools/helpers/verify.js.map +1 -1
  128. package/dist/tools/server-management/_shared.d.ts +15 -4
  129. package/dist/tools/server-management/_shared.d.ts.map +1 -1
  130. package/dist/tools/server-management/_shared.js +73 -12
  131. package/dist/tools/server-management/_shared.js.map +1 -1
  132. package/dist/tools/server-management/data.d.ts.map +1 -1
  133. package/dist/tools/server-management/data.js +88 -23
  134. package/dist/tools/server-management/data.js.map +1 -1
  135. package/dist/tools/server-management/decisions.d.ts.map +1 -1
  136. package/dist/tools/server-management/decisions.js +16 -3
  137. package/dist/tools/server-management/decisions.js.map +1 -1
  138. package/dist/tools/server-management/policies.d.ts.map +1 -1
  139. package/dist/tools/server-management/policies.js +44 -7
  140. package/dist/tools/server-management/policies.js.map +1 -1
  141. package/dist/tools/server-management/status.d.ts.map +1 -1
  142. package/dist/tools/server-management/status.js +80 -13
  143. package/dist/tools/server-management/status.js.map +1 -1
  144. package/dist/types.d.ts +9 -0
  145. package/dist/types.d.ts.map +1 -1
  146. package/package.json +2 -1
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../src/tools/helpers/verify.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAqB9C,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAgE1E"}
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../src/tools/helpers/verify.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAqB9C,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAoE1E"}
@@ -31,7 +31,11 @@ export function registerRegoVerify(server, config) {
31
31
  'Supports equality, comparison, startswith, endswith, contains, and simple regex.match patterns ' +
32
32
  '(prefix: ^lit.*, suffix: .*lit$, exact: ^lit$, contains: .*lit.*, wildcard: .*). ' +
33
33
  'Complex regex patterns (character classes, quantifiers, alternation) return INCONCLUSIVE. ' +
34
- 'Also reports INCONCLUSIVE for negation-as-failure (not), comprehensions, and other unsupported constructs.',
34
+ 'Also reports INCONCLUSIVE for negation-as-failure (not), comprehensions, partial set and ' +
35
+ 'object rules (deny contains msg), functions, else chains, and any operand it cannot encode. ' +
36
+ 'A body that reads an absent field is undefined rather than true, so always_true holds only ' +
37
+ 'if the rule is also true for an empty input: a rule requiring input.x will be answered with ' +
38
+ 'the counterexample {}.',
35
39
  inputSchema: RegoVerifyInput,
36
40
  annotations: {
37
41
  readOnlyHint: true,
@@ -1 +1 @@
1
- {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../../src/tools/helpers/verify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../../src/tools/helpers/verify.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,23 @@
1
1
  import type { ToolEnvelope, ToolErrorCode } from '../../types.js';
2
2
  /**
3
- * Convert a user-supplied OPA data path (dotted or slash form) to the
4
- * `/v1/data/...` REST API path. Rejects `..` segments so a crafted input
5
- * cannot traverse to unrelated OPA endpoints (e.g. `/v1/config`).
3
+ * The data root. OPA answers `PATCH /v1/data` but redirects `/v1/data/`, so the
4
+ * root has no trailing slash while every deeper path is built by joining onto
5
+ * `${OPA_DATA_ROOT}/`.
6
6
  */
7
- export declare function parseOpaDataPath(path: string): {
7
+ export declare const OPA_DATA_ROOT = "/v1/data";
8
+ /**
9
+ * Convert a user-supplied OPA data path to the `/v1/data/...` REST API path.
10
+ *
11
+ * Accepts the dotted or slash string form, or an array whose elements are
12
+ * literal keys. Every segment is percent-encoded, which OPA decodes, so a key
13
+ * may hold a dot, a slash, a question mark or any non-ASCII character. Rejects
14
+ * `.` and `..` segments so a crafted input cannot traverse to unrelated OPA
15
+ * endpoints such as `/v1/config`.
16
+ */
17
+ export declare function parseOpaDataPath(path: string | readonly string[]): {
8
18
  ok: true;
9
19
  apiPath: string;
20
+ segments: string[];
10
21
  } | {
11
22
  ok: false;
12
23
  error: ToolEnvelope<never>;
@@ -1 +1 @@
1
- {"version":3,"file":"_shared.d.ts","sourceRoot":"","sources":["../../../src/tools/server-management/_shared.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAElE;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,GACX;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAA;CAAE,CAe3E;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,CAAC,EAAE,OAAO,EACV,YAAY,GAAE,aAA+B,GAC5C,YAAY,CAAC,KAAK,CAAC,CAgCrB"}
1
+ {"version":3,"file":"_shared.d.ts","sourceRoot":"","sources":["../../../src/tools/server-management/_shared.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAgClE;;;;GAIG;AACH,eAAO,MAAM,aAAa,aAAa,CAAC;AAExC;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAC/B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAA;CAAE,CAuC/F;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,CAAC,EAAE,OAAO,EACV,YAAY,GAAE,aAA+B,GAC5C,YAAY,CAAC,KAAK,CAAC,CAgCrB"}
@@ -7,24 +7,85 @@ import { err } from '../../lib/errors.js';
7
7
  import { logger } from '../../lib/logger.js';
8
8
  import { OpaAuthError, OpaCancelledError, OpaHttpError, OpaUnreachableError, } from '../../lib/opa-client.js';
9
9
  /**
10
- * Convert a user-supplied OPA data path (dotted or slash form) to the
11
- * `/v1/data/...` REST API path. Rejects `..` segments so a crafted input
12
- * cannot traverse to unrelated OPA endpoints (e.g. `/v1/config`).
10
+ * Split a user-supplied OPA data path into its key segments.
11
+ *
12
+ * A path arrives either dotted (`users.alice`, the Rego spelling) or slashed
13
+ * (`users/alice`, the REST spelling). Data keys are free to contain the other
14
+ * separator: hostnames, image references and semver strings carry dots, so
15
+ * treating both characters as separators addressed a document that was not the
16
+ * one asked for. A slash anywhere therefore makes the slash the only separator,
17
+ * and a path with no slash is read as dotted.
18
+ *
19
+ * A key holding both characters, such as a Kubernetes label key, cannot be
20
+ * written either way. Callers pass an array of literal segments for that.
21
+ */
22
+ function decodeSegment(segment) {
23
+ try {
24
+ return decodeURIComponent(segment);
25
+ }
26
+ catch {
27
+ // A stray `%` is a literal character in a key, not an escape.
28
+ return segment;
29
+ }
30
+ }
31
+ function splitDataPath(path) {
32
+ const trimmed = path.trim().replace(/^[/]+/, '').replace(/[/]+$/, '');
33
+ // Drop a leading `data.` or `data/` root, but not a key named `database`.
34
+ const withoutRoot = trimmed.replace(/^data(?=$|[./])[./]?/, '');
35
+ if (withoutRoot.length === 0)
36
+ return [];
37
+ return withoutRoot.includes('/') ? withoutRoot.split('/') : withoutRoot.split('.');
38
+ }
39
+ /**
40
+ * The data root. OPA answers `PATCH /v1/data` but redirects `/v1/data/`, so the
41
+ * root has no trailing slash while every deeper path is built by joining onto
42
+ * `${OPA_DATA_ROOT}/`.
43
+ */
44
+ export const OPA_DATA_ROOT = '/v1/data';
45
+ /**
46
+ * Convert a user-supplied OPA data path to the `/v1/data/...` REST API path.
47
+ *
48
+ * Accepts the dotted or slash string form, or an array whose elements are
49
+ * literal keys. Every segment is percent-encoded, which OPA decodes, so a key
50
+ * may hold a dot, a slash, a question mark or any non-ASCII character. Rejects
51
+ * `.` and `..` segments so a crafted input cannot traverse to unrelated OPA
52
+ * endpoints such as `/v1/config`.
13
53
  */
14
54
  export function parseOpaDataPath(path) {
15
- const stripped = path.replace(/^data\./, '').replace(/^\/+/, '');
16
- const apiPath = `/v1/data/${stripped.replace(/\./g, '/')}`;
17
- // Normalize through URL parsing to catch both literal `..` segments and
18
- // percent-encoded variants (%2e%2e). If the resolved pathname no longer
19
- // starts with /v1/data/, a traversal escaped the intended prefix.
20
- const normalized = new URL(`http://h${apiPath}`).pathname;
21
- if (!normalized.startsWith('/v1/data/')) {
55
+ const segments = typeof path === 'string' ? splitDataPath(path) : [...path];
56
+ const shown = typeof path === 'string' ? path : JSON.stringify(path);
57
+ if (segments.length === 0) {
22
58
  return {
23
59
  ok: false,
24
- error: err('INVALID_INPUT', `Path traversal not allowed: ${path}`),
60
+ error: err('INVALID_INPUT', `Data path must name at least one segment: ${shown}`, {
61
+ hint: 'The root of the data hierarchy is not addressable here. Supply a path such as "users" or "users/alice".',
62
+ }),
25
63
  };
26
64
  }
27
- return { ok: true, apiPath };
65
+ for (const segment of segments) {
66
+ if (segment.length === 0) {
67
+ return {
68
+ ok: false,
69
+ error: err('INVALID_INPUT', `Data path has an empty segment: ${shown}`, {
70
+ hint: 'Remove the repeated separator, or pass `segments` if a key is genuinely empty.',
71
+ }),
72
+ };
73
+ }
74
+ // Encoding below already stops `%2e%2e` reaching the wire as a traversal,
75
+ // but a caller writing one means to traverse, so say no rather than look up
76
+ // a key of that literal name.
77
+ const decoded = decodeSegment(segment);
78
+ if (decoded === '.' || decoded === '..') {
79
+ return { ok: false, error: err('INVALID_INPUT', `Path traversal not allowed: ${shown}`) };
80
+ }
81
+ }
82
+ const apiPath = `${OPA_DATA_ROOT}/${segments.map(encodeURIComponent).join('/')}`;
83
+ // Backstop. Encoding already neutralises `%2e%2e` and friends, but a resolved
84
+ // path outside the data prefix must never reach the server.
85
+ if (!new URL(`http://h${apiPath}`).pathname.startsWith(`${OPA_DATA_ROOT}/`)) {
86
+ return { ok: false, error: err('INVALID_INPUT', `Path traversal not allowed: ${shown}`) };
87
+ }
88
+ return { ok: true, apiPath, segments };
28
89
  }
29
90
  /**
30
91
  * Translate an exception thrown by OpaClient into a structured error
@@ -1 +1 @@
1
- {"version":3,"file":"_shared.js","sourceRoot":"","sources":["../../../src/tools/server-management/_shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_shared.js","sourceRoot":"","sources":["../../../src/tools/server-management/_shared.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/tools/server-management/data.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAO9C,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CA8JzE"}
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/tools/server-management/data.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAO9C,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAiPzE"}
@@ -3,17 +3,26 @@
3
3
  */
4
4
  import { z } from 'zod';
5
5
  import { OpaClient } from '../../lib/opa-client.js';
6
- import { ok } from '../../lib/errors.js';
6
+ import { err, ok } from '../../lib/errors.js';
7
7
  import { coerceJsonArg } from '../../lib/json-coerce.js';
8
8
  import { withToolEnvelope } from '../../lib/tool-helpers.js';
9
- import { mapOpaClientError, parseOpaDataPath } from './_shared.js';
9
+ import { mapOpaClientError, OPA_DATA_ROOT, parseOpaDataPath } from './_shared.js';
10
10
  export function registerDataTools(server, config) {
11
11
  const opa = new OpaClient(config);
12
12
  server.registerTool('opa_get_data', {
13
13
  title: 'Read data from OPA',
14
- description: "Read a path from OPA's data hierarchy. The `path` argument may be in dotted form (`users.alice`) or slash form (`users/alice`).",
14
+ description: "Read a path from OPA's data hierarchy. A `path` is read as dotted (`users.alice`) unless it contains a slash, in which case slash is the only separator (`users/alice`), so a key such as `example.com` is addressable as `hosts/example.com`. Pass `segments` instead when a key contains both.",
15
15
  inputSchema: {
16
- path: z.string().min(1).describe('Data path under `data.`, e.g. "users" or "users/alice".'),
16
+ path: z
17
+ .string()
18
+ .min(1)
19
+ .optional()
20
+ .describe('Data path under `data.`, e.g. "users" or "users/alice".'),
21
+ segments: z
22
+ .array(z.string().min(1))
23
+ .min(1)
24
+ .optional()
25
+ .describe('Path as literal key segments, e.g. ["labels", "app.kubernetes.io/name"]. Use instead of `path` when a key contains a dot or a slash.'),
17
26
  },
18
27
  annotations: {
19
28
  readOnlyHint: true,
@@ -21,9 +30,16 @@ export function registerDataTools(server, config) {
21
30
  idempotentHint: true,
22
31
  openWorldHint: true,
23
32
  },
24
- }, async ({ path }, { signal }) => {
33
+ }, async ({ path, segments }, { signal }) => {
25
34
  return withToolEnvelope(config, async () => {
26
- const parsed = parseOpaDataPath(path);
35
+ const target = segments ?? path;
36
+ if (target === undefined) {
37
+ return err('INVALID_INPUT', 'Supply either `path` or `segments`.');
38
+ }
39
+ if (path !== undefined && segments !== undefined) {
40
+ return err('INVALID_INPUT', 'Supply `path` or `segments`, not both.');
41
+ }
42
+ const parsed = parseOpaDataPath(target);
27
43
  if (!parsed.ok)
28
44
  return parsed.error;
29
45
  try {
@@ -41,9 +57,14 @@ export function registerDataTools(server, config) {
41
57
  });
42
58
  server.registerTool('opa_put_data', {
43
59
  title: 'Write data to OPA',
44
- description: 'Write or replace a value at the given data path. Body is sent as JSON.',
60
+ description: 'Write or replace a value at the given data path. Body is sent as JSON. A `path` is read as dotted (`users.alice`) unless it contains a slash, in which case slash is the only separator (`users/alice`), so a key such as `example.com` is addressable as `hosts/example.com`. Pass `segments` instead when a key contains both.',
45
61
  inputSchema: {
46
- path: z.string().min(1).describe('Data path to write to.'),
62
+ path: z.string().min(1).optional().describe('Data path to write to.'),
63
+ segments: z
64
+ .array(z.string().min(1))
65
+ .min(1)
66
+ .optional()
67
+ .describe('Path as literal key segments, e.g. ["labels", "app.kubernetes.io/name"]. Use instead of `path` when a key contains a dot or a slash.'),
47
68
  value: z.unknown().describe('JSON value to store at this path.'),
48
69
  },
49
70
  annotations: {
@@ -52,9 +73,16 @@ export function registerDataTools(server, config) {
52
73
  idempotentHint: true,
53
74
  openWorldHint: true,
54
75
  },
55
- }, async ({ path, value }, { signal }) => {
76
+ }, async ({ path, segments, value }, { signal }) => {
56
77
  return withToolEnvelope(config, async () => {
57
- const parsed = parseOpaDataPath(path);
78
+ const target = segments ?? path;
79
+ if (target === undefined) {
80
+ return err('INVALID_INPUT', 'Supply either `path` or `segments`.');
81
+ }
82
+ if (path !== undefined && segments !== undefined) {
83
+ return err('INVALID_INPUT', 'Supply `path` or `segments`, not both.');
84
+ }
85
+ const parsed = parseOpaDataPath(target);
58
86
  if (!parsed.ok)
59
87
  return parsed.error;
60
88
  try {
@@ -64,7 +92,11 @@ export function registerDataTools(server, config) {
64
92
  body: coerceJsonArg(value),
65
93
  signal,
66
94
  });
67
- return ok({ path, written: true });
95
+ return ok({
96
+ path: path ?? parsed.segments.join('/'),
97
+ segments: parsed.segments,
98
+ written: true,
99
+ });
68
100
  }
69
101
  catch (e) {
70
102
  return mapOpaClientError(e);
@@ -73,9 +105,14 @@ export function registerDataTools(server, config) {
73
105
  });
74
106
  server.registerTool('opa_patch_data', {
75
107
  title: 'Patch data on OPA',
76
- description: 'Apply a JSON Patch (RFC 6902) to the data document. Each operation is `{ op, path, value? }`.',
108
+ description: 'Apply a JSON Patch (RFC 6902) to the data document. Each operation is `{ op, path, value? }`. Omit both `path` and `segments` to patch the root of the data hierarchy, which is how a whole new top-level document is added.',
77
109
  inputSchema: {
78
- path: z.string().min(1).describe('Data path the patch is applied to. Use "" for the root.'),
110
+ path: z.string().min(1).optional().describe('Data path the patch is applied to.'),
111
+ segments: z
112
+ .array(z.string().min(1))
113
+ .min(1)
114
+ .optional()
115
+ .describe('Path as literal key segments, e.g. ["labels", "app.kubernetes.io/name"]. Use instead of `path` when a key contains a dot or a slash.'),
79
116
  operations: z
80
117
  .array(z.object({
81
118
  op: z.enum(['add', 'remove', 'replace']),
@@ -91,20 +128,31 @@ export function registerDataTools(server, config) {
91
128
  idempotentHint: false,
92
129
  openWorldHint: true,
93
130
  },
94
- }, async ({ path, operations }, { signal }) => {
131
+ }, async ({ path, segments, operations }, { signal }) => {
95
132
  return withToolEnvelope(config, async () => {
96
- const parsed = parseOpaDataPath(path);
97
- if (!parsed.ok)
98
- return parsed.error;
133
+ const target = segments ?? path;
134
+ if (path !== undefined && segments !== undefined) {
135
+ return err('INVALID_INPUT', 'Supply `path` or `segments`, not both.');
136
+ }
137
+ // Neither given addresses the root, which OPA accepts for PATCH alone.
138
+ let apiPath = OPA_DATA_ROOT;
139
+ let addressed = [];
140
+ if (target !== undefined) {
141
+ const parsed = parseOpaDataPath(target);
142
+ if (!parsed.ok)
143
+ return parsed.error;
144
+ apiPath = parsed.apiPath;
145
+ addressed = parsed.segments;
146
+ }
99
147
  try {
100
148
  await opa.request({
101
149
  method: 'PATCH',
102
- path: parsed.apiPath,
150
+ path: apiPath,
103
151
  body: operations.map((op) => op.value !== undefined ? { ...op, value: coerceJsonArg(op.value) } : op),
104
152
  headers: { 'Content-Type': 'application/json-patch+json' },
105
153
  signal,
106
154
  });
107
- return ok({ path, patched: true });
155
+ return ok({ path: path ?? addressed.join('/'), segments: addressed, patched: true });
108
156
  }
109
157
  catch (e) {
110
158
  return mapOpaClientError(e, 'DATA_NOT_FOUND');
@@ -113,12 +161,18 @@ export function registerDataTools(server, config) {
113
161
  });
114
162
  server.registerTool('opa_delete_data', {
115
163
  title: 'Delete a data document from OPA',
116
- description: "Remove a document from OPA's data store at the given path. The path may be in dotted form (`users.alice`) or slash form (`users/alice`). OPA responds with 204 No Content on success; if no document exists at the path, OPA returns 404 which is mapped to `DATA_NOT_FOUND`. Root-path deletion (`/v1/data/` itself) is intentionally excluded -- supply at least one path segment.",
164
+ description: "Remove a document from OPA's data store at the given path. A `path` is read as dotted (`users.alice`) unless it contains a slash, in which case slash is the only separator (`users/alice`), so a key such as `example.com` is addressable as `hosts/example.com`. Pass `segments` instead when a key contains both. OPA responds with 204 No Content on success; if no document exists at the path, OPA returns 404 which is mapped to `DATA_NOT_FOUND`. Root-path deletion (`/v1/data/` itself) is intentionally excluded -- supply at least one path segment.",
117
165
  inputSchema: {
118
166
  path: z
119
167
  .string()
120
168
  .min(1)
169
+ .optional()
121
170
  .describe('Data path to delete, e.g. "users.alice" or "users/alice". Must be at least one segment deep.'),
171
+ segments: z
172
+ .array(z.string().min(1))
173
+ .min(1)
174
+ .optional()
175
+ .describe('Path as literal key segments, e.g. ["labels", "app.kubernetes.io/name"]. Use instead of `path` when a key contains a dot or a slash.'),
122
176
  },
123
177
  annotations: {
124
178
  readOnlyHint: false,
@@ -126,9 +180,16 @@ export function registerDataTools(server, config) {
126
180
  idempotentHint: false,
127
181
  openWorldHint: true,
128
182
  },
129
- }, async ({ path }, { signal }) => {
183
+ }, async ({ path, segments }, { signal }) => {
130
184
  return withToolEnvelope(config, async () => {
131
- const parsed = parseOpaDataPath(path);
185
+ const target = segments ?? path;
186
+ if (target === undefined) {
187
+ return err('INVALID_INPUT', 'Supply either `path` or `segments`.');
188
+ }
189
+ if (path !== undefined && segments !== undefined) {
190
+ return err('INVALID_INPUT', 'Supply `path` or `segments`, not both.');
191
+ }
192
+ const parsed = parseOpaDataPath(target);
132
193
  if (!parsed.ok)
133
194
  return parsed.error;
134
195
  try {
@@ -137,7 +198,11 @@ export function registerDataTools(server, config) {
137
198
  path: parsed.apiPath,
138
199
  signal,
139
200
  });
140
- return ok({ path, deleted: true });
201
+ return ok({
202
+ path: path ?? parsed.segments.join('/'),
203
+ segments: parsed.segments,
204
+ deleted: true,
205
+ });
141
206
  }
142
207
  catch (e) {
143
208
  return mapOpaClientError(e, 'DATA_NOT_FOUND');
@@ -1 +1 @@
1
- {"version":3,"file":"data.js","sourceRoot":"","sources":["../../../src/tools/server-management/data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data.js","sourceRoot":"","sources":["../../../src/tools/server-management/data.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"decisions.d.ts","sourceRoot":"","sources":["../../../src/tools/server-management/decisions.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAO9C,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAsG7E"}
1
+ {"version":3,"file":"decisions.d.ts","sourceRoot":"","sources":["../../../src/tools/server-management/decisions.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAO9C,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAqH7E"}
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import { z } from 'zod';
6
6
  import { OpaClient } from '../../lib/opa-client.js';
7
- import { ok } from '../../lib/errors.js';
7
+ import { err, ok } from '../../lib/errors.js';
8
8
  import { coerceJsonArg } from '../../lib/json-coerce.js';
9
9
  import { withToolEnvelope } from '../../lib/tool-helpers.js';
10
10
  import { mapOpaClientError, parseOpaDataPath } from './_shared.js';
@@ -17,7 +17,13 @@ export function registerDecisionTools(server, config) {
17
17
  path: z
18
18
  .string()
19
19
  .min(1)
20
+ .optional()
20
21
  .describe('Decision path under `data.`, e.g. "rbac/allow" or "rbac.allow".'),
22
+ segments: z
23
+ .array(z.string().min(1))
24
+ .min(1)
25
+ .optional()
26
+ .describe('Path as literal key segments, e.g. ["labels", "app.kubernetes.io/name"]. Use instead of `path` when a key contains a dot or a slash.'),
21
27
  input: z.unknown().optional().describe('Input document to evaluate against.'),
22
28
  explain: z
23
29
  .enum(['notes', 'fails', 'full', 'debug'])
@@ -31,9 +37,16 @@ export function registerDecisionTools(server, config) {
31
37
  idempotentHint: true,
32
38
  openWorldHint: true,
33
39
  },
34
- }, async ({ path, input, explain, metrics }, { signal }) => {
40
+ }, async ({ path, segments, input, explain, metrics }, { signal }) => {
35
41
  return withToolEnvelope(config, async () => {
36
- const parsed = parseOpaDataPath(path);
42
+ const target = segments ?? path;
43
+ if (target === undefined) {
44
+ return err('INVALID_INPUT', 'Supply either `path` or `segments`.');
45
+ }
46
+ if (path !== undefined && segments !== undefined) {
47
+ return err('INVALID_INPUT', 'Supply `path` or `segments`, not both.');
48
+ }
49
+ const parsed = parseOpaDataPath(target);
37
50
  if (!parsed.ok)
38
51
  return parsed.error;
39
52
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"decisions.js","sourceRoot":"","sources":["../../../src/tools/server-management/decisions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decisions.js","sourceRoot":"","sources":["../../../src/tools/server-management/decisions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"policies.d.ts","sourceRoot":"","sources":["../../../src/tools/server-management/policies.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAY9C,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAiI3E"}
1
+ {"version":3,"file":"policies.d.ts","sourceRoot":"","sources":["../../../src/tools/server-management/policies.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAgC9C,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CA2J3E"}