chore: upstream reconcile through reference 99eaa993b #1394
Triggered via pull request
September 19, 2026 19:34
Status
Failure
Total duration
5m 23s
Artifacts
–
ci.yml
on: pull_request
Matrix: test
test-minidb
1m 15s
build
1m 23s
test-pi-tui
45s
test-windows
lint
38s
typecheck
2m 30s
test
3s
Annotations
44 errors, 10 warnings, and 11 notices
|
lint
Process completed with exit code 1.
|
|
[cli] test/tui/components/chrome/moon-loader.test.ts > MoonLoader > uses the shared Braille mark for the waiting state:
apps/pythinker-code/test/tui/components/chrome/moon-loader.test.ts#L50
AssertionError: expected '🌑' to be '⣷' // Object.is equality
Expected: "⣷"
Received: "🌑"
❯ test/tui/components/chrome/moon-loader.test.ts:50:43
|
|
[cli] test/tui/commands/secondary-model.test.ts > handleSecondaryModelCommand > reports a persistence failure without a status message:
apps/pythinker-code/test/tui/commands/secondary-model.test.ts#L232
AssertionError: expected "vi.fn()" to not be called at all, but actually been called 1 times
Received:
1st vi.fn() call:
Array [
"Skipped refreshing models: host.authFlow.refreshOAuthProviderModels is not a function",
"warning",
]
Number of calls: 1
❯ test/tui/commands/secondary-model.test.ts:232:33
|
|
[cli] test/utils/process/fd-detect.test.ts > detectFdPath > does not download fd when no local binary is available:
apps/pythinker-code/test/utils/process/fd-detect.test.ts#L56
AssertionError: expected "vi.fn()" to not be called at all, but actually been called 1 times
Received:
1st vi.fn() call:
Array [
"https://code.pythinker.com/pythinker-code/fd/fd-v10.4.2-x86_64-unknown-linux-musl.tar.gz",
Object {
"signal": AbortSignal {
Symbol(kEvents): Map {},
Symbol(events.maxEventTargetListeners): 0,
Symbol(events.maxEventTargetListenersWarned): false,
Symbol(kHandlers): Map {},
Symbol(kAborted): false,
Symbol(kReason): undefined,
Symbol(kComposite): false,
Symbol(kTimeout): true,
},
},
]
Number of calls: 1
❯ test/utils/process/fd-detect.test.ts:56:27
|
|
[cli] test/tui/pythinker-tui-startup.test.ts > PythinkerTUI startup > keeps the active session when logging out a different provider:
apps/pythinker-code/test/tui/pythinker-tui-startup.test.ts#L2312
AssertionError: expected "vi.fn()" to be called with arguments: [ 'openai' ]
Number of calls: 0
❯ test/tui/pythinker-tui-startup.test.ts:2312:28
|
|
[cli] test/cli/export.test.ts > pythinker export > builds the v2 harness by default:
apps/pythinker-code/test/cli/export.test.ts#L564
AssertionError: expected "vi.fn()" to be called 1 times, but got 0 times
❯ test/cli/export.test.ts:564:49
|
|
[klient] test/e2e/legacy/client.test.ts > DaemonClient session action helpers > model catalog helpers call the catalog and action-suffix routes:
packages/klient/test/e2e/legacy/client.test.ts#L463
AssertionError: expected [ [ 'GET', …(1) ], …(4) ] to deeply equal [ [ 'GET', …(1) ], …(4) ]
- Expected
+ Received
@@ -7,11 +7,11 @@
"GET",
"http://server.example.test/api/v1/models",
],
[
"POST",
- "http://server.example.test/api/v1/models/pythinker-code%2Fkimi-for-coding:set_default",
+ "http://server.example.test/api/v1/models/openai%2Fgpt-4o:set_default",
],
[
"GET",
"http://server.example.test/api/v1/providers",
],
❯ test/e2e/legacy/client.test.ts:463:63
|
|
[agent-gateway] test/workspaces.test.ts > server-v2 /api/v1/workspaces > adds a relative directory without persisting when persist is false (variant 2):
packages/agent-gateway/test/workspaces.test.ts#L371
AssertionError: promise resolved "'[workspace]\nadditional_dir = [ "/tmp…'" instead of rejecting
- Expected:
Error {
"message": "rejected promise",
}
+ Received:
"[workspace]
additional_dir = [ \"/tmp/pythinker-server-v2-workspaces-FtzWuD/extra\" ]
"
❯ test/workspaces.test.ts:371:57
|
|
[agent-gateway] test/workspaces.test.ts > server-v2 /api/v1/workspaces > adds an additional directory and persists it by default (variant 2):
packages/agent-gateway/test/workspaces.test.ts#L339
Error: EEXIST: file already exists, mkdir '/tmp/pythinker-server-v2-workspaces-FtzWuD/extra'
❯ test/workspaces.test.ts:339:5
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { errno: -17, code: 'EEXIST', syscall: 'mkdir', path: '/tmp/pythinker-server-v2-workspaces-FtzWuD/extra' }
|
|
[agent-gateway] test/tasks.test.ts > server-v2 /api/v1/sessions/{sid}/tasks > lists registered tasks with mapped kind/status and wire-shaped fields:
packages/agent-gateway/test/tasks.test.ts#L221
AssertionError: expected { id: 'test-f8w98l3m', …(12) } to match object { id: 'test-f8w98l3m', …(11) }
(3 matching properties omitted from actual)
- Expected
+ Received
@@ -1,22 +1,11 @@
{
"agent_id": "sub-1",
- "current_routing_env_revision": "route-env:v1:aaa",
"id": "test-f8w98l3m",
"kind": "subagent",
"model": "provider/secondary",
"parent_tool_call_id": "call-parent-1",
- "routing": {
- "feature_source": "env",
- "model_source": "policy-pool",
- "operation": "spawn",
- "policy_mode": "pool",
- "policy_source": "config",
- "profile_source": "requested",
- "route_decision": "route-decision:v1:bbb",
- "routing_env_revision": "route-env:v1:aaa",
- },
"run_in_background": true,
"session_id": "session_44f3d2ae-c91b-4ac7-a435-ce0efb6509c4",
"status": "running",
"subagent_type": "explore",
"thinking_effort": "low",
❯ test/tasks.test.ts:221:31
|
|
[agent-gateway] test/subagentRosterTracker.test.ts > SubagentRosterTracker > carries the routing provenance and current revision from subagent.spawned:
packages/agent-gateway/test/subagentRosterTracker.test.ts#L44
AssertionError: expected [ { id: 'agent-r', …(14) } ] to deeply equal [ ObjectContaining{…} ]
- Expected
+ Received
[
{
- "current_routing_env_revision": "route-env:v1:new",
+ "created_at": "2026-09-19T19:36:06.374Z",
+ "current_routing_env_revision": undefined,
+ "description": "task agent-r",
+ "dynamic_workflow_index": 0,
"id": "agent-r",
- "routing": {
- "feature_source": "default",
- "model_source": "resume-existing",
- "operation": "resume",
- "policy_mode": "inherit",
- "policy_source": "default",
- "profile_source": "resume-existing",
- "route_decision": "route-decision:v1:x",
- "routing_env_revision": "route-env:v1:old",
- },
+ "kind": "subagent",
+ "model": undefined,
+ "parent_tool_call_id": "tc_dynamic_workflow_1",
+ "routing": undefined,
+ "run_in_background": false,
+ "session_id": "sess_1",
+ "status": "running",
+ "subagent_phase": "queued",
+ "subagent_type": "pythinker-subagent",
+ "thinking_effort": undefined,
},
]
❯ test/subagentRosterTracker.test.ts:44:24
|
|
test (4)
Process completed with exit code 1.
|
|
[agent-core-v2] test/agent/task/taskService.test.ts > AgentTaskService > stops appending persisted output once the output limit trips for a detached process task:
packages/agent-core-v2/src/agent/task/persist.ts#L152
TypeError: this.bytes.size is not a function
❯ AgentTaskPersistence.readTaskOutputSnapshot src/agent/task/persist.ts:152:44
❯ AgentTaskService.getOutputSnapshot src/agent/task/taskService.ts:560:41
❯ test/agent/task/taskService.test.ts:1263:5
|
|
[agent-core-v2] test/agent/task/taskService.test.ts > AgentTaskService > enqueues a terminal notification for a finished detached task, but not when suppression arms mid-build:
packages/agent-core-v2/test/agent/task/taskService.test.ts#L315
AssertionError: expected true to be false // Object.is equality
- Expected
+ Received
- false
+ true
❯ test/agent/task/taskService.test.ts:315:48
|
|
[agent-core-v2] test/agent/fullCompaction/fullCompaction.test.ts > FullCompaction > blocks the turn until auto compaction finishes:
packages/agent-core-v2/test/agent/fullCompaction/fullCompaction.test.ts#L1951
AssertionError: expected [ …(3) ] to deep equally contain { event: 'compaction_finished', …(1) }
- Expected:
{
"event": "compaction_finished",
"properties": ObjectContaining {
"compacted_count": 7,
"retry_count": 0,
"source": "auto",
"tokens_after": 6159,
"tokens_before": 6142,
},
}
+ Received:
[
{
"event": "turn_started",
"properties": {
"agent_id": "main",
"mode": "agent",
"model": "pythinker-code",
"protocol": "openai",
"provider_type": "pythinker",
"thinking_effort": "off",
"turn_id": 0,
},
},
{
"event": "compaction_finished",
"properties": {
"agent_id": "main",
"compacted_count": 7,
"duration_ms": 27,
"input_cache_creation": 0,
"input_cache_read": 0,
"input_tokens": 1184,
"mode": "agent",
"model": "pythinker-code",
"output_tokens": 9,
"protocol": "openai",
"provider_type": "pythinker",
"retry_count": 0,
"round": 1,
"source": "auto",
"thinking_effort": "off",
"tokens_after": 6222,
"tokens_before": 6205,
"turn_id": 0,
},
},
{
"event": "turn_ended",
"properties": {
"agent_id": "main",
"duration_ms": 46,
"mode": "agent",
"model": "pythinker-code",
"protocol": "openai",
"provider_type": "pythinker",
"reason": "completed",
"thinking_effort": "off",
"turn_id": 0,
},
},
]
❯ test/agent/fullCompaction/fullCompaction.test.ts:1951:21
|
|
[agent-core-v2] test/agent/fullCompaction/fullCompaction.test.ts > FullCompaction > fires PreCompact and PostCompact hooks from the compaction module:
packages/agent-core-v2/test/agent/fullCompaction/fullCompaction.test.ts#L580
AssertionError: expected { hook_event_name: 'PreCompact', …(5) } to match object { hook_event_name: 'PreCompact', …(4) }
(1 matching property omitted from actual)
- Expected
+ Received
{
"cwd": "/tmp/pythinker-compact-hooks-td5Hkn",
"hook_event_name": "PreCompact",
"session_id": "test-session",
- "token_count": 6135,
+ "token_count": 6198,
"trigger": "auto",
}
❯ test/agent/fullCompaction/fullCompaction.test.ts:580:17
|
|
[agent-core-v2] test/agent/fullCompaction/fullCompaction.test.ts > FullCompaction > runs manual compaction and applies the compacted context:
packages/agent-core-v2/test/agent/fullCompaction/fullCompaction.test.ts#L305
AssertionError: expected [ { …(2) } ] to deep equally contain { event: 'compaction_finished', …(1) }
- Expected:
{
"event": "compaction_finished",
"properties": ObjectContaining {
"agent_id": "main",
"compacted_count": 6,
"duration_ms": Any<Number>,
"input_cache_creation": 0,
"input_cache_read": 0,
"input_tokens": 1192,
"output_tokens": 8,
"retry_count": 0,
"source": "manual",
"thinking_effort": "off",
"tokens_after": Any<Number>,
"tokens_before": 6135,
},
}
+ Received:
[
{
"event": "compaction_finished",
"properties": {
"agent_id": "main",
"compacted_count": 6,
"duration_ms": 40,
"input_cache_creation": 0,
"input_cache_read": 0,
"input_tokens": 1192,
"mode": "agent",
"model": "pythinker-code",
"output_tokens": 8,
"protocol": "openai",
"provider_type": "pythinker",
"retry_count": 0,
"round": 1,
"source": "manual",
"thinking_effort": "off",
"tokens_after": 6214,
"tokens_before": 6198,
},
},
]
❯ test/agent/fullCompaction/fullCompaction.test.ts:305:21
|
|
[cli] test/cli/run-shell.test.ts > runShell > tracks exit and prints resume instructions from the TUI exit handler:
apps/pythinker-code/test/cli/run-shell.test.ts#L839
AssertionError: expected "vi.fn()" to be called with arguments: [ [ Socket{ …(22), …(15) }, …(1) ] ]
Number of calls: 0
❯ test/cli/run-shell.test.ts:839:32
|
|
test (1)
Process completed with exit code 1.
|
|
[agent-core-v2] test/agent/toolExecutor/toolExecutor.test.ts > truncation pipeline > recovers an expanded Glob listing beyond spill retention using complete saved pages:
packages/agent-core-v2/test/agent/toolExecutor/toolExecutor.test.ts#L1299
AssertionError: expected true not to be true // Object.is equality
❯ test/agent/toolExecutor/toolExecutor.test.ts:1299:35
|
|
[agent-core-v2] test/agent/toolExecutor/toolExecutor.test.ts > truncation pipeline > recovers every Glob match through spill and Read when the match limit is disabled:
packages/agent-core-v2/test/agent/toolExecutor/toolExecutor.test.ts#L1256
AssertionError: expected true not to be true // Object.is equality
❯ test/agent/toolExecutor/toolExecutor.test.ts:1256:33
|
|
[agent-core-v2] test/lint/vendor-name-gates.test.ts > vendor-name gates > finds no vendor-name gates in src/ outside kosong:
packages/agent-core-v2/test/lint/vendor-name-gates.test.ts#L89
AssertionError: vendor-name gate found outside kosong — ask the provider-definition / adapter registries instead: expected [ Array(1) ] to deeply equal []
- Expected
+ Received
- []
+ [
+ "app/kosongConfig/envOverlay.ts:167 : providerType === 'pythinker'",
+ ]
❯ test/lint/vendor-name-gates.test.ts:89:7
|
|
[pythinker-oauth] test/identity.test.ts > Pythinker identity factories > keeps default headers to the User-Agent — no device identity headers:
packages/oauth/test/identity.test.ts#L87
AssertionError: expected undefined to be '1.2.3' // Object.is equality
- Expected:
"1.2.3"
+ Received:
undefined
❯ test/identity.test.ts:87:38
|
|
[cli] test/tui/commands/web.test.ts > handleRemoteControlCommand > starts the tunnel and saves a token-free session QR code:
apps/pythinker-code/test/tui/commands/web.test.ts#L245
AssertionError: expected "vi.fn()" to be called with arguments: [ ObjectContaining{…} ]
Received:
1st vi.fn() call:
[
- ObjectContaining {
+ {
+ "clientVersion": "pythinker-code/0.42.0",
"homeDir": "/tmp/pythinker-rc-qrcode-10XKCt/custom-home",
"localOrigin": "http://127.0.0.1:58627",
- "localServerToken": Any<Function>,
+ "localServerToken": "local-server-token",
+ "onStatus": [Function onStatus],
},
]
Number of calls: 1
❯ test/tui/commands/web.test.ts:245:40
|
|
[cli] test/tui/commands/web.test.ts > handleRemoteControlCommand > stays in the TUI with a readable error when no relay key is configured:
apps/pythinker-code/test/tui/commands/web.test.ts#L161
AssertionError: expected "vi.fn()" to be called with arguments: [ StringContaining "relay key" ]
Number of calls: 0
❯ test/tui/commands/web.test.ts:161:28
|
|
[cli] test/tui/commands/web.test.ts > handleWebCommand > starts the new server on takeover, printing the banner and opening the deep link:
apps/pythinker-code/test/tui/commands/web.test.ts#L142
AssertionError: expected '\n ▐█▛█▛█▌ Pythinker server ready …' to contain ' ●'
- Expected
+ Received
- ●
+
+ ▐█▛█▛█▌ Pythinker server ready 0.42.0
+ ▐█████▌ Local web UI is available from this machine.
+
+ Local: http://127.0.0.1:58627/#token=tok-1
+ Network: off use --host to enable
+
+ Token: tok-1
+
+ Logs: off use --log-level info to enable
+ Stop: Ctrl+C
+
+ Session: http://127.0.0.1:58627/sessions/ses-1#token=tok-1
+
❯ test/tui/commands/web.test.ts:142:66
|
|
[cli] test/cli/v2-run-print.test.ts > runV2Print > initializes the v1 telemetry pipeline alongside the cloud appender:
apps/pythinker-code/test/cli/v2-run-print.test.ts#L608
AssertionError: expected "vi.fn()" to be called with arguments: [ { …(9) } ]
Received:
1st vi.fn() call:
[
{
"appName": "pythinker-code-cli",
"deviceId": "device-1",
- "endpoint": Any<Function>,
- "getAccessToken": Any<Function>,
+ "endpoint": [Function endpoint],
"homeDir": "/home/runner/.pythinker-code",
"model": "k2",
- "onUnexpectedError": Any<Function>,
+ "onUnexpectedError": [Function onUnexpectedError],
"uiMode": "print",
"version": "1.2.3-test",
},
]
Number of calls: 1
❯ test/cli/v2-run-print.test.ts:608:39
|
|
[agent-gateway] test/search/searchRoute.test.ts > server-v2 /api/v1/search > serves literal mode through the wire:
packages/agent-gateway/test/search/searchRoute.test.ts#L207
AssertionError: expected true to be false // Object.is equality
- Expected
+ Received
- false
+ true
❯ test/search/searchRoute.test.ts:207:66
|
|
[agent-gateway] test/search/searchRoute.test.ts > server-v2 /api/v1/search > rejects invalid bodies with 40001:
packages/agent-gateway/test/search/searchRoute.test.ts#L184
AssertionError: expected +0 to be 40001 // Object.is equality
- Expected
+ Received
- 40001
+ 0
❯ test/search/searchRoute.test.ts:184:31
|
|
[agent-gateway] test/prompts.test.ts > server-v2 /api/v1 prompts > attaches a server-local file by path without copying it:
packages/agent-gateway/test/prompts.test.ts#L1451
AssertionError: expected { type: 'text', …(1) } to deeply equal { type: 'text', …(1) }
- Expected
+ Received
{
- "text": "Attached file \"notes.txt\" (application/octet-stream, 20 bytes): /tmp/pythinker-attach-path-4708qm/notes.txt open it with the Read tool",
+ "text": "Attached file \"notes.txt\" (application/octet-stream, 20 bytes): /tmp/pythinker-attach-path-4708qm/notes.txt — open it with the Read tool",
"type": "text",
}
❯ test/prompts.test.ts:1451:26
|
|
[agent-gateway] test/codex-login.test.ts > Codex login routes > maps invalid input and unknown login ids to stable wire codes:
packages/agent-gateway/test/codex-login.test.ts#L129
AssertionError: expected { …(3) } to match object { code: 40001 }
(3 matching properties omitted from actual)
- Expected
+ Received
{
- "code": 40001,
+ "error": "Not Found",
+ "message": "Route POST:/api/v1/auth/codex/login-1:submit_code not found",
+ "statusCode": 404,
}
❯ test/codex-login.test.ts:129:28
|
|
[agent-gateway] test/codex-login.test.ts > Codex login routes > matches the web start, poll, submit, and cancel contract:
packages/agent-gateway/test/codex-login.test.ts#L86
AssertionError: expected { …(3) } to match object { code: +0, data: { …(2) } }
(3 matching properties omitted from actual)
- Expected
+ Received
{
- "code": 0,
- "data": {
- "login_id": "login-1",
- "loopback": true,
- },
+ "error": "Not Found",
+ "message": "Route POST:/api/v1/auth/codex:start not found",
+ "statusCode": 404,
}
❯ test/codex-login.test.ts:86:26
|
|
[pythinker-sdk] test/sdk-rpc-client-v2.test.ts > SDKRpcClientV2 (agent-core-v2 wiring) > seeds the host request headers (User-Agent + X-Msh-*) into the engine:
packages/node-sdk/test/sdk-rpc-client-v2.test.ts#L356
AssertionError: expected undefined to be truthy
- Expected:
true
+ Received:
undefined
❯ test/sdk-rpc-client-v2.test.ts:356:48
|
|
[cli] test/tui/pythinker-tui-message-flow.test.ts > PythinkerTUI message flow > applies /model selection with inline thinking state:
apps/pythinker-code/test/tui/pythinker-tui-message-flow.test.ts#L7578
AssertionError: expected '─────────────────────────────────────…' to match /Kimi K2\s+Pythinker Code ← current/
- Expected:
/Kimi K2\s+Pythinker Code ← current/
+ Received:
"────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Select a model (type to search)
Tab toggle provider · ↑↓ navigate · Enter select · Alt+S session-only · Esc cancel
All openai
Kimi K2 openai ← current
❯ Pythinker Turbo openai
Thinking (←→ to switch)
On [ Off ]
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────"
❯ test/tui/pythinker-tui-message-flow.test.ts:7578:26
|
|
[cli] test/tui/pythinker-tui-message-flow.test.ts > PythinkerTUI message flow > marks only core user-cancellation subagent failures as cancelled:
apps/pythinker-code/test/tui/pythinker-tui-message-flow.test.ts#L6343
AssertionError: expected ' \n ─ Agent DynamicWorkflow ─ Revie…' to contain '✗ The user manually interrupted this …'
- Expected
+ Received
- ✗ The user manually interrupted this subagent x.
+
+ ─ Agent DynamicWorkflow ─ Review changed files ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
+
+ 001 ⊘ Cancelled. 002 [⣀⣀⣀⣀⣀⣀⣀⣀] ✗ The user manually interrupted this subag
+
+ 🌑 Aborted. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
❯ test/tui/pythinker-tui-message-flow.test.ts:6343:24
|
|
[cli] test/tui/pythinker-tui-message-flow.test.ts > PythinkerTUI message flow > tells the user when the codebase upload fails:
apps/pythinker-code/test/tui/pythinker-tui-message-flow.test.ts#L2569
AssertionError: expected ' \n ✓ Feedback submitted, thank you!…' to contain 'attachment upload failed'
- Expected
+ Received
- attachment upload failed
+
+ ✓ Feedback submitted, thank you!
+ Session: ses-1
+ Feedback ID: 3
❯ test/tui/pythinker-tui-message-flow.test.ts:2569:24
|
|
[cli] test/tui/pythinker-tui-message-flow.test.ts > PythinkerTUI message flow > tells the user when feedback is sent but codebase packaging fails:
apps/pythinker-code/test/tui/pythinker-tui-message-flow.test.ts#L2531
AssertionError: expected "vi.fn()" to be called with arguments: [ Any<Object>, …(3) ]
Number of calls: 0
❯ test/tui/pythinker-tui-message-flow.test.ts:2531:27
|
|
[cli] test/tui/pythinker-tui-message-flow.test.ts > PythinkerTUI message flow > keeps archive-path creation failures as partial failures without the GitHub fallback:
apps/pythinker-code/test/tui/pythinker-tui-message-flow.test.ts#L2497
AssertionError: expected ' \n ✓ Feedback submitted, thank you!…' to contain 'attachment upload failed'
- Expected
+ Received
- attachment upload failed
+
+ ✓ Feedback submitted, thank you!
+ Session: ses-1
+ Feedback ID: 3
❯ test/tui/pythinker-tui-message-flow.test.ts:2497:24
|
|
[cli] test/tui/pythinker-tui-message-flow.test.ts > PythinkerTUI message flow > uploads session logs when codebase scanning fails but the session directory is available:
apps/pythinker-code/test/tui/pythinker-tui-message-flow.test.ts#L2466
AssertionError: expected "vi.fn()" to be called with arguments: [ ObjectContaining{…} ]
Number of calls: 0
❯ test/tui/pythinker-tui-message-flow.test.ts:2466:35
|
|
[cli] test/tui/pythinker-tui-message-flow.test.ts > PythinkerTUI message flow > waits for the codebase upload to finish before returning:
apps/pythinker-code/test/tui/pythinker-tui-message-flow.test.ts#L2420
AssertionError: expected "vi.fn()" to be called 2 times, but got 0 times
❯ test/tui/pythinker-tui-message-flow.test.ts:2420:29
|
|
[cli] test/tui/pythinker-tui-message-flow.test.ts > PythinkerTUI message flow > submits text feedback before preparing requested attachments:
apps/pythinker-code/test/tui/pythinker-tui-message-flow.test.ts#L2350
AssertionError: expected "vi.fn()" to be called with arguments: [ ObjectContaining{…} ]
Number of calls: 0
❯ test/tui/pythinker-tui-message-flow.test.ts:2350:37
|
|
[cli] test/tui/pythinker-tui-message-flow.test.ts > PythinkerTUI message flow > prints the sign-up page and GitHub Issues links when not signed in:
apps/pythinker-code/test/tui/pythinker-tui-message-flow.test.ts#L2250
AssertionError: expected ' You\'re not signed in. Sign up or …' to contain 'https://www.code.pythinker.com'
- Expected
+ Received
- https://www.code.pythinker.com
+ You're not signed in. Sign up or leave feedback on GitHub:
+ https://www.pythinker.com/code
+ https://github.com/PyModel/pythinker-code/issues
❯ test/tui/pythinker-tui-message-flow.test.ts:2250:24
|
|
[cli] test/cli/options.test.ts > CLI options parsing > sub-commands > registers the visible sub-commands:
apps/pythinker-code/test/cli/options.test.ts#L583
AssertionError: expected [ 'export', 'fork', 'provider', …(11) ] to deeply equal [ 'export', 'fork', 'provider', …(11) ]
- Expected
+ Received
@@ -3,12 +3,12 @@
"fork",
"provider",
"session",
"acp",
"web",
- "server",
"rc",
+ "server",
"login",
"doctor",
"vis",
"install-app",
"migrate",
❯ test/cli/options.test.ts:583:28
|
|
test
Process completed with exit code 1.
|
|
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/
|
|
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/
|
|
test-minidb
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 (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/
|
|
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 (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 (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/
|
|
lint
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
|
|
test-pi-tui
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
|
|
test-minidb
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
|
|
build
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
|
|
test (3)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
|
|
typecheck
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
|
|
test (4)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
|
|
test (1)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
|
|
test (5)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
|
|
test (2)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
|
|
test
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
|