openvibe-sdk/agents/blueprint

Generated at from openvibe-contracts v0.419.0 and openvibe-sdk v0.168.0.

From types/agents-blueprint.d.ts (both). Declarations are shown verbatim.

type Level

export type Level = 'ask' | 'auto-edits' | 'approve-for-me' | 'full';

type PlaceKind

export type PlaceKind = 'none' | 'own' | 'shared' | 'openvibe' | 'sandbox';

type MemoryScope

export type MemoryScope = 'none' | 'thread' | 'person' | 'team';

type Who

export type Who = 'owner' | 'list' | 'followers' | 'anyone';

type WhenKind

export type WhenKind = 'manual' | 'chat' | 'feed' | 'comments' | 'git' | 'composer' | 'notifications' | 'mail' | 'schedule' | 'goal' | 'event' | 'webhook' | 'machine';

type InputType

export type InputType = 'text' | 'number' | 'boolean' | 'choice' | 'channel' | 'room' | 'repository' | 'machine' | 'url';

interface BlueprintInput

export interface BlueprintInput { id: string; type: InputType; label: string; help?: string; required?: boolean; default?: string | number | boolean; choices?: string[]; }

interface Blueprint

export interface Blueprint {
    id: string;
    version: number;
    state: 'draft' | 'published' | 'retired';
    name: string;
    summary: string;
    author: { type: 'user' | 'service'; id: string };
    visibility: 'private' | 'link' | 'public';
    forked_from?: string | null;
    licence?: string;
    tags?: string[];
    inputs?: BlueprintInput[];
    needs?: Array<{ kind: 'machine' | 'key' | 'plan' | 'app' | 'robot'; what: string; why?: string }>;
    face?: { avatar?: string; glyph?: string; hue?: number; voice?: string | null; tone?: string; greeting?: string; elements?: string[] };
    brain?: { pick?: 'auto' | 'size' | 'exact'; size?: Tier; model?: string; rungs?: Rung[]; max_usd_per_m?: number; caps?: string[]; depth?: 'quick' | 'balanced' | 'deep'; advisor?: { size?: 'medium' | 'strong'; consults: number } | null; decisions?: boolean };
    knows: { instructions: string; skills?: string[]; knowledge?: Array<{ kind: 'file' | 'media' | 'wiki' | 'search' | 'repository' | 'url'; ref: string; note?: string }>; examples?: Array<{ ask: string; good: string }> };
    hands?: { tools?: Array<{ tool: string; mode: 'allow' | 'ask'; note?: string }>; search?: boolean };
    places?: { order?: PlaceKind[]; needs?: string[] };
    memory?: { scope: MemoryScope; remember?: string; keep_days?: number | null };
    rules?: { level?: Level; budget?: { run_usd?: number; day_usd?: number; run_seconds?: number; run_steps?: number }; who?: { may: Who } };
    when?: Array<{ kind: WhenKind; rule?: string; where?: { service: string; kind?: string; id?: string }; event?: string; cron?: string; tz?: string }>;
    makes?: { answer?: string[]; schema?: object | null; serve?: { a2a?: boolean; mcp?: boolean; input?: object | null } };
    team?: { play: string; roles: Record<string, string> } | null;
    created_at?: string;
    updated_at?: string;
    published_at?: string | null;
}

interface Install

export interface Install { agent: string; owner: { type: 'user'; id: string }; blueprint: string; inputs?: Record<string, string | number | boolean>; agreed: string[]; places?: { own?: string[]; shared?: string[] }; updates: 'ask' | 'same-or-less'; pending?: string | null; installed_at?: string; updated_at?: string; }

interface Problem

export interface Problem { at: string; why: string; }

interface Ask

export interface Ask { key: string; part: string; words: string; ask: boolean; }

export export class BlueprintError extends Error { errors: Problem[

export class BlueprintError extends Error { errors: Problem[]; }

export export function validate(doc: unknown): { ok: boolean; error

export function validate(doc: unknown): { ok: boolean; errors: Problem[] };

export export function withDefaults(doc: Blueprint): Required<Bluep

export function withDefaults(doc: Blueprint): Required<Blueprint>;

export export function asks(doc: Blueprint, options?: { describe?:

export function asks(doc: Blueprint, options?: { describe?: (tool: string) => string | null | undefined }): Ask[];

export export function wider(oldDoc: Blueprint, newDoc: Blueprint):

export function wider(oldDoc: Blueprint, newDoc: Blueprint): Array<{ key: string; words: string }>;

export export function unagreed(doc: Blueprint, agreed: string[]):

export function unagreed(doc: Blueprint, agreed: string[]): Ask[];

export export function fill(doc: Blueprint, inputs?: Record<string,

export function fill(doc: Blueprint, inputs?: Record<string, unknown>): Blueprint;

interface Compiled

export interface Compiled {
    start: { text: string; title: string; agent?: string; blueprint?: string; play?: string; budget?: { usd?: number; seconds?: number; steps?: number }; depth?: string; context?: object };
    loop: { system: string; tools: Array<{ name: string; mode: 'allow' | 'ask' }>; search: boolean; budget: { usd?: number; seconds?: number; steps?: number }; schema: object | null };
    dispatch: { pin: string | null; rungs: Rung[]; maxPrice: number | null; need: { caps: string[]; tier?: Tier }; advisor: { size?: string; consults: number } | null; decisions: boolean };
    place: { order: PlaceKind[]; needs: string[]; machines: { own?: string[]; shared?: string[] } };
    memory: { scope: MemoryScope; remember: string | null; keep_days: number | null };
    team: { play: string; roles: Record<string, string> } | null;
}

export export function compile(doc: Blueprint, options?: { install?

export function compile(doc: Blueprint, options?: { install?: Install | null; inputs?: Record<string, unknown>; text?: string; context?: object; tryIt?: boolean }): Compiled;

export export function estimate(doc: Blueprint, choices: Choice[],

export function estimate(doc: Blueprint, choices: Choice[], options?: { turns?: number; tokens?: { tokensIn?: number; tokensOut?: number } }): { usd_per_run: number | null; choice: (Choice & { why: string }) | null; free_on: Rung[]; why: string };

export export function ref(doc: { id: string; version: number }): s

export function ref(doc: { id: string; version: number }): string;

export export function parseRef(s: string): { id: string; version:

export function parseRef(s: string): { id: string; version: number } | null;

export export function toolWords(tool: string): string;

export function toolWords(tool: string): string;

export export const FLOOR: string[];

export const FLOOR: string[];

export export const LEVELS: Level[];

export const LEVELS: Level[];

export export const PLACES: PlaceKind[];

export const PLACES: PlaceKind[];

export export const MEMORY: MemoryScope[];

export const MEMORY: MemoryScope[];

export export const WHO: Who[];

export const WHO: Who[];

export export const WHEN: WhenKind[];

export const WHEN: WhenKind[];

export export const INPUT_TYPES: InputType[];

export const INPUT_TYPES: InputType[];

export export const TOOL: RegExp;

export const TOOL: RegExp;

export export const BP_REF: RegExp;

export const BP_REF: RegExp;