mirror of
https://github.com/simstudioai/sim.git
synced 2026-02-11 23:14:58 -05:00
* v0 * v1 * Basic ss tes * Ss tests * Stuff * Add mcp * mcp v1 * Improvement * Fix * BROKEN * Checkpoint * Streaming * Fix abort * Things are broken * Streaming seems to work but copilot is dumb * Fix edge issue * LUAAAA * Fix stream buffer * Fix lint * Checkpoint * Initial temp state, in the middle of a refactor * Initial test shows diff store still working * Tool refactor * First cleanup pass complete - untested * Continued cleanup * Refactor * Refactor complete - no testing yet * Fix - cursor makes me sad * Fix mcp * Clean up mcp * Updated mcp * Add respond to subagents * Fix definitions * Add tools * Add tools * Add copilot mcp tracking * Fix lint * Fix mcp * Fix * Updates * Clean up mcp * Fix copilot mcp tool names to be sim prefixed * Add opus 4.6 * Fix discovery tool * Fix * Remove logs * Fix go side tool rendering * Update docs * Fix hydration * Fix tool call resolution * Fix * Fix lint * Fix superagent and autoallow integrations * Fix always allow * Update block * Remove plan docs * Fix hardcoded ff * Fix dropped provider * Fix lint * Fix tests * Fix dead messages array * Fix discovery * Fix run workflow * Fix run block * Fix run from block in copilot * Fix lint * Fix skip and mtb * Fix typing * Fix tool call * Bump api version * Fix bun lock * Nuke bad files
44 lines
1.4 KiB
TypeScript
44 lines
1.4 KiB
TypeScript
import { createLogger } from '@sim/logger'
|
|
import { COPILOT_UPDATE_MESSAGES_API_PATH } from '@/lib/copilot/constants'
|
|
import type { CopilotMessage } from '@/stores/panel/copilot/types'
|
|
import { serializeMessagesForDB } from './serialization'
|
|
|
|
const logger = createLogger('CopilotMessagePersistence')
|
|
|
|
export async function persistMessages(params: {
|
|
chatId: string
|
|
messages: CopilotMessage[]
|
|
sensitiveCredentialIds?: Set<string>
|
|
planArtifact?: string | null
|
|
mode?: string
|
|
model?: string
|
|
conversationId?: string
|
|
}): Promise<boolean> {
|
|
try {
|
|
const dbMessages = serializeMessagesForDB(
|
|
params.messages,
|
|
params.sensitiveCredentialIds ?? new Set<string>()
|
|
)
|
|
const response = await fetch(COPILOT_UPDATE_MESSAGES_API_PATH, {
|
|
method: 'POST',
|
|
headers: { 'Content-Type': 'application/json' },
|
|
body: JSON.stringify({
|
|
chatId: params.chatId,
|
|
messages: dbMessages,
|
|
...(params.planArtifact !== undefined ? { planArtifact: params.planArtifact } : {}),
|
|
...(params.mode || params.model
|
|
? { config: { mode: params.mode, model: params.model } }
|
|
: {}),
|
|
...(params.conversationId ? { conversationId: params.conversationId } : {}),
|
|
}),
|
|
})
|
|
return response.ok
|
|
} catch (error) {
|
|
logger.warn('Failed to persist messages', {
|
|
chatId: params.chatId,
|
|
error: error instanceof Error ? error.message : String(error),
|
|
})
|
|
return false
|
|
}
|
|
}
|