@danielblomma/cortex-mcp 1.7.2 → 2.0.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 (75) hide show
  1. package/bin/cortex.mjs +679 -32
  2. package/bin/style.mjs +349 -0
  3. package/package.json +4 -3
  4. package/scaffold/mcp/src/cli/enterprise-setup.ts +124 -0
  5. package/scaffold/mcp/src/cli/govern.ts +987 -0
  6. package/scaffold/mcp/src/cli/run.ts +306 -0
  7. package/scaffold/mcp/src/cli/telemetry-test.ts +158 -0
  8. package/scaffold/mcp/src/cli/ungoverned-detector.ts +168 -0
  9. package/scaffold/mcp/src/core/audit/query.ts +81 -0
  10. package/scaffold/mcp/src/core/audit/writer.ts +68 -0
  11. package/scaffold/mcp/src/core/config.ts +329 -0
  12. package/scaffold/mcp/src/core/index.ts +34 -0
  13. package/scaffold/mcp/src/core/license.ts +202 -0
  14. package/scaffold/mcp/src/core/policy/enforce.ts +98 -0
  15. package/scaffold/mcp/src/core/policy/injection.ts +229 -0
  16. package/scaffold/mcp/src/core/policy/store.ts +197 -0
  17. package/scaffold/mcp/src/core/rbac/check.ts +40 -0
  18. package/scaffold/mcp/src/core/telemetry/collector.ts +234 -0
  19. package/scaffold/mcp/src/core/validators/builtins.ts +711 -0
  20. package/scaffold/mcp/src/core/validators/config.ts +47 -0
  21. package/scaffold/mcp/src/core/validators/engine.ts +199 -0
  22. package/scaffold/mcp/src/core/validators/evaluators/code_comments.ts +294 -0
  23. package/scaffold/mcp/src/core/validators/evaluators/regex.ts +144 -0
  24. package/scaffold/mcp/src/daemon/client.ts +155 -0
  25. package/scaffold/mcp/src/daemon/egress-proxy.ts +331 -0
  26. package/scaffold/mcp/src/daemon/heartbeat-pusher.ts +147 -0
  27. package/scaffold/mcp/src/daemon/heartbeat-tracker.ts +223 -0
  28. package/scaffold/mcp/src/daemon/host-events-pusher.ts +285 -0
  29. package/scaffold/mcp/src/daemon/main.ts +300 -0
  30. package/scaffold/mcp/src/daemon/paths.ts +41 -0
  31. package/scaffold/mcp/src/daemon/protocol.ts +101 -0
  32. package/scaffold/mcp/src/daemon/server.ts +227 -0
  33. package/scaffold/mcp/src/daemon/sync-checker.ts +213 -0
  34. package/scaffold/mcp/src/daemon/ungoverned-scanner.ts +149 -0
  35. package/scaffold/mcp/src/enterprise/audit/push.ts +84 -0
  36. package/scaffold/mcp/src/enterprise/index.ts +415 -0
  37. package/scaffold/mcp/src/enterprise/model/deploy.ts +33 -0
  38. package/scaffold/mcp/src/enterprise/policy/sync.ts +146 -0
  39. package/scaffold/mcp/src/enterprise/privacy/boundary.ts +212 -0
  40. package/scaffold/mcp/src/enterprise/reviews/push.ts +79 -0
  41. package/scaffold/mcp/src/enterprise/telemetry/sync.ts +72 -0
  42. package/scaffold/mcp/src/enterprise/tools/enterprise.ts +1031 -0
  43. package/scaffold/mcp/src/enterprise/tools/walk.ts +79 -0
  44. package/scaffold/mcp/src/enterprise/violations/push.ts +102 -0
  45. package/scaffold/mcp/src/enterprise/workflow/push.ts +60 -0
  46. package/scaffold/mcp/src/enterprise/workflow/state.ts +535 -0
  47. package/scaffold/mcp/src/hooks/pre-compact.ts +54 -0
  48. package/scaffold/mcp/src/hooks/pre-tool-use.ts +96 -0
  49. package/scaffold/mcp/src/hooks/session-end.ts +73 -0
  50. package/scaffold/mcp/src/hooks/session-start.ts +78 -0
  51. package/scaffold/mcp/src/hooks/shared.ts +134 -0
  52. package/scaffold/mcp/src/hooks/stop.ts +60 -0
  53. package/scaffold/mcp/src/hooks/user-prompt-submit.ts +64 -0
  54. package/scaffold/mcp/src/plugin.ts +150 -0
  55. package/scaffold/mcp/src/server.ts +218 -7
  56. package/scaffold/mcp/tests/copilot-shim.test.mjs +146 -0
  57. package/scaffold/mcp/tests/daemon-client.test.mjs +32 -0
  58. package/scaffold/mcp/tests/egress-proxy.test.mjs +239 -0
  59. package/scaffold/mcp/tests/enterprise-config.test.mjs +154 -0
  60. package/scaffold/mcp/tests/govern-install.test.mjs +320 -0
  61. package/scaffold/mcp/tests/govern-repair.test.mjs +157 -0
  62. package/scaffold/mcp/tests/govern-status.test.mjs +538 -0
  63. package/scaffold/mcp/tests/govern.test.mjs +74 -0
  64. package/scaffold/mcp/tests/heartbeat-pusher.test.mjs +154 -0
  65. package/scaffold/mcp/tests/heartbeat-tracker.test.mjs +237 -0
  66. package/scaffold/mcp/tests/host-events-pusher.test.mjs +347 -0
  67. package/scaffold/mcp/tests/policy-check.test.mjs +220 -0
  68. package/scaffold/mcp/tests/repo-name.test.mjs +134 -0
  69. package/scaffold/mcp/tests/run.test.mjs +109 -0
  70. package/scaffold/mcp/tests/sync-checker.test.mjs +188 -0
  71. package/scaffold/mcp/tests/ungoverned-detector.test.mjs +191 -0
  72. package/scaffold/mcp/tests/ungoverned-scanner.test.mjs +198 -0
  73. package/scaffold/scripts/bootstrap.sh +0 -11
  74. package/scaffold/scripts/doctor.sh +24 -4
  75. package/types.js +5 -0
@@ -6,16 +6,6 @@ MCP_DIR="$REPO_ROOT/mcp"
6
6
  TOTAL_STEPS=6
7
7
  STEP_INDEX=0
8
8
 
9
- print_logo() {
10
- cat <<'EOF'
11
- CCC OOO RRRR TTTTT EEEEE X X
12
- C C O O R R T E X X
13
- C O O RRRR T EEEE X
14
- C C O O R R T E X X
15
- CCC OOO R R T EEEEE X X
16
- EOF
17
- }
18
-
19
9
  step() {
20
10
  STEP_INDEX=$((STEP_INDEX + 1))
21
11
  echo ""
@@ -26,7 +16,6 @@ info() {
26
16
  echo "[cortex] $1"
27
17
  }
28
18
 
29
- print_logo
30
19
  info "bootstrap start"
31
20
  info "repo: $REPO_ROOT"
32
21
  info "pipeline: deps -> ingest -> embeddings -> graph -> status"
@@ -44,8 +44,9 @@ else
44
44
  fail ".context/config.yaml not found — run: cortex init"
45
45
  fi
46
46
 
47
- # Enterprise config
47
+ # Enterprise config — gate on api_key being set (file may exist as a stub).
48
48
  ENTERPRISE_CONFIG=""
49
+ ENTERPRISE_ENABLED=0
49
50
  if [[ -f "$CONTEXT_DIR/enterprise.yml" ]]; then
50
51
  ENTERPRISE_CONFIG="$CONTEXT_DIR/enterprise.yml"
51
52
  elif [[ -f "$CONTEXT_DIR/enterprise.yaml" ]]; then
@@ -53,9 +54,28 @@ elif [[ -f "$CONTEXT_DIR/enterprise.yaml" ]]; then
53
54
  fi
54
55
 
55
56
  if [[ -n "$ENTERPRISE_CONFIG" ]]; then
56
- pass "enterprise config found: $(basename "$ENTERPRISE_CONFIG")"
57
+ ENTERPRISE_API_KEY=$(node -e '
58
+ const fs = require("node:fs");
59
+ const raw = fs.readFileSync(process.argv[1], "utf8");
60
+ let section = "", fields = {};
61
+ for (const line of raw.split("\n")) {
62
+ const t = line.trimEnd();
63
+ if (!t || t.startsWith("#")) continue;
64
+ const sm = t.match(/^(\w+):\s*$/);
65
+ if (sm) { section = sm[1]; continue; }
66
+ const kv = t.match(/^\s+(\w+):\s*(.+?)\s*$/);
67
+ if (kv && section) fields[section + "." + kv[1]] = kv[2].replace(/^["\x27]|["\x27]$/g, "");
68
+ }
69
+ console.log(fields["enterprise.api_key"] || "");
70
+ ' "$ENTERPRISE_CONFIG" 2>/dev/null || echo "")
71
+ if [[ -n "$ENTERPRISE_API_KEY" ]]; then
72
+ pass "enterprise config found: $(basename "$ENTERPRISE_CONFIG")"
73
+ ENTERPRISE_ENABLED=1
74
+ else
75
+ info "enterprise config present but no api_key set — see https://cortx.se for more info"
76
+ fi
57
77
  else
58
- info "no enterprise config (community mode)"
78
+ info "no enterprise config (community mode) — see https://cortx.se for more info"
59
79
  fi
60
80
 
61
81
  # ── Index ───────────────────────────────────────────────
@@ -177,7 +197,7 @@ fi
177
197
 
178
198
  # ── Enterprise ──────────────────────────────────────────
179
199
 
180
- if [[ -n "$ENTERPRISE_CONFIG" ]]; then
200
+ if [[ "$ENTERPRISE_ENABLED" == "1" ]]; then
181
201
  echo ""
182
202
  echo " Enterprise"
183
203
 
package/types.js ADDED
@@ -0,0 +1,5 @@
1
+ // v2.0.0: empty types module preserved for the published `./types` export.
2
+ // Pre-v2 the source lived in mcp/dist/types.js (also empty). External
3
+ // consumers who imported from @danielblomma/cortex-mcp/types continue
4
+ // to resolve, even though there are no runtime exports.
5
+ export {};