Files
coreci-chat/packages/mcp/eslint.config.js
T
CIAgent 0c15d3d0b2 docs(milestone): complete M2 — MCP Layer & Day 1 Adapters (v0.2)
M2 delivers the read-only MCP capability broker gateway and four Day-1
infrastructure adapters (Proxmox, SSH/Linux, GitHub, Gitea). 13 REQs (015-027)
all pass. 656 tests green. M1 non-regression verified.

MCP spec 2025-06-18 conformance verified (PROTOCOL.md + 7 tests).
Defense-in-depth SSH (broker layer 1 + Relay Agent layer 2 + no-shell exec).
Two-track LLM smoke (Track A mock-path P0 gate passes).
CI: Gitea Actions (.gitea/workflows/ci.yml) with Postgres 16 + RLS verification.

Phases shipped:
  P0  pre-execution          v0.1.0
  P1  Wave F — MCP gateway   v0.1.1
  P2  Wave G — Proxmox       v0.1.2
  P3  Wave H — SSH/Linux     v0.1.3
  P4  Wave I — Git adapters   v0.1.4
  P5  Wave J — SSE+smoke+UI  v0.1.5
  P6  Final — review+ship    v0.1.6 ← milestone release

---ci---
phase: 6
milestone: v0.2
status: complete
phase_role: final
milestone_complete: true
requirements:
  covered: [REQ-015, REQ-016, REQ-017, REQ-018, REQ-019, REQ-020, REQ-021, REQ-022, REQ-023, REQ-024, REQ-025, REQ-026, REQ-027]
  partial: []
---/ci---
2026-08-25 06:14:21 +00:00

50 lines
1.6 KiB
JavaScript

import js from "@eslint/js";
import tseslint from "typescript-eslint";
// ESLint config for the MCP broker package. [G-018, R-008] `@coreci/llm-mock`
// is a CI-only devDependency and MUST NOT be imported from the broker (prod
// runtime). The LLM smoke imports the broker + the mock from the test side;
// the broker itself never depends on the mock.
export default tseslint.config(
js.configs.recommended,
...tseslint.configs.recommended,
{
rules: {
"@typescript-eslint/no-explicit-any": "warn",
"@typescript-eslint/no-unused-vars": ["error", { argsIgnorePattern: "^_" }],
},
},
// [G-018, R-008] Prod import guard: ban @coreci/llm-mock from the broker.
{
files: ["src/**"],
rules: {
"no-restricted-imports": [
"error",
{
paths: [
{
name: "@coreci/llm-mock",
message:
"@coreci/llm-mock is a CI-only devDependency (R-008). The broker must not depend on the mock LLM — the smoke imports the broker, not vice versa.",
},
{
name: "@coreci/llm-mock/server",
message: "@coreci/llm-mock/server is CI-only (R-008).",
},
{
name: "@coreci/llm-mock/patterns",
message: "@coreci/llm-mock/patterns is CI-only (R-008).",
},
{
name: "@coreci/llm-mock/retry",
message: "@coreci/llm-mock/retry is CI-only (R-008).",
},
],
},
],
},
},
{
ignores: ["dist/**", "node_modules/**", "coverage/**", "tests/**"],
},
);