-
Notifications
You must be signed in to change notification settings - Fork 3.1k
fix(onboard): smoke test inference before success #3603
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
c108c07
57769e4
b91f668
6ee069f
4c3bd0f
68d9be9
33b3136
9af9c3b
ef02afb
70144c6
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -2367,16 +2367,13 @@ const { | |
| hasChatCompletionsToolCall, | ||
| hasChatCompletionsToolCallLeak, | ||
| shouldRequireResponsesToolCalling, | ||
| verifyOnboardInferenceSmoke, | ||
| getProbeAuthMode, | ||
| getValidationProbeCurlArgs, | ||
| probeOpenAiLikeEndpoint, | ||
| probeAnthropicEndpoint, | ||
| } = require("./inference/onboard-probes"); | ||
|
|
||
| // shouldSkipResponsesProbe and isNvcfFunctionNotFoundForAccount / | ||
| // nvcfFunctionNotFoundMessage — see validation import above. They live in | ||
| // src/lib/validation.ts so they can be unit-tested independently. | ||
|
|
||
| async function validateOpenAiLikeSelection( | ||
| label: string, | ||
| endpointUrl: string, | ||
|
|
@@ -7708,6 +7705,7 @@ async function setupInference( | |
| } | ||
|
|
||
| verifyInferenceRoute(provider, model); | ||
| verifyOnboardInferenceSmoke({ provider, model, endpointUrl, credentialEnv }); | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Run the smoke probe on the resume fast-path too. These probes run in Suggested fix if (isRoutedInferenceProvider(provider)) {
try {
await reconcileModelRouter();
} catch (err) {
console.error(
` ✗ Failed to reconcile model router: ${err instanceof Error ? err.message : String(err)}`,
);
process.exit(1);
}
}
skippedStepMessage("inference", `${provider} / ${model}`);
+ verifyOnboardInferenceSmoke({ provider, model, endpointUrl, credentialEnv });
if (nimContainer && sandboxName) {
registry.updateSandbox(sandboxName, { nimContainer });
}Also applies to: 7989-7989 🤖 Prompt for AI Agents |
||
| if (sandboxName) { | ||
| registry.updateSandbox(sandboxName, { model, provider }); | ||
| } | ||
|
|
@@ -7983,6 +7981,7 @@ async function setupInference( | |
| } | ||
|
|
||
| verifyInferenceRoute(provider, model); | ||
| verifyOnboardInferenceSmoke({ provider, model, endpointUrl, credentialEnv }); | ||
| if (sandboxName) { | ||
| registry.updateSandbox(sandboxName, { model, provider }); | ||
| } | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Redact API base in smoke-failure diagnostics.
Line 840 logs
endpointUrlraw. If the configured base URL contains embedded credentials (query param or userinfo), this leaks secrets to console/log capture. Redact before printing.Suggested patch
const { compactText } = require("../core/url-utils"); const { redact } = require("../runner"); + const safeEndpointUrl = compactText(redact(String(endpointUrl || ""))); console.error(" Onboard inference smoke check failed."); console.error(` Provider: ${options.provider}`); console.error(` Model: ${options.model}`); - console.error(` API base: ${endpointUrl}`); + console.error(` API base: ${safeEndpointUrl}`); if (credentialEnv) console.error(` Credential env: ${credentialEnv}`); console.error(` Upstream error: ${compactText(redact(probe.message || "unknown inference failure"))}`);📝 Committable suggestion
🤖 Prompt for AI Agents