@wootsup/mcp 0.1.0-rc.12 → 0.1.0-rc.13-w3.1

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 (162) hide show
  1. package/dist/index.d.ts +19 -0
  2. package/dist/index.js +59 -5
  3. package/dist/index.js.map +1 -1
  4. package/dist/modules/apimapper/cache.d.ts +2 -2
  5. package/dist/modules/apimapper/cache.js +107 -25
  6. package/dist/modules/apimapper/cache.js.map +1 -1
  7. package/dist/modules/apimapper/client.d.ts +31 -0
  8. package/dist/modules/apimapper/client.js +70 -12
  9. package/dist/modules/apimapper/client.js.map +1 -1
  10. package/dist/modules/apimapper/connections-format.d.ts +51 -0
  11. package/dist/modules/apimapper/connections-format.js +261 -0
  12. package/dist/modules/apimapper/connections-format.js.map +1 -0
  13. package/dist/modules/apimapper/connections-trim.d.ts +82 -0
  14. package/dist/modules/apimapper/connections-trim.js +224 -0
  15. package/dist/modules/apimapper/connections-trim.js.map +1 -0
  16. package/dist/modules/apimapper/connections.d.ts +14 -2
  17. package/dist/modules/apimapper/connections.js +391 -152
  18. package/dist/modules/apimapper/connections.js.map +1 -1
  19. package/dist/modules/apimapper/credentials-format.d.ts +21 -0
  20. package/dist/modules/apimapper/credentials-format.js +145 -0
  21. package/dist/modules/apimapper/credentials-format.js.map +1 -0
  22. package/dist/modules/apimapper/credentials.d.ts +12 -2
  23. package/dist/modules/apimapper/credentials.js +241 -69
  24. package/dist/modules/apimapper/credentials.js.map +1 -1
  25. package/dist/modules/apimapper/diagnose.d.ts +45 -2
  26. package/dist/modules/apimapper/diagnose.js +124 -7
  27. package/dist/modules/apimapper/diagnose.js.map +1 -1
  28. package/dist/modules/apimapper/elicitation.d.ts +54 -0
  29. package/dist/modules/apimapper/elicitation.js +90 -0
  30. package/dist/modules/apimapper/elicitation.js.map +1 -0
  31. package/dist/modules/apimapper/flows-format.d.ts +50 -0
  32. package/dist/modules/apimapper/flows-format.js +318 -0
  33. package/dist/modules/apimapper/flows-format.js.map +1 -0
  34. package/dist/modules/apimapper/flows.d.ts +13 -2
  35. package/dist/modules/apimapper/flows.js +300 -114
  36. package/dist/modules/apimapper/flows.js.map +1 -1
  37. package/dist/modules/apimapper/gateway/advanced-tool.d.ts +9 -0
  38. package/dist/modules/apimapper/gateway/advanced-tool.js +214 -0
  39. package/dist/modules/apimapper/gateway/advanced-tool.js.map +1 -0
  40. package/dist/modules/apimapper/gateway/capturing-server.d.ts +81 -0
  41. package/dist/modules/apimapper/gateway/capturing-server.js +87 -0
  42. package/dist/modules/apimapper/gateway/capturing-server.js.map +1 -0
  43. package/dist/modules/apimapper/gateway/essentials.d.ts +4 -0
  44. package/dist/modules/apimapper/gateway/essentials.js +28 -0
  45. package/dist/modules/apimapper/gateway/essentials.js.map +1 -0
  46. package/dist/modules/apimapper/gateway/test-support.d.ts +17 -0
  47. package/dist/modules/apimapper/gateway/test-support.js +43 -0
  48. package/dist/modules/apimapper/gateway/test-support.js.map +1 -0
  49. package/dist/modules/apimapper/get-skill.d.ts +3 -3
  50. package/dist/modules/apimapper/get-skill.js +4 -2
  51. package/dist/modules/apimapper/get-skill.js.map +1 -1
  52. package/dist/modules/apimapper/graph.d.ts +2 -2
  53. package/dist/modules/apimapper/graph.js +40 -25
  54. package/dist/modules/apimapper/graph.js.map +1 -1
  55. package/dist/modules/apimapper/index.d.ts +17 -1
  56. package/dist/modules/apimapper/index.js +66 -17
  57. package/dist/modules/apimapper/index.js.map +1 -1
  58. package/dist/modules/apimapper/inspect.d.ts +3 -2
  59. package/dist/modules/apimapper/inspect.js +97 -13
  60. package/dist/modules/apimapper/inspect.js.map +1 -1
  61. package/dist/modules/apimapper/library.d.ts +2 -2
  62. package/dist/modules/apimapper/library.js +277 -107
  63. package/dist/modules/apimapper/library.js.map +1 -1
  64. package/dist/modules/apimapper/license-format.d.ts +22 -0
  65. package/dist/modules/apimapper/license-format.js +149 -0
  66. package/dist/modules/apimapper/license-format.js.map +1 -0
  67. package/dist/modules/apimapper/license.d.ts +16 -2
  68. package/dist/modules/apimapper/license.js +85 -37
  69. package/dist/modules/apimapper/license.js.map +1 -1
  70. package/dist/modules/apimapper/local-sources.d.ts +2 -2
  71. package/dist/modules/apimapper/local-sources.js +48 -25
  72. package/dist/modules/apimapper/local-sources.js.map +1 -1
  73. package/dist/modules/apimapper/misc.d.ts +30 -2
  74. package/dist/modules/apimapper/misc.js +129 -50
  75. package/dist/modules/apimapper/misc.js.map +1 -1
  76. package/dist/modules/apimapper/node-schema.d.ts +50 -0
  77. package/dist/modules/apimapper/node-schema.js +64 -0
  78. package/dist/modules/apimapper/node-schema.js.map +1 -1
  79. package/dist/modules/apimapper/normalizers.d.ts +1 -0
  80. package/dist/modules/apimapper/normalizers.js +51 -0
  81. package/dist/modules/apimapper/normalizers.js.map +1 -1
  82. package/dist/modules/apimapper/onboarding.d.ts +27 -2
  83. package/dist/modules/apimapper/onboarding.js +219 -25
  84. package/dist/modules/apimapper/onboarding.js.map +1 -1
  85. package/dist/modules/apimapper/read-cache.d.ts +31 -2
  86. package/dist/modules/apimapper/read-cache.js +20 -6
  87. package/dist/modules/apimapper/read-cache.js.map +1 -1
  88. package/dist/modules/apimapper/render/_shared.d.ts +24 -0
  89. package/dist/modules/apimapper/render/_shared.js +84 -0
  90. package/dist/modules/apimapper/render/_shared.js.map +1 -0
  91. package/dist/modules/apimapper/render/dag.d.ts +18 -0
  92. package/dist/modules/apimapper/render/dag.js +70 -0
  93. package/dist/modules/apimapper/render/dag.js.map +1 -0
  94. package/dist/modules/apimapper/render/index.d.ts +2 -0
  95. package/dist/modules/apimapper/render/index.js +112 -0
  96. package/dist/modules/apimapper/render/index.js.map +1 -0
  97. package/dist/modules/apimapper/render/renderers/chart-bar.d.ts +2 -0
  98. package/dist/modules/apimapper/render/renderers/chart-bar.js +70 -0
  99. package/dist/modules/apimapper/render/renderers/chart-bar.js.map +1 -0
  100. package/dist/modules/apimapper/render/renderers/chart-line.d.ts +2 -0
  101. package/dist/modules/apimapper/render/renderers/chart-line.js +71 -0
  102. package/dist/modules/apimapper/render/renderers/chart-line.js.map +1 -0
  103. package/dist/modules/apimapper/render/renderers/diff.d.ts +2 -0
  104. package/dist/modules/apimapper/render/renderers/diff.js +154 -0
  105. package/dist/modules/apimapper/render/renderers/diff.js.map +1 -0
  106. package/dist/modules/apimapper/render/renderers/flow-diagram.d.ts +1 -0
  107. package/dist/modules/apimapper/render/renderers/flow-diagram.js +180 -0
  108. package/dist/modules/apimapper/render/renderers/flow-diagram.js.map +1 -0
  109. package/dist/modules/apimapper/render/renderers/json-tree.d.ts +2 -0
  110. package/dist/modules/apimapper/render/renderers/json-tree.js +87 -0
  111. package/dist/modules/apimapper/render/renderers/json-tree.js.map +1 -0
  112. package/dist/modules/apimapper/render/renderers/schema-diagram.d.ts +2 -0
  113. package/dist/modules/apimapper/render/renderers/schema-diagram.js +83 -0
  114. package/dist/modules/apimapper/render/renderers/schema-diagram.js.map +1 -0
  115. package/dist/modules/apimapper/render/renderers/table.d.ts +2 -0
  116. package/dist/modules/apimapper/render/renderers/table.js +75 -0
  117. package/dist/modules/apimapper/render/renderers/table.js.map +1 -0
  118. package/dist/modules/apimapper/render/schemas.d.ts +23 -0
  119. package/dist/modules/apimapper/render/schemas.js +56 -0
  120. package/dist/modules/apimapper/render/schemas.js.map +1 -0
  121. package/dist/modules/apimapper/render/secret-masking.d.ts +5 -0
  122. package/dist/modules/apimapper/render/secret-masking.js +51 -0
  123. package/dist/modules/apimapper/render/secret-masking.js.map +1 -0
  124. package/dist/modules/apimapper/render/sidecar.d.ts +21 -0
  125. package/dist/modules/apimapper/render/sidecar.js +66 -0
  126. package/dist/modules/apimapper/render/sidecar.js.map +1 -0
  127. package/dist/modules/apimapper/render/token-cap.d.ts +21 -0
  128. package/dist/modules/apimapper/render/token-cap.js +57 -0
  129. package/dist/modules/apimapper/render/token-cap.js.map +1 -0
  130. package/dist/modules/apimapper/schema.d.ts +2 -2
  131. package/dist/modules/apimapper/schema.js +100 -32
  132. package/dist/modules/apimapper/schema.js.map +1 -1
  133. package/dist/modules/apimapper/settings-format.d.ts +23 -0
  134. package/dist/modules/apimapper/settings-format.js +135 -0
  135. package/dist/modules/apimapper/settings-format.js.map +1 -0
  136. package/dist/modules/apimapper/settings.d.ts +2 -2
  137. package/dist/modules/apimapper/settings.js +101 -40
  138. package/dist/modules/apimapper/settings.js.map +1 -1
  139. package/dist/modules/apimapper/skill-resources.d.ts +2 -2
  140. package/dist/modules/apimapper/skill-resources.js.map +1 -1
  141. package/dist/modules/apimapper/token-baseline.harness.d.ts +91 -0
  142. package/dist/modules/apimapper/token-baseline.harness.js +291 -0
  143. package/dist/modules/apimapper/token-baseline.harness.js.map +1 -0
  144. package/dist/modules/apimapper/toolslist-size.d.ts +55 -0
  145. package/dist/modules/apimapper/toolslist-size.js +190 -0
  146. package/dist/modules/apimapper/toolslist-size.js.map +1 -0
  147. package/dist/modules/apimapper/types.d.ts +23 -8
  148. package/dist/modules/apimapper/types.js +26 -1
  149. package/dist/modules/apimapper/types.js.map +1 -1
  150. package/dist/modules/apimapper/use-profile.d.ts +21 -0
  151. package/dist/modules/apimapper/use-profile.js +56 -2
  152. package/dist/modules/apimapper/use-profile.js.map +1 -1
  153. package/dist/modules/apimapper/workflows.d.ts +2 -2
  154. package/dist/modules/apimapper/workflows.js +36 -7
  155. package/dist/modules/apimapper/workflows.js.map +1 -1
  156. package/dist/setup-cli.d.ts +53 -0
  157. package/dist/setup-cli.js +126 -4
  158. package/dist/setup-cli.js.map +1 -1
  159. package/manifest.json +11 -2
  160. package/package.json +6 -3
  161. package/skills/apimapper/SKILL.md +1 -1
  162. package/skills/apimapper/reference/render.md +132 -0
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
3
+ import { ProfileStore } from "./auth/profiles.js";
3
4
  /**
4
5
  * Constructs the McpServer with bundled skill instructions wired into the
5
6
  * `instructions` field. Extracted as a factory for testability.
@@ -10,4 +11,22 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
10
11
  */
11
12
  export declare function createServer(): McpServer;
12
13
  declare const server: McpServer;
14
+ /**
15
+ * Bootstrap the active-profile pointer from `APIMAPPER_PROFILE` env var.
16
+ *
17
+ * F-49 (W1.27) added APIMAPPER_PROFILE to the DXT manifest + setup-cli, but
18
+ * no runtime consumer existed. A customer with multiple MCP-client entries
19
+ * declaring different profiles always landed on whichever was setActive
20
+ * last on disk — defeating the multi-site selection feature.
21
+ *
22
+ * Behaviour (A6-P3-INTEG-02 — pinned by index.bootstrap-profile.test.ts):
23
+ * - unset / whitespace-only → no-op (active pointer unchanged)
24
+ * - "default" → no-op (manifest default is the implicit state)
25
+ * - "<known profile name>" → store.setActive(name) is called
26
+ * - "<unknown profile name>" → no-op, no throw (avoid phantom profiles)
27
+ *
28
+ * Best-effort: any error reading the store is logged + swallowed so the
29
+ * rest of the MCP surface still boots on a disk-locked or torn-write host.
30
+ */
31
+ export declare function bootstrapActiveProfile(store: ProfileStore): Promise<void>;
13
32
  export { server };
package/dist/index.js CHANGED
@@ -26,6 +26,14 @@ if (process.env.APIMAPPER_SITE_URL && !process.env.APIMAPPER_WP_BASE) {
26
26
  // the build-dxt grep gate verifies every user_config key has a runtime
27
27
  // consumer — see scripts/build-dxt.js.
28
28
  void process.env.APIMAPPER_PLATFORM;
29
+ // APIMAPPER_PROFILE (F-49 / W1.27) — optional profile label for multi-site
30
+ // setups. The setup-cli writes it into the MCP client entry env; the
31
+ // profile-aware tools (apimapper_use_profile / apimapper_list_profiles)
32
+ // consume the underlying ProfileStore. The actual env-var → setActive
33
+ // bridge runs inside main() once the ProfileStore is constructed; see
34
+ // `bootstrapActiveProfile` below for the A6-P3-INTEG-02 wiring + tests.
35
+ void process.env.APIMAPPER_PROFILE;
36
+ import { createRequire } from "node:module";
29
37
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
30
38
  import { loadModules, formatResult, readOnly } from "@getimo/mcp-toolkit";
31
39
  import { apimapperRestModule } from "./modules/apimapper/index.js";
@@ -33,7 +41,13 @@ import { loadSkillInstructions } from "./skill-instructions.js";
33
41
  import { connectStdio } from "./transports/stdio.js";
34
42
  import { createKeychain } from "./auth/keychain.js";
35
43
  import { ProfileStore, resolveConfigDir } from "./auth/profiles.js";
36
- import { registerUseProfileTool } from "./modules/apimapper/use-profile.js";
44
+ import { registerUseProfileTool, registerListProfilesTool, } from "./modules/apimapper/use-profile.js";
45
+ // Single source of truth for the package version (F-41 / W1.23).
46
+ // Reads ../package.json at runtime so we never drift between the manifest
47
+ // version (used by npm + DXT) and what we advertise to MCP clients.
48
+ const require = createRequire(import.meta.url);
49
+ const pkg = require("../package.json");
50
+ const PKG_VERSION = pkg.version;
37
51
  /**
38
52
  * Constructs the McpServer with bundled skill instructions wired into the
39
53
  * `instructions` field. Extracted as a factory for testability.
@@ -45,13 +59,48 @@ import { registerUseProfileTool } from "./modules/apimapper/use-profile.js";
45
59
  export function createServer() {
46
60
  return new McpServer({
47
61
  name: "API Mapper MCP",
48
- version: "0.2.0",
62
+ version: PKG_VERSION,
49
63
  }, {
50
64
  instructions: loadSkillInstructions(),
51
65
  });
52
66
  }
53
67
  const server = createServer();
54
68
  let moduleStatuses = [];
69
+ /**
70
+ * Bootstrap the active-profile pointer from `APIMAPPER_PROFILE` env var.
71
+ *
72
+ * F-49 (W1.27) added APIMAPPER_PROFILE to the DXT manifest + setup-cli, but
73
+ * no runtime consumer existed. A customer with multiple MCP-client entries
74
+ * declaring different profiles always landed on whichever was setActive
75
+ * last on disk — defeating the multi-site selection feature.
76
+ *
77
+ * Behaviour (A6-P3-INTEG-02 — pinned by index.bootstrap-profile.test.ts):
78
+ * - unset / whitespace-only → no-op (active pointer unchanged)
79
+ * - "default" → no-op (manifest default is the implicit state)
80
+ * - "<known profile name>" → store.setActive(name) is called
81
+ * - "<unknown profile name>" → no-op, no throw (avoid phantom profiles)
82
+ *
83
+ * Best-effort: any error reading the store is logged + swallowed so the
84
+ * rest of the MCP surface still boots on a disk-locked or torn-write host.
85
+ */
86
+ export async function bootstrapActiveProfile(store) {
87
+ const desired = process.env.APIMAPPER_PROFILE?.trim();
88
+ if (!desired || desired === "default")
89
+ return;
90
+ try {
91
+ const all = await store.list();
92
+ const known = all.some((p) => p.name === desired);
93
+ if (known) {
94
+ await store.setActive(desired);
95
+ }
96
+ // unknown profile: swallow silently to avoid creating phantom profiles
97
+ // or surfacing confusing errors on a fresh install where the profile
98
+ // env var was inherited from a different host.
99
+ }
100
+ catch (err) {
101
+ console.error("[apimapper-rest] APIMAPPER_PROFILE bootstrap skipped — profile store unreadable:", err instanceof Error ? err.message : err);
102
+ }
103
+ }
55
104
  // Root tool: module-loading status. Distinct from `apimapper_health` (which
56
105
  // probes connectivity + auth against the live REST surface). Names diverge
57
106
  // to avoid agent confusion.
@@ -60,12 +109,12 @@ server.registerTool("apimapper_rest_modules_status", {
60
109
  description: "Module-loading status for this MCP adapter (which sub-modules registered cleanly). " +
61
110
  "For runtime connectivity + auth checks against the API Mapper REST surface, use apimapper_health.",
62
111
  inputSchema: {},
63
- annotations: readOnly(),
112
+ annotations: readOnly({ title: "MCP Modules Status", openWorld: false }),
64
113
  }, async () => {
65
114
  const ok = moduleStatuses.filter((m) => m.status === "ok").length;
66
115
  const failed = moduleStatuses.filter((m) => m.status === "error").length;
67
116
  return formatResult({
68
- version: "0.2.0",
117
+ version: PKG_VERSION,
69
118
  modules_loaded: ok,
70
119
  modules_total: moduleStatuses.length,
71
120
  modules_failed: failed,
@@ -90,7 +139,12 @@ async function main() {
90
139
  const configDir = resolveConfigDir();
91
140
  const keychain = await createKeychain({ configDir });
92
141
  const profileStore = new ProfileStore(configDir);
142
+ // A6-P3-INTEG-02: honour APIMAPPER_PROFILE env var. Must run AFTER the
143
+ // ProfileStore is constructed but BEFORE the tools register so any
144
+ // subsequent tool call sees the corrected active pointer.
145
+ await bootstrapActiveProfile(profileStore);
93
146
  registerUseProfileTool(server, { store: profileStore, keychain });
147
+ registerListProfilesTool(server, { store: profileStore, keychain });
94
148
  }
95
149
  catch (err) {
96
150
  console.error("[apimapper-rest] use-profile tool disabled — keychain/profile init failed:", err instanceof Error ? err.message : err);
@@ -102,7 +156,7 @@ async function main() {
102
156
  });
103
157
  await connectStdio(server);
104
158
  const ok = moduleStatuses.filter((m) => m.status === "ok").length;
105
- console.error(`[apimapper-rest] MCP Server v0.2.0 running — ${ok}/${moduleStatuses.length} modules loaded`);
159
+ console.error(`[apimapper-rest] MCP Server v${PKG_VERSION} running — ${ok}/${moduleStatuses.length} modules loaded`);
106
160
  }
107
161
  // ── Subcommand dispatch (Phase 6 setup CLI integration) ──────────────
108
162
  // AI clients invoke `apimapper-mcp` with stdio piped and no subcommand;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- export declare function registerCacheTools(server: McpServer): void;
1
+ import type { ToolRegistrar } from "./gateway/capturing-server.js";
2
+ export declare function registerCacheTools(server: ToolRegistrar): void;
@@ -1,6 +1,14 @@
1
1
  import { z } from "zod";
2
- import { formatResult, readOnly, mutating } from "@getimo/mcp-toolkit";
2
+ import { formatResult, statsResult, errorResult, readOnly, destructive, } from "@getimo/mcp-toolkit";
3
3
  import { request, hintFor } from "./client.js";
4
+ // rc.13 Welle 3 (2026-05-20) — cache_stats migrated to the toolkit's
5
+ // statsResult builder; both tools' error branches upgraded to errorResult.
6
+ // The migration is purely additive (text `content` block preserved, `_meta.ui`
7
+ // added). cache_stats' headline metrics (hits / misses / hit_rate / storage /
8
+ // window / rt_avoidance) become the statsResult `stats[]`; the per-tier
9
+ // breakdown + the (W1.15-capped) top_keys list move into the statsResult
10
+ // `description` text so the LLM still reads them. cache_invalidate keeps its
11
+ // formatResult success payload — a small confirmation.
4
12
  // F-A6-07: canonical PHP enum from CacheInvalidateController::scopeToEvent.
5
13
  // Legacy aliases (`flow`, `connection`, `credential`, `user`) are accepted
6
14
  // by Wave 1B PHP but the dotted form is the documented contract.
@@ -12,6 +20,9 @@ const CACHE_INVALIDATE_SCOPES = [
12
20
  "user.refresh",
13
21
  "user.fetch_data",
14
22
  ];
23
+ // W1.15 (F-27): cap top_keys envelope size — PHP can return arbitrary
24
+ // counts but the MCP response stays bounded for AI-client legibility.
25
+ const CACHE_STATS_TOP_KEYS_CAP = 20;
15
26
  export function registerCacheTools(server) {
16
27
  // ── apimapper_cache_invalidate ─────────────────────────────────────
17
28
  server.registerTool("apimapper_cache_invalidate", {
@@ -33,20 +44,22 @@ export function registerCacheTools(server) {
33
44
  .optional()
34
45
  .describe("Event-specific payload (see scope description for required keys)."),
35
46
  },
36
- annotations: mutating(),
47
+ // W1.26 (IA-1): cache_invalidate evicts state (destructive), not idempotent
48
+ // re-write of same payload. Aligns with the rest of the destructive() family
49
+ // (connection_delete, flow_delete, library_deactivate, ...).
50
+ annotations: destructive({ title: "Invalidate Admin Cache", openWorld: false }),
37
51
  }, async ({ scope, payload }) => {
38
52
  const body = { scope };
39
53
  if (payload)
40
54
  body.payload = payload;
41
55
  const r = await request("/cache/admin/invalidate", { method: "POST", body: JSON.stringify(body) });
42
56
  if (!r.success) {
43
- return formatResult({
44
- error: r.error,
45
- status: r.status,
46
- errorCode: r.errorCode,
47
- context: { scope, payload_keys: payload ? Object.keys(payload) : [] },
48
- hint: hintFor(r.errorCode),
49
- }, true);
57
+ return errorResult({
58
+ message: r.error ?? "cache invalidation failed",
59
+ code: r.errorCode ?? (r.status ? String(r.status) : undefined),
60
+ suggestion: hintFor(r.errorCode),
61
+ details: { scope, payload_keys: payload ? Object.keys(payload) : [] },
62
+ });
50
63
  }
51
64
  const ok = r.data?.ok === true;
52
65
  return formatResult({
@@ -62,14 +75,20 @@ export function registerCacheTools(server) {
62
75
  // events.
63
76
  server.registerTool("apimapper_cache_stats", {
64
77
  title: "Get Cache Stats",
65
- description: "Fetch cache observability stats (per-tier hits/misses, storage size, invalidation events)." +
78
+ description: "Fetch cache observability stats (per-tier hits/misses, storage size, invalidation events, " +
79
+ `top_keys capped at ${CACHE_STATS_TOP_KEYS_CAP}).` +
66
80
  "\n\nExample:\n apimapper_cache_stats({})",
67
81
  inputSchema: {},
68
- annotations: readOnly(),
82
+ annotations: readOnly({ title: "Get Cache Stats", openWorld: false }),
69
83
  }, async () => {
70
84
  const r = await request("/cache-stats");
71
85
  if (!r.success) {
72
- return formatResult({ error: r.error, status: r.status, errorCode: r.errorCode, context: {}, hint: hintFor(r.errorCode) }, true);
86
+ return errorResult({
87
+ message: r.error ?? "cache stats failed",
88
+ code: r.errorCode ?? (r.status ? String(r.status) : undefined),
89
+ suggestion: hintFor(r.errorCode),
90
+ details: {},
91
+ });
73
92
  }
74
93
  const tiers = r.data?.tiers ?? {};
75
94
  const admin = tiers.admin ?? {};
@@ -82,20 +101,83 @@ export function registerCacheTools(server) {
82
101
  const totalMisses = adminMisses + renderMisses;
83
102
  const denom = totalHits + totalMisses;
84
103
  const hitRate = denom > 0 ? `${((totalHits / denom) * 100).toFixed(1)}%` : "n/a";
85
- return formatResult({
86
- timestamp: r.data?.timestamp,
87
- hits: totalHits,
88
- misses: totalMisses,
89
- hit_rate: hitRate,
90
- tiers: {
91
- admin: { hits: adminHits, misses: adminMisses, sets: admin.sets ?? 0 },
92
- render: { hits: renderHits, misses: renderMisses, sets: render.sets ?? 0 },
104
+ // W3.1 — statsResult: every metric becomes a flat `stats[]` entry so it
105
+ // is BOTH LLM-visible (rendered as text by statsResult) and structured
106
+ // for the StatsDisplay card. The headline metrics, the per-tier
107
+ // breakdown, storage and the (W1.15-capped) top_keys all render as stat
108
+ // entries — statsResult.stats[] holds flat scalars, and the top_keys
109
+ // list is joined into a single string-valued stat.
110
+ const storage = r.data?.storage;
111
+ const topKeys = Array.isArray(r.data?.top_keys)
112
+ ? r.data.top_keys.slice(0, CACHE_STATS_TOP_KEYS_CAP)
113
+ : [];
114
+ const stats = [
115
+ { key: "hits", label: "Hits", value: totalHits, format: "number" },
116
+ { key: "misses", label: "Misses", value: totalMisses, format: "number" },
117
+ { key: "hit_rate", label: "Hit rate", value: hitRate },
118
+ {
119
+ key: "admin_tier",
120
+ label: "Tier admin",
121
+ value: `${adminHits} hits / ${adminMisses} misses / ${admin.sets ?? 0} sets`,
122
+ },
123
+ {
124
+ key: "render_tier",
125
+ label: "Tier render",
126
+ value: `${renderHits} hits / ${renderMisses} misses / ${render.sets ?? 0} sets`,
93
127
  },
94
- storage: r.data?.storage,
95
- invalidation: r.data?.invalidation,
96
- window_seconds: r.data?.window_seconds,
97
- rt_avoidance_ms_p50: r.data?.rt_avoidance_ms_p50,
98
- }, false, { maxChars: 3000 });
128
+ ];
129
+ if (storage && typeof storage.entries === "number") {
130
+ stats.push({
131
+ key: "storage_entries",
132
+ label: "Storage entries",
133
+ value: storage.entries,
134
+ format: "number",
135
+ });
136
+ }
137
+ if (storage && typeof storage.bytes === "number") {
138
+ stats.push({
139
+ key: "storage_bytes",
140
+ label: "Storage bytes",
141
+ value: storage.bytes,
142
+ format: "number",
143
+ });
144
+ }
145
+ if (typeof r.data?.window_seconds === "number") {
146
+ stats.push({
147
+ key: "window_seconds",
148
+ label: "Window (s)",
149
+ value: r.data.window_seconds,
150
+ format: "number",
151
+ });
152
+ }
153
+ if (typeof r.data?.rt_avoidance_ms_p50 === "number") {
154
+ stats.push({
155
+ key: "rt_avoidance_ms_p50",
156
+ label: "RT avoidance p50 (ms)",
157
+ value: r.data.rt_avoidance_ms_p50,
158
+ format: "number",
159
+ });
160
+ }
161
+ if (r.data?.invalidation && typeof r.data.invalidation === "object") {
162
+ stats.push({
163
+ key: "invalidation",
164
+ label: "Invalidation",
165
+ value: JSON.stringify(r.data.invalidation),
166
+ });
167
+ }
168
+ if (topKeys.length > 0) {
169
+ stats.push({
170
+ key: "top_keys",
171
+ label: `Top keys (capped ${CACHE_STATS_TOP_KEYS_CAP})`,
172
+ value: topKeys.map((k) => String(k)).join(", "),
173
+ });
174
+ }
175
+ return statsResult({
176
+ title: "Cache Stats",
177
+ description: "Per-tier cache observability — hit/miss counters, storage size, " +
178
+ "invalidation throughput and the hottest keys.",
179
+ stats,
180
+ });
99
181
  });
100
182
  }
101
183
  //# sourceMappingURL=cache.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/modules/apimapper/cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/modules/apimapper/cache.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,36 @@
1
1
  import { type ApiResponse } from "@getimo/mcp-toolkit";
2
2
  import { type Platform } from "../../platform/index.js";
3
+ /**
4
+ * WordPress / Joomla site base URL.
5
+ *
6
+ * Env-var precedence: `APIMAPPER_WP_BASE` → `APIMAPPER_SITE_URL` (alias
7
+ * written by the DXT setup wizard) → empty string.
8
+ *
9
+ * The SITE_URL → WP_BASE bridge is handled exactly once, above, via
10
+ * `process.env.APIMAPPER_WP_BASE = process.env.APIMAPPER_SITE_URL`. This
11
+ * keeps a single source of truth in `process.env` so any consumer
12
+ * (including child processes spawned later, R7 verify scripts, and
13
+ * legacy CustomGraph internal code) sees the same value — not just
14
+ * this module's exported `WP_BASE` constant.
15
+ *
16
+ * Empty default is intentional (F-43, 2026-05-19): a freshly-installed
17
+ * customer who has not run the setup wizard must NOT silently inherit
18
+ * the WootsUp dev URL — that leaked the vendor's setup hostname into
19
+ * customer error logs and confused triage. In production (NODE_ENV
20
+ * === "production") an empty value causes a fail-fast exit below.
21
+ *
22
+ * Trailing slash is normalised away so downstream `${WP_BASE}/...` joins
23
+ * never produce double-slashes.
24
+ */
3
25
  export declare const WP_BASE: string;
26
+ /**
27
+ * WordPress username for legacy Application-Password Basic auth.
28
+ *
29
+ * Empty default is intentional (F-44, 2026-05-19): the previous "getimo"
30
+ * default leaked a personal username into customer 401 logs. Customers
31
+ * using the modern Bearer-token flow (`amk_live_...`) don't need this
32
+ * value at all; legacy users must set `APIMAPPER_WP_USER` explicitly.
33
+ */
4
34
  export declare const WP_USER: string;
5
35
  export declare const WP_APP_PASS: string;
6
36
  /**
@@ -65,6 +95,7 @@ export interface PlatformClient {
65
95
  * All errors are sanitised via `sanitizeErrorString()` before being returned.
66
96
  */
67
97
  export declare function createPlatformClient(platform: Platform): PlatformClient;
98
+ export declare const PLATFORM_KIND: "wordpress" | "joomla";
68
99
  /**
69
100
  * Issue a request through the toolkit HTTP client + capture HTTP status.
70
101
  *
@@ -58,8 +58,38 @@ if (process.env.APIMAPPER_TOKEN && !process.env.APIMAPPER_WP_APP_PASS) {
58
58
  if (process.env.APIMAPPER_SITE_URL && !process.env.APIMAPPER_WP_BASE) {
59
59
  process.env.APIMAPPER_WP_BASE = process.env.APIMAPPER_SITE_URL;
60
60
  }
61
- export const WP_BASE = (process.env.APIMAPPER_WP_BASE || "https://dev.wootsup.com/wordpress").replace(/\/$/, "");
62
- export const WP_USER = process.env.APIMAPPER_WP_USER || "getimo";
61
+ /**
62
+ * WordPress / Joomla site base URL.
63
+ *
64
+ * Env-var precedence: `APIMAPPER_WP_BASE` → `APIMAPPER_SITE_URL` (alias
65
+ * written by the DXT setup wizard) → empty string.
66
+ *
67
+ * The SITE_URL → WP_BASE bridge is handled exactly once, above, via
68
+ * `process.env.APIMAPPER_WP_BASE = process.env.APIMAPPER_SITE_URL`. This
69
+ * keeps a single source of truth in `process.env` so any consumer
70
+ * (including child processes spawned later, R7 verify scripts, and
71
+ * legacy CustomGraph internal code) sees the same value — not just
72
+ * this module's exported `WP_BASE` constant.
73
+ *
74
+ * Empty default is intentional (F-43, 2026-05-19): a freshly-installed
75
+ * customer who has not run the setup wizard must NOT silently inherit
76
+ * the WootsUp dev URL — that leaked the vendor's setup hostname into
77
+ * customer error logs and confused triage. In production (NODE_ENV
78
+ * === "production") an empty value causes a fail-fast exit below.
79
+ *
80
+ * Trailing slash is normalised away so downstream `${WP_BASE}/...` joins
81
+ * never produce double-slashes.
82
+ */
83
+ export const WP_BASE = (process.env.APIMAPPER_WP_BASE || "").replace(/\/$/, "");
84
+ /**
85
+ * WordPress username for legacy Application-Password Basic auth.
86
+ *
87
+ * Empty default is intentional (F-44, 2026-05-19): the previous "getimo"
88
+ * default leaked a personal username into customer 401 logs. Customers
89
+ * using the modern Bearer-token flow (`amk_live_...`) don't need this
90
+ * value at all; legacy users must set `APIMAPPER_WP_USER` explicitly.
91
+ */
92
+ export const WP_USER = process.env.APIMAPPER_WP_USER || "";
63
93
  export const WP_APP_PASS = process.env.APIMAPPER_WP_APP_PASS || "";
64
94
  // Auth-shape detection: the credential the customer pastes during setup can
65
95
  // be either a WordPress Application Password (legacy / power-user path) or
@@ -73,12 +103,22 @@ const BASIC_TOKEN = !IS_MCP_BEARER && WP_APP_PASS
73
103
  ? Buffer.from(`${WP_USER}:${WP_APP_PASS}`, "utf8").toString("base64")
74
104
  : "";
75
105
  const BEARER_TOKEN = IS_MCP_BEARER ? WP_APP_PASS : "";
76
- if (!BASIC_TOKEN && !BEARER_TOKEN && process.env.NODE_ENV === "production") {
77
- // Fail-fast: prevents silent unauthenticated client opaque 401s downstream.
78
- // In test/dev we keep the client buildable so unit tests don't require a vault.
79
- console.error("[apimapper-mcp] ERROR: APIMAPPER_TOKEN is not set. Run `npx -y @wootsup/mcp setup` " +
80
- "to generate a key and configure your AI client. Refusing to start in production.");
81
- process.exit(2);
106
+ // F-43+F-44 production fail-fast (2026-05-19): two independent guards. The
107
+ // WP_BASE check runs first and short-circuits via process.exit(2) so we
108
+ // never log two errors for one mis-configured install. In test/dev we keep
109
+ // the client buildable so unit tests don't require a vault.
110
+ if (process.env.NODE_ENV === "production") {
111
+ if (!WP_BASE) {
112
+ console.error("[apimapper-mcp] ERROR: APIMAPPER_WP_BASE (or APIMAPPER_SITE_URL) is not set. " +
113
+ "Run `npx -y @wootsup/mcp setup` to configure your AI client. Refusing to start in production.");
114
+ process.exit(2);
115
+ }
116
+ if (!BASIC_TOKEN && !BEARER_TOKEN) {
117
+ // Fail-fast: prevents silent unauthenticated client → opaque 401s downstream.
118
+ console.error("[apimapper-mcp] ERROR: APIMAPPER_TOKEN is not set. Run `npx -y @wootsup/mcp setup` " +
119
+ "to generate a key and configure your AI client. Refusing to start in production.");
120
+ process.exit(2);
121
+ }
82
122
  }
83
123
  const rawApi = createHttpClient({
84
124
  baseUrl: `${WP_BASE}/wp-json/api-mapper/v1`,
@@ -271,7 +311,15 @@ class WordPressBasicAuthPlatform extends WordPressPlatform {
271
311
  return {};
272
312
  }
273
313
  }
274
- const PLATFORM_KIND = (process.env.APIMAPPER_PLATFORM ?? "wordpress");
314
+ // A1-P2 (W1-polish): Narrow the platform-kind selection with a case-strict
315
+ // `=== "joomla"` check instead of an unsafe `as` cast on the raw env value.
316
+ // The cast silently coerced any string ("WORDPRESS", "standalone", typos
317
+ // like "jooma") into the union type, even though the runtime ternary below
318
+ // only branches on the exact literal "joomla". Aligning the type with the
319
+ // actual decision keeps a future widening (.toLowerCase(), trim, etc.) from
320
+ // flipping behaviour silently — anything that isn't the literal "joomla"
321
+ // must continue to default to WordPress.
322
+ export const PLATFORM_KIND = process.env.APIMAPPER_PLATFORM === "joomla" ? "joomla" : "wordpress";
275
323
  const legacyPlatform = PLATFORM_KIND === "joomla"
276
324
  ? new JoomlaPlatform({
277
325
  // Joomla uses the same APIMAPPER_WP_BASE env var (or APIMAPPER_SITE_URL
@@ -310,7 +358,10 @@ export async function request(path, init = {}, opts = {}) {
310
358
  const upperMethod = method.toUpperCase();
311
359
  const cacheEligible = !opts.noCache && isCacheableRequest(upperMethod, path);
312
360
  if (cacheEligible) {
313
- const hit = getCached(upperMethod, path);
361
+ // F-02 (2026-05-19): the sanitize flag participates in the cache key.
362
+ // Without this, a sanitized response could be served to a raw-mode
363
+ // caller (or vice versa) on the same URL — Defense-in-Depth gap A5.
364
+ const hit = getCached(upperMethod, path, { sanitize: opts.sanitize });
314
365
  if (hit)
315
366
  return hit;
316
367
  }
@@ -331,7 +382,7 @@ export async function request(path, init = {}, opts = {}) {
331
382
  }
332
383
  // Cache successful responses; never cache errors so the next call retries.
333
384
  if (cacheEligible && response.success) {
334
- setCached(upperMethod, path, response);
385
+ setCached(upperMethod, path, response, { sanitize: opts.sanitize });
335
386
  }
336
387
  // Mutation invalidation: any non-GET that succeeded clears the read-cache
337
388
  // for the touched path-prefix. Conservative — better to over-invalidate
@@ -534,7 +585,14 @@ async function rawAbsoluteRequest(url, init, opts) {
534
585
  export function hintFor(code) {
535
586
  switch (code) {
536
587
  case "auth":
537
- return "Auth failed. Your MCP key (APIMAPPER_TOKEN) is invalid, revoked, or expired. Generate a new one in API Mapper → ⋮ menu → Settings → MCP Access → New API key, then re-run `npx -y @wootsup/mcp setup` to update your AI client config.";
588
+ return ("Auth failed (HTTP 401/403). Your MCP key (APIMAPPER_TOKEN) is " +
589
+ "invalid, revoked, or expired. Recovery steps: " +
590
+ "(1) Open API Mapper → ⋮ menu → Settings → MCP Access. " +
591
+ "(2) Revoke the old key if you suspect it was leaked. " +
592
+ "(3) Click 'New API key' and copy the value. " +
593
+ "(4) Re-run `npx -y @wootsup/mcp setup` and paste the new key — " +
594
+ "the wizard rewrites your AI client config in place. " +
595
+ "(5) Restart your AI client (Claude Desktop / Cursor / etc.).");
538
596
  case "not_found":
539
597
  return "Resource not found. Use the matching `*_list` tool to find a valid id.";
540
598
  case "rate_limit":
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/modules/apimapper/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/modules/apimapper/client.ts"],"names":[],"mappings":"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"}