Aser server-affinity component expansion + readline buffer fix

adapter-sx.sx: aser-expand-component expands :affinity :server components
inline during SX wire format serialization. Binds keyword args via
eval-expr, children via aser (handles HTML tags), then asers the body.

ocaml_bridge.py: 10MB readline buffer for large spec responses.
nav-data.sx: evaluator.sx filename fix.

Page rendering stays on Python _eval_slot for now — full OCaml rendering
needs the page shell IO (headers, CSRF, CSS) migrated to OCaml IO bridge.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-18 20:46:33 +00:00
parent 1c91680e63
commit 171c18d3be
4 changed files with 82 additions and 7 deletions

View File

@@ -199,9 +199,9 @@ async def eval_sx_url(raw_path: str) -> Any:
logger.error("SX URL render failed for %s: %s", raw_path, e, exc_info=True)
return None
# Return response
# Return response — Python wraps in page shell (CSS, scripts, headers)
if is_htmx_request():
return sx_response(await oob_page_sx(content=content_sx))
return sx_response(content_sx)
else:
tctx = await get_template_context()
html = await full_page_sx(tctx, header_rows="", content=content_sx)