{"record":{"id":"3becb54f534f43a1","repo":"BoundaryML/baml","slug":"no-parsed-value","errorCode":null,"errorMessage":"No parsed value","messagePattern":"No parsed value","errorType":"exception","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"engine/baml-schema-wasm/src/runtime_wasm/mod.rs","lineNumber":824,"sourceCode":"                        expr_response.as_ref().map(|v| format!(\"{v:?}\"))\n                    );\n                    match expr_response {\n                        Ok(value) => {\n                            log::debug!(\n                                \"[BAML parsed_response_impl] Using expr function response value\"\n                            );\n                            Ok(value)\n                        }\n                        Err(e) => {\n                            log::debug!(\"[BAML parsed_response_impl] Expr function error: {e}\");\n                            Err(anyhow::anyhow!(\"Expr function error: {}\", e))\n                        }\n                    }\n                } else {\n                    log::debug!(\n                        \"[BAML parsed_response_impl] No parsed value found in either response type\"\n                    );\n                    Err(anyhow::anyhow!(\"No parsed value\"))\n                }\n            }\n        }\n        .context(\"No parsed value\")?;\n        let (flattened_checks, check_count) = serialize_value_counting_checks(parsed_response);\n        Ok(WasmParsedTestResponse {\n            value: serde_json::to_string(&flattened_checks)?,\n            check_count,\n            explanation: {\n                let j = parsed_response.explanation_json();\n                if j.is_empty() {\n                    None\n                } else {\n                    Some(serde_json::to_string(&j)?)\n                }\n            },\n        })\n    }","sourceCodeStart":806,"sourceCodeEnd":842,"githubUrl":"https://github.com/BoundaryML/baml/blob/bd85ce9dee1463ff04d27efd20531013a4ff46c1/engine/baml-schema-wasm/src/runtime_wasm/mod.rs#L806-L842","documentation":"parsed_response_impl could not find a parsed value in either the LLM function response or the expr function response, producing \"No parsed value\" (also attached as context). The WASM runtime requires a successfully parsed response to compute checks, so absence is fatal for the test result payload.","triggerScenarios":"Neither func_res nor expr_function_response existed on the test result, or their parsed-value getters returned None; the else branch bails with anyhow!(\"No parsed value\") and .context(\"No parsed value\").","commonSituations":"The underlying LLM call failed or returned nothing parseable before the test runner tried to serialize the parsed test response for JS; race where the test finished with no output recorded.","solutions":["Check earlier errors in the chain — the real failure is the missing LLM/expr response","Verify the function call completed successfully before reading parsed results","Inspect API credentials, timeouts, and retry settings","Re-run the test with debug logging ([BAML parsed_response_impl] lines)"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":"// only request the parsed test response after confirming the call succeeded\nif (!await callCompleted(testId)) throw new Error('call not complete; no parsed value expected yet');","typeGuard":"const hasParsed = (r) => r && ((r.function_response && r.function_response.parsed) || r.expr_function_response);","tryCatchPattern":"try {\n  const resp = await b.test.getParsedResponse(testId);\n} catch (e) {\n  if (String(e).includes('No parsed value')) {\n    // fall back to raw response / inspect upstream LLM error\n  }\n  throw e;\n}","preventionTips":["Check the LLM call's success status before reading parsed results","Log upstream failures (auth, rate limits, timeouts) so parsing gaps are explained","Set explicit retry/timeouts so calls complete rather than abort silently"],"tags":["wasm","parsing","testing","rust"],"backgroundTag":"empty-response-body","analyzedSha":"bd85ce9dee1463ff04d27efd20531013a4ff46c1","analyzedAt":"2026-09-12T03:38:25.718Z","contentChangedAt":"2026-09-12T03:38:25.718Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}