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"];
}];