kex docs Tey

Tey.Workspace

module Tey.Workspace

discover

discover(start: String) -> Result<Context, String>

Discovers the outermost workspace containing start. Without a workspace, the nearest package is a one-member context. Paths are lexical and absolute; discovery never changes the process working directory.

select

select(context: Context, packageName: String, workspace?: Bool) -> Result<[Member], String>

Selects the members a workspace-aware command should operate on. An explicit package always wins; otherwise commands at a member stay local, while commands at the workspace root (or another non-member directory) use every member. --workspace broadens the implicit member selection.

dependencyLayers

dependencyLayers(members: [Member]) -> [[Member]]

Dependency-ready layers for workspace-wide commands. Cyclic leftovers form one final layer so callers can continue, while discovery reports the cycle.

memberName

memberName(member: Member) -> String

memberDependencies

memberDependencies(member: Member) -> [String]

record Member

Fields

memberRoot
String
memberManifest
ManifestPackage

record Context

Fields

workspaceRoot
String
members
[Member] optional
currentMember
Member? optional
warnings
[String] optional