fix: harden authentication and shutdown for 1.0.3 #3
ci.yml
on: push
Annotations
42 errors
|
Test (runtime python)
Process completed with exit code 1.
|
|
test/daemon-launch.test.ts > shutdownDaemonAndWait > stops a running daemon and returns true:
packages/coding-agent/test/daemon-launch.test.ts#L515
AssertionError: expected false to be true // Object.is equality
- Expected
+ Received
- true
+ false
❯ test/daemon-launch.test.ts:515:58
|
|
test/daemon-client.test.ts > DaemonClient > rejects unsupported optional commands without writing them to an older daemon:
packages/coding-agent/test/daemon-client.test.ts#L217
AssertionError: expected [Function] to throw error including 'does not support heartbeat_catalog' but got 'The running Base Context daemon canno…'
Expected: "does not support heartbeat_catalog"
Received: "The running Base Context daemon cannot provide canonical session ownership for heartbeats_list. Command not sent. Start an updated Base Context daemon; use the old runtime's own controls for legacy cleanup. Only passive inspection is available on this connection."
❯ test/daemon-client.test.ts:217:60
|
|
test/daemon-agent-connection-reconnect-park.test.ts > daemon agent connection reconnect parking > update-restart restore survives cuts mid-list, mid-attach, and mid-snapshot instead of parking:
packages/coding-agent/src/modes/daemon/daemon-client.ts#L479
DaemonProtocolMismatchError: Base Context refuses incompatible daemon undefined protocol 7; expected base-context.daemon protocol 13. Use this installation's Base Context socket. The other daemon was not changed.
❯ DaemonClient.handleLine src/modes/daemon/daemon-client.ts:479:19
❯ src/modes/daemon/daemon-client.ts:222:68
❯ emitLine src/modes/rpc/jsonl.ts:43:3
❯ emitFrom src/modes/rpc/jsonl.ts:79:3
❯ Socket.onData src/modes/rpc/jsonl.ts:89:4
|
|
test/daemon-agent-connection-reconnect-park.test.ts > daemon agent connection reconnect parking > reconnect loop survives cuts mid-attach and mid-snapshot instead of parking its own requests:
packages/coding-agent/src/modes/daemon/daemon-client.ts#L479
DaemonProtocolMismatchError: Base Context refuses incompatible daemon undefined protocol 7; expected base-context.daemon protocol 13. Use this installation's Base Context socket. The other daemon was not changed.
❯ DaemonClient.handleLine src/modes/daemon/daemon-client.ts:479:19
❯ src/modes/daemon/daemon-client.ts:222:68
❯ emitLine src/modes/rpc/jsonl.ts:43:3
❯ emitFrom src/modes/rpc/jsonl.ts:79:3
❯ Socket.onData src/modes/rpc/jsonl.ts:89:4
|
|
test/agent-session-stats.test.ts > AgentSession.getSessionStats > uses post-compaction usage for current context instead of stale kept usage:
packages/coding-agent/src/core/session-manager.ts#L1727
Error: Synchronous history access requires a resident session view; use captured async history reads
❯ SessionManager._assertResident src/core/session-manager.ts:1727:10
❯ SessionManager.buildSessionContext src/core/session-manager.ts:4003:8
❯ syncAgentMessages test/agent-session-stats.test.ts:88:48
❯ test/agent-session-stats.test.ts:151:4
|
|
test/agent-session-stats.test.ts > AgentSession.getSessionStats > reports unknown current context usage immediately after compaction:
packages/coding-agent/src/core/session-manager.ts#L1727
Error: Synchronous history access requires a resident session view; use captured async history reads
❯ SessionManager._assertResident src/core/session-manager.ts:1727:10
❯ SessionManager.buildSessionContext src/core/session-manager.ts:4003:8
❯ syncAgentMessages test/agent-session-stats.test.ts:88:48
❯ test/agent-session-stats.test.ts:120:4
|
|
test/agent-session-queue-mutation.test.ts > AgentSession queue mutation > rejects replacing an injected custom-message turn but allows deleting it:
packages/coding-agent/test/agent-session-queue-mutation.test.ts#L275
AssertionError: expected undefined to be defined
❯ test/agent-session-queue-mutation.test.ts:275:20
|
|
test/agent-session-queue-mutation.test.ts > AgentSession queue mutation > settles the completion of a deleted promptAndWait turn:
packages/coding-agent/test/agent-session-queue-mutation.test.ts#L250
AssertionError: expected [] to deeply equal [ 'waited' ]
- Expected
+ Received
- [
- "waited",
- ]
+ []
❯ test/agent-session-queue-mutation.test.ts:250:28
|
|
test/agent-session-queue-mutation.test.ts > AgentSession queue mutation > validates session command text and protects accepted agent messages:
packages/coding-agent/test/agent-session-queue-mutation.test.ts#L193
AssertionError: expected { steering: [], followUp: [] } to deeply equal { …(2) }
- Expected
+ Received
{
- "followUp": [
- "agent item",
- ],
- "steering": [
- "/compact focus on tools",
- ],
+ "followUp": [],
+ "steering": [],
}
❯ test/agent-session-queue-mutation.test.ts:193:19
|
|
test/agent-session-queue-mutation.test.ts > AgentSession queue mutation > replaces turn text in place across the image tri-state and rebuilds content and records:
packages/coding-agent/test/agent-session-queue-mutation.test.ts#L163
AssertionError: expected 'rejected' to be 'applied' // Object.is equality
Expected: "applied"
Received: "rejected"
❯ test/agent-session-queue-mutation.test.ts:163:48
|
|
test/agent-session-concurrent.test.ts > AgentSession concurrent prompt guard > should wait for queued agent events before emitting tool_call:
packages/coding-agent/test/agent-session-concurrent.test.ts#L1013
AssertionError: expected [] to deeply equal [ [ 'user', 'assistant' ], …(1) ]
- Expected
+ Received
- [
- [
- "user",
- "assistant",
- ],
- [
- "user",
- "assistant",
- ],
- ]
+ []
❯ test/agent-session-concurrent.test.ts:1013:21
|
|
test/agent-session-concurrent.test.ts > AgentSession concurrent prompt guard > delivers internal prompts without extension input interception:
packages/coding-agent/test/agent-session-concurrent.test.ts#L832
AssertionError: expected undefined to be 'host gate follow-up' // Object.is equality
- Expected:
"host gate follow-up"
+ Received:
undefined
❯ test/agent-session-concurrent.test.ts:832:28
|
|
test/agent-session-concurrent.test.ts > AgentSession concurrent prompt guard > accepts agent messages during and after direct compaction:
packages/coding-agent/test/agent-session-concurrent.test.ts#L729
AssertionError: expected [] to include 'message after direct compaction'
❯ test/agent-session-concurrent.test.ts:729:55
|
|
test/agent-session-concurrent.test.ts > AgentSession concurrent prompt guard > queues an agent message behind an active turn:
packages/coding-agent/test/agent-session-concurrent.test.ts#L474
AssertionError: expected false to be true // Object.is equality
- Expected
+ Received
- true
+ false
❯ test/agent-session-concurrent.test.ts:474:54
|
|
test/agent-session-concurrent.test.ts > AgentSession concurrent prompt guard > delivers accepted agent messages without extension input interception:
packages/coding-agent/test/agent-session-concurrent.test.ts#L468
AssertionError: expected undefined to be 'agent-to-agent payload' // Object.is equality
- Expected:
"agent-to-agent payload"
+ Received:
undefined
❯ test/agent-session-concurrent.test.ts:468:28
|
|
test/agent-session-concurrent.test.ts > AgentSession concurrent prompt guard > should queue extension-origin steering messages while streaming:
packages/coding-agent/test/agent-session-concurrent.test.ts#L377
AssertionError: expected false to be true // Object.is equality
- Expected
+ Received
- true
+ false
❯ test/agent-session-concurrent.test.ts:377:31
|
|
test/agent-session-concurrent.test.ts > AgentSession concurrent prompt guard > should throw when prompt() called while streaming:
packages/coding-agent/test/agent-session-concurrent.test.ts#L256
AssertionError: expected false to be true // Object.is equality
- Expected
+ Received
- true
+ false
❯ test/agent-session-concurrent.test.ts:256:31
|
|
test/agent-connection-in-process.test.ts > InProcessAgentConnection > builds initial snapshots from the current runtime:
packages/coding-agent/src/core/session-manager.ts#L1727
Error: Synchronous history access requires a resident session view; use captured async history reads
❯ SessionManager._assertResident src/core/session-manager.ts:1727:10
❯ SessionManager.branch src/core/session-manager.ts:4229:8
❯ test/agent-connection-in-process.test.ts:374:12
|
|
Unhandled error:
packages/coding-agent/src/core/agent-session.ts#L10447
Error: Local harness refinement requires a persisted session; use global refinement instead.
❯ AgentSession._planRefine src/core/agent-session.ts:10447:10
❯ AgentSession._refineAccepted src/core/agent-session.ts:10345:24
❯ AgentSession._executeQueuedSessionCommand src/core/agent-session.ts:7831:27
❯ src/core/agent-session.ts:7592:17
❯ AgentSession._executeSelectedSessionCommand src/core/agent-session.ts:7571:4
❯ AgentSession._pumpSessionInputs src/core/agent-session.ts:7447:6
❯ pump src/core/agent-session.ts:7409:4
This error originated in "test/suite/agent-session-queue.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "S5: settles queued command delivery before gated completion and rejects completion on failure". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
|
|
Unhandled error:
packages/coding-agent/src/core/agent-session.ts#L10447
Error: Local harness refinement requires a persisted session; use global refinement instead.
❯ AgentSession._planRefine src/core/agent-session.ts:10447:10
❯ AgentSession._refineAccepted src/core/agent-session.ts:10345:24
❯ AgentSession._executeQueuedSessionCommand src/core/agent-session.ts:7831:27
❯ src/core/agent-session.ts:7592:17
❯ AgentSession._executeSelectedSessionCommand src/core/agent-session.ts:7571:4
❯ AgentSession._pumpSessionInputs src/core/agent-session.ts:7447:6
❯ pump src/core/agent-session.ts:7409:4
This error originated in "test/suite/agent-session-prompt.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "keeps the restart checkpoint waiting while a queued session command executes". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
|
|
Unhandled error:
packages/ai/src/providers/openai-completions.ts#L576
TypeError: Right-hand side of 'instanceof' is not an object
❯ src/providers/openai-completions.ts:576:40
❯ Module.streamOpenAICompletions src/providers/openai-completions.ts:586:3
❯ captureRequest test/openai-completions-prompt-cache.test.ts:99:9
❯ test/openai-completions-prompt-cache.test.ts:171:29
This error originated in "test/openai-completions-prompt-cache.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "omits session-affinity headers when cacheRetention is none". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
|
|
Unhandled error:
packages/ai/src/providers/openai-completions.ts#L576
TypeError: Right-hand side of 'instanceof' is not an object
❯ src/providers/openai-completions.ts:576:40
❯ Module.streamOpenAICompletions src/providers/openai-completions.ts:586:3
❯ captureRequest test/openai-completions-prompt-cache.test.ts:99:9
❯ test/openai-completions-prompt-cache.test.ts:159:29
This error originated in "test/openai-completions-prompt-cache.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "sends known session-affinity headers when compat.sendSessionAffinityHeaders is enabled". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
|
|
Unhandled error:
packages/ai/src/providers/openai-completions.ts#L576
TypeError: Right-hand side of 'instanceof' is not an object
❯ src/providers/openai-completions.ts:576:40
❯ Module.streamOpenAICompletions src/providers/openai-completions.ts:586:3
❯ captureRequest test/openai-completions-prompt-cache.test.ts:99:9
❯ test/openai-completions-prompt-cache.test.ts:148:29
This error originated in "test/openai-completions-prompt-cache.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "uses BASE_CONTEXT_CACHE_RETENTION for direct OpenAI requests". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
|
|
Unhandled error:
packages/ai/src/providers/openai-completions.ts#L576
TypeError: Right-hand side of 'instanceof' is not an object
❯ src/providers/openai-completions.ts:576:40
❯ Module.streamOpenAICompletions src/providers/openai-completions.ts:586:3
❯ captureRequest test/openai-completions-prompt-cache.test.ts:99:9
❯ test/openai-completions-prompt-cache.test.ts:140:29
This error originated in "test/openai-completions-prompt-cache.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "omits prompt cache fields for non-OpenAI base URLs without compatible long retention". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
|
|
Unhandled error:
packages/ai/src/providers/openai-completions.ts#L576
TypeError: Right-hand side of 'instanceof' is not an object
❯ src/providers/openai-completions.ts:576:40
❯ Object.streamOpenAICompletions [as stream] src/providers/openai-completions.ts:586:3
❯ src/providers/register-builtins.ts:180:26
This error originated in "test/openai-completions-response-model.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "ignores empty or missing chunk.model". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
|
|
Unhandled error:
packages/ai/src/providers/openai-completions.ts#L576
TypeError: Right-hand side of 'instanceof' is not an object
❯ src/providers/openai-completions.ts:576:40
❯ Module.streamOpenAICompletions src/providers/openai-completions.ts:586:3
❯ captureRequest test/openai-completions-prompt-cache.test.ts:99:9
❯ test/openai-completions-prompt-cache.test.ts:129:29
This error originated in "test/openai-completions-prompt-cache.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "omits prompt cache fields when cacheRetention is none". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
|
|
Unhandled error:
packages/ai/src/providers/openai-completions.ts#L576
TypeError: Right-hand side of 'instanceof' is not an object
❯ src/providers/openai-completions.ts:576:40
❯ Object.streamOpenAICompletions [as stream] src/providers/openai-completions.ts:586:3
❯ src/providers/register-builtins.ts:180:26
This error originated in "test/openai-completions-response-model.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "leaves responseModel undefined when chunks echo the requested id". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
|
|
Unhandled error:
packages/ai/src/providers/openai-completions.ts#L576
TypeError: Right-hand side of 'instanceof' is not an object
❯ src/providers/openai-completions.ts:576:40
❯ Module.streamOpenAICompletions src/providers/openai-completions.ts:586:3
❯ captureRequest test/openai-completions-prompt-cache.test.ts:99:9
❯ test/openai-completions-prompt-cache.test.ts:122:29
This error originated in "test/openai-completions-prompt-cache.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "sets prompt_cache_retention to 24h for direct OpenAI requests when cacheRetention is long". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
|
|
Unhandled error:
packages/ai/src/providers/openai-completions.ts#L576
TypeError: Right-hand side of 'instanceof' is not an object
❯ src/providers/openai-completions.ts:576:40
❯ Object.streamOpenAICompletions [as stream] src/providers/openai-completions.ts:586:3
❯ src/providers/register-builtins.ts:180:26
This error originated in "test/openai-completions-response-model.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "surfaces routed chunk.model on responseModel without changing model". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
|
|
Unhandled error:
packages/ai/src/providers/openai-completions.ts#L576
TypeError: Right-hand side of 'instanceof' is not an object
❯ src/providers/openai-completions.ts:576:40
❯ Module.streamOpenAICompletions src/providers/openai-completions.ts:586:3
❯ captureRequest test/openai-completions-prompt-cache.test.ts:99:9
❯ test/openai-completions-prompt-cache.test.ts:115:29
This error originated in "test/openai-completions-prompt-cache.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "sets prompt_cache_key for direct OpenAI requests when caching is enabled". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
|
|
test/agent-session-recursion.test.ts > AgentSession rlm recursion > handles rlm calls from asyncio tasks after the scheduling cell is idle:
packages/coding-agent/src/core/history-index.ts#L430
Error: History-index worker exited (0)
❯ ChildProcess.<anonymous> src/core/history-index.ts:430:9
|
|
test/agent-session-recursion.test.ts > AgentSession rlm recursion > cancels nested rlm child runs through the root session:
packages/coding-agent/src/core/history-index.ts#L430
Error: History-index worker exited (0)
❯ ChildProcess.<anonymous> src/core/history-index.ts:430:9
|
|
test/agent-session-recursion.test.ts > AgentSession rlm recursion > deletes an inactive nested RLM child through the root session:
packages/coding-agent/src/core/history-index.ts#L430
Error: History-index worker exited (0)
❯ ChildProcess.<anonymous> src/core/history-index.ts:430:9
|
|
test/agent-session-recursion.test.ts > AgentSession rlm recursion > accepts deletion of a running direct child without waiting for task unwind:
packages/coding-agent/src/core/history-index.ts#L430
Error: History-index worker exited (0)
❯ ChildProcess.<anonymous> src/core/history-index.ts:430:9
|
|
test/agent-session-recursion.test.ts > AgentSession rlm recursion > keeps late startup cleanup retryable when release and fallback delete fail:
packages/coding-agent/src/core/history-index.ts#L430
Error: History-index worker exited (0)
❯ ChildProcess.<anonymous> src/core/history-index.ts:430:9
|
|
test/agent-session-recursion.test.ts > AgentSession rlm recursion > deletes a queued child without waiting for blocked startup:
packages/coding-agent/src/core/history-index.ts#L430
Error: History-index worker exited (0)
❯ ChildProcess.<anonymous> src/core/history-index.ts:430:9
|
|
test/agent-session-recursion.test.ts > AgentSession rlm recursion > reserves a deleted queued child's name until startup settles:
packages/coding-agent/src/core/history-index.ts#L430
Error: History-index worker exited (0)
❯ ChildProcess.<anonymous> src/core/history-index.ts:430:9
|
|
test/agent-session-dynamic-provider.test.ts > AgentSession dynamic provider registration > applies command-time registerProvider overrides without reload:
packages/coding-agent/test/agent-session-dynamic-provider.test.ts#L113
AssertionError: expected undefined to be 'http://localhost:8080/command' // Object.is equality
- Expected:
"http://localhost:8080/command"
+ Received:
undefined
❯ test/agent-session-dynamic-provider.test.ts:113:47
|
|
test/agent-session-dynamic-provider.test.ts > AgentSession dynamic provider registration > applies session_start registerProvider overrides to the active model:
packages/coding-agent/test/agent-session-dynamic-provider.test.ts#L92
AssertionError: expected undefined to be 'http://localhost:8080/session-start' // Object.is equality
- Expected:
"http://localhost:8080/session-start"
+ Received:
undefined
❯ test/agent-session-dynamic-provider.test.ts:92:47
|
|
test/agent-session-dynamic-provider.test.ts > AgentSession dynamic provider registration > applies top-level registerProvider overrides to the active model:
packages/coding-agent/test/agent-session-dynamic-provider.test.ts#L75
AssertionError: expected undefined to be 'http://localhost:8080/top-level' // Object.is equality
- Expected:
"http://localhost:8080/top-level"
+ Received:
undefined
❯ test/agent-session-dynamic-provider.test.ts:75:47
|
|
build-check-test
Process completed with exit code 1.
|