1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
use HashMap;
use Value;
/// Key-value map of variables substituted into prompt templates.
///
/// Values are [`serde_json::Value`] so that booleans, numbers, lists, and
/// nested objects can be passed alongside plain strings.
pub type PromptArgs = ;
/// Build a [`PromptArgs`] map from key-value pairs.
///
/// Keys are anything that implements `ToString`; values are passed through
/// [`serde_json::json!`] so any JSON-serialisable literal works.
///
/// # Example
///
/// ```rust
/// use rune_chain_core::prompt_args;
///
/// let args = prompt_args! {
/// "name" => "Alice",
/// "age" => 30,
/// };
///
/// assert_eq!(args["name"], "Alice");
/// assert_eq!(args["age"], 30);
/// ```