Build workspace agent, capability graph, and versioned cutovers
This commit is contained in:
@@ -4,6 +4,19 @@ export type GitSource = {
|
||||
commit: string;
|
||||
};
|
||||
|
||||
export type QuixosSourcePolicy = "pinned" | "track-release" | "track-development";
|
||||
|
||||
// Resource repositories only need the exact Quixos commit they were authored
|
||||
// against. A workspace root additionally declares how a runtime may advance
|
||||
// that exact baseline.
|
||||
export type QuixosSource = GitSource & ({
|
||||
policy: QuixosSourcePolicy;
|
||||
ref: string;
|
||||
} | {
|
||||
policy?: undefined;
|
||||
ref?: undefined;
|
||||
});
|
||||
|
||||
export type LockedResourceKind = "interface" | "package";
|
||||
|
||||
export type LockedResource = {
|
||||
@@ -12,10 +25,30 @@ export type LockedResource = {
|
||||
source: GitSource;
|
||||
};
|
||||
|
||||
export type QuixosLockRootDocument = {
|
||||
kind: "root";
|
||||
formatVersion: 1;
|
||||
quixos: QuixosSource;
|
||||
imports: string[];
|
||||
resources: LockedResource[];
|
||||
};
|
||||
|
||||
export type QuixosLockFragmentDocument = {
|
||||
kind: "fragment";
|
||||
formatVersion: 1;
|
||||
imports: string[];
|
||||
resources: LockedResource[];
|
||||
};
|
||||
|
||||
export type QuixosLockDocument =
|
||||
| QuixosLockRootDocument
|
||||
| QuixosLockFragmentDocument;
|
||||
|
||||
export type QuixosRepositoryLock = {
|
||||
formatVersion: 1;
|
||||
quixos: GitSource;
|
||||
quixos: QuixosSource;
|
||||
resources: LockedResource[];
|
||||
sourceFiles?: string[];
|
||||
};
|
||||
|
||||
export type NixGitInput = {
|
||||
|
||||
Reference in New Issue
Block a user