diff --git a/src/components/BashModeProgress.tsx b/src/components/BashModeProgress.tsx
index 817320220..bc15acdf3 100644
--- a/src/components/BashModeProgress.tsx
+++ b/src/components/BashModeProgress.tsx
@@ -24,10 +24,10 @@ export function BashModeProgress({
/>
{progress ? (
) : (
diff --git a/src/services/api/openai/index.ts b/src/services/api/openai/index.ts
index 8c5fa7232..23a0ed281 100644
--- a/src/services/api/openai/index.ts
+++ b/src/services/api/openai/index.ts
@@ -1,4 +1,5 @@
import type { BetaToolUnion } from '@anthropic-ai/sdk/resources/beta/messages/messages.mjs'
+import type { ChatCompletionCreateParamsStreaming } from 'openai/resources/chat/completions/completions.mjs'
import type { SystemPrompt } from '../../../utils/systemPromptType.js'
import type {
Message,
@@ -7,6 +8,7 @@ import type {
AssistantMessage,
UserMessage,
} from '../../../types/message.js'
+import type { AgentId } from '../../../types/ids.js'
import type { Tools } from '../../../Tool.js'
import { getOpenAIClient } from './client.js'
import { anthropicMessagesToOpenAI } from './convertMessages.js'
@@ -122,7 +124,7 @@ function assembleFinalAssistantOutputs(params: {
outputs.push({
message: {
...partialMessage,
- content: normalizeContentFromAPI(allBlocks, tools, agentId),
+ content: normalizeContentFromAPI(allBlocks, tools, agentId as AgentId),
usage,
stop_reason: stopReason,
stop_sequence: null,
@@ -222,7 +224,7 @@ export async function* queryModelOpenAI(
// Filter out non-standard tools (server tools like advisor)
const standardTools = toolSchemas.filter(
(t): t is BetaToolUnion & { type: string } => {
- const anyT = t as Record
+ const anyT = t as unknown as Record
return (
anyT.type !== 'advisor_20260301' && anyT.type !== 'computer_20250124'
)
@@ -285,7 +287,7 @@ export async function* queryModelOpenAI(
// 8. Get client and make streaming request
const client = getOpenAIClient({
maxRetries: 0,
- fetchOverride: options.fetchOverride,
+ fetchOverride: options.fetchOverride as unknown as typeof fetch | undefined,
source: options.querySource,
})
diff --git a/src/services/contextCollapse/index.ts b/src/services/contextCollapse/index.ts
index 9ceaa1ad7..8ebe64a54 100644
--- a/src/services/contextCollapse/index.ts
+++ b/src/services/contextCollapse/index.ts
@@ -2,6 +2,15 @@ interface CollapseStats {
totalMessages: number
collapsedMessages: number
emptySpawnWarningEmitted: boolean
+ health: {
+ totalSpawns: number
+ totalErrors: number
+ lastError?: string
+ emptySpawnWarningEmitted: boolean
+ totalEmptySpawns: number
+ }
+ collapsedSpans: number
+ stagedSpans: number
}
export function getStats(): CollapseStats {
@@ -9,6 +18,14 @@ export function getStats(): CollapseStats {
totalMessages: 0,
collapsedMessages: 0,
emptySpawnWarningEmitted: false,
+ health: {
+ totalSpawns: 0,
+ totalErrors: 0,
+ emptySpawnWarningEmitted: false,
+ totalEmptySpawns: 0,
+ },
+ collapsedSpans: 0,
+ stagedSpans: 0,
}
}
diff --git a/src/tasks/design-system/Byline.tsx b/src/tasks/design-system/Byline.tsx
index 092c3a8d4..074cfd357 100644
--- a/src/tasks/design-system/Byline.tsx
+++ b/src/tasks/design-system/Byline.tsx
@@ -5,6 +5,6 @@
import React from 'react'
-export function Byline(): React.ReactNode {
+export function Byline({ children: _children }: { children?: React.ReactNode }): React.ReactNode {
return null
}
diff --git a/src/tasks/design-system/Dialog.tsx b/src/tasks/design-system/Dialog.tsx
index 456025591..5ff927e3d 100644
--- a/src/tasks/design-system/Dialog.tsx
+++ b/src/tasks/design-system/Dialog.tsx
@@ -5,6 +5,14 @@
import React from 'react'
-export function Dialog({ children }: { children?: React.ReactNode }): React.ReactNode {
+type DialogProps = {
+ children?: React.ReactNode
+ title?: string
+ subtitle?: React.ReactNode
+ onCancel?: () => void
+ inputGuide?: () => React.ReactNode
+}
+
+export function Dialog({ children, title: _title, subtitle: _subtitle, onCancel: _onCancel, inputGuide: _inputGuide }: DialogProps): React.ReactNode {
return <>{children}>
}
diff --git a/src/tasks/design-system/KeyboardShortcutHint.tsx b/src/tasks/design-system/KeyboardShortcutHint.tsx
index 6e732a2a6..30e070bb0 100644
--- a/src/tasks/design-system/KeyboardShortcutHint.tsx
+++ b/src/tasks/design-system/KeyboardShortcutHint.tsx
@@ -5,6 +5,6 @@
import React from 'react'
-export function KeyboardShortcutHint(): React.ReactNode {
+export function KeyboardShortcutHint({ shortcut: _shortcut, action: _action }: { shortcut?: string; action?: string }): React.ReactNode {
return null
}