/** * Agent capabilities for Blob protocol */ /** * Capability can only be delegated (but not invoked) allowing audience to * derived any `space/blob/` prefixed capability for the (memory) space identified * by DID in the `with` field. */ export const blob: import("@ucanto/interface").TheCapabilityParser, any>>; /** * Blob description for being ingested by the service. */ export const content: Schema.StructSchema<{ digest: Schema.Schema, unknown>; size: Schema.NumberSchema, unknown>; }, unknown>; /** * `space/blob/add` capability allows agent to store a Blob into a (memory) space * identified by did:key in the `with` field. Agent should compute blob multihash * and size and provide it under `nb.blob` field, allowing a service to provision * a write location for the agent to PUT desired Blob into. */ export const add: import("@ucanto/interface").TheCapabilityParser, Schema.InferStruct<{ blob: Schema.StructSchema<{ digest: Schema.Schema, unknown>; size: Schema.NumberSchema, unknown>; }, unknown>; }>>>; /** * Capability can be used to remove the stored Blob from the (memory) * space identified by `with` field. */ export const remove: import("@ucanto/interface").TheCapabilityParser, Schema.InferStruct<{ digest: Schema.Schema, unknown>; }>>>; /** * Capability can be invoked to request a list of stored Blobs in the * (memory) space identified by `with` field. */ export const list: import("@ucanto/interface").TheCapabilityParser, Schema.InferStruct<{ cursor: Schema.Schema; size: Schema.Schema<(number & import("multiformats").Phantom<{ typeof: "integer"; }>) | undefined, unknown>; }>>>; /** * Capability can be used to get the stored Blob from the (memory) * space identified by `with` field. */ export const get: import("@ucanto/interface").TheCapabilityParser, Schema.InferStruct<{ digest: Schema.Schema, unknown>; }>>>; /** * The `space/blob/replicate` capability allows an agent to replicate a Blob * into a space identified by did:key in the `with` field. * * A replicate capability may only be invoked after a `blob/accept` receipt has * been receieved, indicating the source node has successfully received the * blob. * * Each Replicate task MUST target a different node, and they MUST NOT target * the original upload target. * * The Replicate task receipt includes async tasks for `blob/replica/allocate` * and `blob/replica/transfer`. Successful completion of the * `blob/replica/transfer` task indicates the replication target has transferred * and stored the blob. The number of `blob/replica/allocate` and * `blob/replica/transfer` tasks corresponds directly to number of replicas * requested. */ export const replicate: import("@ucanto/interface").TheCapabilityParser, Schema.InferStruct<{ blob: Schema.StructSchema<{ digest: Schema.Schema, unknown>; size: Schema.NumberSchema, unknown>; }, unknown>; replicas: Schema.NumberSchema, unknown>; site: Schema.Schema, any>; }>>>; export { Schema }; import { Schema } from '@ucanto/validator'; //# sourceMappingURL=blob.d.ts.map