Compare commits

..

4 Commits

Author SHA1 Message Date
RaymondCho 79cc9f26c9 The plugin is published as jopilgue/aindrive, under its publisher's name (#7)
CI / checks (push) Successful in 4m59s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 14:08:45 +00:00
RaymondCho b7c251314a The README shows what a drive looks like while its machine is offline (#6)
CI / checks (push) Successful in 39s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 15:12:20 +00:00
RaymondCho a76a8fa680 The README shows how a connected drive looks in Memona (#4)
CI / checks (push) Successful in 39s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 14:34:02 +00:00
RaymondCho 8fea308580 Tests use the README's example drive id instead of a real drive's (#5)
CI / checks (push) Successful in 38s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 14:28:47 +00:00
5 changed files with 21 additions and 17 deletions
+9 -5
View File
@@ -23,14 +23,18 @@ copy it; aindrive shows it only once.
![The connection form](https://git.capsulizers.com/commons/memona-plugin-aindrive/raw/branch/main/images/connection-form.png) ![The connection form](https://git.capsulizers.com/commons/memona-plugin-aindrive/raw/branch/main/images/connection-form.png)
Saving the connection checks the address and the token. It does not need the Saving the connection checks the address and the token. With a wrong token the
machine that shares the drive to be online, but its files only answer while connection shows as **Disconnected**:
that machine runs aindrive; until then they report the folder unavailable.
With a wrong token the connection shows as **Disconnected**:
![A connected drive and one with a wrong token](https://git.capsulizers.com/commons/memona-plugin-aindrive/raw/branch/main/images/connections.png) ![A connected drive and one with a wrong token](https://git.capsulizers.com/commons/memona-plugin-aindrive/raw/branch/main/images/connections.png)
The check does not need the machine that shares the drive to be online, but its
files only answer while that machine runs aindrive. Until then the connection
stays **Connected** and the plugin reports the drive unavailable, which Memona
shows as a folder that cannot be read:
![The drive's folder while its machine is offline](https://git.capsulizers.com/commons/memona-plugin-aindrive/raw/branch/main/images/offline-folder.png)
## What works ## What works
Browsing folders, and reading, saving and deleting files. A token generated Browsing folders, and reading, saving and deleting files. A token generated
Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"schemaVersion": 2, "schemaVersion": 2,
"id": "memona/aindrive", "id": "jopilgue/aindrive",
"name": "aindrive", "name": "aindrive",
"version": "0.1.0", "version": "0.1.0",
"apiVersion": "0.1.0", "apiVersion": "0.1.0",
+9 -9
View File
@@ -70,26 +70,26 @@ mod tests {
#[tokio::test] #[tokio::test]
async fn the_mcp_panel_url_is_used_as_given() { async fn the_mcp_panel_url_is_used_as_given() {
assert_eq!( assert_eq!(
endpoint("https://aindrive.ainetwork.ai/mcp/d/KQHGpl8hFXq8"), endpoint("https://aindrive.ainetwork.ai/mcp/d/AbCdEf123456"),
Ok("https://aindrive.ainetwork.ai/mcp/d/KQHGpl8hFXq8".to_owned()) Ok("https://aindrive.ainetwork.ai/mcp/d/AbCdEf123456".to_owned())
); );
assert_eq!( assert_eq!(
endpoint(" https://aindrive.ainetwork.ai/mcp/d/KQHGpl8hFXq8/ \n"), endpoint(" https://aindrive.ainetwork.ai/mcp/d/AbCdEf123456/ \n"),
Ok("https://aindrive.ainetwork.ai/mcp/d/KQHGpl8hFXq8".to_owned()) Ok("https://aindrive.ainetwork.ai/mcp/d/AbCdEf123456".to_owned())
); );
} }
#[tokio::test] #[tokio::test]
async fn a_drive_page_address_finds_the_same_endpoint() { async fn a_drive_page_address_finds_the_same_endpoint() {
for page in [ for page in [
"https://aindrive.ainetwork.ai/d/KQHGpl8hFXq8", "https://aindrive.ainetwork.ai/d/AbCdEf123456",
"https://aindrive.ainetwork.ai/d/KQHGpl8hFXq8?path=notes", "https://aindrive.ainetwork.ai/d/AbCdEf123456?path=notes",
"https://aindrive.ainetwork.ai/d/KQHGpl8hFXq8/notes/today.md", "https://aindrive.ainetwork.ai/d/AbCdEf123456/notes/today.md",
"https://aindrive.ainetwork.ai/d/KQHGpl8hFXq8/manage#members", "https://aindrive.ainetwork.ai/d/AbCdEf123456/manage#members",
] { ] {
assert_eq!( assert_eq!(
endpoint(page), endpoint(page),
Ok("https://aindrive.ainetwork.ai/mcp/d/KQHGpl8hFXq8".to_owned()), Ok("https://aindrive.ainetwork.ai/mcp/d/AbCdEf123456".to_owned()),
"{page}" "{page}"
); );
} }
+2 -2
View File
@@ -8,13 +8,13 @@ use crate::sdk::{
}; };
use std::collections::BTreeMap; use std::collections::BTreeMap;
const ENDPOINT: &str = "https://aindrive.ainetwork.ai/mcp/d/KQHGpl8hFXq8"; const ENDPOINT: &str = "https://aindrive.ainetwork.ai/mcp/d/AbCdEf123456";
fn config() -> Vec<(String, Setting)> { fn config() -> Vec<(String, Setting)> {
vec![ vec![
( (
"url".to_owned(), "url".to_owned(),
Setting::Text("https://aindrive.ainetwork.ai/d/KQHGpl8hFXq8".to_owned()), Setting::Text("https://aindrive.ainetwork.ai/d/AbCdEf123456".to_owned()),
), ),
( (
"token".to_owned(), "token".to_owned(),