diff --git a/apps/x/apps/renderer/src/App.tsx b/apps/x/apps/renderer/src/App.tsx index ae8d60c9..a92f2d28 100644 --- a/apps/x/apps/renderer/src/App.tsx +++ b/apps/x/apps/renderer/src/App.tsx @@ -648,7 +648,7 @@ function App() { voice.start() }, [voice]) - const handlePromptSubmitRef = useRef<((msg: { text: string }) => void) | null>(null) + const handlePromptSubmitRef = useRef<((message: PromptInputMessage, mentions?: FileMention[], stagedAttachments?: StagedAttachment[], searchEnabled?: boolean) => Promise) | null>(null) const pendingVoiceInputRef = useRef(false) const handleSubmitRecording = useCallback(() => { @@ -657,7 +657,7 @@ function App() { isRecordingRef.current = false if (text) { pendingVoiceInputRef.current = true - handlePromptSubmitRef.current?.({ text }) + handlePromptSubmitRef.current?.({ text, files: [] }) } }, [voice]) diff --git a/apps/x/apps/renderer/src/components/bases-view.tsx b/apps/x/apps/renderer/src/components/bases-view.tsx index 7462f5b5..cad6ccbf 100644 --- a/apps/x/apps/renderer/src/components/bases-view.tsx +++ b/apps/x/apps/renderer/src/components/bases-view.tsx @@ -143,9 +143,6 @@ function getSortValue(note: NoteEntry, column: string): string | number { return Array.isArray(v) ? v[0] ?? '' : v } -const isBuiltin = (col: string): col is BuiltinColumn => - (BUILTIN_COLUMNS as readonly string[]).includes(col) - export function BasesView({ tree, onSelectNote, config, onConfigChange, isDefaultBase, onSave, externalSearch, onExternalSearchConsumed }: BasesViewProps) { // Build notes instantly from tree const notes = useMemo(() => { diff --git a/apps/x/apps/renderer/src/components/chat-input-with-mentions.tsx b/apps/x/apps/renderer/src/components/chat-input-with-mentions.tsx index 74a0b2ed..afc29b34 100644 --- a/apps/x/apps/renderer/src/components/chat-input-with-mentions.tsx +++ b/apps/x/apps/renderer/src/components/chat-input-with-mentions.tsx @@ -70,7 +70,7 @@ const providerDisplayNames: Record = { } interface ConfiguredModel { - flavor: string + flavor: "openai" | "anthropic" | "google" | "openrouter" | "aigateway" | "ollama" | "openai-compatible" | "rowboat" model: string apiKey?: string baseURL?: string @@ -224,7 +224,7 @@ function ChatInputInner({ for (const model of allModels) { if (model) { models.push({ - flavor, + flavor: flavor as ConfiguredModel['flavor'], model, apiKey: (e.apiKey as string) || undefined, baseURL: (e.baseURL as string) || undefined, diff --git a/apps/x/apps/renderer/src/components/connectors-popover.tsx b/apps/x/apps/renderer/src/components/connectors-popover.tsx index 254a4331..0671699a 100644 --- a/apps/x/apps/renderer/src/components/connectors-popover.tsx +++ b/apps/x/apps/renderer/src/components/connectors-popover.tsx @@ -57,7 +57,7 @@ export function ConnectorsPopover({ children, tooltip, open: openProp, onOpenCha // Composio API key state const [composioApiKeyOpen, setComposioApiKeyOpen] = useState(false) - const [composioApiKeyTarget, setComposioApiKeyTarget] = useState<'slack' | 'gmail'>('gmail') + const [, setComposioApiKeyTarget] = useState<'slack' | 'gmail'>('gmail') // Slack state (agent-slack CLI) const [slackEnabled, setSlackEnabled] = useState(false) diff --git a/apps/x/apps/renderer/src/components/frontmatter-properties.tsx b/apps/x/apps/renderer/src/components/frontmatter-properties.tsx index 280d45f1..0ceb2c76 100644 --- a/apps/x/apps/renderer/src/components/frontmatter-properties.tsx +++ b/apps/x/apps/renderer/src/components/frontmatter-properties.tsx @@ -59,7 +59,7 @@ export function FrontmatterProperties({ raw, onRawChange, editable = true }: Fro }) }, []) - const commitField = useCallback((index: number) => { + const commitField = useCallback((_index: number) => { setFields(prev => { commit(prev) return prev diff --git a/apps/x/apps/renderer/src/components/markdown-editor.tsx b/apps/x/apps/renderer/src/components/markdown-editor.tsx index 776b5a42..9f4a2d2a 100644 --- a/apps/x/apps/renderer/src/components/markdown-editor.tsx +++ b/apps/x/apps/renderer/src/components/markdown-editor.tsx @@ -555,7 +555,7 @@ export function MarkdownEditor({ return false }, - handleClickOn: (_view, _pos, node, nodePos, event) => { + handleClickOn: (_view, _pos, node, _nodePos, event) => { if (node.type.name === 'wikiLink') { event.preventDefault() wikiLinks?.onOpen?.(node.attrs.path) diff --git a/apps/x/apps/renderer/src/components/onboarding-modal.tsx b/apps/x/apps/renderer/src/components/onboarding-modal.tsx index d687d81a..82064205 100644 --- a/apps/x/apps/renderer/src/components/onboarding-modal.tsx +++ b/apps/x/apps/renderer/src/components/onboarding-modal.tsx @@ -84,7 +84,7 @@ export function OnboardingModal({ open, onComplete }: OnboardingModalProps) { // Composio API key state const [composioApiKeyOpen, setComposioApiKeyOpen] = useState(false) - const [composioApiKeyTarget, setComposioApiKeyTarget] = useState<'slack' | 'gmail'>('gmail') + const [, setComposioApiKeyTarget] = useState<'slack' | 'gmail'>('gmail') // Slack state (agent-slack CLI) const [slackEnabled, setSlackEnabled] = useState(false) diff --git a/apps/x/apps/renderer/src/components/onboarding/steps/llm-setup-step.tsx b/apps/x/apps/renderer/src/components/onboarding/steps/llm-setup-step.tsx index 31a7308a..534a67a8 100644 --- a/apps/x/apps/renderer/src/components/onboarding/steps/llm-setup-step.tsx +++ b/apps/x/apps/renderer/src/components/onboarding/steps/llm-setup-step.tsx @@ -41,7 +41,7 @@ const moreProviders: Array<{ id: LlmProviderFlavor; name: string; description: s export function LlmSetupStep({ state }: LlmSetupStepProps) { const { llmProvider, setLlmProvider, modelsCatalog, modelsLoading, modelsError, - activeConfig, testState, setTestState, showApiKey, requiresApiKey, + activeConfig, testState, setTestState, showApiKey, showBaseURL, isLocalProvider, canTest, showMoreProviders, setShowMoreProviders, updateProviderConfig, handleTestAndSaveLlmConfig, handleBack, upsellDismissed, setUpsellDismissed, handleSwitchToRowboat, diff --git a/apps/x/apps/renderer/src/components/settings-dialog.tsx b/apps/x/apps/renderer/src/components/settings-dialog.tsx index 65c5b424..d987ee18 100644 --- a/apps/x/apps/renderer/src/components/settings-dialog.tsx +++ b/apps/x/apps/renderer/src/components/settings-dialog.tsx @@ -907,7 +907,7 @@ const DEFAULT_TAGS: TagDef[] = [ function TagGroupTable({ group, - tags, + tags: _tags, collapsed, onToggle, onAdd, diff --git a/apps/x/apps/renderer/src/extensions/task-block.tsx b/apps/x/apps/renderer/src/extensions/task-block.tsx index 9c93231d..b1839745 100644 --- a/apps/x/apps/renderer/src/extensions/task-block.tsx +++ b/apps/x/apps/renderer/src/extensions/task-block.tsx @@ -3,8 +3,8 @@ import { ReactNodeViewRenderer, NodeViewWrapper } from '@tiptap/react' import { CalendarClock, X } from 'lucide-react' import { inlineTask } from '@x/shared' -function TaskBlockView({ node, deleteNode }: { node: { attrs: { data: string } }; deleteNode: () => void }) { - const raw = node.attrs.data +function TaskBlockView({ node, deleteNode }: { node: { attrs: Record }; deleteNode: () => void }) { + const raw = node.attrs.data as string let instruction = '' let scheduleLabel = '' diff --git a/apps/x/apps/renderer/src/hooks/useBilling.ts b/apps/x/apps/renderer/src/hooks/useBilling.ts index 49459fdb..6ab5f04a 100644 --- a/apps/x/apps/renderer/src/hooks/useBilling.ts +++ b/apps/x/apps/renderer/src/hooks/useBilling.ts @@ -1,8 +1,8 @@ import { useState, useEffect, useCallback } from 'react' interface BillingInfo { - subscriptionPlan: string - subscriptionStatus: string + subscriptionPlan: string | null + subscriptionStatus: string | null sanctionedCredits: number availableCredits: number }