From 81a0ad6bc2c6979d5069fe1fed6681f24fab982d Mon Sep 17 00:00:00 2001 From: Drew Tada Date: Mon, 22 Jan 2024 11:24:46 -0600 Subject: [PATCH 1/2] script utils added --- Cargo.lock | 2 +- src/kernel_types.rs | 11 +++++++++++ src/lib.rs | 7 +++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/Cargo.lock b/Cargo.lock index f0b49d1..3f247a2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1010,7 +1010,7 @@ dependencies = [ [[package]] name = "kinode_process_lib" -version = "0.5.4" +version = "0.5.5" dependencies = [ "alloy-rpc-types", "anyhow", diff --git a/src/kernel_types.rs b/src/kernel_types.rs index 87303f2..7c5e084 100644 --- a/src/kernel_types.rs +++ b/src/kernel_types.rs @@ -218,6 +218,17 @@ pub struct PackageManifestEntry { pub public: bool, } +/// the type that gets deserialized from a `scripts.json` object +#[derive(Debug, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct DotScriptsEntry { + pub root: bool, + pub public: bool, + pub request_networking: bool, + pub request_capabilities: Option>, + pub grant_capabilities: Option>, +} + impl std::fmt::Display for Message { fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { match self { diff --git a/src/lib.rs b/src/lib.rs index 19b3ba1..66f9ddd 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -215,3 +215,10 @@ pub fn get_capability(our: &Address, params: &str) -> Option { }) .cloned() } + +pub fn get_args() -> anyhow::Result> { + let Ok(Message::Request { body, .. }) = await_message() else { + return Err(anyhow::anyhow!("failed to get args, bailing out")); + }; + Ok(body) +} From 2d336dda55a399b8919d4793d07ea2e429b76cbb Mon Sep 17 00:00:00 2001 From: Drew Tada Date: Mon, 22 Jan 2024 11:29:30 -0600 Subject: [PATCH 2/2] get args changed to await_next_request_body --- src/lib.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 66f9ddd..68591e4 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -216,9 +216,9 @@ pub fn get_capability(our: &Address, params: &str) -> Option { .cloned() } -pub fn get_args() -> anyhow::Result> { +pub fn await_next_request_body() -> anyhow::Result> { let Ok(Message::Request { body, .. }) = await_message() else { - return Err(anyhow::anyhow!("failed to get args, bailing out")); + return Err(anyhow::anyhow!("failed to get request body, bailing out")); }; Ok(body) }