()
| 121 | } |
| 122 | |
| 123 | export function getNativeBridgeConfigStatus() { |
| 124 | return { |
| 125 | mode: String(process.env.WINDSURFAPI_NATIVE_TOOL_BRIDGE || '').trim(), |
| 126 | off: process.env.WINDSURFAPI_NATIVE_TOOL_BRIDGE_OFF === '1', |
| 127 | tools: csvListEnv('WINDSURFAPI_NATIVE_TOOL_BRIDGE_TOOLS'), |
| 128 | models: csvListEnv('WINDSURFAPI_NATIVE_TOOL_BRIDGE_MODELS'), |
| 129 | providers: csvListEnv('WINDSURFAPI_NATIVE_TOOL_BRIDGE_PROVIDERS'), |
| 130 | routes: csvListEnv('WINDSURFAPI_NATIVE_TOOL_BRIDGE_ROUTES'), |
| 131 | callers: csvListEnv('WINDSURFAPI_NATIVE_TOOL_BRIDGE_CALLERS'), |
| 132 | allowlistNameOverrides: csvListEnv('WINDSURFAPI_NATIVE_TOOL_BRIDGE_ALLOWLIST_NAMES'), |
| 133 | hasApiKeyGate: csvListEnv('WINDSURFAPI_NATIVE_TOOL_BRIDGE_API_KEYS').length > 0, |
| 134 | hasAccountGate: csvListEnv('WINDSURFAPI_NATIVE_TOOL_BRIDGE_ACCOUNTS').length > 0, |
| 135 | hasRawConfig: !!String(process.env.WINDSURFAPI_NATIVE_TOOL_BRIDGE_CONFIG_RAW || '').trim(), |
| 136 | }; |
| 137 | } |
| 138 | |
| 139 | function patternMatches(pattern, value, caseInsensitive = false) { |
| 140 | if (!pattern || !value) return false; |
no test coverage detected