@getmarrow/install 0.1.43 → 0.1.44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -2
- package/package.json +1 -1
- package/src/installer.js +19 -2
package/README.md
CHANGED
|
@@ -91,14 +91,23 @@ npx @getmarrow/install controller stop
|
|
|
91
91
|
|
|
92
92
|
Persistent controller lifecycle is currently Linux-only. On macOS or Windows, activation still installs and verifies the supported hooks without starting or signaling a background process; run `npx @getmarrow/install sidecar` under an owner-managed service and pass `--no-controller`. The controller does not silently upgrade packages, change governance policy, rotate credentials, or modify unrelated project configuration.
|
|
93
93
|
|
|
94
|
-
## What's New in v0.1.
|
|
94
|
+
## What's New in v0.1.44
|
|
95
|
+
|
|
96
|
+
v0.1.44 restores exact package-chain detection and current MCP setup truth:
|
|
97
|
+
|
|
98
|
+
- exact declared, locked, and installed SDK `3.7.56` dependencies are recognized using the live public registry integrity;
|
|
99
|
+
- generated MCP setup, launch, and certified hook commands pin current MCP `3.9.61`;
|
|
100
|
+
- the installer exposes the certified MCP source SHA and public registry integrity in its programmatic adapter provenance without changing credentials, policy, or unrelated configuration;
|
|
101
|
+
- regression coverage rejects stale SDK lock integrity and treats MCP versions older than `3.9.61` as stale.
|
|
102
|
+
|
|
103
|
+
## Previous: v0.1.43
|
|
95
104
|
|
|
96
105
|
v0.1.43 hardens the MCP control path and makes stale client recovery explicit:
|
|
97
106
|
|
|
98
107
|
- `doctor` detects active and configured stale, mixed, or version-unknown Marrow MCP clients without exposing command lines, file paths, configuration contents, or credentials;
|
|
99
108
|
- every generated MCP launch and hook uses the package-explicit `npx --package ... marrow-mcp` form so npm can resolve the executable reliably;
|
|
100
109
|
- when repair is needed, `doctor` reports the pinned setup command, the separate owning-harness restart requirement, and a self-test verification command; it does not terminate harness processes itself;
|
|
101
|
-
- certified hooks
|
|
110
|
+
- certified hooks pinned MCP `3.9.59` and SDK `3.7.56` so the installed runtime matched that release's advertised control contract;
|
|
102
111
|
- existing harnesses retain their honest coverage level: native hooks where supported, MCP calls where available, and governed wrappers or event contracts elsewhere;
|
|
103
112
|
- package upgrades remain operator-approved and never rotate keys or rewrite unrelated configuration.
|
|
104
113
|
|
package/package.json
CHANGED
package/src/installer.js
CHANGED
|
@@ -8,11 +8,26 @@ const { controllerStatus, controllerSupportedPlatform, ensureGovernanceControlle
|
|
|
8
8
|
const DEFAULT_BASE_URL = 'https://api.getmarrow.ai';
|
|
9
9
|
const MARROW_BLOCK_START = '<!-- marrow:passive-start -->';
|
|
10
10
|
const MARROW_BLOCK_END = '<!-- marrow:passive-end -->';
|
|
11
|
-
const MCP_ADAPTER_VERSION = '3.9.
|
|
11
|
+
const MCP_ADAPTER_VERSION = '3.9.61';
|
|
12
|
+
const MCP_ADAPTER_SOURCE_SHA = 'ebe06a5c78895e70ceea7b7383ac31d5aaacbd41';
|
|
13
|
+
const MCP_ADAPTER_INTEGRITY = 'sha512-6ojhKztiJp8/mZecuSnt+kiEe41COPBOjrka9j+r+yFacNl4uapW9quq/wEVo5SxuDmxolFIBaqkX6xIdaD2rA==';
|
|
12
14
|
const SDK_ADAPTER_VERSION = '3.7.56';
|
|
13
|
-
const SDK_ADAPTER_INTEGRITY = 'sha512-
|
|
15
|
+
const SDK_ADAPTER_INTEGRITY = 'sha512-mllohsI4DHpcVuEL58303kpGwS/pl/HMZ99mGNo3swYLomZwwfVzcner9Bn+p0b72989NOpS1l2frY/vra1gfQ==';
|
|
14
16
|
const SDK_ADAPTER_TARBALL = `https://registry.npmjs.org/@getmarrow/sdk/-/sdk-${SDK_ADAPTER_VERSION}.tgz`;
|
|
15
17
|
const MCP_PACKAGE_SPEC = `@getmarrow/mcp@${MCP_ADAPTER_VERSION}`;
|
|
18
|
+
const ADAPTER_PROVENANCE = Object.freeze({
|
|
19
|
+
mcp: Object.freeze({
|
|
20
|
+
package: '@getmarrow/mcp',
|
|
21
|
+
version: MCP_ADAPTER_VERSION,
|
|
22
|
+
source_sha: MCP_ADAPTER_SOURCE_SHA,
|
|
23
|
+
integrity: MCP_ADAPTER_INTEGRITY,
|
|
24
|
+
}),
|
|
25
|
+
sdk: Object.freeze({
|
|
26
|
+
package: '@getmarrow/sdk',
|
|
27
|
+
version: SDK_ADAPTER_VERSION,
|
|
28
|
+
integrity: SDK_ADAPTER_INTEGRITY,
|
|
29
|
+
}),
|
|
30
|
+
});
|
|
16
31
|
const MCP_CONTEXT_HOOK_COMMAND = `npx -y --package=${MCP_PACKAGE_SPEC} marrow-mcp context-hook`;
|
|
17
32
|
const MCP_PRE_ACTION_HOOK_COMMAND = `npx -y --package=${MCP_PACKAGE_SPEC} marrow-mcp pre-action-hook`;
|
|
18
33
|
const MCP_ACTION_RESULT_HOOK_COMMAND = `npx -y --package=${MCP_PACKAGE_SPEC} marrow-mcp hook`;
|
|
@@ -1833,6 +1848,7 @@ async function install(options) {
|
|
|
1833
1848
|
|
|
1834
1849
|
return {
|
|
1835
1850
|
root: detection.root,
|
|
1851
|
+
adapterProvenance: ADAPTER_PROVENANCE,
|
|
1836
1852
|
mode: plan.mode,
|
|
1837
1853
|
writeMode,
|
|
1838
1854
|
detected: {
|
|
@@ -1919,5 +1935,6 @@ module.exports = {
|
|
|
1919
1935
|
activationProfile,
|
|
1920
1936
|
claudeNativeHookFingerprint,
|
|
1921
1937
|
printReport,
|
|
1938
|
+
ADAPTER_PROVENANCE,
|
|
1922
1939
|
HARNESS_CAPABILITY_REGISTRY,
|
|
1923
1940
|
};
|