MCPcopy Create free account
hub / github.com/AICoderTudou/claude-code-tudou / run

Function run

src/localRecoveryCli.ts:127–198  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

125}
126
127async function run(): Promise<void> {
128 const parsed = parseArgs(process.argv.slice(2))
129
130 if (parsed.command === 'help') {
131 printHelp()
132 return
133 }
134 if (parsed.command === 'version') {
135 printVersion()
136 return
137 }
138
139 if (!parsed.print) {
140 await runInteractive(parsed)
141 return
142 }
143
144 const prompt = parsed.prompt || (await readPromptFromStdin())
145 if (!prompt) {
146 process.stderr.write('Error: prompt is required\n')
147 process.exitCode = 1
148 return
149 }
150
151 const apiKey = process.env.ANTHROPIC_API_KEY
152 const authToken = process.env.ANTHROPIC_AUTH_TOKEN
153 if (!apiKey && !authToken) {
154 process.stderr.write(
155 'Error: set ANTHROPIC_API_KEY or ANTHROPIC_AUTH_TOKEN\n',
156 )
157 process.exitCode = 1
158 return
159 }
160
161 const model =
162 parsed.model ||
163 process.env.ANTHROPIC_DEFAULT_SONNET_MODEL ||
164 process.env.ANTHROPIC_MODEL
165
166 if (!model) {
167 process.stderr.write('Error: model is required\n')
168 process.exitCode = 1
169 return
170 }
171
172 const client = new Anthropic({
173 apiKey: apiKey ?? undefined,
174 authToken: authToken ?? undefined,
175 baseURL: process.env.ANTHROPIC_BASE_URL || undefined,
176 timeout: parseInt(process.env.API_TIMEOUT_MS || String(600_000), 10),
177 maxRetries: 0,
178 })
179
180 const response = await client.messages.create({
181 model,
182 max_tokens: 4096,
183 system: getSystemPrompt(parsed.systemPrompt, parsed.appendSystemPrompt),
184 messages: [{ role: 'user', content: prompt }],

Callers 1

Calls 8

printVersionFunction · 0.85
runInteractiveFunction · 0.85
readPromptFromStdinFunction · 0.85
parseArgsFunction · 0.70
printHelpFunction · 0.70
getSystemPromptFunction · 0.70
createMethod · 0.65
writeMethod · 0.45

Tested by

no test coverage detected