@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.
- package/README.md +7 -7
- package/dist/index.d.ts +19 -0
- package/dist/index.js +72 -6
- package/dist/index.js.map +1 -1
- package/dist/modules/apimapper/cache.d.ts +2 -2
- package/dist/modules/apimapper/cache.js +107 -25
- package/dist/modules/apimapper/cache.js.map +1 -1
- package/dist/modules/apimapper/client.d.ts +40 -0
- package/dist/modules/apimapper/client.js +82 -12
- package/dist/modules/apimapper/client.js.map +1 -1
- package/dist/modules/apimapper/connections-format.d.ts +51 -0
- package/dist/modules/apimapper/connections-format.js +261 -0
- package/dist/modules/apimapper/connections-format.js.map +1 -0
- package/dist/modules/apimapper/connections-trim.d.ts +82 -0
- package/dist/modules/apimapper/connections-trim.js +224 -0
- package/dist/modules/apimapper/connections-trim.js.map +1 -0
- package/dist/modules/apimapper/connections.d.ts +14 -2
- package/dist/modules/apimapper/connections.js +447 -143
- package/dist/modules/apimapper/connections.js.map +1 -1
- package/dist/modules/apimapper/credentials-format.d.ts +21 -0
- package/dist/modules/apimapper/credentials-format.js +145 -0
- package/dist/modules/apimapper/credentials-format.js.map +1 -0
- package/dist/modules/apimapper/credentials.d.ts +12 -2
- package/dist/modules/apimapper/credentials.js +253 -72
- package/dist/modules/apimapper/credentials.js.map +1 -1
- package/dist/modules/apimapper/diagnose.d.ts +54 -2
- package/dist/modules/apimapper/diagnose.js +193 -11
- package/dist/modules/apimapper/diagnose.js.map +1 -1
- package/dist/modules/apimapper/elicitation.d.ts +54 -0
- package/dist/modules/apimapper/elicitation.js +90 -0
- package/dist/modules/apimapper/elicitation.js.map +1 -0
- package/dist/modules/apimapper/flows-format.d.ts +50 -0
- package/dist/modules/apimapper/flows-format.js +318 -0
- package/dist/modules/apimapper/flows-format.js.map +1 -0
- package/dist/modules/apimapper/flows.d.ts +13 -2
- package/dist/modules/apimapper/flows.js +325 -118
- package/dist/modules/apimapper/flows.js.map +1 -1
- package/dist/modules/apimapper/gateway/advanced-tool.d.ts +9 -0
- package/dist/modules/apimapper/gateway/advanced-tool.js +214 -0
- package/dist/modules/apimapper/gateway/advanced-tool.js.map +1 -0
- package/dist/modules/apimapper/gateway/capturing-server.d.ts +81 -0
- package/dist/modules/apimapper/gateway/capturing-server.js +87 -0
- package/dist/modules/apimapper/gateway/capturing-server.js.map +1 -0
- package/dist/modules/apimapper/gateway/essentials.d.ts +4 -0
- package/dist/modules/apimapper/gateway/essentials.js +28 -0
- package/dist/modules/apimapper/gateway/essentials.js.map +1 -0
- package/dist/modules/apimapper/gateway/test-support.d.ts +17 -0
- package/dist/modules/apimapper/gateway/test-support.js +43 -0
- package/dist/modules/apimapper/gateway/test-support.js.map +1 -0
- package/dist/modules/apimapper/get-skill.d.ts +3 -3
- package/dist/modules/apimapper/get-skill.js +4 -2
- package/dist/modules/apimapper/get-skill.js.map +1 -1
- package/dist/modules/apimapper/graph-builder.js +1 -1
- package/dist/modules/apimapper/graph-builder.js.map +1 -1
- package/dist/modules/apimapper/graph.d.ts +2 -2
- package/dist/modules/apimapper/graph.js +165 -34
- package/dist/modules/apimapper/graph.js.map +1 -1
- package/dist/modules/apimapper/index.d.ts +17 -1
- package/dist/modules/apimapper/index.js +66 -17
- package/dist/modules/apimapper/index.js.map +1 -1
- package/dist/modules/apimapper/inspect.d.ts +3 -2
- package/dist/modules/apimapper/inspect.js +97 -13
- package/dist/modules/apimapper/inspect.js.map +1 -1
- package/dist/modules/apimapper/library.d.ts +2 -2
- package/dist/modules/apimapper/library.js +303 -60
- package/dist/modules/apimapper/library.js.map +1 -1
- package/dist/modules/apimapper/license-format.d.ts +22 -0
- package/dist/modules/apimapper/license-format.js +149 -0
- package/dist/modules/apimapper/license-format.js.map +1 -0
- package/dist/modules/apimapper/license.d.ts +16 -2
- package/dist/modules/apimapper/license.js +85 -37
- package/dist/modules/apimapper/license.js.map +1 -1
- package/dist/modules/apimapper/local-sources.d.ts +2 -2
- package/dist/modules/apimapper/local-sources.js +58 -30
- package/dist/modules/apimapper/local-sources.js.map +1 -1
- package/dist/modules/apimapper/misc.d.ts +30 -2
- package/dist/modules/apimapper/misc.js +129 -50
- package/dist/modules/apimapper/misc.js.map +1 -1
- package/dist/modules/apimapper/node-schema.d.ts +52 -0
- package/dist/modules/apimapper/node-schema.js +70 -2
- package/dist/modules/apimapper/node-schema.js.map +1 -1
- package/dist/modules/apimapper/normalizers.d.ts +1 -0
- package/dist/modules/apimapper/normalizers.js +51 -0
- package/dist/modules/apimapper/normalizers.js.map +1 -1
- package/dist/modules/apimapper/onboarding.d.ts +48 -2
- package/dist/modules/apimapper/onboarding.js +324 -17
- package/dist/modules/apimapper/onboarding.js.map +1 -1
- package/dist/modules/apimapper/read-cache.d.ts +31 -2
- package/dist/modules/apimapper/read-cache.js +20 -6
- package/dist/modules/apimapper/read-cache.js.map +1 -1
- package/dist/modules/apimapper/render/_shared.d.ts +24 -0
- package/dist/modules/apimapper/render/_shared.js +84 -0
- package/dist/modules/apimapper/render/_shared.js.map +1 -0
- package/dist/modules/apimapper/render/dag.d.ts +18 -0
- package/dist/modules/apimapper/render/dag.js +70 -0
- package/dist/modules/apimapper/render/dag.js.map +1 -0
- package/dist/modules/apimapper/render/index.d.ts +2 -0
- package/dist/modules/apimapper/render/index.js +112 -0
- package/dist/modules/apimapper/render/index.js.map +1 -0
- package/dist/modules/apimapper/render/renderers/chart-bar.d.ts +2 -0
- package/dist/modules/apimapper/render/renderers/chart-bar.js +70 -0
- package/dist/modules/apimapper/render/renderers/chart-bar.js.map +1 -0
- package/dist/modules/apimapper/render/renderers/chart-line.d.ts +2 -0
- package/dist/modules/apimapper/render/renderers/chart-line.js +71 -0
- package/dist/modules/apimapper/render/renderers/chart-line.js.map +1 -0
- package/dist/modules/apimapper/render/renderers/diff.d.ts +2 -0
- package/dist/modules/apimapper/render/renderers/diff.js +154 -0
- package/dist/modules/apimapper/render/renderers/diff.js.map +1 -0
- package/dist/modules/apimapper/render/renderers/flow-diagram.d.ts +1 -0
- package/dist/modules/apimapper/render/renderers/flow-diagram.js +180 -0
- package/dist/modules/apimapper/render/renderers/flow-diagram.js.map +1 -0
- package/dist/modules/apimapper/render/renderers/json-tree.d.ts +2 -0
- package/dist/modules/apimapper/render/renderers/json-tree.js +87 -0
- package/dist/modules/apimapper/render/renderers/json-tree.js.map +1 -0
- package/dist/modules/apimapper/render/renderers/schema-diagram.d.ts +2 -0
- package/dist/modules/apimapper/render/renderers/schema-diagram.js +83 -0
- package/dist/modules/apimapper/render/renderers/schema-diagram.js.map +1 -0
- package/dist/modules/apimapper/render/renderers/table.d.ts +2 -0
- package/dist/modules/apimapper/render/renderers/table.js +75 -0
- package/dist/modules/apimapper/render/renderers/table.js.map +1 -0
- package/dist/modules/apimapper/render/schemas.d.ts +23 -0
- package/dist/modules/apimapper/render/schemas.js +56 -0
- package/dist/modules/apimapper/render/schemas.js.map +1 -0
- package/dist/modules/apimapper/render/secret-masking.d.ts +5 -0
- package/dist/modules/apimapper/render/secret-masking.js +51 -0
- package/dist/modules/apimapper/render/secret-masking.js.map +1 -0
- package/dist/modules/apimapper/render/sidecar.d.ts +21 -0
- package/dist/modules/apimapper/render/sidecar.js +66 -0
- package/dist/modules/apimapper/render/sidecar.js.map +1 -0
- package/dist/modules/apimapper/render/token-cap.d.ts +21 -0
- package/dist/modules/apimapper/render/token-cap.js +57 -0
- package/dist/modules/apimapper/render/token-cap.js.map +1 -0
- package/dist/modules/apimapper/schema.d.ts +2 -2
- package/dist/modules/apimapper/schema.js +100 -32
- package/dist/modules/apimapper/schema.js.map +1 -1
- package/dist/modules/apimapper/settings-format.d.ts +23 -0
- package/dist/modules/apimapper/settings-format.js +135 -0
- package/dist/modules/apimapper/settings-format.js.map +1 -0
- package/dist/modules/apimapper/settings.d.ts +2 -2
- package/dist/modules/apimapper/settings.js +101 -40
- package/dist/modules/apimapper/settings.js.map +1 -1
- package/dist/modules/apimapper/skill-resources.d.ts +2 -2
- package/dist/modules/apimapper/skill-resources.js.map +1 -1
- package/dist/modules/apimapper/token-baseline.harness.d.ts +91 -0
- package/dist/modules/apimapper/token-baseline.harness.js +291 -0
- package/dist/modules/apimapper/token-baseline.harness.js.map +1 -0
- package/dist/modules/apimapper/toolslist-size.d.ts +55 -0
- package/dist/modules/apimapper/toolslist-size.js +190 -0
- package/dist/modules/apimapper/toolslist-size.js.map +1 -0
- package/dist/modules/apimapper/types.d.ts +23 -8
- package/dist/modules/apimapper/types.js +26 -1
- package/dist/modules/apimapper/types.js.map +1 -1
- package/dist/modules/apimapper/use-profile.d.ts +21 -0
- package/dist/modules/apimapper/use-profile.js +56 -2
- package/dist/modules/apimapper/use-profile.js.map +1 -1
- package/dist/modules/apimapper/workflows.d.ts +2 -2
- package/dist/modules/apimapper/workflows.js +143 -16
- package/dist/modules/apimapper/workflows.js.map +1 -1
- package/dist/platform/index.js +44 -5
- package/dist/platform/index.js.map +1 -1
- package/dist/setup-cli.d.ts +53 -0
- package/dist/setup-cli.js +135 -6
- package/dist/setup-cli.js.map +1 -1
- package/docs/architecture.md +1 -1
- package/docs/tools.md +1 -1
- package/manifest.json +12 -3
- package/package.json +9 -4
- package/skills/apimapper/SKILL.md +1 -1
- package/skills/apimapper/reference/render.md +132 -0
- package/skills/apimapper/reference/troubleshooting.md +1 -1
- package/skills/apimapper/reference/yootheme.md +1 -1
|
@@ -1,22 +1,112 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { formatResult,
|
|
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
|
|
10
|
-
"
|
|
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
|
|
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
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
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:
|
|
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
|
|
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,
|
|
97
|
-
return
|
|
180
|
+
const total = rows.reduce((sum, row) => sum + row.count, 0);
|
|
181
|
+
return tableResult(toRows(rows), {
|
|
98
182
|
columns: [
|
|
99
|
-
|
|
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
|
-
|
|
105
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
|
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;
|