harn-stdlib 0.10.24

Embedded Harn standard library source catalog
Documentation
// CLI bridge for the Harn-owned prompt persona compiler. Rust supplies only a
// closed payload and renders the returned receipt; compilation policy remains
// in std/personas/compiler.
import { persona_compile_prompt } from "std/personas/compiler"

fn main(harness: Harness) -> int {
  const raw = harness.env.get_or("HARN_PERSONA_COMPILE_PROMPT_JSON", "")
  if raw == "" {
    __io_eprintln("HARN_PERSONA_COMPILE_PROMPT_JSON is required")
    return 2
  }
  const payload = try {
    json_parse(raw)
  } catch (e) {
    __io_eprintln("persona prompt compiler payload must be valid JSON: " + to_string(e))
    return 2
  }
  if type_of(payload?.prompt) != "string" {
    __io_eprintln("persona prompt compiler payload requires a string prompt")
    return 2
  }
  const receipt = persona_compile_prompt(
    payload.prompt,
    {
      provider: payload?.provider,
      model: payload?.model,
      max_tokens: payload?.max_tokens,
      name_override: payload?.name,
    },
  )
  __io_println(json_stringify(receipt))
  return 0
}