runbios-mcp 0.2.1-dev.158 → 0.2.1-dev.163
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/config.d.ts +16 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +27 -0
- package/dist/config.js.map +1 -1
- package/dist/http/mcp-handler.d.ts.map +1 -1
- package/dist/http/mcp-handler.js +8 -1
- package/dist/http/mcp-handler.js.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/dist/config.d.ts
CHANGED
|
@@ -26,5 +26,21 @@ export interface LaunchGates {
|
|
|
26
26
|
}
|
|
27
27
|
type LaunchGateEnv = Partial<Pick<NodeJS.ProcessEnv, "RUNBIOS_TRAINING_COMING_SOON" | "BIOS_TRAINING_COMING_SOON" | "RUNBIOS_DATASETS_COMING_SOON" | "BIOS_DATASETS_COMING_SOON">>;
|
|
28
28
|
export declare function resolveLaunchGates(env?: LaunchGateEnv): LaunchGates;
|
|
29
|
+
/**
|
|
30
|
+
* Per-session grant resolution (docs/design-training-beta-access.md). The
|
|
31
|
+
* environment gates above answer "is this surface open in this deployment?";
|
|
32
|
+
* the training-beta grant answers "is THIS organization admitted?". When an
|
|
33
|
+
* env gate is closed and the session knows its org, we ask the control plane
|
|
34
|
+
* once — GET /api/organizations/{id}/features, the same endpoint the console
|
|
35
|
+
* reads — and a granted org gets the creation tools registered for its
|
|
36
|
+
* session even where the environment stays gated for everyone else.
|
|
37
|
+
*
|
|
38
|
+
* Fail-closed in both directions, matching the services: any failure to
|
|
39
|
+
* resolve (no org, non-200, malformed body, network down) reads as NOT
|
|
40
|
+
* granted and the env gates stand as resolved.
|
|
41
|
+
*/
|
|
42
|
+
export declare function sessionLaunchGates(orgId: string, getFeatures: () => Promise<{
|
|
43
|
+
features?: Record<string, boolean>;
|
|
44
|
+
}>, env?: LaunchGateEnv): Promise<LaunchGates>;
|
|
29
45
|
export {};
|
|
30
46
|
//# 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":"AACA,eAAO,MAAM,gBAAgB,+BAA+B,CAAC;AAE7D,KAAK,UAAU,GAAG,OAAO,CACvB,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,kBAAkB,GAAG,eAAe,CAAC,CAC9D,CAAC;AAEF;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,GAAE,UAAwB,GAAG,MAAM,CAEpE;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,KAAK,aAAa,GAAG,OAAO,CAC1B,IAAI,CACF,MAAM,CAAC,UAAU,EACf,8BAA8B,GAC9B,2BAA2B,GAC3B,8BAA8B,GAC9B,2BAA2B,CAC9B,CACF,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,GAAG,GAAE,aAA2B,GAAG,WAAW,CAKhF"}
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,gBAAgB,+BAA+B,CAAC;AAE7D,KAAK,UAAU,GAAG,OAAO,CACvB,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,kBAAkB,GAAG,eAAe,CAAC,CAC9D,CAAC;AAEF;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,GAAE,UAAwB,GAAG,MAAM,CAEpE;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,KAAK,aAAa,GAAG,OAAO,CAC1B,IAAI,CACF,MAAM,CAAC,UAAU,EACf,8BAA8B,GAC9B,2BAA2B,GAC3B,8BAA8B,GAC9B,2BAA2B,CAC9B,CACF,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,GAAG,GAAE,aAA2B,GAAG,WAAW,CAKhF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,OAAO,CAAC;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,EAClE,GAAG,GAAE,aAA2B,GAC/B,OAAO,CAAC,WAAW,CAAC,CAUtB"}
|
package/dist/config.js
CHANGED
|
@@ -13,4 +13,31 @@ export function resolveLaunchGates(env = process.env) {
|
|
|
13
13
|
datasets: (env.RUNBIOS_DATASETS_COMING_SOON ?? env.BIOS_DATASETS_COMING_SOON) !== "false",
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* Per-session grant resolution (docs/design-training-beta-access.md). The
|
|
18
|
+
* environment gates above answer "is this surface open in this deployment?";
|
|
19
|
+
* the training-beta grant answers "is THIS organization admitted?". When an
|
|
20
|
+
* env gate is closed and the session knows its org, we ask the control plane
|
|
21
|
+
* once — GET /api/organizations/{id}/features, the same endpoint the console
|
|
22
|
+
* reads — and a granted org gets the creation tools registered for its
|
|
23
|
+
* session even where the environment stays gated for everyone else.
|
|
24
|
+
*
|
|
25
|
+
* Fail-closed in both directions, matching the services: any failure to
|
|
26
|
+
* resolve (no org, non-200, malformed body, network down) reads as NOT
|
|
27
|
+
* granted and the env gates stand as resolved.
|
|
28
|
+
*/
|
|
29
|
+
export async function sessionLaunchGates(orgId, getFeatures, env = process.env) {
|
|
30
|
+
const gates = resolveLaunchGates(env);
|
|
31
|
+
if (!orgId || (!gates.training && !gates.datasets))
|
|
32
|
+
return gates;
|
|
33
|
+
try {
|
|
34
|
+
const res = await getFeatures();
|
|
35
|
+
if (res?.features?.training !== true)
|
|
36
|
+
return gates;
|
|
37
|
+
return { training: false, datasets: false };
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
return gates;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
16
43
|
//# 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":"AAAA,8EAA8E;AAC9E,MAAM,CAAC,MAAM,gBAAgB,GAAG,4BAA4B,CAAC;AAM7D;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,MAAkB,OAAO,CAAC,GAAG;IAC1D,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,GAAG,CAAC,aAAa,IAAI,gBAAgB,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAC7F,CAAC;AAgCD,MAAM,UAAU,kBAAkB,CAAC,MAAqB,OAAO,CAAC,GAAG;IACjE,OAAO;QACL,QAAQ,EAAE,CAAC,GAAG,CAAC,4BAA4B,IAAI,GAAG,CAAC,yBAAyB,CAAC,KAAK,OAAO;QACzF,QAAQ,EAAE,CAAC,GAAG,CAAC,4BAA4B,IAAI,GAAG,CAAC,yBAAyB,CAAC,KAAK,OAAO;KAC1F,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,MAAM,CAAC,MAAM,gBAAgB,GAAG,4BAA4B,CAAC;AAM7D;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,MAAkB,OAAO,CAAC,GAAG;IAC1D,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,GAAG,CAAC,aAAa,IAAI,gBAAgB,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAC7F,CAAC;AAgCD,MAAM,UAAU,kBAAkB,CAAC,MAAqB,OAAO,CAAC,GAAG;IACjE,OAAO;QACL,QAAQ,EAAE,CAAC,GAAG,CAAC,4BAA4B,IAAI,GAAG,CAAC,yBAAyB,CAAC,KAAK,OAAO;QACzF,QAAQ,EAAE,CAAC,GAAG,CAAC,4BAA4B,IAAI,GAAG,CAAC,yBAAyB,CAAC,KAAK,OAAO;KAC1F,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KAAa,EACb,WAAkE,EAClE,MAAqB,OAAO,CAAC,GAAG;IAEhC,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IACjE,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,WAAW,EAAE,CAAC;QAChC,IAAI,GAAG,EAAE,QAAQ,EAAE,QAAQ,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QACnD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-handler.d.ts","sourceRoot":"","sources":["../../src/http/mcp-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-handler.d.ts","sourceRoot":"","sources":["../../src/http/mcp-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAKjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AA6B3C,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,QAAQ,CAAC;IAChB,GAAG,EAAE,YAAY,CAAC;IAClB,KAAK,EAAE,YAAY,CAAC;CACrB;AAgBD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,cAAc,IAGnB,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CAAC,CAmEhF;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,IAAI,CASlE"}
|
package/dist/http/mcp-handler.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
|
|
2
2
|
import { BiosClient } from "../api-client.js";
|
|
3
|
+
import { sessionLaunchGates } from "../config.js";
|
|
3
4
|
import { createBiosMcpServer, VERSION } from "../server.js";
|
|
4
5
|
import { validateAccessToken } from "./oauth.js";
|
|
5
6
|
/**
|
|
@@ -53,6 +54,12 @@ export function createMcpPostHandler(deps) {
|
|
|
53
54
|
orgId: grant.org_id || undefined,
|
|
54
55
|
userAgent: `bios-mcp-hosted/${VERSION}`,
|
|
55
56
|
});
|
|
57
|
+
// Per-request grant resolution (src/config.ts): the env gates are the
|
|
58
|
+
// deployment's answer; the approved org's training-beta grant can still
|
|
59
|
+
// open this session's creation tools where the deployment stays gated.
|
|
60
|
+
// Resolved fresh on every request — the endpoint is stateless, and a
|
|
61
|
+
// grant written mid-session must reach the very next tools/list.
|
|
62
|
+
const launchGates = await sessionLaunchGates(grant.org_id || "", () => client.api(`/api/organizations/${encodeURIComponent(grant.org_id)}/features`));
|
|
56
63
|
const server = createBiosMcpServer(client, {
|
|
57
64
|
onToolCall: (info) => audit.emit("mcp_tool_call", {
|
|
58
65
|
tool: info.tool,
|
|
@@ -63,7 +70,7 @@ export function createMcpPostHandler(deps) {
|
|
|
63
70
|
grant_id: grant.id,
|
|
64
71
|
...(info.error ? { error: info.error } : {}),
|
|
65
72
|
}),
|
|
66
|
-
});
|
|
73
|
+
}, undefined, launchGates);
|
|
67
74
|
const transport = new StreamableHTTPServerTransport({
|
|
68
75
|
sessionIdGenerator: undefined,
|
|
69
76
|
enableJsonResponse: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-handler.js","sourceRoot":"","sources":["../../src/http/mcp-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAI5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD;;;;;;GAMG;AAEH;;;;;;;GAOG;AACH,MAAM,gBAAiB,SAAQ,UAAU;IAC9B,KAAK,CAAC,YAAY;QACzB,MAAM,IAAI,KAAK,CACb,qEAAqE;YACnE,iFAAiF;YACjF,0DAA0D,CAC7D,CAAC;IACJ,CAAC;CACF;AAQD,SAAS,YAAY,CAAC,GAAa,EAAE,GAAiB;IACpD,GAAG;SACA,MAAM,CAAC,GAAG,CAAC;SACX,GAAG,CACF,kBAAkB,EAClB,6BAA6B,GAAG,CAAC,aAAa,mEAAmE,CAClH;SACA,IAAI,CAAC;QACJ,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,gDAAgD,EAAE;QAClF,EAAE,EAAE,IAAI;KACT,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAoB;IACvD,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAEnC,OAAO,KAAK,UAAU,aAAa,CAAC,GAAY,EAAE,GAAa;QAC7D,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5E,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACvB,OAAO;QACT,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QAEzB,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC;YAClC,OAAO,EAAE,UAAU,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,cAAc,EAAE;YAC7D,WAAW,EAAE,EAAE,aAAa,EAAE,UAAU,QAAQ,EAAE,EAAE;YACpD,WAAW,EAAE,KAAK,CAAC,YAAY;YAC/B,KAAK,EAAE,KAAK,CAAC,MAAM,IAAI,SAAS;YAChC,SAAS,EAAE,mBAAmB,OAAO,EAAE;SACxC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,EAAE;YACzC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CACnB,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE;gBAC1B,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,QAAQ,EAAE,KAAK,CAAC,EAAE;gBAClB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7C,CAAC;SACL,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-handler.js","sourceRoot":"","sources":["../../src/http/mcp-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAI5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD;;;;;;GAMG;AAEH;;;;;;;GAOG;AACH,MAAM,gBAAiB,SAAQ,UAAU;IAC9B,KAAK,CAAC,YAAY;QACzB,MAAM,IAAI,KAAK,CACb,qEAAqE;YACnE,iFAAiF;YACjF,0DAA0D,CAC7D,CAAC;IACJ,CAAC;CACF;AAQD,SAAS,YAAY,CAAC,GAAa,EAAE,GAAiB;IACpD,GAAG;SACA,MAAM,CAAC,GAAG,CAAC;SACX,GAAG,CACF,kBAAkB,EAClB,6BAA6B,GAAG,CAAC,aAAa,mEAAmE,CAClH;SACA,IAAI,CAAC;QACJ,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,gDAAgD,EAAE;QAClF,EAAE,EAAE,IAAI;KACT,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAoB;IACvD,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAEnC,OAAO,KAAK,UAAU,aAAa,CAAC,GAAY,EAAE,GAAa;QAC7D,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5E,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACvB,OAAO;QACT,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QAEzB,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC;YAClC,OAAO,EAAE,UAAU,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,cAAc,EAAE;YAC7D,WAAW,EAAE,EAAE,aAAa,EAAE,UAAU,QAAQ,EAAE,EAAE;YACpD,WAAW,EAAE,KAAK,CAAC,YAAY;YAC/B,KAAK,EAAE,KAAK,CAAC,MAAM,IAAI,SAAS;YAChC,SAAS,EAAE,mBAAmB,OAAO,EAAE;SACxC,CAAC,CAAC;QAEH,sEAAsE;QACtE,wEAAwE;QACxE,uEAAuE;QACvE,qEAAqE;QACrE,iEAAiE;QACjE,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,GAAG,EAAE,CACpE,MAAM,CAAC,GAAG,CACR,sBAAsB,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAClE,CACF,CAAC;QAEF,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,EAAE;YACzC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CACnB,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE;gBAC1B,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,QAAQ,EAAE,KAAK,CAAC,EAAE;gBAClB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7C,CAAC;SACL,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QAC3B,MAAM,SAAS,GAAG,IAAI,6BAA6B,CAAC;YAClD,kBAAkB,EAAE,SAAS;YAC7B,kBAAkB,EAAE,IAAI;SACzB,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACnB,KAAK,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACvC,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAChC,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACrB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACnB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,uBAAuB,EAAE;oBACzD,EAAE,EAAE,IAAI;iBACT,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;gBAC9B,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAY,EAAE,GAAa;IAC1D,GAAG;SACA,MAAM,CAAC,GAAG,CAAC;SACX,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC;SACpB,IAAI,CAAC;QACJ,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,8DAA8D,EAAE;QAChG,EAAE,EAAE,IAAI;KACT,CAAC,CAAC;AACP,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
3
3
|
import { buildAuthenticationHeaders } from "./auth.js";
|
|
4
|
-
import { resolveBaseURL } from "./config.js";
|
|
4
|
+
import { resolveBaseURL, sessionLaunchGates } from "./config.js";
|
|
5
5
|
import { BiosClient } from "./api-client.js";
|
|
6
6
|
import { createBiosMcpServer } from "./server.js";
|
|
7
7
|
// RUNBIOS_* is the canonical environment prefix; the legacy BIOS_* names keep
|
|
@@ -71,7 +71,9 @@ async function main() {
|
|
|
71
71
|
const server = createBiosMcpServer(client, undefined, {
|
|
72
72
|
supportsImages: INFERENCE_SUPPORTS_IMAGES,
|
|
73
73
|
supportsTools: INFERENCE_SUPPORTS_TOOLS,
|
|
74
|
-
|
|
74
|
+
// Per-session grant resolution (src/config.ts): where the env gates are
|
|
75
|
+
// closed, the org's training-beta grant can still open this session's tools.
|
|
76
|
+
}, await sessionLaunchGates(ORG_ID, () => client.api(`/api/organizations/${encodeURIComponent(ORG_ID)}/features`)));
|
|
75
77
|
const transport = new StdioServerTransport();
|
|
76
78
|
await server.connect(transport);
|
|
77
79
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "0.2.1-dev.
|
|
1
|
+
export declare const VERSION = "0.2.1-dev.163";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const VERSION = "0.2.1-dev.
|
|
1
|
+
export const VERSION = "0.2.1-dev.163";
|
|
2
2
|
//# sourceMappingURL=version.js.map
|