(params: {
agentAiDefaults: Record<string, unknown>;
preservedExec?: SubagentAiDefaultsEntry;
})
| 74 | } |
| 75 | |
| 76 | export function deriveLegacySubagentAiDefaultsFromAgentDefaults(params: { |
| 77 | agentAiDefaults: Record<string, unknown>; |
| 78 | preservedExec?: SubagentAiDefaultsEntry; |
| 79 | }): SubagentAiDefaults { |
| 80 | const legacySubagentDefaultsRaw: Record<string, unknown> = {}; |
| 81 | for (const [agentId, entry] of Object.entries(params.agentAiDefaults)) { |
| 82 | if (!shouldMirrorAgentDefaultToLegacySubagent(agentId)) continue; |
| 83 | legacySubagentDefaultsRaw[agentId] = entry; |
| 84 | } |
| 85 | |
| 86 | const legacySubagentDefaults = normalizeSubagentAiDefaults(legacySubagentDefaultsRaw); |
| 87 | if (params.preservedExec) { |
| 88 | legacySubagentDefaults.exec = params.preservedExec; |
| 89 | } |
| 90 | return legacySubagentDefaults; |
| 91 | } |
| 92 | |
| 93 | function clampInt(value: unknown, fallback: number, min: number, max: number): number { |
| 94 | if (typeof value !== "number" || !Number.isFinite(value)) { |
no test coverage detected