@opvs-ai/mcp 2.7.1 → 2.8.1
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 +22 -1
- package/dist/.build-stamp.json +5 -5
- package/dist/brand-scope.d.ts +32 -0
- package/dist/brand-scope.js +71 -0
- package/dist/brand-scope.js.map +1 -0
- package/dist/index.js +13 -23
- package/dist/index.js.map +1 -1
- package/dist/whoami.d.ts +2 -0
- package/dist/whoami.js +111 -0
- package/dist/whoami.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -85,15 +85,36 @@ npm view @opvs-ai/mcp version --@opvs-ai:registry=https://registry.npmjs.org
|
|
|
85
85
|
|
|
86
86
|
## Auth
|
|
87
87
|
|
|
88
|
-
Reads
|
|
88
|
+
Reads credentials from **two sources, in this order** (PC-249 / OD-327):
|
|
89
|
+
|
|
90
|
+
1. **Environment variables** — `OPVS_TOKEN` and `OPVS_API_URL`. The mainstream
|
|
91
|
+
way to inject credentials in containers, CI jobs and hosted MCP runners
|
|
92
|
+
that have no writable home.
|
|
93
|
+
2. **`~/.opvs/config.json`** — the file `opvs auth request` writes; shared
|
|
94
|
+
with `@opvs-ai/cli`. A config file's stored token is overridden if
|
|
95
|
+
`OPVS_TOKEN` is exported; the workspace slug, brand_id and brand_name come
|
|
96
|
+
from the file and the server pins the brand from the PAT itself.
|
|
97
|
+
|
|
98
|
+
If neither source has a token, `whoami` returns a structured error with
|
|
99
|
+
`code: "no_credentials_found"` and guidance naming both sources — not a
|
|
100
|
+
"PAT may be missing or expired" message, which is the wrong fix for that
|
|
101
|
+
case.
|
|
89
102
|
|
|
90
103
|
```bash
|
|
104
|
+
# On a developer machine — file path
|
|
91
105
|
npm install -g @opvs-ai/cli @opvs-ai/mcp
|
|
92
106
|
opvs auth request -w <workspace-slug> -e <admin-email>
|
|
93
107
|
# (approve the email link)
|
|
94
108
|
opvs whoami # confirm brand pinned
|
|
109
|
+
|
|
110
|
+
# In a container / CI — env path (no config file needed)
|
|
111
|
+
OPVS_TOKEN=opvs_pat_xxx OPVS_API_URL=https://app.opvs.ai opvs-mcp
|
|
95
112
|
```
|
|
96
113
|
|
|
114
|
+
The brand is pinned server-side from the PAT — `tool_call` will refuse if the
|
|
115
|
+
PAT isn't brand-scoped. Env-only callers whose PAT was minted without a brand
|
|
116
|
+
will see a `#audit.warn:brand=missing` line in every `whoami` response.
|
|
117
|
+
|
|
97
118
|
## MCP client config
|
|
98
119
|
|
|
99
120
|
### Claude Desktop
|
package/dist/.build-stamp.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"stamp_version": 1,
|
|
3
3
|
"package": "@opvs-ai/mcp",
|
|
4
|
-
"version": "2.
|
|
5
|
-
"source_digest": "
|
|
6
|
-
"source_files":
|
|
7
|
-
"built_at": "2026-09-
|
|
8
|
-
"node": "v22.
|
|
4
|
+
"version": "2.8.1",
|
|
5
|
+
"source_digest": "915b24ded903f7fb8c307958d4887fab6fbc99e26f3ee119a0fafe2555809dea",
|
|
6
|
+
"source_files": 8,
|
|
7
|
+
"built_at": "2026-09-29T12:58:00.513Z",
|
|
8
|
+
"node": "v22.23.2"
|
|
9
9
|
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Params that NAME A TENANT. On an OPVS-internal skill the server pins the
|
|
3
|
+
* brand from the PAT and ignores every one of them.
|
|
4
|
+
*
|
|
5
|
+
* That silence is the whole problem. A caller who passes
|
|
6
|
+
* `workspace: "someone-elses-brand"` gets a 200 and a confident answer about
|
|
7
|
+
* a DIFFERENT brand than the one they asked about, with nothing in the
|
|
8
|
+
* response saying so. Ignoring the parameter is correct — honouring it would
|
|
9
|
+
* be a cross-tenant read — but answering as though it had been understood is
|
|
10
|
+
* not. Reported by @di-atomic 2026-09-21.
|
|
11
|
+
*
|
|
12
|
+
* `brand_id` is here too: the `tool_call` description has always said "never
|
|
13
|
+
* set brand_id — it's pinned server-side", and a rule stated only in prose is
|
|
14
|
+
* a rule nothing enforces.
|
|
15
|
+
*/
|
|
16
|
+
export declare const BRAND_SCOPING_PARAMS: string[];
|
|
17
|
+
/**
|
|
18
|
+
* Refuse a brand-scoping param that DISAGREES with the PAT's own workspace.
|
|
19
|
+
*
|
|
20
|
+
* Deliberately narrow on three axes, because a false refusal here breaks a
|
|
21
|
+
* working call:
|
|
22
|
+
*
|
|
23
|
+
* - only `@opvs-ai` skills. A third-party skill's `workspace` may mean a
|
|
24
|
+
* Slack workspace, a Notion workspace, anything — passthrough is sacred
|
|
25
|
+
* and this must not touch it;
|
|
26
|
+
* - only a MISMATCH. A value that agrees with the PAT is redundant, not
|
|
27
|
+
* wrong, and passes through untouched;
|
|
28
|
+
* - only when the PAT's own workspace and brand are BOTH known. With
|
|
29
|
+
* nothing to compare against there is no mismatch to report, and
|
|
30
|
+
* guessing would be the same defect pointed the other way.
|
|
31
|
+
*/
|
|
32
|
+
export declare function brandScopeMismatch(vendor: string, params: Record<string, unknown> | undefined): string | null;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A brand-scoping parameter that names a DIFFERENT brand is refused, not ignored.
|
|
3
|
+
*
|
|
4
|
+
* Lives in its own module so it can be unit-tested: `index.ts` connects a stdio
|
|
5
|
+
* transport at module scope, so importing it from a test starts a server.
|
|
6
|
+
*/
|
|
7
|
+
import { getEffectiveConfig } from "@opvs-ai/core";
|
|
8
|
+
/**
|
|
9
|
+
* Params that NAME A TENANT. On an OPVS-internal skill the server pins the
|
|
10
|
+
* brand from the PAT and ignores every one of them.
|
|
11
|
+
*
|
|
12
|
+
* That silence is the whole problem. A caller who passes
|
|
13
|
+
* `workspace: "someone-elses-brand"` gets a 200 and a confident answer about
|
|
14
|
+
* a DIFFERENT brand than the one they asked about, with nothing in the
|
|
15
|
+
* response saying so. Ignoring the parameter is correct — honouring it would
|
|
16
|
+
* be a cross-tenant read — but answering as though it had been understood is
|
|
17
|
+
* not. Reported by @di-atomic 2026-09-21.
|
|
18
|
+
*
|
|
19
|
+
* `brand_id` is here too: the `tool_call` description has always said "never
|
|
20
|
+
* set brand_id — it's pinned server-side", and a rule stated only in prose is
|
|
21
|
+
* a rule nothing enforces.
|
|
22
|
+
*/
|
|
23
|
+
export const BRAND_SCOPING_PARAMS = ["workspace", "workspace_slug", "brand", "brand_id"];
|
|
24
|
+
/**
|
|
25
|
+
* Refuse a brand-scoping param that DISAGREES with the PAT's own workspace.
|
|
26
|
+
*
|
|
27
|
+
* Deliberately narrow on three axes, because a false refusal here breaks a
|
|
28
|
+
* working call:
|
|
29
|
+
*
|
|
30
|
+
* - only `@opvs-ai` skills. A third-party skill's `workspace` may mean a
|
|
31
|
+
* Slack workspace, a Notion workspace, anything — passthrough is sacred
|
|
32
|
+
* and this must not touch it;
|
|
33
|
+
* - only a MISMATCH. A value that agrees with the PAT is redundant, not
|
|
34
|
+
* wrong, and passes through untouched;
|
|
35
|
+
* - only when the PAT's own workspace and brand are BOTH known. With
|
|
36
|
+
* nothing to compare against there is no mismatch to report, and
|
|
37
|
+
* guessing would be the same defect pointed the other way.
|
|
38
|
+
*/
|
|
39
|
+
export function brandScopeMismatch(vendor, params) {
|
|
40
|
+
if (vendor !== "@opvs-ai" && vendor !== "opvs-ai")
|
|
41
|
+
return null;
|
|
42
|
+
if (!params)
|
|
43
|
+
return null;
|
|
44
|
+
let cfg;
|
|
45
|
+
try {
|
|
46
|
+
cfg = getEffectiveConfig();
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
return null; // no resolvable workspace — nothing to compare
|
|
50
|
+
}
|
|
51
|
+
const mine = new Set();
|
|
52
|
+
if (cfg.workspace_slug)
|
|
53
|
+
mine.add(String(cfg.workspace_slug).toLowerCase());
|
|
54
|
+
if (cfg.brand_id != null)
|
|
55
|
+
mine.add(String(cfg.brand_id));
|
|
56
|
+
if (mine.size === 0)
|
|
57
|
+
return null;
|
|
58
|
+
for (const key of BRAND_SCOPING_PARAMS) {
|
|
59
|
+
const asked = params[key];
|
|
60
|
+
if (asked == null || asked === "")
|
|
61
|
+
continue;
|
|
62
|
+
if (mine.has(String(asked).toLowerCase()))
|
|
63
|
+
continue;
|
|
64
|
+
return (`this token is pinned to workspace '${cfg.workspace_slug ?? "?"}' ` +
|
|
65
|
+
`(brand_id ${cfg.brand_id ?? "?"}), but \`${key}\` asked for '${String(asked)}'. ` +
|
|
66
|
+
"An OPVS-internal skill always answers for the token's own brand, so the " +
|
|
67
|
+
"reply would have described a different workspace than the one you named.");
|
|
68
|
+
}
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=brand-scope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brand-scope.js","sourceRoot":"","sources":["../src/brand-scope.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,WAAW,EAAE,gBAAgB,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;AAEzF;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAAc,EACd,MAA2C;IAE3C,IAAI,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAC/D,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,IAAI,GAAiE,CAAC;IACtE,IAAI,CAAC;QACH,GAAG,GAAG,kBAAkB,EAAE,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,CAAC,+CAA+C;IAC9D,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,IAAI,GAAG,CAAC,cAAc;QAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAC3E,IAAI,GAAG,CAAC,QAAQ,IAAI,IAAI;QAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzD,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEjC,KAAK,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE;YAAE,SAAS;QAC5C,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YAAE,SAAS;QACpD,OAAO,CACL,sCAAsC,GAAG,CAAC,cAAc,IAAI,GAAG,IAAI;YACnE,aAAa,GAAG,CAAC,QAAQ,IAAI,GAAG,YAAY,GAAG,iBAAiB,MAAM,CAAC,KAAK,CAAC,KAAK;YAClF,0EAA0E;YAC1E,0EAA0E,CAC3E,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -41,11 +41,12 @@
|
|
|
41
41
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
42
42
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
43
43
|
import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
44
|
-
import { getEffectiveConfig } from "@opvs-ai/core";
|
|
45
44
|
import { BOARD_TOOLS, handleBoardAsMarkdown } from "./board.js";
|
|
46
45
|
import { FACTORY_HELP_GUIDANCE } from "./factory-guidance.js";
|
|
46
|
+
import { brandScopeMismatch } from "./brand-scope.js";
|
|
47
47
|
import { del204, err, getJson, getText, ok, postJson } from "./http.js";
|
|
48
48
|
import { FLEET_TOOLS, handleFleetList, handleFleetLogins, handleSlotGet, handleSlotHealth, handleSlotOrder, } from "./fleet.js";
|
|
49
|
+
import { handleWhoami } from "./whoami.js";
|
|
49
50
|
import { readFileSync } from "node:fs";
|
|
50
51
|
import { fileURLToPath } from "node:url";
|
|
51
52
|
import { dirname, join } from "node:path";
|
|
@@ -257,7 +258,10 @@ const TOOLS = [
|
|
|
257
258
|
params: {
|
|
258
259
|
type: "object",
|
|
259
260
|
description: "Method parameters. The runtime forwarder splits these into path/query/body " +
|
|
260
|
-
"based on the skill's schema. Never set `brand_id`
|
|
261
|
+
"based on the skill's schema. Never set `brand_id`, `workspace`, `workspace_slug` " +
|
|
262
|
+
"or `brand` here — an OPVS-internal skill always answers for the brand this PAT " +
|
|
263
|
+
"is pinned to, and a value naming a DIFFERENT brand is refused rather than " +
|
|
264
|
+
"silently answered for the wrong one. To reach another brand, use a token for it.",
|
|
261
265
|
additionalProperties: true,
|
|
262
266
|
},
|
|
263
267
|
},
|
|
@@ -615,6 +619,13 @@ async function handleToolCall(args) {
|
|
|
615
619
|
return err(`skill '${args.skill}' not installed on this brand`, "#audit.error:skill=not-installed " +
|
|
616
620
|
"#next:try tool_search to discover candidates → tool_install to add one.");
|
|
617
621
|
}
|
|
622
|
+
const mismatch = brandScopeMismatch(resolved.vendor, args.params);
|
|
623
|
+
if (mismatch) {
|
|
624
|
+
return err(`tool_call refused: ${mismatch}`, "#audit.error:brand-scope-mismatch " +
|
|
625
|
+
"#next:switch the token's workspace (`opvs workspace use <slug>`, or a PAT " +
|
|
626
|
+
"for that brand) and re-call — or drop the parameter to accept this brand. " +
|
|
627
|
+
"#dont:do not read this answer as being about the workspace you named.");
|
|
628
|
+
}
|
|
618
629
|
// W2.0.A — resolve the URL skill segment from `manifest.skills[].id`, not the
|
|
619
630
|
// package name. Three branches when input is @vendor/name. Bare-name inputs
|
|
620
631
|
// pass through as-is (existing behaviour where sub-skill id == package name).
|
|
@@ -723,27 +734,6 @@ async function handleToolUninstall(args) {
|
|
|
723
734
|
return err(`tool_uninstall failed: ${error.status ?? "?"} ${error.detail ?? ""}`, "#audit.error:uninstall");
|
|
724
735
|
}
|
|
725
736
|
}
|
|
726
|
-
async function handleWhoami() {
|
|
727
|
-
try {
|
|
728
|
-
const cfg = getEffectiveConfig();
|
|
729
|
-
const me = await getJson("/api/v1/auth/me");
|
|
730
|
-
return ok({
|
|
731
|
-
api_url: cfg.api_url,
|
|
732
|
-
workspace: cfg.workspace_slug ?? null,
|
|
733
|
-
brand_id: cfg.brand_id ?? null,
|
|
734
|
-
identity: me,
|
|
735
|
-
_guidance: cfg.brand_id != null
|
|
736
|
-
? `#audit.ok:brand_id=${cfg.brand_id} workspace=${cfg.workspace_slug ?? "?"}`
|
|
737
|
-
: "#audit.warn:brand=missing — this PAT isn't brand-scoped; brand-pinned " +
|
|
738
|
-
"tools (tool_call, tool_list_installed) will refuse. Run `opvs auth request` " +
|
|
739
|
-
"with a brand-scoped workspace.",
|
|
740
|
-
});
|
|
741
|
-
}
|
|
742
|
-
catch (e) {
|
|
743
|
-
const error = e;
|
|
744
|
-
return err(`whoami failed: ${error.status ?? "?"} ${error.detail ?? ""}`, "#audit.error:auth — PAT may be missing or expired. Run `opvs auth request`.");
|
|
745
|
-
}
|
|
746
|
-
}
|
|
747
737
|
async function handleSandboxChat(args) {
|
|
748
738
|
if (!args.vendor || !args.message) {
|
|
749
739
|
return err("vendor and message are required", "#audit.error:input=missing — sandbox_chat needs your vendor id and a message. " +
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/whoami.d.ts
ADDED
package/dist/whoami.js
ADDED
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `whoami` — the auth probe that surfaces who the MCP server thinks it is.
|
|
3
|
+
*
|
|
4
|
+
* Lives outside `index.ts` because that file ends in a top-level
|
|
5
|
+
* `await server.connect(transport)` — importing it to unit-test a handler would
|
|
6
|
+
* start a server. Same reasoning as `board.ts` and `fleet.ts` (OSB-119,
|
|
7
|
+
* OSB-207).
|
|
8
|
+
*
|
|
9
|
+
* Two failure shapes that share the response envelope but mean very different
|
|
10
|
+
* things — keep them apart so an agent that reads the message can act on it
|
|
11
|
+
* (PC-249 / OD-327):
|
|
12
|
+
*
|
|
13
|
+
* no_credentials_found `OPVS_TOKEN` is unset AND no `~/.opvs/config.json`
|
|
14
|
+
* has a token. The fix is to mint a token or inject
|
|
15
|
+
* one as an env var.
|
|
16
|
+
*
|
|
17
|
+
* upstream_401 (etc.) a token WAS presented but the server refused it.
|
|
18
|
+
* The fix is to mint a fresh token, not to set the
|
|
19
|
+
* env var — the env var is already there.
|
|
20
|
+
*
|
|
21
|
+
* The old code collapsed both into `whoami failed: ? ` and blamed an expired
|
|
22
|
+
* token, which sent the operator down the wrong path. The 401-vs-missing split
|
|
23
|
+
* is the whole reason this module exists alongside the auth fix in
|
|
24
|
+
* `@opvs-ai/core`'s `getEffectiveConfig`.
|
|
25
|
+
*/
|
|
26
|
+
import { getEffectiveConfig } from "@opvs-ai/core";
|
|
27
|
+
import { errFields, getJson, ok } from "./http.js";
|
|
28
|
+
const NO_CREDENTIALS_DETAIL = "no credentials found (set OPVS_TOKEN or run opvs auth)";
|
|
29
|
+
/**
|
|
30
|
+
* Plain-Error-from-config vs APIError-from-upstream. `getEffectiveConfig` now
|
|
31
|
+
* throws with `status` and `detail` when no credential source exists, but
|
|
32
|
+
* earlier callers or earlier versions still produce a vanilla `Error`. The
|
|
33
|
+
* "no token source" check below reads `detail` so both shapes are recognized.
|
|
34
|
+
*/
|
|
35
|
+
function isNoCredentialsError(e) {
|
|
36
|
+
if (!e || typeof e !== "object")
|
|
37
|
+
return false;
|
|
38
|
+
const err = e;
|
|
39
|
+
const detail = typeof err.detail === "string" ? err.detail : "";
|
|
40
|
+
const message = typeof err.message === "string" ? err.message : "";
|
|
41
|
+
return (detail.includes("no credentials found") || message.includes("no credentials found"));
|
|
42
|
+
}
|
|
43
|
+
export async function handleWhoami() {
|
|
44
|
+
let cfg;
|
|
45
|
+
try {
|
|
46
|
+
cfg = getEffectiveConfig();
|
|
47
|
+
}
|
|
48
|
+
catch (e) {
|
|
49
|
+
if (isNoCredentialsError(e)) {
|
|
50
|
+
return errFields("no credentials found", { code: "no_credentials_found", status: 401 }, "#audit.error:no-credentials — no credential source was found. " +
|
|
51
|
+
"Set OPVS_TOKEN (and OPVS_API_URL if not https://app.opvs.ai), or " +
|
|
52
|
+
"run `opvs auth request` to write ~/.opvs/config.json. Looked at " +
|
|
53
|
+
"OPVS_TOKEN and ~/.opvs/config.json; both were empty.");
|
|
54
|
+
}
|
|
55
|
+
throw e;
|
|
56
|
+
}
|
|
57
|
+
// A configured workspace with an EMPTY stored token is returned by core with
|
|
58
|
+
// token "" (so `opvs auth status` can say "Not authenticated"); for whoami it
|
|
59
|
+
// is the same "no credentials" answer, and no request is sent.
|
|
60
|
+
if (!cfg.token) {
|
|
61
|
+
return errFields("no credentials found", { code: "no_credentials_found", status: 401 }, "#audit.error:no-credentials — no credential source was found. " +
|
|
62
|
+
"Set OPVS_TOKEN (and OPVS_API_URL if not https://app.opvs.ai), or " +
|
|
63
|
+
"run `opvs auth request` to write ~/.opvs/config.json. Looked at " +
|
|
64
|
+
"OPVS_TOKEN and ~/.opvs/config.json; both were empty.");
|
|
65
|
+
}
|
|
66
|
+
try {
|
|
67
|
+
const me = await getJson("/api/v1/auth/me");
|
|
68
|
+
return ok({
|
|
69
|
+
api_url: cfg.api_url,
|
|
70
|
+
workspace: cfg.workspace_slug ?? null,
|
|
71
|
+
brand_id: cfg.brand_id ?? null,
|
|
72
|
+
identity: me,
|
|
73
|
+
_guidance: cfg.brand_id != null
|
|
74
|
+
? `#audit.ok:brand_id=${cfg.brand_id} workspace=${cfg.workspace_slug ?? "?"}`
|
|
75
|
+
: "#audit.warn:brand=missing — this PAT isn't brand-scoped; brand-pinned " +
|
|
76
|
+
"tools (tool_call, tool_list_installed) will refuse. Run `opvs auth request` " +
|
|
77
|
+
"with a brand-scoped workspace.",
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
catch (e) {
|
|
81
|
+
const error = e;
|
|
82
|
+
const status = typeof error.status === "number" ? error.status : null;
|
|
83
|
+
const detail = (error.detail ?? "").trim();
|
|
84
|
+
// Surface status + body so an agent can read what the server actually said.
|
|
85
|
+
// The old format `${error.status ?? "?"} ${error.detail ?? ""}` produced
|
|
86
|
+
// `whoami failed: ? ` for any thrown value that lacked `status` AND
|
|
87
|
+
// `detail` — the swallowing this card fixes (F5).
|
|
88
|
+
const fields = {
|
|
89
|
+
status,
|
|
90
|
+
body: error.body ?? null,
|
|
91
|
+
};
|
|
92
|
+
if (status === 401) {
|
|
93
|
+
fields.code = "auth_rejected";
|
|
94
|
+
return errFields(`whoami failed: ${status} ${detail}`, fields, "#audit.error:auth-rejected — the server refused the token (401). " +
|
|
95
|
+
"Mint a fresh one with `opvs auth request`. The PAT may be wrong, " +
|
|
96
|
+
"expired, or for a different brand.");
|
|
97
|
+
}
|
|
98
|
+
if (status != null) {
|
|
99
|
+
fields.code = "upstream_error";
|
|
100
|
+
return errFields(`whoami failed: ${status} ${detail}`, fields, "#audit.error:upstream — see `body` for what the server returned. " +
|
|
101
|
+
"Confirm OPVS_API_URL points at a healthy gateway.");
|
|
102
|
+
}
|
|
103
|
+
// No status at all: the request never reached a status line. Either the
|
|
104
|
+
// transport failed (network/DNS/timeout) or a non-APIError was thrown.
|
|
105
|
+
fields.code = "transport_error";
|
|
106
|
+
return errFields(`whoami failed: ? ${detail}`, fields, "#audit.error:transport — no HTTP status reached this client. Check " +
|
|
107
|
+
"OPVS_API_URL is reachable. The PAT may also be missing — see the " +
|
|
108
|
+
"no-credentials guidance.");
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=whoami.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"whoami.js","sourceRoot":"","sources":["../src/whoami.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAO,SAAS,EAAE,OAAO,EAAE,EAAE,EAAmB,MAAM,WAAW,CAAC;AAEzE,MAAM,qBAAqB,GACzB,wDAAwD,CAAC;AAE3D;;;;;GAKG;AACH,SAAS,oBAAoB,CAAC,CAAU;IACtC,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9C,MAAM,GAAG,GAAG,CAA4C,CAAC;IACzD,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,OAAO,CACL,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CACpF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,IAAI,GAAG,CAAC;IACR,IAAI,CAAC;QACH,GAAG,GAAG,kBAAkB,EAAE,CAAC;IAC7B,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,IAAI,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5B,OAAO,SAAS,CACd,sBAAsB,EACtB,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,GAAG,EAAE,EAC7C,gEAAgE;gBAC9D,mEAAmE;gBACnE,kEAAkE;gBAClE,sDAAsD,CACzD,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,CAAC;IACV,CAAC;IACD,6EAA6E;IAC7E,8EAA8E;IAC9E,+DAA+D;IAC/D,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACf,OAAO,SAAS,CACd,sBAAsB,EACtB,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,GAAG,EAAE,EAC7C,gEAAgE;YAC9D,mEAAmE;YACnE,kEAAkE;YAClE,sDAAsD,CACzD,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC5C,OAAO,EAAE,CAAC;YACR,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,SAAS,EAAE,GAAG,CAAC,cAAc,IAAI,IAAI;YACrC,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,IAAI;YAC9B,QAAQ,EAAE,EAAE;YACZ,SAAS,EACP,GAAG,CAAC,QAAQ,IAAI,IAAI;gBAClB,CAAC,CAAC,sBAAsB,GAAG,CAAC,QAAQ,cAAc,GAAG,CAAC,cAAc,IAAI,GAAG,EAAE;gBAC7E,CAAC,CAAC,wEAAwE;oBACxE,8EAA8E;oBAC9E,gCAAgC;SACvC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,MAAM,KAAK,GAAG,CAAyD,CAAC;QACxE,MAAM,MAAM,GAAG,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACtE,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3C,4EAA4E;QAC5E,yEAAyE;QACzE,oEAAoE;QACpE,kDAAkD;QAClD,MAAM,MAAM,GAA4B;YACtC,MAAM;YACN,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI;SACzB,CAAC;QACF,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,GAAG,eAAe,CAAC;YAC9B,OAAO,SAAS,CACd,kBAAkB,MAAM,IAAI,MAAM,EAAE,EACpC,MAAM,EACN,mEAAmE;gBACjE,mEAAmE;gBACnE,oCAAoC,CACvC,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,GAAG,gBAAgB,CAAC;YAC/B,OAAO,SAAS,CACd,kBAAkB,MAAM,IAAI,MAAM,EAAE,EACpC,MAAM,EACN,mEAAmE;gBACjE,mDAAmD,CACtD,CAAC;QACJ,CAAC;QACD,wEAAwE;QACxE,uEAAuE;QACvE,MAAM,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAChC,OAAO,SAAS,CACd,oBAAoB,MAAM,EAAE,EAC5B,MAAM,EACN,qEAAqE;YACnE,mEAAmE;YACnE,0BAA0B,CAC7B,CAAC;IACJ,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opvs-ai/mcp",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.8.1",
|
|
4
4
|
"description": "OPVS MCP server \u2014 16 tools \u2014 10 always-on (tool_search, tool_help, tool_read, tool_call, tool_pin, tool_list_installed, tool_install, tool_uninstall, whoami, board_as_markdown), sandbox_chat, and the 5 fleet tools (fleet_list, slot_get, slot_health, fleet_logins, slot_order) for the on-demand model. Fits under the ~100-tool cap every MCP client enforces. Routes everything else through tool_call indirection.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|