Skip to content

API

Language / 语言: English | 简体中文

本页说明 @ioai/lerobot-studio 的公开 API。这个包提供查看器、归档辅助函数及其类型;不包含独立应用中的导出引擎。

文末自动生成的报告是完整 API 参考。修改源码后运行 npm run api:report,不要直接编辑生成的报告。


示例

tsx
import { LeRobotViewer } from '@ioai/lerobot-studio';
import '@ioai/lerobot-studio/style.css';

<LeRobotViewer dataSource="https://example.com/dataset.zip" theme="system" />;

dataSource 可以是远程归档 URL,也可以是自定义 DataSource

  • createArchiveDataSourceFromFile — 本地 ZIP / TAR / TAR.GZ
  • createArchiveDataSourceFromUrl — 要复用的远程归档

数据集支持时,查看器可以在当前会话中修改 Episode。onExport 只是宿主 UI 的回调,不会自行导出数据。


自定义数据源

如果应用需要按路径读取字节或文本,请实现 DataSource。路径和内容都应视为不可信输入,并在 clear() 中释放 object URL。

加载阶段包括 downloadindexgunzipread。致命错误包括无效数据源、远程 URL 不可用、不支持的归档和数据集加载失败。


生成的 API 报告

API Report File for "@ioai/lerobot-studio"

Do not edit this file. It is a report generated by API Extractor.

ts

import { default as React_2 } from 'react';

// @public
export function createArchiveDataSourceFromFile(file: File): DataSource;

// @public
export function createArchiveDataSourceFromUrl(url: string): DataSource;

// @public
export interface DataSource {
    clear(): void | Promise<void>;
    exists(path: string): Promise<boolean>;
    getObjectUrl(path: string, mimeType?: string, onProgress?: ProgressHandler): Promise<string>;
    invalidateObjectUrl?(path: string): void | Promise<void>;
    listPaths?(): Promise<string[]>;
    readBytes(path: string, onProgress?: ProgressHandler): Promise<Uint8Array>;
    readText(path: string, onProgress?: ProgressHandler): Promise<string>;
}

// @public (undocumented)
export const LeRobotViewer: React_2.FC<LeRobotViewerProps>;

// @public
export interface LeRobotViewerError {
    cause?: unknown;
    code: LeRobotViewerErrorCode;
    message: string;
    recoverable: boolean;
}

// @public
export type LeRobotViewerErrorCode = 'INVALID_DATA_SOURCE' | 'REMOTE_SOURCE_UNAVAILABLE' | 'UNSUPPORTED_ARCHIVE' | 'DATASET_LOAD_FAILED';

// @public
export interface LeRobotViewerProps {
    className?: string;
    dataSource: string | DataSource;
    enableKeyboardShortcuts?: boolean;
    language?: string;
    onBack?: () => void;
    onExport?: () => void;
    onFatalError?: (error: LeRobotViewerError) => void;
    showPlaybackBar?: boolean;
    showSidebar?: boolean;
    theme?: 'light' | 'dark' | 'system';
}

// @public
export type LoadingPhase = 'download' | 'index' | 'gunzip' | 'read';

// @public
export type ProgressHandler = (info: ProgressInfo) => void;

// @public
export interface ProgressInfo {
    loaded?: number;
    message?: string;
    phase: LoadingPhase;
    total?: number;
}

基于 MIT 许可证发布。