feat(kap-server): add the WS v2 realtime protocol stack (transcript-v3) #10038
ci.yml
on: pull_request
build
8m 56s
test-pi-tui
54s
test-vscode-legacy
2m 33s
test-windows
lint
3m 5s
typecheck
2m 6s
Matrix: test
Annotations
26 errors and 20 warnings
|
typecheck
Process completed with exit code 2.
|
|
typecheck:
packages/kap-server/src/services/v2Projection/agentProjector.ts#L662
Property 'input' comes from an index signature, so it must be accessed with ['input'].
|
|
typecheck:
packages/kap-server/src/services/v2Projection/agentProjector.ts#L576
Property 'raw' comes from an index signature, so it must be accessed with ['raw'].
|
|
typecheck:
packages/kap-server/src/services/v2Projection/agentProjector.ts#L575
Property 'sourceAgentId' comes from an index signature, so it must be accessed with ['sourceAgentId'].
|
|
typecheck:
packages/kap-server/src/services/v2Projection/agentProjector.ts#L573
Property 'sourceKind' comes from an index signature, so it must be accessed with ['sourceKind'].
|
|
typecheck:
packages/kap-server/src/services/v2Projection/agentProjector.ts#L572
Property 'notificationType' comes from an index signature, so it must be accessed with ['notificationType'].
|
|
typecheck:
packages/kap-server/src/services/v2Projection/agentProjector.ts#L571
Property 'severity' comes from an index signature, so it must be accessed with ['severity'].
|
|
typecheck:
packages/kap-server/src/services/v2Projection/agentProjector.ts#L567
Property 'sourceId' comes from an index signature, so it must be accessed with ['sourceId'].
|
|
typecheck:
packages/kap-server/src/services/v2Projection/agentProjector.ts#L566
Property 'body' comes from an index signature, so it must be accessed with ['body'].
|
|
typecheck:
packages/kap-server/src/services/v2Projection/agentProjector.ts#L565
Property 'title' comes from an index signature, so it must be accessed with ['title'].
|
|
test (1)
Process completed with exit code 1.
|
|
[kap-server] test/v2Projection.test.ts > WS v2 全消息面 > system 剩余 subtype:hook / skill / notice / clear / swarm:
packages/kap-server/test/v2Projection.test.ts#L4039
AssertionError: expected [ [ 'system', 'hook' ], …(4) ] to deeply equal [ [ 'system', 'hook' ], …(5) ]
- Expected
+ Received
@@ -3,14 +3,10 @@
"system",
"hook",
],
[
"system",
- "skill",
- ],
- [
- "system",
"notice",
],
[
"system",
"clear",
❯ test/v2Projection.test.ts:4039:59
|
|
[kap-server] test/v2Projection.test.ts > WS v2 传输层 > subagent:子代理通道按需订阅:
packages/kap-server/test/v2Projection.test.ts#L3859
AssertionError: expected [ { type: 'turn', …(9) }, …(14) ] to deeply equal [ { type: 'turn', …(8) }, …(13) ]
- Expected
+ Received
@@ -10,13 +10,29 @@
"started_at": "2026-09-03T17:30:01.600Z",
"state": "running",
"timestamp": "2026-09-03T17:30:01.600Z",
"turn_id": "r1",
"type": "turn",
+ "user_message_id": "r1.u0",
},
{
"agent_id": "review_01",
+ "created_at": "2026-09-03T17:30:01.600Z",
+ "message_id": "r1.u0",
+ "origin": {
+ "kind": "task",
+ "task_id": "task_01",
+ },
+ "session_id": "s_16",
+ "status": "running",
+ "text": "",
+ "timestamp": "2026-09-03T17:30:01.600Z",
+ "turn_id": "r1",
+ "type": "user",
+ },
+ {
+ "agent_id": "review_01",
"ordinal": 0,
"session_id": "s_16",
"started_at": "2026-09-03T17:30:01.620Z",
"state": "running",
"step_id": "r1.0",
@@ -171,7 +187,8 @@
"type": "turn",
"usage": {
"input_tokens": 2200,
"output_tokens": 64,
},
+ "user_message_id": "r1.u0",
},
]
❯ test/v2Projection.test.ts:3859:26
|
|
[kap-server] test/v2Projection.test.ts > v2Projection × REST 历史冷重建 > background-task REST 历史:
packages/kap-server/test/v2Projection.test.ts#L3106
AssertionError: expected { session_id: 's_11', …(3) } to deeply equal { session_id: 's_11', …(3) }
- Expected
+ Received
@@ -30,10 +30,11 @@
"session_id": "s_11",
"started_at": "2026-09-03T16:00:00.020Z",
"state": "completed",
"step_id": "t1.0",
"timestamp": "2026-09-03T16:00:04.100Z",
+ "timing": undefined,
"turn_id": "t1",
"type": "step",
"usage": {
"input_cache_creation": 0,
"input_cache_read": 9200,
@@ -44,12 +45,16 @@
{
"agent_id": "main",
"created_at": "2026-09-03T16:00:00.000Z",
"finished_at": "2026-09-03T16:00:04.895Z",
"message_id": "t1.u0",
+ "notification": undefined,
+ "origin": undefined,
"session_id": "s_11",
+ "skill_activations": undefined,
"status": "completed",
+ "steered_at": undefined,
"text": "跑一下完整构建",
"timestamp": "2026-09-03T16:00:00.010Z",
"turn_id": "t1",
"type": "user",
},
@@ -75,10 +80,14 @@
"turn_id": "t1",
"type": "assistant",
},
{
"agent_id": "main",
+ "agent_refs": undefined,
+ "approval_id": undefined,
+ "display": undefined,
+ "error": undefined,
"input": {
"command": "pnpm build",
},
"name": "Bash",
"output": {
@@ -87,10 +96,11 @@
},
"session_id": "s_11",
"state": "done",
"step_id": "t1.0",
"timestamp": "2026-09-03T16:00:04.010Z",
+ "todo_id": undefined,
"tool_call_id": "call_01",
"turn_id": "t1",
"type": "tool_call",
},
{
@@ -101,10 +111,11 @@
"session_id": "s_11",
"started_at": "2026-09-03T16:00:04.145Z",
"state": "completed",
"step_id": "t1.1",
"timestamp": "2026-09-03T16:00:04.800Z",
+ "timing": undefined,
"turn_id": "t1",
"type": "step",
"usage": {
"input_cache_creation": 0,
"input_cache_read": 10100,
@@ -123,22 +134,28 @@
"turn_id": "t1",
"type": "assistant",
},
{
"agent_id": "main",
+ "child_agent_id": undefined,
"description": "pnpm build",
"detached": true,
"ended_at": "2026-09-03T16:07:58.495Z",
+ "error": undefined,
"kind": "shell",
+ "model": undefined,
"output_tail": "… build finished successfully in 7m 56s …",
"result_summary": "构建成功:8 个包全部编译通过",
"session_id": "s_11",
"started_at": "2026-09-03T16:00:01.500Z",
"state": "completed",
+ "state_reason": undefined,
"task_id": "task_01",
+ "thinking_effort": undefined,
"timestamp": "2026-09-03T16:07:58.500Z",
"type": "task",
+ "usage": undefined,
},
{
"agent_id": "main",
"duration_ms": 797,
"ended_at": "2026-09-03T16:07:59.395Z",
@@ -167,10 +184,11 @@
"session_id": "s_11",
"started_at": "2026-09-03T16:07:58.618Z",
"state": "completed",
"step_id": "t2.0",
"timestamp": "2026-09-03T16:07:59.300Z",
+ "timing": undefined,
"turn_id": "t2",
"type": "step",
"usage": {
"input_cache_creation": 0,
"input_cache_read": 12000,
@@ -182,11 +200,17 @@
"agent_id": "main",
"created_at": "2026-09-03T16:07:58.598Z",
"finished_at": "2026-09-03T16:07:59.395Z",
"message_id": "t2.u0",
"notification": {
+ "agent_id": undefined,
"body": "构建成功:8 个包全部编译通过",
+ "raw": "<notification id=\"task:task_01:completed\" category=\"task\" type=\"task.completed\" source_kind=\"background_task\" source_id=\"task_01\">
+ Title: 后台构建完成
+ Severity: info
+ 构建成功:8 个包全部编译通过
+ </notification>",
"severity": "info",
"source_id": "task_01",
"source_kind": "background_task",
"title": "后台构建完成",
|
|
[kap-server] test/v2Projection.test.ts > v2Projection × 实例对拍 > subagent 四场景:
packages/kap-server/test/v2Projection.test.ts#L76
AssertionError: expected [ { type: 'user', …(14) }, …(32) ] to deeply equal [ { type: 'user', …(8) }, …(31) ]
- Expected
+ Received
@@ -1,19 +1,26 @@
[
{
"agent_id": "main",
+ "attachment_ids": undefined,
"created_at": "2026-09-03T17:30:00.000Z",
+ "finished_at": undefined,
"message_id": "t1.u0",
+ "notification": undefined,
+ "origin": undefined,
"session_id": "s_16",
+ "skill_activations": undefined,
"status": "running",
+ "steered_at": undefined,
"text": "白屏修好了,帮我审查一下改动",
"timestamp": "2026-09-03T17:30:00.010Z",
"turn_id": "t1",
"type": "user",
},
{
"agent_id": "main",
+ "attachment_ids": undefined,
"ordinal": 0,
"origin": {
"kind": "user",
},
"session_id": "s_16",
@@ -26,44 +33,57 @@
},
{
"activity": "turn",
"busy": true,
"context_tokens": 1820,
+ "goal": undefined,
+ "last_turn_reason": undefined,
"main_turn_active": true,
"max_context_tokens": 262144,
"model": "kimi-k3-highspeed",
+ "modes": undefined,
"pending_interaction": "none",
"permission": "manual",
"phase": {
"kind": "running",
"since": 1788456600015,
"step": 0,
"step_id": "t1.0",
"turn_id": 0,
},
"session_id": "s_16",
+ "thinking_effort": undefined,
"timestamp": "2026-09-03T17:30:00.020Z",
"type": "session.state",
"usage": {
+ "by_model": undefined,
+ "current_turn": undefined,
"total": {
"input_cache_creation": 0,
"input_cache_read": 0,
"input_other": 0,
"output": 0,
},
},
},
{
"agent_id": "main",
+ "end_message": undefined,
+ "end_reason": undefined,
+ "ended_at": undefined,
+ "finish_reason": undefined,
"ordinal": 0,
+ "retry": undefined,
"session_id": "s_16",
"started_at": "2026-09-03T17:30:00.022Z",
"state": "running",
"step_id": "t1.0",
"timestamp": "2026-09-03T17:30:00.022Z",
+ "timing": undefined,
"turn_id": "t1",
"type": "step",
+ "usage": undefined,
},
{
"agent_id": "main",
"message_id": "t1.0.h0",
"session_id": "s_16",
@@ -137,20 +157,27 @@
{
"agent_id": "review_01",
"role": "child",
},
],
+ "approval_id": undefined,
+ "display": undefined,
+ "error": undefined,
"input": {
"agent_type": "reviewer",
"description": "审查 LoginView 的白屏修复",
"run_in_background": true,
},
"name": "Agent",
+ "output": undefined,
+ "progress": undefined,
"session_id": "s_16",
"state": "running",
"step_id": "t1.0",
+ "task_id": undefined,
"timestamp": "2026-09-03T17:30:01.500Z",
+ "todo_id": undefined,
"tool_call_id": "call_01",
"turn_id": "t1",
"type": "tool_call",
},
{
@@ -159,38 +186,46 @@
{
"agent_id": "review_01",
"role": "child",
},
],
+ "approval_id": undefined,
+ "display": undefined,
+ "error": undefined,
"input": {
"agent_type": "reviewer",
"description": "审查 LoginView 的白屏修复",
"run_in_background": true,
},
"name": "Agent",
"output": {
"task_id": "task_01",
},
+ "progress": undefined,
"session_id": "s_16",
"state": "done",
"step_id": "t1.0",
+ "task_id": undefined,
"timestamp": "2026-09-03T17:30:01.600Z",
+ "todo_id": undefined,
"tool_call_id": "call_01",
"turn_id": "t1",
"type": "tool_call",
},
{
"agent_id": "main",
"child_agent_id": "review_01",
"description": "审查 LoginView 的白屏修复",
"detached": true,
"kind": "subagent",
+ "model": undefined,
"output_tail": "",
"session_id": "s_16",
"started_at": "2026-09-03T17:30:01.610Z",
"state":
|
|
test (2)
Process completed with exit code 1.
|
|
[agent-core-v2] test/features/plan/plan.test.ts > Plan service > plan mode Bash ordinary permission behavior > allows Bash through ordinary yolo permission behavior:
packages/agent-core-v2/test/features/plan/plan.test.ts#L794
Error: Snapshot `Plan service > plan mode Bash ordinary permission behavior > allows Bash through ordinary yolo permission behavior 1` mismatched
- Expected
+ Received
@@ -1,11 +1,11 @@
[wire] permission.set_mode { "agentId": "main", "mode": "yolo", "time": "<time>" }
[wire] plan_mode.enter { "agentId": "main", "id": "test-plan", "time": "<time>" }
[emit] agent.status.updated { "time": "<time>", "agentId": "main", "planMode": true }
[wire] prompt.accepted { "agentId": "main", "promptId": "<msg-1>", "content": [ { "type": "text", "text": "Remove forbidden.txt" } ], "time": "<time>" }
[emit] prompt.accepted { "time": "<time>", "agentId": "main", "promptId": "<msg-1>", "content": [ { "type": "text", "text": "Remove forbidden.txt" } ] }
- [emit] prompt.submitted { "time": "<time>", "agentId": "main", "promptId": "<msg-1>", "userMessageId": "<msg-1>", "status": "running", "content": [ { "type": "text", "text": "Remove forbidden.txt" } ], "createdAt": "<time>" }
+ [emit] prompt.submitted { "time": "<time>", "agentId": "main", "promptId": "<msg-1>", "userMessageId": "<msg-1>", "status": "running", "content": [ { "type": "text", "text": "Remove forbidden.txt" } ], "createdAt": "<time>", "origin": { "kind": "user" } }
[wire] turn.prompt { "agentId": "main", "input": [ { "type": "text", "text": "Remove forbidden.txt" } ], "origin": { "kind": "user" }, "promptId": "<msg-1>", "time": "<time>" }
[emit] turn.started { "time": "<time>", "agentId": "main", "turnId": 0, "promptId": "<msg-1>", "origin": { "kind": "user" }, "prompt": "Remove forbidden.txt" }
[emit] agent.activity.updated { "time": "<time>", "lifecycle": "ready", "turn": { "turnId": 0, "origin": { "kind": "user" }, "phase": "running", "step": 0, "ending": false, "pendingApprovals": [], "activeToolCalls": [], "since": "<time>" }, "background": [], "agentId": "main" }
[emit] context.spliced { "time": "<time>", "agentId": "main", "start": 0, "deleteCount": 0, "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Remove forbidden.txt" } ], "toolCalls": [], "origin": { "kind": "user" }, "id": "<msg-1>" } ] }
[emit] prompt.started { "time": "<time>", "agentId": "main", "promptId": "<msg-1>" }
❯ test/features/plan/plan.test.ts:794:40
|
|
[agent-core-v2] test/features/plan/plan.test.ts > Plan service > plan allows safe tool flow > allows read-only Bash to continue through permission and execution:
packages/agent-core-v2/test/features/plan/plan.test.ts#L711
Error: Snapshot `Plan service > plan allows safe tool flow > allows read-only Bash to continue through permission and execution 1` mismatched
- Expected
+ Received
@@ -1,11 +1,11 @@
[wire] permission.set_mode { "agentId": "main", "mode": "yolo", "time": "<time>" }
[wire] plan_mode.enter { "agentId": "main", "id": "test-plan", "time": "<time>" }
[emit] agent.status.updated { "time": "<time>", "agentId": "main", "planMode": true }
[wire] prompt.accepted { "agentId": "main", "promptId": "<msg-1>", "content": [ { "type": "text", "text": "Inspect without mutating files" } ], "time": "<time>" }
[emit] prompt.accepted { "time": "<time>", "agentId": "main", "promptId": "<msg-1>", "content": [ { "type": "text", "text": "Inspect without mutating files" } ] }
- [emit] prompt.submitted { "time": "<time>", "agentId": "main", "promptId": "<msg-1>", "userMessageId": "<msg-1>", "status": "running", "content": [ { "type": "text", "text": "Inspect without mutating files" } ], "createdAt": "<time>" }
+ [emit] prompt.submitted { "time": "<time>", "agentId": "main", "promptId": "<msg-1>", "userMessageId": "<msg-1>", "status": "running", "content": [ { "type": "text", "text": "Inspect without mutating files" } ], "createdAt": "<time>", "origin": { "kind": "user" } }
[wire] turn.prompt { "agentId": "main", "input": [ { "type": "text", "text": "Inspect without mutating files" } ], "origin": { "kind": "user" }, "promptId": "<msg-1>", "time": "<time>" }
[emit] turn.started { "time": "<time>", "agentId": "main", "turnId": 0, "promptId": "<msg-1>", "origin": { "kind": "user" }, "prompt": "Inspect without mutating files" }
[emit] agent.activity.updated { "time": "<time>", "lifecycle": "ready", "turn": { "turnId": 0, "origin": { "kind": "user" }, "phase": "running", "step": 0, "ending": false, "pendingApprovals": [], "activeToolCalls": [], "since": "<time>" }, "background": [], "agentId": "main" }
[emit] context.spliced { "time": "<time>", "agentId": "main", "start": 0, "deleteCount": 0, "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Inspect without mutating files" } ], "toolCalls": [], "origin": { "kind": "user" }, "id": "<msg-1>" } ] }
[emit] prompt.started { "time": "<time>", "agentId": "main", "promptId": "<msg-1>" }
❯ test/features/plan/plan.test.ts:711:40
|
|
[agent-core-v2] test/agent/loop/loop.test.ts > Agent loop > runs an agent turn through registered tool approval and execution:
packages/agent-core-v2/test/agent/loop/loop.test.ts#L386
Error: Snapshot `Agent loop > runs an agent turn through registered tool approval and execution 1` mismatched
- Expected
+ Received
@@ -1,9 +1,9 @@
[wire] tools.set_active_tools { "agentId": "main", "names": [ "Lookup" ], "time": "<time>" }
[wire] prompt.accepted { "agentId": "main", "promptId": "<msg-1>", "content": [ { "type": "text", "text": "Look up moon" } ], "time": "<time>" }
[emit] prompt.accepted { "time": "<time>", "agentId": "main", "promptId": "<msg-1>", "content": [ { "type": "text", "text": "Look up moon" } ] }
- [emit] prompt.submitted { "time": "<time>", "agentId": "main", "promptId": "<msg-1>", "userMessageId": "<msg-1>", "status": "running", "content": [ { "type": "text", "text": "Look up moon" } ], "createdAt": "<time>" }
+ [emit] prompt.submitted { "time": "<time>", "agentId": "main", "promptId": "<msg-1>", "userMessageId": "<msg-1>", "status": "running", "content": [ { "type": "text", "text": "Look up moon" } ], "createdAt": "<time>", "origin": { "kind": "user" } }
[wire] turn.prompt { "agentId": "main", "input": [ { "type": "text", "text": "Look up moon" } ], "origin": { "kind": "user" }, "promptId": "<msg-1>", "time": "<time>" }
[emit] turn.started { "time": "<time>", "agentId": "main", "turnId": 0, "promptId": "<msg-1>", "origin": { "kind": "user" }, "prompt": "Look up moon" }
[emit] agent.activity.updated { "time": "<time>", "lifecycle": "ready", "turn": { "turnId": 0, "origin": { "kind": "user" }, "phase": "running", "step": 0, "ending": false, "pendingApprovals": [], "activeToolCalls": [], "since": "<time>" }, "background": [], "agentId": "main" }
[emit] context.spliced { "time": "<time>", "agentId": "main", "start": 0, "deleteCount": 0, "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Look up moon" } ], "toolCalls": [], "origin": { "kind": "user" }, "id": "<msg-1>" } ] }
[emit] prompt.started { "time": "<time>", "agentId": "main", "promptId": "<msg-1>" }
❯ test/agent/loop/loop.test.ts:386:43
|
|
[agent-core-v2] test/agent/loop/loop.test.ts > Agent loop > fails the turn after a filtered step completes:
packages/agent-core-v2/test/agent/loop/loop.test.ts#L132
Error: Snapshot `Agent loop > fails the turn after a filtered step completes 1` mismatched
- Expected
+ Received
@@ -1,8 +1,8 @@
[wire] prompt.accepted { "agentId": "main", "promptId": "<msg-1>", "content": [ { "type": "text", "text": "Hello" } ], "time": "<time>" }
[emit] prompt.accepted { "time": "<time>", "agentId": "main", "promptId": "<msg-1>", "content": [ { "type": "text", "text": "Hello" } ] }
- [emit] prompt.submitted { "time": "<time>", "agentId": "main", "promptId": "<msg-1>", "userMessageId": "<msg-1>", "status": "running", "content": [ { "type": "text", "text": "Hello" } ], "createdAt": "<time>" }
+ [emit] prompt.submitted { "time": "<time>", "agentId": "main", "promptId": "<msg-1>", "userMessageId": "<msg-1>", "status": "running", "content": [ { "type": "text", "text": "Hello" } ], "createdAt": "<time>", "origin": { "kind": "user" } }
[wire] turn.prompt { "agentId": "main", "input": [ { "type": "text", "text": "Hello" } ], "origin": { "kind": "user" }, "promptId": "<msg-1>", "time": "<time>" }
[emit] turn.started { "time": "<time>", "agentId": "main", "turnId": 0, "promptId": "<msg-1>", "origin": { "kind": "user" }, "prompt": "Hello" }
[emit] agent.activity.updated { "time": "<time>", "lifecycle": "ready", "turn": { "turnId": 0, "origin": { "kind": "user" }, "phase": "running", "step": 0, "ending": false, "pendingApprovals": [], "activeToolCalls": [], "since": "<time>" }, "background": [], "agentId": "main" }
[emit] context.spliced { "time": "<time>", "agentId": "main", "start": 0, "deleteCount": 0, "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Hello" } ], "toolCalls": [], "origin": { "kind": "user" }, "id": "<msg-1>" } ] }
[emit] prompt.started { "time": "<time>", "agentId": "main", "promptId": "<msg-1>" }
❯ test/agent/loop/loop.test.ts:132:38
|
|
[agent-core-v2] test/agent/loop/loop.test.ts > Agent loop > runs a text-only agent turn from prompt to completion:
packages/agent-core-v2/test/agent/loop/loop.test.ts#L71
Error: Snapshot `Agent loop > runs a text-only agent turn from prompt to completion 1` mismatched
- Expected
+ Received
@@ -1,9 +1,9 @@
[wire] tools.set_active_tools { "agentId": "main", "names": [], "time": "<time>" }
[wire] prompt.accepted { "agentId": "main", "promptId": "<msg-1>", "content": [ { "type": "text", "text": "Hello" } ], "time": "<time>" }
[emit] prompt.accepted { "time": "<time>", "agentId": "main", "promptId": "<msg-1>", "content": [ { "type": "text", "text": "Hello" } ] }
- [emit] prompt.submitted { "time": "<time>", "agentId": "main", "promptId": "<msg-1>", "userMessageId": "<msg-1>", "status": "running", "content": [ { "type": "text", "text": "Hello" } ], "createdAt": "<time>" }
+ [emit] prompt.submitted { "time": "<time>", "agentId": "main", "promptId": "<msg-1>", "userMessageId": "<msg-1>", "status": "running", "content": [ { "type": "text", "text": "Hello" } ], "createdAt": "<time>", "origin": { "kind": "user" } }
[wire] turn.prompt { "agentId": "main", "input": [ { "type": "text", "text": "Hello" } ], "origin": { "kind": "user" }, "promptId": "<msg-1>", "time": "<time>" }
[emit] turn.started { "time": "<time>", "agentId": "main", "turnId": 0, "promptId": "<msg-1>", "origin": { "kind": "user" }, "prompt": "Hello" }
[emit] agent.activity.updated { "time": "<time>", "lifecycle": "ready", "turn": { "turnId": 0, "origin": { "kind": "user" }, "phase": "running", "step": 0, "ending": false, "pendingApprovals": [], "activeToolCalls": [], "since": "<time>" }, "background": [], "agentId": "main" }
[emit] context.spliced { "time": "<time>", "agentId": "main", "start": 0, "deleteCount": 0, "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Hello" } ], "toolCalls": [], "origin": { "kind": "user" }, "id": "<msg-1>" } ] }
[emit] prompt.started { "time": "<time>", "agentId": "main", "promptId": "<msg-1>" }
❯ test/agent/loop/loop.test.ts:71:38
|
|
[agent-core-v2] test/tool/tool.test.ts > Agent tools > registered user tools > routes registered user tools through tool.call request/response:
packages/agent-core-v2/test/tool/tool.test.ts#L4303
Error: Snapshot `Agent tools > registered user tools > routes registered user tools through tool.call request/response 1` mismatched
- Expected
+ Received
@@ -1,10 +1,10 @@
[wire] permission.set_mode { "agentId": "main", "mode": "auto", "time": "<time>" }
[wire] tools.register_user_tool { "name": "Lookup", "description": "Look up a short test value.", "parameters": { "type": "object", "properties": { "query": { "type": "string" } }, "required": [ "query" ], "additionalProperties": false }, "agentId": "main", "time": "<time>" }
[wire] prompt.accepted { "agentId": "main", "promptId": "<msg-1>", "content": [ { "type": "text", "text": "Look up moon" } ], "time": "<time>" }
[emit] prompt.accepted { "time": "<time>", "agentId": "main", "promptId": "<msg-1>", "content": [ { "type": "text", "text": "Look up moon" } ] }
- [emit] prompt.submitted { "time": "<time>", "agentId": "main", "promptId": "<msg-1>", "userMessageId": "<msg-1>", "status": "running", "content": [ { "type": "text", "text": "Look up moon" } ], "createdAt": "<time>" }
+ [emit] prompt.submitted { "time": "<time>", "agentId": "main", "promptId": "<msg-1>", "userMessageId": "<msg-1>", "status": "running", "content": [ { "type": "text", "text": "Look up moon" } ], "createdAt": "<time>", "origin": { "kind": "user" } }
[wire] turn.prompt { "agentId": "main", "input": [ { "type": "text", "text": "Look up moon" } ], "origin": { "kind": "user" }, "promptId": "<msg-1>", "time": "<time>" }
[emit] turn.started { "time": "<time>", "agentId": "main", "turnId": 0, "promptId": "<msg-1>", "origin": { "kind": "user" }, "prompt": "Look up moon" }
[emit] agent.activity.updated { "time": "<time>", "lifecycle": "ready", "turn": { "turnId": 0, "origin": { "kind": "user" }, "phase": "running", "step": 0, "ending": false, "pendingApprovals": [], "activeToolCalls": [], "since": "<time>" }, "background": [], "agentId": "main" }
[emit] context.spliced { "time": "<time>", "agentId": "main", "start": 0, "deleteCount": 0, "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Look up moon" } ], "toolCalls": [], "origin": { "kind": "user" }, "id": "<msg-1>" } ] }
[emit] prompt.started { "time": "<time>", "agentId": "main", "promptId": "<msg-1>" }
❯ test/tool/tool.test.ts:4303:9
|
|
[kap-server] test/v2Engine.e2e.test.ts > v2 stack 真实引擎 e2e > (c) manual 权限 approval:interaction 全链路:
packages/kap-server/test/v2Engine.e2e.test.ts#L342
AssertionError: expected false to be true // Object.is equality
- Expected
+ Received
- true
+ false
❯ test/v2Engine.e2e.test.ts:342:143
|
|
[kap-server] test/v2Engine.e2e.test.ts > v2 stack 真实引擎 e2e:
packages/kap-server/test/v2Engine.e2e.test.ts#L254
Error: Hook timed out in 60000ms.
If this is a long-running hook, pass a timeout value as the last argument or configure it globally with "hookTimeout".
❯ test/v2Engine.e2e.test.ts:254:3
|
|
test (4)
Process completed with exit code 1.
|
|
[agent-core-v2] test/app/config/config.test.ts > Agent config > keeps turn-start config for later steps and applies updates to the next turn:
packages/agent-core-v2/test/app/config/config.test.ts#L336
Error: Snapshot `Agent config > keeps turn-start config for later steps and applies updates to the next turn 1` mismatched
- Expected
+ Received
@@ -1,8 +1,8 @@
[wire] prompt.accepted { "agentId": "main", "promptId": "<msg-1>", "content": [ { "type": "text", "text": "Look up before config changes" } ], "time": "<time>" }
[emit] prompt.accepted { "time": "<time>", "agentId": "main", "promptId": "<msg-1>", "content": [ { "type": "text", "text": "Look up before config changes" } ] }
- [emit] prompt.submitted { "time": "<time>", "agentId": "main", "promptId": "<msg-1>", "userMessageId": "<msg-1>", "status": "running", "content": [ { "type": "text", "text": "Look up before config changes" } ], "createdAt": "<time>" }
+ [emit] prompt.submitted { "time": "<time>", "agentId": "main", "promptId": "<msg-1>", "userMessageId": "<msg-1>", "status": "running", "content": [ { "type": "text", "text": "Look up before config changes" } ], "createdAt": "<time>", "origin": { "kind": "user" } }
[wire] turn.prompt { "agentId": "main", "input": [ { "type": "text", "text": "Look up before config changes" } ], "origin": { "kind": "user" }, "promptId": "<msg-1>", "time": "<time>" }
[emit] turn.started { "time": "<time>", "agentId": "main", "turnId": 0, "promptId": "<msg-1>", "origin": { "kind": "user" }, "prompt": "Look up before config changes" }
[emit] agent.activity.updated { "time": "<time>", "lifecycle": "ready", "turn": { "turnId": 0, "origin": { "kind": "user" }, "phase": "running", "step": 0, "ending": false, "pendingApprovals": [], "activeToolCalls": [], "since": "<time>" }, "background": [], "agentId": "main" }
[emit] context.spliced { "time": "<time>", "agentId": "main", "start": 0, "deleteCount": 0, "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Look up before config changes" } ], "toolCalls": [], "origin": { "kind": "user" }, "id": "<msg-1>" } ] }
[emit] prompt.started { "time": "<time>", "agentId": "main", "promptId": "<msg-1>" }
❯ test/app/config/config.test.ts:336:43
|
|
test-pi-tui
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
typecheck
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
test-vscode-legacy
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
lint
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
eslint-plugin-import(first):
packages/agent-core-v2/src/_base/di/test.ts#L11
Import statements must come first
|
|
eslint-plugin-import(no-duplicates):
packages/agent-core-v2/src/_base/di/scope.ts#L3
Module './instantiation' is imported more than once in this file
|
|
eslint-plugin-unicorn(catch-error-name):
packages/agent-core-v2/src/_base/errors/unexpectedError.ts#L28
The catch parameter "err" should be named "error"
|
|
eslint-plugin-unicorn(catch-error-name):
packages/agent-core-v2/src/_base/errors/unexpectedError.ts#L20
The catch parameter "handlerErr" should be named "error"
|
|
eslint(no-console):
packages/agent-core-v2/src/_base/errors/unexpectedError.ts#L21
Unexpected console statement.
|
|
eslint(no-console):
packages/agent-core-v2/src/_base/errors/unexpectedError.ts#L4
Unexpected console statement.
|
|
eslint(no-console):
packages/agent-core-v2/src/_base/di/lifecycle.ts#L640
Unexpected console statement.
|
|
eslint(no-console):
packages/agent-core-v2/src/_base/di/lifecycle.ts#L558
Unexpected console statement.
|
|
eslint(no-loop-func):
packages/agent-core-v2/src/_base/event.ts#L211
Function declared in a loop contains unsafe references to variable(s)
|
|
eslint(no-loop-func):
packages/agent-core-v2/src/_base/event.ts#L206
Function declared in a loop contains unsafe references to variable(s)
|
|
test (1)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
test (5)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
test (2)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
build
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
test (4)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
test (3)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|