@botiverse/oar 0.30.0 → 0.32.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 +15 -3
- package/dist/community/morph/session.d.ts.map +1 -1
- package/dist/community/morph/session.js +1 -0
- package/dist/community/morph/session.js.map +1 -1
- package/dist/contracts/runtime.d.ts +3 -3
- package/dist/contracts/runtime.d.ts.map +1 -1
- package/dist/contracts/session-options.d.ts +88 -0
- package/dist/contracts/session-options.d.ts.map +1 -0
- package/dist/contracts/session-options.js +7 -0
- package/dist/contracts/session-options.js.map +1 -0
- package/dist/contracts/session.d.ts +2 -41
- package/dist/contracts/session.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/runtimes/antigravity/session.d.ts +12 -1
- package/dist/runtimes/antigravity/session.d.ts.map +1 -1
- package/dist/runtimes/antigravity/session.js +18 -0
- package/dist/runtimes/antigravity/session.js.map +1 -1
- package/dist/runtimes/claude/launch.d.ts +16 -0
- package/dist/runtimes/claude/launch.d.ts.map +1 -0
- package/dist/runtimes/claude/launch.js +80 -0
- package/dist/runtimes/claude/launch.js.map +1 -0
- package/dist/runtimes/claude/session.d.ts.map +1 -1
- package/dist/runtimes/claude/session.js +2 -20
- package/dist/runtimes/claude/session.js.map +1 -1
- package/dist/runtimes/codex/app-server-client.d.ts +4 -1
- package/dist/runtimes/codex/app-server-client.d.ts.map +1 -1
- package/dist/runtimes/codex/app-server-client.js +8 -2
- package/dist/runtimes/codex/app-server-client.js.map +1 -1
- package/dist/runtimes/codex/open.d.ts +23 -2
- package/dist/runtimes/codex/open.d.ts.map +1 -1
- package/dist/runtimes/codex/open.js +49 -3
- package/dist/runtimes/codex/open.js.map +1 -1
- package/dist/runtimes/codex/session.d.ts.map +1 -1
- package/dist/runtimes/codex/session.js +7 -5
- package/dist/runtimes/codex/session.js.map +1 -1
- package/dist/runtimes/cursor/model.d.ts.map +1 -1
- package/dist/runtimes/cursor/model.js +1 -0
- package/dist/runtimes/cursor/model.js.map +1 -1
- package/dist/runtimes/opencode/index.d.ts +0 -1
- package/dist/runtimes/opencode/index.d.ts.map +1 -1
- package/dist/runtimes/opencode/index.js +1 -2
- package/dist/runtimes/opencode/index.js.map +1 -1
- package/dist/runtimes/opencode/prompt-config.d.ts +13 -0
- package/dist/runtimes/opencode/prompt-config.d.ts.map +1 -0
- package/dist/runtimes/opencode/prompt-config.js +113 -0
- package/dist/runtimes/opencode/prompt-config.js.map +1 -0
- package/dist/runtimes/opencode/session.d.ts +2 -3
- package/dist/runtimes/opencode/session.d.ts.map +1 -1
- package/dist/runtimes/opencode/session.js +65 -9
- package/dist/runtimes/opencode/session.js.map +1 -1
- package/dist/runtimes/pi/mcp.d.ts +44 -0
- package/dist/runtimes/pi/mcp.d.ts.map +1 -0
- package/dist/runtimes/pi/mcp.js +130 -0
- package/dist/runtimes/pi/mcp.js.map +1 -0
- package/dist/runtimes/pi/open.d.ts.map +1 -1
- package/dist/runtimes/pi/open.js +14 -0
- package/dist/runtimes/pi/open.js.map +1 -1
- package/dist/runtimes/pi/session.d.ts.map +1 -1
- package/dist/runtimes/pi/session.js +3 -0
- package/dist/runtimes/pi/session.js.map +1 -1
- package/dist/shared/acp/mcp-servers.d.ts +18 -0
- package/dist/shared/acp/mcp-servers.d.ts.map +1 -0
- package/dist/shared/acp/mcp-servers.js +50 -0
- package/dist/shared/acp/mcp-servers.js.map +1 -0
- package/dist/shared/acp/profile.d.ts +1 -0
- package/dist/shared/acp/profile.d.ts.map +1 -1
- package/dist/shared/acp/profile.js +4 -2
- package/dist/shared/acp/profile.js.map +1 -1
- package/dist/shared/acp/session.d.ts.map +1 -1
- package/dist/shared/acp/session.js +6 -2
- package/dist/shared/acp/session.js.map +1 -1
- package/dist/shared/executable/run.d.ts +1 -0
- package/dist/shared/executable/run.d.ts.map +1 -1
- package/dist/shared/executable/run.js +1 -0
- package/dist/shared/executable/run.js.map +1 -1
- package/dist/shared/mcp-servers.d.ts +28 -0
- package/dist/shared/mcp-servers.d.ts.map +1 -0
- package/dist/shared/mcp-servers.js +59 -0
- package/dist/shared/mcp-servers.js.map +1 -0
- package/dist/shared/session-options.d.ts +1 -1
- package/dist/shared/session-options.d.ts.map +1 -1
- package/dist/shared/session-options.js +5 -2
- package/dist/shared/session-options.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/shared/acp/session.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAQV,YAAY,EACb,MAAM,4BAA4B,CAAC;AAIpC,OAAO,
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/shared/acp/session.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAQV,YAAY,EACb,MAAM,4BAA4B,CAAC;AAIpC,OAAO,EAKL,KAAK,iBAAiB,EACvB,MAAM,cAAc,CAAC;AAMtB,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AActD,wBAAgB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,YAAY,CAsInE"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { sealSession } from "../seal-session.js";
|
|
2
2
|
import { createSessionKernel } from "../session-kernel.js";
|
|
3
3
|
import { createAcpClientApp } from "./client-app.js";
|
|
4
|
-
import { closeAcpSession, createUsageUpdateGate, openAcpSession, } from "./profile.js";
|
|
4
|
+
import { acpMcpOpenGuard, closeAcpSession, createUsageUpdateGate, openAcpSession, } from "./profile.js";
|
|
5
5
|
import { startAcpProcess } from "./process.js";
|
|
6
6
|
import { createAcpRecorder } from "./records.js";
|
|
7
7
|
import { createAcpTerminalHost } from "./terminal.js";
|
|
@@ -23,6 +23,10 @@ export function acpSession(profile) {
|
|
|
23
23
|
throw new Error("ACP runtimes require an executable installation");
|
|
24
24
|
}
|
|
25
25
|
profile.validateOptions?.(options);
|
|
26
|
+
// SessionOptions.mcpServers go out in the open request (mcp-servers.ts):
|
|
27
|
+
// a list with an empty or repeated name fails before anything starts,
|
|
28
|
+
// and an open that fails reports no credential they carry.
|
|
29
|
+
const withoutCredentials = acpMcpOpenGuard(options.mcpServers);
|
|
26
30
|
const args = typeof profile.args === "function" ? profile.args(options) : profile.args;
|
|
27
31
|
const environment = { ...process.env, ...options.env };
|
|
28
32
|
const terminalHost = createAcpTerminalHost(options.cwd, environment, {
|
|
@@ -54,7 +58,7 @@ export function acpSession(profile) {
|
|
|
54
58
|
runtime.kill();
|
|
55
59
|
await runtime.exited;
|
|
56
60
|
await terminalHost.dispose();
|
|
57
|
-
throw error;
|
|
61
|
+
throw withoutCredentials(error);
|
|
58
62
|
});
|
|
59
63
|
const kernel = createSessionKernel(opened.sessionId);
|
|
60
64
|
recorder.bind(kernel);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/shared/acp/session.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,cAAc,GAEf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAI5D;;;;;;;;;;GAUG;AAEH,MAAM,UAAU,UAAU,CAAC,OAA0B;IACnD,OAAO,KAAK,EAAE,YAAmC,EAAE,OAAuB,EAAoB,EAAE;QAC9F,IAAI,YAAY,CAAC,GAAG,KAAK,YAAY,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,OAAO,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;QACvF,MAAM,WAAW,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QACvD,MAAM,YAAY,GAAG,qBAAqB,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE;YACnE,YAAY,EAAE,OAAO,CAAC,oBAAoB,KAAK,IAAI;SACpD,CAAC,CAAC;QACH,yEAAyE;QACzE,+CAA+C;QAC/C,MAAM,SAAS,GAAG,qBAAqB,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,EAAE;YAC9C,MAAM,EAAE,CAAC,YAAY,EAAE,EAAE;gBACvB,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAChC,CAAC;YACD,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;gBAC5B,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACrC,CAAC;YACD,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;gBAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YACzC,CAAC;YACD,QAAQ,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;gBACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAC/B,CAAC;YACD,sBAAsB,EAAE,OAAO,CAAC,sBAAsB,IAAI,EAAE;SAC7D,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,eAAe,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;QAC5G,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACtE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,KAAc,EAAE,EAAE;YAChC,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,OAAO,CAAC,MAAM,CAAC;YACrB,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC;YAC7B,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/shared/acp/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ export interface ExecutableResult {
|
|
|
7
7
|
readonly diagnostics?: ProcessDiagnostics;
|
|
8
8
|
}
|
|
9
9
|
export interface ExecutableRunOptions {
|
|
10
|
+
readonly cwd?: string;
|
|
10
11
|
readonly env?: NodeJS.ProcessEnv;
|
|
11
12
|
readonly timeoutMs?: number;
|
|
12
13
|
/** Stops the command; the result is then a failure with no exit code. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/shared/executable/run.ts"],"names":[],"mappings":"AAEA,OAAO,EAA2B,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEpF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAC3C;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,yEAAyE;IACzE,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED,MAAM,MAAM,gBAAgB,GAAG,CAC7B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,CAAC,EAAE,oBAAoB,KAC3B,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAE/B,eAAO,MAAM,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/shared/executable/run.ts"],"names":[],"mappings":"AAEA,OAAO,EAA2B,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEpF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAC3C;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,yEAAyE;IACzE,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED,MAAM,MAAM,gBAAgB,GAAG,CAC7B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,CAAC,EAAE,oBAAoB,KAC3B,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAE/B,eAAO,MAAM,aAAa,EAAE,gBA2C3B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/shared/executable/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAsB,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,UAAU,EAA2B,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/shared/executable/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAsB,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,UAAU,EAA2B,MAAM,kBAAkB,CAAC;AAwBpF,MAAM,CAAC,MAAM,aAAa,GAAqB,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE;IACtF,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC;IAC9C,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAmB,CAAC,OAAO,EAAE,EAAE;QAC7D,MAAM,QAAQ,GAAG,CAAC,KAAyE,EAAE,MAAc,EAAE,MAAc,EAAQ,EAAE;YACnI,MAAM,QAAQ,GAAG,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YACtF,OAAO,CAAC;gBACN,EAAE,EAAE,KAAK,KAAK,IAAI;gBAClB,MAAM;gBACN,MAAM;gBACN,QAAQ;gBACR,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACxB,WAAW,EAAE;wBACX,QAAQ;wBACR,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;wBAC5B,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC;wBAC1B,8DAA8D;wBAC9D,gDAAgD;wBAChD,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,IAAI,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACjF,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC;4BACrH,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACxC;iBACF,CAAC;aACH,CAAC,CAAC;QACL,CAAC,CAAC;QACF,IAAI,CAAC;YACH,QAAQ,CAAC,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE;gBAC9B,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,OAAO,EAAE,SAAS;gBAClB,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnE,SAAS,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI;gBAC1B,uEAAuE;gBACvE,KAAK,EAAE,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC;aACnD,EAAE,QAAQ,CAAC,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,oEAAoE;YACpE,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,EAAE,CAAC;gBAC9B,MAAM,KAAK,CAAC;YACd,CAAC;YACD,QAAQ,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { McpServer } from "../contracts/session.js";
|
|
2
|
+
/** The streamable HTTP form of an entry (`type: "http"`); the other form is stdio. */
|
|
3
|
+
export type McpHttpServer = Extract<McpServer, {
|
|
4
|
+
readonly type: "http";
|
|
5
|
+
}>;
|
|
6
|
+
/** The stdio form of an entry: a command the runtime starts. */
|
|
7
|
+
export type McpStdioServer = Exclude<McpServer, McpHttpServer>;
|
|
8
|
+
export declare function isHttpMcpServer(server: McpServer): server is McpHttpServer;
|
|
9
|
+
/** Whether the entry carries a credential: a non-empty `env` (stdio) or `headers` (http). */
|
|
10
|
+
export declare function hasMcpCredentials(server: McpServer): boolean;
|
|
11
|
+
/** The given list, or nothing when there is none to attach (absent or empty). */
|
|
12
|
+
export declare function givenMcpServers(servers: readonly McpServer[] | undefined): readonly McpServer[] | null;
|
|
13
|
+
/**
|
|
14
|
+
* Throw on a list no runtime can attach as given: an empty name, or a name
|
|
15
|
+
* given twice (each runtime keys its servers by name, so the later entry
|
|
16
|
+
* would silently replace the earlier one). The error names the value.
|
|
17
|
+
*/
|
|
18
|
+
export declare function checkMcpServerNames(servers: readonly McpServer[]): void;
|
|
19
|
+
/**
|
|
20
|
+
* A redactor for text oar reports from a runtime that was given these
|
|
21
|
+
* entries (an error message, a stderr tail): every `env` and `headers` value
|
|
22
|
+
* of at least four characters becomes `[redacted]`. Identity when the
|
|
23
|
+
* entries hold none.
|
|
24
|
+
*/
|
|
25
|
+
export declare function mcpCredentialRedactor(servers: readonly McpServer[] | undefined): (text: string) => string;
|
|
26
|
+
/** `error` with its message and stack passed through `redact` (in place, so its class and fields stay); anything else as it is. */
|
|
27
|
+
export declare function redactError(error: unknown, redact: (text: string) => string): unknown;
|
|
28
|
+
//# sourceMappingURL=mcp-servers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-servers.d.ts","sourceRoot":"","sources":["../../src/shared/mcp-servers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAQzD,sFAAsF;AACtF,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAC1E,gEAAgE;AAChE,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AAE/D,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,IAAI,aAAa,CAE1E;AAED,6FAA6F;AAC7F,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAE5D;AAED,iFAAiF;AACjF,wBAAgB,eAAe,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,GAAG,SAAS,GAAG,SAAS,SAAS,EAAE,GAAG,IAAI,CAEtG;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,GAAG,IAAI,CAWvE;AAWD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,GAAG,SAAS,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAMzG;AAED,mIAAmI;AACnI,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,OAAO,CAQrF"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
export function isHttpMcpServer(server) {
|
|
2
|
+
return "type" in server;
|
|
3
|
+
}
|
|
4
|
+
/** Whether the entry carries a credential: a non-empty `env` (stdio) or `headers` (http). */
|
|
5
|
+
export function hasMcpCredentials(server) {
|
|
6
|
+
return Object.keys((isHttpMcpServer(server) ? server.headers : server.env) ?? {}).length > 0;
|
|
7
|
+
}
|
|
8
|
+
/** The given list, or nothing when there is none to attach (absent or empty). */
|
|
9
|
+
export function givenMcpServers(servers) {
|
|
10
|
+
return servers === undefined || servers.length === 0 ? null : servers;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Throw on a list no runtime can attach as given: an empty name, or a name
|
|
14
|
+
* given twice (each runtime keys its servers by name, so the later entry
|
|
15
|
+
* would silently replace the earlier one). The error names the value.
|
|
16
|
+
*/
|
|
17
|
+
export function checkMcpServerNames(servers) {
|
|
18
|
+
const seen = new Set();
|
|
19
|
+
for (const { name } of servers) {
|
|
20
|
+
if (name.length === 0) {
|
|
21
|
+
throw new Error("mcpServers has an entry with an empty name");
|
|
22
|
+
}
|
|
23
|
+
if (seen.has(name)) {
|
|
24
|
+
throw new Error(`mcpServers names ${JSON.stringify(name)} twice; names are unique within a session`);
|
|
25
|
+
}
|
|
26
|
+
seen.add(name);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
/** Shorter values cannot be a credential, and replacing them would garble the text around them (`code 1`). */
|
|
30
|
+
const CREDENTIAL_MIN_LENGTH = 4;
|
|
31
|
+
/** Every credential value in the entries: each `env` and `headers` value, longest first. */
|
|
32
|
+
function credentialValues(servers) {
|
|
33
|
+
const values = servers.flatMap((server) => Object.values((isHttpMcpServer(server) ? server.headers : server.env) ?? {}));
|
|
34
|
+
return [...new Set(values.filter((value) => value.length >= CREDENTIAL_MIN_LENGTH))].toSorted((left, right) => right.length - left.length);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* A redactor for text oar reports from a runtime that was given these
|
|
38
|
+
* entries (an error message, a stderr tail): every `env` and `headers` value
|
|
39
|
+
* of at least four characters becomes `[redacted]`. Identity when the
|
|
40
|
+
* entries hold none.
|
|
41
|
+
*/
|
|
42
|
+
export function mcpCredentialRedactor(servers) {
|
|
43
|
+
const values = credentialValues(servers ?? []);
|
|
44
|
+
if (values.length === 0) {
|
|
45
|
+
return (text) => text;
|
|
46
|
+
}
|
|
47
|
+
return (text) => values.reduce((redacted, value) => redacted.replaceAll(value, "[redacted]"), text);
|
|
48
|
+
}
|
|
49
|
+
/** `error` with its message and stack passed through `redact` (in place, so its class and fields stay); anything else as it is. */
|
|
50
|
+
export function redactError(error, redact) {
|
|
51
|
+
if (error instanceof Error) {
|
|
52
|
+
error.message = redact(error.message);
|
|
53
|
+
if (error.stack !== undefined) {
|
|
54
|
+
error.stack = redact(error.stack);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return error;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=mcp-servers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-servers.js","sourceRoot":"","sources":["../../src/shared/mcp-servers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { RefusableSessionOption, RefusedSessionOptions } from "../contracts/runtime.js";
|
|
2
2
|
import type { SessionOptions } from "../contracts/session.js";
|
|
3
|
-
/** Whether `options` gives `key`: any value for a prompt, a non-empty map for `env`. */
|
|
3
|
+
/** Whether `options` gives `key`: any value for a prompt, a non-empty map for `env`, a non-empty list for `mcpServers`. */
|
|
4
4
|
export declare function sessionOptionGiven(options: SessionOptions, key: RefusableSessionOption): boolean;
|
|
5
5
|
/** Reject an open that gives an option the runtime declares refused: an `UnsupportedOptionError` naming it, with the declared reason. */
|
|
6
6
|
export declare function refuseSessionOptions(refused: RefusedSessionOptions, options: SessionOptions): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-options.d.ts","sourceRoot":"","sources":["../../src/shared/session-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAC7F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAG9D,
|
|
1
|
+
{"version":3,"file":"session-options.d.ts","sourceRoot":"","sources":["../../src/shared/session-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAC7F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAG9D,2HAA2H;AAC3H,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAQhG;AAED,yIAAyI;AACzI,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAOlG"}
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import { UnsupportedOptionError } from "../contracts/errors.js";
|
|
2
|
-
/** Whether `options` gives `key`: any value for a prompt, a non-empty map for `env`. */
|
|
2
|
+
/** Whether `options` gives `key`: any value for a prompt, a non-empty map for `env`, a non-empty list for `mcpServers`. */
|
|
3
3
|
export function sessionOptionGiven(options, key) {
|
|
4
4
|
if (key === "env") {
|
|
5
5
|
return options.env !== undefined && Object.keys(options.env).length > 0;
|
|
6
6
|
}
|
|
7
|
+
if (key === "mcpServers") {
|
|
8
|
+
return options.mcpServers !== undefined && options.mcpServers.length > 0;
|
|
9
|
+
}
|
|
7
10
|
return options[key] !== undefined;
|
|
8
11
|
}
|
|
9
12
|
/** Reject an open that gives an option the runtime declares refused: an `UnsupportedOptionError` naming it, with the declared reason. */
|
|
10
13
|
export function refuseSessionOptions(refused, options) {
|
|
11
|
-
for (const key of ["systemPrompt", "appendSystemPrompt", "env"]) {
|
|
14
|
+
for (const key of ["systemPrompt", "appendSystemPrompt", "env", "mcpServers"]) {
|
|
12
15
|
const reason = refused[key];
|
|
13
16
|
if (reason !== undefined && sessionOptionGiven(options, key)) {
|
|
14
17
|
throw new UnsupportedOptionError(key, reason);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-options.js","sourceRoot":"","sources":["../../src/shared/session-options.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,
|
|
1
|
+
{"version":3,"file":"session-options.js","sourceRoot":"","sources":["../../src/shared/session-options.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,2HAA2H;AAC3H,MAAM,UAAU,kBAAkB,CAAC,OAAuB,EAAE,GAA2B;IACrF,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;QAClB,OAAO,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC;AACpC,CAAC;AAED,yIAAyI;AACzI,MAAM,UAAU,oBAAoB,CAAC,OAA8B,EAAE,OAAuB;IAC1F,KAAK,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,oBAAoB,EAAE,KAAK,EAAE,YAAY,CAAU,EAAE,CAAC;QACvF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,MAAM,KAAK,SAAS,IAAI,kBAAkB,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,sBAAsB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@botiverse/oar",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.32.0",
|
|
4
4
|
"description": "A programming interface for all agent harnesses: provider-independent contracts for controlling and observing agent runtimes",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|