@systemdox/mcp-server 0.1.13 → 0.1.14

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.
package/dist/cli.js CHANGED
@@ -976,13 +976,19 @@ async function hydrate(api, item, meta) {
976
976
  }
977
977
  async function buildContext(api, { taskDescription, filePaths = [], maxTokens }) {
978
978
  const budget = maxTokens ?? DEFAULT_BUDGET;
979
- const [guardrails, specs, docs, stack, rules] = await Promise.all([
979
+ const [rawGuardrails, rawSpecs, docs, stack, rules, docRepos] = await Promise.all([
980
980
  api.get("/v1/guardrails").catch(() => []),
981
981
  api.get("/v1/specs").catch(() => []),
982
982
  api.get("/v1/docs").catch(() => ({ items: [] })),
983
983
  api.get("/v1/ai/settings/stack").catch(() => []),
984
- api.get("/v1/standards/rules").catch(() => [])
984
+ api.get("/v1/standards/rules").catch(() => []),
985
+ // Capability states — FAIL-OPEN: an unreadable config (older backend, a
986
+ // blip) gates nothing, it can never hide working context.
987
+ api.get("/v1/doc-repos").catch(() => null)
985
988
  ]);
989
+ const disabled = (key2) => docRepos?.capabilities?.[key2]?.status === "disabled";
990
+ const guardrails = disabled("fitness") ? [] : rawGuardrails;
991
+ const specs = disabled("requirements") && disabled("design") && disabled("specs") ? [] : rawSpecs;
986
992
  const refs = /* @__PURE__ */ new Map();
987
993
  const key = (type, id) => `${type}:${id}`;
988
994
  const scorable = [
package/dist/http.js CHANGED
@@ -927,13 +927,19 @@ async function hydrate(api, item, meta) {
927
927
  }
928
928
  async function buildContext(api, { taskDescription, filePaths = [], maxTokens }) {
929
929
  const budget = maxTokens ?? DEFAULT_BUDGET;
930
- const [guardrails, specs, docs, stack, rules] = await Promise.all([
930
+ const [rawGuardrails, rawSpecs, docs, stack, rules, docRepos] = await Promise.all([
931
931
  api.get("/v1/guardrails").catch(() => []),
932
932
  api.get("/v1/specs").catch(() => []),
933
933
  api.get("/v1/docs").catch(() => ({ items: [] })),
934
934
  api.get("/v1/ai/settings/stack").catch(() => []),
935
- api.get("/v1/standards/rules").catch(() => [])
935
+ api.get("/v1/standards/rules").catch(() => []),
936
+ // Capability states — FAIL-OPEN: an unreadable config (older backend, a
937
+ // blip) gates nothing, it can never hide working context.
938
+ api.get("/v1/doc-repos").catch(() => null)
936
939
  ]);
940
+ const disabled = (key2) => docRepos?.capabilities?.[key2]?.status === "disabled";
941
+ const guardrails = disabled("fitness") ? [] : rawGuardrails;
942
+ const specs = disabled("requirements") && disabled("design") && disabled("specs") ? [] : rawSpecs;
937
943
  const refs = /* @__PURE__ */ new Map();
938
944
  const key = (type, id) => `${type}:${id}`;
939
945
  const scorable = [
package/dist/index.js CHANGED
@@ -943,13 +943,19 @@ async function hydrate(api, item, meta) {
943
943
  }
944
944
  async function buildContext(api, { taskDescription, filePaths = [], maxTokens }) {
945
945
  const budget = maxTokens ?? DEFAULT_BUDGET;
946
- const [guardrails, specs, docs, stack, rules] = await Promise.all([
946
+ const [rawGuardrails, rawSpecs, docs, stack, rules, docRepos] = await Promise.all([
947
947
  api.get("/v1/guardrails").catch(() => []),
948
948
  api.get("/v1/specs").catch(() => []),
949
949
  api.get("/v1/docs").catch(() => ({ items: [] })),
950
950
  api.get("/v1/ai/settings/stack").catch(() => []),
951
- api.get("/v1/standards/rules").catch(() => [])
951
+ api.get("/v1/standards/rules").catch(() => []),
952
+ // Capability states — FAIL-OPEN: an unreadable config (older backend, a
953
+ // blip) gates nothing, it can never hide working context.
954
+ api.get("/v1/doc-repos").catch(() => null)
952
955
  ]);
956
+ const disabled = (key2) => docRepos?.capabilities?.[key2]?.status === "disabled";
957
+ const guardrails = disabled("fitness") ? [] : rawGuardrails;
958
+ const specs = disabled("requirements") && disabled("design") && disabled("specs") ? [] : rawSpecs;
953
959
  const refs = /* @__PURE__ */ new Map();
954
960
  const key = (type, id) => `${type}:${id}`;
955
961
  const scorable = [
@@ -403,13 +403,19 @@ async function hydrate(api, item, meta) {
403
403
  }
404
404
  async function buildContext(api, { taskDescription, filePaths = [], maxTokens }) {
405
405
  const budget = maxTokens ?? DEFAULT_BUDGET;
406
- const [guardrails, specs, docs, stack, rules] = await Promise.all([
406
+ const [rawGuardrails, rawSpecs, docs, stack, rules, docRepos] = await Promise.all([
407
407
  api.get("/v1/guardrails").catch(() => []),
408
408
  api.get("/v1/specs").catch(() => []),
409
409
  api.get("/v1/docs").catch(() => ({ items: [] })),
410
410
  api.get("/v1/ai/settings/stack").catch(() => []),
411
- api.get("/v1/standards/rules").catch(() => [])
411
+ api.get("/v1/standards/rules").catch(() => []),
412
+ // Capability states — FAIL-OPEN: an unreadable config (older backend, a
413
+ // blip) gates nothing, it can never hide working context.
414
+ api.get("/v1/doc-repos").catch(() => null)
412
415
  ]);
416
+ const disabled = (key2) => docRepos?.capabilities?.[key2]?.status === "disabled";
417
+ const guardrails = disabled("fitness") ? [] : rawGuardrails;
418
+ const specs = disabled("requirements") && disabled("design") && disabled("specs") ? [] : rawSpecs;
413
419
  const refs = /* @__PURE__ */ new Map();
414
420
  const key = (type, id) => `${type}:${id}`;
415
421
  const scorable = [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@systemdox/mcp-server",
3
- "version": "0.1.13",
3
+ "version": "0.1.14",
4
4
  "type": "module",
5
5
  "description": "MCP server that exposes SystemDox checks, specs, docs, and tech stack to AI coding tools",
6
6
  "main": "./dist/index.js",