feat: expose codex stream delta events
This commit is contained in:
@@ -72,6 +72,7 @@ if (args[0] === "app-server" && args[1] === "generate-json-schema") {
|
||||
{ properties: { method: { const: "config/mcpServer/reload" } } },
|
||||
{ properties: { method: { const: "skills/config/write" } } },
|
||||
{ properties: { method: { const: "command/exec" } } },
|
||||
{ properties: { method: { const: "command/exec/outputDelta" } } },
|
||||
{ properties: { method: { const: "command/exec/write" } } },
|
||||
{ properties: { method: { const: "command/exec/resize" } } },
|
||||
{ properties: { method: { const: "command/exec/terminate" } } },
|
||||
@@ -103,6 +104,14 @@ if (args[0] === "app-server" && args[1] === "generate-json-schema") {
|
||||
{ properties: { method: { const: "mcpServer/resource/read" } } },
|
||||
{ properties: { method: { const: "mcpServer/tool/call" } } },
|
||||
{ properties: { method: { const: "mcpServer/elicitation/request" } } },
|
||||
{ properties: { method: { const: "item/agentMessage/delta" } } },
|
||||
{ properties: { method: { const: "item/plan/delta" } } },
|
||||
{ properties: { method: { const: "item/reasoning/summaryPartAdded" } } },
|
||||
{ properties: { method: { const: "item/reasoning/summaryTextDelta" } } },
|
||||
{ properties: { method: { const: "item/reasoning/textDelta" } } },
|
||||
{ properties: { method: { const: "item/mcpToolCall/progress" } } },
|
||||
{ properties: { method: { const: "item/commandExecution/terminalInteraction" } } },
|
||||
{ properties: { method: { const: "item/fileChange/outputDelta" } } },
|
||||
{ properties: { method: { const: "item/tool/requestUserInput" } } },
|
||||
{ properties: { method: { const: "item/permissions/requestApproval" } } },
|
||||
{ properties: { method: { const: "process/outputDelta" } } },
|
||||
@@ -205,6 +214,13 @@ process.exit(2);
|
||||
assert.equal(manifest.supports.skillsChanged, true);
|
||||
assert.equal(manifest.supports.pluginInstalledNotification, true);
|
||||
assert.equal(manifest.supports.threadLifecycleEvents, true);
|
||||
assert.equal(manifest.supports.agentMessageDelta, true);
|
||||
assert.equal(manifest.supports.planDelta, true);
|
||||
assert.equal(manifest.supports.reasoningDeltas, true);
|
||||
assert.equal(manifest.supports.mcpToolProgress, true);
|
||||
assert.equal(manifest.supports.commandOutputDeltas, true);
|
||||
assert.equal(manifest.supports.terminalInteraction, true);
|
||||
assert.equal(manifest.supports.fileChangeOutputDelta, true);
|
||||
assert.deepEqual(manifest.methods, [
|
||||
"account/chatgptAuthTokens/refresh",
|
||||
"account/login/cancel",
|
||||
@@ -213,6 +229,7 @@ process.exit(2);
|
||||
"account/logout",
|
||||
"account/sendAddCreditsNudgeEmail",
|
||||
"command/exec",
|
||||
"command/exec/outputDelta",
|
||||
"command/exec/resize",
|
||||
"command/exec/terminate",
|
||||
"command/exec/write",
|
||||
@@ -236,7 +253,15 @@ process.exit(2);
|
||||
"fuzzyFileSearch/sessionCompleted",
|
||||
"fuzzyFileSearch/sessionUpdated",
|
||||
"hooks/list",
|
||||
"item/agentMessage/delta",
|
||||
"item/commandExecution/terminalInteraction",
|
||||
"item/fileChange/outputDelta",
|
||||
"item/mcpToolCall/progress",
|
||||
"item/permissions/requestApproval",
|
||||
"item/plan/delta",
|
||||
"item/reasoning/summaryPartAdded",
|
||||
"item/reasoning/summaryTextDelta",
|
||||
"item/reasoning/textDelta",
|
||||
"item/tool/requestUserInput",
|
||||
"marketplace/add",
|
||||
"marketplace/remove",
|
||||
|
||||
@@ -293,6 +293,15 @@ test("device detail exposes Codex App Server discovered model and extension summ
|
||||
notificationOnly: true,
|
||||
labels: ["线程启动", "线程关闭", "已归档", "已恢复", "改名完成"],
|
||||
},
|
||||
streamDeltaEventSummary: {
|
||||
eventCount: 9,
|
||||
reasoningDeltaEventCount: 3,
|
||||
commandStreamEventCount: 2,
|
||||
toolProgressEventAvailable: true,
|
||||
fileChangeOutputEventAvailable: true,
|
||||
notificationOnly: true,
|
||||
labels: ["Agent 增量", "计划增量", "思考新增", "思考文本", "原始思考", "MCP 进度", "命令输出", "终端交互", "文件输出"],
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
@@ -329,6 +338,7 @@ test("device detail exposes Codex App Server discovered model and extension summ
|
||||
assert.equal(cards.capabilities.items.codexRuntimeEvents, "运行事件:3 项 · 进程 2 项 · 原始响应可用");
|
||||
assert.equal(cards.capabilities.items.codexExtensionEvents, "扩展事件:2 项 · Skill 变更可用 · 插件安装可用");
|
||||
assert.equal(cards.capabilities.items.codexThreadLifecycleEvents, "线程生命周期:5 项 · 归档 2 项 · 改名可用 · 关闭可用");
|
||||
assert.equal(cards.capabilities.items.codexStreamDeltaEvents, "流式增量:9 项 · 思考 3 项 · 命令 2 项 · MCP 进度可用 · 文件输出可用");
|
||||
});
|
||||
|
||||
test("device detail exposes folder and project conflict skeleton from workspace policy", async () => {
|
||||
|
||||
@@ -253,6 +253,15 @@ test("codex app-server discovery includes governance and MCP summaries without l
|
||||
notificationOnly: true,
|
||||
labels: ["线程启动", "线程关闭", "已归档", "已恢复", "改名完成"],
|
||||
});
|
||||
assert.deepEqual(metadata.streamDeltaEventSummary, {
|
||||
eventCount: 9,
|
||||
reasoningDeltaEventCount: 3,
|
||||
commandStreamEventCount: 2,
|
||||
toolProgressEventAvailable: true,
|
||||
fileChangeOutputEventAvailable: true,
|
||||
notificationOnly: true,
|
||||
labels: ["Agent 增量", "计划增量", "思考新增", "思考文本", "原始思考", "MCP 进度", "命令输出", "终端交互", "文件输出"],
|
||||
});
|
||||
|
||||
const serialized = JSON.stringify(metadata);
|
||||
assert.equal(serialized.includes("sk-secret-should-not-leak"), false);
|
||||
|
||||
Reference in New Issue
Block a user