file

package
v0.1.0-dev.20260217190120 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 17, 2026 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Register

func Register(reg *execution.ActionRegistry)

Register registers all file actions with the given registry.

Types

type Backup

type Backup struct{ Impl *Provider }

Backup moves the existing file at "path" slot to a timestamped backup. Returns the backup path as Result.

func (*Backup) Do

func (*Backup) Name

func (o *Backup) Name() string

func (*Backup) Undo

func (o *Backup) Undo(_ *execution.Context, _ map[string]any, state execution.UndoState) error

type Copy

type Copy struct{ Impl *Provider }

Copy writes content to "path" slot (consumer: reads content from slot, checksums).

func (*Copy) Do

func (o *Copy) Do(ctx *execution.Context, slots map[string]any) (execution.Result, execution.UndoState, error)

func (*Copy) Name

func (o *Copy) Name() string

func (*Copy) Undo

func (o *Copy) Undo(_ *execution.Context, _ map[string]any, state execution.UndoState) error
type Link struct{ Impl *Provider }

Link creates a symlink from "path" slot pointing to "source" slot.

func (*Link) Do

func (o *Link) Do(ctx *execution.Context, slots map[string]any) (execution.Result, execution.UndoState, error)

func (*Link) Name

func (o *Link) Name() string

func (*Link) Undo

func (o *Link) Undo(_ *execution.Context, _ map[string]any, state execution.UndoState) error

type Mkdir

type Mkdir struct{ Impl *Provider }

Mkdir creates a directory at "path" slot.

func (*Mkdir) Do

func (*Mkdir) Name

func (o *Mkdir) Name() string

func (*Mkdir) Undo

func (o *Mkdir) Undo(_ *execution.Context, _ map[string]any, _ execution.UndoState) error

type Move

type Move struct{ Impl *Provider }

Move moves a file from "source" slot to "path" slot.

func (*Move) Do

func (o *Move) Do(ctx *execution.Context, slots map[string]any) (execution.Result, execution.UndoState, error)

func (*Move) Name

func (o *Move) Name() string

func (*Move) Undo

func (o *Move) Undo(_ *execution.Context, _ map[string]any, state execution.UndoState) error

type Provider

type Provider struct{}

Provider provides file system operations. Each method receives all inputs as parameters — no execution context, no node access.

Compensable Forward methods return (result, map[string]any, error). The map is the compensation receipt — opaque to the executor, meaningful only to the corresponding Compensate* Backward method.

func (*Provider) Backup

func (p *Provider) Backup(path, backupSuffix string) (string, map[string]any, error)

Backup moves the file at path to a timestamped backup location. Returns the backup path and compensation state.

func (*Provider) CompensateBackup

func (p *Provider) CompensateBackup(state map[string]any) error

CompensateBackup undoes a Backup by moving the backup back to the original path.

func (*Provider) CompensateCopy

func (p *Provider) CompensateCopy(state map[string]any) error

CompensateCopy undoes a Copy operation using the captured state.

func (p *Provider) CompensateLink(state map[string]any) error

CompensateLink undoes a Link operation using the captured state.

func (*Provider) CompensateMove

func (p *Provider) CompensateMove(state map[string]any) error

CompensateMove undoes a Move by moving the file back from path to source.

func (*Provider) CompensateRemove

func (p *Provider) CompensateRemove(state map[string]any) error

CompensateRemove undoes a Remove by re-creating the file with saved content and mode.

func (p *Provider) CompensateUnlink(state map[string]any) error

CompensateUnlink undoes an Unlink by re-creating the symlink.

func (*Provider) CompensateWrite

func (p *Provider) CompensateWrite(state map[string]any) error

CompensateWrite undoes a Write operation using the captured state.

func (*Provider) Copy

func (p *Provider) Copy(path string, mode os.FileMode, content []byte) (string, map[string]any, error)

Copy writes content to path with the given mode. Returns the SHA256 checksum of the written content and compensation state.

func (p *Provider) Link(source, path string) (map[string]any, error)

Link creates a symlink at path pointing to source. Idempotent: if the symlink already points correctly, it's a no-op (returns nil state).

func (*Provider) Mkdir

func (p *Provider) Mkdir(path string, mode os.FileMode) error

Mkdir creates a directory (and parents) with the given mode.

func (*Provider) Move

func (p *Provider) Move(gitMv func(src, dst string) error, source, path string) (map[string]any, error)

Move moves a file from source to path. Uses gitMv if provided (preserves git history), falling back to os.Rename. Returns compensation state with paths for reverse move.

func (*Provider) Remove

func (p *Provider) Remove(path string, prune bool, pruneBoundary string) (map[string]any, error)

Remove deletes the file at path. If prune is true and pruneBoundary is set, empty parent directories are removed up to the boundary. Returns compensation state with file content for re-creation.

func (*Provider) Source

func (p *Provider) Source(path string) ([]byte, error)

Source reads a file and returns its contents.

func (p *Provider) Unlink(path string, prune bool, pruneBoundary string) (map[string]any, error)

Unlink removes a symlink at path. If prune is true and pruneBoundary is set, empty parent directories are removed up to the boundary. Returns compensation state with the symlink target for re-creation.

func (*Provider) Write

func (p *Provider) Write(content, path string, mode os.FileMode) (map[string]any, error)

Write writes inline content to path with the given mode. Returns compensation state for undo.

type Remove

type Remove struct{ Impl *Provider }

Remove deletes the file at "path" slot.

func (*Remove) Do

func (*Remove) Name

func (o *Remove) Name() string

func (*Remove) Undo

func (o *Remove) Undo(_ *execution.Context, _ map[string]any, state execution.UndoState) error

type Source

type Source struct{ Impl *Provider }

Source reads a file and returns its content as Result for downstream nodes.

func (*Source) Do

func (*Source) Name

func (o *Source) Name() string

func (*Source) Undo

func (o *Source) Undo(_ *execution.Context, _ map[string]any, _ execution.UndoState) error
type Unlink struct{ Impl *Provider }

Unlink removes a symlink at "path" slot.

func (*Unlink) Do

func (*Unlink) Name

func (o *Unlink) Name() string

func (*Unlink) Undo

func (o *Unlink) Undo(_ *execution.Context, _ map[string]any, state execution.UndoState) error

type Write

type Write struct{ Impl *Provider }

Write writes content from "content" slot to "path" slot.

func (*Write) Do

func (*Write) Name

func (o *Write) Name() string

func (*Write) Undo

func (o *Write) Undo(_ *execution.Context, _ map[string]any, state execution.UndoState) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL