feat(tools): add minio ingestion into memory namespaces
This commit is contained in:
+50
-1
@@ -27,6 +27,7 @@ Tools are executable capabilities that the AI agent can call to perform actions
|
||||
- **Web**: `web.fetch`, `web.search`
|
||||
- **Browser**: `browser.navigate`, `browser.screenshot`
|
||||
- **Memory**: `memory.read`, `memory.write`, `memory.search`
|
||||
- **MinIO**: `minio.share`, `minio.ingest`
|
||||
- **Media**: `media.send`, `image.analyze`, `audio.transcribe`
|
||||
- **System**: `system.info`
|
||||
- **Session**: `sessions.list`, `sessions.delete`
|
||||
@@ -466,7 +467,7 @@ Tools are organized into groups:
|
||||
- `group:web`: Web and browser tools
|
||||
- `group:memory`: Memory and search tools
|
||||
|
||||
There are additional groups for specific integrations (gmail/gcal/gdocs/gdrive/gtasks/cron). See `TOOL_GROUPS` in `src/tools/policy.ts`.
|
||||
There are additional groups for specific integrations (gmail/gcal/gdocs/gdrive/gtasks/cron/minio). See `TOOL_GROUPS` in `src/tools/policy.ts`.
|
||||
|
||||
### Policy Resolution
|
||||
|
||||
@@ -958,6 +959,54 @@ Search memory using hybrid (keyword + vector) search.
|
||||
}
|
||||
```
|
||||
|
||||
### MinIO Tools
|
||||
|
||||
#### `minio.share`
|
||||
|
||||
Upload a local file to MinIO and return a temporary presigned download URL.
|
||||
|
||||
#### `minio.ingest`
|
||||
|
||||
Read a text-like object from MinIO and write it into a memory namespace.
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "minio.ingest",
|
||||
"description": "Read a text-like object from MinIO and ingest it into memory namespace for later retrieval/search.",
|
||||
"inputSchema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"object_key": {
|
||||
"type": "string",
|
||||
"description": "Object key in MinIO bucket"
|
||||
},
|
||||
"bucket": {
|
||||
"type": "string",
|
||||
"description": "Optional bucket override"
|
||||
},
|
||||
"namespace": {
|
||||
"type": "string",
|
||||
"description": "Memory namespace (default: global/knowledge)"
|
||||
},
|
||||
"mode": {
|
||||
"type": "string",
|
||||
"enum": ["append", "replace"],
|
||||
"description": "Write mode"
|
||||
},
|
||||
"max_chars": {
|
||||
"type": "number",
|
||||
"description": "Maximum characters to ingest"
|
||||
},
|
||||
"force": {
|
||||
"type": "boolean",
|
||||
"description": "Override non-text extension/content safety checks"
|
||||
}
|
||||
},
|
||||
"required": ["object_key"]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Media Tools
|
||||
|
||||
#### `media.send`
|
||||
|
||||
Reference in New Issue
Block a user