@wootsup/mcp 0.1.0-rc.8 → 0.1.0

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 (171) hide show
  1. package/README.md +7 -7
  2. package/dist/index.d.ts +19 -0
  3. package/dist/index.js +72 -6
  4. package/dist/index.js.map +1 -1
  5. package/dist/modules/apimapper/cache.d.ts +2 -2
  6. package/dist/modules/apimapper/cache.js +107 -25
  7. package/dist/modules/apimapper/cache.js.map +1 -1
  8. package/dist/modules/apimapper/client.d.ts +40 -0
  9. package/dist/modules/apimapper/client.js +82 -12
  10. package/dist/modules/apimapper/client.js.map +1 -1
  11. package/dist/modules/apimapper/connections-format.d.ts +51 -0
  12. package/dist/modules/apimapper/connections-format.js +261 -0
  13. package/dist/modules/apimapper/connections-format.js.map +1 -0
  14. package/dist/modules/apimapper/connections-trim.d.ts +82 -0
  15. package/dist/modules/apimapper/connections-trim.js +224 -0
  16. package/dist/modules/apimapper/connections-trim.js.map +1 -0
  17. package/dist/modules/apimapper/connections.d.ts +14 -2
  18. package/dist/modules/apimapper/connections.js +447 -143
  19. package/dist/modules/apimapper/connections.js.map +1 -1
  20. package/dist/modules/apimapper/credentials-format.d.ts +21 -0
  21. package/dist/modules/apimapper/credentials-format.js +145 -0
  22. package/dist/modules/apimapper/credentials-format.js.map +1 -0
  23. package/dist/modules/apimapper/credentials.d.ts +12 -2
  24. package/dist/modules/apimapper/credentials.js +253 -72
  25. package/dist/modules/apimapper/credentials.js.map +1 -1
  26. package/dist/modules/apimapper/diagnose.d.ts +54 -2
  27. package/dist/modules/apimapper/diagnose.js +193 -11
  28. package/dist/modules/apimapper/diagnose.js.map +1 -1
  29. package/dist/modules/apimapper/elicitation.d.ts +54 -0
  30. package/dist/modules/apimapper/elicitation.js +90 -0
  31. package/dist/modules/apimapper/elicitation.js.map +1 -0
  32. package/dist/modules/apimapper/flows-format.d.ts +50 -0
  33. package/dist/modules/apimapper/flows-format.js +318 -0
  34. package/dist/modules/apimapper/flows-format.js.map +1 -0
  35. package/dist/modules/apimapper/flows.d.ts +13 -2
  36. package/dist/modules/apimapper/flows.js +325 -118
  37. package/dist/modules/apimapper/flows.js.map +1 -1
  38. package/dist/modules/apimapper/gateway/advanced-tool.d.ts +9 -0
  39. package/dist/modules/apimapper/gateway/advanced-tool.js +214 -0
  40. package/dist/modules/apimapper/gateway/advanced-tool.js.map +1 -0
  41. package/dist/modules/apimapper/gateway/capturing-server.d.ts +81 -0
  42. package/dist/modules/apimapper/gateway/capturing-server.js +87 -0
  43. package/dist/modules/apimapper/gateway/capturing-server.js.map +1 -0
  44. package/dist/modules/apimapper/gateway/essentials.d.ts +4 -0
  45. package/dist/modules/apimapper/gateway/essentials.js +28 -0
  46. package/dist/modules/apimapper/gateway/essentials.js.map +1 -0
  47. package/dist/modules/apimapper/gateway/test-support.d.ts +17 -0
  48. package/dist/modules/apimapper/gateway/test-support.js +43 -0
  49. package/dist/modules/apimapper/gateway/test-support.js.map +1 -0
  50. package/dist/modules/apimapper/get-skill.d.ts +3 -3
  51. package/dist/modules/apimapper/get-skill.js +4 -2
  52. package/dist/modules/apimapper/get-skill.js.map +1 -1
  53. package/dist/modules/apimapper/graph-builder.js +1 -1
  54. package/dist/modules/apimapper/graph-builder.js.map +1 -1
  55. package/dist/modules/apimapper/graph.d.ts +2 -2
  56. package/dist/modules/apimapper/graph.js +165 -34
  57. package/dist/modules/apimapper/graph.js.map +1 -1
  58. package/dist/modules/apimapper/index.d.ts +17 -1
  59. package/dist/modules/apimapper/index.js +66 -17
  60. package/dist/modules/apimapper/index.js.map +1 -1
  61. package/dist/modules/apimapper/inspect.d.ts +3 -2
  62. package/dist/modules/apimapper/inspect.js +97 -13
  63. package/dist/modules/apimapper/inspect.js.map +1 -1
  64. package/dist/modules/apimapper/library.d.ts +2 -2
  65. package/dist/modules/apimapper/library.js +303 -60
  66. package/dist/modules/apimapper/library.js.map +1 -1
  67. package/dist/modules/apimapper/license-format.d.ts +22 -0
  68. package/dist/modules/apimapper/license-format.js +149 -0
  69. package/dist/modules/apimapper/license-format.js.map +1 -0
  70. package/dist/modules/apimapper/license.d.ts +16 -2
  71. package/dist/modules/apimapper/license.js +85 -37
  72. package/dist/modules/apimapper/license.js.map +1 -1
  73. package/dist/modules/apimapper/local-sources.d.ts +2 -2
  74. package/dist/modules/apimapper/local-sources.js +58 -30
  75. package/dist/modules/apimapper/local-sources.js.map +1 -1
  76. package/dist/modules/apimapper/misc.d.ts +30 -2
  77. package/dist/modules/apimapper/misc.js +129 -50
  78. package/dist/modules/apimapper/misc.js.map +1 -1
  79. package/dist/modules/apimapper/node-schema.d.ts +52 -0
  80. package/dist/modules/apimapper/node-schema.js +70 -2
  81. package/dist/modules/apimapper/node-schema.js.map +1 -1
  82. package/dist/modules/apimapper/normalizers.d.ts +1 -0
  83. package/dist/modules/apimapper/normalizers.js +51 -0
  84. package/dist/modules/apimapper/normalizers.js.map +1 -1
  85. package/dist/modules/apimapper/onboarding.d.ts +48 -2
  86. package/dist/modules/apimapper/onboarding.js +324 -17
  87. package/dist/modules/apimapper/onboarding.js.map +1 -1
  88. package/dist/modules/apimapper/read-cache.d.ts +31 -2
  89. package/dist/modules/apimapper/read-cache.js +20 -6
  90. package/dist/modules/apimapper/read-cache.js.map +1 -1
  91. package/dist/modules/apimapper/render/_shared.d.ts +24 -0
  92. package/dist/modules/apimapper/render/_shared.js +84 -0
  93. package/dist/modules/apimapper/render/_shared.js.map +1 -0
  94. package/dist/modules/apimapper/render/dag.d.ts +18 -0
  95. package/dist/modules/apimapper/render/dag.js +70 -0
  96. package/dist/modules/apimapper/render/dag.js.map +1 -0
  97. package/dist/modules/apimapper/render/index.d.ts +2 -0
  98. package/dist/modules/apimapper/render/index.js +112 -0
  99. package/dist/modules/apimapper/render/index.js.map +1 -0
  100. package/dist/modules/apimapper/render/renderers/chart-bar.d.ts +2 -0
  101. package/dist/modules/apimapper/render/renderers/chart-bar.js +70 -0
  102. package/dist/modules/apimapper/render/renderers/chart-bar.js.map +1 -0
  103. package/dist/modules/apimapper/render/renderers/chart-line.d.ts +2 -0
  104. package/dist/modules/apimapper/render/renderers/chart-line.js +71 -0
  105. package/dist/modules/apimapper/render/renderers/chart-line.js.map +1 -0
  106. package/dist/modules/apimapper/render/renderers/diff.d.ts +2 -0
  107. package/dist/modules/apimapper/render/renderers/diff.js +154 -0
  108. package/dist/modules/apimapper/render/renderers/diff.js.map +1 -0
  109. package/dist/modules/apimapper/render/renderers/flow-diagram.d.ts +1 -0
  110. package/dist/modules/apimapper/render/renderers/flow-diagram.js +180 -0
  111. package/dist/modules/apimapper/render/renderers/flow-diagram.js.map +1 -0
  112. package/dist/modules/apimapper/render/renderers/json-tree.d.ts +2 -0
  113. package/dist/modules/apimapper/render/renderers/json-tree.js +87 -0
  114. package/dist/modules/apimapper/render/renderers/json-tree.js.map +1 -0
  115. package/dist/modules/apimapper/render/renderers/schema-diagram.d.ts +2 -0
  116. package/dist/modules/apimapper/render/renderers/schema-diagram.js +83 -0
  117. package/dist/modules/apimapper/render/renderers/schema-diagram.js.map +1 -0
  118. package/dist/modules/apimapper/render/renderers/table.d.ts +2 -0
  119. package/dist/modules/apimapper/render/renderers/table.js +75 -0
  120. package/dist/modules/apimapper/render/renderers/table.js.map +1 -0
  121. package/dist/modules/apimapper/render/schemas.d.ts +23 -0
  122. package/dist/modules/apimapper/render/schemas.js +56 -0
  123. package/dist/modules/apimapper/render/schemas.js.map +1 -0
  124. package/dist/modules/apimapper/render/secret-masking.d.ts +5 -0
  125. package/dist/modules/apimapper/render/secret-masking.js +51 -0
  126. package/dist/modules/apimapper/render/secret-masking.js.map +1 -0
  127. package/dist/modules/apimapper/render/sidecar.d.ts +21 -0
  128. package/dist/modules/apimapper/render/sidecar.js +66 -0
  129. package/dist/modules/apimapper/render/sidecar.js.map +1 -0
  130. package/dist/modules/apimapper/render/token-cap.d.ts +21 -0
  131. package/dist/modules/apimapper/render/token-cap.js +57 -0
  132. package/dist/modules/apimapper/render/token-cap.js.map +1 -0
  133. package/dist/modules/apimapper/schema.d.ts +2 -2
  134. package/dist/modules/apimapper/schema.js +100 -32
  135. package/dist/modules/apimapper/schema.js.map +1 -1
  136. package/dist/modules/apimapper/settings-format.d.ts +23 -0
  137. package/dist/modules/apimapper/settings-format.js +135 -0
  138. package/dist/modules/apimapper/settings-format.js.map +1 -0
  139. package/dist/modules/apimapper/settings.d.ts +2 -2
  140. package/dist/modules/apimapper/settings.js +101 -40
  141. package/dist/modules/apimapper/settings.js.map +1 -1
  142. package/dist/modules/apimapper/skill-resources.d.ts +2 -2
  143. package/dist/modules/apimapper/skill-resources.js.map +1 -1
  144. package/dist/modules/apimapper/token-baseline.harness.d.ts +91 -0
  145. package/dist/modules/apimapper/token-baseline.harness.js +291 -0
  146. package/dist/modules/apimapper/token-baseline.harness.js.map +1 -0
  147. package/dist/modules/apimapper/toolslist-size.d.ts +55 -0
  148. package/dist/modules/apimapper/toolslist-size.js +190 -0
  149. package/dist/modules/apimapper/toolslist-size.js.map +1 -0
  150. package/dist/modules/apimapper/types.d.ts +23 -8
  151. package/dist/modules/apimapper/types.js +26 -1
  152. package/dist/modules/apimapper/types.js.map +1 -1
  153. package/dist/modules/apimapper/use-profile.d.ts +21 -0
  154. package/dist/modules/apimapper/use-profile.js +56 -2
  155. package/dist/modules/apimapper/use-profile.js.map +1 -1
  156. package/dist/modules/apimapper/workflows.d.ts +2 -2
  157. package/dist/modules/apimapper/workflows.js +143 -16
  158. package/dist/modules/apimapper/workflows.js.map +1 -1
  159. package/dist/platform/index.js +44 -5
  160. package/dist/platform/index.js.map +1 -1
  161. package/dist/setup-cli.d.ts +53 -0
  162. package/dist/setup-cli.js +135 -6
  163. package/dist/setup-cli.js.map +1 -1
  164. package/docs/architecture.md +1 -1
  165. package/docs/tools.md +1 -1
  166. package/manifest.json +12 -3
  167. package/package.json +9 -4
  168. package/skills/apimapper/SKILL.md +1 -1
  169. package/skills/apimapper/reference/render.md +132 -0
  170. package/skills/apimapper/reference/troubleshooting.md +1 -1
  171. package/skills/apimapper/reference/yootheme.md +1 -1
@@ -58,8 +58,44 @@ 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
+ // M-9 (2026-05-28): accept the documented `APIMAPPER_BASE_URL` alias.
62
+ // See src/index.ts for the rationale — both ESM entrypoints bridge the
63
+ // same set of aliases so module-evaluation order doesn't matter.
64
+ if (process.env.APIMAPPER_BASE_URL && !process.env.APIMAPPER_WP_BASE) {
65
+ process.env.APIMAPPER_WP_BASE = process.env.APIMAPPER_BASE_URL;
66
+ }
67
+ /**
68
+ * WordPress / Joomla site base URL.
69
+ *
70
+ * Env-var precedence: `APIMAPPER_WP_BASE` → `APIMAPPER_SITE_URL` (alias
71
+ * written by the DXT setup wizard) → empty string.
72
+ *
73
+ * The SITE_URL → WP_BASE bridge is handled exactly once, above, via
74
+ * `process.env.APIMAPPER_WP_BASE = process.env.APIMAPPER_SITE_URL`. This
75
+ * keeps a single source of truth in `process.env` so any consumer
76
+ * (including child processes spawned later, R7 verify scripts, and
77
+ * legacy CustomGraph internal code) sees the same value — not just
78
+ * this module's exported `WP_BASE` constant.
79
+ *
80
+ * Empty default is intentional (F-43, 2026-05-19): a freshly-installed
81
+ * customer who has not run the setup wizard must NOT silently inherit
82
+ * the WootsUp dev URL — that leaked the vendor's setup hostname into
83
+ * customer error logs and confused triage. In production (NODE_ENV
84
+ * === "production") an empty value causes a fail-fast exit below.
85
+ *
86
+ * Trailing slash is normalised away so downstream `${WP_BASE}/...` joins
87
+ * never produce double-slashes.
88
+ */
89
+ export const WP_BASE = (process.env.APIMAPPER_WP_BASE || "").replace(/\/$/, "");
90
+ /**
91
+ * WordPress username for legacy Application-Password Basic auth.
92
+ *
93
+ * Empty default is intentional (F-44, 2026-05-19): the previous "getimo"
94
+ * default leaked a personal username into customer 401 logs. Customers
95
+ * using the modern Bearer-token flow (`amk_live_...`) don't need this
96
+ * value at all; legacy users must set `APIMAPPER_WP_USER` explicitly.
97
+ */
98
+ export const WP_USER = process.env.APIMAPPER_WP_USER || "";
63
99
  export const WP_APP_PASS = process.env.APIMAPPER_WP_APP_PASS || "";
64
100
  // Auth-shape detection: the credential the customer pastes during setup can
65
101
  // be either a WordPress Application Password (legacy / power-user path) or
@@ -73,12 +109,22 @@ const BASIC_TOKEN = !IS_MCP_BEARER && WP_APP_PASS
73
109
  ? Buffer.from(`${WP_USER}:${WP_APP_PASS}`, "utf8").toString("base64")
74
110
  : "";
75
111
  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);
112
+ // F-43+F-44 production fail-fast (2026-05-19): two independent guards. The
113
+ // WP_BASE check runs first and short-circuits via process.exit(2) so we
114
+ // never log two errors for one mis-configured install. In test/dev we keep
115
+ // the client buildable so unit tests don't require a vault.
116
+ if (process.env.NODE_ENV === "production") {
117
+ if (!WP_BASE) {
118
+ console.error("[apimapper-mcp] ERROR: APIMAPPER_WP_BASE (or APIMAPPER_SITE_URL) is not set. " +
119
+ "Run `npx -y @wootsup/mcp setup` to configure your AI client. Refusing to start in production.");
120
+ process.exit(2);
121
+ }
122
+ if (!BASIC_TOKEN && !BEARER_TOKEN) {
123
+ // Fail-fast: prevents silent unauthenticated client → opaque 401s downstream.
124
+ console.error("[apimapper-mcp] ERROR: APIMAPPER_TOKEN is not set. Run `npx -y @wootsup/mcp setup` " +
125
+ "to generate a key and configure your AI client. Refusing to start in production.");
126
+ process.exit(2);
127
+ }
82
128
  }
83
129
  const rawApi = createHttpClient({
84
130
  baseUrl: `${WP_BASE}/wp-json/api-mapper/v1`,
@@ -167,11 +213,17 @@ export function createPlatformClient(platform) {
167
213
  : typeof parsed === "object" && parsed && "error" in parsed
168
214
  ? String(parsed.error)
169
215
  : `HTTP ${res.status}`;
216
+ // W2-3: preserve the parsed JSON error body when present so callers
217
+ // can branch on domain-specific fields (e.g. compiler_error_code).
218
+ const errorBody = typeof parsed === "object" && parsed !== null
219
+ ? parsed
220
+ : undefined;
170
221
  return {
171
222
  success: false,
172
223
  error: sanitizeErrorString(errMsg),
173
224
  status,
174
225
  errorCode: classify(status),
226
+ errorBody,
175
227
  };
176
228
  }
177
229
  if (!text)
@@ -271,7 +323,15 @@ class WordPressBasicAuthPlatform extends WordPressPlatform {
271
323
  return {};
272
324
  }
273
325
  }
274
- const PLATFORM_KIND = (process.env.APIMAPPER_PLATFORM ?? "wordpress");
326
+ // A1-P2 (W1-polish): Narrow the platform-kind selection with a case-strict
327
+ // `=== "joomla"` check instead of an unsafe `as` cast on the raw env value.
328
+ // The cast silently coerced any string ("WORDPRESS", "standalone", typos
329
+ // like "jooma") into the union type, even though the runtime ternary below
330
+ // only branches on the exact literal "joomla". Aligning the type with the
331
+ // actual decision keeps a future widening (.toLowerCase(), trim, etc.) from
332
+ // flipping behaviour silently — anything that isn't the literal "joomla"
333
+ // must continue to default to WordPress.
334
+ export const PLATFORM_KIND = process.env.APIMAPPER_PLATFORM === "joomla" ? "joomla" : "wordpress";
275
335
  const legacyPlatform = PLATFORM_KIND === "joomla"
276
336
  ? new JoomlaPlatform({
277
337
  // Joomla uses the same APIMAPPER_WP_BASE env var (or APIMAPPER_SITE_URL
@@ -310,7 +370,10 @@ export async function request(path, init = {}, opts = {}) {
310
370
  const upperMethod = method.toUpperCase();
311
371
  const cacheEligible = !opts.noCache && isCacheableRequest(upperMethod, path);
312
372
  if (cacheEligible) {
313
- const hit = getCached(upperMethod, path);
373
+ // F-02 (2026-05-19): the sanitize flag participates in the cache key.
374
+ // Without this, a sanitized response could be served to a raw-mode
375
+ // caller (or vice versa) on the same URL — Defense-in-Depth gap A5.
376
+ const hit = getCached(upperMethod, path, { sanitize: opts.sanitize });
314
377
  if (hit)
315
378
  return hit;
316
379
  }
@@ -331,7 +394,7 @@ export async function request(path, init = {}, opts = {}) {
331
394
  }
332
395
  // Cache successful responses; never cache errors so the next call retries.
333
396
  if (cacheEligible && response.success) {
334
- setCached(upperMethod, path, response);
397
+ setCached(upperMethod, path, response, { sanitize: opts.sanitize });
335
398
  }
336
399
  // Mutation invalidation: any non-GET that succeeded clears the read-cache
337
400
  // for the touched path-prefix. Conservative — better to over-invalidate
@@ -534,7 +597,14 @@ async function rawAbsoluteRequest(url, init, opts) {
534
597
  export function hintFor(code) {
535
598
  switch (code) {
536
599
  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.";
600
+ return ("Auth failed (HTTP 401/403). Your MCP key (APIMAPPER_TOKEN) is " +
601
+ "invalid, revoked, or expired. Recovery steps: " +
602
+ "(1) Open API Mapper → ⋮ menu → Settings → MCP Access. " +
603
+ "(2) Revoke the old key if you suspect it was leaked. " +
604
+ "(3) Click 'New API key' and copy the value. " +
605
+ "(4) Re-run `npx -y @wootsup/mcp setup` and paste the new key — " +
606
+ "the wizard rewrites your AI client config in place. " +
607
+ "(5) Restart your AI client (Claude Desktop / Cursor / etc.).");
538
608
  case "not_found":
539
609
  return "Resource not found. Use the matching `*_list` tool to find a valid id.";
540
610
  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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"}
@@ -0,0 +1,51 @@
1
+ import { type TableColumn } from "@getimo/mcp-toolkit";
2
+ import type { Connection } from "./types.js";
3
+ export declare const CONNECTION_TABLE_COLUMNS: TableColumn[];
4
+ export declare const CONNECTION_COMPACT_COLUMNS: TableColumn[];
5
+ /** Standard row map: full Connection → table row. */
6
+ export declare function mapConnectionRow(c: Record<string, unknown>): Record<string, unknown>;
7
+ /** T1 compact row map: only the columns CONNECTION_COMPACT_COLUMNS renders. */
8
+ export declare function compactConnectionRow(c: Record<string, unknown>): Record<string, unknown>;
9
+ export declare const CONNECTION_LIST_NEXT_STEPS: string;
10
+ export declare const RESOURCE_TABLE_COLUMNS: TableColumn[];
11
+ /**
12
+ * Map one resource object → table row. Resource shapes vary by provider:
13
+ * fall back across the common id/label/name/title key spellings so the
14
+ * NAME column is populated whatever the upstream emits.
15
+ */
16
+ export declare function mapResourceRow(r: unknown): Record<string, unknown>;
17
+ /**
18
+ * Build a structured detail view for one connection (connection_get).
19
+ * IA-7: technical IDs are copyable code entries; IA-10: a dedicated
20
+ * "Next steps" group carries the actionable follow-up calls.
21
+ */
22
+ export declare function buildConnectionDetail(id: string, conn: Connection): import("@getimo/mcp-toolkit").StructuredCallToolResult;
23
+ /** Probe fields surfaced by connection_test (PHP `data.data.*`). */
24
+ export interface ConnectionProbeFields {
25
+ http_code?: number;
26
+ actionType?: string;
27
+ duration_ms?: number;
28
+ body_preview?: string;
29
+ }
30
+ /**
31
+ * Build a structured stats view for a connection probe (connection_test).
32
+ * The probe outcome is a small flat set of scalar metrics — statsResult is
33
+ * the clean fit. IA-10: the follow-up guidance is appended via description.
34
+ */
35
+ export declare function buildConnectionTestStats(id: string, probe: ConnectionProbeFields): import("@getimo/mcp-toolkit").StructuredCallToolResult;
36
+ /**
37
+ * Build a structured stats view for the batch health-check
38
+ * (connection_health_check). The batch result is a counts dashboard —
39
+ * statsResult fits. The full per-connection result map is far too large
40
+ * for a stat grid; the description instead directs the AI to
41
+ * connection_test for the failing-connection probe detail.
42
+ */
43
+ export declare function buildHealthCheckStats(okCount: number, failCount: number, total: number): import("@getimo/mcp-toolkit").StructuredCallToolResult;
44
+ /**
45
+ * Build a structured stats view for apimapper_health. The health snapshot
46
+ * is a flat set of connectivity/config scalars — statsResult is the clean
47
+ * fit (the goldstandard's "health → stats" mapping). Every check value is
48
+ * surfaced as a stat so an AI client can read connectivity, auth state and
49
+ * the downstream api.wootsup.com probe without parsing free text.
50
+ */
51
+ export declare function buildHealthStats(checks: Record<string, string | number>): import("@getimo/mcp-toolkit").StructuredCallToolResult;
@@ -0,0 +1,261 @@
1
+ // src/modules/apimapper/connections-format.ts — W3.1 structuredContent helpers
2
+ //
3
+ // rc.13 Welle 3 (2026-05-20) — extracted from connections.ts when the
4
+ // migration to the toolkit's structuredContent builders pushed the
5
+ // tool-registration module past the ~600-line review threshold (a LOW
6
+ // finding observed on the library.ts migration). connections.ts keeps the
7
+ // lean tool-registration surface; the column constants, row maps, detail/
8
+ // stats builders and next-step strings live here.
9
+ //
10
+ // - T1 (W3.2): connection_list carries explicit compactColumns + compactMap.
11
+ // - IA-7 (W3.7): a human-readable NAME column; the opaque `id` column the
12
+ // LLM still needs for follow-up calls is marked llmOnly (ASCII text only).
13
+ // - IA-10 (W3.9): every migrated tool carries actionable next-step guidance
14
+ // in the LLM-readable text (table footer / detail "Next steps" group).
15
+ import { detailResult, statsResult, } from "@getimo/mcp-toolkit";
16
+ // ── connection_list table shape ───────────────────────────────────────
17
+ // IA-7: NAME is the human-readable label. ID is opaque but the LLM needs it
18
+ // for follow-up calls (connection_get / connection_data), so it stays in the
19
+ // ASCII text — `llmOnly: true` keeps it out of the Rich Card UI payload.
20
+ export const CONNECTION_TABLE_COLUMNS = [
21
+ // Width 36 accommodates 30+ char IDs (e.g. legacy template connections
22
+ // like conn_calendly_jla_229fcbce95b7). Truncation produces orphan IDs
23
+ // that downstream tools fail to resolve via *_get; +6 headroom matches
24
+ // the longest historical IDs.
25
+ { key: "id", label: "ID", width: 36, llmOnly: true },
26
+ { key: "name", label: "NAME", width: 28 },
27
+ { key: "source", label: "SRC", width: 8 },
28
+ // W1.21 (F-36) — width 42 accommodates realistic API endpoints like
29
+ // `https://api.pexels.com/v1/curated?per_page` (42 chars) without
30
+ // mid-URL truncation. Master-spec range 40-45; chose 42 as mid-range
31
+ // balancing row width vs. table overflow.
32
+ { key: "endpoint", label: "ENDPOINT", width: 42 },
33
+ { key: "method", label: "M", width: 5 },
34
+ { key: "auth_type", label: "AUTH", width: 12 },
35
+ { key: "credential_id", label: "CRED", width: 26 },
36
+ ];
37
+ // T1 (W3.2): reduced column set for 21+ connections — id (llmOnly) + name
38
+ // + the two fields that anchor identity (source + auth). ENDPOINT/METHOD/CRED
39
+ // are dropped at compact level to keep the row width small.
40
+ export const CONNECTION_COMPACT_COLUMNS = [
41
+ { key: "id", label: "ID", width: 36, llmOnly: true },
42
+ { key: "name", label: "NAME", width: 28 },
43
+ { key: "source", label: "SRC", width: 8 },
44
+ { key: "auth_type", label: "AUTH", width: 12 },
45
+ ];
46
+ /** Standard row map: full Connection → table row. */
47
+ export function mapConnectionRow(c) {
48
+ return {
49
+ id: String(c.id ?? ""),
50
+ name: String(c.name ?? ""),
51
+ source: String(c.source ?? ""),
52
+ endpoint: c.endpoint ? String(c.endpoint) : "(template)",
53
+ method: c.method ? String(c.method) : "GET",
54
+ auth_type: c.auth_type ? String(c.auth_type) : "none",
55
+ credential_id: c.credential_id ? String(c.credential_id) : "—",
56
+ };
57
+ }
58
+ /** T1 compact row map: only the columns CONNECTION_COMPACT_COLUMNS renders. */
59
+ export function compactConnectionRow(c) {
60
+ return {
61
+ id: String(c.id ?? ""),
62
+ name: String(c.name ?? ""),
63
+ source: String(c.source ?? ""),
64
+ auth_type: c.auth_type ? String(c.auth_type) : "none",
65
+ };
66
+ }
67
+ // IA-10: actionable next-step guidance, kept in the table footer so it is
68
+ // VISIBLE in the LLM-readable text of the connection list.
69
+ export const CONNECTION_LIST_NEXT_STEPS = "Next: apimapper_connection_get({ id }) for full config · " +
70
+ "apimapper_connection_data({ id }) to sample its endpoint · " +
71
+ "apimapper_connection_test({ id }) to probe reachability.";
72
+ // ── connection_resources table shape ──────────────────────────────────
73
+ // Resources are heterogeneous (drive files, sheets, IG media) — surface the
74
+ // id (llmOnly, needed for downstream picker wiring) plus the human label and
75
+ // any free-form type field servers commonly attach.
76
+ export const RESOURCE_TABLE_COLUMNS = [
77
+ { key: "id", label: "ID", width: 32, llmOnly: true },
78
+ { key: "name", label: "NAME", width: 36 },
79
+ { key: "type", label: "TYPE", width: 14 },
80
+ ];
81
+ /**
82
+ * Map one resource object → table row. Resource shapes vary by provider:
83
+ * fall back across the common id/label/name/title key spellings so the
84
+ * NAME column is populated whatever the upstream emits.
85
+ */
86
+ export function mapResourceRow(r) {
87
+ const o = r && typeof r === "object" ? r : {};
88
+ const str = (v) => typeof v === "string"
89
+ ? v
90
+ : typeof v === "number" || typeof v === "boolean"
91
+ ? String(v)
92
+ : "";
93
+ return {
94
+ id: str(o.id ?? o.value ?? o.key),
95
+ name: str(o.name ?? o.label ?? o.title ?? o.id ?? o.value) || "—",
96
+ type: str(o.type ?? o.mime_type ?? o.kind) || "—",
97
+ };
98
+ }
99
+ /**
100
+ * Build a structured detail view for one connection (connection_get).
101
+ * IA-7: technical IDs are copyable code entries; IA-10: a dedicated
102
+ * "Next steps" group carries the actionable follow-up calls.
103
+ */
104
+ export function buildConnectionDetail(id, conn) {
105
+ const c = conn;
106
+ const str = (v) => typeof v === "string"
107
+ ? v
108
+ : typeof v === "number" || typeof v === "boolean"
109
+ ? String(v)
110
+ : null;
111
+ const overviewAll = [
112
+ { key: "id", label: "ID", value: str(c.id) ?? id, format: "code", copyable: true },
113
+ { key: "name", label: "Name", value: str(c.name) },
114
+ { key: "source", label: "Source", value: str(c.source) },
115
+ { key: "description", label: "Description", value: str(c.description) },
116
+ ];
117
+ const overview = overviewAll.filter((e) => e.value !== null);
118
+ const endpointAll = [
119
+ { key: "endpoint", label: "Endpoint", value: str(c.endpoint), format: "code", copyable: true },
120
+ { key: "method", label: "Method", value: str(c.method) ?? "GET", format: "badge" },
121
+ { key: "items_path", label: "Items path", value: str(c.items_path), format: "code" },
122
+ { key: "cache_ttl", label: "Cache TTL (s)", value: typeof c.cache_ttl === "number" ? c.cache_ttl : null },
123
+ ];
124
+ const endpoint = endpointAll.filter((e) => e.value !== null);
125
+ const authAll = [
126
+ { key: "auth_type", label: "Auth type", value: str(c.auth_type) ?? "none", format: "badge" },
127
+ { key: "credential_id", label: "Credential ID", value: str(c.credential_id), format: "code", copyable: true },
128
+ ];
129
+ const auth = authAll.filter((e) => e.value !== null);
130
+ const groups = [{ label: "Connection", entries: overview }];
131
+ if (endpoint.length > 0)
132
+ groups.push({ label: "Endpoint", entries: endpoint });
133
+ if (auth.length > 0)
134
+ groups.push({ label: "Authentication", entries: auth });
135
+ groups.push({
136
+ // IA-10 (W3.9): actionable next steps in a dedicated group — visible
137
+ // in the LLM-readable detail text.
138
+ label: "Next steps",
139
+ entries: [
140
+ {
141
+ key: "sample",
142
+ label: "Sample data",
143
+ value: `apimapper_connection_data({ id: '${id}' }) — fetch sample rows from this connection`,
144
+ },
145
+ {
146
+ key: "probe",
147
+ label: "Probe",
148
+ value: `apimapper_connection_test({ id: '${id}' }) — verify upstream reachability + auth`,
149
+ },
150
+ {
151
+ key: "update",
152
+ label: "Edit",
153
+ value: `apimapper_connection_update({ id: '${id}', patch: { … } }) — change fields`,
154
+ },
155
+ ],
156
+ });
157
+ return detailResult({
158
+ title: str(c.name) ?? id,
159
+ subtitle: str(c.source) ?? undefined,
160
+ badge: str(c.auth_type) && str(c.auth_type) !== "none"
161
+ ? { text: `auth: ${str(c.auth_type)}`, variant: "info" }
162
+ : { text: "no auth", variant: "secondary" },
163
+ groups,
164
+ });
165
+ }
166
+ /**
167
+ * Build a structured stats view for a connection probe (connection_test).
168
+ * The probe outcome is a small flat set of scalar metrics — statsResult is
169
+ * the clean fit. IA-10: the follow-up guidance is appended via description.
170
+ */
171
+ export function buildConnectionTestStats(id, probe) {
172
+ const stats = [
173
+ { key: "actionType", label: "Action type", value: probe.actionType ?? "ok" },
174
+ ];
175
+ if (typeof probe.http_code === "number") {
176
+ stats.push({ key: "http_code", label: "HTTP code", value: probe.http_code, format: "number" });
177
+ }
178
+ if (typeof probe.duration_ms === "number") {
179
+ stats.push({ key: "duration_ms", label: "Duration (ms)", value: probe.duration_ms, format: "number" });
180
+ }
181
+ if (typeof probe.body_preview === "string" && probe.body_preview.length > 0) {
182
+ stats.push({ key: "body_preview", label: "Body preview", value: probe.body_preview.slice(0, 200) });
183
+ }
184
+ return statsResult({
185
+ title: `Probe: ${id}`,
186
+ description: "Upstream reachability + auth probe. " +
187
+ "Next: apimapper_connection_data({ id }) to sample real rows · " +
188
+ "apimapper_connection_get({ id }) to inspect config if the probe failed.",
189
+ stats,
190
+ });
191
+ }
192
+ /**
193
+ * Build a structured stats view for the batch health-check
194
+ * (connection_health_check). The batch result is a counts dashboard —
195
+ * statsResult fits. The full per-connection result map is far too large
196
+ * for a stat grid; the description instead directs the AI to
197
+ * connection_test for the failing-connection probe detail.
198
+ */
199
+ export function buildHealthCheckStats(okCount, failCount, total) {
200
+ return statsResult({
201
+ title: "Connection health check",
202
+ description: failCount > 0
203
+ ? `${failCount} of ${total} connections failed the probe. ` +
204
+ "Next: apimapper_connection_test({ id }) on a failing connection for the probe detail."
205
+ : `All ${total} connections passed. ` +
206
+ "Next: apimapper_connection_data({ id }) to sample data from any of them.",
207
+ stats: [
208
+ { key: "ok_count", label: "OK", value: okCount, format: "number" },
209
+ { key: "fail_count", label: "Failed", value: failCount, format: "number" },
210
+ { key: "total", label: "Total probed", value: total, format: "number" },
211
+ ],
212
+ });
213
+ }
214
+ /**
215
+ * Build a structured stats view for apimapper_health. The health snapshot
216
+ * is a flat set of connectivity/config scalars — statsResult is the clean
217
+ * fit (the goldstandard's "health → stats" mapping). Every check value is
218
+ * surfaced as a stat so an AI client can read connectivity, auth state and
219
+ * the downstream api.wootsup.com probe without parsing free text.
220
+ */
221
+ export function buildHealthStats(checks) {
222
+ const order = [
223
+ "wp_base",
224
+ "wp_user",
225
+ "auth",
226
+ "apimapper_api_status",
227
+ "http_status",
228
+ "connectivity",
229
+ "connection_count",
230
+ "error_code",
231
+ ];
232
+ const labels = {
233
+ wp_base: "WP base URL",
234
+ wp_user: "WP user",
235
+ auth: "Auth",
236
+ apimapper_api_status: "api.wootsup.com",
237
+ http_status: "HTTP status",
238
+ connectivity: "Connectivity",
239
+ connection_count: "Connections",
240
+ error_code: "Error code",
241
+ };
242
+ const keys = [
243
+ ...order.filter((k) => k in checks),
244
+ ...Object.keys(checks).filter((k) => !order.includes(k)),
245
+ ];
246
+ const stats = keys.map((key) => {
247
+ const value = checks[key];
248
+ return {
249
+ key,
250
+ label: labels[key] ?? key,
251
+ value: value,
252
+ format: typeof value === "number" ? "number" : undefined,
253
+ };
254
+ });
255
+ return statsResult({
256
+ title: "API Mapper REST health",
257
+ description: "Run this first if any other tool fails.",
258
+ stats,
259
+ });
260
+ }
261
+ //# sourceMappingURL=connections-format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connections-format.js","sourceRoot":"","sources":["../../../src/modules/apimapper/connections-format.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ export interface ApplyTrimResult {
2
+ payload: unknown;
3
+ detectedShape: "array" | "nested_items" | "other";
4
+ itemCount: number | undefined;
5
+ totalBeforeTrim: number | undefined;
6
+ trimmed: boolean | undefined;
7
+ }
8
+ /**
9
+ * Pure trim + shape-detect for connection_data payloads.
10
+ *
11
+ * Extracted from the connection_data handler (W1.2 polish-2) so the
12
+ * shallow-clone contract for nested-items envelopes can be unit-tested
13
+ * directly, without going through the wire-roundtrip handler layer
14
+ * (where stubFetch's JSON.stringify masks reference identity).
15
+ *
16
+ * Detection rules (BEFORE trim):
17
+ * - `array`: `inner` is an Array — slice it directly when trim args are
18
+ * present; otherwise returned as-is.
19
+ * - `nested_items`: `inner` is an object whose `items` field is an Array
20
+ * — shallow-clone the envelope and slice the cloned items array. The
21
+ * shallow-clone is load-bearing: if a caller passes a cached envelope
22
+ * reference, mutating `.items` in place would corrupt the cache for
23
+ * subsequent reads.
24
+ * - `other`: neither of the above — return as-is, `itemCount` undefined.
25
+ *
26
+ * Strict-trim contract: `trimmed: true` and `totalBeforeTrim` are only
27
+ * surfaced when the slice actually cut content (`sliced.length !==
28
+ * source.length`). `limit > length` returns `trimmed: undefined`
29
+ * (truth-in-advertising — no false-positive pagination signals).
30
+ *
31
+ * Defense-in-depth: negative AND non-finite (NaN, ±Infinity) `limit`/
32
+ * `offset` are clamped to 0 at the function boundary.
33
+ * `Number.isFinite()` returns false for NaN/Infinity/-Infinity —
34
+ * providing a clean "is this a usable trim integer?" guard. Combined
35
+ * with the `>= 0` check, any invalid input (negative, NaN, Infinity)
36
+ * deterministically maps to 0 = "trim to empty". `applyTrim` is an
37
+ * exported public surface, so the caller is not guaranteed to be the
38
+ * Zod-validated handler.
39
+ *
40
+ * Schema-vs-contract asymmetry: this function-level contract treats
41
+ * `limit=0` as a valid "explicit empty payload" signal. The MCP tool
42
+ * surface (Zod schema) enforces `.min(1).max(500)` and therefore
43
+ * rejects `limit=0` before it reaches `applyTrim`. The permissive
44
+ * function contract is intentionally broader than the wire contract;
45
+ * `limit=0` is only reachable by direct programmatic callers (e.g.
46
+ * unit tests, internal pipeline composers), not by AI clients hitting
47
+ * the MCP tool.
48
+ *
49
+ * @param inner - REST inner payload (post-envelope-unwrap, untyped)
50
+ * @param limit - Max items to return after offset; `undefined` = no trim,
51
+ * `0` = explicit empty payload, negative/non-finite values clamp to 0.
52
+ * NOTE: the MCP tool's Zod schema (`.min(1).max(500)`) rejects `0` at
53
+ * the wire boundary — `limit=0` is only reachable via direct
54
+ * programmatic callers, not AI clients.
55
+ * @param offset - Skip items before slice; `undefined` = 0,
56
+ * negative/non-finite values clamp to 0
57
+ * @returns Trim result with `detectedShape`, `payload` (potentially
58
+ * sliced), `itemCount`, `totalBeforeTrim`, and `trimmed` metadata
59
+ */
60
+ export declare function applyTrim(inner: unknown, limit: number | undefined, offset: number | undefined): ApplyTrimResult;
61
+ /**
62
+ * A1-P3-1: pure helper that normalises the three wire-shapes the
63
+ * `apimapper_connection_resources` REST endpoint can return:
64
+ *
65
+ * 1. bare array — `[{...}, {...}]`
66
+ * 2. `{ resources: [...] }` envelope (canonical post-Wave-1B)
67
+ * 3. `{ items: [...] }` envelope (legacy / library-style)
68
+ *
69
+ * Anything else (null, primitive, foreign-shaped object) resolves to
70
+ * `[]` rather than throwing — the handler then renders `resource_count:
71
+ * 0` and the AI client knows the picker is empty. Throwing here would
72
+ * leak an opaque type-error out of the tool surface.
73
+ *
74
+ * Precedence is `bare-array > resources > items`. The `resources`-over-
75
+ * `items` order is pinned in connections.test.ts because callers like
76
+ * the ResourcePicker rely on the canonical field winning when servers
77
+ * accidentally emit both (defensive against backend drift).
78
+ *
79
+ * Exported so the test suite can pin each branch atomically without
80
+ * going through the wire-roundtrip handler layer.
81
+ */
82
+ export declare function extractResourceList(data: unknown): unknown[];