@wootsup/mcp 0.3.0 → 0.4.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/CHANGELOG.md +14 -5
- package/dist/catalog/build-catalog.d.ts +31 -0
- package/dist/catalog/build-catalog.js +68 -0
- package/dist/catalog/build-catalog.js.map +1 -0
- package/dist/index.js +37 -5
- package/dist/index.js.map +1 -1
- package/dist/modules/apimapper/auto-layout.d.ts +21 -0
- package/dist/modules/apimapper/auto-layout.js +54 -0
- package/dist/modules/apimapper/auto-layout.js.map +1 -0
- package/dist/modules/apimapper/client.d.ts +54 -4
- package/dist/modules/apimapper/client.js +145 -14
- package/dist/modules/apimapper/client.js.map +1 -1
- package/dist/modules/apimapper/connections-format.d.ts +31 -1
- package/dist/modules/apimapper/connections-format.js +97 -5
- package/dist/modules/apimapper/connections-format.js.map +1 -1
- package/dist/modules/apimapper/connections.d.ts +9 -7
- package/dist/modules/apimapper/connections.js +225 -58
- package/dist/modules/apimapper/connections.js.map +1 -1
- package/dist/modules/apimapper/credentials.js +86 -14
- package/dist/modules/apimapper/credentials.js.map +1 -1
- package/dist/modules/apimapper/elicitation.d.ts +29 -0
- package/dist/modules/apimapper/elicitation.js +62 -0
- package/dist/modules/apimapper/elicitation.js.map +1 -1
- package/dist/modules/apimapper/example-extract.d.ts +13 -0
- package/dist/modules/apimapper/example-extract.js +111 -0
- package/dist/modules/apimapper/example-extract.js.map +1 -0
- package/dist/modules/apimapper/filter-operators.d.ts +24 -0
- package/dist/modules/apimapper/filter-operators.js +103 -0
- package/dist/modules/apimapper/filter-operators.js.map +1 -0
- package/dist/modules/apimapper/flows-format.js +92 -22
- package/dist/modules/apimapper/flows-format.js.map +1 -1
- package/dist/modules/apimapper/flows.d.ts +8 -7
- package/dist/modules/apimapper/flows.js +216 -44
- package/dist/modules/apimapper/flows.js.map +1 -1
- package/dist/modules/apimapper/gateway/advanced-read-tool.d.ts +9 -0
- package/dist/modules/apimapper/gateway/advanced-read-tool.js +172 -0
- package/dist/modules/apimapper/gateway/advanced-read-tool.js.map +1 -0
- package/dist/modules/apimapper/gateway/advanced-tool.js +39 -130
- package/dist/modules/apimapper/gateway/advanced-tool.js.map +1 -1
- package/dist/modules/apimapper/gateway/collect-module-tools.d.ts +17 -0
- package/dist/modules/apimapper/gateway/collect-module-tools.js +44 -0
- package/dist/modules/apimapper/gateway/collect-module-tools.js.map +1 -0
- package/dist/modules/apimapper/gateway/essentials.d.ts +1 -1
- package/dist/modules/apimapper/gateway/essentials.js +19 -7
- package/dist/modules/apimapper/gateway/essentials.js.map +1 -1
- package/dist/modules/apimapper/gateway/gateway-shared.d.ts +21 -0
- package/dist/modules/apimapper/gateway/gateway-shared.js +124 -0
- package/dist/modules/apimapper/gateway/gateway-shared.js.map +1 -0
- package/dist/modules/apimapper/gateway/test-support.d.ts +1 -17
- package/dist/modules/apimapper/gateway/test-support.js +4 -33
- package/dist/modules/apimapper/gateway/test-support.js.map +1 -1
- package/dist/modules/apimapper/get-skill-cores.d.ts +4 -0
- package/dist/modules/apimapper/get-skill-cores.js +220 -0
- package/dist/modules/apimapper/get-skill-cores.js.map +1 -0
- package/dist/modules/apimapper/get-skill.d.ts +1 -1
- package/dist/modules/apimapper/get-skill.js +30 -3
- package/dist/modules/apimapper/get-skill.js.map +1 -1
- package/dist/modules/apimapper/graph-builder.d.ts +85 -2
- package/dist/modules/apimapper/graph-builder.js +151 -15
- package/dist/modules/apimapper/graph-builder.js.map +1 -1
- package/dist/modules/apimapper/graph.js +115 -15
- package/dist/modules/apimapper/graph.js.map +1 -1
- package/dist/modules/apimapper/index.js +25 -13
- package/dist/modules/apimapper/index.js.map +1 -1
- package/dist/modules/apimapper/jmespath-test.d.ts +4 -0
- package/dist/modules/apimapper/jmespath-test.js +152 -0
- package/dist/modules/apimapper/jmespath-test.js.map +1 -0
- package/dist/modules/apimapper/library.js +131 -8
- package/dist/modules/apimapper/library.js.map +1 -1
- package/dist/modules/apimapper/list-footer.d.ts +27 -0
- package/dist/modules/apimapper/list-footer.js +57 -0
- package/dist/modules/apimapper/list-footer.js.map +1 -0
- package/dist/modules/apimapper/local-sources.js +88 -31
- package/dist/modules/apimapper/local-sources.js.map +1 -1
- package/dist/modules/apimapper/mcp-client-identity.d.ts +32 -0
- package/dist/modules/apimapper/mcp-client-identity.js +70 -0
- package/dist/modules/apimapper/mcp-client-identity.js.map +1 -0
- package/dist/modules/apimapper/merge-constants.d.ts +6 -0
- package/dist/modules/apimapper/merge-constants.js +26 -0
- package/dist/modules/apimapper/merge-constants.js.map +1 -0
- package/dist/modules/apimapper/node-schema.d.ts +52 -2
- package/dist/modules/apimapper/node-schema.js +95 -4
- package/dist/modules/apimapper/node-schema.js.map +1 -1
- package/dist/modules/apimapper/onboarding.d.ts +29 -0
- package/dist/modules/apimapper/onboarding.js +117 -9
- package/dist/modules/apimapper/onboarding.js.map +1 -1
- package/dist/modules/apimapper/read-cache.d.ts +16 -3
- package/dist/modules/apimapper/read-cache.js +59 -4
- package/dist/modules/apimapper/read-cache.js.map +1 -1
- package/dist/modules/apimapper/render/index.js +26 -5
- package/dist/modules/apimapper/render/index.js.map +1 -1
- package/dist/modules/apimapper/resource-id.d.ts +13 -0
- package/dist/modules/apimapper/resource-id.js +69 -0
- package/dist/modules/apimapper/resource-id.js.map +1 -0
- package/dist/modules/apimapper/tool-result.d.ts +20 -0
- package/dist/modules/apimapper/tool-result.js +67 -5
- package/dist/modules/apimapper/tool-result.js.map +1 -1
- package/dist/modules/apimapper/toolslist-size.d.ts +10 -10
- package/dist/modules/apimapper/toolslist-size.js +29 -18
- package/dist/modules/apimapper/toolslist-size.js.map +1 -1
- package/dist/modules/apimapper/types.d.ts +13 -0
- package/dist/modules/apimapper/types.js +1 -1
- package/dist/modules/apimapper/types.js.map +1 -1
- package/dist/modules/apimapper/whitelist-drift.js +16 -1
- package/dist/modules/apimapper/whitelist-drift.js.map +1 -1
- package/dist/modules/apimapper/workflows.js +221 -32
- package/dist/modules/apimapper/workflows.js.map +1 -1
- package/dist/modules/apimapper/yootheme-binding.js +103 -22
- package/dist/modules/apimapper/yootheme-binding.js.map +1 -1
- package/dist/platform/index.js +7 -0
- package/dist/platform/index.js.map +1 -1
- package/dist/proxy/bridge.d.ts +35 -0
- package/dist/proxy/bridge.js +129 -0
- package/dist/proxy/bridge.js.map +1 -0
- package/dist/proxy/mode.d.ts +9 -0
- package/dist/proxy/mode.js +20 -0
- package/dist/proxy/mode.js.map +1 -0
- package/dist/setup/probe-auth.d.ts +51 -0
- package/dist/setup/probe-auth.js +141 -0
- package/dist/setup/probe-auth.js.map +1 -0
- package/dist/setup-cli.d.ts +9 -0
- package/dist/setup-cli.js +34 -0
- package/dist/setup-cli.js.map +1 -1
- package/dist/sites/loader.d.ts +7 -0
- package/dist/sites/loader.js +16 -1
- package/dist/sites/loader.js.map +1 -1
- package/dist/skill-instructions.d.ts +14 -1
- package/dist/skill-instructions.js +30 -6
- package/dist/skill-instructions.js.map +1 -1
- package/manifest.json +2 -2
- package/package.json +3 -2
- package/skills/apimapper/SKILL.md +78 -3
- package/skills/apimapper/reference/dynamize-existing-layout.md +158 -0
- package/skills/apimapper/reference/jmespath-cookbook.md +241 -0
- package/skills/apimapper/reference/jmespath-pitfalls.md +81 -0
- package/skills/apimapper/reference/library-template-discovery.md +1 -1
- package/skills/apimapper/reference/merge-two-sources-on-key.md +117 -12
- package/skills/apimapper/reference/oauth.md +143 -52
- package/skills/apimapper/reference/troubleshooting.md +2 -2
- package/skills/apimapper/reference/yootheme-source-to-builder-handoff.md +348 -0
- package/skills/apimapper/reference/yootheme.md +75 -44
|
@@ -18,6 +18,7 @@ import { formatResult, errorResult, readOnly } from "@getimo/mcp-toolkit";
|
|
|
18
18
|
import { request, hintFor } from "./client.js";
|
|
19
19
|
import { restErrorResult } from "./tool-result.js";
|
|
20
20
|
import { unwrapEntity } from "./envelope.js";
|
|
21
|
+
import { OUTPUT_NODE_TYPES, isOutputNode } from "./node-schema.js";
|
|
21
22
|
/**
|
|
22
23
|
* Pure helper — compute the canonical YOOtheme GraphQL query name for a flow
|
|
23
24
|
* id. Mirrors `TypeNameConvention::flowQueryName` in PHP
|
|
@@ -49,7 +50,11 @@ export function flowQueryName(flowId) {
|
|
|
49
50
|
*/
|
|
50
51
|
export function extractOutputSchemaFields(flow) {
|
|
51
52
|
const nodes = Array.isArray(flow.nodes) ? flow.nodes : [];
|
|
52
|
-
|
|
53
|
+
// Match any terminal output type (output / output-yootheme / output-shortcode)
|
|
54
|
+
// — a flow whose customer picked "YOOtheme Output" / "Shortcode Output" in
|
|
55
|
+
// the Flow Editor carries `output-yootheme` / `output-shortcode`, not the
|
|
56
|
+
// bare `output`. Mirrors FlowCompiler::isOutputNodeType.
|
|
57
|
+
const outputNode = nodes.find((n) => isOutputNode(n));
|
|
53
58
|
if (!outputNode || !outputNode.data)
|
|
54
59
|
return [];
|
|
55
60
|
const data = outputNode.data;
|
|
@@ -121,10 +126,22 @@ export function registerYoothemeBindingTools(server) {
|
|
|
121
126
|
"for binding. Replaces a 3-call chain (flow_get → parse schema JSON → " +
|
|
122
127
|
"yt-builder sources_list grep) with one deterministic call." +
|
|
123
128
|
"\n\nUse after `apimapper_flow_full_recompile_publish` to discover what " +
|
|
124
|
-
"to bind
|
|
129
|
+
"to bind. In yt-builder-mcp, bind directly with " +
|
|
130
|
+
"yootheme_builder_element_bind_source({ template_id, element_path, source_name, field_mappings }) " +
|
|
131
|
+
"(a first-class tool in tools/list since F116; on pre-F116 server builds it is " +
|
|
132
|
+
"reachable via yootheme_builder_advanced({ tool: \"yootheme_builder_element_bind_source\", arguments: {…} }))." +
|
|
125
133
|
"\n\nThe `source_name_list` is the canonical Multi-Items target " +
|
|
126
|
-
"(grid/list/slider containers). The `
|
|
127
|
-
"
|
|
134
|
+
"(grid/list/slider containers). The `source_name_single` is the FLAT " +
|
|
135
|
+
"top-level Single field — bind it to a standalone leaf (headline / hero / " +
|
|
136
|
+
"one stat) with a FLAT field name. The `source_name_singular` is the " +
|
|
137
|
+
"wrapper object; its dotted singular.<field> nested path is metadata-less " +
|
|
138
|
+
"and renders blank, so prefer `source_name_single` for single bindings." +
|
|
139
|
+
"\n\nF158 CAVEAT: `example_field_mappings` are HEURISTIC prop keys " +
|
|
140
|
+
"(title/content/meta/image/link) computed WITHOUT knowing the target " +
|
|
141
|
+
"element's real prop set — a grid_item, headline or list_item each " +
|
|
142
|
+
"expose DIFFERENT props. Call yt-builder `yootheme_builder_element_type_get_schema` " +
|
|
143
|
+
"for the target element FIRST and bind only props that element actually " +
|
|
144
|
+
"renders; an unknown prop key binds to nothing (silent blank, no error)." +
|
|
128
145
|
"\n\nExample:\n apimapper_yootheme_binding_for_flow({ flow_id: 'flow_VYvfwySM34fypAbDoc7rx' })",
|
|
129
146
|
inputSchema: {
|
|
130
147
|
flow_id: z
|
|
@@ -150,36 +167,100 @@ export function registerYoothemeBindingTools(server) {
|
|
|
150
167
|
const fields = extractOutputSchemaFields(flow);
|
|
151
168
|
const singular = flowQueryName(flow_id);
|
|
152
169
|
const listName = `${singular}List`;
|
|
170
|
+
// WF1 Phase-2 — the FLAT top-level Single field emitted ADDITIVELY by
|
|
171
|
+
// the PHP schema registrar beside the Wrapper + List. Mirrors the
|
|
172
|
+
// inline `$queryName . 'Single'` in FlowTypeBuilder::create()
|
|
173
|
+
// (src/modules/source/src/Type/FlowTypeBuilder.php). This is the
|
|
174
|
+
// picker-visible, metadata-bearing single field a standalone leaf
|
|
175
|
+
// (headline / hero) binds to with a FLAT field name. Distinct from
|
|
176
|
+
// `source_name_singular` (the wrapper object — its dotted
|
|
177
|
+
// `singular.<field>` nested path is metadata-less and renders blank).
|
|
178
|
+
const singleName = `${singular}Single`;
|
|
179
|
+
// The node_types probe must accept ANY terminal output type, not just
|
|
180
|
+
// the bare "output" — otherwise a flow whose only terminal is
|
|
181
|
+
// output-yootheme / output-shortcode never registers as compiled.
|
|
153
182
|
const isCompiled = Boolean(flow.is_compiled) ||
|
|
154
|
-
(Array.isArray(flow.node_types) &&
|
|
183
|
+
(Array.isArray(flow.node_types) &&
|
|
184
|
+
flow.node_types.some((t) => OUTPUT_NODE_TYPES.includes(t)));
|
|
155
185
|
const exampleMappings = suggestFieldMappings(fields);
|
|
156
|
-
//
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
const isYoothemeOutput =
|
|
186
|
+
// Derive output mode from the terminal node's TYPE. Only
|
|
187
|
+
// `output-shortcode` is a WordPress shortcode; `output` and
|
|
188
|
+
// `output-yootheme` both produce a YOOtheme source. (The old code read
|
|
189
|
+
// a `data.output_type` field that is never set anywhere — dead read.)
|
|
190
|
+
const outputNode = (flow.nodes ?? []).find((n) => isOutputNode(n));
|
|
191
|
+
const isYoothemeOutput = outputNode?.type !== "output-shortcode";
|
|
192
|
+
// ready_for_binding and the next_steps text are derived from the SAME
|
|
193
|
+
// conditions so they can never contradict each other.
|
|
194
|
+
const readyForBinding = isCompiled && isYoothemeOutput && fields.length > 0;
|
|
195
|
+
// Final guidance step — single source of truth shared with
|
|
196
|
+
// readyForBinding. Order of checks: compile state → schema fields →
|
|
197
|
+
// shortcode mode → ready.
|
|
198
|
+
let finalStep;
|
|
199
|
+
if (!isCompiled) {
|
|
200
|
+
finalStep =
|
|
201
|
+
"Flow is NOT yet compiled — call apimapper_flow_full_recompile_publish first.";
|
|
202
|
+
}
|
|
203
|
+
else if (fields.length === 0) {
|
|
204
|
+
finalStep =
|
|
205
|
+
"Flow is compiled but the output node has NO schema fields — open the flow in the Editor, " +
|
|
206
|
+
"ensure the Output node's schema fields are populated, then re-publish with apimapper_flow_full_recompile_publish.";
|
|
207
|
+
}
|
|
208
|
+
else if (!isYoothemeOutput) {
|
|
209
|
+
finalStep =
|
|
210
|
+
"Flow is compiled but its output node is a Shortcode output (output-shortcode) — there is no " +
|
|
211
|
+
"YOOtheme source to bind. Switch the Output node to YOOtheme Output to bind in the Builder.";
|
|
212
|
+
}
|
|
213
|
+
else {
|
|
214
|
+
finalStep = "Flow is compiled and ready for binding.";
|
|
215
|
+
}
|
|
162
216
|
return formatResult({
|
|
163
217
|
flow_id,
|
|
164
218
|
flow_name: flow.name ?? null,
|
|
165
219
|
source_name_singular: singular,
|
|
166
220
|
source_name_list: listName,
|
|
221
|
+
source_name_single: singleName,
|
|
167
222
|
fields,
|
|
168
223
|
field_count: fields.length,
|
|
169
224
|
example_field_mappings: exampleMappings,
|
|
170
|
-
ready_for_binding:
|
|
225
|
+
ready_for_binding: readyForBinding,
|
|
171
226
|
output_mode: isYoothemeOutput ? "yootheme" : "shortcode",
|
|
172
227
|
next_steps: [
|
|
173
|
-
//
|
|
174
|
-
//
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
228
|
+
// C6 (2026-06-10) / F176 (2026-06-12) — ONE consistent recommended
|
|
229
|
+
// path, reconciled with the yt-builder-mcp surface. F116 promoted
|
|
230
|
+
// `yootheme_builder_element_bind_source` to L1: it is a FIRST-CLASS
|
|
231
|
+
// tool in tools/list, so call it DIRECTLY. (The CapturingServer's
|
|
232
|
+
// disjoint-lane invariant means a gateway wrap now returns
|
|
233
|
+
// `unknown_tool` on a current build — wrapping it was the F176
|
|
234
|
+
// friction.) It writes the canonical YT-Pro shape (top-level
|
|
235
|
+
// `source`, NOT `props.source`); element_update_settings REJECTS
|
|
236
|
+
// source keys, so the old "set props.source.* via update_settings"
|
|
237
|
+
// step was the banned anti-pattern. field_mappings ride in the SAME
|
|
238
|
+
// bind call. For Multi-Items containers (grid/list/slider) the List
|
|
239
|
+
// variant is the target — bind on the *_item child (grid_item,
|
|
240
|
+
// list_item).
|
|
241
|
+
`Bind on the *_item child (grid_item, list_item) of the container — call directly: yootheme_builder_element_bind_source({ template_id, element_path, source_name: "${listName}", bindingLevel: "item", field_mappings: { title: "<source_field>", content: "<source_field>" } }). (On a pre-F116 server build, reach it via yootheme_builder_advanced({ tool: "yootheme_builder_element_bind_source", arguments: {…} }).)`,
|
|
242
|
+
// WF1 Phase-2 — STANDALONE SINGLE path. To bind a SINGLE field to a
|
|
243
|
+
// standalone leaf (a headline, a hero title, one stat) — NOT a
|
|
244
|
+
// repeating container — use the FLAT Single source (source_name_single)
|
|
245
|
+
// with a FLAT field name. The Single field is the picker-visible,
|
|
246
|
+
// metadata-bearing top-level field; resolveSingle returns the first
|
|
247
|
+
// row (limit=1). G2 FOOTGUN: do NOT bind the dotted
|
|
248
|
+
// singular.<field> path (source_name_singular + a nested
|
|
249
|
+
// single.<field> mapping) — that addresses the metadata-less nested
|
|
250
|
+
// wrapper and renders BLANK.
|
|
251
|
+
`For a SINGLE field on a standalone leaf (headline / hero / one stat): bind source_name_single ("${singleName}") with a FLAT field name — yootheme_builder_element_bind_source({ template_id, element_path, source_name: "${singleName}", field_mappings: { content: "<source_field>" } }). Do NOT use the dotted singular.<field> path (source_name_singular + single.<field>); it is metadata-less and renders blank.`,
|
|
252
|
+
"field_mappings maps element props → source fields in the SAME bind call — do NOT hand-author props.source via yootheme_builder_element_update_settings (that key is rejected; the binding is stored top-level, not under props).",
|
|
253
|
+
// F158 — loud caveat (orthogonal to C6): the emitted keys are
|
|
254
|
+
// heuristic, verify against the target element's real prop schema
|
|
255
|
+
// BEFORE the bind call.
|
|
256
|
+
"VERIFY FIRST: call yt-builder yootheme_builder_element_type_get_schema for the target element — the heuristic keys above (title/content/meta/image/link) may not exist on it; unknown prop keys bind to nothing (silent blank).",
|
|
257
|
+
"Suggested mappings above are heuristic — customer can rename them in the Builder.",
|
|
258
|
+
// F149 — concrete MAP-element guidance at the chokepoint. The bind
|
|
259
|
+
// itself still goes through element_bind_source (C6); the ETag→save
|
|
260
|
+
// →publish sequence below persists it.
|
|
261
|
+
`For a MAP element: bind map_item with location = a single "lat,lng" field (NOT two separate lat/lng fields), then yootheme_builder_get_etag → yootheme_builder_page_save → yootheme_builder_page_publish.`,
|
|
262
|
+
finalStep,
|
|
263
|
+
],
|
|
183
264
|
}, false, { maxChars: 4000 });
|
|
184
265
|
});
|
|
185
266
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yootheme-binding.js","sourceRoot":"","sources":["../../../src/modules/apimapper/yootheme-binding.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,+EAA+E;AAC/E,2EAA2E;AAC3E,mDAAmD;AACnD,EAAE;AACF,0EAA0E;AAC1E,6EAA6E;AAC7E,6EAA6E;AAC7E,4EAA4E;AAC5E,uEAAuE;AACvE,EAAE;AACF,yEAAyE;AACzE,2EAA2E;AAC3E,4BAA4B;AAG5B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"yootheme-binding.js","sourceRoot":"","sources":["../../../src/modules/apimapper/yootheme-binding.ts"],"names":[],"mappings":"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"}
|
package/dist/platform/index.js
CHANGED
|
@@ -276,6 +276,13 @@ export class JoomlaPlatform {
|
|
|
276
276
|
if (resource === "graph" && sub === "validate" && method === "POST") {
|
|
277
277
|
return { action: "validateGraph", params: {} };
|
|
278
278
|
}
|
|
279
|
+
// P-B (JMESPath superpowers) — apimapper_jmespath_test POSTs
|
|
280
|
+
// /jmespath/test. Joomla handler EXISTS (JmespathTestAjaxHandler,
|
|
281
|
+
// dispatcher task `jmespathTest`); map the two-segment route to it so
|
|
282
|
+
// the tool works on Joomla, not just WP.
|
|
283
|
+
if (resource === "jmespath" && sub === "test" && method === "POST") {
|
|
284
|
+
return { action: "jmespathTest", params: {} };
|
|
285
|
+
}
|
|
279
286
|
if (resource === "local-sources" && sub === "types" && method === "GET") {
|
|
280
287
|
return { action: "localSourceTypes", params: {} };
|
|
281
288
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/platform/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/platform/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { Transport } from '@modelcontextprotocol/sdk/shared/transport.js';
|
|
2
|
+
/**
|
|
3
|
+
* Wire two MCP transports into a transparent pipe: every message from one side
|
|
4
|
+
* is relayed verbatim to the other, and a close/error on either side tears down
|
|
5
|
+
* the other. No transformation — the PHP server owns the protocol semantics.
|
|
6
|
+
* The caller is responsible for start()ing both transports.
|
|
7
|
+
*
|
|
8
|
+
* `StreamableHTTPClientTransport.send()` re-throws on any upstream failure
|
|
9
|
+
* (401/5xx/connection refused / missing PHP endpoint). The forwarders MUST NOT
|
|
10
|
+
* fire-and-forget that rejection: an unhandled rejection crashes the Node
|
|
11
|
+
* process, so a wrong key / unreachable site would kill the proxy on the first
|
|
12
|
+
* `initialize` instead of surfacing an actionable error. Each direction
|
|
13
|
+
* therefore `.catch()`es its `send()`.
|
|
14
|
+
*/
|
|
15
|
+
export declare function bridgeTransports(local: Transport, remote: Transport): void;
|
|
16
|
+
/** Build the real transports + bridge them; resolves when EITHER side closes. */
|
|
17
|
+
export declare function runProxy(config: {
|
|
18
|
+
endpointUrl: URL;
|
|
19
|
+
token: string;
|
|
20
|
+
}, deps?: {
|
|
21
|
+
makeTransports?: (c: {
|
|
22
|
+
endpointUrl: URL;
|
|
23
|
+
token: string;
|
|
24
|
+
}) => {
|
|
25
|
+
local: Transport;
|
|
26
|
+
remote: Transport;
|
|
27
|
+
};
|
|
28
|
+
}): Promise<void>;
|
|
29
|
+
/** Returns true if proxy mode handled the run; false → caller continues with fat. */
|
|
30
|
+
export declare function maybeRunProxy(env: NodeJS.ProcessEnv, deps?: {
|
|
31
|
+
runProxy?: (c: {
|
|
32
|
+
endpointUrl: URL;
|
|
33
|
+
token: string;
|
|
34
|
+
}) => Promise<void>;
|
|
35
|
+
}): Promise<boolean>;
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
2
|
+
import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
|
|
3
|
+
import { resolveMode } from './mode.js';
|
|
4
|
+
/** Narrow an unknown caught value to a human-readable message (no `any`). */
|
|
5
|
+
function errorMessage(err) {
|
|
6
|
+
if (err instanceof Error)
|
|
7
|
+
return err.message;
|
|
8
|
+
if (typeof err === 'string')
|
|
9
|
+
return err;
|
|
10
|
+
try {
|
|
11
|
+
return String(err);
|
|
12
|
+
}
|
|
13
|
+
catch {
|
|
14
|
+
return 'unknown error';
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* A forwarded message is request-shaped (and therefore answerable with a
|
|
19
|
+
* JSON-RPC error) iff it carries a non-null `id`. Notifications have no `id`.
|
|
20
|
+
*/
|
|
21
|
+
function requestId(msg) {
|
|
22
|
+
if (msg !== null && typeof msg === 'object' && 'id' in msg) {
|
|
23
|
+
const id = msg.id;
|
|
24
|
+
if (typeof id === 'string' || typeof id === 'number')
|
|
25
|
+
return id;
|
|
26
|
+
}
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Wire two MCP transports into a transparent pipe: every message from one side
|
|
31
|
+
* is relayed verbatim to the other, and a close/error on either side tears down
|
|
32
|
+
* the other. No transformation — the PHP server owns the protocol semantics.
|
|
33
|
+
* The caller is responsible for start()ing both transports.
|
|
34
|
+
*
|
|
35
|
+
* `StreamableHTTPClientTransport.send()` re-throws on any upstream failure
|
|
36
|
+
* (401/5xx/connection refused / missing PHP endpoint). The forwarders MUST NOT
|
|
37
|
+
* fire-and-forget that rejection: an unhandled rejection crashes the Node
|
|
38
|
+
* process, so a wrong key / unreachable site would kill the proxy on the first
|
|
39
|
+
* `initialize` instead of surfacing an actionable error. Each direction
|
|
40
|
+
* therefore `.catch()`es its `send()`.
|
|
41
|
+
*/
|
|
42
|
+
export function bridgeTransports(local, remote) {
|
|
43
|
+
local.onmessage = (msg) => {
|
|
44
|
+
remote.send(msg).catch((err) => {
|
|
45
|
+
const message = errorMessage(err);
|
|
46
|
+
// stderr only — stdout is the JSON-RPC channel.
|
|
47
|
+
console.error('[apimapper-proxy] upstream send failed:', message);
|
|
48
|
+
const id = requestId(msg);
|
|
49
|
+
if (id !== null) {
|
|
50
|
+
// Hand the client an actionable error instead of a dead pipe.
|
|
51
|
+
const frame = {
|
|
52
|
+
jsonrpc: '2.0',
|
|
53
|
+
id,
|
|
54
|
+
error: {
|
|
55
|
+
code: -32000,
|
|
56
|
+
message: `Proxy upstream error: ${message}. Check APIMAPPER_SITE_URL / APIMAPPER_TOKEN.`,
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
local.send(frame).catch((sendErr) => {
|
|
60
|
+
console.error('[apimapper-proxy] failed to deliver error frame:', errorMessage(sendErr));
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
// A notification has no id to answer — tear the pipe down instead.
|
|
65
|
+
void remote.close();
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
};
|
|
69
|
+
remote.onmessage = (msg) => {
|
|
70
|
+
local.send(msg).catch((err) => {
|
|
71
|
+
console.error('[apimapper-proxy] downstream send failed:', errorMessage(err));
|
|
72
|
+
});
|
|
73
|
+
};
|
|
74
|
+
local.onclose = () => {
|
|
75
|
+
void remote.close();
|
|
76
|
+
};
|
|
77
|
+
remote.onclose = () => {
|
|
78
|
+
void local.close();
|
|
79
|
+
};
|
|
80
|
+
local.onerror = (err) => {
|
|
81
|
+
console.error('[apimapper-proxy] local transport error:', err.message);
|
|
82
|
+
};
|
|
83
|
+
remote.onerror = (err) => {
|
|
84
|
+
console.error('[apimapper-proxy] remote transport error:', err.message);
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
/** Injection seam for tests — production builds the real SDK transports. */
|
|
88
|
+
function defaultTransports(config) {
|
|
89
|
+
const remote = new StreamableHTTPClientTransport(config.endpointUrl, {
|
|
90
|
+
requestInit: { headers: { Authorization: `Bearer ${config.token}` } },
|
|
91
|
+
});
|
|
92
|
+
const local = new StdioServerTransport();
|
|
93
|
+
return { local, remote };
|
|
94
|
+
}
|
|
95
|
+
/** Build the real transports + bridge them; resolves when EITHER side closes. */
|
|
96
|
+
export async function runProxy(config, deps = {}) {
|
|
97
|
+
const { local, remote } = (deps.makeTransports ?? defaultTransports)(config);
|
|
98
|
+
// Resolve the moment EITHER transport closes — never hang if the remote
|
|
99
|
+
// (upstream) drops first. Capture the bridge's own onclose handlers so the
|
|
100
|
+
// cross-teardown wiring still runs.
|
|
101
|
+
const closed = new Promise((resolve) => {
|
|
102
|
+
bridgeTransports(local, remote);
|
|
103
|
+
const prevLocalClose = local.onclose;
|
|
104
|
+
const prevRemoteClose = remote.onclose;
|
|
105
|
+
local.onclose = () => {
|
|
106
|
+
prevLocalClose?.();
|
|
107
|
+
resolve();
|
|
108
|
+
};
|
|
109
|
+
remote.onclose = () => {
|
|
110
|
+
prevRemoteClose?.();
|
|
111
|
+
resolve();
|
|
112
|
+
};
|
|
113
|
+
});
|
|
114
|
+
// Start LOCAL (stdio) first so the listener is installed before any client
|
|
115
|
+
// message can race in; only then open the upstream connection.
|
|
116
|
+
await local.start();
|
|
117
|
+
await remote.start();
|
|
118
|
+
await closed;
|
|
119
|
+
}
|
|
120
|
+
/** Returns true if proxy mode handled the run; false → caller continues with fat. */
|
|
121
|
+
export async function maybeRunProxy(env, deps = {}) {
|
|
122
|
+
const resolved = resolveMode(env);
|
|
123
|
+
if (resolved.mode !== 'proxy')
|
|
124
|
+
return false;
|
|
125
|
+
const run = deps.runProxy ?? runProxy;
|
|
126
|
+
await run({ endpointUrl: resolved.endpointUrl, token: resolved.token });
|
|
127
|
+
return true;
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=bridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/proxy/bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type ModeResolution = {
|
|
2
|
+
mode: 'fat';
|
|
3
|
+
} | {
|
|
4
|
+
mode: 'proxy';
|
|
5
|
+
endpointUrl: URL;
|
|
6
|
+
token: string;
|
|
7
|
+
};
|
|
8
|
+
/** Resolve the MCP run mode from the environment. Default is the legacy fat path. */
|
|
9
|
+
export declare function resolveMode(env: NodeJS.ProcessEnv): ModeResolution;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** Resolve the MCP run mode from the environment. Default is the legacy fat path. */
|
|
2
|
+
export function resolveMode(env) {
|
|
3
|
+
if (env.APIMAPPER_MODE !== 'proxy') {
|
|
4
|
+
return { mode: 'fat' };
|
|
5
|
+
}
|
|
6
|
+
const token = env.APIMAPPER_TOKEN?.trim();
|
|
7
|
+
if (!token) {
|
|
8
|
+
throw new Error('Proxy mode requires APIMAPPER_TOKEN (the amk_* MCP key).');
|
|
9
|
+
}
|
|
10
|
+
const override = env.APIMAPPER_MCP_URL?.trim();
|
|
11
|
+
const site = env.APIMAPPER_SITE_URL?.trim();
|
|
12
|
+
if (!override && !site) {
|
|
13
|
+
throw new Error('Proxy mode requires APIMAPPER_SITE_URL (or APIMAPPER_MCP_URL override).');
|
|
14
|
+
}
|
|
15
|
+
const endpointUrl = override
|
|
16
|
+
? new URL(override)
|
|
17
|
+
: new URL(`${site.replace(/\/+$/, '')}/wp-json/apimapper/mcp`);
|
|
18
|
+
return { mode: 'proxy', endpointUrl, token };
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=mode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mode.js","sourceRoot":"","sources":["../../src/proxy/mode.ts"],"names":[],"mappings":"AAIA,qFAAqF;AACrF,MAAM,UAAU,WAAW,CAAC,GAAsB;IAChD,IAAI,GAAG,CAAC,cAAc,KAAK,OAAO,EAAE,CAAC;QACnC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC;IAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC;IAC/C,MAAM,IAAI,GAAG,GAAG,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC;IAC5C,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;IAC7F,CAAC;IAED,MAAM,WAAW,GAAG,QAAQ;QAC1B,CAAC,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC;QACnB,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,IAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,wBAAwB,CAAC,CAAC;IAElE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AAC/C,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Recovery recipe shown when the authenticated probe is rejected (401/403)
|
|
3
|
+
* — the pasted MCP key is wrong, revoked, or expired.
|
|
4
|
+
*
|
|
5
|
+
* Kept verbatim-equal to `MCP_KEY_AUTH_HINT` in
|
|
6
|
+
* `modules/apimapper/client.ts` so the customer sees the SAME recovery steps
|
|
7
|
+
* during setup and at tool-call time. We intentionally do NOT import that
|
|
8
|
+
* constant: `client.ts` has heavyweight module-level side effects (an undici
|
|
9
|
+
* global dispatcher and a `NODE_ENV === "production"` fail-fast `process.exit`
|
|
10
|
+
* that fires when the site URL / token env vars are still unset) — and the
|
|
11
|
+
* setup wizard runs BEFORE those env vars exist. Importing it here would risk
|
|
12
|
+
* crashing `npx @wootsup/mcp setup` on a production-tagged shell. A sync test
|
|
13
|
+
* (probe-auth.test.ts) asserts the two strings never drift.
|
|
14
|
+
*/
|
|
15
|
+
export declare const SETUP_AUTH_RECOVERY_HINT: string;
|
|
16
|
+
export type ProbePlatform = "wordpress" | "joomla" | "unknown";
|
|
17
|
+
export interface ProbeAuthOptions {
|
|
18
|
+
/** Customer's site URL (trailing slashes are trimmed). */
|
|
19
|
+
siteUrl: string;
|
|
20
|
+
/** The MCP key the customer just pasted (sent as a Bearer token). */
|
|
21
|
+
token: string;
|
|
22
|
+
/**
|
|
23
|
+
* The platform detected by probeIdentity. When `"unknown"` both the WP
|
|
24
|
+
* and Joomla arms are probed in parallel.
|
|
25
|
+
*/
|
|
26
|
+
platform: ProbePlatform;
|
|
27
|
+
}
|
|
28
|
+
export interface ProbeAuthResult {
|
|
29
|
+
/** True iff a bearer-required endpoint answered 2xx with the pasted key. */
|
|
30
|
+
ok: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* True iff the (only / every responding) probe returned HTTP 401/403 —
|
|
33
|
+
* i.e. the key is wrong, revoked, or expired. Distinct from a generic
|
|
34
|
+
* not-ok (5xx, network) so the wizard can surface the MCP-key recovery
|
|
35
|
+
* hint rather than a connectivity message.
|
|
36
|
+
*/
|
|
37
|
+
authFailed?: boolean;
|
|
38
|
+
/** The observed HTTP status (single-arm probes only). */
|
|
39
|
+
status?: number;
|
|
40
|
+
/** Human-facing failure detail for the generic (non-auth) failure path. */
|
|
41
|
+
error?: string;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Perform ONE authenticated probe with the pasted key. See module header for
|
|
45
|
+
* the full contract.
|
|
46
|
+
*
|
|
47
|
+
* @returns {@link ProbeAuthResult}: `{ ok: true }` on a 2xx; `{ ok: false,
|
|
48
|
+
* authFailed: true, status }` on 401/403; `{ ok: false, status?, error? }`
|
|
49
|
+
* on any other failure.
|
|
50
|
+
*/
|
|
51
|
+
export declare function probeAuth(opts: ProbeAuthOptions): Promise<ProbeAuthResult>;
|