@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
@@ -1,22 +1,112 @@
1
1
  import { z } from "zod";
2
- import { formatResult, autoFormatTable, readOnly, creating, destructive, } from "@getimo/mcp-toolkit";
2
+ import { formatResult, tableResult, detailResult, errorResult, readOnly, mutating, destructive, } from "@getimo/mcp-toolkit";
3
3
  import { request, hintFor } from "./client.js";
4
4
  import { unwrapEntity } from "./envelope.js";
5
+ import { toRows } from "./types.js";
6
+ /** F-14: best-effort JSON.stringify length. Falls back to 0 on cycle. */
7
+ function computeCatalogSize(catalog) {
8
+ try {
9
+ return JSON.stringify(catalog).length;
10
+ }
11
+ catch {
12
+ return 0;
13
+ }
14
+ }
15
+ /**
16
+ * F-14: derive item count from common catalog shapes (items[] / connections[]).
17
+ * Falls back to total field, or 0 if nothing detectable.
18
+ */
19
+ function computeCatalogItemCount(catalog, totalFallback) {
20
+ if (catalog && typeof catalog === "object") {
21
+ const co = catalog;
22
+ if (Array.isArray(co.items))
23
+ return co.items.length;
24
+ if (Array.isArray(co.connections))
25
+ return co.connections.length;
26
+ }
27
+ return typeof totalFallback === "number" ? totalFallback : 0;
28
+ }
29
+ // ── Shared table shape for every library list tool ────────────────────
30
+ // IA-7: NAME is the human-readable label. ID is opaque but the LLM needs it
31
+ // for follow-up calls (library_activate / library_connection_detail), so it
32
+ // stays in the ASCII text — `llmOnly: true` keeps it out of the Rich Card UI.
33
+ const LIBRARY_TABLE_COLUMNS = [
34
+ { key: "id", label: "ID", width: 28, llmOnly: true },
35
+ { key: "name", label: "NAME", width: 32 },
36
+ { key: "provider", label: "PROVIDER", width: 14 },
37
+ { key: "category", label: "CATEGORY", width: 14 },
38
+ { key: "activated", label: "ACT", width: 4 },
39
+ ];
40
+ // T1 (W3.2): reduced column set for 21+ items — id (llmOnly) + name + one key
41
+ // field (activation status). PROVIDER/CATEGORY are dropped at compact level.
42
+ const LIBRARY_COMPACT_COLUMNS = [
43
+ { key: "id", label: "ID", width: 28, llmOnly: true },
44
+ { key: "name", label: "NAME", width: 32 },
45
+ { key: "activated", label: "ACT", width: 4 },
46
+ ];
47
+ /** Standard row map: full LibraryItem → table row. */
48
+ function mapLibraryRow(i) {
49
+ return {
50
+ id: String(i.id ?? ""),
51
+ name: String(i.name ?? ""),
52
+ provider: i.provider ? String(i.provider) : "—",
53
+ category: i.category ? String(i.category) : "—",
54
+ activated: i.is_activated ? "✓" : "✗",
55
+ };
56
+ }
57
+ /** T1 compact row map: only the columns LIBRARY_COMPACT_COLUMNS renders. */
58
+ function compactLibraryRow(i) {
59
+ return {
60
+ id: String(i.id ?? ""),
61
+ name: String(i.name ?? ""),
62
+ activated: i.is_activated ? "✓" : "✗",
63
+ };
64
+ }
65
+ // IA-10: actionable next-step guidance, kept in the table footer so it is
66
+ // VISIBLE in the LLM-readable text of every migrated list tool.
67
+ const LIST_NEXT_STEPS = "Next: apimapper_library_activate({ id }) to activate a template · " +
68
+ "apimapper_advanced({ tool: 'apimapper_library_connection_detail', arguments: { id } }) for full template config.";
5
69
  export function registerLibraryTools(server) {
6
70
  // ── apimapper_library_list ─────────────────────────────────────────
71
+ // rc.10 (2026-05-19) — schema + description hardened against the
72
+ // discovery-thrash pattern observed in Maria-walkthrough logs (29
73
+ // calls including 12 per-category iterations and 5 single-char
74
+ // search probes over a catalog of just 34 templates). Two guard
75
+ // rails: (1) wire-level zod constraints reject the worst probes,
76
+ // (2) description states the catalog is small enough that one
77
+ // unfiltered call returns everything.
7
78
  server.registerTool("apimapper_library_list", {
8
79
  title: "List Library Items",
9
- description: "List all library items (connection templates) shipping with API Mapper." +
10
- "\n\nExample:\n apimapper_library_list({ category: 'media' })",
80
+ description: "List connection templates shipping with API Mapper. The catalog is " +
81
+ "small (~30-50 templates) a SINGLE CALL without filters returns the " +
82
+ "full set in one round-trip. Do NOT iterate per category and do NOT " +
83
+ "probe with short search strings; call apimapper_library_categories " +
84
+ "first if you need an overview of available slugs, then filter the " +
85
+ "table you already have client-side." +
86
+ "\n\nServer-side filters (sent as query params, server returns pre-filtered):\n" +
87
+ " - category: narrow by category slug (e.g. 'media', 'productivity')\n" +
88
+ " - search: substring match on template name/description\n" +
89
+ "\nClient-side filters (applied AFTER fetch in this MCP process):\n" +
90
+ " - provider: narrow by upstream provider (e.g. 'google', 'meta')\n" +
91
+ " - activated: narrow to currently-activated or not-activated\n" +
92
+ "\nImplication: When combined with `limit`, the total reflects the " +
93
+ "post-server filter — if you set limit:50 + provider:meta and the " +
94
+ "server returns 50 mixed-provider items, you may see <50 after the " +
95
+ "client filter. Re-call with a higher limit or omit the client-side " +
96
+ "filter to see the full server-side result." +
97
+ "\n\nExamples:\n" +
98
+ " apimapper_library_list({}) // returns the whole catalog\n" +
99
+ " apimapper_library_list({ category: 'media' }) // narrow to one category (server-side)\n" +
100
+ " apimapper_library_list({ provider: 'google', limit: 200 }) // raise limit because provider filter is client-side",
11
101
  inputSchema: {
12
- category: z.string().optional().describe('Filter by category slug (use apimapper_library_categories)'),
102
+ category: z.string().optional().describe('Filter by category slug. Use apimapper_library_categories to discover slugs — do NOT loop over every category, the result of an unfiltered list({}) already covers them all.'),
13
103
  provider: z.string().optional().describe('Filter by provider (e.g., "google", "meta")'),
14
104
  activated: z.enum(["any", "yes", "no"]).default("any").describe("Filter by activation status"),
15
- search: z.string().optional().describe("Free-text search"),
16
- page: z.number().min(1).default(1).describe("Pagination page (1-based)"),
17
- limit: z.number().min(1).max(500).default(100).describe("Max items (1-500)"),
105
+ search: z.string().min(3).optional().describe("Free-text search. Must be 3+ characters — single-char probes are blocked because the catalog is too small to need typeahead."),
106
+ page: z.number().min(1).max(2).default(1).describe("Pagination page (1-based). Capped at 2 — the catalog rarely fills more than one page at the default limit, iterating further yields empty results."),
107
+ limit: z.number().min(1).max(500).default(100).describe("Max items per page (1-500). The default of 100 already exceeds the full catalog — increase only if you have a specific reason."),
18
108
  },
19
- annotations: readOnly(),
109
+ annotations: readOnly({ title: "List Library Connections", openWorld: true }),
20
110
  }, async ({ category, provider, activated, search, page, limit }) => {
21
111
  const params = new URLSearchParams();
22
112
  if (category)
@@ -27,13 +117,12 @@ export function registerLibraryTools(server) {
27
117
  params.set("limit", String(limit));
28
118
  const r = await request(`/library?${params.toString()}`);
29
119
  if (!r.success) {
30
- return formatResult({
31
- error: r.error,
32
- status: r.status,
33
- errorCode: r.errorCode,
34
- context: { category, provider, activated, search, page, limit },
35
- hint: hintFor(r.errorCode),
36
- }, true);
120
+ return errorResult({
121
+ message: r.error ?? "library list failed",
122
+ code: r.errorCode ?? (r.status ? String(r.status) : undefined),
123
+ suggestion: hintFor(r.errorCode),
124
+ details: { category, provider, activated, search, page, limit },
125
+ });
37
126
  }
38
127
  // F-SEED-02: PHP returns `connections`; tolerate legacy `items`.
39
128
  let items = Array.isArray(r.data?.connections)
@@ -47,22 +136,13 @@ export function registerLibraryTools(server) {
47
136
  items = items.filter((i) => i.is_activated);
48
137
  if (activated === "no")
49
138
  items = items.filter((i) => !i.is_activated);
50
- return autoFormatTable(items.map((i) => ({
51
- id: i.id,
52
- name: i.name,
53
- provider: i.provider || "—",
54
- category: i.category || "—",
55
- activated: i.is_activated ? "✓" : "✗",
56
- })), {
57
- columns: [
58
- { key: "id", label: "ID", width: 28 },
59
- { key: "name", label: "NAME", width: 32 },
60
- { key: "provider", label: "PROVIDER", width: 14 },
61
- { key: "category", label: "CATEGORY", width: 14 },
62
- { key: "activated", label: "ACT", width: 4 },
63
- ],
139
+ return tableResult(toRows(items), {
140
+ columns: LIBRARY_TABLE_COLUMNS,
141
+ compactColumns: LIBRARY_COMPACT_COLUMNS,
142
+ map: mapLibraryRow,
143
+ compactMap: compactLibraryRow,
64
144
  header: (n) => `${n} library items (page ${page})`,
65
- footer: "Use apimapper_library_connection_detail <id> for template config.",
145
+ footer: LIST_NEXT_STEPS,
66
146
  });
67
147
  });
68
148
  // ── apimapper_library_categories ───────────────────────────────────
@@ -79,11 +159,15 @@ export function registerLibraryTools(server) {
79
159
  "below exist." +
80
160
  "\n\nExample:\n apimapper_library_categories({})",
81
161
  inputSchema: {},
82
- annotations: readOnly(),
162
+ annotations: readOnly({ title: "List Library Categories", openWorld: true }),
83
163
  }, async () => {
84
164
  const r = await request("/library/categories");
85
165
  if (!r.success) {
86
- return formatResult({ error: r.error, status: r.status, errorCode: r.errorCode, context: {}, hint: hintFor(r.errorCode) }, true);
166
+ return errorResult({
167
+ message: r.error ?? "library categories failed",
168
+ code: r.errorCode ?? (r.status ? String(r.status) : undefined),
169
+ suggestion: hintFor(r.errorCode),
170
+ });
87
171
  }
88
172
  const cats = Array.isArray(r.data?.categories) ? r.data.categories : [];
89
173
  const rows = cats
@@ -93,16 +177,23 @@ export function registerLibraryTools(server) {
93
177
  name: typeof c.name === "string" ? c.name : "",
94
178
  count: typeof c.count === "number" ? c.count : 0,
95
179
  }));
96
- const total = rows.reduce((sum, r) => sum + r.count, 0);
97
- return autoFormatTable(rows, {
180
+ const total = rows.reduce((sum, row) => sum + row.count, 0);
181
+ return tableResult(toRows(rows), {
98
182
  columns: [
99
- { key: "id", label: "SLUG", width: 16 },
183
+ // IA-7: SLUG is the opaque identifier the LLM needs for
184
+ // library_list({category}); NAME is the human label.
185
+ { key: "id", label: "SLUG", width: 16, llmOnly: true },
100
186
  { key: "name", label: "NAME", width: 28 },
101
- { key: "count", label: "COUNT", width: 6 },
187
+ { key: "count", label: "COUNT", width: 6, align: "right" },
102
188
  ],
103
189
  header: (n) => `${n} library categories (${total} templates total)`,
104
- footer: "Authoritative list — every customer-visible category lives in this table. " +
105
- "Use the SLUG with apimapper_library_list({category}) to filter templates.",
190
+ // rc.10 A2 (2026-05-19) footer explicitly states a single
191
+ // unfiltered list({}) returns the whole catalog (the old wording
192
+ // caused the Maria-walkthrough AI to iterate every slug — 12
193
+ // calls). IA-10 (W3.9): the footer also carries the next step.
194
+ footer: "Authoritative list of every customer-visible category. The total above is small — " +
195
+ "do NOT iterate library_list({category:'…'}) once per slug.\n" +
196
+ "Next: apimapper_library_list({}) returns the complete catalog in one call; filter by category client-side.",
106
197
  });
107
198
  });
108
199
  // ── apimapper_library_featured ─────────────────────────────────────
@@ -113,19 +204,33 @@ export function registerLibraryTools(server) {
113
204
  inputSchema: {
114
205
  limit: z.number().min(1).max(100).default(12).describe("Max items (1-100)"),
115
206
  },
116
- annotations: readOnly(),
207
+ annotations: readOnly({ title: "List Featured Library Connections", openWorld: true }),
117
208
  }, async ({ limit }) => {
118
209
  const params = new URLSearchParams({ limit: String(limit) });
119
210
  const r = await request(`/library/featured?${params.toString()}`);
120
211
  if (!r.success) {
121
- return formatResult({ error: r.error, status: r.status, errorCode: r.errorCode, context: { limit }, hint: hintFor(r.errorCode) }, true);
212
+ return errorResult({
213
+ message: r.error ?? "library featured failed",
214
+ code: r.errorCode ?? (r.status ? String(r.status) : undefined),
215
+ suggestion: hintFor(r.errorCode),
216
+ details: { limit },
217
+ });
122
218
  }
123
219
  const items = Array.isArray(r.data?.connections)
124
220
  ? r.data.connections
125
221
  : Array.isArray(r.data?.items)
126
222
  ? r.data.items
127
223
  : [];
128
- return formatResult({ count: items.length, items }, false, { maxChars: 4000 });
224
+ return tableResult(toRows(items), {
225
+ columns: LIBRARY_TABLE_COLUMNS,
226
+ compactColumns: LIBRARY_COMPACT_COLUMNS,
227
+ map: mapLibraryRow,
228
+ compactMap: compactLibraryRow,
229
+ header: (n) => `${n} featured library items`,
230
+ footer: "Subset of the full catalog — NOT the complete library. " +
231
+ "Use apimapper_library_list({}) for the entire catalog.\n" +
232
+ LIST_NEXT_STEPS,
233
+ });
129
234
  });
130
235
  // ── apimapper_library_popular ──────────────────────────────────────
131
236
  server.registerTool("apimapper_library_popular", {
@@ -135,34 +240,69 @@ export function registerLibraryTools(server) {
135
240
  inputSchema: {
136
241
  limit: z.number().min(1).max(100).default(12).describe("Max items (1-100)"),
137
242
  },
138
- annotations: readOnly(),
243
+ annotations: readOnly({ title: "List Popular Library Connections", openWorld: true }),
139
244
  }, async ({ limit }) => {
140
245
  const params = new URLSearchParams({ limit: String(limit) });
141
246
  const r = await request(`/library/popular?${params.toString()}`);
142
247
  if (!r.success) {
143
- return formatResult({ error: r.error, status: r.status, errorCode: r.errorCode, context: { limit }, hint: hintFor(r.errorCode) }, true);
248
+ return errorResult({
249
+ message: r.error ?? "library popular failed",
250
+ code: r.errorCode ?? (r.status ? String(r.status) : undefined),
251
+ suggestion: hintFor(r.errorCode),
252
+ details: { limit },
253
+ });
144
254
  }
145
255
  const items = Array.isArray(r.data?.connections)
146
256
  ? r.data.connections
147
257
  : Array.isArray(r.data?.items)
148
258
  ? r.data.items
149
259
  : [];
150
- return formatResult({ count: items.length, items }, false, { maxChars: 4000 });
260
+ return tableResult(toRows(items), {
261
+ columns: LIBRARY_TABLE_COLUMNS,
262
+ compactColumns: LIBRARY_COMPACT_COLUMNS,
263
+ map: mapLibraryRow,
264
+ compactMap: compactLibraryRow,
265
+ header: (n) => `${n} popular library items`,
266
+ footer: "Subset of the full catalog — NOT the complete library. " +
267
+ "Use apimapper_library_list({}) for the entire catalog.\n" +
268
+ LIST_NEXT_STEPS,
269
+ });
151
270
  });
152
271
  // ── apimapper_library_catalog ──────────────────────────────────────
272
+ // NOT migrated to a structuredContent builder: the response is a
273
+ // multi-section object (items + categories + featured + popular), which
274
+ // is neither a flat list (tableResult) nor a single-entity detail
275
+ // (detailResult). formatResult preserves the nested structure, and the
276
+ // F-14 _meta.size_bytes / item_count already give the AI the
277
+ // size-decision signal a Rich Card would otherwise add.
153
278
  server.registerTool("apimapper_library_catalog", {
154
279
  title: "Get Full Library Catalog",
155
280
  description: "Fetch the entire library catalog (all categories + items + featured/popular in one shot). " +
156
281
  "Heavy — use filtered endpoints for narrower queries." +
157
282
  "\n\nExample:\n apimapper_library_catalog({})",
158
283
  inputSchema: {},
159
- annotations: readOnly(),
284
+ annotations: readOnly({ title: "Get Library Catalog", openWorld: true }),
160
285
  }, async () => {
161
286
  const r = await request("/library/catalog");
162
287
  if (!r.success) {
163
- return formatResult({ error: r.error, status: r.status, errorCode: r.errorCode, context: {}, hint: hintFor(r.errorCode) }, true);
288
+ return errorResult({
289
+ message: r.error ?? "library catalog failed",
290
+ code: r.errorCode ?? (r.status ? String(r.status) : undefined),
291
+ suggestion: hintFor(r.errorCode),
292
+ });
164
293
  }
165
- return formatResult(r.data ?? {}, false, { maxChars: 8000 });
294
+ const catalog = r.data?.catalog ?? r.data ?? {};
295
+ // F-14: surface payload size + item count so the AI can decide whether
296
+ // to call this heavy tool again, or call a narrower endpoint.
297
+ const sizeBytes = computeCatalogSize(catalog);
298
+ const itemCount = computeCatalogItemCount(catalog, r.data?.total);
299
+ return formatResult({
300
+ ...catalog,
301
+ _meta: {
302
+ size_bytes: sizeBytes,
303
+ item_count: itemCount,
304
+ },
305
+ }, false, { maxChars: 8000 });
166
306
  });
167
307
  // ── apimapper_library_connection_detail ────────────────────────────
168
308
  server.registerTool("apimapper_library_connection_detail", {
@@ -172,19 +312,29 @@ export function registerLibraryTools(server) {
172
312
  inputSchema: {
173
313
  id: z.string().describe("Library item ID. Use apimapper_library_list to find."),
174
314
  },
175
- annotations: readOnly(),
315
+ annotations: readOnly({ title: "Get Library Connection Detail", openWorld: true }),
176
316
  }, async ({ id }) => {
177
317
  const r = await request(`/library/connections/${encodeURIComponent(id)}`);
178
318
  if (!r.success) {
179
- return formatResult({ error: r.error, status: r.status, errorCode: r.errorCode, context: { id }, hint: hintFor(r.errorCode) }, true);
319
+ return errorResult({
320
+ message: r.error ?? "library connection detail failed",
321
+ code: r.errorCode ?? (r.status ? String(r.status) : undefined),
322
+ suggestion: hintFor(r.errorCode),
323
+ details: { id },
324
+ });
180
325
  }
181
326
  if (!r.data || (typeof r.data === "object" && Object.keys(r.data).length === 0)) {
182
- return formatResult({ error: "library item not found", status: r.status, context: { id }, hint: hintFor("not_found") }, true);
327
+ return errorResult({
328
+ message: "library item not found",
329
+ code: r.status ? String(r.status) : "not_found",
330
+ suggestion: hintFor("not_found"),
331
+ details: { id },
332
+ });
183
333
  }
184
334
  // F-A4-02: PHP returns `{success, connection: {...}}`. Use the shared
185
335
  // envelope helper so we tolerate both wrapped + flat shapes.
186
336
  const connection = unwrapEntity(r.data, "connection") ?? {};
187
- return formatResult(connection, false, { maxChars: 8000 });
337
+ return buildConnectionDetail(id, connection);
188
338
  });
189
339
  // ── apimapper_library_activated ────────────────────────────────────
190
340
  server.registerTool("apimapper_library_activated", {
@@ -192,19 +342,33 @@ export function registerLibraryTools(server) {
192
342
  description: "List library items the user has activated (= has a connection for)." +
193
343
  "\n\nExample:\n apimapper_library_activated({})",
194
344
  inputSchema: {},
195
- annotations: readOnly(),
345
+ annotations: readOnly({ title: "List Activated Library Connections", openWorld: true }),
196
346
  }, async () => {
197
347
  const r = await request("/library/activated");
198
348
  if (!r.success) {
199
- return formatResult({ error: r.error, status: r.status, errorCode: r.errorCode, context: {}, hint: hintFor(r.errorCode) }, true);
349
+ return errorResult({
350
+ message: r.error ?? "library activated failed",
351
+ code: r.errorCode ?? (r.status ? String(r.status) : undefined),
352
+ suggestion: hintFor(r.errorCode),
353
+ });
200
354
  }
201
355
  // F-A4-01: PHP returns `connections`; tolerate legacy `items`.
202
- const items = Array.isArray(r.data?.connections)
356
+ const items = (Array.isArray(r.data?.connections)
203
357
  ? r.data.connections
204
358
  : Array.isArray(r.data?.items)
205
359
  ? r.data.items
206
- : [];
207
- return formatResult({ count: items.length, items }, false, { maxChars: 4000 });
360
+ : []);
361
+ return tableResult(items, {
362
+ columns: LIBRARY_TABLE_COLUMNS,
363
+ compactColumns: LIBRARY_COMPACT_COLUMNS,
364
+ // activated list rows are always activated — force the ✓ marker.
365
+ map: (i) => ({ ...mapLibraryRow(i), activated: "✓" }),
366
+ compactMap: (i) => ({ ...compactLibraryRow(i), activated: "✓" }),
367
+ header: (n) => `${n} activated library items`,
368
+ footer: "Library templates the user has activated.\n" +
369
+ "Next: apimapper_advanced({ tool: 'apimapper_library_deactivate', arguments: { id, confirm: true } }) to remove one · " +
370
+ "apimapper_connection_list({}) to inspect the underlying connections.",
371
+ });
208
372
  });
209
373
  // ── apimapper_library_activate ─────────────────────────────────────
210
374
  server.registerTool("apimapper_library_activate", {
@@ -225,7 +389,10 @@ export function registerLibraryTools(server) {
225
389
  .describe('Optional template metadata override (rename connection, override base_url, etc.). ' +
226
390
  'REST key: library_connection.'),
227
391
  },
228
- annotations: creating(),
392
+ // W1.26 (IA-1): activate is idempotent — re-activating the same template
393
+ // yields the same connection (PHP returns the existing row instead of
394
+ // duplicating). mutating() is the correct semantic class.
395
+ annotations: mutating({ title: "Activate Library Connection", openWorld: true }),
229
396
  }, async ({ id, credential_id, extra_fields, library_connection }) => {
230
397
  const body = {};
231
398
  if (credential_id)
@@ -239,7 +406,12 @@ export function registerLibraryTools(server) {
239
406
  body: JSON.stringify(body),
240
407
  });
241
408
  if (!r.success) {
242
- return formatResult({ error: r.error, status: r.status, errorCode: r.errorCode, context: { id }, hint: hintFor(r.errorCode) }, true);
409
+ return errorResult({
410
+ message: r.error ?? "library activate failed",
411
+ code: r.errorCode ?? (r.status ? String(r.status) : undefined),
412
+ suggestion: hintFor(r.errorCode),
413
+ details: { id },
414
+ });
243
415
  }
244
416
  // F-A4-03: PHP returns `{success, connection: {id, ...}, reused?, flow?}`.
245
417
  // Read the nested `connection` directly (we DO NOT use unwrapEntity here
@@ -279,7 +451,7 @@ export function registerLibraryTools(server) {
279
451
  .default(false)
280
452
  .describe("Must be true to execute. Ask user for confirmation first."),
281
453
  },
282
- annotations: destructive(),
454
+ annotations: destructive({ title: "Deactivate Library Connection", openWorld: true }),
283
455
  }, async ({ id, confirm }) => {
284
456
  if (!confirm) {
285
457
  return formatResult({
@@ -293,9 +465,80 @@ export function registerLibraryTools(server) {
293
465
  method: "DELETE",
294
466
  });
295
467
  if (!r.success) {
296
- return formatResult({ error: r.error, status: r.status, errorCode: r.errorCode, context: { id }, hint: hintFor(r.errorCode) }, true);
468
+ return errorResult({
469
+ message: r.error ?? "library deactivate failed",
470
+ code: r.errorCode ?? (r.status ? String(r.status) : undefined),
471
+ suggestion: hintFor(r.errorCode),
472
+ details: { id },
473
+ });
297
474
  }
298
475
  return formatResult({ deactivated: true, id }, false, { maxChars: 1500 });
299
476
  });
300
477
  }
478
+ /**
479
+ * Build a structured detail view for one library connection template.
480
+ * IA-7: technical IDs are copyable entries; IA-10: a dedicated "Next steps"
481
+ * group carries the actionable follow-up calls (visible in the LLM text).
482
+ */
483
+ function buildConnectionDetail(id, connection) {
484
+ const str = (v) => typeof v === "string" ? v : typeof v === "number" || typeof v === "boolean" ? String(v) : null;
485
+ const overviewAll = [
486
+ { key: "id", label: "ID", value: str(connection.id) ?? id, format: "code", copyable: true },
487
+ { key: "name", label: "Name", value: str(connection.name) },
488
+ { key: "provider", label: "Provider", value: str(connection.provider) },
489
+ { key: "category", label: "Category", value: str(connection.category) },
490
+ { key: "description", label: "Description", value: str(connection.description) },
491
+ ];
492
+ const overview = overviewAll.filter((e) => e.value !== null);
493
+ // Endpoints arrive as an array of objects — surface the count plus each
494
+ // endpoint's label so the detail view stays scalar-only.
495
+ const endpoints = Array.isArray(connection.endpoints) ? connection.endpoints : [];
496
+ const endpointEntries = [
497
+ { key: "endpoint_count", label: "Endpoints", value: endpoints.length },
498
+ ...endpoints.map((ep, idx) => {
499
+ const epObj = ep && typeof ep === "object" ? ep : {};
500
+ const label = str(epObj.label) ?? str(epObj.id) ?? `endpoint ${idx + 1}`;
501
+ return {
502
+ key: `endpoint_${idx}`,
503
+ label: ` ${str(epObj.id) ?? idx + 1}`,
504
+ value: label,
505
+ };
506
+ }),
507
+ ];
508
+ const auth = connection.auth_scheme && typeof connection.auth_scheme === "object"
509
+ ? connection.auth_scheme
510
+ : undefined;
511
+ const authEntries = auth
512
+ ? [{ key: "auth_type", label: "Auth scheme", value: str(auth.type) ?? "configured", format: "badge" }]
513
+ : [];
514
+ return detailResult({
515
+ title: str(connection.name) ?? id,
516
+ subtitle: str(connection.provider) ?? undefined,
517
+ badge: connection.is_activated
518
+ ? { text: "Activated", variant: "success" }
519
+ : { text: "Not activated", variant: "secondary" },
520
+ groups: [
521
+ { label: "Template", entries: overview },
522
+ ...(endpointEntries.length > 0 ? [{ label: "Endpoints", entries: endpointEntries }] : []),
523
+ ...(authEntries.length > 0 ? [{ label: "Authentication", entries: authEntries }] : []),
524
+ {
525
+ // IA-10 (W3.9): actionable next steps in a dedicated group — visible
526
+ // in the LLM-readable detail text.
527
+ label: "Next steps",
528
+ entries: [
529
+ {
530
+ key: "activate",
531
+ label: "Activate",
532
+ value: `apimapper_library_activate({ id: '${id}' }) — creates a connection from this template`,
533
+ },
534
+ {
535
+ key: "credentials",
536
+ label: "Auth-protected?",
537
+ value: "apimapper_credential_list({}) to find a credential_id, then pass it to library_activate",
538
+ },
539
+ ],
540
+ },
541
+ ],
542
+ });
543
+ }
301
544
  //# sourceMappingURL=library.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"library.js","sourceRoot":"","sources":["../../../src/modules/apimapper/library.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"library.js","sourceRoot":"","sources":["../../../src/modules/apimapper/library.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import type { MappedLicense } from "./license.js";
2
+ /**
3
+ * Mask a license key for display. Keeps only a short, non-secret leading
4
+ * fragment so the user can recognise *which* key is active, then replaces
5
+ * the secret body with a fixed redaction marker. The full key is NEVER
6
+ * returned. An empty/short value returns a plain redaction marker.
7
+ *
8
+ * Examples:
9
+ * "AM-PRO-SECRET12345-DEADBEEF99" → "AM-PRO…•••• (28 chars)"
10
+ * "short" → "•••• (redacted)"
11
+ */
12
+ export declare function maskLicenseKey(key: string | undefined): string;
13
+ /**
14
+ * Build a structured detail view for license_status.
15
+ *
16
+ * SECURITY: `lic.license_key`, if present, is routed through
17
+ * `maskLicenseKey()` — the full key value never reaches a DetailEntry, so it
18
+ * cannot land in the content text OR `_meta.ui.payload`.
19
+ *
20
+ * IA-10: a dedicated "Next steps" group carries the license follow-up calls.
21
+ */
22
+ export declare function buildLicenseDetail(lic: MappedLicense): import("@getimo/mcp-toolkit").StructuredCallToolResult;