Class: Schema
Defined in: packages/core/src/domain/value-objects/schema.ts:17
A fully-parsed schema loaded from a schema.yaml file.
Schemas are resolved by SchemaRegistry using a three-level lookup: project-local → user override → npm package. Once resolved, the schema is immutable for the lifetime of the operation.
Use artifact(id) for O(1) lookup instead of iterating artifacts().
Constructors
Constructor
new Schema(
kind,name,version,artifacts,workflow,metadataExtraction?,extendsRef?):Schema
Defined in: packages/core/src/domain/value-objects/schema.ts:39
Creates a fully-resolved schema instance.
Parameters
kind
The schema kind (schema or schema-plugin)
name
string
The resolved schema name (e.g. "@specd/schema-std", "my-team-schema")
version
number
The schema version integer, monotonically increasing
artifacts
readonly ArtifactType[]
Artifact type definitions in schema-declared order
workflow
readonly WorkflowStep[]
Workflow step configurations in schema-declared order
metadataExtraction?
Optional metadata extraction declarations
extendsRef?
string
Optional parent schema reference
Returns
Schema
Methods
artifact()
artifact(
id):ArtifactType|null
Defined in: packages/core/src/domain/value-objects/schema.ts:92
Returns the artifact type with the given id, or null if not found.
Parameters
id
string
The artifact type ID (e.g. "specs", "tasks")
Returns
ArtifactType | null
The matching artifact type, or null
artifacts()
artifacts(): readonly
ArtifactType[]
Defined in: packages/core/src/domain/value-objects/schema.ts:82
All artifact type definitions in schema-declared order.
Returns
readonly ArtifactType[]
All artifact types in declaration order
extendsRef()
extendsRef():
string|undefined
Defined in: packages/core/src/domain/value-objects/schema.ts:140
The parent schema reference from extends, or undefined if this schema
does not extend another.
Returns
string | undefined
The parent schema reference, or undefined
kind()
kind():
SchemaKind
Defined in: packages/core/src/domain/value-objects/schema.ts:130
The schema kind discriminator (schema or schema-plugin).
Returns
The schema kind
metadataExtraction()
metadataExtraction():
MetadataExtraction|undefined
Defined in: packages/core/src/domain/value-objects/schema.ts:102
The metadata extraction declarations, or undefined if the schema does
not declare metadataExtraction.
Returns
MetadataExtraction | undefined
The metadata extraction configuration, or undefined
name()
name():
string
Defined in: packages/core/src/domain/value-objects/schema.ts:64
The resolved schema name (e.g. "@specd/schema-std", "my-team-schema").
Returns
string
The schema name
version()
version():
number
Defined in: packages/core/src/domain/value-objects/schema.ts:73
The schema version integer from schema.yaml. Monotonically increasing.
Returns
number
The schema version
workflow()
workflow(): readonly
WorkflowStep[]
Defined in: packages/core/src/domain/value-objects/schema.ts:111
All workflow step configurations in schema-declared order.
Returns
readonly WorkflowStep[]
All workflow steps in declaration order
workflowStep()
workflowStep(
step):WorkflowStep|null
Defined in: packages/core/src/domain/value-objects/schema.ts:121
Returns the workflow step for the given step name, or null if not found.
Parameters
step
string
The step name (e.g. "implementing", "archiving")
Returns
WorkflowStep | null
The matching workflow step, or null