Creates an operation via the personal server API.
The request parameters object
Parameters for the vana.server.createOperation
method.
The permission ID
A Promise that resolves to an operation response with status and control URLs
Polls the status of a computation request for updates and results.
The operation ID returned from the initial request submission
A Promise that resolves to the current operation response with status and results
This method checks the current status of a computation request by querying the personal server API using the provided operation ID. It returns the current status, any available output, and error information. The method can be called periodically until the operation completes or fails.
Common status values include: starting
, processing
, succeeded
, failed
, canceled
.
// Poll until completion
let result = await vana.server.getOperation(response.id);
while (result.status === "processing") {
await new Promise(resolve => setTimeout(resolve, 1000));
result = await vana.server.getOperation(response.id);
}
if (result.status === "succeeded") {
console.log("Computation completed:", result.output);
}
Manages interactions with Vana personal servers and identity infrastructure.
Remarks
This controller handles communication with personal servers for data processing and identity servers for public key derivation. It provides methods for posting computation requests to personal servers, polling for results, and retrieving cryptographic keys for secure data sharing. All server interactions use the Replicate API infrastructure with proper authentication and error handling.
Personal servers enable privacy-preserving computation on user data, while identity servers provide deterministic key derivation for secure communication without requiring servers to be online during key retrieval.
Example
See
[URL_PLACEHOLDER] | Vana Personal Servers for conceptual overview