Generate typed QX bindings and add source editing tools

This commit is contained in:
Timothy J. Aveni
2026-09-08 14:27:24 -07:00
parent ce793cc54f
commit 4e17693d82
30 changed files with 2806 additions and 1939 deletions
+2
View File
@@ -22,6 +22,7 @@ const checkoutName = (kind: string, repository: string, commit: string) => {
export const createGitCapabilityResolver = async (options: {
checkoutRoot: string;
snapshotMap?: string;
snapshotOnly?: boolean;
}): Promise<CapabilityRepositoryResolver> => {
await mkdir(options.checkoutRoot, { recursive: true });
const checkoutRoot = await realpath(options.checkoutRoot);
@@ -52,6 +53,7 @@ export const createGitCapabilityResolver = async (options: {
const key = sourceKey(kind, source.repository, source.commit);
const snapshot = snapshots.get(key);
if (snapshot) return { directory: snapshot };
if (options.snapshotOnly) throw new Error(`No offline snapshot for ${kind} ${source.repository}@${source.commit}`);
const existing = checkouts.get(key);
if (existing) return await existing;
const pending = (async () => {