diff --git a/workspaces/ai-integrations/.changeset/short-insects-cut.md b/workspaces/ai-integrations/.changeset/short-insects-cut.md new file mode 100644 index 0000000000..fe75cbf116 --- /dev/null +++ b/workspaces/ai-integrations/.changeset/short-insects-cut.md @@ -0,0 +1,5 @@ +--- +'@red-hat-developer-hub/backstage-plugin-catalog-backend-module-catalog-backend-module-ai-resource-extensions': minor +--- + +Scaffold new AIResource catalog extension and add upstream module to workspace diff --git a/workspaces/ai-integrations/packages/backend/package.json b/workspaces/ai-integrations/packages/backend/package.json index 3d695ba2db..92838609c0 100644 --- a/workspaces/ai-integrations/packages/backend/package.json +++ b/workspaces/ai-integrations/packages/backend/package.json @@ -29,6 +29,7 @@ "@backstage/plugin-auth-backend-module-guest-provider": "^0.2.20", "@backstage/plugin-auth-node": "^0.7.2", "@backstage/plugin-catalog-backend": "^3.8.0", + "@backstage/plugin-catalog-backend-module-ai-model": "^0.1.1", "@backstage/plugin-catalog-backend-module-logs": "^0.1.23", "@backstage/plugin-catalog-backend-module-scaffolder-entity-model": "^0.2.21", "@backstage/plugin-kubernetes-backend": "^0.21.5", @@ -46,6 +47,7 @@ "@backstage/plugin-search-backend-node": "^1.4.5", "@backstage/plugin-techdocs-backend": "^2.2.1", "@red-hat-developer-hub/backstage-plugin-ai-experience-backend": "workspace:^", + "@red-hat-developer-hub/backstage-plugin-catalog-backend-module-catalog-backend-module-ai-resource-extensions": "workspace:^", "@red-hat-developer-hub/backstage-plugin-catalog-backend-module-model-catalog": "workspace:^", "@red-hat-developer-hub/backstage-plugin-catalog-techdoc-url-reader-backend": "workspace:^", "app": "link:../app", diff --git a/workspaces/ai-integrations/packages/backend/src/index.ts b/workspaces/ai-integrations/packages/backend/src/index.ts index d931eaa374..940dbf1616 100644 --- a/workspaces/ai-integrations/packages/backend/src/index.ts +++ b/workspaces/ai-integrations/packages/backend/src/index.ts @@ -76,4 +76,10 @@ backend.add( '@red-hat-developer-hub/backstage-plugin-catalog-techdoc-url-reader-backend' ), ); +backend.add(import('@backstage/plugin-catalog-backend-module-ai-model')); +backend.add( + import( + '@red-hat-developer-hub/backstage-plugin-catalog-backend-module-catalog-backend-module-ai-resource-extensions' + ), +); backend.start(); diff --git a/workspaces/ai-integrations/plugins/catalog-backend-module-catalog-backend-module-ai-resource-extensions/.eslintrc.js b/workspaces/ai-integrations/plugins/catalog-backend-module-catalog-backend-module-ai-resource-extensions/.eslintrc.js new file mode 100644 index 0000000000..9184408ae4 --- /dev/null +++ b/workspaces/ai-integrations/plugins/catalog-backend-module-catalog-backend-module-ai-resource-extensions/.eslintrc.js @@ -0,0 +1,16 @@ +/* + * Copyright Red Hat, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +module.exports = require('@backstage/cli/config/eslint-factory')(__dirname); diff --git a/workspaces/ai-integrations/plugins/catalog-backend-module-catalog-backend-module-ai-resource-extensions/README.md b/workspaces/ai-integrations/plugins/catalog-backend-module-catalog-backend-module-ai-resource-extensions/README.md new file mode 100644 index 0000000000..05047e1ca8 --- /dev/null +++ b/workspaces/ai-integrations/plugins/catalog-backend-module-catalog-backend-module-ai-resource-extensions/README.md @@ -0,0 +1,5 @@ +# @red-hat-developer-hub/backstage-plugin-catalog-backend-module-catalog-backend-module-ai-resource-extensions + +The catalog-backend-module-ai-resource-extensions backend module for the catalog plugin. + +_This plugin was created through the Backstage CLI_ diff --git a/workspaces/ai-integrations/plugins/catalog-backend-module-catalog-backend-module-ai-resource-extensions/package.json b/workspaces/ai-integrations/plugins/catalog-backend-module-catalog-backend-module-ai-resource-extensions/package.json new file mode 100644 index 0000000000..fdaca4266b --- /dev/null +++ b/workspaces/ai-integrations/plugins/catalog-backend-module-catalog-backend-module-ai-resource-extensions/package.json @@ -0,0 +1,38 @@ +{ + "name": "@red-hat-developer-hub/backstage-plugin-catalog-backend-module-catalog-backend-module-ai-resource-extensions", + "version": "0.1.0", + "license": "Apache-2.0", + "private": true, + "description": "The catalog-backend-module-ai-resource-extensions backend module for the catalog plugin.", + "main": "src/index.ts", + "types": "src/index.ts", + "publishConfig": { + "access": "public", + "main": "dist/index.cjs.js", + "types": "dist/index.d.ts" + }, + "backstage": { + "role": "backend-plugin-module", + "pluginId": "catalog", + "pluginPackage": "@backstage/plugin-catalog-backend" + }, + "scripts": { + "start": "backstage-cli package start", + "build": "backstage-cli package build", + "lint": "backstage-cli package lint", + "test": "backstage-cli package test", + "clean": "backstage-cli package clean", + "prepack": "backstage-cli package prepack", + "postpack": "backstage-cli package postpack" + }, + "dependencies": { + "@backstage/backend-plugin-api": "^1.9.2" + }, + "devDependencies": { + "@backstage/backend-test-utils": "^1.11.4", + "@backstage/cli": "^0.36.3" + }, + "files": [ + "dist" + ] +} diff --git a/workspaces/ai-integrations/plugins/catalog-backend-module-catalog-backend-module-ai-resource-extensions/report.api.md b/workspaces/ai-integrations/plugins/catalog-backend-module-catalog-backend-module-ai-resource-extensions/report.api.md new file mode 100644 index 0000000000..c27464c1ba --- /dev/null +++ b/workspaces/ai-integrations/plugins/catalog-backend-module-catalog-backend-module-ai-resource-extensions/report.api.md @@ -0,0 +1,13 @@ +## API Report File for "@red-hat-developer-hub/backstage-plugin-catalog-backend-module-catalog-backend-module-ai-resource-extensions" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts +import { BackendFeature } from '@backstage/backend-plugin-api'; + +// @public +const catalogModuleCatalogBackendModuleAiResourceExtensions: BackendFeature; +export default catalogModuleCatalogBackendModuleAiResourceExtensions; + +// (No @packageDocumentation comment for this package) +``` diff --git a/workspaces/ai-integrations/plugins/catalog-backend-module-catalog-backend-module-ai-resource-extensions/src/index.ts b/workspaces/ai-integrations/plugins/catalog-backend-module-catalog-backend-module-ai-resource-extensions/src/index.ts new file mode 100644 index 0000000000..c74bfc07d1 --- /dev/null +++ b/workspaces/ai-integrations/plugins/catalog-backend-module-catalog-backend-module-ai-resource-extensions/src/index.ts @@ -0,0 +1,22 @@ +/* + * Copyright Red Hat, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * catalogModuleCatalogBackendModuleAiResourceExtensions is the catalog-backend-module-ai-resource-extensions backend module for the catalog plugin. + * + * @public + */ +export { catalogModuleCatalogBackendModuleAiResourceExtensions as default } from './module'; diff --git a/workspaces/ai-integrations/plugins/catalog-backend-module-catalog-backend-module-ai-resource-extensions/src/module.ts b/workspaces/ai-integrations/plugins/catalog-backend-module-catalog-backend-module-ai-resource-extensions/src/module.ts new file mode 100644 index 0000000000..58a248af67 --- /dev/null +++ b/workspaces/ai-integrations/plugins/catalog-backend-module-catalog-backend-module-ai-resource-extensions/src/module.ts @@ -0,0 +1,38 @@ +/* + * Copyright Red Hat, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { + coreServices, + createBackendModule, +} from '@backstage/backend-plugin-api'; + +/** + * catalogModuleCatalogBackendModuleAiResourceExtensions is the catalog-backend-module-ai-resource-extensions backend module for the catalog plugin. + * + * @public + */ +export const catalogModuleCatalogBackendModuleAiResourceExtensions = + createBackendModule({ + pluginId: 'catalog', + moduleId: 'catalog-backend-module-ai-resource-extensions', + register(reg) { + reg.registerInit({ + deps: { logger: coreServices.logger }, + async init({ logger }) { + logger.info('Hello World!'); + }, + }); + }, + }); diff --git a/workspaces/ai-integrations/yarn.lock b/workspaces/ai-integrations/yarn.lock index e36214c478..8a9569ce26 100644 --- a/workspaces/ai-integrations/yarn.lock +++ b/workspaces/ai-integrations/yarn.lock @@ -3601,6 +3601,17 @@ __metadata: languageName: node linkType: hard +"@backstage/plugin-catalog-backend-module-ai-model@npm:^0.1.1": + version: 0.1.1 + resolution: "@backstage/plugin-catalog-backend-module-ai-model@npm:0.1.1" + dependencies: + "@backstage/backend-plugin-api": "npm:^1.9.2" + "@backstage/catalog-model": "npm:^1.9.0" + "@backstage/plugin-catalog-node": "npm:^2.2.2" + checksum: 10c0/058c1ed2cec3996bac840f552bb3b99e47e50b5e60770a733c00c991efcd913b1f9935bca7abe36e2992df8a4d78c74e01fb733d7755abe1947ff9ea3b7f8869 + languageName: node + linkType: hard + "@backstage/plugin-catalog-backend-module-logs@npm:^0.1.23": version: 0.1.23 resolution: "@backstage/plugin-catalog-backend-module-logs@npm:0.1.23" @@ -9729,6 +9740,16 @@ __metadata: languageName: unknown linkType: soft +"@red-hat-developer-hub/backstage-plugin-catalog-backend-module-catalog-backend-module-ai-resource-extensions@workspace:^, @red-hat-developer-hub/backstage-plugin-catalog-backend-module-catalog-backend-module-ai-resource-extensions@workspace:plugins/catalog-backend-module-catalog-backend-module-ai-resource-extensions": + version: 0.0.0-use.local + resolution: "@red-hat-developer-hub/backstage-plugin-catalog-backend-module-catalog-backend-module-ai-resource-extensions@workspace:plugins/catalog-backend-module-catalog-backend-module-ai-resource-extensions" + dependencies: + "@backstage/backend-plugin-api": "npm:^1.9.2" + "@backstage/backend-test-utils": "npm:^1.11.4" + "@backstage/cli": "npm:^0.36.3" + languageName: unknown + linkType: soft + "@red-hat-developer-hub/backstage-plugin-catalog-backend-module-model-catalog@workspace:^, @red-hat-developer-hub/backstage-plugin-catalog-backend-module-model-catalog@workspace:plugins/catalog-backend-module-model-catalog": version: 0.0.0-use.local resolution: "@red-hat-developer-hub/backstage-plugin-catalog-backend-module-model-catalog@workspace:plugins/catalog-backend-module-model-catalog" @@ -14935,6 +14956,7 @@ __metadata: "@backstage/plugin-auth-backend-module-guest-provider": "npm:^0.2.20" "@backstage/plugin-auth-node": "npm:^0.7.2" "@backstage/plugin-catalog-backend": "npm:^3.8.0" + "@backstage/plugin-catalog-backend-module-ai-model": "npm:^0.1.1" "@backstage/plugin-catalog-backend-module-logs": "npm:^0.1.23" "@backstage/plugin-catalog-backend-module-scaffolder-entity-model": "npm:^0.2.21" "@backstage/plugin-kubernetes-backend": "npm:^0.21.5" @@ -14952,6 +14974,7 @@ __metadata: "@backstage/plugin-search-backend-node": "npm:^1.4.5" "@backstage/plugin-techdocs-backend": "npm:^2.2.1" "@red-hat-developer-hub/backstage-plugin-ai-experience-backend": "workspace:^" + "@red-hat-developer-hub/backstage-plugin-catalog-backend-module-catalog-backend-module-ai-resource-extensions": "workspace:^" "@red-hat-developer-hub/backstage-plugin-catalog-backend-module-model-catalog": "workspace:^" "@red-hat-developer-hub/backstage-plugin-catalog-techdoc-url-reader-backend": "workspace:^" app: "link:../app"