@respira/wordpress-mcp-server 8.2.0 → 8.2.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.
- package/CHANGELOG.md +25 -0
- package/dist/__tests__/effective-config-observability.test.d.ts +2 -0
- package/dist/__tests__/effective-config-observability.test.d.ts.map +1 -0
- package/dist/__tests__/effective-config-observability.test.js +95 -0
- package/dist/__tests__/effective-config-observability.test.js.map +1 -0
- package/dist/__tests__/woo-card-tools-forward-fse-params.test.d.ts +2 -0
- package/dist/__tests__/woo-card-tools-forward-fse-params.test.d.ts.map +1 -0
- package/dist/__tests__/woo-card-tools-forward-fse-params.test.js +62 -0
- package/dist/__tests__/woo-card-tools-forward-fse-params.test.js.map +1 -0
- package/dist/config.d.ts +20 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +54 -0
- package/dist/config.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +105 -0
- package/dist/server.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,31 @@ All notable changes to Respira WordPress MCP Server will be documented in this f
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [8.2.2] - 2026-08-04
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- **Gemini could not connect at all.** Google's API validates tool schemas strictly and rejected the entire toolset with a 400 because one array property (the mega-menu columns) had no items definition. It was the only such array in the catalog; it now declares its full item shape, so VS Code with Continue, and any other Gemini-backed client, initializes cleanly. Reported by J.G. with Gemini's own precise diagnosis attached.
|
|
13
|
+
|
|
14
|
+
## [8.2.1] - 2026-08-04
|
|
15
|
+
|
|
16
|
+
### Added
|
|
17
|
+
|
|
18
|
+
- **`diagnose_connection` reports the effective client configuration.** It already reported process facts (version, pid, binary path, sibling processes); it did not report the configuration those facts were operating on. It now names the winning config source, where it is, how many sites resolved and which, and warns on the two misleading states: a `RESPIRA_CONFIG_B64` override meaning the file on disk is not being read, and one site resolving when the account has more. Three customers in two weeks lost time to three different mechanisms — a lapsed licence leaving keys dead, a redeem writing a config nothing read, and an old npx entry winning over a newly installed Desktop bundle — with this one missing instrument in common. Every one of them had to read config files to find out what was in use.
|
|
19
|
+
- **`redeem_token` verifies its own write.** It writes the config, reads it back, and reports what landed and whether the next start will read it. Previously it wrote a file and reported success, which is true and useless when an environment variable outranks that file.
|
|
20
|
+
- **`edit_target` and `verification_marker` on the four WooCommerce card tools.** Both were already forwarded to the FSE layer by the add-on; the schemas never declared them, so they could not be supplied.
|
|
21
|
+
|
|
22
|
+
## [8.2.0] - 2026-08-03
|
|
23
|
+
|
|
24
|
+
### Added
|
|
25
|
+
|
|
26
|
+
- **Resonance memory tools.** `wordpress_remember`, `wordpress_forget`, and `wordpress_list_memory` maintain a persistent per-site memory on the WordPress site itself (plugin 8.3+). The tool descriptions teach the loop: save durable preferences and corrections, ask before storing anything the user did not state, and never work around a rule refusal, because rules of type `rule` are enforced server side by the plugin.
|
|
27
|
+
- **Memory-aware session priming.** The handshake instructions gain a golden rule for honoring and growing Site Memory, and `get_site_context` carries the `site_memory` block through the compact `detail: basic` projection, so every session starts warm regardless of detail level.
|
|
28
|
+
|
|
29
|
+
### Fixed
|
|
30
|
+
|
|
31
|
+
- **claude.ai traffic is no longer mislabeled as Claude Code.** Client-reported `clientInfo` now takes precedence over user-agent heuristics when resolving the agent label, with tests pinning the claude.ai versus claude-code split. Connection-mix telemetry depends on this being honest.
|
|
32
|
+
|
|
8
33
|
## [8.1.6] - 2026-08-02
|
|
9
34
|
|
|
10
35
|
### Fixed
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"effective-config-observability.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/effective-config-observability.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { describe, it, afterEach } from 'node:test';
|
|
2
|
+
import assert from 'node:assert/strict';
|
|
3
|
+
import { describeEffectiveConfig } from '../config.js';
|
|
4
|
+
/**
|
|
5
|
+
* Three customers in two weeks lost time to the same missing instrument.
|
|
6
|
+
*
|
|
7
|
+
* M.O. a lapsed licence left his API keys dead. Found it by dumping his
|
|
8
|
+
* own database.
|
|
9
|
+
* M.S. redeem returns nothing and never adds a second site.
|
|
10
|
+
* Desmond installed the Desktop bundle while an older npx entry kept
|
|
11
|
+
* winning, and stayed on one site for three weeks while the
|
|
12
|
+
* dashboard said all five were included.
|
|
13
|
+
*
|
|
14
|
+
* Three different mechanisms. What they share is that the client's EFFECTIVE
|
|
15
|
+
* configuration is invisible, and can differ from what a tool reported writing.
|
|
16
|
+
* Every one of them had to read config files, or have telemetry read for them.
|
|
17
|
+
*
|
|
18
|
+
* describeEffectiveConfig is that instrument. These tests pin the two things it
|
|
19
|
+
* must never get wrong: naming the source that actually won, and never leaking
|
|
20
|
+
* a token into output a customer will paste into a support thread.
|
|
21
|
+
*/
|
|
22
|
+
const ORIGINAL = { ...process.env };
|
|
23
|
+
afterEach(() => {
|
|
24
|
+
process.env = { ...ORIGINAL };
|
|
25
|
+
});
|
|
26
|
+
describe('describeEffectiveConfig', () => {
|
|
27
|
+
it('names RESPIRA_CONFIG_B64 as the winner when it is set', () => {
|
|
28
|
+
process.env.RESPIRA_CONFIG_B64 = 'eyJzaXRlcyI6W119';
|
|
29
|
+
process.env.RESPIRA_CONFIG_FILE = '/somewhere/else/config.json';
|
|
30
|
+
const d = describeEffectiveConfig([{ id: 'a', url: 'https://a.com' }]);
|
|
31
|
+
assert.equal(d.config_source, 'RESPIRA_CONFIG_B64');
|
|
32
|
+
assert.equal(d.config_b64_active, true);
|
|
33
|
+
});
|
|
34
|
+
it('warns that a redeem writing the file will not be read under B64', () => {
|
|
35
|
+
process.env.RESPIRA_CONFIG_B64 = 'eyJzaXRlcyI6W119';
|
|
36
|
+
const d = describeEffectiveConfig([{ id: 'a', url: 'https://a.com' }]);
|
|
37
|
+
const notes = d.notes.join(' ');
|
|
38
|
+
assert.match(notes, /NOT reading the config file/);
|
|
39
|
+
assert.match(notes, /will not change what this process sees/);
|
|
40
|
+
});
|
|
41
|
+
it('falls back to the explicit file when no B64 is set', () => {
|
|
42
|
+
delete process.env.RESPIRA_CONFIG_B64;
|
|
43
|
+
process.env.RESPIRA_CONFIG_FILE = '/custom/path/config.json';
|
|
44
|
+
const d = describeEffectiveConfig([]);
|
|
45
|
+
assert.equal(d.config_source, 'RESPIRA_CONFIG_FILE');
|
|
46
|
+
assert.equal(d.config_b64_active, false);
|
|
47
|
+
assert.match(String(d.config_location), /\/custom\/path\/config\.json/);
|
|
48
|
+
});
|
|
49
|
+
it('falls back to the default path when neither is set', () => {
|
|
50
|
+
delete process.env.RESPIRA_CONFIG_B64;
|
|
51
|
+
delete process.env.RESPIRA_CONFIG_FILE;
|
|
52
|
+
const d = describeEffectiveConfig([]);
|
|
53
|
+
assert.equal(d.config_source, 'default file');
|
|
54
|
+
assert.match(String(d.config_location), /\.respira\/config\.json/);
|
|
55
|
+
});
|
|
56
|
+
it("explains Desmond's case: one site resolved while the account has more", () => {
|
|
57
|
+
delete process.env.RESPIRA_CONFIG_B64;
|
|
58
|
+
const d = describeEffectiveConfig([{ id: 'staging', url: 'https://staging.sactrust.org' }]);
|
|
59
|
+
assert.equal(d.resolved_site_count, 1);
|
|
60
|
+
const notes = d.notes.join(' ');
|
|
61
|
+
assert.match(notes, /second, older MCP entry/);
|
|
62
|
+
});
|
|
63
|
+
it('does not nag when several sites resolved', () => {
|
|
64
|
+
delete process.env.RESPIRA_CONFIG_B64;
|
|
65
|
+
const d = describeEffectiveConfig([
|
|
66
|
+
{ id: 'a', url: 'https://a.com' },
|
|
67
|
+
{ id: 'b', url: 'https://b.com' },
|
|
68
|
+
]);
|
|
69
|
+
assert.equal(d.resolved_site_count, 2);
|
|
70
|
+
assert.doesNotMatch(d.notes.join(' '), /older MCP entry/);
|
|
71
|
+
});
|
|
72
|
+
it('flags bootstrap mode when nothing resolved', () => {
|
|
73
|
+
const d = describeEffectiveConfig([]);
|
|
74
|
+
assert.match(d.notes.join(' '), /bootstrap mode/);
|
|
75
|
+
});
|
|
76
|
+
it('lists the sites it resolved, so the count is checkable', () => {
|
|
77
|
+
const d = describeEffectiveConfig([
|
|
78
|
+
{ id: 'a', url: 'https://a.com' },
|
|
79
|
+
{ id: 'b', url: 'https://b.com' },
|
|
80
|
+
]);
|
|
81
|
+
assert.deepEqual(d.resolved_sites, [
|
|
82
|
+
{ id: 'a', url: 'https://a.com' },
|
|
83
|
+
{ id: 'b', url: 'https://b.com' },
|
|
84
|
+
]);
|
|
85
|
+
});
|
|
86
|
+
it('never emits a token — this output gets pasted into support threads', () => {
|
|
87
|
+
process.env.RESPIRA_CONFIG_B64 = Buffer.from(JSON.stringify({ sites: [{ id: 'a', url: 'https://a.com', apiKey: 'respira_site_SECRET' }] })).toString('base64');
|
|
88
|
+
const serialised = JSON.stringify(describeEffectiveConfig([{ id: 'a', url: 'https://a.com' }]));
|
|
89
|
+
assert.doesNotMatch(serialised, /SECRET/);
|
|
90
|
+
assert.doesNotMatch(serialised, /respira_site_/);
|
|
91
|
+
// The base64 blob itself would decode to the key, so it must not appear either.
|
|
92
|
+
assert.doesNotMatch(serialised, /eyJ/);
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
//# sourceMappingURL=effective-config-observability.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"effective-config-observability.test.js","sourceRoot":"","sources":["../../src/__tests__/effective-config-observability.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"woo-card-tools-forward-fse-params.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/woo-card-tools-forward-fse-params.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { describe, it } from 'node:test';
|
|
2
|
+
import assert from 'node:assert/strict';
|
|
3
|
+
import { readFileSync } from 'node:fs';
|
|
4
|
+
/**
|
|
5
|
+
* The four WooCommerce card tools call the same FSE layer as
|
|
6
|
+
* update_site_template. The add-on has always forwarded edit_target and
|
|
7
|
+
* verification_marker to it (class-storefront-tools.php update_fse_template),
|
|
8
|
+
* so the plumbing existed the whole time — but the MCP tool schemas never
|
|
9
|
+
* declared either parameter, and a client only sends declared properties.
|
|
10
|
+
*
|
|
11
|
+
* The consequence D.L. measured: a Woo card write always produced
|
|
12
|
+
* state=pending_approval with mutation_performed=false, while core
|
|
13
|
+
* update-site-template against the same target and path with edit_target=live
|
|
14
|
+
* wrote directly. So storefront card edits always required wp-admin approval no
|
|
15
|
+
* matter how the site was configured, and always fell back to whole-page hash
|
|
16
|
+
* comparison whether or not the caller could supply a better marker.
|
|
17
|
+
*
|
|
18
|
+
* On verification_marker he explicitly accepted the earlier decision NOT to
|
|
19
|
+
* auto-generate markers — a marker derived from a generic value could match
|
|
20
|
+
* unrelated content and pass falsely. This is passthrough only.
|
|
21
|
+
*/
|
|
22
|
+
// Read the SOURCE, not the compiled file: this asserts on the tool schema as
|
|
23
|
+
// authored. Tests run from the package root, so resolve from cwd rather than
|
|
24
|
+
// import.meta.url, which points into dist/ where no .ts exists.
|
|
25
|
+
const SRC = readFileSync(`${process.cwd()}/src/server.ts`, 'utf8');
|
|
26
|
+
const CARD_TOOLS = [
|
|
27
|
+
'woocommerce_update_storefront_card_field',
|
|
28
|
+
'woocommerce_update_product_card_layout',
|
|
29
|
+
'woocommerce_add_sale_badge',
|
|
30
|
+
'woocommerce_add_low_stock_badge',
|
|
31
|
+
];
|
|
32
|
+
/** Slice out one tool's schema block so assertions cannot drift to a neighbour. */
|
|
33
|
+
function schemaOf(tool) {
|
|
34
|
+
const start = SRC.indexOf(`name: '${tool}',`);
|
|
35
|
+
assert.notEqual(start, -1, `tool ${tool} not found`);
|
|
36
|
+
const end = SRC.indexOf('required:', start);
|
|
37
|
+
return SRC.slice(start, end === -1 ? start + 4000 : end);
|
|
38
|
+
}
|
|
39
|
+
describe('Woo card tools expose the FSE parameters they already forward', () => {
|
|
40
|
+
for (const tool of CARD_TOOLS) {
|
|
41
|
+
it(`${tool} declares edit_target`, () => {
|
|
42
|
+
assert.match(schemaOf(tool), /edit_target:/);
|
|
43
|
+
});
|
|
44
|
+
it(`${tool} declares verification_marker`, () => {
|
|
45
|
+
assert.match(schemaOf(tool), /verification_marker:/);
|
|
46
|
+
});
|
|
47
|
+
it(`${tool} constrains edit_target to live or duplicate`, () => {
|
|
48
|
+
assert.match(schemaOf(tool), /enum: \['live', 'duplicate'\]/);
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
it('says direct edit is refused rather than silently downgraded without the site option', () => {
|
|
52
|
+
const s = schemaOf('woocommerce_update_storefront_card_field');
|
|
53
|
+
assert.match(s, /respira_allow_direct_edit/);
|
|
54
|
+
assert.match(s, /refused rather than silently downgraded/);
|
|
55
|
+
});
|
|
56
|
+
it('records that the marker is never auto-generated, and why', () => {
|
|
57
|
+
const s = schemaOf('woocommerce_add_sale_badge');
|
|
58
|
+
assert.match(s, /Never auto-generated/);
|
|
59
|
+
assert.match(s, /match unrelated content/);
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
//# sourceMappingURL=woo-card-tools-forward-fse-params.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"woo-card-tools-forward-fse-params.test.js","sourceRoot":"","sources":["../../src/__tests__/woo-card-tools-forward-fse-params.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC;;;;;;;;;;;;;;;;;GAiBG;AAEH,6EAA6E;AAC7E,6EAA6E;AAC7E,gEAAgE;AAChE,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;AAEnE,MAAM,UAAU,GAAG;IACjB,0CAA0C;IAC1C,wCAAwC;IACxC,4BAA4B;IAC5B,iCAAiC;CAClC,CAAC;AAEF,mFAAmF;AACnF,SAAS,QAAQ,CAAC,IAAY;IAC5B,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC;IAC9C,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,QAAQ,IAAI,YAAY,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC5C,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC3D,CAAC;AAED,QAAQ,CAAC,+DAA+D,EAAE,GAAG,EAAE;IAC7E,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,EAAE,CAAC,GAAG,IAAI,uBAAuB,EAAE,GAAG,EAAE;YACtC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,GAAG,IAAI,+BAA+B,EAAE,GAAG,EAAE;YAC9C,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,sBAAsB,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,GAAG,IAAI,8CAA8C,EAAE,GAAG,EAAE;YAC7D,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,+BAA+B,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,EAAE,CAAC,qFAAqF,EAAE,GAAG,EAAE;QAC7F,MAAM,CAAC,GAAG,QAAQ,CAAC,0CAA0C,CAAC,CAAC;QAC/D,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,2BAA2B,CAAC,CAAC;QAC7C,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,yCAAyC,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,CAAC,GAAG,QAAQ,CAAC,4BAA4B,CAAC,CAAC;QACjD,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/config.d.ts
CHANGED
|
@@ -125,4 +125,24 @@ export declare function setDefaultSite(siteId: string): void;
|
|
|
125
125
|
* Test connection to a WordPress site
|
|
126
126
|
*/
|
|
127
127
|
export declare function testConnection(siteId: string): Promise<void>;
|
|
128
|
+
/**
|
|
129
|
+
* Describe the configuration this process is ACTUALLY running on.
|
|
130
|
+
*
|
|
131
|
+
* Resolution order is RESPIRA_CONFIG_B64, then RESPIRA_CONFIG_FILE, then
|
|
132
|
+
* ~/.respira/config.json. Only the winner matters, and until now nothing
|
|
133
|
+
* reported which one won. That gap is the common factor behind three separate
|
|
134
|
+
* customer incidents whose mechanisms were all different: a redeem that wrote a
|
|
135
|
+
* file an env var was already overriding, a Desktop bundle installed alongside
|
|
136
|
+
* an older npx entry that kept winning, and a licence lapse that left the keys
|
|
137
|
+
* in the winning config dead.
|
|
138
|
+
*
|
|
139
|
+
* Deliberately reports the config PATH but never the tokens. A customer pastes
|
|
140
|
+
* this output into a support thread.
|
|
141
|
+
*
|
|
142
|
+
* @param sites Sites the running server actually resolved.
|
|
143
|
+
*/
|
|
144
|
+
export declare function describeEffectiveConfig(sites: Array<{
|
|
145
|
+
id?: string;
|
|
146
|
+
url?: string;
|
|
147
|
+
}>): Record<string, unknown>;
|
|
128
148
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE3E,eAAO,MAAM,UAAU,QAA8B,CAAC;AACtD,eAAO,MAAM,WAAW,QAAkC,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAmBpD;AAED,+EAA+E;AAC/E,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAErD;AAaD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,mBAAmB,EAAE,EACpC,QAAQ,EAAE,mBAAmB,EAAE,GAC9B,mBAAmB,EAAE,CAkBvB;AAED,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAG9E;AAwED;;;;;;;;;;;;GAYG;AACH;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CA2BvE;AAgDD,wBAAgB,eAAe,CAAC,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,aAAa,CA0H/G;AA6BD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAO5D;AAmGD;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,IAAI,aAAa,CA0E1C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAOtD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAO1E;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAavD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAe/C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAYnD;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBlE"}
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE3E,eAAO,MAAM,UAAU,QAA8B,CAAC;AACtD,eAAO,MAAM,WAAW,QAAkC,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAmBpD;AAED,+EAA+E;AAC/E,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAErD;AAaD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,mBAAmB,EAAE,EACpC,QAAQ,EAAE,mBAAmB,EAAE,GAC9B,mBAAmB,EAAE,CAkBvB;AAED,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAG9E;AAwED;;;;;;;;;;;;GAYG;AACH;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CA2BvE;AAgDD,wBAAgB,eAAe,CAAC,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,aAAa,CA0H/G;AA6BD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAO5D;AAmGD;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,IAAI,aAAa,CA0E1C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAOtD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAO1E;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAavD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAe/C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAYnD;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBlE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,KAAK,CAAC;IAAE,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA2C5G"}
|
package/dist/config.js
CHANGED
|
@@ -657,4 +657,58 @@ export async function testConnection(siteId) {
|
|
|
657
657
|
throw new Error(`Connection test failed: ${error.message}`);
|
|
658
658
|
}
|
|
659
659
|
}
|
|
660
|
+
/**
|
|
661
|
+
* Describe the configuration this process is ACTUALLY running on.
|
|
662
|
+
*
|
|
663
|
+
* Resolution order is RESPIRA_CONFIG_B64, then RESPIRA_CONFIG_FILE, then
|
|
664
|
+
* ~/.respira/config.json. Only the winner matters, and until now nothing
|
|
665
|
+
* reported which one won. That gap is the common factor behind three separate
|
|
666
|
+
* customer incidents whose mechanisms were all different: a redeem that wrote a
|
|
667
|
+
* file an env var was already overriding, a Desktop bundle installed alongside
|
|
668
|
+
* an older npx entry that kept winning, and a licence lapse that left the keys
|
|
669
|
+
* in the winning config dead.
|
|
670
|
+
*
|
|
671
|
+
* Deliberately reports the config PATH but never the tokens. A customer pastes
|
|
672
|
+
* this output into a support thread.
|
|
673
|
+
*
|
|
674
|
+
* @param sites Sites the running server actually resolved.
|
|
675
|
+
*/
|
|
676
|
+
export function describeEffectiveConfig(sites) {
|
|
677
|
+
const b64 = process.env.RESPIRA_CONFIG_B64?.trim();
|
|
678
|
+
const explicitFile = process.env.RESPIRA_CONFIG_FILE?.trim();
|
|
679
|
+
let source;
|
|
680
|
+
let sourceDetail;
|
|
681
|
+
if (b64) {
|
|
682
|
+
source = 'RESPIRA_CONFIG_B64';
|
|
683
|
+
sourceDetail = 'environment variable (takes precedence over any file on disk)';
|
|
684
|
+
}
|
|
685
|
+
else if (explicitFile) {
|
|
686
|
+
source = 'RESPIRA_CONFIG_FILE';
|
|
687
|
+
sourceDetail = expandHomePath(explicitFile);
|
|
688
|
+
}
|
|
689
|
+
else {
|
|
690
|
+
source = 'default file';
|
|
691
|
+
sourceDetail = '~/.respira/config.json';
|
|
692
|
+
}
|
|
693
|
+
const resolved = sites.map((s) => ({ id: s.id ?? null, url: s.url ?? null }));
|
|
694
|
+
const notes = [];
|
|
695
|
+
if (b64) {
|
|
696
|
+
notes.push('RESPIRA_CONFIG_B64 is set, so this server is NOT reading the config file. ' +
|
|
697
|
+
'A redeem that writes the file will not change what this process sees until the variable is updated and the client restarted.');
|
|
698
|
+
}
|
|
699
|
+
if (resolved.length === 1) {
|
|
700
|
+
notes.push('Only one site resolved. If the dashboard says your account has more, the likely cause is a second, older MCP entry in your client winning over a newer one, or a config written somewhere this process is not reading.');
|
|
701
|
+
}
|
|
702
|
+
if (resolved.length === 0) {
|
|
703
|
+
notes.push('No sites resolved. The server is in bootstrap mode; only redeem_token will work.');
|
|
704
|
+
}
|
|
705
|
+
return {
|
|
706
|
+
config_source: source,
|
|
707
|
+
config_location: sourceDetail,
|
|
708
|
+
config_b64_active: Boolean(b64),
|
|
709
|
+
resolved_site_count: resolved.length,
|
|
710
|
+
resolved_sites: resolved,
|
|
711
|
+
notes,
|
|
712
|
+
};
|
|
713
|
+
}
|
|
660
714
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAiBH,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;IA6VvE,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;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAiBH,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;IA6VvE,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;IA0MhC;;;;;;;;;;;;;;;;;;;;;;;;;;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;IA02GtB;;;;;;OAMG;IACH;;;;;;;;;;;;;oDAagD;IAChD,OAAO,CAAC,mBAAmB,CAAoD;IAC/E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAU;IAClD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAU;IAC1D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAS;IAC1D;;mDAE+C;IAC/C,OAAO,CAAC,0BAA0B,CAAoC;IAEtE;;;;;;;;OAQG;YACW,0BAA0B;YAyC1B,oBAAoB;YA6CpB,2BAA2B;IAQzC;;;;OAIG;YACW,cAAc;IAQ5B,OAAO,CAAC,mBAAmB;IAw9C3B;;;;;;;;;;;;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;IA82C9B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAkZzB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA6UxB,GAAG;CA+CV"}
|
package/dist/server.js
CHANGED
|
@@ -1108,6 +1108,32 @@ Allowlist: css, scss, less, json. PHP / JS theme writes are intentionally out of
|
|
|
1108
1108
|
name: s.name || s.id || 'site',
|
|
1109
1109
|
url: s.url,
|
|
1110
1110
|
}));
|
|
1111
|
+
// Verify the write instead of assuming it. This function has just written
|
|
1112
|
+
// a config file and is about to report success. Whether the NEXT server
|
|
1113
|
+
// start reads that file is a separate question, and the answer is no
|
|
1114
|
+
// whenever RESPIRA_CONFIG_B64 is set or the host points
|
|
1115
|
+
// RESPIRA_CONFIG_FILE somewhere else. Reporting success without saying so
|
|
1116
|
+
// is how a redeem "works" and changes nothing, which is the shape of
|
|
1117
|
+
// M.S.'s report and part of Desmond's.
|
|
1118
|
+
let writeVerification = null;
|
|
1119
|
+
try {
|
|
1120
|
+
const { readFileSync } = await import('node:fs');
|
|
1121
|
+
const written = JSON.parse(readFileSync(configPath, 'utf8'));
|
|
1122
|
+
const writtenCount = Array.isArray(written?.sites) ? written.sites.length : 0;
|
|
1123
|
+
const b64Set = Boolean(process.env.RESPIRA_CONFIG_B64);
|
|
1124
|
+
writeVerification = {
|
|
1125
|
+
config_written_to: configPath,
|
|
1126
|
+
sites_in_written_file: writtenCount,
|
|
1127
|
+
will_next_start_read_this_file: !b64Set,
|
|
1128
|
+
overridden_by: b64Set ? 'RESPIRA_CONFIG_B64' : null,
|
|
1129
|
+
};
|
|
1130
|
+
}
|
|
1131
|
+
catch (err) {
|
|
1132
|
+
writeVerification = {
|
|
1133
|
+
config_written_to: configPath,
|
|
1134
|
+
readback_failed: String(err?.message || err),
|
|
1135
|
+
};
|
|
1136
|
+
}
|
|
1111
1137
|
const hasConfigB64 = Boolean(process.env.RESPIRA_CONFIG_B64);
|
|
1112
1138
|
const baseMessage = `Connected ${tokenSites.length} site${tokenSites.length === 1 ? '' : 's'} via this Respira Cowork token. ${allSites.length} site${allSites.length === 1 ? '' : 's'} total now configured at ${configPath}. Restart this Cowork chat (or open a new one) so the MCP server picks up the new sites.`;
|
|
1113
1139
|
const message = hasConfigB64
|
|
@@ -1120,6 +1146,9 @@ Allowlist: css, scss, less, json. PHP / JS theme writes are intentionally out of
|
|
|
1120
1146
|
newly_redeemed_sites: tokenSites,
|
|
1121
1147
|
config_path: configPath,
|
|
1122
1148
|
config_b64_active: hasConfigB64,
|
|
1149
|
+
// Proof rather than assumption: what landed on disk, and whether the
|
|
1150
|
+
// next start will actually read it.
|
|
1151
|
+
write_verification: writeVerification,
|
|
1123
1152
|
message,
|
|
1124
1153
|
};
|
|
1125
1154
|
}
|
|
@@ -2123,6 +2152,27 @@ Allowlist: css, scss, less, json. PHP / JS theme writes are intentionally out of
|
|
|
2123
2152
|
columns: {
|
|
2124
2153
|
type: 'array',
|
|
2125
2154
|
description: 'The mega-menu columns: [ { "label": "Plugins", "url": "#", "links": [ { "label": "Respira", "url": "/respira" } ] } ].',
|
|
2155
|
+
// Gemini's API validates tool schemas strictly and rejects the ENTIRE
|
|
2156
|
+
// toolset over one array without items (400 on function_declarations).
|
|
2157
|
+
// This was the only such array; a customer on VS Code + Continue +
|
|
2158
|
+
// Gemini could not initialize at all because of it.
|
|
2159
|
+
items: {
|
|
2160
|
+
type: 'object',
|
|
2161
|
+
properties: {
|
|
2162
|
+
label: { type: 'string' },
|
|
2163
|
+
url: { type: 'string' },
|
|
2164
|
+
links: {
|
|
2165
|
+
type: 'array',
|
|
2166
|
+
items: {
|
|
2167
|
+
type: 'object',
|
|
2168
|
+
properties: {
|
|
2169
|
+
label: { type: 'string' },
|
|
2170
|
+
url: { type: 'string' },
|
|
2171
|
+
},
|
|
2172
|
+
},
|
|
2173
|
+
},
|
|
2174
|
+
},
|
|
2175
|
+
},
|
|
2126
2176
|
},
|
|
2127
2177
|
location: { type: 'string', description: 'Optional theme menu location slug to assign, e.g. "primary-menu".' },
|
|
2128
2178
|
},
|
|
@@ -5882,6 +5932,15 @@ Allowlist: css, scss, less, json. PHP / JS theme writes are intentionally out of
|
|
|
5882
5932
|
page_id: { type: 'number', description: 'Defaults to the shop page' },
|
|
5883
5933
|
changes: { type: 'object', description: 'e.g. {columns: 4, rows: 3, orderby: "popularity"}' },
|
|
5884
5934
|
dry_run: { type: 'boolean' },
|
|
5935
|
+
edit_target: {
|
|
5936
|
+
type: 'string',
|
|
5937
|
+
enum: ['live', 'duplicate'],
|
|
5938
|
+
description: 'Set "live" to write the template directly instead of creating an approval proposal. Requires respira_allow_direct_edit on the site; without that option the call is refused rather than silently downgraded. Omit to keep the default proposal flow.',
|
|
5939
|
+
},
|
|
5940
|
+
verification_marker: {
|
|
5941
|
+
type: 'string',
|
|
5942
|
+
description: 'A distinctive string your change is expected to produce in the rendered output. When supplied, verification looks for it instead of comparing whole-page hashes, which is materially more reliable in both directions. Never auto-generated: a marker derived from a generic value could match unrelated content and report a false pass.',
|
|
5943
|
+
},
|
|
5885
5944
|
},
|
|
5886
5945
|
required: ['changes'],
|
|
5887
5946
|
},
|
|
@@ -5897,6 +5956,15 @@ Allowlist: css, scss, less, json. PHP / JS theme writes are intentionally out of
|
|
|
5897
5956
|
badge_text: { type: 'string', description: 'Default "Only {qty} left"' },
|
|
5898
5957
|
badge_style: { type: 'string' },
|
|
5899
5958
|
dry_run: { type: 'boolean' },
|
|
5959
|
+
edit_target: {
|
|
5960
|
+
type: 'string',
|
|
5961
|
+
enum: ['live', 'duplicate'],
|
|
5962
|
+
description: 'Set "live" to write the template directly instead of creating an approval proposal. Requires respira_allow_direct_edit on the site; without that option the call is refused rather than silently downgraded. Omit to keep the default proposal flow.',
|
|
5963
|
+
},
|
|
5964
|
+
verification_marker: {
|
|
5965
|
+
type: 'string',
|
|
5966
|
+
description: 'A distinctive string your change is expected to produce in the rendered output. When supplied, verification looks for it instead of comparing whole-page hashes, which is materially more reliable in both directions. Never auto-generated: a marker derived from a generic value could match unrelated content and report a false pass.',
|
|
5967
|
+
},
|
|
5900
5968
|
},
|
|
5901
5969
|
},
|
|
5902
5970
|
},
|
|
@@ -5908,6 +5976,15 @@ Allowlist: css, scss, less, json. PHP / JS theme writes are intentionally out of
|
|
|
5908
5976
|
properties: {
|
|
5909
5977
|
page_id: { type: 'number' },
|
|
5910
5978
|
dry_run: { type: 'boolean' },
|
|
5979
|
+
edit_target: {
|
|
5980
|
+
type: 'string',
|
|
5981
|
+
enum: ['live', 'duplicate'],
|
|
5982
|
+
description: 'Set "live" to write the template directly instead of creating an approval proposal. Requires respira_allow_direct_edit on the site; without that option the call is refused rather than silently downgraded. Omit to keep the default proposal flow.',
|
|
5983
|
+
},
|
|
5984
|
+
verification_marker: {
|
|
5985
|
+
type: 'string',
|
|
5986
|
+
description: 'A distinctive string your change is expected to produce in the rendered output. When supplied, verification looks for it instead of comparing whole-page hashes, which is materially more reliable in both directions. Never auto-generated: a marker derived from a generic value could match unrelated content and report a false pass.',
|
|
5987
|
+
},
|
|
5911
5988
|
},
|
|
5912
5989
|
},
|
|
5913
5990
|
},
|
|
@@ -5929,6 +6006,15 @@ Allowlist: css, scss, less, json. PHP / JS theme writes are intentionally out of
|
|
|
5929
6006
|
field: { type: 'string', description: 'Canonical block name, e.g. "woocommerce/product-image". Use analyze_storefront_card to list what this card has.' },
|
|
5930
6007
|
attributes: { type: 'object', description: 'Attributes to set on that block.' },
|
|
5931
6008
|
dry_run: { type: 'boolean' },
|
|
6009
|
+
edit_target: {
|
|
6010
|
+
type: 'string',
|
|
6011
|
+
enum: ['live', 'duplicate'],
|
|
6012
|
+
description: 'Set "live" to write the template directly instead of creating an approval proposal. Requires respira_allow_direct_edit on the site; without that option the call is refused rather than silently downgraded. Omit to keep the default proposal flow.',
|
|
6013
|
+
},
|
|
6014
|
+
verification_marker: {
|
|
6015
|
+
type: 'string',
|
|
6016
|
+
description: 'A distinctive string your change is expected to produce in the rendered output. When supplied, verification looks for it instead of comparing whole-page hashes, which is materially more reliable in both directions. Never auto-generated: a marker derived from a generic value could match unrelated content and report a false pass.',
|
|
6017
|
+
},
|
|
5932
6018
|
},
|
|
5933
6019
|
required: ['field', 'attributes'],
|
|
5934
6020
|
},
|
|
@@ -7126,6 +7212,7 @@ Allowlist: css, scss, less, json. PHP / JS theme writes are intentionally out of
|
|
|
7126
7212
|
}
|
|
7127
7213
|
case 'wordpress_diagnose_connection': {
|
|
7128
7214
|
const siteDiag = await client.diagnoseConnection({ post_id: args.post_id, probe_timeout_ms: args.probe_timeout_ms });
|
|
7215
|
+
const { describeEffectiveConfig } = await import('./config.js');
|
|
7129
7216
|
// v6.17.2: append process-level runtime info so version drift,
|
|
7130
7217
|
// orphan processes, and a stale RESPIRA_SITES filter become
|
|
7131
7218
|
// visible from a single tool call rather than requiring shell
|
|
@@ -7151,6 +7238,24 @@ Allowlist: css, scss, less, json. PHP / JS theme writes are intentionally out of
|
|
|
7151
7238
|
? Array.from(this.sites.values()).filter((s) => !this.isSiteAllowed(s)).length
|
|
7152
7239
|
: 0,
|
|
7153
7240
|
},
|
|
7241
|
+
// What configuration this server is ACTUALLY running on.
|
|
7242
|
+
//
|
|
7243
|
+
// Three customers in two weeks lost time to the same thing: the
|
|
7244
|
+
// client's effective configuration is invisible, and can differ from
|
|
7245
|
+
// what a tool reported writing. One had a licence lapse leave his
|
|
7246
|
+
// keys dead, one had redeem write a config that was never read, one
|
|
7247
|
+
// installed the Desktop bundle while an older npx entry kept winning
|
|
7248
|
+
// and stayed on a single site for three weeks. Every one of them had
|
|
7249
|
+
// to read config files, or have telemetry read for them, to find out.
|
|
7250
|
+
//
|
|
7251
|
+
// Different mechanisms, one missing instrument. This is the
|
|
7252
|
+
// instrument: it says which config source won, how many sites came
|
|
7253
|
+
// out of it, and which ones, so "the tool says 5 sites, Claude sees
|
|
7254
|
+
// 1" is answerable in a single call instead of a support thread.
|
|
7255
|
+
client_config: describeEffectiveConfig(Array.from(this.sites.values()).map((c) => {
|
|
7256
|
+
const summary = c.getSiteSummary();
|
|
7257
|
+
return { id: summary.id, url: summary.url };
|
|
7258
|
+
})),
|
|
7154
7259
|
};
|
|
7155
7260
|
}
|
|
7156
7261
|
// v6.17: docs full-text search. See searchDocs() below.
|