@algosuite/vo-mcp 0.2.0-beta.40 → 0.2.0-beta.43
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/dist/agent-auth-probe-cli.mjs +13 -2
- package/dist/cli.js +9 -2
- package/dist/cli.js.map +2 -2
- package/dist/runner-cli.js +119 -22
- package/dist/runner-cli.js.map +3 -3
- package/dist/runner-supervisor.js +13 -2
- package/dist/runner-supervisor.js.map +2 -2
- package/dist/set-key-cli.js +12 -4
- package/dist/set-key-cli.js.map +2 -2
- package/package.json +1 -1
|
@@ -400,6 +400,7 @@ function extractModelUsage(evt) {
|
|
|
400
400
|
}
|
|
401
401
|
|
|
402
402
|
// ../../scripts/virtual-office/code-runner/claude-result-event.mjs
|
|
403
|
+
var CAPPED_RESULT_SUBTYPES = Object.freeze(["error_max_budget_usd", "error_max_turns"]);
|
|
403
404
|
function buildResultEvent(evt) {
|
|
404
405
|
const isError = Boolean(evt.is_error) || evt.subtype === "error_max_turns" || evt.subtype === "error_during_execution";
|
|
405
406
|
return {
|
|
@@ -681,7 +682,14 @@ var PROVIDER_ENV = {
|
|
|
681
682
|
"oai-compat": ["VO_CODE_RUNNER_OAI_API_KEY"],
|
|
682
683
|
// Sovereign local inference (Ollama / LM Studio). The key is OPTIONAL — most
|
|
683
684
|
// local servers need none — and exists for locally secured endpoints only.
|
|
684
|
-
local: ["VO_CODE_RUNNER_LOCAL_API_KEY"]
|
|
685
|
+
local: ["VO_CODE_RUNNER_LOCAL_API_KEY"],
|
|
686
|
+
// AlgoHQ cloud consensus (ADR-002 moat plane) entitlement token. Not a model
|
|
687
|
+
// key: it authorises the runner's `vo_consensus_judgment` / `vo_verify_answer`
|
|
688
|
+
// tools against the moat. On an npm-installed runner the local consensus
|
|
689
|
+
// engine is never present (it is a workspace-only package), so WITHOUT this
|
|
690
|
+
// token every consensus call answers `unimplemented /
|
|
691
|
+
// consensus-engine-package-not-installed` (2026-08-16 finding, task fbd8659b).
|
|
692
|
+
moat: ["VO_ENTITLEMENT_TOKEN"]
|
|
685
693
|
};
|
|
686
694
|
var PROVIDER_ALIAS = {
|
|
687
695
|
claude: "anthropic",
|
|
@@ -697,7 +705,10 @@ var PROVIDER_ALIAS = {
|
|
|
697
705
|
"oai-compat": "oai-compat",
|
|
698
706
|
local: "local",
|
|
699
707
|
ollama: "local",
|
|
700
|
-
lmstudio: "local"
|
|
708
|
+
lmstudio: "local",
|
|
709
|
+
moat: "moat",
|
|
710
|
+
entitlement: "moat",
|
|
711
|
+
consensus: "moat"
|
|
701
712
|
};
|
|
702
713
|
function resolveProvider(name) {
|
|
703
714
|
const key = String(name || "").trim().toLowerCase();
|
package/dist/cli.js
CHANGED
|
@@ -8400,10 +8400,15 @@ function createConsensusFallbackClient(primary, fallback, options = {}) {
|
|
|
8400
8400
|
import { createRequire as createRequire2 } from "node:module";
|
|
8401
8401
|
var require2 = createRequire2(import.meta.url);
|
|
8402
8402
|
var KEY_SERVICE = "algosuite-vo";
|
|
8403
|
+
var MOAT_ENTITLEMENT_KEYCHAIN_ACCOUNT = "moat-api-key";
|
|
8403
8404
|
var KEYCHAIN_TARGETS = [
|
|
8404
8405
|
{ account: "anthropic-api-key", envVar: "ANTHROPIC_API_KEY" },
|
|
8405
8406
|
{ account: "openai-api-key", envVar: "OPENAI_API_KEY" },
|
|
8406
|
-
{ account: "meta-api-key", envVar: "MODEL_API_KEY" }
|
|
8407
|
+
{ account: "meta-api-key", envVar: "MODEL_API_KEY" },
|
|
8408
|
+
// The cloud-consensus entitlement (ADR-002 moat). Read here so an npm-installed
|
|
8409
|
+
// runner — where the local engine package never exists — still has a working
|
|
8410
|
+
// consensus path without an operator plumbing a secret into the daemon's env.
|
|
8411
|
+
{ account: MOAT_ENTITLEMENT_KEYCHAIN_ACCOUNT, envVar: "VO_ENTITLEMENT_TOKEN" }
|
|
8407
8412
|
];
|
|
8408
8413
|
function loadEntryCtor() {
|
|
8409
8414
|
try {
|
|
@@ -8703,7 +8708,7 @@ async function main() {
|
|
|
8703
8708
|
if (!process.env[key] && localEnv[key]) process.env[key] = localEnv[key];
|
|
8704
8709
|
}
|
|
8705
8710
|
const localConsensus = tryCreateEngineConsensusClientFromEnv({ envSource: localEnv });
|
|
8706
|
-
const cloudConsensus = testClient ? null : tryCreateMoatConsensusClientFromEnv();
|
|
8711
|
+
const cloudConsensus = testClient ? null : tryCreateMoatConsensusClientFromEnv(localEnv);
|
|
8707
8712
|
let consensus = testClient ?? localConsensus;
|
|
8708
8713
|
if (!testClient && cloudConsensus && localProviders.length >= 2) {
|
|
8709
8714
|
console.error(`[vo-mcp] local-first consensus active (${localProviders.join(", ")}); cloud moat is fallback-only`);
|
|
@@ -8713,6 +8718,8 @@ async function main() {
|
|
|
8713
8718
|
} else if (!testClient && cloudConsensus) {
|
|
8714
8719
|
console.error("[vo-mcp] fewer than 2 linked local providers; cloud moat consensus active");
|
|
8715
8720
|
consensus = cloudConsensus;
|
|
8721
|
+
} else if (!testClient) {
|
|
8722
|
+
console.error("[vo-mcp] no VO_ENTITLEMENT_TOKEN (env or keychain via `vo-mcp set-key --provider moat`); consensus tools depend on a locally installed engine and will report engine-unavailable on an npm-installed runner");
|
|
8716
8723
|
}
|
|
8717
8724
|
let adminCallables = null;
|
|
8718
8725
|
try {
|