doc/planning/2025-10-21_puter-fs-extension.md
PuterFSProvider is not trivial to move to an extension because of
relative imports (require()s) which represent dependencies on parts
of Puter's core which may not be available to extensions, or should
move with PuterFSProvider into an extension.
Dependencies of PuterFS provider will be placed into the following categories:
External dependencies (such as uuid) and dependencies treated like
external dependencies (such as putility) are not included here
because they're just updates to a package.json file.
DB_WRITE, DB_READTYPE_FILE, etc)update_child_paths 1storage object from Context 2See notes below for details
Filesystem selectors can be implied from strings instead of having to instantiate classes and compose them.
Path: "/just/a/string"
UUID: /^[^\/\.]/
Child: SOME-UUID/followed/by/a/path
FilesystemService belong's in Puter Core, but
the update_child_paths method is an
implementation detail of PuterFS ↩
LocalDiskStorageService registers this value
in the context using the context-init service.
PuterFS as an extension should emit an event where
other extensions can register a PuterFS storage
strategy. ↩