Implement support for passing a session_id variable to scriptorium to support sticky routing

This commit is contained in:
2026-07-02 21:04:37 -05:00
parent ed879b8bb0
commit a90231ce0c
8 changed files with 78 additions and 5 deletions

View File

@@ -225,7 +225,9 @@ For each `pipeline.scriptorium.artifacts.<name>`:
| `output_path` | string | Conditional | required when enabled; also required when referenced by publish/output/input rules |
| `timeout` | duration | No | artifact override |
| `inputs` | map | No | input key names must be non-empty |
| `vars` | map | No | values must be string or bool |
| `vars` | map | No | values must be string or bool; `session_id` is reserved and overwritten by Narratio |
Narratio adds `session_id=narratio-session-<session_id>` to every Scriptorium request for sticky upstream LLM routing. If an artifact config sets `vars.session_id`, Narratio replaces that value before invoking Scriptorium. Use a different variable name if a prompt needs the raw Narratio session ID as content.
For each artifact input `pipeline.scriptorium.artifacts.<name>.inputs.<input_name>`: