fix(chat): preserve truthful tool failure history
2 months ago
Authored
Cursor Agent# Conflicts:
# apps/desktop/src/app/store.actions/lmstudioLocal.ts
# apps/desktop/src/app/store.actions/thread.ts
# apps/desktop/src/app/store.helpers.ts
# apps/desktop/src/app/store.helpers/threadEventReducer/messaging.ts
# apps/desktop/src/app/types.ts
# apps/desktop/src/ui/ChatView.tsx
# apps/desktop/src/ui/chat/ChatFeed.tsx
# apps/mobile/src/app/(app)/thread/[id].tsx
# apps/mobile/src/components/thread/activity-group-card.tsx
# apps/mobile/src/components/thread/thread-render-item.tsx
# apps/mobile/src/features/cowork/snapshotReducer.ts
# docs/generated/websocket-jsonrpc.d.ts
# docs/generated/websocket-jsonrpc.schema.json
# src/server/jsonrpc/routes/turn.ts
# src/server/protocol.ts
# src/server/session/AgentSession.ts
# src/server/session/SessionRuntime.ts
# src/server/session/TurnExecutionManager.ts
# src/server/session/turnExecution/runUserMessageTurn.ts
Co-authored-by: Max Weinbach <mweinbach@users.noreply.github.com>
Parents55b97efff05af8
74 files changed
- apps/desktop/src/app/store.actions/lmstudioLocal.ts+1−0
- apps/desktop/src/app/store.actions/thread.ts+2−0
- apps/desktop/src/app/store.helpers.ts+1−0
- apps/desktop/src/app/store.helpers/jsonRpcSocket.ts+18−0
- apps/desktop/src/app/store.helpers/threadEventReducer/messaging.ts+23−1
- apps/desktop/src/app/store.helpers/threadEventReducerContext.ts+2−1
- apps/desktop/src/app/types.ts+1−0
apps/desktop/src/ui/ChatView.tsx+41−8apps/desktop/src/ui/chat/ActivityGroupCard.tsx+62−4apps/desktop/src/ui/chat/ChatFeed.tsx+20−15apps/desktop/src/ui/chat/activityGroups.ts+148−202apps/desktop/src/ui/chat/chatRetry.ts+7−4apps/desktop/test/chat-activity-group-card.test.tsx+27−0apps/desktop/test/chat-activity-groups.test.ts+300−39apps/desktop/test/chat-retry.test.ts+14−0apps/desktop/test/chat-view.stability.test.tsx+130−0apps/desktop/test/store-feed-mapping.stream.test.ts+93−0apps/mobile/src/app/(app)/thread/[id].tsx+46−1apps/mobile/src/components/thread/activity-group-card.tsx+77−3apps/mobile/src/components/thread/thread-render-item.tsx+17−2apps/mobile/src/features/cowork/activityGroups.ts+157−196apps/mobile/src/features/cowork/chatRetry.ts+17−0apps/mobile/src/features/cowork/jsonRpcClient.ts+43−6apps/mobile/src/features/cowork/protocolTypes.ts+3−0apps/mobile/src/features/cowork/snapshotReducer.ts+6−0docs/generated/websocket-jsonrpc.d.ts+8−8docs/generated/websocket-jsonrpc.schema.json+1−1docs/websocket-protocol.md+33−1src/client/jsonRpcSocket.ts+41−1src/server/jsonrpc/dispatchJsonRpcMessage.ts+2−0src/server/jsonrpc/protocol.ts+2−0src/server/jsonrpc/routes/turn.ts+25−1src/server/jsonrpc/schema.core.ts+2−0src/server/jsonrpc/schema.threadTurn.ts+7−0src/server/jsonrpc/toolRetryCompatibility.ts+68−0src/server/jsonrpc/transportAdapter.ts+1−0src/server/projection/conversationProjectionAssistant.ts+2−0src/server/projection/conversationProjectionSessionEvents.ts+29−0src/server/projection/conversationProjectionState.ts+2−0src/server/projection/conversationProjectionStreamUpdates.ts+6−0src/server/projection/conversationProjectionTools.ts+2−0src/server/projection/conversationProjectionTypes.ts+3−0src/server/protocol.ts+9−1src/server/runtime/ServerRuntime.ts+15−8src/server/session/AgentSession.ts+4−0src/server/session/SessionRuntime.ts+4−0src/server/session/SessionSnapshotProjector.ts+3−4src/server/session/TurnExecutionManager.ts+10−0src/server/session/turnExecution/runTurnInvocation.ts+70−1src/server/session/turnExecution/runUserMessageTurn.ts+13−8src/server/sessionDb/repository.ts+7−2src/server/startServer/types.ts+1−0src/shared/feedRetention.ts+1−0src/shared/modelStream.ts+12−1src/shared/projectedItems.ts+15−0src/shared/sessionSnapshot.ts+5−0src/shared/toolInputDigest.ts+25−0src/shared/toolInputDigestHasher.ts+83−0src/shared/toolRetry.ts+128−0src/shared/toolRetryAttempts.ts+95−0src/shared/toolRetryRawEvents.ts+203−0src/shared/toolRetrySnapshot.ts+162−0test/jsonrpc/flow.harness.ts+8−2test/jsonrpc/flow.toolRetry.test.ts+213−0test/jsonrpc/projectors/pi-matrix.test.ts+97−0test/jsonrpc/projectors/tool-reuse.test.ts+140−0test/jsonrpc/tool-retry-compatibility.test.ts+127−0test/jsonrpcSocket.runtime.test.ts+122−0test/mobile.activity-groups.test.ts+385−1test/mobile.jsonrpc-client.test.ts+133−0test/session/runTurnInvocation.test.ts+245−0test/tool-lifecycle-reducers.test.ts+65−0test/tool-retry-lineage.test.ts+396−0test/tool-retry-raw-events.test.ts+388−0