@haven_ai/connect 0.2.0-alpha.0 → 0.2.1-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -0
- package/dist/cli.cjs +19 -13
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.js +19 -13
- package/dist/cli.js.map +1 -1
- package/dist/index.cjs +19 -13
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +4 -4
- package/dist/index.d.ts +4 -4
- package/dist/index.js +19 -13
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/dist/cli.js
CHANGED
|
@@ -550,9 +550,9 @@ var init_runtime_manifest = __esm({
|
|
|
550
550
|
mcpPackage: "@haven_ai/mcp",
|
|
551
551
|
mcpVersion: MCP_VERSION,
|
|
552
552
|
sdkPackage: "@haven_ai/sdk",
|
|
553
|
-
sdkVersion: "0.2.
|
|
553
|
+
sdkVersion: "0.2.1-alpha.0",
|
|
554
554
|
signerPackage: "@haven_ai/signer",
|
|
555
|
-
signerVersion: "0.2.
|
|
555
|
+
signerVersion: "0.2.1-alpha.0",
|
|
556
556
|
// Sourced from the SDK, never a literal (#1161). This field read '20.0.0'
|
|
557
557
|
// while every package's `engines` said `>=24` and the docs said `>=24.0.0`,
|
|
558
558
|
// so the guard that was supposed to enforce the floor waved Node v23 through
|
|
@@ -2658,7 +2658,7 @@ async function installRuntime(input, deps = {}) {
|
|
|
2658
2658
|
(signerProbe === void 0 || signerProbe.status === "ok");
|
|
2659
2659
|
const restartRequired = configResult.restartRequired || restartRequiredForRuntime(runtime, deps.env);
|
|
2660
2660
|
const errorCode = configResult.errorCode ?? (configResult.runtimeMcpMode === "local_stdio" ? localMcpErrorCode(signerCredentialReady, localMcpConsent, localMcpProbe?.status) : hostedMcpErrorCode(configResult.hostedConfigured, hostedProbe.status) ?? signerConsentErrorCode(signerCredentialReady, signerConsent) ?? signerProbeErrorCode(signerProbe));
|
|
2661
|
-
const hostedProbeMessages = configResult.hostedConfigured && hostedProbe.status !== "ok" ? [`Hosted Haven MCP probe failed: ${hostedProbe.status}.`] : configResult.hostedConfigured ? ["Verified hosted Haven MCP tools
|
|
2661
|
+
const hostedProbeMessages = configResult.hostedConfigured && hostedProbe.status !== "ok" ? [`Hosted Haven MCP probe failed: ${hostedProbe.status}.`] : configResult.hostedConfigured ? ["Verified that the hosted Haven MCP tools endpoint responds to a read-only handshake."] : [];
|
|
2662
2662
|
const signerProbeMessages = signerProbe ? signerProbe.status === "ok" ? ["Verified local Haven signer with a stdio handshake."] : [
|
|
2663
2663
|
`Local Haven signer handshake failed: ${signerProbe.status}.`,
|
|
2664
2664
|
`Re-run \`${connectorRerunCommand()}\` to repair the signer setup.`
|
|
@@ -3708,14 +3708,17 @@ async function checksForAgent(entry, input, deps) {
|
|
|
3708
3708
|
...matches ? {} : { repair: `Run: ${RERUN} --doctor --repair --runtime ${input.runtime} with the same HAVEN_*_SPEC variables set.` }
|
|
3709
3709
|
});
|
|
3710
3710
|
} else {
|
|
3711
|
-
const
|
|
3711
|
+
const intact = await installedRuntimeMatchesVersions(sidecar.runtime_directory, sidecar.cli_path, {
|
|
3712
|
+
signerVersion: sidecar.signer_version,
|
|
3713
|
+
sdkVersion: sidecar.sdk_version
|
|
3714
|
+
});
|
|
3712
3715
|
const versionOk = sidecar.signer_version === MCP_RUNTIME_MANIFEST.signerVersion;
|
|
3713
|
-
const ok =
|
|
3716
|
+
const ok = intact && versionOk;
|
|
3714
3717
|
checks.push({
|
|
3715
3718
|
id: "signer_runtime",
|
|
3716
3719
|
label: "Signer runtime (preinstalled wrapper)",
|
|
3717
3720
|
ok,
|
|
3718
|
-
detail: ok ? `Installed ${sidecar.signer_package}@${sidecar.signer_version} at ${sidecar.runtime_directory}` :
|
|
3721
|
+
detail: ok ? `Installed ${sidecar.signer_package}@${sidecar.signer_version} at ${sidecar.runtime_directory}` : intact ? `Installed version ${sidecar.signer_version} does not match the connector's pinned ${MCP_RUNTIME_MANIFEST.signerVersion} \u2014 intact, but outdated.` : `Runtime directory is stale or empty (${sidecar.runtime_directory}) \u2014 the CLI or package versions are missing.`,
|
|
3719
3722
|
...ok ? {} : { repair: `Run: ${RERUN} --doctor --repair --runtime ${input.runtime}` }
|
|
3720
3723
|
});
|
|
3721
3724
|
}
|
|
@@ -3728,9 +3731,9 @@ async function checksForAgent(entry, input, deps) {
|
|
|
3728
3731
|
id: "hosted_mcp",
|
|
3729
3732
|
label: "Hosted Haven MCP",
|
|
3730
3733
|
ok: probe.status === "ok",
|
|
3731
|
-
detail: probe.status === "ok" ? `
|
|
3734
|
+
detail: probe.status === "ok" ? `MCP tools endpoint is reachable (${hostedUrl}).` : `MCP tools endpoint probe failed: ${probe.status} (${hostedUrl}).`,
|
|
3732
3735
|
...probe.status === "ok" ? {} : {
|
|
3733
|
-
repair:
|
|
3736
|
+
repair: "Check network access and runtime configuration for the hosted MCP URL, then re-run --doctor."
|
|
3734
3737
|
}
|
|
3735
3738
|
});
|
|
3736
3739
|
} else {
|
|
@@ -3964,14 +3967,17 @@ async function runDoctor(input, deps = {}) {
|
|
|
3964
3967
|
const identity = await readIdentity(entry.directory);
|
|
3965
3968
|
const tombstone = await readAgentTombstone(entry.directory);
|
|
3966
3969
|
const otherAgent = entry.agentId ?? basename(entry.directory);
|
|
3967
|
-
|
|
3968
|
-
if (!identity?.api_key || !otherUrl) {
|
|
3970
|
+
if (!identity?.api_key || !identity.api_url) {
|
|
3969
3971
|
if (tombstone) retired.push(`${otherAgent} (retired ${tombstone.retired_at})`);
|
|
3970
|
-
else unverifiable.push(`${otherAgent} (no stored key/URL to probe)`);
|
|
3972
|
+
else unverifiable.push(`${otherAgent} (no stored key/API URL to probe)`);
|
|
3971
3973
|
continue;
|
|
3972
3974
|
}
|
|
3973
3975
|
const suffix = tombstone ? " [tombstoned \u2014 key material still present]" : "";
|
|
3974
|
-
const probe = await (deps.
|
|
3976
|
+
const probe = await (deps.probeHostedIdentity ?? probeHostedAgentIdentity)(
|
|
3977
|
+
identity.api_key,
|
|
3978
|
+
identity.api_url,
|
|
3979
|
+
deps.fetch
|
|
3980
|
+
);
|
|
3975
3981
|
if (probe.status === "ok") live.push({ label: `${otherAgent}${suffix}`, entry });
|
|
3976
3982
|
else if (probe.status === "unauthorized") revoked.push(`${otherAgent}${suffix}`);
|
|
3977
3983
|
else unverifiable.push(`${otherAgent} (${probe.status})${suffix}`);
|
|
@@ -4415,7 +4421,7 @@ async function pathExists2(path) {
|
|
|
4415
4421
|
init_unwire();
|
|
4416
4422
|
init_local_mcp_runtime();
|
|
4417
4423
|
init_runtime_manifest();
|
|
4418
|
-
var CONNECTOR_VERSION = "0.2.
|
|
4424
|
+
var CONNECTOR_VERSION = "0.2.1-alpha.0";
|
|
4419
4425
|
var CONNECT_OUTCOME_SCHEMA_VERSION = 1;
|
|
4420
4426
|
var failureOutcomesByError = /* @__PURE__ */ new WeakMap();
|
|
4421
4427
|
function failureOutcomeFor(runtimeHint, error) {
|