@compr/opscontext-mcp 2.1.0 → 2.1.3

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.
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Tools Manifest — single source of truth for the MCP tool catalog.
3
+ *
4
+ * Why: the info panel in the VS Code extension (and the README) historically
5
+ * hardcoded the tool count ("Active on all 17 MCP tools"). When new tools
6
+ * shipped (drift_status was the 21st), those displays silently drifted.
7
+ *
8
+ * Fix: every tool exposed via `server.tool(...)` in `index.ts` MUST appear
9
+ * in `ALL_TOOLS` below. A regression test in `tests/tools-manifest.test.ts`
10
+ * counts `^server.tool(` lines in `index.ts` and asserts the count matches
11
+ * `ALL_TOOLS.length`. If you add or remove a tool, this list + the test
12
+ * fail together — no silent drift possible.
13
+ *
14
+ * Consumers:
15
+ * - `index.ts` writes `~/.contextengine/server-meta.json` on startup with
16
+ * `{ toolCount, premiumCount, freeCount, version, generatedAt }` so the
17
+ * VS Code extension can read it without needing an active MCP session.
18
+ * - `activation.ts` imports `PREMIUM_TOOL_NAMES` (the subset that requires
19
+ * a PRO license).
20
+ *
21
+ * @module tools-manifest
22
+ */
23
+ /**
24
+ * Every tool name registered on the MCP server, in registration order.
25
+ * Order is not load-bearing — kept stable for easier diffs.
26
+ */
27
+ export declare const ALL_TOOLS: readonly ["search_context", "list_sources", "read_source", "reindex", "list_projects", "check_ports", "run_audit", "score_project", "save_session", "load_session", "list_sessions", "delete_session", "audit_verify", "drift_status", "end_session", "save_learning", "list_learnings", "delete_learning", "import_learnings", "activate", "activation_status"];
28
+ /**
29
+ * The 4 tools gated behind PRO activation. Subset of `ALL_TOOLS`.
30
+ * Must match `PREMIUM_TOOLS` in `src/activation.ts` (asserted by test).
31
+ */
32
+ export declare const PREMIUM_TOOL_NAMES: readonly ["score_project", "run_audit", "check_ports", "list_projects"];
33
+ /** Total count — what users see as "Active on all N MCP tools". */
34
+ export declare const TOOL_COUNT: 21;
35
+ /** Free-tier tool count — everything except `PREMIUM_TOOL_NAMES`. */
36
+ export declare const FREE_TOOL_COUNT: number;
37
+ //# sourceMappingURL=tools-manifest.d.ts.map
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Tools Manifest — single source of truth for the MCP tool catalog.
3
+ *
4
+ * Why: the info panel in the VS Code extension (and the README) historically
5
+ * hardcoded the tool count ("Active on all 17 MCP tools"). When new tools
6
+ * shipped (drift_status was the 21st), those displays silently drifted.
7
+ *
8
+ * Fix: every tool exposed via `server.tool(...)` in `index.ts` MUST appear
9
+ * in `ALL_TOOLS` below. A regression test in `tests/tools-manifest.test.ts`
10
+ * counts `^server.tool(` lines in `index.ts` and asserts the count matches
11
+ * `ALL_TOOLS.length`. If you add or remove a tool, this list + the test
12
+ * fail together — no silent drift possible.
13
+ *
14
+ * Consumers:
15
+ * - `index.ts` writes `~/.contextengine/server-meta.json` on startup with
16
+ * `{ toolCount, premiumCount, freeCount, version, generatedAt }` so the
17
+ * VS Code extension can read it without needing an active MCP session.
18
+ * - `activation.ts` imports `PREMIUM_TOOL_NAMES` (the subset that requires
19
+ * a PRO license).
20
+ *
21
+ * @module tools-manifest
22
+ */
23
+ /**
24
+ * Every tool name registered on the MCP server, in registration order.
25
+ * Order is not load-bearing — kept stable for easier diffs.
26
+ */
27
+ export const ALL_TOOLS = [
28
+ "search_context",
29
+ "list_sources",
30
+ "read_source",
31
+ "reindex",
32
+ "list_projects",
33
+ "check_ports",
34
+ "run_audit",
35
+ "score_project",
36
+ "save_session",
37
+ "load_session",
38
+ "list_sessions",
39
+ "delete_session",
40
+ "audit_verify",
41
+ "drift_status",
42
+ "end_session",
43
+ "save_learning",
44
+ "list_learnings",
45
+ "delete_learning",
46
+ "import_learnings",
47
+ "activate",
48
+ "activation_status",
49
+ ];
50
+ /**
51
+ * The 4 tools gated behind PRO activation. Subset of `ALL_TOOLS`.
52
+ * Must match `PREMIUM_TOOLS` in `src/activation.ts` (asserted by test).
53
+ */
54
+ export const PREMIUM_TOOL_NAMES = [
55
+ "score_project",
56
+ "run_audit",
57
+ "check_ports",
58
+ "list_projects",
59
+ ];
60
+ /** Total count — what users see as "Active on all N MCP tools". */
61
+ export const TOOL_COUNT = ALL_TOOLS.length;
62
+ /** Free-tier tool count — everything except `PREMIUM_TOOL_NAMES`. */
63
+ export const FREE_TOOL_COUNT = ALL_TOOLS.length - PREMIUM_TOOL_NAMES.length;
64
+ //# sourceMappingURL=tools-manifest.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@compr/opscontext-mcp",
3
- "version": "2.1.0",
3
+ "version": "2.1.3",
4
4
  "description": "OpsContext for AI Agents — read-only fleet visibility (PM2/nginx/Docker/git/cron) + tamper-evident audit log + policy-as-code hooks. The ops + compliance layer Claude Code can't grow natively.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -44,8 +44,9 @@
44
44
  "developer-tools"
45
45
  ],
46
46
  "author": {
47
- "name": "FASTPROD (PROD LLC)",
48
- "url": "https://compr.fr"
47
+ "name": "PROD LLC (operating brand of CSS LLC, Swiss, est. 2005)",
48
+ "email": "yannick@compr.ch",
49
+ "url": "https://github.com/FASTPROD/ContextEngine/blob/main/docs/about.md"
49
50
  },
50
51
  "license": "BSL-1.1",
51
52
  "repository": {
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: opscontext
3
- description: "OpsContext for AI Agents — the ops + compliance layer Claude Code can't grow natively. Read-only fleet visibility (PM2/nginx/Docker/git/cron) + tamper-evident hash-chained audit log (SOC2 CC7.2 / ISO 27001 A.12.4.1) + declarative policy-as-code git hooks (.contextengine/policy.json with secret_patterns, doc_coverage, deploy_verify_hosts, bypass_tokens) + persistent learnings + hybrid BM25/semantic search. Use when: (1) searching project documentation or context files, (2) collecting operational insights from workspaces, (3) storing and retrieving persistent learnings across sessions, (4) auditing project compliance or AI-readiness, (5) managing session data, (6) verifying the audit log chain, (7) authoring/validating policy.json. Zero API keys — runs 100% locally with CPU embeddings."
3
+ description: "OpsContext for AI Agents — the ops + compliance layer Claude Code can't grow natively. Read-only fleet visibility (PM2/nginx/Docker/git/cron) + tamper-evident hash-chained audit log producing evidence aligned with SOC 2 CC7.2 and ISO 27001 A.12.4.1 (evidence artifacts only — OpsContext itself is not certified; see docs/compliance/) + declarative policy-as-code git hooks (.contextengine/policy.json with secret_patterns, doc_coverage, deploy_verify_hosts, bypass_tokens) + persistent learnings + hybrid BM25/semantic search. Use when: (1) searching project documentation or context files, (2) collecting operational insights from workspaces, (3) storing and retrieving persistent learnings across sessions, (4) auditing project compliance or AI-readiness, (5) managing session data, (6) verifying the audit log chain, (7) authoring/validating policy.json. Zero API keys — runs 100% locally with CPU embeddings."
4
4
  homepage: https://www.npmjs.com/package/@compr/opscontext-mcp
5
5
  metadata: { "openclaw": { "emoji": "🧭", "requires": { "bins": ["npx"] }, "homepage": "https://www.npmjs.com/package/@compr/opscontext-mcp" } }
6
6
  ---