JS SDK: a streaming export of a Branch's tree at a Commit, with metadata

Abierto
#483 1 comentario 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
30/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
rust, typescript
Área
api

Línea de trabajo

The issue names no specific files. Start from how the JS SDK currently reads a Branch's tree at a Commit, and from the LayerFS internal storage crates the issue says callers reach into today. Done means a fs.export(ref, path?, { format }) call that streams either a tar archive or structured entries carrying type, mode, mtime, symlink target, hard-link group and xattrs. Agree the entry shape with maintainers before writing code.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

integration new feature

DISCLOSURE: This submission was generated by AI under the approval of the human who owns the github account. If it is unwelcome due to the use of AI or there is any feedback, please comment. Any human comment will receive a human response where applicable. This submission is intended to enhance the project, not frustrate maintainers. Thank you for making your project available open source!

Summary

The SDK has no call that streams a Branch's tree at a Commit together with each entry's metadata. Today, a complete export that keeps metadata needs a mounted Workspace (and so a Sandbox), or code that reads LayerFS's internal storage crates directly.

Proposal

A streaming export in the SDK, for example:

fs.export(ref, path?, { format: "tar" | "entries" })

Each entry would carry its type, mode, modification time, symlink target, hard-link group and extended attributes. tar gives a standard archive; entries gives a stream of structured records for callers that process entries themselves.

What it enables

  • Exporting a tree straight from a Store, without starting a Sandbox or mounting a Workspace.
  • Backups, archives, CI artifacts and hand-off to other tools in a standard format.
  • Keeping SDK users off LayerFS's internal formats, so those formats stay free to change.

Notes

Observed on v1.1.0 (ad78914). Happy to help refine the shape of the call if it fits the project's direction.

Lenguaje dominante
Rust
Estrellas
2.1k
Forks
110
Merge medio
23 h 52 min
PR fusionados (30 d)
138

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de Ephemeral-AI-Lab/layerfs

Todos los issues de Ephemeral-AI-Lab/layerfs

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.