@sweetoburrito/backstage-plugin-ai-assistant-backend-module-ingestor-azure-devops 0.5.0 → 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,32 +1,32 @@
1
1
  'use strict';
2
2
 
3
3
  const DEFAULT_PATH_EXCLUSIONS = [
4
- "node_modules/**",
5
- ".git/**",
6
- ".github/workflows/**",
7
- "dist/**",
8
- "build/**",
9
- "target/**",
10
- "vendor/**",
11
- ".next/**",
12
- ".nuxt/**",
13
- "coverage/**",
14
- ".nyc_output/**",
15
- "out/**",
16
- "bin/**",
17
- "obj/**",
18
- ".vscode/**",
19
- ".idea/**",
20
- "*.min.js",
21
- "*.min.css",
22
- ".env",
23
- ".env.*",
24
- "*.log",
25
- "tmp/**",
26
- "temp/**",
27
- ".cache/**",
28
- "bower_components/**",
29
- "jspm_packages/**"
4
+ "**/node_modules/**",
5
+ "**/.git/**",
6
+ "**/.github/workflows/**",
7
+ "**/dist/**",
8
+ "**/build/**",
9
+ "**/target/**",
10
+ "**/vendor/**",
11
+ "**/.next/**",
12
+ "**/.nuxt/**",
13
+ "**/coverage/**",
14
+ "**/.nyc_output/**",
15
+ "**/out/**",
16
+ "**/bin/**",
17
+ "**/obj/**",
18
+ "**/.vscode/**",
19
+ "**/.idea/**",
20
+ "**/*.min.js",
21
+ "**/*.min.css",
22
+ "**/.env",
23
+ "**/.env.*",
24
+ "**/*.log",
25
+ "**/tmp/**",
26
+ "**/temp/**",
27
+ "**/.cache/**",
28
+ "**/bower_components/**",
29
+ "**/jspm_packages/**"
30
30
  ];
31
31
 
32
32
  exports.DEFAULT_PATH_EXCLUSIONS = DEFAULT_PATH_EXCLUSIONS;
@@ -1 +1 @@
1
- {"version":3,"file":"default-path-exclusions.cjs.js","sources":["../../src/constants/default-path-exclusions.ts"],"sourcesContent":["/**\n * Default path exclusion patterns for common build artifacts and dependencies\n * used by the Azure DevOps ingestor when no custom exclusions are specified\n */\nexport const DEFAULT_PATH_EXCLUSIONS = [\n 'node_modules/**',\n '.git/**',\n '.github/workflows/**',\n 'dist/**',\n 'build/**',\n 'target/**',\n 'vendor/**',\n '.next/**',\n '.nuxt/**',\n 'coverage/**',\n '.nyc_output/**',\n 'out/**',\n 'bin/**',\n 'obj/**',\n '.vscode/**',\n '.idea/**',\n '*.min.js',\n '*.min.css',\n '.env',\n '.env.*',\n '*.log',\n 'tmp/**',\n 'temp/**',\n '.cache/**',\n 'bower_components/**',\n 'jspm_packages/**',\n];\n"],"names":[],"mappings":";;AAIO,MAAM,uBAAA,GAA0B;AAAA,EACrC,iBAAA;AAAA,EACA,SAAA;AAAA,EACA,sBAAA;AAAA,EACA,SAAA;AAAA,EACA,UAAA;AAAA,EACA,WAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AAAA,EACA,aAAA;AAAA,EACA,gBAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,YAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AAAA,EACA,WAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,WAAA;AAAA,EACA,qBAAA;AAAA,EACA;AACF;;;;"}
1
+ {"version":3,"file":"default-path-exclusions.cjs.js","sources":["../../src/constants/default-path-exclusions.ts"],"sourcesContent":["/**\n * Default path exclusion patterns for common build artifacts and dependencies\n * used by the Azure DevOps ingestor when no custom exclusions are specified\n */\nexport const DEFAULT_PATH_EXCLUSIONS = [\n '**/node_modules/**',\n '**/.git/**',\n '**/.github/workflows/**',\n '**/dist/**',\n '**/build/**',\n '**/target/**',\n '**/vendor/**',\n '**/.next/**',\n '**/.nuxt/**',\n '**/coverage/**',\n '**/.nyc_output/**',\n '**/out/**',\n '**/bin/**',\n '**/obj/**',\n '**/.vscode/**',\n '**/.idea/**',\n '**/*.min.js',\n '**/*.min.css',\n '**/.env',\n '**/.env.*',\n '**/*.log',\n '**/tmp/**',\n '**/temp/**',\n '**/.cache/**',\n '**/bower_components/**',\n '**/jspm_packages/**',\n];\n"],"names":[],"mappings":";;AAIO,MAAM,uBAAA,GAA0B;AAAA,EACrC,oBAAA;AAAA,EACA,YAAA;AAAA,EACA,yBAAA;AAAA,EACA,YAAA;AAAA,EACA,aAAA;AAAA,EACA,cAAA;AAAA,EACA,cAAA;AAAA,EACA,aAAA;AAAA,EACA,aAAA;AAAA,EACA,gBAAA;AAAA,EACA,mBAAA;AAAA,EACA,WAAA;AAAA,EACA,WAAA;AAAA,EACA,WAAA;AAAA,EACA,eAAA;AAAA,EACA,aAAA;AAAA,EACA,aAAA;AAAA,EACA,cAAA;AAAA,EACA,SAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA;AAAA,EACA,WAAA;AAAA,EACA,YAAA;AAAA,EACA,cAAA;AAAA,EACA,wBAAA;AAAA,EACA;AACF;;;;"}
@@ -42,6 +42,10 @@ const createAzureDevOpsService = async ({
42
42
  void 0,
43
43
  GitInterfaces.VersionControlRecursionType.Full
44
44
  );
45
+ if (!items || items.length === 0) {
46
+ logger.info(`No items found in Azure DevOps repository ${repoId}`);
47
+ return [];
48
+ }
45
49
  logger.info(
46
50
  `Found ${items.length} items in Azure DevOps repository ${repoId}`
47
51
  );
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../../src/services/azure-devops/index.ts"],"sourcesContent":["import {\n LoggerService,\n RootConfigService,\n} from '@backstage/backend-plugin-api';\nimport { streamToString } from '@sweetoburrito/backstage-plugin-ai-assistant-node';\nimport { getPersonalAccessTokenHandler, WebApi } from 'azure-devops-node-api';\nimport { VersionControlRecursionType } from 'azure-devops-node-api/interfaces/GitInterfaces';\nimport { WikiPage } from 'azure-devops-node-api/interfaces/WikiInterfaces';\nimport { flattenWikiPages } from '../../utils/flatten-wiki-pages';\n\nexport type AzureDevOpsService = Awaited<\n ReturnType<typeof createAzureDevOpsService>\n>;\n\nexport const createAzureDevOpsService = async ({\n config,\n logger,\n}: {\n config: RootConfigService;\n logger: LoggerService;\n}) => {\n // Get configuration values\n const organization = config.getString(\n 'aiAssistant.ingestors.azureDevOps.organization',\n );\n const project = config.getString('aiAssistant.ingestors.azureDevOps.project');\n const token = config.getString('aiAssistant.ingestors.azureDevOps.token');\n\n // Construct organization URL\n const orgUrl = `https://dev.azure.com/${organization}`;\n\n logger.info(\n `Connecting to Azure DevOps organization: ${organization}, project: ${project}`,\n );\n\n if (!organization || !project || !token) {\n throw new Error(\n 'Azure DevOps organization, project, and token are required',\n );\n }\n\n // Create authentication handler and connection\n const authHandler = getPersonalAccessTokenHandler(token);\n\n const connection = new WebApi(orgUrl, authHandler);\n\n logger.info(\n `Connected to Azure DevOps organization: ${organization}, project: ${project}`,\n );\n\n // Get Git API for repository operations\n const gitApi = await connection.getGitApi();\n\n // Get Wiki API for wiki operations\n const wikiApi = await connection.getWikiApi();\n\n /**\n * Get a list of repositories in the specified Azure DevOps project\n * @returns List of repositories in the specified Azure DevOps project\n */\n const getRepos = async () => {\n const repos = await gitApi.getRepositories(project);\n\n logger.info(`Found ${repos.length} repositories in project ${project}`);\n\n return repos;\n };\n\n /**\n * Get a list of items in the specified Azure DevOps repository\n * @param repoId The ID of the repository\n * @param fileTypes Optional list of file types to filter by\n * @returns List of items in the specified Azure DevOps repository\n */\n const getRepoItems = async (repoId: string, fileTypes?: string[]) => {\n const items = await gitApi.getItems(\n repoId,\n project,\n undefined,\n VersionControlRecursionType.Full,\n );\n\n logger.info(\n `Found ${items.length} items in Azure DevOps repository ${repoId}`,\n );\n\n if (fileTypes && fileTypes.length > 0) {\n const filteredItems = items.filter(\n item =>\n !item.isFolder && fileTypes.some(type => item.path?.endsWith(type)),\n );\n logger.info(\n `Filtered to ${filteredItems.length} items with types: ${fileTypes.join(\n ', ',\n )}`,\n );\n return filteredItems;\n }\n\n return items;\n };\n\n /**\n * Get the content of a specific item in an Azure DevOps repository\n * @param repoId The ID of the repository\n * @param path The path of the item\n * @returns The content of the item\n */\n const getRepoItemContent = async (repoId: string, path: string) => {\n const itemContent = await gitApi.getItemContent(\n repoId,\n path,\n project,\n undefined,\n VersionControlRecursionType.None,\n );\n\n return itemContent;\n };\n\n /* Gets all wikis in the specified Azure DevOps project */\n const getWikis = async () => {\n const wikis = await wikiApi.getAllWikis(project);\n logger.info(`Found ${wikis.length} wikis in project ${project}`);\n return wikis;\n };\n\n /**\n * Retrieves all pages and subpages in a specific Azure DevOps wiki and flattens them into a single list\n * @param wikiName The name of the wiki to get pages from\n * @returns A list of all pages in the specified wiki\n */\n const getWikiPages = async (wikiName: string) => {\n const pagesStream = await wikiApi.getPageText(\n project,\n wikiName,\n undefined,\n VersionControlRecursionType.Full,\n );\n\n const rootPage = JSON.parse(await streamToString(pagesStream)) as WikiPage;\n\n // Flatten all pages including subpages into a single array\n const allPages = flattenWikiPages(rootPage);\n\n logger.info(\n `Found ${allPages.length} pages in Azure DevOps wiki: ${wikiName}`,\n );\n\n return allPages;\n };\n\n /**\n * Get the content of a specific page in an Azure DevOps wiki\n * @param wikiName The name of the wiki\n * @param pageId The ID of the page\n * @returns The content of the specified wiki page\n */\n const getWikiPageContent = async (wikiName: string, pageId: number) => {\n const pageStream = await wikiApi.getPageByIdText(\n project,\n wikiName,\n pageId,\n VersionControlRecursionType.None,\n true,\n );\n\n return pageStream;\n };\n\n return {\n organization,\n project,\n getRepos,\n getRepoItems,\n getRepoItemContent,\n getWikis,\n getWikiPages,\n getWikiPageContent,\n };\n};\n"],"names":["getPersonalAccessTokenHandler","WebApi","VersionControlRecursionType","streamToString","flattenWikiPages"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../../../src/services/azure-devops/index.ts"],"sourcesContent":["import {\n LoggerService,\n RootConfigService,\n} from '@backstage/backend-plugin-api';\nimport { streamToString } from '@sweetoburrito/backstage-plugin-ai-assistant-node';\nimport { getPersonalAccessTokenHandler, WebApi } from 'azure-devops-node-api';\nimport { VersionControlRecursionType } from 'azure-devops-node-api/interfaces/GitInterfaces';\nimport { WikiPage } from 'azure-devops-node-api/interfaces/WikiInterfaces';\nimport { flattenWikiPages } from '../../utils/flatten-wiki-pages';\n\nexport type AzureDevOpsService = Awaited<\n ReturnType<typeof createAzureDevOpsService>\n>;\n\nexport const createAzureDevOpsService = async ({\n config,\n logger,\n}: {\n config: RootConfigService;\n logger: LoggerService;\n}) => {\n // Get configuration values\n const organization = config.getString(\n 'aiAssistant.ingestors.azureDevOps.organization',\n );\n const project = config.getString('aiAssistant.ingestors.azureDevOps.project');\n const token = config.getString('aiAssistant.ingestors.azureDevOps.token');\n\n // Construct organization URL\n const orgUrl = `https://dev.azure.com/${organization}`;\n\n logger.info(\n `Connecting to Azure DevOps organization: ${organization}, project: ${project}`,\n );\n\n if (!organization || !project || !token) {\n throw new Error(\n 'Azure DevOps organization, project, and token are required',\n );\n }\n\n // Create authentication handler and connection\n const authHandler = getPersonalAccessTokenHandler(token);\n\n const connection = new WebApi(orgUrl, authHandler);\n\n logger.info(\n `Connected to Azure DevOps organization: ${organization}, project: ${project}`,\n );\n\n // Get Git API for repository operations\n const gitApi = await connection.getGitApi();\n\n // Get Wiki API for wiki operations\n const wikiApi = await connection.getWikiApi();\n\n /**\n * Get a list of repositories in the specified Azure DevOps project\n * @returns List of repositories in the specified Azure DevOps project\n */\n const getRepos = async () => {\n const repos = await gitApi.getRepositories(project);\n\n logger.info(`Found ${repos.length} repositories in project ${project}`);\n\n return repos;\n };\n\n /**\n * Get a list of items in the specified Azure DevOps repository\n * @param repoId The ID of the repository\n * @param fileTypes Optional list of file types to filter by\n * @returns List of items in the specified Azure DevOps repository\n */\n const getRepoItems = async (repoId: string, fileTypes?: string[]) => {\n const items = await gitApi.getItems(\n repoId,\n project,\n undefined,\n VersionControlRecursionType.Full,\n );\n\n // Handle case where repository is empty or returns null\n if (!items || items.length === 0) {\n logger.info(`No items found in Azure DevOps repository ${repoId}`);\n return [];\n }\n\n logger.info(\n `Found ${items.length} items in Azure DevOps repository ${repoId}`,\n );\n\n if (fileTypes && fileTypes.length > 0) {\n const filteredItems = items.filter(\n item =>\n !item.isFolder && fileTypes.some(type => item.path?.endsWith(type)),\n );\n logger.info(\n `Filtered to ${filteredItems.length} items with types: ${fileTypes.join(\n ', ',\n )}`,\n );\n return filteredItems;\n }\n\n return items;\n };\n\n /**\n * Get the content of a specific item in an Azure DevOps repository\n * @param repoId The ID of the repository\n * @param path The path of the item\n * @returns The content of the item\n */\n const getRepoItemContent = async (repoId: string, path: string) => {\n const itemContent = await gitApi.getItemContent(\n repoId,\n path,\n project,\n undefined,\n VersionControlRecursionType.None,\n );\n\n return itemContent;\n };\n\n /* Gets all wikis in the specified Azure DevOps project */\n const getWikis = async () => {\n const wikis = await wikiApi.getAllWikis(project);\n logger.info(`Found ${wikis.length} wikis in project ${project}`);\n return wikis;\n };\n\n /**\n * Retrieves all pages and subpages in a specific Azure DevOps wiki and flattens them into a single list\n * @param wikiName The name of the wiki to get pages from\n * @returns A list of all pages in the specified wiki\n */\n const getWikiPages = async (wikiName: string) => {\n const pagesStream = await wikiApi.getPageText(\n project,\n wikiName,\n undefined,\n VersionControlRecursionType.Full,\n );\n\n const rootPage = JSON.parse(await streamToString(pagesStream)) as WikiPage;\n\n // Flatten all pages including subpages into a single array\n const allPages = flattenWikiPages(rootPage);\n\n logger.info(\n `Found ${allPages.length} pages in Azure DevOps wiki: ${wikiName}`,\n );\n\n return allPages;\n };\n\n /**\n * Get the content of a specific page in an Azure DevOps wiki\n * @param wikiName The name of the wiki\n * @param pageId The ID of the page\n * @returns The content of the specified wiki page\n */\n const getWikiPageContent = async (wikiName: string, pageId: number) => {\n const pageStream = await wikiApi.getPageByIdText(\n project,\n wikiName,\n pageId,\n VersionControlRecursionType.None,\n true,\n );\n\n return pageStream;\n };\n\n return {\n organization,\n project,\n getRepos,\n getRepoItems,\n getRepoItemContent,\n getWikis,\n getWikiPages,\n getWikiPageContent,\n };\n};\n"],"names":["getPersonalAccessTokenHandler","WebApi","VersionControlRecursionType","streamToString","flattenWikiPages"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sweetoburrito/backstage-plugin-ai-assistant-backend-module-ingestor-azure-devops",
3
- "version": "0.5.0",
3
+ "version": "0.5.2",
4
4
  "license": "Apache-2.0",
5
5
  "description": "The ingestor-azure-devops backend module for the ai-assistant plugin.",
6
6
  "main": "dist/index.cjs.js",
@@ -29,8 +29,8 @@
29
29
  },
30
30
  "dependencies": {
31
31
  "@backstage/backend-plugin-api": "^1.4.1",
32
- "@sweetoburrito/backstage-plugin-ai-assistant-common": "^0.6.0",
33
- "@sweetoburrito/backstage-plugin-ai-assistant-node": "^0.6.0",
32
+ "@sweetoburrito/backstage-plugin-ai-assistant-common": "^0.7.0",
33
+ "@sweetoburrito/backstage-plugin-ai-assistant-node": "^0.8.0",
34
34
  "azure-devops-node-api": "^15.1.1"
35
35
  },
36
36
  "devDependencies": {