@terasky/backstage-plugin-ai-rules 1.1.0 → 1.1.1

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.
package/dist/alpha.d.ts CHANGED
@@ -1,47 +1,6 @@
1
- import * as _backstage_catalog_model from '@backstage/catalog-model';
2
- import * as React from 'react';
3
1
  import * as _backstage_frontend_plugin_api from '@backstage/frontend-plugin-api';
4
- import * as _backstage_plugin_catalog_react_alpha from '@backstage/plugin-catalog-react/alpha';
5
2
 
6
3
  /** @alpha */
7
- declare const aiRulesPlugin: _backstage_frontend_plugin_api.OverridableFrontendPlugin<{}, {}, {
8
- "entity-content:ai-rules": _backstage_frontend_plugin_api.ExtensionDefinition<{
9
- kind: "entity-content";
10
- name: undefined;
11
- config: {
12
- path: string | undefined;
13
- title: string | undefined;
14
- filter: _backstage_plugin_catalog_react_alpha.EntityPredicate | undefined;
15
- group: string | false | undefined;
16
- };
17
- configInput: {
18
- filter?: _backstage_plugin_catalog_react_alpha.EntityPredicate | undefined;
19
- title?: string | undefined;
20
- path?: string | undefined;
21
- group?: string | false | undefined;
22
- };
23
- output: _backstage_frontend_plugin_api.ExtensionDataRef<string, "core.routing.path", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<React.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams>, "core.routing.ref", {
24
- optional: true;
25
- }> | _backstage_frontend_plugin_api.ExtensionDataRef<(entity: _backstage_catalog_model.Entity) => boolean, "catalog.entity-filter-function", {
26
- optional: true;
27
- }> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "catalog.entity-filter-expression", {
28
- optional: true;
29
- }> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "catalog.entity-content-title", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "catalog.entity-content-group", {
30
- optional: true;
31
- }>;
32
- inputs: {};
33
- params: {
34
- defaultPath?: [Error: `Use the 'path' param instead`];
35
- path: string;
36
- defaultTitle?: [Error: `Use the 'title' param instead`];
37
- title: string;
38
- defaultGroup?: [Error: `Use the 'group' param instead`];
39
- group?: ("development" | "deployment" | "documentation" | "operation" | "overview" | "observability") | (string & {});
40
- loader: () => Promise<JSX.Element>;
41
- routeRef?: _backstage_frontend_plugin_api.RouteRef;
42
- filter?: string | _backstage_plugin_catalog_react_alpha.EntityPredicate | ((entity: _backstage_catalog_model.Entity) => boolean);
43
- };
44
- }>;
45
- }>;
4
+ declare const aiRulesPlugin: _backstage_frontend_plugin_api.OverridableFrontendPlugin<{}, {}, {}>;
46
5
 
47
- export { aiRulesPlugin };
6
+ export { aiRulesPlugin, aiRulesPlugin as default };
package/dist/alpha.esm.js CHANGED
@@ -9,6 +9,7 @@ const aiRulesPlugin = createFrontendPlugin({
9
9
  pluginId: "ai-rules",
10
10
  extensions: [
11
11
  EntityContentBlueprint.make({
12
+ name: "aiRules",
12
13
  params: {
13
14
  path: "/ai-rules",
14
15
  filter: isAIRulesAvailable,
@@ -18,6 +19,7 @@ const aiRulesPlugin = createFrontendPlugin({
18
19
  disabled: true
19
20
  }),
20
21
  EntityContentBlueprint.make({
22
+ name: "aiInstructions",
21
23
  params: {
22
24
  path: "/ai-instructions",
23
25
  filter: isAIRulesAvailable,
@@ -27,6 +29,7 @@ const aiRulesPlugin = createFrontendPlugin({
27
29
  disabled: false
28
30
  }),
29
31
  EntityContentBlueprint.make({
32
+ name: "mcpServers",
30
33
  params: {
31
34
  path: "/mcp-servers",
32
35
  filter: isAIRulesAvailable,
@@ -50,5 +53,5 @@ const aiRulesPlugin = createFrontendPlugin({
50
53
  ]
51
54
  });
52
55
 
53
- export { aiRulesPlugin };
56
+ export { aiRulesPlugin, aiRulesPlugin as default };
54
57
  //# sourceMappingURL=alpha.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"alpha.esm.js","sources":["../src/alpha.tsx"],"sourcesContent":["import {\n ApiBlueprint,\n createFrontendPlugin,\n discoveryApiRef,\n identityApiRef,\n} from '@backstage/frontend-plugin-api';\nimport { EntityContentBlueprint } from '@backstage/plugin-catalog-react/alpha';\nimport { isAIRulesAvailable } from './components/AiRulesComponent';\nimport { aiRulesApiRef, AiRulesClient } from './api';\n\n/** @alpha */\nexport const aiRulesPlugin = createFrontendPlugin({\n pluginId: 'ai-rules',\n extensions: [\n EntityContentBlueprint.make({\n params: {\n path: '/ai-rules',\n filter: isAIRulesAvailable,\n title: 'AI Rules',\n loader: () => import('./components/AiRulesComponent/AiRulesComponent').then(m => <m.AIRulesComponent />),\n },\n disabled: true,\n }),\n EntityContentBlueprint.make({\n params: {\n path: '/ai-instructions',\n filter: isAIRulesAvailable,\n title: 'AI Instructions',\n loader: () => import('./components/AiInstructionsComponent/AiInstructionsComponent').then(m => <m.AiInstructionsComponent />),\n },\n disabled: false,\n }),\n EntityContentBlueprint.make({\n params: {\n path: '/mcp-servers',\n filter: isAIRulesAvailable,\n title: 'MCP Servers',\n loader: () => import('./components/MCPServersComponent/MCPServersComponent').then(m => <m.MCPServersComponent />),\n },\n disabled: true,\n }),\n ApiBlueprint.make({\n name: 'aiRulesApi',\n params: defineParams => defineParams({\n api: aiRulesApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n identityApi: identityApiRef,\n },\n factory: ({ discoveryApi, identityApi }) => new AiRulesClient({ discoveryApi, identityApi }),\n }),\n disabled: false,\n }),\n ],\n});"],"names":[],"mappings":";;;;;;;AAWO,MAAM,gBAAgB,oBAAqB,CAAA;AAAA,EAChD,QAAU,EAAA,UAAA;AAAA,EACV,UAAY,EAAA;AAAA,IACV,uBAAuB,IAAK,CAAA;AAAA,MAC1B,MAAQ,EAAA;AAAA,QACN,IAAM,EAAA,WAAA;AAAA,QACN,MAAQ,EAAA,kBAAA;AAAA,QACR,KAAO,EAAA,UAAA;AAAA,QACP,MAAA,EAAQ,MAAM,OAAO,uDAAgD,CAAA,CAAE,IAAK,CAAA,CAAA,CAAA,qBAAM,GAAA,CAAA,CAAA,CAAE,gBAAF,EAAA,EAAmB,CAAE;AAAA,OACzG;AAAA,MACA,QAAU,EAAA;AAAA,KACX,CAAA;AAAA,IACD,uBAAuB,IAAK,CAAA;AAAA,MAC1B,MAAQ,EAAA;AAAA,QACN,IAAM,EAAA,kBAAA;AAAA,QACN,MAAQ,EAAA,kBAAA;AAAA,QACR,KAAO,EAAA,iBAAA;AAAA,QACP,MAAA,EAAQ,MAAM,OAAO,qEAA8D,CAAA,CAAE,IAAK,CAAA,CAAA,CAAA,qBAAM,GAAA,CAAA,CAAA,CAAE,uBAAF,EAAA,EAA0B,CAAE;AAAA,OAC9H;AAAA,MACA,QAAU,EAAA;AAAA,KACX,CAAA;AAAA,IACD,uBAAuB,IAAK,CAAA;AAAA,MAC1B,MAAQ,EAAA;AAAA,QACN,IAAM,EAAA,cAAA;AAAA,QACN,MAAQ,EAAA,kBAAA;AAAA,QACR,KAAO,EAAA,aAAA;AAAA,QACP,MAAA,EAAQ,MAAM,OAAO,6DAAsD,CAAA,CAAE,IAAK,CAAA,CAAA,CAAA,qBAAM,GAAA,CAAA,CAAA,CAAE,mBAAF,EAAA,EAAsB,CAAE;AAAA,OAClH;AAAA,MACA,QAAU,EAAA;AAAA,KACX,CAAA;AAAA,IACD,aAAa,IAAK,CAAA;AAAA,MAChB,IAAM,EAAA,YAAA;AAAA,MACN,MAAA,EAAQ,kBAAgB,YAAa,CAAA;AAAA,QACnC,GAAK,EAAA,aAAA;AAAA,QACL,IAAM,EAAA;AAAA,UACJ,YAAc,EAAA,eAAA;AAAA,UACd,WAAa,EAAA;AAAA,SACf;AAAA,QACA,OAAA,EAAS,CAAC,EAAE,YAAc,EAAA,WAAA,EAAkB,KAAA,IAAI,aAAc,CAAA,EAAE,YAAc,EAAA,WAAA,EAAa;AAAA,OAC5F,CAAA;AAAA,MACD,QAAU,EAAA;AAAA,KACX;AAAA;AAEL,CAAC;;;;"}
1
+ {"version":3,"file":"alpha.esm.js","sources":["../src/alpha.tsx"],"sourcesContent":["import {\n ApiBlueprint,\n createFrontendPlugin,\n discoveryApiRef,\n identityApiRef,\n} from '@backstage/frontend-plugin-api';\nimport { EntityContentBlueprint } from '@backstage/plugin-catalog-react/alpha';\nimport { isAIRulesAvailable } from './components/AiRulesComponent';\nimport { aiRulesApiRef, AiRulesClient } from './api';\n\n/** @alpha */\nexport const aiRulesPlugin = createFrontendPlugin({\n pluginId: 'ai-rules',\n extensions: [\n EntityContentBlueprint.make({\n name: 'aiRules',\n params: {\n path: '/ai-rules',\n filter: isAIRulesAvailable,\n title: 'AI Rules',\n loader: () => import('./components/AiRulesComponent/AiRulesComponent').then(m => <m.AIRulesComponent />),\n },\n disabled: true,\n }),\n EntityContentBlueprint.make({\n name: 'aiInstructions',\n params: {\n path: '/ai-instructions',\n filter: isAIRulesAvailable,\n title: 'AI Instructions',\n loader: () => import('./components/AiInstructionsComponent/AiInstructionsComponent').then(m => <m.AiInstructionsComponent />),\n },\n disabled: false,\n }),\n EntityContentBlueprint.make({\n name: 'mcpServers',\n params: {\n path: '/mcp-servers',\n filter: isAIRulesAvailable,\n title: 'MCP Servers',\n loader: () => import('./components/MCPServersComponent/MCPServersComponent').then(m => <m.MCPServersComponent />),\n },\n disabled: true,\n }),\n ApiBlueprint.make({\n name: 'aiRulesApi',\n params: defineParams => defineParams({\n api: aiRulesApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n identityApi: identityApiRef,\n },\n factory: ({ discoveryApi, identityApi }) => new AiRulesClient({ discoveryApi, identityApi }),\n }),\n disabled: false,\n }),\n ],\n});\nexport default aiRulesPlugin;"],"names":[],"mappings":";;;;;;;AAWO,MAAM,gBAAgB,oBAAqB,CAAA;AAAA,EAChD,QAAU,EAAA,UAAA;AAAA,EACV,UAAY,EAAA;AAAA,IACV,uBAAuB,IAAK,CAAA;AAAA,MAC1B,IAAM,EAAA,SAAA;AAAA,MACN,MAAQ,EAAA;AAAA,QACN,IAAM,EAAA,WAAA;AAAA,QACN,MAAQ,EAAA,kBAAA;AAAA,QACR,KAAO,EAAA,UAAA;AAAA,QACP,MAAA,EAAQ,MAAM,OAAO,uDAAgD,CAAA,CAAE,IAAK,CAAA,CAAA,CAAA,qBAAM,GAAA,CAAA,CAAA,CAAE,gBAAF,EAAA,EAAmB,CAAE;AAAA,OACzG;AAAA,MACA,QAAU,EAAA;AAAA,KACX,CAAA;AAAA,IACD,uBAAuB,IAAK,CAAA;AAAA,MAC1B,IAAM,EAAA,gBAAA;AAAA,MACN,MAAQ,EAAA;AAAA,QACN,IAAM,EAAA,kBAAA;AAAA,QACN,MAAQ,EAAA,kBAAA;AAAA,QACR,KAAO,EAAA,iBAAA;AAAA,QACP,MAAA,EAAQ,MAAM,OAAO,qEAA8D,CAAA,CAAE,IAAK,CAAA,CAAA,CAAA,qBAAM,GAAA,CAAA,CAAA,CAAE,uBAAF,EAAA,EAA0B,CAAE;AAAA,OAC9H;AAAA,MACA,QAAU,EAAA;AAAA,KACX,CAAA;AAAA,IACD,uBAAuB,IAAK,CAAA;AAAA,MAC1B,IAAM,EAAA,YAAA;AAAA,MACN,MAAQ,EAAA;AAAA,QACN,IAAM,EAAA,cAAA;AAAA,QACN,MAAQ,EAAA,kBAAA;AAAA,QACR,KAAO,EAAA,aAAA;AAAA,QACP,MAAA,EAAQ,MAAM,OAAO,6DAAsD,CAAA,CAAE,IAAK,CAAA,CAAA,CAAA,qBAAM,GAAA,CAAA,CAAA,CAAE,mBAAF,EAAA,EAAsB,CAAE;AAAA,OAClH;AAAA,MACA,QAAU,EAAA;AAAA,KACX,CAAA;AAAA,IACD,aAAa,IAAK,CAAA;AAAA,MAChB,IAAM,EAAA,YAAA;AAAA,MACN,MAAA,EAAQ,kBAAgB,YAAa,CAAA;AAAA,QACnC,GAAK,EAAA,aAAA;AAAA,QACL,IAAM,EAAA;AAAA,UACJ,YAAc,EAAA,eAAA;AAAA,UACd,WAAa,EAAA;AAAA,SACf;AAAA,QACA,OAAA,EAAS,CAAC,EAAE,YAAc,EAAA,WAAA,EAAkB,KAAA,IAAI,aAAc,CAAA,EAAE,YAAc,EAAA,WAAA,EAAa;AAAA,OAC5F,CAAA;AAAA,MACD,QAAU,EAAA;AAAA,KACX;AAAA;AAEL,CAAC;;;;"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Entity } from '@backstage/catalog-model';
2
2
  import * as _backstage_core_plugin_api from '@backstage/core-plugin-api';
3
- import React__default from 'react';
3
+ import React from 'react';
4
4
  import * as react_jsx_runtime from 'react/jsx-runtime';
5
5
 
6
6
  interface AiInstructionsComponentProps {
@@ -21,7 +21,7 @@ declare const isAIRulesAvailable: (entity: Entity) => boolean;
21
21
  declare const aiRulesPlugin: _backstage_core_plugin_api.BackstagePlugin<{
22
22
  root: _backstage_core_plugin_api.RouteRef<undefined>;
23
23
  }, {}, {}>;
24
- declare const AIRulesComponent: (props: any) => React__default.FunctionComponentElement<AIRulesComponentProps>;
24
+ declare const AIRulesComponent: (props: any) => React.FunctionComponentElement<AIRulesComponentProps>;
25
25
 
26
26
  declare enum AIRuleType {
27
27
  CURSOR = "cursor",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@terasky/backstage-plugin-ai-rules",
3
3
  "description": "AI Rules Visualizer Plugin for Backstage",
4
- "version": "1.1.0",
4
+ "version": "1.1.1",
5
5
  "main": "dist/index.esm.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "license": "Apache-2.0",
@@ -23,7 +23,10 @@
23
23
  "pluginPackages": [
24
24
  "@terasky/backstage-plugin-ai-rules",
25
25
  "@terasky/backstage-plugin-ai-rules-backend"
26
- ]
26
+ ],
27
+ "features": {
28
+ "./alpha": "@backstage/FrontendPlugin"
29
+ }
27
30
  },
28
31
  "sideEffects": false,
29
32
  "scripts": {
@@ -52,7 +55,7 @@
52
55
  "devDependencies": {
53
56
  "@backstage/cli": "^0.34.4",
54
57
  "@backstage/core-app-api": "^1.19.1",
55
- "@backstage/dev-utils": "^1.1.15",
58
+ "@backstage/dev-utils": "^1.1.16",
56
59
  "@backstage/test-utils": "^1.7.12",
57
60
  "@testing-library/jest-dom": "^6.0.0",
58
61
  "@testing-library/react": "^14.0.0",
@@ -79,6 +82,7 @@
79
82
  "default": "./dist/index.esm.js"
80
83
  },
81
84
  "./alpha": {
85
+ "backstage": "@backstage/FrontendPlugin",
82
86
  "import": "./dist/alpha.esm.js",
83
87
  "types": "./dist/alpha.d.ts",
84
88
  "default": "./dist/alpha.esm.js"