@wootsup/mcp 0.1.0 → 0.3.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 (131) hide show
  1. package/CHANGELOG.md +148 -83
  2. package/README.md +31 -27
  3. package/SECURITY.md +15 -6
  4. package/dist/auth/keychain.d.ts +27 -1
  5. package/dist/auth/keychain.js +48 -2
  6. package/dist/auth/keychain.js.map +1 -1
  7. package/dist/cli-hint.d.ts +22 -0
  8. package/dist/cli-hint.js +55 -0
  9. package/dist/cli-hint.js.map +1 -0
  10. package/dist/index.js +97 -22
  11. package/dist/index.js.map +1 -1
  12. package/dist/install-skill.js +1 -1
  13. package/dist/modules/apimapper/cache.js +25 -17
  14. package/dist/modules/apimapper/cache.js.map +1 -1
  15. package/dist/modules/apimapper/client.d.ts +62 -1
  16. package/dist/modules/apimapper/client.js +555 -291
  17. package/dist/modules/apimapper/client.js.map +1 -1
  18. package/dist/modules/apimapper/connections.js +230 -75
  19. package/dist/modules/apimapper/connections.js.map +1 -1
  20. package/dist/modules/apimapper/credential-sanitizer.d.ts +5 -0
  21. package/dist/modules/apimapper/credential-sanitizer.js +60 -1
  22. package/dist/modules/apimapper/credential-sanitizer.js.map +1 -1
  23. package/dist/modules/apimapper/credentials.js +19 -47
  24. package/dist/modules/apimapper/credentials.js.map +1 -1
  25. package/dist/modules/apimapper/diagnose.js +21 -2
  26. package/dist/modules/apimapper/diagnose.js.map +1 -1
  27. package/dist/modules/apimapper/flows.js +60 -77
  28. package/dist/modules/apimapper/flows.js.map +1 -1
  29. package/dist/modules/apimapper/gateway/advanced-tool.js +56 -5
  30. package/dist/modules/apimapper/gateway/advanced-tool.js.map +1 -1
  31. package/dist/modules/apimapper/gateway/essentials.d.ts +1 -1
  32. package/dist/modules/apimapper/gateway/essentials.js +8 -1
  33. package/dist/modules/apimapper/gateway/essentials.js.map +1 -1
  34. package/dist/modules/apimapper/get-skill.d.ts +1 -1
  35. package/dist/modules/apimapper/get-skill.js +44 -6
  36. package/dist/modules/apimapper/get-skill.js.map +1 -1
  37. package/dist/modules/apimapper/graph.js +40 -36
  38. package/dist/modules/apimapper/graph.js.map +1 -1
  39. package/dist/modules/apimapper/index.js +2 -0
  40. package/dist/modules/apimapper/index.js.map +1 -1
  41. package/dist/modules/apimapper/library.js +425 -83
  42. package/dist/modules/apimapper/library.js.map +1 -1
  43. package/dist/modules/apimapper/license.js +12 -36
  44. package/dist/modules/apimapper/license.js.map +1 -1
  45. package/dist/modules/apimapper/local-sources.js +20 -34
  46. package/dist/modules/apimapper/local-sources.js.map +1 -1
  47. package/dist/modules/apimapper/misc.js +13 -27
  48. package/dist/modules/apimapper/misc.js.map +1 -1
  49. package/dist/modules/apimapper/onboarding.d.ts +30 -1
  50. package/dist/modules/apimapper/onboarding.js +114 -19
  51. package/dist/modules/apimapper/onboarding.js.map +1 -1
  52. package/dist/modules/apimapper/schema.js +9 -18
  53. package/dist/modules/apimapper/schema.js.map +1 -1
  54. package/dist/modules/apimapper/settings.js +49 -52
  55. package/dist/modules/apimapper/settings.js.map +1 -1
  56. package/dist/modules/apimapper/sites-tools.d.ts +29 -0
  57. package/dist/modules/apimapper/sites-tools.js +165 -0
  58. package/dist/modules/apimapper/sites-tools.js.map +1 -0
  59. package/dist/modules/apimapper/tool-result.d.ts +46 -0
  60. package/dist/modules/apimapper/tool-result.js +63 -0
  61. package/dist/modules/apimapper/tool-result.js.map +1 -0
  62. package/dist/modules/apimapper/toolslist-size.d.ts +11 -10
  63. package/dist/modules/apimapper/toolslist-size.js +16 -14
  64. package/dist/modules/apimapper/toolslist-size.js.map +1 -1
  65. package/dist/modules/apimapper/types.d.ts +21 -0
  66. package/dist/modules/apimapper/types.js.map +1 -1
  67. package/dist/modules/apimapper/whitelist-drift.d.ts +85 -0
  68. package/dist/modules/apimapper/whitelist-drift.js +360 -0
  69. package/dist/modules/apimapper/whitelist-drift.js.map +1 -0
  70. package/dist/modules/apimapper/workflows.js +82 -27
  71. package/dist/modules/apimapper/workflows.js.map +1 -1
  72. package/dist/modules/apimapper/yootheme-binding.d.ts +35 -0
  73. package/dist/modules/apimapper/yootheme-binding.js +186 -0
  74. package/dist/modules/apimapper/yootheme-binding.js.map +1 -0
  75. package/dist/platform/index.d.ts +56 -0
  76. package/dist/platform/index.js +151 -2
  77. package/dist/platform/index.js.map +1 -1
  78. package/dist/setup/detect-clients.d.ts +40 -1
  79. package/dist/setup/detect-clients.js +148 -1
  80. package/dist/setup/detect-clients.js.map +1 -1
  81. package/dist/setup/probe-handshake.js +40 -7
  82. package/dist/setup/probe-handshake.js.map +1 -1
  83. package/dist/setup/remove-config.d.ts +8 -0
  84. package/dist/setup/remove-config.js +145 -0
  85. package/dist/setup/remove-config.js.map +1 -0
  86. package/dist/setup/uninstall.d.ts +34 -0
  87. package/dist/setup/uninstall.js +147 -0
  88. package/dist/setup/uninstall.js.map +1 -0
  89. package/dist/setup-cli.d.ts +7 -0
  90. package/dist/setup-cli.js +29 -1
  91. package/dist/setup-cli.js.map +1 -1
  92. package/dist/sites/loader.d.ts +41 -0
  93. package/dist/sites/loader.js +119 -0
  94. package/dist/sites/loader.js.map +1 -0
  95. package/dist/sites/schema.d.ts +69 -0
  96. package/dist/sites/schema.js +71 -0
  97. package/dist/sites/schema.js.map +1 -0
  98. package/dist/sites/secret-resolver.d.ts +47 -0
  99. package/dist/sites/secret-resolver.js +150 -0
  100. package/dist/sites/secret-resolver.js.map +1 -0
  101. package/dist/skill-instructions.d.ts +1 -1
  102. package/dist/skill-instructions.js +5 -0
  103. package/dist/skill-instructions.js.map +1 -1
  104. package/dist/transports/stdio.js +4 -4
  105. package/dist/transports/stdio.js.map +1 -1
  106. package/dist/uninstall-skill.d.ts +27 -0
  107. package/dist/uninstall-skill.js +89 -0
  108. package/dist/uninstall-skill.js.map +1 -0
  109. package/docs/architecture.md +21 -21
  110. package/docs/customgraph-internal-migration.md +4 -4
  111. package/docs/security.md +2 -21
  112. package/docs/tools.md +40 -12
  113. package/manifest.json +77 -79
  114. package/package.json +68 -65
  115. package/skills/apimapper/SKILL.md +53 -7
  116. package/skills/apimapper/reference/conditional-style-multi-items.md +114 -0
  117. package/skills/apimapper/reference/jmespath-pitfalls.md +108 -0
  118. package/skills/apimapper/reference/joomla.md +1 -1
  119. package/skills/apimapper/reference/library-template-discovery.md +65 -0
  120. package/skills/apimapper/reference/merge-two-sources-on-key.md +99 -0
  121. package/skills/apimapper/reference/troubleshooting.md +20 -0
  122. package/skills/apimapper/reference/yootheme.md +1 -1
  123. package/dist/auth/oauth-provider.d.ts +0 -68
  124. package/dist/auth/oauth-provider.js +0 -232
  125. package/dist/auth/oauth-provider.js.map +0 -1
  126. package/dist/server-http.d.ts +0 -22
  127. package/dist/server-http.js +0 -159
  128. package/dist/server-http.js.map +0 -1
  129. package/dist/transports/http.d.ts +0 -29
  130. package/dist/transports/http.js +0 -267
  131. package/dist/transports/http.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"workflows.js","sourceRoot":"","sources":["../../../src/modules/apimapper/workflows.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflows.js","sourceRoot":"","sources":["../../../src/modules/apimapper/workflows.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import type { ToolRegistrar } from "./gateway/capturing-server.js";
2
+ import type { Flow } from "./types.js";
3
+ /**
4
+ * Pure helper — compute the canonical YOOtheme GraphQL query name for a flow
5
+ * id. Mirrors `TypeNameConvention::flowQueryName` in PHP
6
+ * (src/modules/source/src/Type/TypeNameConvention.php).
7
+ *
8
+ * Pattern: apiMapperFlow<Pascal(strip-flow-prefix(id))>
9
+ *
10
+ * The PHP flowPascalCase replaces any non-alphanumeric char with a space and
11
+ * then ucwords + strip-space (aggressive boundary detection). This mirror
12
+ * preserves the same behaviour byte-for-byte so the names always match the
13
+ * server-side schema registrar.
14
+ */
15
+ export declare function flowQueryName(flowId: string): string;
16
+ /**
17
+ * Extract the output node's schema fields from a flow definition. The output
18
+ * node carries `data.schema.fields = [{name, type}]` (set by FlowAutoGenerator
19
+ * + customer edits in the Flow Editor). The schema may arrive as either a
20
+ * native object or a JSON-encoded string (legacy persistence shape).
21
+ */
22
+ export declare function extractOutputSchemaFields(flow: Flow): Array<{
23
+ name: string;
24
+ type: string;
25
+ }>;
26
+ /**
27
+ * Heuristic — suggest reasonable YOOtheme element-prop → source-field mappings
28
+ * given a list of available fields. The AI agent can use these as a starting
29
+ * point; the customer can rename them in the Builder.
30
+ */
31
+ export declare function suggestFieldMappings(fields: Array<{
32
+ name: string;
33
+ type: string;
34
+ }>): Record<string, string>;
35
+ export declare function registerYoothemeBindingTools(server: ToolRegistrar): void;
@@ -0,0 +1,186 @@
1
+ // src/modules/apimapper/yootheme-binding.ts — Friction-2 (Task #46, 2026-05-29)
2
+ //
3
+ // `apimapper_yootheme_binding_for_flow` — one-call bridge from a compiled flow
4
+ // to the YOOtheme source it produces, with the exact GraphQL field names a
5
+ // downstream yt-builder-mcp call can bind against.
6
+ //
7
+ // Why this exists: pre-fix, an AI agent that just published a flow had to
8
+ // chain (1) `flow_get` to read the output node schema, (2) parse a stringly-
9
+ // typed `data.schema.fields[]` JSON, (3) `sources_list` (yt-builder) to grep
10
+ // for `apiMapperFlow*List` rows. 3+ calls + JSON parsing for what is purely
11
+ // a deterministic name computation governed by TypeNameConvention.php.
12
+ //
13
+ // This tool short-circuits all of that. It reads the flow once, extracts
14
+ // the output node's schema fields, and returns the exact source names plus
15
+ // suggested field mappings.
16
+ import { z } from "zod";
17
+ import { formatResult, errorResult, readOnly } from "@getimo/mcp-toolkit";
18
+ import { request, hintFor } from "./client.js";
19
+ import { restErrorResult } from "./tool-result.js";
20
+ import { unwrapEntity } from "./envelope.js";
21
+ /**
22
+ * Pure helper — compute the canonical YOOtheme GraphQL query name for a flow
23
+ * id. Mirrors `TypeNameConvention::flowQueryName` in PHP
24
+ * (src/modules/source/src/Type/TypeNameConvention.php).
25
+ *
26
+ * Pattern: apiMapperFlow<Pascal(strip-flow-prefix(id))>
27
+ *
28
+ * The PHP flowPascalCase replaces any non-alphanumeric char with a space and
29
+ * then ucwords + strip-space (aggressive boundary detection). This mirror
30
+ * preserves the same behaviour byte-for-byte so the names always match the
31
+ * server-side schema registrar.
32
+ */
33
+ export function flowQueryName(flowId) {
34
+ const stripped = flowId.replace(/^flow_/i, "");
35
+ // aggressive pascal-case: any non-alphanumeric is a word boundary.
36
+ const normalized = stripped.replace(/[^a-zA-Z0-9]/g, " ");
37
+ const cased = normalized
38
+ .split(/\s+/)
39
+ .filter((s) => s.length > 0)
40
+ .map((s) => s.charAt(0).toUpperCase() + s.slice(1))
41
+ .join("");
42
+ return `apiMapperFlow${cased}`;
43
+ }
44
+ /**
45
+ * Extract the output node's schema fields from a flow definition. The output
46
+ * node carries `data.schema.fields = [{name, type}]` (set by FlowAutoGenerator
47
+ * + customer edits in the Flow Editor). The schema may arrive as either a
48
+ * native object or a JSON-encoded string (legacy persistence shape).
49
+ */
50
+ export function extractOutputSchemaFields(flow) {
51
+ const nodes = Array.isArray(flow.nodes) ? flow.nodes : [];
52
+ const outputNode = nodes.find((n) => n.type === "output");
53
+ if (!outputNode || !outputNode.data)
54
+ return [];
55
+ const data = outputNode.data;
56
+ let schema = data.schema;
57
+ // Legacy JSON-string persistence — parse defensively.
58
+ if (typeof schema === "string") {
59
+ try {
60
+ schema = JSON.parse(schema);
61
+ }
62
+ catch {
63
+ return [];
64
+ }
65
+ }
66
+ if (!schema || typeof schema !== "object")
67
+ return [];
68
+ const schemaObj = schema;
69
+ const fields = Array.isArray(schemaObj.fields) ? schemaObj.fields : [];
70
+ return fields
71
+ .filter((f) => f !== null && typeof f === "object")
72
+ .map((f) => ({
73
+ name: typeof f.name === "string" ? f.name : "",
74
+ type: typeof f.type === "string" ? f.type : "String",
75
+ }))
76
+ .filter((f) => f.name !== "");
77
+ }
78
+ /**
79
+ * Heuristic — suggest reasonable YOOtheme element-prop → source-field mappings
80
+ * given a list of available fields. The AI agent can use these as a starting
81
+ * point; the customer can rename them in the Builder.
82
+ */
83
+ export function suggestFieldMappings(fields) {
84
+ const out = {};
85
+ const lower = fields.map((f) => ({ name: f.name, lc: f.name.toLowerCase() }));
86
+ const find = (...candidates) => {
87
+ for (const c of candidates) {
88
+ const exact = lower.find((f) => f.lc === c);
89
+ if (exact)
90
+ return exact.name;
91
+ }
92
+ for (const c of candidates) {
93
+ const partial = lower.find((f) => f.lc.includes(c));
94
+ if (partial)
95
+ return partial.name;
96
+ }
97
+ return undefined;
98
+ };
99
+ const title = find("title", "name", "label", "headline", "weekday");
100
+ if (title)
101
+ out.title = title;
102
+ const content = find("content", "body", "description", "summary", "text", "open_time");
103
+ if (content)
104
+ out.content = content;
105
+ const meta = find("date", "published", "created_at", "updated_at", "close_time", "note");
106
+ if (meta)
107
+ out.meta = meta;
108
+ const image = find("image", "thumbnail", "photo", "picture", "cover");
109
+ if (image)
110
+ out.image = image;
111
+ const link = find("url", "link", "permalink", "href");
112
+ if (link)
113
+ out.link = link;
114
+ return out;
115
+ }
116
+ export function registerYoothemeBindingTools(server) {
117
+ server.registerTool("apimapper_yootheme_binding_for_flow", {
118
+ title: "Get YOOtheme Binding for Flow",
119
+ description: "Bridge tool: given a published flow id, return the EXACT YOOtheme " +
120
+ "GraphQL source names (singular + List) and the schema fields available " +
121
+ "for binding. Replaces a 3-call chain (flow_get → parse schema JSON → " +
122
+ "yt-builder sources_list grep) with one deterministic call." +
123
+ "\n\nUse after `apimapper_flow_full_recompile_publish` to discover what " +
124
+ "to bind in yt-builder-mcp `yootheme_builder_element_update_settings`." +
125
+ "\n\nThe `source_name_list` is the canonical Multi-Items target " +
126
+ "(grid/list/slider containers). The `source_name_singular` is the " +
127
+ "wrapper object (single-item bindings)." +
128
+ "\n\nExample:\n apimapper_yootheme_binding_for_flow({ flow_id: 'flow_VYvfwySM34fypAbDoc7rx' })",
129
+ inputSchema: {
130
+ flow_id: z
131
+ .string()
132
+ .min(1)
133
+ .describe('Flow ID (e.g., "flow_VYvfwySM34fypAbDoc7rx"). Use apimapper_flow_list to find.'),
134
+ },
135
+ annotations: readOnly({ title: "Get YOOtheme Binding for Flow", openWorld: true }),
136
+ }, async ({ flow_id }) => {
137
+ const r = await request(`/flows/${encodeURIComponent(flow_id)}`);
138
+ if (!r.success) {
139
+ return restErrorResult(r, { flow_id }, { message: "flow get failed" });
140
+ }
141
+ const flow = unwrapEntity(r.data, "flow");
142
+ if (!flow || Object.keys(flow).length === 0) {
143
+ return errorResult({
144
+ message: "flow not found",
145
+ code: r.status ? String(r.status) : "not_found",
146
+ suggestion: hintFor("not_found"),
147
+ details: { flow_id },
148
+ });
149
+ }
150
+ const fields = extractOutputSchemaFields(flow);
151
+ const singular = flowQueryName(flow_id);
152
+ const listName = `${singular}List`;
153
+ const isCompiled = Boolean(flow.is_compiled) ||
154
+ (Array.isArray(flow.node_types) && flow.node_types.includes("output"));
155
+ const exampleMappings = suggestFieldMappings(fields);
156
+ // Detect output mode (yootheme vs shortcode) from the output node data.
157
+ const outputNode = (flow.nodes ?? []).find((n) => n.type === "output");
158
+ const outputMode = outputNode?.data && typeof outputNode.data === "object"
159
+ ? outputNode.data.output_type
160
+ : undefined;
161
+ const isYoothemeOutput = outputMode !== "shortcode";
162
+ return formatResult({
163
+ flow_id,
164
+ flow_name: flow.name ?? null,
165
+ source_name_singular: singular,
166
+ source_name_list: listName,
167
+ fields,
168
+ field_count: fields.length,
169
+ example_field_mappings: exampleMappings,
170
+ ready_for_binding: isCompiled && isYoothemeOutput && fields.length > 0,
171
+ output_mode: isYoothemeOutput ? "yootheme" : "shortcode",
172
+ next_steps: [
173
+ // For YOOtheme Multi-Items containers (grid, list, slider, ...) the
174
+ // List variant is the target. Singular is for single-item bindings.
175
+ "Bind on the *_item child (grid_item, list_item) of a container element using yootheme_builder_element_update_settings.",
176
+ `Set props.source.query.name = "${listName}" on the container element to clone N times per source row.`,
177
+ `Inside props.source.props, map: { title: { name: "<source_field>" }, content: { name: "<source_field>" } }.`,
178
+ "Suggested mappings above are heuristic — customer can rename in the Builder.",
179
+ !isCompiled
180
+ ? "Flow is NOT yet compiled — call apimapper_flow_full_recompile_publish first."
181
+ : "Flow is compiled and ready for binding.",
182
+ ].filter(Boolean),
183
+ }, false, { maxChars: 4000 });
184
+ });
185
+ }
186
+ //# sourceMappingURL=yootheme-binding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yootheme-binding.js","sourceRoot":"","sources":["../../../src/modules/apimapper/yootheme-binding.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,61 @@
1
1
  export type PlatformKind = "wordpress" | "joomla" | "standalone";
2
2
  export type HttpMethod = "GET" | "POST" | "PUT" | "DELETE";
3
+ /**
4
+ * Thrown by `parseResponse()` when a platform envelope reports a semantic
5
+ * failure (e.g. Joomla `com_ajax` returns HTTP 200 with
6
+ * `{success:false, error_code, library_suggestion}`). Unlike a bare `Error`,
7
+ * it carries the *full parsed envelope* in `body` so the HTTP client can
8
+ * thread the structured payload through to `ExtApiResponse.errorBody` — the
9
+ * same field the WordPress non-2xx branch already populates.
10
+ *
11
+ * R2 HIGH (MCP-relay parity): without this, the Joomla `success:false` path
12
+ * discarded `error_code` + `library_suggestion`, so the library-first guard
13
+ * block surfaced its machine-readable contract on WordPress only. Carrying the
14
+ * envelope makes the structured block platform-symmetric. The change is
15
+ * strictly additive — callers that only read `error.message` (every existing
16
+ * call site) keep working unchanged; new code may narrow with `instanceof`
17
+ * to recover `body`.
18
+ */
19
+ export declare class PlatformResponseError extends Error {
20
+ /** The parsed failure envelope (e.g. `{success:false, error_code, ...}`). */
21
+ readonly body?: Record<string, unknown>;
22
+ constructor(message: string, body?: Record<string, unknown>);
23
+ }
24
+ /** Type-guard: narrow an unknown thrown value to `PlatformResponseError`. */
25
+ export declare function isPlatformResponseError(e: unknown): e is PlatformResponseError;
26
+ /**
27
+ * Thrown by `JoomlaPlatform.translateRestPath()` for a REST path that is a
28
+ * legitimate WordPress feature but has NO Joomla `com_ajax` arm — i.e. the
29
+ * tool is genuinely WordPress-only on this platform.
30
+ *
31
+ * History: a Wave-B audit (2026-06-03) flagged four advanced tools
32
+ * (`apimapper_library_categories`, `apimapper_library_activated`,
33
+ * `apimapper_library_connection_detail`, `apimapper_license_beta_channel`)
34
+ * that called REST paths with no Joomla dispatcher arm. Each path raised this
35
+ * dedicated error (a clean "not available on Joomla" message) instead of the
36
+ * opaque `Error("no joomla mapping … (unknown rest path)")` used for typos.
37
+ *
38
+ * As of the WP↔Joomla parity fix (2026-06-07) all FOUR of those paths now have
39
+ * real Joomla com_ajax handlers and are MAPPED by `translateRestPath`
40
+ * (`libraryCategories` / `libraryActivated` / `libraryConnectionDetail` /
41
+ * `toggleBetaChannel`), so this error is no longer raised by the current
42
+ * mapping table. It is RETAINED as defensive infra: the type + the
43
+ * `isJoomlaUnsupportedPathError` guard in `joomlaRequest()` (client.ts) still
44
+ * give any FUTURE WP-only path a clean structured `errorResult` (with
45
+ * `errorBody.unsupported = true`) rather than an opaque internal string, while
46
+ * genuine unknown/typo paths keep throwing a bare `Error` carrying
47
+ * "unknown rest path" — the two cases stay distinguishable for both the client
48
+ * and the drift-guard test.
49
+ */
50
+ export declare class JoomlaUnsupportedPathError extends Error {
51
+ /** The REST path that has no Joomla arm (e.g. `/library/categories`). */
52
+ readonly path: string;
53
+ /** Always `"joomla"` — the platform on which the feature is unsupported. */
54
+ readonly platform: "joomla";
55
+ constructor(path: string, feature: string);
56
+ }
57
+ /** Type-guard: narrow an unknown thrown value to `JoomlaUnsupportedPathError`. */
58
+ export declare function isJoomlaUnsupportedPathError(e: unknown): e is JoomlaUnsupportedPathError;
3
59
  export interface PlatformConfig {
4
60
  baseUrl: string;
5
61
  token: string;
@@ -10,6 +10,80 @@
10
10
  //
11
11
  // All three share the same Bearer-token auth header. Tools never inspect
12
12
  // the platform-specific wire shape; they only see `parseResponse<T>()` output.
13
+ /**
14
+ * Thrown by `parseResponse()` when a platform envelope reports a semantic
15
+ * failure (e.g. Joomla `com_ajax` returns HTTP 200 with
16
+ * `{success:false, error_code, library_suggestion}`). Unlike a bare `Error`,
17
+ * it carries the *full parsed envelope* in `body` so the HTTP client can
18
+ * thread the structured payload through to `ExtApiResponse.errorBody` — the
19
+ * same field the WordPress non-2xx branch already populates.
20
+ *
21
+ * R2 HIGH (MCP-relay parity): without this, the Joomla `success:false` path
22
+ * discarded `error_code` + `library_suggestion`, so the library-first guard
23
+ * block surfaced its machine-readable contract on WordPress only. Carrying the
24
+ * envelope makes the structured block platform-symmetric. The change is
25
+ * strictly additive — callers that only read `error.message` (every existing
26
+ * call site) keep working unchanged; new code may narrow with `instanceof`
27
+ * to recover `body`.
28
+ */
29
+ export class PlatformResponseError extends Error {
30
+ /** The parsed failure envelope (e.g. `{success:false, error_code, ...}`). */
31
+ body;
32
+ constructor(message, body) {
33
+ super(message);
34
+ this.name = "PlatformResponseError";
35
+ this.body = body;
36
+ // Restore prototype chain for `instanceof` after transpilation to ES5/ES2015.
37
+ Object.setPrototypeOf(this, PlatformResponseError.prototype);
38
+ }
39
+ }
40
+ /** Type-guard: narrow an unknown thrown value to `PlatformResponseError`. */
41
+ export function isPlatformResponseError(e) {
42
+ return e instanceof PlatformResponseError;
43
+ }
44
+ /**
45
+ * Thrown by `JoomlaPlatform.translateRestPath()` for a REST path that is a
46
+ * legitimate WordPress feature but has NO Joomla `com_ajax` arm — i.e. the
47
+ * tool is genuinely WordPress-only on this platform.
48
+ *
49
+ * History: a Wave-B audit (2026-06-03) flagged four advanced tools
50
+ * (`apimapper_library_categories`, `apimapper_library_activated`,
51
+ * `apimapper_library_connection_detail`, `apimapper_license_beta_channel`)
52
+ * that called REST paths with no Joomla dispatcher arm. Each path raised this
53
+ * dedicated error (a clean "not available on Joomla" message) instead of the
54
+ * opaque `Error("no joomla mapping … (unknown rest path)")` used for typos.
55
+ *
56
+ * As of the WP↔Joomla parity fix (2026-06-07) all FOUR of those paths now have
57
+ * real Joomla com_ajax handlers and are MAPPED by `translateRestPath`
58
+ * (`libraryCategories` / `libraryActivated` / `libraryConnectionDetail` /
59
+ * `toggleBetaChannel`), so this error is no longer raised by the current
60
+ * mapping table. It is RETAINED as defensive infra: the type + the
61
+ * `isJoomlaUnsupportedPathError` guard in `joomlaRequest()` (client.ts) still
62
+ * give any FUTURE WP-only path a clean structured `errorResult` (with
63
+ * `errorBody.unsupported = true`) rather than an opaque internal string, while
64
+ * genuine unknown/typo paths keep throwing a bare `Error` carrying
65
+ * "unknown rest path" — the two cases stay distinguishable for both the client
66
+ * and the drift-guard test.
67
+ */
68
+ export class JoomlaUnsupportedPathError extends Error {
69
+ /** The REST path that has no Joomla arm (e.g. `/library/categories`). */
70
+ path;
71
+ /** Always `"joomla"` — the platform on which the feature is unsupported. */
72
+ platform;
73
+ constructor(path, feature) {
74
+ super(`${feature} is not available on Joomla (WordPress-only feature). ` +
75
+ `The REST path "${path}" has no Joomla com_ajax handler.`);
76
+ this.name = "JoomlaUnsupportedPathError";
77
+ this.path = path;
78
+ this.platform = "joomla";
79
+ // Restore prototype chain for `instanceof` after transpilation.
80
+ Object.setPrototypeOf(this, JoomlaUnsupportedPathError.prototype);
81
+ }
82
+ }
83
+ /** Type-guard: narrow an unknown thrown value to `JoomlaUnsupportedPathError`. */
84
+ export function isJoomlaUnsupportedPathError(e) {
85
+ return e instanceof JoomlaUnsupportedPathError;
86
+ }
13
87
  // ── helpers ────────────────────────────────────────────────────────────
14
88
  function stripTrailingSlash(url) {
15
89
  return url.replace(/\/+$/, "");
@@ -82,7 +156,12 @@ export class JoomlaPlatform {
82
156
  const msg = typeof env.error === "string" && env.error.length > 0
83
157
  ? env.error
84
158
  : "Joomla operation reported success:false";
85
- throw new Error(msg);
159
+ // R2 HIGH: carry the full parsed envelope so the client can populate
160
+ // `errorBody` (parity with the WP non-2xx branch). Some dispatchers put
161
+ // the structured failure (error_code, library_suggestion, ...) directly
162
+ // on the outer envelope rather than inside `data[]`; passing `env`
163
+ // preserves those fields. Additive: existing call sites read `.message`.
164
+ throw new PlatformResponseError(msg, env);
86
165
  }
87
166
  // com_ajax invokes plugin event handlers and collects each handler's
88
167
  // return value into an array. Since only `apimapper` responds, data
@@ -104,7 +183,13 @@ export class JoomlaPlatform {
104
183
  const innerMsg = typeof inner.error === "string" && inner.error.length > 0
105
184
  ? inner.error
106
185
  : "Joomla inner envelope reported success:false";
107
- throw new Error(innerMsg);
186
+ // R2 HIGH: this is the canonical Joomla guard-block path — com_ajax
187
+ // wraps the handler return value into `data[]`, so the structured
188
+ // failure (`{success:false, error_code:'library_template_available',
189
+ // library_suggestion}`) lands at `data[0]` and is unwrapped into
190
+ // `payload` above. Carry it so the client surfaces `errorBody` and
191
+ // connections.ts `isLibraryBlock` fires on Joomla too.
192
+ throw new PlatformResponseError(innerMsg, inner);
108
193
  }
109
194
  }
110
195
  return payload;
@@ -169,6 +254,16 @@ export class JoomlaPlatform {
169
254
  if (resource === "connections" && sub === "health-check" && method === "POST") {
170
255
  return { action: "healthCheckConnections", params: {} };
171
256
  }
257
+ // YOOtheme schema-cache flush — the autofix stage of
258
+ // flow_full_recompile_publish POSTs /cache/flush-yt. The Joomla handler
259
+ // EXISTS (CacheFlushAjaxHandler, dispatcher task `cacheFlushYt`) but this
260
+ // arm was missing, so on Joomla the flush threw "no joomla mapping for
261
+ // POST /cache/flush-yt" and the YT schema cache was never busted → stale
262
+ // source schema → empty binding fields downstream. (Bug found in the
263
+ // 2026-06-04 Claude Desktop Joomla session.)
264
+ if (resource === "cache" && sub === "flush-yt" && method === "POST") {
265
+ return { action: "cacheFlushYt", params: {} };
266
+ }
172
267
  if (resource === "flows" && sub === "import" && method === "POST") {
173
268
  return { action: "importFlow", params: {} };
174
269
  }
@@ -196,6 +291,20 @@ export class JoomlaPlatform {
196
291
  if (resource === "library" && sub === "catalog" && method === "GET") {
197
292
  return { action: "libraryCatalog", params: withQuery({}) };
198
293
  }
294
+ // ── Library categories + activated (WP↔Joomla parity fix 2026-06-07) ──
295
+ // These two GET routes are wired on WordPress (LibraryController::categories
296
+ // / ::activated). The matching Joomla com_ajax handlers (dispatcher tasks
297
+ // `libraryCategories` / `libraryActivated`) now EXIST, so we map them
298
+ // directly (was: clean JoomlaUnsupportedPathError reject). Query params
299
+ // are propagated via withQuery so e.g. category/limit filters reach the
300
+ // handler's `$app->input`. (`apimapper_library_categories` /
301
+ // `apimapper_library_activated`.)
302
+ if (resource === "library" && sub === "categories" && method === "GET") {
303
+ return { action: "libraryCategories", params: withQuery({}) };
304
+ }
305
+ if (resource === "library" && sub === "activated" && method === "GET") {
306
+ return { action: "libraryActivated", params: withQuery({}) };
307
+ }
199
308
  if (resource === "settings" && sub === "reset-demo" && method === "POST") {
200
309
  return { action: "resetDemoData", params: {} };
201
310
  }
@@ -214,6 +323,15 @@ export class JoomlaPlatform {
214
323
  if (resource === "license" && sub === "refresh" && method === "POST") {
215
324
  return { action: "refreshLicense", params: {} };
216
325
  }
326
+ // ── License beta-channel toggle (WP↔Joomla parity fix 2026-06-07) ──
327
+ // `LicenseAjaxHandler::toggleBetaChannel()` is now wired into
328
+ // AjaxDispatcher::handle()'s match() under the `toggleBetaChannel` task,
329
+ // so we map it (was: clean JoomlaUnsupportedPathError reject). The request
330
+ // body `{enabled}` flows through the HTTP client untouched — it is NOT a
331
+ // path/query param — so `params` is empty. (`apimapper_license_beta_channel`.)
332
+ if (resource === "license" && sub === "beta-channel" && method === "POST") {
333
+ return { action: "toggleBetaChannel", params: {} };
334
+ }
217
335
  if (resource === "releases" && sub === "download" && method === "POST") {
218
336
  return { action: "downloadRelease", params: {} };
219
337
  }
@@ -279,6 +397,37 @@ export class JoomlaPlatform {
279
397
  if (resource === "library" && sub === "activate" && method === "POST") {
280
398
  return { action: "activateLibraryConnection", params: { id } };
281
399
  }
400
+ // ── Library deactivate (WP↔Joomla parity fix 2026-06-07) ───────────
401
+ // DELETE /library/{slug}/activate tears down an activated library
402
+ // connection. Disambiguated from the POST activate arm above by method.
403
+ // Previously a DELETE on this path fell through to the opaque `fail()`.
404
+ //
405
+ // ⚠ Like libraryConnectionDetail, the Joomla dispatcher's
406
+ // `deactivateLibraryConnection` arm reads the SLUG from `library_id`
407
+ // (AjaxDispatcher.php), NOT `id` — because a slug like "airtable" is not a
408
+ // valid IdGenerator id and a global `id` query param would trip the
409
+ // dispatcher's early `IdGenerator::isValid($id)` gate ("Invalid ID
410
+ // format") before the arm is reached. So the param key MUST be
411
+ // `library_id` and the value is the 2nd path segment (`id` here = slug).
412
+ if (resource === "library" && sub === "activate" && method === "DELETE") {
413
+ return { action: "deactivateLibraryConnection", params: { library_id: id } };
414
+ }
415
+ // ── Per-id library detail (WP↔Joomla parity fix 2026-06-07) ────────
416
+ // WordPress wires GET /library/connections/{slug}
417
+ // (LibraryController::connection). The Joomla com_ajax handler
418
+ // (dispatcher task `libraryConnectionDetail`) now EXISTS, so we map it
419
+ // (was: clean JoomlaUnsupportedPathError reject). Hit by
420
+ // `apimapper_library_connection_detail`, the `apimapper_library_catalog`
421
+ // single-template filter, AND the `apimapper_library_activate` pre-fetch.
422
+ //
423
+ // ⚠ The 3rd segment (`sub`) is the template SLUG, and the backend reads
424
+ // it from input under the key `library_id` (NOT `id`) to bypass its
425
+ // IdGenerator gate. So the param key MUST be `library_id` and the value
426
+ // is `sub`. Disambiguated from POST /library/{id}/activate by `id ===
427
+ // "connections"` + GET (the activate arm has `sub === "activate"` + POST).
428
+ if (resource === "library" && id === "connections" && method === "GET") {
429
+ return { action: "libraryConnectionDetail", params: { library_id: sub } };
430
+ }
282
431
  if (resource === "cache" && id === "admin" && sub === "invalidate" && method === "POST") {
283
432
  return { action: "cacheInvalidate", params: {} };
284
433
  }