46 lines
1.4 KiB
TypeScript
46 lines
1.4 KiB
TypeScript
// Critical system constants extracted to break circular dependencies
|
|
|
|
import { getAPIProvider } from '../utils/model/providers.js'
|
|
|
|
const DEFAULT_PREFIX = `You are Claude Code, Anthropic's official CLI for Claude.`
|
|
const AGENT_SDK_CLAUDE_CODE_PRESET_PREFIX = `You are Claude Code, Anthropic's official CLI for Claude, running within the Claude Agent SDK.`
|
|
const AGENT_SDK_PREFIX = `You are a Claude agent, built on Anthropic's Claude Agent SDK.`
|
|
|
|
const CLI_SYSPROMPT_PREFIX_VALUES = [
|
|
DEFAULT_PREFIX,
|
|
AGENT_SDK_CLAUDE_CODE_PRESET_PREFIX,
|
|
AGENT_SDK_PREFIX,
|
|
] as const
|
|
|
|
export type CLISyspromptPrefix = (typeof CLI_SYSPROMPT_PREFIX_VALUES)[number]
|
|
|
|
/**
|
|
* All possible CLI sysprompt prefix values, used by splitSysPromptPrefix
|
|
* to identify prefix blocks by content rather than position.
|
|
*/
|
|
export const CLI_SYSPROMPT_PREFIXES: ReadonlySet<string> = new Set(
|
|
CLI_SYSPROMPT_PREFIX_VALUES,
|
|
)
|
|
|
|
export function getCLISyspromptPrefix(options?: {
|
|
isNonInteractive: boolean
|
|
hasAppendSystemPrompt: boolean
|
|
}): CLISyspromptPrefix {
|
|
const apiProvider = getAPIProvider()
|
|
if (apiProvider === 'vertex') {
|
|
return DEFAULT_PREFIX
|
|
}
|
|
|
|
if (options?.isNonInteractive) {
|
|
if (options.hasAppendSystemPrompt) {
|
|
return AGENT_SDK_CLAUDE_CODE_PRESET_PREFIX
|
|
}
|
|
return AGENT_SDK_PREFIX
|
|
}
|
|
return DEFAULT_PREFIX
|
|
}
|
|
|
|
export function getAttributionHeader(_fingerprint: string): string {
|
|
return ''
|
|
}
|