@respira/wordpress-mcp-server 7.5.0 → 7.5.2

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 (34) hide show
  1. package/README.md +18 -2
  2. package/dist/__tests__/acf-tool-routing.test.d.ts +2 -0
  3. package/dist/__tests__/acf-tool-routing.test.d.ts.map +1 -0
  4. package/dist/__tests__/acf-tool-routing.test.js +37 -0
  5. package/dist/__tests__/acf-tool-routing.test.js.map +1 -0
  6. package/dist/__tests__/site-token-401-error-classification.test.d.ts +21 -0
  7. package/dist/__tests__/site-token-401-error-classification.test.d.ts.map +1 -0
  8. package/dist/__tests__/site-token-401-error-classification.test.js +74 -0
  9. package/dist/__tests__/site-token-401-error-classification.test.js.map +1 -0
  10. package/dist/__tests__/usage-emitter-privacy.test.d.ts +2 -0
  11. package/dist/__tests__/usage-emitter-privacy.test.d.ts.map +1 -0
  12. package/dist/__tests__/usage-emitter-privacy.test.js +16 -0
  13. package/dist/__tests__/usage-emitter-privacy.test.js.map +1 -0
  14. package/dist/__tests__/write-retry-safety.test.d.ts +2 -0
  15. package/dist/__tests__/write-retry-safety.test.d.ts.map +1 -0
  16. package/dist/__tests__/write-retry-safety.test.js +36 -0
  17. package/dist/__tests__/write-retry-safety.test.js.map +1 -0
  18. package/dist/acf-tools.d.ts +10 -0
  19. package/dist/acf-tools.d.ts.map +1 -1
  20. package/dist/acf-tools.js +15 -0
  21. package/dist/acf-tools.js.map +1 -1
  22. package/dist/server.d.ts +2 -0
  23. package/dist/server.d.ts.map +1 -1
  24. package/dist/server.js +47 -6
  25. package/dist/server.js.map +1 -1
  26. package/dist/usage-emitter.d.ts +12 -6
  27. package/dist/usage-emitter.d.ts.map +1 -1
  28. package/dist/usage-emitter.js +89 -31
  29. package/dist/usage-emitter.js.map +1 -1
  30. package/dist/wordpress-client.d.ts +15 -0
  31. package/dist/wordpress-client.d.ts.map +1 -1
  32. package/dist/wordpress-client.js +88 -8
  33. package/dist/wordpress-client.js.map +1 -1
  34. package/package.json +1 -1
package/README.md CHANGED
@@ -35,6 +35,22 @@ Other WordPress MCP servers wrap the REST API. They can create posts and pages,
35
35
 
36
36
  Respira includes a WordPress plugin that gives AI **native access** to 16 page builders, plus element-level precision, full page creation from structure, HTML-to-builder conversion, storefront design intelligence, stock image search, and bulk operations across hundreds of pages.
37
37
 
38
+ ### New in v7.5.2: reconnect-safe writes and drop diagnostics
39
+
40
+ - **Writes carry a stable idempotency key.** The connector automatically retries transient reads. It retries a write only when WordPress explicitly confirms replay support; an ambiguous timeout/reset is reported as `respira_write_outcome_unknown` so the agent verifies the target before trying again.
41
+ - **Telemetry queues and retries independently of tool execution.** A dashboard or network interruption cannot block a WordPress call, and failed metadata batches are retained with bounded exponential backoff.
42
+ - **Local API keys stay local.** With Respira for WordPress 7.5.46+, a local `respira_*` key is exchanged inside WordPress for a revocable, site-scoped telemetry bearer. The central service never receives that local key.
43
+ - **The quality dashboard can separate exact retries from editing sweeps.** It records stable session/call identity, transport, incomplete calls, connector/plugin versions, total vs tool time, and privacy-safe stage durations. Target comparison uses a secret HMAC; arguments, results, prompts, and WordPress content are never sent.
44
+ - **Native URL-connected clients gain timeout-safe writes.** Plugin 7.5.46 adds `_respira_async: true`, `respira_get_job_status`, stable `Mcp-Session-Id` responses, replay-safe `_respira_call_id`, and a native `respira_diagnose_connection` tool. The native endpoint is stateless HTTP—independent POST requests, not a persistent “write channel.”
45
+
46
+ ### Also shipped since the README's previous v7.1 refresh
47
+
48
+ - **v7.2:** cascade session rollback; dropped-styling/no-op guidance; page-parent schemas; Oxygen 6 build guidance; completed live-edit confirmation parameters; bounded heavy-write/docs timeouts; and route-aware capability negotiation that hides tools an older plugin cannot execute.
49
+ - **v7.3:** the WooCommerce add-on expanded from 21 to 56 tools across catalog, pricing, stock, storefront, brands, variations/attributes, coupons, customers, refunds, and AI-readiness.
50
+ - **v7.4:** Agent-Ready Commerce expanded WooCommerce to 79 tools with feeds + store `llms.txt`, readiness fixes, signed cart links/attribution, and Subscriptions, Bookings, and Memberships writes. v7.4.1 then made newly connected dashboard sites self-heal into a running connector session.
51
+ - **v7.5.0:** eight STAGGS configurator tools brought the WooCommerce total to 87.
52
+ - **v7.5.1:** fixed normalized ACF tool routing and preserved dashboard-token 401 machine codes—the two fixes shipped immediately before this reliability release.
53
+
38
54
  ### New in v7.1 "Roots"
39
55
 
40
56
  The biggest release since launch.
@@ -43,7 +59,7 @@ The biggest release since launch.
43
59
  - **Make a page responsive in one call** on Bricks, Elementor, Divi 4, Beaver Builder, and WPBakery.
44
60
  - **Playbooks.** Teach an agent a multi-step workflow once and rerun it as a single callable WordPress Ability. Five tools (create / list / get / update / delete), with static cycle detection and a runtime depth cap.
45
61
  - **Agent-creatable Custom Post Types, taxonomies, and ACF field groups** (twelve tools), stored in options and registered on `init`. No PHP files, server-side slug allowlist, conservative deletes that report orphans.
46
- - **Native in-WP MCP endpoint.** Point a client straight at `your-site/?respira=mcp` (Streamable HTTP, JSON-RPC) with an API key, no npx process required. One-click connect-by-link mints and installs the key for you.
62
+ - **Native in-WP MCP endpoint.** Point a client straight at `your-site/wp-json/respira/v1/mcp` (Streamable HTTP JSON-RPC; `?rest_route=` fallback supported) with an API key, no npx process required. One-click connect-by-link mints and installs the key for you.
47
63
  - **System certificate-store trust.** The connector trusts the OS certificate store at startup (verification stays on) with a bundled Mozilla CA fallback, so valid public certs stop being rejected on Claude Desktop's bundled Node.
48
64
  - **Bricks design-token import + section presets**, the **Elementor 4 atomic write path** (partial: 20 atomic element types with `$$type` envelopes, per-breakpoint + per-state styling, and a clear 422 on unsupported types instead of a silent drop), and **`respira_generate_activity_report`** for client-ready reports.
49
65
 
@@ -61,7 +77,7 @@ The triage rule, baked into the handshake instructions: tool error → apply hin
61
77
 
62
78
  ### v6.16.0: usage telemetry ships by default
63
79
 
64
- Every customer's MCP now ships per-tool-call telemetry to the Respira dashboard without setup. Previously the emitter was gated on customers having generated an `rp_otel_*` OTEL bearer, a step almost nobody completed; the audit showed only one distinct user shipping data despite ~41 sites on v6.14.0+. The emitter now falls back to the per-site license api_token, so any customer on v6.16.0+ ships telemetry by default. Privacy hard line unchanged: metadata only, no prompts, no tool args, no tool results, no WP content. `RESPIRA_USAGE_OPT_OUT=1` disables the entire stream.
80
+ v6.16 introduced default per-tool telemetry so customers did not have to configure an OTEL bearer. As of v7.5.2 with plugin 7.5.46+, local WordPress API keys are never sent to the central ingest: the connector asks WordPress for a revocable, site-scoped telemetry token instead. Privacy remains metadata-onlyno prompts, raw tool arguments, tool results, or WordPress content. `RESPIRA_USAGE_OPT_OUT=1` disables the entire stream.
65
81
 
66
82
  ### v6.3 — MCP Protocol Compliance
67
83
 
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=acf-tool-routing.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acf-tool-routing.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/acf-tool-routing.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,37 @@
1
+ import { test } from 'node:test';
2
+ import assert from 'node:assert';
3
+ import { ACF_TOOL_NAMES, resolveAcfToolName } from '../acf-tools.js';
4
+ // Regression guard for the "Unknown tool: wordpress_acf_*" bug (kenbi/Pedro,
5
+ // 2026-07-14). normalizeToolName() rewrites respira_* -> wordpress_* before
6
+ // dispatch, so ACF calls reach dispatchToolCall as wordpress_acf_*. Every ACF
7
+ // tool must still resolve to its respira_acf_* canonical (the name ACF_ROUTES
8
+ // and the plugin REST endpoints are keyed by), from BOTH prefixes.
9
+ test('every ACF tool resolves from respira_ and post-normalization wordpress_ prefixes', () => {
10
+ assert.ok(ACF_TOOL_NAMES.size > 0, 'ACF_TOOL_NAMES should not be empty');
11
+ for (const respiraName of ACF_TOOL_NAMES) {
12
+ // called directly as advertised
13
+ assert.equal(resolveAcfToolName(respiraName), respiraName, `direct: ${respiraName}`);
14
+ // as it arrives after normalizeToolName strips respira_ -> wordpress_
15
+ const normalized = 'wordpress_acf_' + respiraName.slice('respira_acf_'.length);
16
+ assert.equal(resolveAcfToolName(normalized), respiraName, `normalized: ${normalized}`);
17
+ }
18
+ });
19
+ test('the four repeater write/read tools route (Pedro repro)', () => {
20
+ for (const t of [
21
+ 'respira_acf_get_repeater',
22
+ 'respira_acf_get_repeater_row',
23
+ 'respira_acf_add_repeater_row',
24
+ 'respira_acf_update_repeater_row',
25
+ ]) {
26
+ const normalized = 'wordpress_acf_' + t.slice('respira_acf_'.length);
27
+ assert.equal(resolveAcfToolName(normalized), t, `repeater: ${normalized}`);
28
+ }
29
+ });
30
+ test('non-ACF tools are never misrouted to the ACF dispatcher', () => {
31
+ assert.equal(resolveAcfToolName('wordpress_update_page'), null);
32
+ assert.equal(resolveAcfToolName('respira_find_element'), null);
33
+ assert.equal(resolveAcfToolName('wordpress_update_post'), null);
34
+ // a lookalike that is not a real ACF tool must not resolve
35
+ assert.equal(resolveAcfToolName('wordpress_acf_not_a_real_tool'), null);
36
+ });
37
+ //# sourceMappingURL=acf-tool-routing.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acf-tool-routing.test.js","sourceRoot":"","sources":["../../src/__tests__/acf-tool-routing.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErE,6EAA6E;AAC7E,4EAA4E;AAC5E,8EAA8E;AAC9E,8EAA8E;AAC9E,mEAAmE;AACnE,IAAI,CAAC,kFAAkF,EAAE,GAAG,EAAE;IAC5F,MAAM,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC,EAAE,oCAAoC,CAAC,CAAC;IACzE,KAAK,MAAM,WAAW,IAAI,cAAc,EAAE,CAAC;QACzC,gCAAgC;QAChC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,WAAW,WAAW,EAAE,CAAC,CAAC;QACrF,sEAAsE;QACtE,MAAM,UAAU,GAAG,gBAAgB,GAAG,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC/E,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,eAAe,UAAU,EAAE,CAAC,CAAC;IACzF,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,wDAAwD,EAAE,GAAG,EAAE;IAClE,KAAK,MAAM,CAAC,IAAI;QACd,0BAA0B;QAC1B,8BAA8B;QAC9B,8BAA8B;QAC9B,iCAAiC;KAClC,EAAE,CAAC;QACF,MAAM,UAAU,GAAG,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACrE,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,aAAa,UAAU,EAAE,CAAC,CAAC;IAC7E,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yDAAyD,EAAE,GAAG,EAAE;IACnE,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,EAAE,IAAI,CAAC,CAAC;IAChE,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,EAAE,IAAI,CAAC,CAAC;IAC/D,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,EAAE,IAAI,CAAC,CAAC;IAChE,2DAA2D;IAC3D,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,+BAA+B,CAAC,EAAE,IAAI,CAAC,CAAC;AAC1E,CAAC,CAAC,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Ticket fc4fa49e: "Rejected builder writes read as success to the agent."
3
+ *
4
+ * Root-cause trace found the response SHAPE was already correct end to end
5
+ * (WP_Error carries an explicit status, the 5xx-retry interceptor never fires
6
+ * for 401/403, and the MCP tool-call handler always returns isError:true /
7
+ * throws). But `handleError()`'s 401 branch had one real, narrow gap: unlike
8
+ * the 403 branch (`formatErrorWithInstructions`) and the generic catch-all,
9
+ * it returned early WITHOUT stamping the WP_Error's machine-readable code
10
+ * (`respira_invalid_site_token`, `respira_token_stale`, `license_inactive`,
11
+ * a rotated/deactivated dashboard site token after a trial lapse, ...) onto
12
+ * `error.name`. That name is what `mcp_tool_events` telemetry and the
13
+ * admin/mcp-quality dashboard use to classify a failure — losing it meant
14
+ * every dashboard-site-token 401 collapsed into an opaque 'Error' bucket
15
+ * instead of surfacing which specific auth failure occurred.
16
+ *
17
+ * This test locks in that the 401 branch of handleError() now stamps
18
+ * error.name from data.code, matching the 403 / generic-catch-all branches.
19
+ */
20
+ export {};
21
+ //# sourceMappingURL=site-token-401-error-classification.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"site-token-401-error-classification.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/site-token-401-error-classification.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Ticket fc4fa49e: "Rejected builder writes read as success to the agent."
3
+ *
4
+ * Root-cause trace found the response SHAPE was already correct end to end
5
+ * (WP_Error carries an explicit status, the 5xx-retry interceptor never fires
6
+ * for 401/403, and the MCP tool-call handler always returns isError:true /
7
+ * throws). But `handleError()`'s 401 branch had one real, narrow gap: unlike
8
+ * the 403 branch (`formatErrorWithInstructions`) and the generic catch-all,
9
+ * it returned early WITHOUT stamping the WP_Error's machine-readable code
10
+ * (`respira_invalid_site_token`, `respira_token_stale`, `license_inactive`,
11
+ * a rotated/deactivated dashboard site token after a trial lapse, ...) onto
12
+ * `error.name`. That name is what `mcp_tool_events` telemetry and the
13
+ * admin/mcp-quality dashboard use to classify a failure — losing it meant
14
+ * every dashboard-site-token 401 collapsed into an opaque 'Error' bucket
15
+ * instead of surfacing which specific auth failure occurred.
16
+ *
17
+ * This test locks in that the 401 branch of handleError() now stamps
18
+ * error.name from data.code, matching the 403 / generic-catch-all branches.
19
+ */
20
+ import { test } from 'node:test';
21
+ import assert from 'node:assert/strict';
22
+ import { WordPressClient } from '../wordpress-client.js';
23
+ function buildConfig(extras = {}) {
24
+ return {
25
+ id: 'test-site',
26
+ name: 'Test Site',
27
+ url: 'https://example.com',
28
+ apiKey: 'respira_test_key',
29
+ ...extras,
30
+ };
31
+ }
32
+ function fakeAxios401(data) {
33
+ return {
34
+ isAxiosError: true,
35
+ message: 'Request failed with status code 401',
36
+ response: {
37
+ status: 401,
38
+ statusText: 'Unauthorized',
39
+ headers: {},
40
+ data,
41
+ config: {},
42
+ },
43
+ config: { url: '/builder/beaver/inject/123', method: 'post' },
44
+ };
45
+ }
46
+ test('401 with a WP_Error envelope stamps error.name from data.code (dashboard site token failure)', async () => {
47
+ const client = new WordPressClient(buildConfig());
48
+ const err = await client.handleError(fakeAxios401({
49
+ code: 'respira_invalid_site_token',
50
+ message: 'The saved connection token for this site is out of date. Reconnect to refresh it.',
51
+ data: { status: 401 },
52
+ }));
53
+ assert.ok(err instanceof Error);
54
+ assert.equal(err.name, 'respira_invalid_site_token');
55
+ assert.match(err.message, /Authentication failed/);
56
+ assert.match(err.message, /out of date/);
57
+ });
58
+ test('401 with a forwarded dashboard-introspect code (license_inactive) also stamps error.name', async () => {
59
+ const client = new WordPressClient(buildConfig());
60
+ const err = await client.handleError(fakeAxios401({
61
+ code: 'respira_license_inactive',
62
+ message: "This site's Respira license is not active (expired). Check billing, then retry.",
63
+ data: { status: 401 },
64
+ }));
65
+ assert.equal(err.name, 'respira_license_inactive');
66
+ });
67
+ test('401 without a machine code falls back to the default Error name (no crash)', async () => {
68
+ const client = new WordPressClient(buildConfig());
69
+ const err = await client.handleError(fakeAxios401({ message: 'Invalid API key' }));
70
+ assert.ok(err instanceof Error);
71
+ assert.equal(err.name, 'Error');
72
+ assert.match(err.message, /Authentication failed: Invalid API key/);
73
+ });
74
+ //# sourceMappingURL=site-token-401-error-classification.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"site-token-401-error-classification.test.js","sourceRoot":"","sources":["../../src/__tests__/site-token-401-error-classification.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,SAAS,WAAW,CAAC,SAAuC,EAAE;IAC5D,OAAO;QACL,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,WAAW;QACjB,GAAG,EAAE,qBAAqB;QAC1B,MAAM,EAAE,kBAAkB;QAC1B,GAAG,MAAM;KACV,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,IAAS;IAC7B,OAAO;QACL,YAAY,EAAE,IAAI;QAClB,OAAO,EAAE,qCAAqC;QAC9C,QAAQ,EAAE;YACR,MAAM,EAAE,GAAG;YACX,UAAU,EAAE,cAAc;YAC1B,OAAO,EAAE,EAAE;YACX,IAAI;YACJ,MAAM,EAAE,EAAE;SACX;QACD,MAAM,EAAE,EAAE,GAAG,EAAE,4BAA4B,EAAE,MAAM,EAAE,MAAM,EAAE;KACvD,CAAC;AACX,CAAC;AAED,IAAI,CAAC,8FAA8F,EAAE,KAAK,IAAI,EAAE;IAC9G,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,WAAW,EAAE,CAAC,CAAC;IAElD,MAAM,GAAG,GAAG,MAAO,MAAc,CAAC,WAAW,CAC3C,YAAY,CAAC;QACX,IAAI,EAAE,4BAA4B;QAClC,OAAO,EAAE,mFAAmF;QAC5F,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE;KACtB,CAAC,CACH,CAAC;IAEF,MAAM,CAAC,EAAE,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC;IAChC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAAC;IACrD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;IACnD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,0FAA0F,EAAE,KAAK,IAAI,EAAE;IAC1G,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,WAAW,EAAE,CAAC,CAAC;IAElD,MAAM,GAAG,GAAG,MAAO,MAAc,CAAC,WAAW,CAC3C,YAAY,CAAC;QACX,IAAI,EAAE,0BAA0B;QAChC,OAAO,EAAE,iFAAiF;QAC1F,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE;KACtB,CAAC,CACH,CAAC;IAEF,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;IAC5F,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,WAAW,EAAE,CAAC,CAAC;IAElD,MAAM,GAAG,GAAG,MAAO,MAAc,CAAC,WAAW,CAC3C,YAAY,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAC7C,CAAC;IAEF,MAAM,CAAC,EAAE,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC;IAChC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,wCAAwC,CAAC,CAAC;AACtE,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=usage-emitter-privacy.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage-emitter-privacy.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/usage-emitter-privacy.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ import assert from 'node:assert/strict';
2
+ import { describe, it } from 'node:test';
3
+ import { isDirectTelemetryBearer } from '../usage-emitter.js';
4
+ describe('usage emitter credential privacy', () => {
5
+ it('never treats a local WordPress key as a central-ingest bearer', () => {
6
+ assert.equal(isDirectTelemetryBearer('respira_local-secret'), false);
7
+ assert.equal(isDirectTelemetryBearer('respira_0123456789abcdef'), false);
8
+ });
9
+ it('accepts only explicitly central-scoped bearer families', () => {
10
+ assert.equal(isDirectTelemetryBearer('respira_site_abc'), true);
11
+ assert.equal(isDirectTelemetryBearer('rsp_at_abc'), true);
12
+ assert.equal(isDirectTelemetryBearer('rp_mcp_abc'), true);
13
+ assert.equal(isDirectTelemetryBearer('rp_otel_abc'), false);
14
+ });
15
+ });
16
+ //# sourceMappingURL=usage-emitter-privacy.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage-emitter-privacy.test.js","sourceRoot":"","sources":["../../src/__tests__/usage-emitter-privacy.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;IAChD,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,sBAAsB,CAAC,EAAE,KAAK,CAAC,CAAC;QACrE,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,0BAA0B,CAAC,EAAE,KAAK,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC,CAAC;QAChE,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,CAAC;QAC1D,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,CAAC;QAC1D,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=write-retry-safety.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write-retry-safety.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/write-retry-safety.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,36 @@
1
+ import { test } from "node:test";
2
+ import assert from "node:assert/strict";
3
+ import { ensureWriteIdempotencyKey, isReplaySafeRetry, } from "../wordpress-client.js";
4
+ test("mutations receive one stable idempotency key while reads do not", () => {
5
+ const write = { method: "post", headers: {} };
6
+ ensureWriteIdempotencyKey(write, () => "call_12345678");
7
+ ensureWriteIdempotencyKey(write, () => "should_not_replace");
8
+ assert.equal(write.headers["Idempotency-Key"], "call_12345678");
9
+ const read = { method: "get", headers: {} };
10
+ ensureWriteIdempotencyKey(read, () => "should_not_exist");
11
+ assert.equal(read.headers["Idempotency-Key"], undefined);
12
+ });
13
+ test("reads retry transient responses and connection failures", () => {
14
+ assert.equal(isReplaySafeRetry({ method: "GET", status: 500 }), true);
15
+ assert.equal(isReplaySafeRetry({ method: "GET", connectionCode: "ECONNRESET" }), true);
16
+ assert.equal(isReplaySafeRetry({ method: "GET", status: 404 }), false);
17
+ });
18
+ test("writes retry only explicit replay-safe gateway responses", () => {
19
+ assert.equal(isReplaySafeRetry({
20
+ method: "POST",
21
+ status: 503,
22
+ idempotencySupported: true,
23
+ }), true);
24
+ assert.equal(isReplaySafeRetry({
25
+ method: "POST",
26
+ status: 503,
27
+ idempotencySupported: false,
28
+ }), false);
29
+ assert.equal(isReplaySafeRetry({
30
+ method: "POST",
31
+ status: 500,
32
+ idempotencySupported: true,
33
+ }), false);
34
+ assert.equal(isReplaySafeRetry({ method: "POST", connectionCode: "ECONNRESET" }), false);
35
+ });
36
+ //# sourceMappingURL=write-retry-safety.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write-retry-safety.test.js","sourceRoot":"","sources":["../../src/__tests__/write-retry-safety.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EACL,yBAAyB,EACzB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAEhC,IAAI,CAAC,iEAAiE,EAAE,GAAG,EAAE;IAC3E,MAAM,KAAK,GAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACnD,yBAAyB,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC;IACxD,yBAAyB,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAC,CAAC;IAC7D,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,eAAe,CAAC,CAAC;IAEhE,MAAM,IAAI,GAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACjD,yBAAyB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,CAAC;IAC1D,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,SAAS,CAAC,CAAC;AAC3D,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yDAAyD,EAAE,GAAG,EAAE;IACnE,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IACtE,MAAM,CAAC,KAAK,CACV,iBAAiB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,EAClE,IAAI,CACL,CAAC;IACF,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;AACzE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,0DAA0D,EAAE,GAAG,EAAE;IACpE,MAAM,CAAC,KAAK,CACV,iBAAiB,CAAC;QAChB,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,GAAG;QACX,oBAAoB,EAAE,IAAI;KAC3B,CAAC,EACF,IAAI,CACL,CAAC;IACF,MAAM,CAAC,KAAK,CACV,iBAAiB,CAAC;QAChB,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,GAAG;QACX,oBAAoB,EAAE,KAAK;KAC5B,CAAC,EACF,KAAK,CACN,CAAC;IACF,MAAM,CAAC,KAAK,CACV,iBAAiB,CAAC;QAChB,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,GAAG;QACX,oBAAoB,EAAE,IAAI;KAC3B,CAAC,EACF,KAAK,CACN,CAAC;IACF,MAAM,CAAC,KAAK,CACV,iBAAiB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,EACnE,KAAK,CACN,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -19,4 +19,14 @@ export declare function getAcfTools(): Tool[];
19
19
  * gracefully when ACF is not active on the target site.
20
20
  */
21
21
  export declare const ACF_TOOL_NAMES: Set<string>;
22
+ /**
23
+ * Resolve a tool name to its canonical ACF name, or null if it is not an ACF
24
+ * tool. ACF tools exist ONLY under the respira_acf_* namespace, but
25
+ * normalizeToolName() rewrites respira_* -> wordpress_* before dispatch, so an
26
+ * ACF call reaches dispatchToolCall as wordpress_acf_*. Map that back so the
27
+ * dispatch guard matches and the plugin gets the respira_acf_* name that
28
+ * ACF_ROUTES is keyed by. Regression guard for the "Unknown tool: wordpress_acf_*"
29
+ * bug (kenbi/Pedro 2026-07-14).
30
+ */
31
+ export declare function resolveAcfToolName(name: string): string | null;
22
32
  //# sourceMappingURL=acf-tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"acf-tools.d.ts","sourceRoot":"","sources":["../src/acf-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE/D;;;GAGG;AACH,wBAAgB,WAAW,IAAI,IAAI,EAAE,CA8qBpC;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,aAuDzB,CAAC"}
1
+ {"version":3,"file":"acf-tools.d.ts","sourceRoot":"","sources":["../src/acf-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE/D;;;GAGG;AACH,wBAAgB,WAAW,IAAI,IAAI,EAAE,CA8qBpC;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,aAuDzB,CAAC;AAEH;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK9D"}
package/dist/acf-tools.js CHANGED
@@ -755,4 +755,19 @@ export const ACF_TOOL_NAMES = new Set([
755
755
  'respira_acf_clone_fields',
756
756
  'respira_acf_bulk_update_fields',
757
757
  ]);
758
+ /**
759
+ * Resolve a tool name to its canonical ACF name, or null if it is not an ACF
760
+ * tool. ACF tools exist ONLY under the respira_acf_* namespace, but
761
+ * normalizeToolName() rewrites respira_* -> wordpress_* before dispatch, so an
762
+ * ACF call reaches dispatchToolCall as wordpress_acf_*. Map that back so the
763
+ * dispatch guard matches and the plugin gets the respira_acf_* name that
764
+ * ACF_ROUTES is keyed by. Regression guard for the "Unknown tool: wordpress_acf_*"
765
+ * bug (kenbi/Pedro 2026-07-14).
766
+ */
767
+ export function resolveAcfToolName(name) {
768
+ const candidate = name.startsWith('wordpress_acf_')
769
+ ? 'respira_acf_' + name.slice('wordpress_acf_'.length)
770
+ : name;
771
+ return ACF_TOOL_NAMES.has(candidate) ? candidate : null;
772
+ }
758
773
  //# sourceMappingURL=acf-tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"acf-tools.js","sourceRoot":"","sources":["../src/acf-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acf-tools.js","sourceRoot":"","sources":["../src/acf-tools.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -203,6 +203,8 @@ export declare class RespiraWordPressServer {
203
203
  */
204
204
  private normalizeArgsForBackCompat;
205
205
  private handleToolCall;
206
+ /** Privacy-safe target HMAC: arguments never leave this process. */
207
+ private telemetryArgsHash;
206
208
  /**
207
209
  * v6.18.2: enforce a response-size cap on tool results.
208
210
  *
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAoBH,OAAO,KAAK,EAAE,mBAAmB,EAAe,MAAM,kBAAkB,CAAC;AAkQzE,qBAAa,sBAAsB;IACjC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAgC;IACnD,OAAO,CAAC,KAAK,CAA2C;IACxD,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,cAAc,CAAwB;IAC9C,OAAO,CAAC,YAAY,CAA4B;IAChD,8EAA8E;IAC9E,OAAO,CAAC,YAAY,CAA4B;IAChD,8EAA8E;IAC9E,OAAO,CAAC,mBAAmB,CAAS;IACpC,iFAAiF;IACjF,OAAO,CAAC,iBAAiB,CAAK;IAC9B,iFAAiF;IACjF,OAAO,CAAC,mBAAmB,CAAgC;IAE3D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAsB;IAEhE;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAWzB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;gBA4Bb,WAAW,EAAE,mBAAmB,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE;IAiVvE,OAAO,CAAC,cAAc;IAItB;;;;;;;;;OASG;IACH,OAAO,CAAC,oBAAoB;IAkB5B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,aAAa;IA4BrB,gEAAgE;IAChE,OAAO,CAAC,aAAa;IAUrB;;;;;;OAMG;YACW,UAAU;IA2CxB;;;;;;;;;;;;;;OAcG;YACW,WAAW;IAiJzB;;;;;;;;;OASG;YACW,kBAAkB;IAiHhC;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;YACW,qBAAqB;YAiBrB,kBAAkB;IA6FhC,yFAAyF;IACzF,OAAO,CAAC,gBAAgB;IASxB;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,6BAA6B;IA0BrC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,yBAAyB;IA+BjC,OAAO,CAAC,eAAe;IAmBvB,OAAO,CAAC,aAAa;YAmQP,kBAAkB;YA6BlB,yBAAyB;IASvC;;;OAGG;IACH,OAAO,CAAC,oBAAoB;YAyBd,QAAQ;IA+vFtB;;;;;;OAMG;IACH,yEAAyE;IACzE,OAAO,CAAC,mBAAmB,CAAoD;IAC/E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAU;YAEpC,oBAAoB;YAqDpB,2BAA2B;IAazC;;;;OAIG;YACW,cAAc;IAY5B,OAAO,CAAC,mBAAmB;IA2uC3B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAe3C;IAEF;;;;OAIG;IACH,OAAO,CAAC,0BAA0B;YAmCpB,cAAc;IAqG5B;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,eAAe;YAuCT,gBAAgB;IAylC9B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAwUzB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA6UxB,GAAG;CAyCV"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAqBH,OAAO,KAAK,EAAE,mBAAmB,EAAe,MAAM,kBAAkB,CAAC;AAsQzE,qBAAa,sBAAsB;IACjC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAgC;IACnD,OAAO,CAAC,KAAK,CAA2C;IACxD,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,cAAc,CAAwB;IAC9C,OAAO,CAAC,YAAY,CAA4B;IAChD,8EAA8E;IAC9E,OAAO,CAAC,YAAY,CAA4B;IAChD,8EAA8E;IAC9E,OAAO,CAAC,mBAAmB,CAAS;IACpC,iFAAiF;IACjF,OAAO,CAAC,iBAAiB,CAAK;IAC9B,iFAAiF;IACjF,OAAO,CAAC,mBAAmB,CAAgC;IAE3D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAsB;IAEhE;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAWzB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;gBA4Bb,WAAW,EAAE,mBAAmB,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE;IAiVvE,OAAO,CAAC,cAAc;IAItB;;;;;;;;;OASG;IACH,OAAO,CAAC,oBAAoB;IAkB5B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,aAAa;IA4BrB,gEAAgE;IAChE,OAAO,CAAC,aAAa;IAUrB;;;;;;OAMG;YACW,UAAU;IA2CxB;;;;;;;;;;;;;;OAcG;YACW,WAAW;IAiJzB;;;;;;;;;OASG;YACW,kBAAkB;IAiHhC;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;YACW,qBAAqB;YAiBrB,kBAAkB;IA6FhC,yFAAyF;IACzF,OAAO,CAAC,gBAAgB;IASxB;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,6BAA6B;IA0BrC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,yBAAyB;IA+BjC,OAAO,CAAC,eAAe;IAmBvB,OAAO,CAAC,aAAa;YAmQP,kBAAkB;YA6BlB,yBAAyB;IASvC;;;OAGG;IACH,OAAO,CAAC,oBAAoB;YAyBd,QAAQ;IA+vFtB;;;;;;OAMG;IACH,yEAAyE;IACzE,OAAO,CAAC,mBAAmB,CAAoD;IAC/E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAU;YAEpC,oBAAoB;YAqDpB,2BAA2B;IAazC;;;;OAIG;YACW,cAAc;IAY5B,OAAO,CAAC,mBAAmB;IA2uC3B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAe3C;IAEF;;;;OAIG;IACH,OAAO,CAAC,0BAA0B;YAmCpB,cAAc;IA4G5B,oEAAoE;IACpE,OAAO,CAAC,iBAAiB;IAoBzB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,eAAe;YAuCT,gBAAgB;IAimC9B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAwUzB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA6UxB,GAAG;CAyCV"}
package/dist/server.js CHANGED
@@ -11,12 +11,16 @@ import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
11
11
  import { homedir } from 'os';
12
12
  import { dirname, join, resolve } from 'path';
13
13
  import { fileURLToPath } from 'url';
14
+ import { createHmac, randomUUID } from 'node:crypto';
14
15
  import { WordPressClient } from './wordpress-client.js';
15
16
  import { RespiraVersionChecker } from './version-checker.js';
16
17
  import { getBricksTools, dispatchBricksTool } from './bricks-tools.js';
17
18
  import { getElementorTools, dispatchElementorTool } from './elementor-tools.js';
18
- import { getAcfTools, ACF_TOOL_NAMES } from './acf-tools.js';
19
+ import { getAcfTools, resolveAcfToolName } from './acf-tools.js';
19
20
  import { getUsageEmitter, deriveToolKind } from './usage-emitter.js';
21
+ // Process-local secret keeps target hashes useful for same-session retry
22
+ // detection without making low-entropy WordPress ids reversible centrally.
23
+ const TELEMETRY_HASH_SECRET = randomUUID();
20
24
  /**
21
25
  * Read the server version from package.json at module load time so the
22
26
  * MCP handshake, the `instructions` block, and the version-checker all
@@ -617,7 +621,7 @@ Allowlist: css, scss, less, json. PHP / JS theme writes are intentionally out of
617
621
  // gracefully when neither is.
618
622
  if (config.apiKey && config.url) {
619
623
  try {
620
- getUsageEmitter().registerSiteToken(config.url, config.apiKey);
624
+ getUsageEmitter().registerSiteToken(config.url, config.apiKey, () => client.getTelemetryToken());
621
625
  }
622
626
  catch {
623
627
  // Best-effort; usage telemetry never blocks server startup.
@@ -1161,7 +1165,7 @@ Allowlist: css, scss, less, json. PHP / JS theme writes are intentionally out of
1161
1165
  this.defaultSiteId = s.id;
1162
1166
  }
1163
1167
  try {
1164
- getUsageEmitter().registerSiteToken(s.url, s.apiKey);
1168
+ getUsageEmitter().registerSiteToken(s.url, s.apiKey, () => client.getTelemetryToken());
1165
1169
  }
1166
1170
  catch {
1167
1171
  // usage telemetry never blocks
@@ -5784,13 +5788,16 @@ Allowlist: css, scss, less, json. PHP / JS theme writes are intentionally out of
5784
5788
  finally {
5785
5789
  if (emitter.isEnabled()) {
5786
5790
  let siteUrl = null;
5791
+ let pluginVersion = null;
5787
5792
  try {
5788
5793
  if (!SITE_AGNOSTIC_TOOLS.has(canonical)) {
5789
5794
  const client = this.resolveClient(args);
5790
5795
  siteUrl = client.getSiteUrl();
5796
+ pluginVersion = client.pluginVersion;
5791
5797
  }
5792
5798
  else if (this.currentSite) {
5793
5799
  siteUrl = this.currentSite.getSiteUrl();
5800
+ pluginVersion = this.currentSite.pluginVersion;
5794
5801
  }
5795
5802
  }
5796
5803
  catch {
@@ -5845,6 +5852,10 @@ Allowlist: css, scss, less, json. PHP / JS theme writes are intentionally out of
5845
5852
  durationMs: Date.now() - startedAt,
5846
5853
  success: dispatchError === null,
5847
5854
  errorCode,
5855
+ targetArgsHash: this.telemetryArgsHash(canonical, args),
5856
+ stageTimings: result?.write_diag?.stage_timings || result?.stage_timings || null,
5857
+ pluginVersion,
5858
+ mcpVersion: MCP_SERVER_VERSION,
5848
5859
  });
5849
5860
  }
5850
5861
  }
@@ -5857,6 +5868,28 @@ Allowlist: css, scss, less, json. PHP / JS theme writes are intentionally out of
5857
5868
  }
5858
5869
  return this.capResponseSize(canonical, result);
5859
5870
  }
5871
+ /** Privacy-safe target HMAC: arguments never leave this process. */
5872
+ telemetryArgsHash(toolName, args) {
5873
+ try {
5874
+ const canonicalize = (value) => {
5875
+ if (Array.isArray(value))
5876
+ return value.map(canonicalize);
5877
+ if (value && typeof value === 'object') {
5878
+ return Object.keys(value).sort().reduce((out, key) => {
5879
+ out[key] = canonicalize(value[key]);
5880
+ return out;
5881
+ }, {});
5882
+ }
5883
+ return value;
5884
+ };
5885
+ return createHmac('sha256', TELEMETRY_HASH_SECRET)
5886
+ .update(`${toolName}|${JSON.stringify(canonicalize(args))}`)
5887
+ .digest('hex');
5888
+ }
5889
+ catch {
5890
+ return null;
5891
+ }
5892
+ }
5860
5893
  /**
5861
5894
  * v6.18.2: enforce a response-size cap on tool results.
5862
5895
  *
@@ -6736,8 +6769,16 @@ Allowlist: css, scss, less, json. PHP / JS theme writes are intentionally out of
6736
6769
  if (elementorResult !== null) {
6737
6770
  return elementorResult;
6738
6771
  }
6739
- // Check if this is an ACF tool.
6740
- if (ACF_TOOL_NAMES.has(name)) {
6772
+ // Check if this is an ACF tool. ACF tools live only under the
6773
+ // respira_acf_* namespace (ACF_TOOL_NAMES + wordpress-client ACF_ROUTES
6774
+ // are keyed by respira_acf_*), but normalizeToolName blindly rewrites
6775
+ // respira_* -> wordpress_*, so by the time dispatchToolCall runs an ACF
6776
+ // call arrives as wordpress_acf_*. Map it back so the guard matches and
6777
+ // the plugin dispatch gets the name it expects. Without this every ACF
6778
+ // tool fell through to "Unknown tool: wordpress_acf_*" (kenbi/Pedro,
6779
+ // 2026-07-14; same class as the v7.1.0 fix that regressed).
6780
+ const acfName = resolveAcfToolName(name);
6781
+ if (acfName) {
6741
6782
  if (!(await this.isAcfAvailable())) {
6742
6783
  return {
6743
6784
  __respira_is_error: true,
@@ -6745,7 +6786,7 @@ Allowlist: css, scss, less, json. PHP / JS theme writes are intentionally out of
6745
6786
  hint: 'Install Advanced Custom Fields on the target site, then retry. ACF Pro is required for repeaters, flexible content, galleries, and options pages.'
6746
6787
  };
6747
6788
  }
6748
- return await this.currentSite.dispatchAcfTool(name, args);
6789
+ return await this.currentSite.dispatchAcfTool(acfName, args);
6749
6790
  }
6750
6791
  // Check if this is a widget shortcut (wordpress_add_*).
6751
6792
  if (name.startsWith('wordpress_add_')) {