repositories / pi-ext
pi-ext
bugabingas pi extensions
owned by admin
extensions/ultra/dynamic-types.ts
Rawimport type { ToolDefinition } from "@earendil-works/pi-coding-agent";
export interface ResolvedDynamicExtension {
name: string;
description: string;
revision: string;
selector: string;
/** Immutable catalog source used for repair and attestation diagnostics. */
canonicalPath: string;
/** Exact run-local snapshot directory loaded by the child. */
sourcePath: string;
loadPath: string;
overrides: string[];
}
export interface UsedDynamicExtension {
name: string;
description: string;
selector: string;
sourcePath: string;
debugLogPaths: string[];
}
export interface DynamicExtensionResolver {
resolve(
names: string[],
args: { phase: string; agentId: string; signal?: AbortSignal },
): Promise<ResolvedDynamicExtension[]>;
builder(
agentId: string,
signal?: AbortSignal,
): Promise<{
tools: ToolDefinition[];
prompt: string;
activeTools: string[];
}>;
loaded(
extensions: ResolvedDynamicExtension[],
sessionId: string,
): UsedDynamicExtension[];
complete(): Promise<void>;
}