FileSystem
Register the native iOS file-system tool suite to list, read, download, push, copy, move, and delete files inside approved roots.
Install
Published pod: AnsightToolsFileSystem.
SwiftPM:
.product(name: "AnsightToolsFileSystem", package: "ansight-sdk")
CocoaPods:
pod 'AnsightToolsFileSystem', '1.0.2-preview.1'
Register the Suite
import AnsightCore
import AnsightToolsFileSystem
let fileSystem = AnsightFileSystemToolsOptions.createBuilder()
.addRoot(alias: "exports", path: "/path/to/exports")
.build()
try AnsightRuntime.shared.registerFileSystemTools(options: fileSystem)
Registration API
registerFileSystemTools(options:): registers the suite.AnsightFileSystemToolsOptions.createBuilder(): creates a suite options builder.addRoot(alias:path:): exposes an additional approved root.
Specific Concerns
- All access is constrained to approved roots.
- File contents are sensitive even when only read tools are enabled.
files.push_file,files.copy_file, andfiles.move_fileare write-scoped.files.delete_fileis delete-scoped and requires.fullAccess.files.begin_binary_downloadstreams bytes over the binary transfer channel.
Tool Matrix
| Name | Id | Scope | Description | Security |
|---|---|---|---|---|
List Directory | files.list_directory | Read | Lists files and folders inside approved roots. | Moderate |
Read File | files.read_file | Read | Reads a constrained file. | High |
Get File Checksum | files.get_file_checksum | Read | Computes file checksums without returning contents. | Moderate |
Download File | files.download_file | Read | Downloads chunks through JSON fallback. | High |
Begin Binary Download | files.begin_binary_download | Read | Starts binary WebSocket download for a constrained file. | High |
Push File | files.push_file | Write | Writes caller-provided content into an approved root. | High |
Copy File | files.copy_file | Write | Copies a constrained file. | High |
Move File | files.move_file | Write | Moves or renames a constrained file. | High |
Delete File | files.delete_file | Delete | Deletes a constrained file. | Critical |
Tool Details
Use read tools for directory listing, content inspection, checksums, and downloads. Use write tools for app-sandbox repair workflows. Use delete only when the workflow explicitly depends on removing files.