fix: block update command for 3P providers, align thinking block handling
1. cli/update.ts: Block the update command for third-party providers. The update mechanism downloads from Anthropic's GCS bucket, which would silently replace the OpenClaude build (with the OpenAI shim) with the upstream Claude Code binary (without it). Now shows an actionable message directing users to rebuild from source. 2. codexShim.ts: Filter thinking blocks from assistant history, matching the openaiShim behavior. Without this, thinking blocks were included as plain text in assistant messages for the Codex transport but excluded for the OpenAI transport — causing inconsistent history when switching providers mid-session.
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import chalk from 'chalk'
|
||||
import { getAPIProvider } from 'src/utils/model/providers.js'
|
||||
import { logEvent } from 'src/services/analytics/index.js'
|
||||
import {
|
||||
getLatestVersion,
|
||||
@@ -28,6 +29,19 @@ import { gte } from 'src/utils/semver.js'
|
||||
import { getInitialSettings } from 'src/utils/settings/settings.js'
|
||||
|
||||
export async function update() {
|
||||
// Block updates for third-party providers. The update mechanism downloads
|
||||
// from Anthropic's distribution bucket, which would silently replace the
|
||||
// OpenClaude build (with the OpenAI shim) with the upstream Claude Code
|
||||
// binary (without it).
|
||||
if (getAPIProvider() !== 'firstParty') {
|
||||
writeToStdout(
|
||||
chalk.yellow('Auto-update is not available for third-party provider builds.\n') +
|
||||
'To update, pull the latest source from the repository and rebuild:\n' +
|
||||
' git pull && bun install && bun run build\n',
|
||||
)
|
||||
return
|
||||
}
|
||||
|
||||
logEvent('tengu_update_check', {})
|
||||
writeToStdout(`Current version: ${MACRO.VERSION}\n`)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user