memoryd: note answers name notes.md and the file that was not changed
This commit is contained in:
@@ -57,9 +57,21 @@ pub fn untrusted_refusal(file: MemoryFile) -> String {
|
||||
)
|
||||
}
|
||||
|
||||
/// The answer when an untrusted session's `add` became a note.
|
||||
pub const SAVED_AS_NOTE: &str =
|
||||
"saved as a note (untrusted): this session has read untrusted content";
|
||||
/// The answer when an untrusted session's `add` became a note. It names the file it did not change:
|
||||
/// on the device the model read a shorter answer as success.
|
||||
pub fn saved_as_note(file: MemoryFile) -> String {
|
||||
format!(
|
||||
"not added to {}: this session has read untrusted content, so it was saved in notes.md as an untrusted note",
|
||||
file.name()
|
||||
)
|
||||
}
|
||||
|
||||
/// The answer to a `note` from a session that has not read untrusted content.
|
||||
pub const NOTED: &str = "saved in notes.md";
|
||||
|
||||
/// The answer to a `note` from a session that has read untrusted content.
|
||||
pub const NOTED_UNTRUSTED: &str =
|
||||
"saved in notes.md, marked untrusted: this session has read untrusted content";
|
||||
|
||||
fn stale(file: MemoryFile) -> String {
|
||||
format!(
|
||||
@@ -97,13 +109,13 @@ pub fn apply(store: &Store, args: &MemoryArgs, ctx: &Context) -> Result<Outcome,
|
||||
| MemoryArgs::Consolidate { file, .. } => *file,
|
||||
};
|
||||
// 3. When `ctx.untrusted`: an Add becomes `noted(store, ctx, text, "add")?` with its answer
|
||||
// replaced by SAVED_AS_NOTE; any other action -> Err(untrusted_refusal(file)).
|
||||
// replaced by saved_as_note(file); any other action -> Err(untrusted_refusal(file)).
|
||||
if ctx.untrusted {
|
||||
match args {
|
||||
MemoryArgs::Add { text, .. } => {
|
||||
let outcome = noted(store, ctx, text, "add")?;
|
||||
return Ok(Outcome {
|
||||
answer: SAVED_AS_NOTE.to_string(),
|
||||
answer: saved_as_note(file),
|
||||
..outcome
|
||||
});
|
||||
}
|
||||
@@ -222,9 +234,9 @@ fn noted(
|
||||
Ok(Outcome {
|
||||
action,
|
||||
answer: if ctx.untrusted {
|
||||
"noted (untrusted)"
|
||||
NOTED_UNTRUSTED
|
||||
} else {
|
||||
"noted"
|
||||
NOTED
|
||||
}
|
||||
.to_string(),
|
||||
change: Change {
|
||||
|
||||
Reference in New Issue
Block a user