@coralai/sps-cli 0.65.29 → 0.65.31
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/console/index.d.ts.map +1 -1
- package/dist/console/index.js +2 -0
- package/dist/console/index.js.map +1 -1
- package/dist/console/routes/chat.d.ts.map +1 -1
- package/dist/console/routes/chat.js +10 -5
- package/dist/console/routes/chat.js.map +1 -1
- package/dist/console/routes/mcpTools.d.ts +9 -0
- package/dist/console/routes/mcpTools.d.ts.map +1 -0
- package/dist/console/routes/mcpTools.js +14 -0
- package/dist/console/routes/mcpTools.js.map +1 -0
- package/dist/console-assets/assets/{ShowcasePage-r_b2tHWD.js → ShowcasePage-GF_0kvZG.js} +1 -1
- package/dist/console-assets/assets/index-cxN7rD-p.css +1 -0
- package/dist/console-assets/assets/index-lgFYFfCi.js +855 -0
- package/dist/console-assets/index.html +2 -2
- package/dist/core/mcpToolCatalog.d.ts +24 -0
- package/dist/core/mcpToolCatalog.d.ts.map +1 -0
- package/dist/core/mcpToolCatalog.js +74 -0
- package/dist/core/mcpToolCatalog.js.map +1 -0
- package/dist/openai-agent/mcp/managedMcp.d.ts.map +1 -1
- package/dist/openai-agent/mcp/managedMcp.js +1 -4
- package/dist/openai-agent/mcp/managedMcp.js.map +1 -1
- package/dist/openai-agent/providerCapabilities.d.ts.map +1 -1
- package/dist/openai-agent/providerCapabilities.js +3 -2
- package/dist/openai-agent/providerCapabilities.js.map +1 -1
- package/dist/providers/llm/codexAuth.d.ts +1 -1
- package/dist/providers/llm/codexAuth.d.ts.map +1 -1
- package/dist/providers/llm/codexAuth.js +55 -10
- package/dist/providers/llm/codexAuth.js.map +1 -1
- package/dist/providers/mcp/interactionTools.d.ts +12 -0
- package/dist/providers/mcp/interactionTools.d.ts.map +1 -0
- package/dist/providers/mcp/interactionTools.js +15 -0
- package/dist/providers/mcp/interactionTools.js.map +1 -0
- package/package.json +1 -1
- package/dist/console-assets/assets/index-5SxV_3Ku.css +0 -1
- package/dist/console-assets/assets/index-DC_jSU5P.js +0 -855
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
9
9
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
10
10
|
<link href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
|
|
11
|
-
<script type="module" crossorigin src="/assets/index-
|
|
12
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
11
|
+
<script type="module" crossorigin src="/assets/index-lgFYFfCi.js"></script>
|
|
12
|
+
<link rel="stylesheet" crossorigin href="/assets/index-cxN7rD-p.css">
|
|
13
13
|
</head>
|
|
14
14
|
<body>
|
|
15
15
|
<div id="root"></div>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export type McpToolGroup = 'skill' | 'asset' | 'project' | 'interaction' | 'memory' | 'agent' | 'other';
|
|
2
|
+
export interface McpToolParam {
|
|
3
|
+
name: string;
|
|
4
|
+
type: string;
|
|
5
|
+
required: boolean;
|
|
6
|
+
description?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface McpToolInfo {
|
|
9
|
+
/** 注册名(如 generate_asset)。 */
|
|
10
|
+
name: string;
|
|
11
|
+
/** agent 侧看到的完整名(两后端一致的命名约定)。 */
|
|
12
|
+
qualifiedName: string;
|
|
13
|
+
description: string;
|
|
14
|
+
group: McpToolGroup;
|
|
15
|
+
params: McpToolParam[];
|
|
16
|
+
/**
|
|
17
|
+
* openai worker 是否经 MCP 拿到本工具。false = 被挡在 MCP 外、由 broker 原生实现
|
|
18
|
+
* (交互类工具要往返 chat UI,见 providers/mcp/interactionTools)。claude 恒为原生 MCP。
|
|
19
|
+
*/
|
|
20
|
+
viaMcpOnOpenai: boolean;
|
|
21
|
+
}
|
|
22
|
+
/** 按 MCP 协议实际问 server 要工具清单(不读源码、不手抄)。 */
|
|
23
|
+
export declare function listSpsMcpTools(cwd?: string): Promise<McpToolInfo[]>;
|
|
24
|
+
//# sourceMappingURL=mcpToolCatalog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcpToolCatalog.d.ts","sourceRoot":"","sources":["../../src/core/mcpToolCatalog.ts"],"names":[],"mappings":"AAaA,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,aAAa,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;AAExG,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB;;;OAGG;IACH,cAAc,EAAE,OAAO,CAAC;CACzB;AA4CD,0CAA0C;AAC1C,wBAAsB,eAAe,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAsBzF"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module core/mcpToolCatalog
|
|
3
|
+
* @description sps MCP 工具目录(控制台"插件/工具"页的数据源)。
|
|
4
|
+
*
|
|
5
|
+
* 🔴 零漂:不手抄清单 —— 起一个 in-memory MCP client 连上 createSpsMcpServer,按协议
|
|
6
|
+
* listTools 取真实注册结果(名字/描述/入参 schema)。新增工具自动出现在页面上。
|
|
7
|
+
* 分组只是展示用的归类表;新增工具若没归类会落到 'other',mcpToolCatalog.test 会失败提醒。
|
|
8
|
+
*/
|
|
9
|
+
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
|
|
10
|
+
import { InMemoryTransport } from '@modelcontextprotocol/sdk/inMemory.js';
|
|
11
|
+
import { createSpsMcpServer } from '../providers/mcp/spsMcpServer.js';
|
|
12
|
+
import { INTERACTION_TOOL_NAMES } from '../providers/mcp/interactionTools.js';
|
|
13
|
+
const GROUPS = {
|
|
14
|
+
list_skills: 'skill',
|
|
15
|
+
search_skills: 'skill',
|
|
16
|
+
match_skill: 'skill',
|
|
17
|
+
enrich_skill: 'skill',
|
|
18
|
+
load_skill: 'skill',
|
|
19
|
+
run_subagent: 'agent',
|
|
20
|
+
generate_asset: 'asset',
|
|
21
|
+
add_card: 'project',
|
|
22
|
+
start_pipeline: 'project',
|
|
23
|
+
pipeline_status: 'project',
|
|
24
|
+
create_project: 'project',
|
|
25
|
+
present_choices: 'interaction',
|
|
26
|
+
present_form: 'interaction',
|
|
27
|
+
handoff_back: 'interaction',
|
|
28
|
+
memory_recall: 'memory',
|
|
29
|
+
memory_read: 'memory',
|
|
30
|
+
memory_save: 'memory',
|
|
31
|
+
memory_profile: 'memory',
|
|
32
|
+
memory_graph: 'memory',
|
|
33
|
+
memory_relations: 'memory',
|
|
34
|
+
memory_patterns: 'memory',
|
|
35
|
+
};
|
|
36
|
+
function readParams(schema) {
|
|
37
|
+
const s = schema;
|
|
38
|
+
const props = s?.properties;
|
|
39
|
+
if (!props)
|
|
40
|
+
return [];
|
|
41
|
+
const required = new Set(Array.isArray(s?.required) ? s.required : []);
|
|
42
|
+
return Object.entries(props).map(([name, def]) => ({
|
|
43
|
+
name,
|
|
44
|
+
type: typeof def?.type === 'string' ? def.type : 'any',
|
|
45
|
+
required: required.has(name),
|
|
46
|
+
...(typeof def?.description === 'string' ? { description: def.description } : {}),
|
|
47
|
+
}));
|
|
48
|
+
}
|
|
49
|
+
/** 按 MCP 协议实际问 server 要工具清单(不读源码、不手抄)。 */
|
|
50
|
+
export async function listSpsMcpTools(cwd = process.cwd()) {
|
|
51
|
+
const server = createSpsMcpServer({ cwd });
|
|
52
|
+
const [clientTransport, serverTransport] = InMemoryTransport.createLinkedPair();
|
|
53
|
+
const client = new Client({ name: 'sps-console', version: '1' });
|
|
54
|
+
try {
|
|
55
|
+
await server.connect(serverTransport);
|
|
56
|
+
await client.connect(clientTransport);
|
|
57
|
+
const { tools } = await client.listTools();
|
|
58
|
+
return tools
|
|
59
|
+
.map((tool) => ({
|
|
60
|
+
name: tool.name,
|
|
61
|
+
qualifiedName: `mcp__sps__${tool.name}`,
|
|
62
|
+
description: tool.description ?? '',
|
|
63
|
+
group: GROUPS[tool.name] ?? 'other',
|
|
64
|
+
params: readParams(tool.inputSchema),
|
|
65
|
+
viaMcpOnOpenai: !INTERACTION_TOOL_NAMES.has(tool.name),
|
|
66
|
+
}))
|
|
67
|
+
.sort((a, b) => a.name.localeCompare(b.name));
|
|
68
|
+
}
|
|
69
|
+
finally {
|
|
70
|
+
await client.close().catch(() => { });
|
|
71
|
+
await server.close().catch(() => { });
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=mcpToolCatalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcpToolCatalog.js","sourceRoot":"","sources":["../../src/core/mcpToolCatalog.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AA0B9E,MAAM,MAAM,GAAiC;IAC3C,WAAW,EAAE,OAAO;IACpB,aAAa,EAAE,OAAO;IACtB,WAAW,EAAE,OAAO;IACpB,YAAY,EAAE,OAAO;IACrB,UAAU,EAAE,OAAO;IACnB,YAAY,EAAE,OAAO;IACrB,cAAc,EAAE,OAAO;IACvB,QAAQ,EAAE,SAAS;IACnB,cAAc,EAAE,SAAS;IACzB,eAAe,EAAE,SAAS;IAC1B,cAAc,EAAE,SAAS;IACzB,eAAe,EAAE,aAAa;IAC9B,YAAY,EAAE,aAAa;IAC3B,YAAY,EAAE,aAAa;IAC3B,aAAa,EAAE,QAAQ;IACvB,WAAW,EAAE,QAAQ;IACrB,WAAW,EAAE,QAAQ;IACrB,cAAc,EAAE,QAAQ;IACxB,YAAY,EAAE,QAAQ;IACtB,gBAAgB,EAAE,QAAQ;IAC1B,eAAe,EAAE,QAAQ;CAC1B,CAAC;AAOF,SAAS,UAAU,CAAC,MAAe;IACjC,MAAM,CAAC,GAAG,MAAoC,CAAC;IAC/C,MAAM,KAAK,GAAG,CAAC,EAAE,UAAU,CAAC;IAC5B,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,QAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACrF,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QACjD,IAAI;QACJ,IAAI,EAAE,OAAO,GAAG,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;QACtD,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;QAC5B,GAAG,CAAC,OAAO,GAAG,EAAE,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClF,CAAC,CAAC,CAAC;AACN,CAAC;AAED,0CAA0C;AAC1C,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAc,OAAO,CAAC,GAAG,EAAE;IAC/D,MAAM,MAAM,GAAG,kBAAkB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAC3C,MAAM,CAAC,eAAe,EAAE,eAAe,CAAC,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;IAChF,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IACjE,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACtC,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACtC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;QAC3C,OAAO,KAAK;aACT,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACd,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,aAAa,EAAE,aAAa,IAAI,CAAC,IAAI,EAAE;YACvC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;YACnC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO;YACnC,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;YACpC,cAAc,EAAE,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;SACvD,CAAC,CAAC;aACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACrC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACvC,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"managedMcp.d.ts","sourceRoot":"","sources":["../../../src/openai-agent/mcp/managedMcp.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EACV,0BAA0B,EAC3B,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"managedMcp.d.ts","sourceRoot":"","sources":["../../../src/openai-agent/mcp/managedMcp.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EACV,0BAA0B,EAC3B,MAAM,wBAAwB,CAAC;AAIhC,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;CACpD;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,aAAa,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;IAC7C,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;CAC5D;AAED,MAAM,WAAW,sBAAsB;IACrC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,gBAAgB,EAAE,MAAM,EAAE,CAAC;KAC5B,KAAK,SAAS,CAAC;CACjB;AAED,qBAAa,4BAA6B,SAAQ,KAAK;IACrD,QAAQ,CAAC,IAAI,kBAAkB;gBAEnB,OAAO,EAAE,MAAM;CAI5B;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,0BAA0B,EACjC,YAAY,GAAE,sBAA2B,GACxC,OAAO,CAAC,gBAAgB,CAAC,CAyF3B"}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import { basename } from 'node:path';
|
|
2
2
|
import { MCPServerStdio, mcpToFunctionTool, } from '@openai/agents';
|
|
3
3
|
import { spsMcpStdioConfig } from '../../providers/mcp/spsMcpStdioConfig.js';
|
|
4
|
-
|
|
5
|
-
'present_choices',
|
|
6
|
-
'present_form',
|
|
7
|
-
]);
|
|
4
|
+
import { INTERACTION_TOOL_NAMES } from '../../providers/mcp/interactionTools.js';
|
|
8
5
|
export class UnsupportedMcpReferenceError extends Error {
|
|
9
6
|
code = 'missing_tool';
|
|
10
7
|
constructor(message) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"managedMcp.js","sourceRoot":"","sources":["../../../src/openai-agent/mcp/managedMcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EACL,cAAc,EACd,iBAAiB,GAGlB,MAAM,gBAAgB,CAAC;AAIxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"managedMcp.js","sourceRoot":"","sources":["../../../src/openai-agent/mcp/managedMcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EACL,cAAc,EACd,iBAAiB,GAGlB,MAAM,gBAAgB,CAAC;AAIxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAyBjF,MAAM,OAAO,4BAA6B,SAAQ,KAAK;IAC5C,IAAI,GAAG,cAAc,CAAC;IAE/B,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC7C,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,KAAiC,EACjC,eAAuC,EAAE;IAEzC,MAAM,SAAS,GAAuB,EAAE,CAAC;IACzC,IAAI,CAAC;QACH,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACrC,IACE,IAAI,CAAC,SAAS,KAAK,OAAO;gBAC1B,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,EACpC,CAAC;gBACD,MAAM,IAAI,4BAA4B,CACpC,iCAAiC,IAAI,CAAC,IAAI,EAAE,CAC7C,CAAC;YACJ,CAAC;YACD,MAAM,OAAO,GAAG,iBAAiB,CAAC;gBAChC,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;gBAC5B,OAAO,EAAE,KAAK,CAAC,SAAS;aACzB,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,CACb,YAAY,CAAC,YAAY;gBACzB,CAAC,CAAC,OAAO,EAAE,EAAE,CACX,IAAI,cAAc,CAAC;oBACjB,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,GAAG,EAAE,OAAO,CAAC,GAAG;oBAChB,cAAc,EAAE,IAAI;oBACpB,qDAAqD;oBACrD,4CAA4C;oBAC5C,OAAO,EAAE,OAAO;oBAChB,UAAU,EAAE;wBACV,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;qBAC3C;oBACD,oBAAoB,EAAE,IAAI;oBAC1B,aAAa,EAAE,IAAI;iBACpB,CAAC,CAAC,CACN,CAAC;gBACA,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,gBAAgB,EAAE,CAAC,GAAG,sBAAsB,CAAC;aAC9C,CAAC,CAAC;YACH,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,CAAC,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAC7C,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CACjD,CAAC;YACF,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACxE,MAAM,KAAK,CAAC;IACd,CAAC;IAED,MAAM,cAAc,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAC7D,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACjB,4DAA4D;QAC5D,gDAAgD;QAChD,MAAM,aAAa,GAAG,QAAQ,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9E,OAAO;YACL,aAAa;YACb,IAAI,EAAE,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;gBAC3C,gBAAgB,EAAE,aAAa;gBAC/B,aAAa,EAAE,IAAI;aACpB,CAAC;SACH,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IACF,OAAO;QACL,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC;QAC9C,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;QACvD,kBAAkB,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC;QAC5E,aAAa,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;QACrD,KAAK,CAAC,KAAK;YACT,MAAM,QAAQ,GAA6C,EAAE,CAAC;YAC9D,MAAM,OAAO,CAAC,GAAG,CACf,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;gBACjC,IAAI,CAAC;oBACH,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;gBACvB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,QAAQ,CAAC,IAAI,CAAC;wBACZ,MAAM,EAAE,MAAM,CAAC,IAAI;wBACnB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;qBAC9D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CACH,CAAC;YACF,OAAO,QAAQ,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC7B,OAAO,KAAK;SACT,IAAI,EAAE;SACN,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC;SAChC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC;AACvC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providerCapabilities.d.ts","sourceRoot":"","sources":["../../src/openai-agent/providerCapabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,0BAA0B,EAC3B,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,sBAAsB;IACrC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,WAAW,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,OAAO,CAAC;KACtB,CAAC,CAAC;CACJ;AAED,qBAAa,kCAAmC,SAAQ,KAAK;IAC3D,QAAQ,CAAC,IAAI,gCAAgC;gBAEjC,OAAO,EAAE,MAAM;CAI5B;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,0BAA0B,GAChC,sBAAsB,
|
|
1
|
+
{"version":3,"file":"providerCapabilities.d.ts","sourceRoot":"","sources":["../../src/openai-agent/providerCapabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,0BAA0B,EAC3B,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,sBAAsB;IACrC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,WAAW,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,OAAO,CAAC;KACtB,CAAC,CAAC;CACJ;AAED,qBAAa,kCAAmC,SAAQ,KAAK;IAC3D,QAAQ,CAAC,IAAI,gCAAgC;gBAEjC,OAAO,EAAE,MAAM;CAI5B;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,0BAA0B,GAChC,sBAAsB,CAiDxB"}
|
|
@@ -26,8 +26,9 @@ export function negotiateProviderCapabilities(start) {
|
|
|
26
26
|
recoverable: true,
|
|
27
27
|
});
|
|
28
28
|
}
|
|
29
|
-
// codex 端点不支持 hosted apply_patch
|
|
30
|
-
|
|
29
|
+
// codex 端点不支持 hosted apply_patch;自定义 responses provider(如平台网关中转的
|
|
30
|
+
// codex 订阅)后端形态未知,同样保守关闭 —— 只有官方 official 确认支持。降级到 shell 改文件。
|
|
31
|
+
const hostedApplyPatch = responsesLike && start.provider.transport !== 'codex' && start.provider.providerId === 'official';
|
|
31
32
|
if (responsesLike && !hostedApplyPatch) {
|
|
32
33
|
warnings.push({
|
|
33
34
|
code: 'provider_capability_degraded',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providerCapabilities.js","sourceRoot":"","sources":["../../src/openai-agent/providerCapabilities.ts"],"names":[],"mappings":"AAwBA,MAAM,OAAO,kCAAmC,SAAQ,KAAK;IAClD,IAAI,GAAG,4BAA4B,CAAC;IAE7C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,oCAAoC,CAAC;IACnD,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,6BAA6B,CAC3C,KAAiC;IAEjC,MAAM,aAAa,GACjB,KAAK,CAAC,QAAQ,CAAC,SAAS,KAAK,WAAW;QACxC,KAAK,CAAC,QAAQ,CAAC,SAAS,KAAK,OAAO,CAAC;IACvC,MAAM,kBAAkB,GACtB,aAAa,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,KAAK,kBAAkB,CAAC;IAEnE,IACE,KAAK,CAAC,iBAAiB,CAAC,IAAI,KAAK,eAAe;QAChD,CAAC,kBAAkB,EACnB,CAAC;QACD,MAAM,IAAI,kCAAkC,CAC1C,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,2DAA2D,CACvF,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAuC,EAAE,CAAC;IACxD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,8BAA8B;YACpC,OAAO,EACL,oHAAoH;YACtH,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;IACL,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"providerCapabilities.js","sourceRoot":"","sources":["../../src/openai-agent/providerCapabilities.ts"],"names":[],"mappings":"AAwBA,MAAM,OAAO,kCAAmC,SAAQ,KAAK;IAClD,IAAI,GAAG,4BAA4B,CAAC;IAE7C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,oCAAoC,CAAC;IACnD,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,6BAA6B,CAC3C,KAAiC;IAEjC,MAAM,aAAa,GACjB,KAAK,CAAC,QAAQ,CAAC,SAAS,KAAK,WAAW;QACxC,KAAK,CAAC,QAAQ,CAAC,SAAS,KAAK,OAAO,CAAC;IACvC,MAAM,kBAAkB,GACtB,aAAa,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,KAAK,kBAAkB,CAAC;IAEnE,IACE,KAAK,CAAC,iBAAiB,CAAC,IAAI,KAAK,eAAe;QAChD,CAAC,kBAAkB,EACnB,CAAC;QACD,MAAM,IAAI,kCAAkC,CAC1C,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,2DAA2D,CACvF,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAuC,EAAE,CAAC;IACxD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,8BAA8B;YACpC,OAAO,EACL,oHAAoH;YACtH,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;IACL,CAAC;IAED,iEAAiE;IACjE,8DAA8D;IAC9D,MAAM,gBAAgB,GACpB,aAAa,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,KAAK,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,KAAK,UAAU,CAAC;IACpG,IAAI,aAAa,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACvC,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,8BAA8B;YACpC,OAAO,EACL,mGAAmG;YACrG,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,kBAAkB,EAAE,IAAI;QACxB,WAAW,EAAE,aAAa;QAC1B,gBAAgB;QAChB,gBAAgB,EAAE,aAAa;QAC/B,kBAAkB;QAClB,UAAU,EAAE,aAAa;QACzB,SAAS,EAAE,IAAI;QACf,QAAQ;KACT,CAAC;AACJ,CAAC"}
|
|
@@ -8,6 +8,6 @@ export interface CodexCredentialOptions {
|
|
|
8
8
|
fetchImpl?: typeof fetch;
|
|
9
9
|
now?: () => number;
|
|
10
10
|
}
|
|
11
|
-
/** 取可用的 Codex
|
|
11
|
+
/** 取可用的 Codex 凭据:多候选取过期最晚的一份;全部过期才兜底刷新并写回来源文件。 */
|
|
12
12
|
export declare function getCodexCreds(options?: CodexCredentialOptions): Promise<CodexCreds>;
|
|
13
13
|
//# sourceMappingURL=codexAuth.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codexAuth.d.ts","sourceRoot":"","sources":["../../../src/providers/llm/codexAuth.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,oBAAoB,0CAA0C,CAAC;AAG5E,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;
|
|
1
|
+
{"version":3,"file":"codexAuth.d.ts","sourceRoot":"","sources":["../../../src/providers/llm/codexAuth.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,oBAAoB,0CAA0C,CAAC;AAG5E,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAwDD,kDAAkD;AAClD,wBAAsB,aAAa,CACjC,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,UAAU,CAAC,CA+BrB"}
|
|
@@ -23,17 +23,62 @@ function jwtExpMs(jwt) {
|
|
|
23
23
|
return 0;
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
|
-
/**
|
|
26
|
+
/**
|
|
27
|
+
* 凭据候选位(按新鲜度择优读取):
|
|
28
|
+
* ~/.codex/auth.json codex CLI(嵌套 tokens.*)
|
|
29
|
+
* ~/.config/claude-code-proxy/codex/auth.json claude-code-proxy(扁平 access/refresh/expires)
|
|
30
|
+
*
|
|
31
|
+
* 🔴 **同一 OpenAI 账号的 refresh token 是一次性的** —— 谁刷新谁作废其他持有者手里那份
|
|
32
|
+
* (线上事故:refresh_token_reused 401 → 生图中断)。本机常有多个持有者(codex CLI /
|
|
33
|
+
* claude-code-proxy / 本进程),故这里**优先读最新的一份**、尽量不自己刷新,把刷新权
|
|
34
|
+
* 留给活跃的服务(通常是 claude-code-proxy)。仅当所有候选都过期时才兜底刷新。
|
|
35
|
+
*/
|
|
36
|
+
function codexAuthCandidates(explicit) {
|
|
37
|
+
if (explicit)
|
|
38
|
+
return [explicit];
|
|
39
|
+
if (process.env.CODEX_AUTH_FILE)
|
|
40
|
+
return [process.env.CODEX_AUTH_FILE];
|
|
41
|
+
return [
|
|
42
|
+
join(homedir(), '.codex', 'auth.json'),
|
|
43
|
+
join(homedir(), '.config', 'claude-code-proxy', 'codex', 'auth.json'),
|
|
44
|
+
];
|
|
45
|
+
}
|
|
46
|
+
/** 两种文件格式归一;accountId 缺失时从 JWT 的 chatgpt_account_id 取。 */
|
|
47
|
+
function parseCodexAuthFile(path) {
|
|
48
|
+
let raw;
|
|
49
|
+
try {
|
|
50
|
+
raw = JSON.parse(readFileSync(path, 'utf-8'));
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
const access = raw.tokens?.access_token ?? raw.access;
|
|
56
|
+
const refresh = raw.tokens?.refresh_token ?? raw.refresh;
|
|
57
|
+
let accountId = raw.tokens?.account_id ?? raw.accountId;
|
|
58
|
+
if (!accountId && access) {
|
|
59
|
+
try {
|
|
60
|
+
const payload = JSON.parse(Buffer.from(access.split('.')[1] ?? '', 'base64url').toString());
|
|
61
|
+
accountId = payload['https://api.openai.com/auth']?.chatgpt_account_id;
|
|
62
|
+
}
|
|
63
|
+
catch {
|
|
64
|
+
/* 取不到就当缺失 */
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return access && refresh && accountId ? { access, refresh, accountId } : null;
|
|
68
|
+
}
|
|
69
|
+
/** 取可用的 Codex 凭据:多候选取过期最晚的一份;全部过期才兜底刷新并写回来源文件。 */
|
|
27
70
|
export async function getCodexCreds(options = {}) {
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
71
|
+
const candidates = codexAuthCandidates(options.authPath);
|
|
72
|
+
const parsed = candidates
|
|
73
|
+
.map((p) => ({ path: p, creds: parseCodexAuthFile(p) }))
|
|
74
|
+
.filter((x) => x.creds !== null)
|
|
75
|
+
.sort((a, b) => jwtExpMs(b.creds.access) - jwtExpMs(a.creds.access));
|
|
76
|
+
if (parsed.length === 0) {
|
|
77
|
+
throw new Error(`未找到可用的 codex 凭据(查找位置:${candidates.join(', ')};请先用 codex 登录)`);
|
|
78
|
+
}
|
|
79
|
+
const best = parsed[0];
|
|
80
|
+
const authPath = best.path;
|
|
81
|
+
const { access, accountId } = best.creds;
|
|
37
82
|
if ((options.now ?? Date.now)() <= jwtExpMs(access) - 120_000) {
|
|
38
83
|
return { accessToken: access, accountId };
|
|
39
84
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codexAuth.js","sourceRoot":"","sources":["../../../src/providers/llm/codexAuth.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,SAAS,GAAG,8BAA8B,CAAC;AACjD,MAAM,SAAS,GAAG,qCAAqC,CAAC;AACxD,MAAM,CAAC,MAAM,oBAAoB,GAAG,uCAAuC,CAAC;AAC5E,MAAM,SAAS,GAAG,IAAI,GAAG,EAA+B,CAAC;AAazD,SAAS,QAAQ,CAAC,GAAW;IAC3B,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7E,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"codexAuth.js","sourceRoot":"","sources":["../../../src/providers/llm/codexAuth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module providers/mcp/interactionTools
|
|
3
|
+
* @description 需要"往返 chat UI"的 MCP 工具名(发交互事件 → 挂起回合 → 等前端回答)。
|
|
4
|
+
* 这类往返依赖 worker 自身的 protocolWriter/回合状态,MCP 子进程里够不着,
|
|
5
|
+
* 所以 openai worker 把它们挡在 MCP 之外、由 broker 原生实现(见
|
|
6
|
+
* openai-agent/mcp/managedMcp.ts 与 openai-agent/interactions/broker.ts);
|
|
7
|
+
* claude 走原生 MCP 直接用。工具目录页据此标注"两后端实现方式不同"。
|
|
8
|
+
* @layer provider
|
|
9
|
+
* @boundedContext agents
|
|
10
|
+
*/
|
|
11
|
+
export declare const INTERACTION_TOOL_NAMES: ReadonlySet<string>;
|
|
12
|
+
//# sourceMappingURL=interactionTools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interactionTools.d.ts","sourceRoot":"","sources":["../../../src/providers/mcp/interactionTools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,EAAE,WAAW,CAAC,MAAM,CAGrD,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module providers/mcp/interactionTools
|
|
3
|
+
* @description 需要"往返 chat UI"的 MCP 工具名(发交互事件 → 挂起回合 → 等前端回答)。
|
|
4
|
+
* 这类往返依赖 worker 自身的 protocolWriter/回合状态,MCP 子进程里够不着,
|
|
5
|
+
* 所以 openai worker 把它们挡在 MCP 之外、由 broker 原生实现(见
|
|
6
|
+
* openai-agent/mcp/managedMcp.ts 与 openai-agent/interactions/broker.ts);
|
|
7
|
+
* claude 走原生 MCP 直接用。工具目录页据此标注"两后端实现方式不同"。
|
|
8
|
+
* @layer provider
|
|
9
|
+
* @boundedContext agents
|
|
10
|
+
*/
|
|
11
|
+
export const INTERACTION_TOOL_NAMES = new Set([
|
|
12
|
+
'present_choices',
|
|
13
|
+
'present_form',
|
|
14
|
+
]);
|
|
15
|
+
//# sourceMappingURL=interactionTools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interactionTools.js","sourceRoot":"","sources":["../../../src/providers/mcp/interactionTools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAwB,IAAI,GAAG,CAAC;IACjE,iBAAiB;IACjB,cAAc;CACf,CAAC,CAAC"}
|