3c2cd123b7
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>
29 lines
696 B
TOML
29 lines
696 B
TOML
[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
|