fix(coding-agent): unify source provenance, closes #1734
This commit is contained in:
@@ -1,14 +1,17 @@
|
||||
import type { PathMetadata } from "./package-manager.js";
|
||||
|
||||
export type SourceScope = "user" | "project" | "temporary";
|
||||
export type SourceOrigin = "package" | "top-level";
|
||||
|
||||
export interface SourceInfo {
|
||||
path?: string;
|
||||
path: string;
|
||||
source: string;
|
||||
scope: "user" | "project" | "temporary";
|
||||
origin: "package" | "top-level";
|
||||
scope: SourceScope;
|
||||
origin: SourceOrigin;
|
||||
baseDir?: string;
|
||||
}
|
||||
|
||||
export function createSourceInfo(path: string | undefined, metadata: PathMetadata): SourceInfo {
|
||||
export function createSourceInfo(path: string, metadata: PathMetadata): SourceInfo {
|
||||
return {
|
||||
path,
|
||||
source: metadata.source,
|
||||
@@ -17,3 +20,21 @@ export function createSourceInfo(path: string | undefined, metadata: PathMetadat
|
||||
baseDir: metadata.baseDir,
|
||||
};
|
||||
}
|
||||
|
||||
export function createSyntheticSourceInfo(
|
||||
path: string,
|
||||
options: {
|
||||
source: string;
|
||||
scope?: SourceScope;
|
||||
origin?: SourceOrigin;
|
||||
baseDir?: string;
|
||||
},
|
||||
): SourceInfo {
|
||||
return {
|
||||
path,
|
||||
source: options.source,
|
||||
scope: options.scope ?? "temporary",
|
||||
origin: options.origin ?? "top-level",
|
||||
baseDir: options.baseDir,
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user