Save a printer profile
save_printerAdds a printer missing from the catalog to topopt-printers.yaml, recording verified facts and sources after user approval.
Instructions
Keep a printer that is not in the catalog, with its facts and their sources, in topopt-printers.yaml in the work folder. It writes only that file.
Use it after find_printer says "none": look up the maker page (web search), show the user the values with the page address, and call this tool after the user agrees. A value that you cannot find stays null (unknown): ask the user for it, and leave it null if they do not know; a guess would look like a fact. The server reads the file at each call, so the printer is live at once.
profile: one printer as a dict. Needed: id (lower-case slug, for example "voron-trident"), vendor, model, printer_type ("fdm", "sla", "lpbf", "sls"), bed_mm ([x, y] in mm), and a source: source_url (the maker page) or source "user" (the user said the values).
Optional (null or left out = unknown): aliases (list), build_height_mm, nozzle_mm, nozzle_options_mm (list), max_nozzle_c, max_bed_c, enclosure ("open", "enclosed", "heated"), chamber_max_c (only with "heated"), stock_nozzle_material ("brass", "stainless", "hardened_steel", "tungsten_carbide"), extruder ("direct", "bowden"), opened (YYYY-MM-DD, the day the page was read), tag ("maker doc", "third party", "user"), field_sources ({field: page address or "user"}), note.
The entry is checked like the shipped catalog. The same id replaces a user entry; the id of a shipped printer is refused with another id to use, and a name or alias of a shipped printer with another model name or alias. Other entries stay.
Returns: ok, path, profile, created, replaced, note, problems (of the rest of the file). A wrong argument name or value gives {"ok": false, "error": ...}; nothing is written. A file that is not valid YAML is not changed. There is no CLI command: edit the file.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| profile | Yes |