19 lines
662 B
TypeScript
19 lines
662 B
TypeScript
export type PromptToolPermission = boolean | "allow" | "deny" | "ask"
|
|
|
|
export function normalizePromptTools(
|
|
tools: Record<string, PromptToolPermission> | undefined,
|
|
): Record<string, boolean> | undefined {
|
|
if (!tools) return undefined
|
|
const normalized: Record<string, boolean> = {}
|
|
for (const [toolName, permission] of Object.entries(tools)) {
|
|
if (permission === false || permission === "deny") {
|
|
normalized[toolName] = false
|
|
continue
|
|
}
|
|
if (permission === true || permission === "allow" || permission === "ask") {
|
|
normalized[toolName] = true
|
|
}
|
|
}
|
|
return Object.keys(normalized).length > 0 ? normalized : undefined
|
|
}
|