( left: ToolImplementationEntry, right: ToolImplementationEntry, )
| 300 | } |
| 301 | |
| 302 | function compareEntries( |
| 303 | left: ToolImplementationEntry, |
| 304 | right: ToolImplementationEntry, |
| 305 | ): number { |
| 306 | const leftSortName = left.policyNames[0] ?? left.name |
| 307 | const rightSortName = right.policyNames[0] ?? right.name |
| 308 | const leftTier = getToolPolicy(leftSortName)?.tier |
| 309 | const rightTier = getToolPolicy(rightSortName)?.tier |
| 310 | const leftOrder = leftTier ? TOOL_TIER_ORDER[leftTier] : Number.MAX_SAFE_INTEGER |
| 311 | const rightOrder = rightTier |
| 312 | ? TOOL_TIER_ORDER[rightTier] |
| 313 | : Number.MAX_SAFE_INTEGER |
| 314 | if (leftOrder !== rightOrder) return leftOrder - rightOrder |
| 315 | const byPolicy = leftSortName.localeCompare(rightSortName) |
| 316 | if (byPolicy !== 0) return byPolicy |
| 317 | return left.name.localeCompare(right.name) |
| 318 | } |
| 319 | |
| 320 | export function collectToolImplementationInventory(): ToolImplementationEntry[] { |
| 321 | if (cachedInventory) { |
nothing calls this directly
no test coverage detected