Skip to main content

Abstract Class: Repository

Defined in: packages/core/src/application/ports/repository.ts:32

Base class for all repository ports.

Encapsulates the three invariants shared by every repository implementation: workspace, ownership, and locality. Subclasses declare their storage operations as abstract methods.

Extended by

Constructors

Constructor

new Repository(config): Repository

Defined in: packages/core/src/application/ports/repository.ts:42

Creates a new Repository instance.

Parameters

config

RepositoryConfig

Workspace, ownership, and locality configuration for this repository

Returns

Repository

Methods

isExternal()

isExternal(): boolean

Defined in: packages/core/src/application/ports/repository.ts:71

Returns whether this repository points to data outside the current git repository.

Returns

boolean

true if this repository is external to the current git root


ownership()

ownership(): "owned" | "shared" | "readOnly"

Defined in: packages/core/src/application/ports/repository.ts:62

Returns the ownership level of this repository, as declared in specd.yaml.

Returns

"owned" | "shared" | "readOnly"

The ownership level


workspace()

workspace(): string

Defined in: packages/core/src/application/ports/repository.ts:53

Returns the workspace name this repository is bound to.

Returns

string

The workspace name (e.g. "billing", "default")