BellD / DevelopersDocumentation · latest

capabilities.ts

Source: sdk/typescript/src/generated/capabilities.ts

export type JsonValue = null | boolean | number | string | JsonValue[] | {
    [key: string]: JsonValue;
};
export interface CapabilityOptions {
    "ai.generate/generate": {
        "model_kind": "text" | "embedding";
        "max_tokens": number;
        input: JsonValue;
    };
    "data.kv/get": {
        "key": string;
        "bytes"?: number;
        input: JsonValue;
    };
    "data.kv/set": {
        "key": string;
        "bytes"?: number;
        input: JsonValue;
    };
    "data.kv/delete": {
        "key": string;
        "bytes"?: number;
        input: JsonValue;
    };
    "data.kv/list": {
        "key": string;
        "bytes"?: number;
        input: JsonValue;
    };
    "data.kv/increment": {
        "key": string;
        "bytes"?: number;
        input: JsonValue;
    };
    "email.send/send": {
        "from": string;
        "recipients": Array<string>;
        "bytes": number;
        input: JsonValue;
    };
    "storage.object/read": {
        "key": string;
        "bytes"?: number;
        input: JsonValue;
    };
    "storage.object/write": {
        "key": string;
        "bytes"?: number;
        input: JsonValue;
    };
    "storage.object/delete": {
        "key": string;
        "bytes"?: number;
        input: JsonValue;
    };
    "storage.object/list": {
        "key": string;
        "bytes"?: number;
        input: JsonValue;
    };
}
export interface BellDCapabilities {
    "ai": {
        "generate": <T = unknown>(options: CapabilityOptions["ai.generate/generate"]) => Promise<T>;
    };
    "data": {
        "kv": {
            "get": <T = unknown>(options: CapabilityOptions["data.kv/get"]) => Promise<T>;
            "set": <T = unknown>(options: CapabilityOptions["data.kv/set"]) => Promise<T>;
            "delete": <T = unknown>(options: CapabilityOptions["data.kv/delete"]) => Promise<T>;
            "list": <T = unknown>(options: CapabilityOptions["data.kv/list"]) => Promise<T>;
            "increment": <T = unknown>(options: CapabilityOptions["data.kv/increment"]) => Promise<T>;
        };
    };
    "email": {
        "send": <T = unknown>(options: CapabilityOptions["email.send/send"]) => Promise<T>;
    };
    "storage": {
        "object": {
            "read": <T = unknown>(options: CapabilityOptions["storage.object/read"]) => Promise<T>;
            "write": <T = unknown>(options: CapabilityOptions["storage.object/write"]) => Promise<T>;
            "delete": <T = unknown>(options: CapabilityOptions["storage.object/delete"]) => Promise<T>;
            "list": <T = unknown>(options: CapabilityOptions["storage.object/list"]) => Promise<T>;
        };
    };
}
export declare const capabilityMethods: readonly [{
    readonly id: "ai.generate";
    readonly action: "generate";
    readonly domain: "ai";
    readonly noun: "generate";
    readonly collapsed: true;
    readonly requestKeys: readonly ["model_kind", "max_tokens"];
}, {
    readonly id: "data.kv";
    readonly action: "get";
    readonly domain: "data";
    readonly noun: "kv";
    readonly collapsed: false;
    readonly requestKeys: readonly ["key", "bytes"];
}, {
    readonly id: "data.kv";
    readonly action: "set";
    readonly domain: "data";
    readonly noun: "kv";
    readonly collapsed: false;
    readonly requestKeys: readonly ["key", "bytes"];
}, {
    readonly id: "data.kv";
    readonly action: "delete";
    readonly domain: "data";
    readonly noun: "kv";
    readonly collapsed: false;
    readonly requestKeys: readonly ["key", "bytes"];
}, {
    readonly id: "data.kv";
    readonly action: "list";
    readonly domain: "data";
    readonly noun: "kv";
    readonly collapsed: false;
    readonly requestKeys: readonly ["key", "bytes"];
}, {
    readonly id: "data.kv";
    readonly action: "increment";
    readonly domain: "data";
    readonly noun: "kv";
    readonly collapsed: false;
    readonly requestKeys: readonly ["key", "bytes"];
}, {
    readonly id: "email.send";
    readonly action: "send";
    readonly domain: "email";
    readonly noun: "send";
    readonly collapsed: true;
    readonly requestKeys: readonly ["from", "recipients", "bytes"];
}, {
    readonly id: "storage.object";
    readonly action: "read";
    readonly domain: "storage";
    readonly noun: "object";
    readonly collapsed: false;
    readonly requestKeys: readonly ["key", "bytes"];
}, {
    readonly id: "storage.object";
    readonly action: "write";
    readonly domain: "storage";
    readonly noun: "object";
    readonly collapsed: false;
    readonly requestKeys: readonly ["key", "bytes"];
}, {
    readonly id: "storage.object";
    readonly action: "delete";
    readonly domain: "storage";
    readonly noun: "object";
    readonly collapsed: false;
    readonly requestKeys: readonly ["key", "bytes"];
}, {
    readonly id: "storage.object";
    readonly action: "list";
    readonly domain: "storage";
    readonly noun: "object";
    readonly collapsed: false;
    readonly requestKeys: readonly ["key", "bytes"];
}];