| 83 | } |
| 84 | |
| 85 | function isPromptOptions(value: unknown): value is PromptOptions { |
| 86 | if (typeof value !== "object" || value === null) return false; |
| 87 | const obj = value as Record<string, unknown>; |
| 88 | return ( |
| 89 | Array.isArray(obj["examples"]) || |
| 90 | Array.isArray(obj["additionalRules"]) || |
| 91 | Array.isArray(obj["toolExamples"]) || |
| 92 | typeof obj["preamble"] === "string" || |
| 93 | typeof obj["editMode"] === "boolean" || |
| 94 | typeof obj["inlineMode"] === "boolean" || |
| 95 | typeof obj["toolCalls"] === "boolean" || |
| 96 | typeof obj["bindings"] === "boolean" |
| 97 | ); |
| 98 | } |
| 99 | |
| 100 | function findPromptOptions( |
| 101 | mod: Record<string, unknown>, |