message: integration: fix AzureIntegration resolveUrl path handling
diff: * limitations under the License.
  */
  -import parseGitUrl from 'git-url-parse';
  import { basicIntegrations, isValidUrl } from '../helpers';
  import { ScmIntegration, ScmIntegrationsFactory } from '../types';
  +import { AzureUrl } from './AzureUrl';
  import { AzureIntegrationConfig, readAzureIntegrationConfigs } from './config';
  export class AzureIntegration implements ScmIntegration {
  @@ -61,19 +61,13 @@ export class AzureIntegration implements ScmIntegration {
  return url;
  }
  - const parsed = parseGitUrl(base);
  - const { organization, owner, name, filepath } = parsed;
  -
  - // If not an actual file path within a repo, treat the URL as raw
  - if (!organization || !owner || !name) {
  - return new URL(url, base).toString();
  - }
  + try {
  + const azureUrl = AzureUrl.fromRepoUrl(base);
  + const newUrl = new URL(base);
  - const path = filepath?.replace(/^\//, '') || '';
  - const mockBaseUrl = new URL(`https://a.com/${path}`);
  + // We lean on the URL path resolution logic to resolve the path param
  + const mockBaseUrl = new URL(`https://a.com${azureUrl.getPath() ?? ''}`);
  const updatedPath = new URL(url, mockBaseUrl).pathname;
  -
  - const newUrl = new URL(base);
  newUrl.searchParams.set('path', updatedPath);
  if (options.lineNumber) {
  @@ -84,6 +78,10 @@ export class AzureIntegration implements ScmIntegration {
  }
  return newUrl.toString();
  + } catch {
  + // If not an actual file path within a repo, treat the URL as raw
  + return new URL(url, base).toString();
  + }
  }
  resolveEditUrl(url: string): string {
  