Open an aindrive drive as a read-only folder in Memona
The plugin reaches a drive through aindrive's remote MCP endpoint with the drive's access token. Opening a connection asks which tools the token may call, so it works while the drive's machine sleeps. Listing, stat and reading map to list_files, stat and read_file; a read is statted first, and a file whose length changed in between is refused as a conflict. Reads decode only the window asked for, straight from the reply pieces, so any 1 MiB slice of a file up to aindrive's 8 MiB limit fits Memona's per-call fuel. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+28
@@ -0,0 +1,28 @@
|
||||
[package]
|
||||
name = "memona-plugin-aindrive"
|
||||
version = "0.1.0"
|
||||
edition = "2024"
|
||||
license = "MIT"
|
||||
description = "An aindrive filesystem provider for Memona, built as a WASI component."
|
||||
repository = "https://git.capsulizers.com/commons/memona-plugin-aindrive"
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib", "rlib"]
|
||||
|
||||
[dependencies]
|
||||
serde = { version = "1", features = ["derive"] }
|
||||
serde_json = { version = "1", features = ["raw_value"] }
|
||||
wit-bindgen = "=0.62.0"
|
||||
|
||||
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies]
|
||||
base64 = "0.22"
|
||||
tokio = { version = "1", features = ["macros", "rt"] }
|
||||
|
||||
[lints.clippy]
|
||||
panic = "deny"
|
||||
unwrap_used = "deny"
|
||||
expect_used = "deny"
|
||||
wildcard_imports = "deny"
|
||||
|
||||
[profile.dev]
|
||||
debug = 0
|
||||
Reference in New Issue
Block a user