From 0ece23ad7db218066c9056b6ed691f5451ab04de Mon Sep 17 00:00:00 2001 From: Dotta Date: Mon, 28 Sep 2026 12:09:14 -0500 Subject: [PATCH] Canonicalize native pack staging paths and format durable expiry fixtures Co-Authored-By: Paperclip --- .../crates/runner-core/src/durable/state.rs | 15 +++++++++++++-- .../scripts/build-provider-pack.mjs | 2 +- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/packages/paperclip-runner/runner/crates/runner-core/src/durable/state.rs b/packages/paperclip-runner/runner/crates/runner-core/src/durable/state.rs index 9f853788900..9d160c5ebe5 100644 --- a/packages/paperclip-runner/runner/crates/runner-core/src/durable/state.rs +++ b/packages/paperclip-runner/runner/crates/runner-core/src/durable/state.rs @@ -1638,7 +1638,10 @@ fn preserve_bounded_display_content( } return Ok(preserved); } - if matches!(event_type, "runtime_request.created" | "runtime_request.expired" | "runtime_request.cancelled") { + if matches!( + event_type, + "runtime_request.created" | "runtime_request.expired" | "runtime_request.cancelled" + ) { if let Some(input) = original.pointer("/request/input") { if input.get("schema").and_then(Value::as_str) == Some("paperclip.question_set.v1") { validate_question_set(input) @@ -3263,7 +3266,15 @@ mod tests { "requestId":"request-1", "replayAllowed":false, "request":{"schema":"paperclip.runtime_request.v2","requestId":"request-1","type":"input","status":"pending","input":input} })).unwrap(); - assert_eq!(state.outbox.last().unwrap().envelope.pointer("/payload/payload/request/input/description"), Some(&json!(text))); + assert_eq!( + state + .outbox + .last() + .unwrap() + .envelope + .pointer("/payload/payload/request/input/description"), + Some(&json!(text)) + ); } let mut oversized = input; diff --git a/packages/paperclip-runner/scripts/build-provider-pack.mjs b/packages/paperclip-runner/scripts/build-provider-pack.mjs index 03028e696d0..ae776b745b4 100644 --- a/packages/paperclip-runner/scripts/build-provider-pack.mjs +++ b/packages/paperclip-runner/scripts/build-provider-pack.mjs @@ -35,7 +35,7 @@ if ( throw new Error(`Refusing unsafe provider-pack output path: ${outputRoot}`); } -const temporaryParent = mkdtempSync(join(tmpdir(), "paperclip-provider-pack-")); +const temporaryParent = realpathSync(mkdtempSync(join(tmpdir(), "paperclip-provider-pack-"))); const temporaryRoot = join(temporaryParent, "pack"); function canonicalJson(value) {