@kosdev-code/kos-ui-plugin 2.0.41 → 2.1.0

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.
Files changed (188) hide show
  1. package/documentation-generator-B8FuhDjB.js +1271 -0
  2. package/documentation-generator-B8FuhDjB.js.map +1 -0
  3. package/documentation-generator-E9tFyId_.cjs +266 -0
  4. package/documentation-generator-E9tFyId_.cjs.map +1 -0
  5. package/index.cjs +412 -4
  6. package/index.cjs.map +1 -1
  7. package/index.d.ts +1 -1
  8. package/index.d.ts.map +1 -1
  9. package/index.js +2179 -64
  10. package/index.js.map +1 -1
  11. package/lib/components/dynamic-component/dynamic-component.d.ts.map +1 -1
  12. package/lib/components/dynamic-component/error-boundary.d.ts +17 -0
  13. package/lib/components/dynamic-component/error-boundary.d.ts.map +1 -0
  14. package/lib/components/index.d.ts +1 -0
  15. package/lib/components/index.d.ts.map +1 -1
  16. package/lib/components/plugin-explorer/extension-point-list.d.ts +13 -0
  17. package/lib/components/plugin-explorer/extension-point-list.d.ts.map +1 -0
  18. package/lib/components/plugin-explorer/floating-plugin-explorer.d.ts +13 -0
  19. package/lib/components/plugin-explorer/floating-plugin-explorer.d.ts.map +1 -0
  20. package/lib/components/plugin-explorer/index.d.ts +10 -0
  21. package/lib/components/plugin-explorer/index.d.ts.map +1 -0
  22. package/lib/components/plugin-explorer/plugin-card.d.ts +10 -0
  23. package/lib/components/plugin-explorer/plugin-card.d.ts.map +1 -0
  24. package/lib/components/plugin-explorer/plugin-explorer.d.ts +12 -0
  25. package/lib/components/plugin-explorer/plugin-explorer.d.ts.map +1 -0
  26. package/lib/components/plugin-explorer/plugin-health-dashboard.d.ts +9 -0
  27. package/lib/components/plugin-explorer/plugin-health-dashboard.d.ts.map +1 -0
  28. package/lib/hooks/index.d.ts +3 -0
  29. package/lib/hooks/index.d.ts.map +1 -1
  30. package/lib/hooks/use-extension-component.d.ts +21 -0
  31. package/lib/hooks/use-extension-component.d.ts.map +1 -0
  32. package/lib/hooks/use-plugin-discovery.d.ts +23 -0
  33. package/lib/hooks/use-plugin-discovery.d.ts.map +1 -0
  34. package/lib/hooks/use-typed-extensions.d.ts +152 -0
  35. package/lib/hooks/use-typed-extensions.d.ts.map +1 -0
  36. package/lib/utils/discovery/documentation-generator.d.ts +85 -0
  37. package/lib/utils/discovery/documentation-generator.d.ts.map +1 -0
  38. package/lib/utils/discovery/plugin-discovery-service.d.ts +109 -0
  39. package/lib/utils/discovery/plugin-discovery-service.d.ts.map +1 -0
  40. package/lib/utils/extension-points/define-extension-point.d.ts +58 -0
  41. package/lib/utils/extension-points/define-extension-point.d.ts.map +1 -0
  42. package/lib/utils/extension-points/example-extension-point.d.ts +67 -0
  43. package/lib/utils/extension-points/example-extension-point.d.ts.map +1 -0
  44. package/lib/utils/extension-points/extension-point-registry.d.ts +34 -0
  45. package/lib/utils/extension-points/extension-point-registry.d.ts.map +1 -0
  46. package/lib/utils/extension-points/extension-point-schema.d.ts +9 -0
  47. package/lib/utils/extension-points/extension-point-schema.d.ts.map +1 -0
  48. package/lib/utils/extension-points/extension-point-schemas.d.ts +92 -0
  49. package/lib/utils/extension-points/extension-point-schemas.d.ts.map +1 -0
  50. package/lib/utils/extension-points/extension-point-transforms.d.ts +21 -0
  51. package/lib/utils/extension-points/extension-point-transforms.d.ts.map +1 -0
  52. package/lib/utils/extension-points/extension-point-types.d.ts +162 -0
  53. package/lib/utils/extension-points/extension-point-types.d.ts.map +1 -0
  54. package/lib/utils/extension-points/extension-point-validation.d.ts +43 -0
  55. package/lib/utils/extension-points/extension-point-validation.d.ts.map +1 -0
  56. package/lib/utils/index.d.ts +9 -15
  57. package/lib/utils/index.d.ts.map +1 -1
  58. package/lib/utils/{plugin-extension-manager.d.ts → plugin-system/plugin-extension-manager.d.ts} +3 -5
  59. package/lib/utils/plugin-system/plugin-extension-manager.d.ts.map +1 -0
  60. package/lib/utils/plugin-system/plugin-extension-registry-init.d.ts +2 -0
  61. package/lib/utils/plugin-system/plugin-extension-registry-init.d.ts.map +1 -0
  62. package/lib/utils/{plugin-extension-registry.d.ts → plugin-system/plugin-extension-registry.d.ts} +1 -1
  63. package/lib/utils/plugin-system/plugin-extension-registry.d.ts.map +1 -0
  64. package/lib/utils/{plugin-reducer.d.ts → plugin-system/plugin-reducer.d.ts} +1 -1
  65. package/lib/utils/plugin-system/plugin-reducer.d.ts.map +1 -0
  66. package/lib/utils/{resolve-best-extension.d.ts → plugin-system/resolve-best-extension.d.ts} +1 -1
  67. package/lib/utils/plugin-system/resolve-best-extension.d.ts.map +1 -0
  68. package/lib/utils/processors/contribution-reducer.d.ts +5 -0
  69. package/lib/utils/processors/contribution-reducer.d.ts.map +1 -0
  70. package/lib/utils/{initialize-plugins.d.ts → processors/initialize-plugins.d.ts} +2 -2
  71. package/lib/utils/processors/initialize-plugins.d.ts.map +1 -0
  72. package/lib/utils/processors/initialize-simplified-extensions.d.ts +13 -0
  73. package/lib/utils/processors/initialize-simplified-extensions.d.ts.map +1 -0
  74. package/lib/utils/{process-kos-config.d.ts → processors/process-kos-config.d.ts} +1 -1
  75. package/lib/utils/processors/process-kos-config.d.ts.map +1 -0
  76. package/lib/utils/processors/simplified-contribution-processor.d.ts +14 -0
  77. package/lib/utils/processors/simplified-contribution-processor.d.ts.map +1 -0
  78. package/package.json +2 -7
  79. package/types/global.d.ts +0 -62
  80. package/types/plugins.d.ts +3 -127
  81. package/utils.cjs +1 -1
  82. package/utils.cjs.map +1 -1
  83. package/utils.js +99 -82
  84. package/utils.js.map +1 -1
  85. package/dev.cjs +0 -57
  86. package/dev.cjs.map +0 -1
  87. package/dev.js +0 -403
  88. package/dev.js.map +0 -1
  89. package/emotion-react-jsx-runtime.browser.esm-0ViwU5Kh.cjs +0 -17
  90. package/emotion-react-jsx-runtime.browser.esm-0ViwU5Kh.cjs.map +0 -1
  91. package/emotion-react-jsx-runtime.browser.esm-70CdOW1e.js +0 -1065
  92. package/emotion-react-jsx-runtime.browser.esm-70CdOW1e.js.map +0 -1
  93. package/lib/dev/components/dynamic-view/dynamic-component-view.d.ts +0 -9
  94. package/lib/dev/components/dynamic-view/dynamic-component-view.d.ts.map +0 -1
  95. package/lib/dev/components/dynamic-view/dynamic-container.d.ts +0 -8
  96. package/lib/dev/components/dynamic-view/dynamic-container.d.ts.map +0 -1
  97. package/lib/dev/components/dynamic-view/dynamic-view-basic.d.ts +0 -13
  98. package/lib/dev/components/dynamic-view/dynamic-view-basic.d.ts.map +0 -1
  99. package/lib/dev/components/dynamic-view/dynamic-view-modal.d.ts +0 -15
  100. package/lib/dev/components/dynamic-view/dynamic-view-modal.d.ts.map +0 -1
  101. package/lib/dev/components/dynamic-view/dynamic-view-picker.d.ts +0 -9
  102. package/lib/dev/components/dynamic-view/dynamic-view-picker.d.ts.map +0 -1
  103. package/lib/dev/components/dynamic-view/dynamic-view-settings.d.ts +0 -15
  104. package/lib/dev/components/dynamic-view/dynamic-view-settings.d.ts.map +0 -1
  105. package/lib/dev/components/dynamic-view/dynamic-view-utilities.d.ts +0 -15
  106. package/lib/dev/components/dynamic-view/dynamic-view-utilities.d.ts.map +0 -1
  107. package/lib/dev/components/dynamic-view/index.d.ts +0 -8
  108. package/lib/dev/components/dynamic-view/index.d.ts.map +0 -1
  109. package/lib/dev/components/index.d.ts +0 -4
  110. package/lib/dev/components/index.d.ts.map +0 -1
  111. package/lib/dev/components/shell/header/header.d.ts +0 -2
  112. package/lib/dev/components/shell/header/header.d.ts.map +0 -1
  113. package/lib/dev/components/shell/header/index.d.ts +0 -2
  114. package/lib/dev/components/shell/header/index.d.ts.map +0 -1
  115. package/lib/dev/components/shell/index.d.ts +0 -3
  116. package/lib/dev/components/shell/index.d.ts.map +0 -1
  117. package/lib/dev/components/shell/shell.d.ts +0 -10
  118. package/lib/dev/components/shell/shell.d.ts.map +0 -1
  119. package/lib/dev/components/storybook/control-pour-story-container/control-pour-story-container.d.ts +0 -8
  120. package/lib/dev/components/storybook/control-pour-story-container/control-pour-story-container.d.ts.map +0 -1
  121. package/lib/dev/components/storybook/control-pour-story-container/index.d.ts +0 -2
  122. package/lib/dev/components/storybook/control-pour-story-container/index.d.ts.map +0 -1
  123. package/lib/dev/components/storybook/cui-story-container/cui-story-container.d.ts +0 -8
  124. package/lib/dev/components/storybook/cui-story-container/cui-story-container.d.ts.map +0 -1
  125. package/lib/dev/components/storybook/cui-story-container/index.d.ts +0 -2
  126. package/lib/dev/components/storybook/cui-story-container/index.d.ts.map +0 -1
  127. package/lib/dev/components/storybook/index.d.ts +0 -7
  128. package/lib/dev/components/storybook/index.d.ts.map +0 -1
  129. package/lib/dev/components/storybook/nav-story-container/index.d.ts +0 -2
  130. package/lib/dev/components/storybook/nav-story-container/index.d.ts.map +0 -1
  131. package/lib/dev/components/storybook/nav-story-container/nav-story-container.d.ts +0 -8
  132. package/lib/dev/components/storybook/nav-story-container/nav-story-container.d.ts.map +0 -1
  133. package/lib/dev/components/storybook/setting-story-container/index.d.ts +0 -2
  134. package/lib/dev/components/storybook/setting-story-container/index.d.ts.map +0 -1
  135. package/lib/dev/components/storybook/setting-story-container/setting-story-container.d.ts +0 -8
  136. package/lib/dev/components/storybook/setting-story-container/setting-story-container.d.ts.map +0 -1
  137. package/lib/dev/components/storybook/setup-step-story-container/index.d.ts +0 -2
  138. package/lib/dev/components/storybook/setup-step-story-container/index.d.ts.map +0 -1
  139. package/lib/dev/components/storybook/setup-step-story-container/setup-step-story-container.d.ts +0 -8
  140. package/lib/dev/components/storybook/setup-step-story-container/setup-step-story-container.d.ts.map +0 -1
  141. package/lib/dev/components/storybook/utility-story-container/index.d.ts +0 -2
  142. package/lib/dev/components/storybook/utility-story-container/index.d.ts.map +0 -1
  143. package/lib/dev/components/storybook/utility-story-container/utility-story-container.d.ts +0 -8
  144. package/lib/dev/components/storybook/utility-story-container/utility-story-container.d.ts.map +0 -1
  145. package/lib/dev/index.d.ts +0 -3
  146. package/lib/dev/index.d.ts.map +0 -1
  147. package/lib/dev/utils/index.d.ts +0 -2
  148. package/lib/dev/utils/index.d.ts.map +0 -1
  149. package/lib/dev/utils/kos-metadata-parser.d.ts +0 -6
  150. package/lib/dev/utils/kos-metadata-parser.d.ts.map +0 -1
  151. package/lib/dev/utils/normalize.d.ts +0 -2
  152. package/lib/dev/utils/normalize.d.ts.map +0 -1
  153. package/lib/utils/contribution-reducer.d.ts +0 -5
  154. package/lib/utils/contribution-reducer.d.ts.map +0 -1
  155. package/lib/utils/control-pour-reducer.d.ts +0 -5
  156. package/lib/utils/control-pour-reducer.d.ts.map +0 -1
  157. package/lib/utils/cui-reducer.d.ts +0 -7
  158. package/lib/utils/cui-reducer.d.ts.map +0 -1
  159. package/lib/utils/dashboard-detail-reducer.d.ts +0 -5
  160. package/lib/utils/dashboard-detail-reducer.d.ts.map +0 -1
  161. package/lib/utils/dashboard-pump-detail-reducer.d.ts +0 -5
  162. package/lib/utils/dashboard-pump-detail-reducer.d.ts.map +0 -1
  163. package/lib/utils/dashboard-reducer.d.ts +0 -3
  164. package/lib/utils/dashboard-reducer.d.ts.map +0 -1
  165. package/lib/utils/dashboard-summary-reducer.d.ts +0 -5
  166. package/lib/utils/dashboard-summary-reducer.d.ts.map +0 -1
  167. package/lib/utils/initialize-plugins.d.ts.map +0 -1
  168. package/lib/utils/nav-view-reducer.d.ts +0 -5
  169. package/lib/utils/nav-view-reducer.d.ts.map +0 -1
  170. package/lib/utils/plugin-extension-manager.d.ts.map +0 -1
  171. package/lib/utils/plugin-extension-registry-init.d.ts +0 -2
  172. package/lib/utils/plugin-extension-registry-init.d.ts.map +0 -1
  173. package/lib/utils/plugin-extension-registry.d.ts.map +0 -1
  174. package/lib/utils/plugin-reducer.d.ts.map +0 -1
  175. package/lib/utils/process-kos-config.d.ts.map +0 -1
  176. package/lib/utils/resolve-best-extension.d.ts.map +0 -1
  177. package/lib/utils/settings-reducer.d.ts +0 -8
  178. package/lib/utils/settings-reducer.d.ts.map +0 -1
  179. package/lib/utils/setup-reducer.d.ts +0 -7
  180. package/lib/utils/setup-reducer.d.ts.map +0 -1
  181. package/lib/utils/state-action-reducer.d.ts +0 -5
  182. package/lib/utils/state-action-reducer.d.ts.map +0 -1
  183. package/lib/utils/util-reducer.d.ts +0 -7
  184. package/lib/utils/util-reducer.d.ts.map +0 -1
  185. package/resolve-best-extension-CqHaJSdN.js +0 -590
  186. package/resolve-best-extension-CqHaJSdN.js.map +0 -1
  187. package/resolve-best-extension-DSdPcuL3.cjs +0 -2
  188. package/resolve-best-extension-DSdPcuL3.cjs.map +0 -1
@@ -0,0 +1,13 @@
1
+ import { ExtensionPointInfo } from '../../utils';
2
+ import { default as React } from 'react';
3
+
4
+ export interface ExtensionPointListProps {
5
+ extensionPoints: ExtensionPointInfo[];
6
+ selectedExtensionId: string | null;
7
+ onExtensionSelect: (extensionId: string) => void;
8
+ searchTerm: string;
9
+ onSearchChange: (searchTerm: string) => void;
10
+ className?: string;
11
+ }
12
+ export declare const ExtensionPointList: React.FC<ExtensionPointListProps>;
13
+ //# sourceMappingURL=extension-point-list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension-point-list.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-plugin/src/lib/components/plugin-explorer/extension-point-list.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD,MAAM,WAAW,uBAAuB;IACtC,eAAe,EAAE,kBAAkB,EAAE,CAAC;IACtC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,iBAAiB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAmGD,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAmDhE,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { PluginExplorerProps } from './plugin-explorer';
2
+ import { default as React } from 'react';
3
+
4
+ export interface FloatingPluginExplorerProps extends Omit<PluginExplorerProps, "className"> {
5
+ /** Keyboard shortcut to toggle (default: "ctrl+shift+p") */
6
+ keyboardShortcut?: string;
7
+ /** Whether to show the toggle button (default: true) */
8
+ showToggleButton?: boolean;
9
+ /** Position of the toggle button (default: "bottom-right") */
10
+ toggleButtonPosition?: "top-left" | "top-right" | "bottom-left" | "bottom-right";
11
+ }
12
+ export declare const FloatingPluginExplorer: React.FC<FloatingPluginExplorerProps>;
13
+ //# sourceMappingURL=floating-plugin-explorer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"floating-plugin-explorer.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-plugin/src/lib/components/plugin-explorer/floating-plugin-explorer.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAA8B,MAAM,OAAO,CAAC;AACnD,OAAO,EAAkB,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7E,MAAM,WAAW,2BACf,SAAQ,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC;IAC9C,4DAA4D;IAC5D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,wDAAwD;IACxD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,8DAA8D;IAC9D,oBAAoB,CAAC,EACjB,UAAU,GACV,WAAW,GACX,aAAa,GACb,cAAc,CAAC;CACpB;AA6GD,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CAsHxE,CAAC"}
@@ -0,0 +1,10 @@
1
+ export { ExtensionPointList } from './extension-point-list';
2
+ export { FloatingPluginExplorer } from './floating-plugin-explorer';
3
+ export { PluginCard } from './plugin-card';
4
+ export { PluginExplorer } from './plugin-explorer';
5
+ export { PluginHealthDashboard } from './plugin-health-dashboard';
6
+ export type { ExtensionPointListProps } from './extension-point-list';
7
+ export type { PluginCardProps } from './plugin-card';
8
+ export type { PluginExplorerProps } from './plugin-explorer';
9
+ export type { PluginHealthDashboardProps } from './plugin-health-dashboard';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-plugin/src/lib/components/plugin-explorer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAElE,YAAY,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACtE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,YAAY,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { PluginExtension } from '../../../types/plugins';
2
+ import { default as React } from 'react';
3
+
4
+ export interface PluginCardProps {
5
+ plugin: PluginExtension;
6
+ extensionPointId: string;
7
+ className?: string;
8
+ }
9
+ export declare const PluginCard: React.FC<PluginCardProps>;
10
+ //# sourceMappingURL=plugin-card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-card.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-plugin/src/lib/components/plugin-explorer/plugin-card.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAM9D,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,eAAe,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA4LD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAgGhD,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface PluginExplorerProps {
4
+ /** Optional CSS class name */
5
+ className?: string;
6
+ /** Whether to show legacy extension points (non-simplified) */
7
+ showLegacyExtensions?: boolean;
8
+ /** Optional filter for extension point IDs */
9
+ extensionFilter?: string;
10
+ }
11
+ export declare const PluginExplorer: React.FC<PluginExplorerProps>;
12
+ //# sourceMappingURL=plugin-explorer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-explorer.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-plugin/src/lib/components/plugin-explorer/plugin-explorer.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAMxC,MAAM,WAAW,mBAAmB;IAClC,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,8CAA8C;IAC9C,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAqHD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAoMxD,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { PluginHealthStats } from '../../utils';
2
+ import { default as React } from 'react';
3
+
4
+ export interface PluginHealthDashboardProps {
5
+ healthStats: PluginHealthStats;
6
+ className?: string;
7
+ }
8
+ export declare const PluginHealthDashboard: React.FC<PluginHealthDashboardProps>;
9
+ //# sourceMappingURL=plugin-health-dashboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-health-dashboard.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-plugin/src/lib/components/plugin-explorer/plugin-health-dashboard.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,MAAM,WAAW,0BAA0B;IACzC,WAAW,EAAE,iBAAiB,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA+FD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAiFtE,CAAC"}
@@ -1,2 +1,5 @@
1
1
  export * from './use-dynamic-component';
2
+ export * from './use-typed-extensions';
3
+ export * from './use-plugin-discovery';
4
+ export * from './use-extension-component';
2
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/sdk/kos-ui-plugin/src/lib/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/sdk/kos-ui-plugin/src/lib/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { ExtensionPointDefinition } from '../utils/extension-points/extension-point-types';
2
+ import { default as React } from 'react';
3
+
4
+ /**
5
+ * Props for extension components created by the hook
6
+ */
7
+ export interface ExtensionComponentProps {
8
+ module?: string;
9
+ fallback?: React.ReactNode;
10
+ }
11
+ /**
12
+ * Hook that creates a strongly typed React component for an extension point
13
+ * This moves the React component creation to runtime, avoiding webpack config issues
14
+ */
15
+ export declare function useExtensionComponent<TData = any, TProcessed = TData, TProps = any>(definition: ExtensionPointDefinition<TData, TProcessed, TProps>): React.ComponentType<ExtensionComponentProps & TProps> | null;
16
+ /**
17
+ * Factory function that creates a component for an extension point
18
+ * Alternative to the hook for non-hook contexts
19
+ */
20
+ export declare function createExtensionComponent<TData = any, TProcessed = TData, TProps = any>(definition: ExtensionPointDefinition<TData, TProcessed, TProps>): React.ComponentType<ExtensionComponentProps & TProps> | null;
21
+ //# sourceMappingURL=use-extension-component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-extension-component.d.ts","sourceRoot":"","sources":["../../../../../../packages/sdk/kos-ui-plugin/src/lib/hooks/use-extension-component.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAEhG;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,GAAG,GAAG,EACX,UAAU,GAAG,KAAK,EAClB,MAAM,GAAG,GAAG,EAEZ,UAAU,EAAE,wBAAwB,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,GAC9D,KAAK,CAAC,aAAa,CAAC,uBAAuB,GAAG,MAAM,CAAC,GAAG,IAAI,CAyB9D;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,GAAG,GAAG,EACX,UAAU,GAAG,KAAK,EAClB,MAAM,GAAG,GAAG,EAEZ,UAAU,EAAE,wBAAwB,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,GAC9D,KAAK,CAAC,aAAa,CAAC,uBAAuB,GAAG,MAAM,CAAC,GAAG,IAAI,CAuB9D"}
@@ -0,0 +1,23 @@
1
+ import { ExtensionPointInfo, PluginDiscoveryOptions, PluginHealthStats } from '../utils';
2
+
3
+ export interface UsePluginDiscoveryResult {
4
+ extensionPoints: ExtensionPointInfo[];
5
+ healthStats: PluginHealthStats;
6
+ isLoading: boolean;
7
+ error?: Error;
8
+ }
9
+ /**
10
+ * Hook for discovering extension points and plugins
11
+ */
12
+ export declare function usePluginDiscovery(options?: PluginDiscoveryOptions): UsePluginDiscoveryResult;
13
+ /**
14
+ * Hook for filtered extension points with search
15
+ */
16
+ export declare function useFilteredExtensionPoints(searchTerm: string, options?: PluginDiscoveryOptions): UsePluginDiscoveryResult & {
17
+ filteredExtensionPoints: ExtensionPointInfo[];
18
+ };
19
+ /**
20
+ * Hook for a specific extension point
21
+ */
22
+ export declare function useExtensionPoint(extensionPointId: string): ExtensionPointInfo | undefined;
23
+ //# sourceMappingURL=use-plugin-discovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-plugin-discovery.d.ts","sourceRoot":"","sources":["../../../../../../packages/sdk/kos-ui-plugin/src/lib/hooks/use-plugin-discovery.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACvB,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,wBAAwB;IACvC,eAAe,EAAE,kBAAkB,EAAE,CAAC;IACtC,WAAW,EAAE,iBAAiB,CAAC;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,CAAC,EAAE,sBAAsB,GAC/B,wBAAwB,CAoC1B;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,wBAAwB,GAAG;IAC5B,uBAAuB,EAAE,kBAAkB,EAAE,CAAC;CAC/C,CAgBA;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,gBAAgB,EAAE,MAAM,GACvB,kBAAkB,GAAG,SAAS,CAWhC"}
@@ -0,0 +1,152 @@
1
+ import { ExtensionPointDefinition } from '../utils';
2
+ import { BasePluginExtension, PluginExtension } from '../../types/plugins';
3
+
4
+ /**
5
+ * Criteria for selecting the best extension from multiple candidates
6
+ */
7
+ export interface BestExtensionCriteria {
8
+ /** Preferred module/plugin ID */
9
+ preferredModule?: string;
10
+ /**
11
+ * Generic property matching - filters extensions where all specified
12
+ * properties match the values in extension.data
13
+ * @example { environment: 'production', version: '2.0' }
14
+ */
15
+ propertyMatches?: Record<string, any>;
16
+ /** Custom ranking function */
17
+ customRanker?: (extensions: PluginExtension[]) => PluginExtension | null;
18
+ }
19
+ /**
20
+ * Hook to get all extensions for a specific extension point with full type safety
21
+ *
22
+ * @example
23
+ * ```tsx
24
+ * // For simplified extension points (with type inference)
25
+ * const nutritionalExtensions = useExtensions(CuiNutritionalData);
26
+ * // Type: BasePluginExtension & { data: ProcessedNutritionalData }[]
27
+ *
28
+ * // For legacy extension points (generic)
29
+ * const cuiExtensions = useExtensions("ddk.cui.settings.config");
30
+ * // Type: PluginExtension[]
31
+ * ```
32
+ */
33
+ export declare function useExtensions<TData = any, TProcessed = TData>(extensionPoint: ExtensionPointDefinition<TData, TProcessed>): (BasePluginExtension & {
34
+ data: TProcessed;
35
+ })[];
36
+ export declare function useExtensions(extensionPointId: string): PluginExtension[];
37
+ /**
38
+ * Hook to get the best extension for a specific extension point with type safety
39
+ *
40
+ * @example
41
+ * ```tsx
42
+ * // Get best extension with automatic selection
43
+ * const bestNutrition = useBest(CuiNutritionalData);
44
+ *
45
+ * // Get best extension with property matching
46
+ * const bestNutrition = useBest(CuiNutritionalData, {
47
+ * propertyMatches: { environment: 'production', version: '2.0' }
48
+ * });
49
+ *
50
+ * // Legacy extension point
51
+ * const bestCui = useBest("ddk.cui.settings.config", {
52
+ * preferredModule: 'my-plugin-id'
53
+ * });
54
+ * ```
55
+ */
56
+ export declare function useBest<TData = any, TProcessed = TData>(extensionPoint: ExtensionPointDefinition<TData, TProcessed>, criteria?: BestExtensionCriteria): (BasePluginExtension & {
57
+ data: TProcessed;
58
+ }) | null;
59
+ export declare function useBest(extensionPointId: string, criteria?: BestExtensionCriteria): PluginExtension | null;
60
+ /**
61
+ * Hook to check if any extensions are available for an extension point
62
+ *
63
+ * @example
64
+ * ```tsx
65
+ * const hasNutritionExtensions = useHasExtensions(CuiNutritionalData);
66
+ * if (hasNutritionExtensions) {
67
+ * return <DynamicComponent extension={CuiNutritionalData.id} />;
68
+ * }
69
+ * return <DefaultNutritionInfo />;
70
+ * ```
71
+ */
72
+ export declare function useHasExtensions<TData = any, TProcessed = TData>(extensionPoint: ExtensionPointDefinition<TData, TProcessed>): boolean;
73
+ export declare function useHasExtensions(extensionPointId: string): boolean;
74
+ /**
75
+ * Hook to get extension count for an extension point
76
+ * Useful for displaying "X plugins available" messages
77
+ */
78
+ export declare function useExtensionCount<TData = any, TProcessed = TData>(extensionPoint: ExtensionPointDefinition<TData, TProcessed>): number;
79
+ export declare function useExtensionCount(extensionPointId: string): number;
80
+ /**
81
+ * Hook to get extensions filtered by specific criteria
82
+ * More flexible than useBest when you need multiple filtered results
83
+ *
84
+ * @example
85
+ * ```tsx
86
+ * // Get all US-specific extensions
87
+ * const usExtensions = useFilteredExtensions(CuiNutritionalData, {
88
+ * filter: (ext) => ext.data.regionCode === 'US'
89
+ * });
90
+ * ```
91
+ */
92
+ export declare function useFilteredExtensions<TData = any, TProcessed = TData>(extensionPoint: ExtensionPointDefinition<TData, TProcessed>, options: {
93
+ filter: (extension: BasePluginExtension & {
94
+ data: TProcessed;
95
+ }) => boolean;
96
+ sort?: (a: BasePluginExtension & {
97
+ data: TProcessed;
98
+ }, b: BasePluginExtension & {
99
+ data: TProcessed;
100
+ }) => number;
101
+ }): (BasePluginExtension & {
102
+ data: TProcessed;
103
+ })[];
104
+ export declare function useFilteredExtensions(extensionPointId: string, options: {
105
+ filter: (extension: PluginExtension) => boolean;
106
+ sort?: (a: PluginExtension, b: PluginExtension) => number;
107
+ }): PluginExtension[];
108
+ /**
109
+ * Hook to load raw modules (non-React components) from extensions
110
+ * Useful for accessing utility functions, services, configurations, or other non-UI modules
111
+ *
112
+ * @example
113
+ * ```tsx
114
+ * // Load utility modules
115
+ * const utilityModules = useModules(UtilityExtension);
116
+ *
117
+ * // Load configuration modules
118
+ * const configModules = useModules(ConfigExtension, {
119
+ * filter: (ext) => ext.data.environment === 'production'
120
+ * });
121
+ *
122
+ * // Access loaded modules
123
+ * utilityModules.forEach(({ module, extension }) => {
124
+ * if (module?.validateData) {
125
+ * const isValid = module.validateData(someData);
126
+ * }
127
+ * });
128
+ * ```
129
+ */
130
+ export declare function useModules<TData = any, TProcessed = TData>(extensionPoint: ExtensionPointDefinition<TData, TProcessed>, options?: {
131
+ filter?: (extension: BasePluginExtension & {
132
+ data: TProcessed;
133
+ }) => boolean;
134
+ moduleProperty?: string;
135
+ }): Array<{
136
+ extension: BasePluginExtension & {
137
+ data: TProcessed;
138
+ };
139
+ module: any | null;
140
+ loading: boolean;
141
+ error: string | null;
142
+ }>;
143
+ export declare function useModules(extensionPointId: string, options?: {
144
+ filter?: (extension: PluginExtension) => boolean;
145
+ moduleProperty?: string;
146
+ }): Array<{
147
+ extension: PluginExtension;
148
+ module: any | null;
149
+ loading: boolean;
150
+ error: string | null;
151
+ }>;
152
+ //# sourceMappingURL=use-typed-extensions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-typed-extensions.d.ts","sourceRoot":"","sources":["../../../../../../packages/sdk/kos-ui-plugin/src/lib/hooks/use-typed-extensions.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ import { ExtensionPointInfo } from './plugin-discovery-service';
2
+ import { PluginExtensionsType } from '../../../types/plugins';
3
+
4
+ export interface DocumentationOptions {
5
+ includeUsageExamples?: boolean;
6
+ includeTypeDefinitions?: boolean;
7
+ includeLegacyExtensions?: boolean;
8
+ includePluginHealth?: boolean;
9
+ format?: "markdown" | "html";
10
+ }
11
+ export interface GeneratedDocumentation {
12
+ content: string;
13
+ metadata: {
14
+ generatedAt: string;
15
+ totalExtensionPoints: number;
16
+ totalPlugins: number;
17
+ simplifiedExtensionPoints: number;
18
+ legacyExtensionPoints: number;
19
+ };
20
+ }
21
+ /**
22
+ * Documentation Generator - Creates comprehensive documentation from extension points
23
+ */
24
+ export declare class DocumentationGenerator {
25
+ /**
26
+ * Generate complete documentation for all extension points
27
+ */
28
+ static generateFullDocumentation(extensions: PluginExtensionsType | undefined, options?: DocumentationOptions): GeneratedDocumentation;
29
+ /**
30
+ * Generate documentation header with metadata
31
+ */
32
+ private static generateHeader;
33
+ /**
34
+ * Generate table of contents
35
+ */
36
+ private static generateTableOfContents;
37
+ /**
38
+ * Generate overview section with health statistics
39
+ */
40
+ private static generateOverviewSection;
41
+ /**
42
+ * Generate documentation section for a single extension point
43
+ */
44
+ private static generateExtensionPointSection;
45
+ /**
46
+ * Generate usage examples for an extension point
47
+ */
48
+ static generateUsageExamples(extensionPoint: ExtensionPointInfo): string;
49
+ /**
50
+ * Generate plugin list with health information
51
+ */
52
+ private static generatePluginList;
53
+ /**
54
+ * Generate schema fields documentation
55
+ */
56
+ private static generateSchemaFieldsSection;
57
+ /**
58
+ * Generate contribution structure documentation
59
+ */
60
+ private static generateContributionStructure;
61
+ /**
62
+ * Generate TypeScript definitions section
63
+ */
64
+ private static generateTypeDefinitionsSection;
65
+ /**
66
+ * Generate contribution guide
67
+ */
68
+ private static generateContributionGuide;
69
+ /**
70
+ * Generate troubleshooting section
71
+ */
72
+ private static generateTroubleshootingSection;
73
+ private static getExtensionPointImportName;
74
+ private static getExtensionPointTypeName;
75
+ private static getHealthEmoji;
76
+ private static inferContributionKey;
77
+ private static isViewBasedExtensionPoint;
78
+ private static isRankableExtensionPoint;
79
+ /**
80
+ * Get schema fields for contribution structure generation
81
+ */
82
+ private static getSchemaFieldsForContribution;
83
+ private static getSpecificFields;
84
+ }
85
+ //# sourceMappingURL=documentation-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documentation-generator.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-plugin/src/lib/utils/discovery/documentation-generator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAEV,oBAAoB,EACrB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGrE,MAAM,WAAW,oBAAoB;IACnC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,YAAY,EAAE,MAAM,CAAC;QACrB,yBAAyB,EAAE,MAAM,CAAC;QAClC,qBAAqB,EAAE,MAAM,CAAC;KAC/B,CAAC;CACH;AAED;;GAEG;AACH,qBAAa,sBAAsB;IACjC;;OAEG;IACH,MAAM,CAAC,yBAAyB,CAC9B,UAAU,EAAE,oBAAoB,GAAG,SAAS,EAC5C,OAAO,GAAE,oBAAyB,GACjC,sBAAsB;IAkDzB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAkB7B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAqBtC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IA0BtC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,6BAA6B;IA+D5C;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAAC,cAAc,EAAE,kBAAkB,GAAG,MAAM;IA8ExE;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAsCjC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,2BAA2B;IAwC1C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,6BAA6B;IA4G5C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,8BAA8B;IAuC7C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB;IA4CxC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,8BAA8B;IA6C7C,OAAO,CAAC,MAAM,CAAC,2BAA2B;IA6B1C,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAIxC,OAAO,CAAC,MAAM,CAAC,cAAc;IAa7B,OAAO,CAAC,MAAM,CAAC,oBAAoB;IA+BnC,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAexC,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAevC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,8BAA8B;IAkB7C,OAAO,CAAC,MAAM,CAAC,iBAAiB;CA8BjC"}
@@ -0,0 +1,109 @@
1
+ import { PluginExtension, PluginExtensionsType } from '../../../types/plugins';
2
+
3
+ export interface ExtensionPointInfo {
4
+ id: string;
5
+ displayName?: string;
6
+ description?: string;
7
+ source: "simplified" | "legacy";
8
+ metadata?: {
9
+ category?: string;
10
+ tags?: string[];
11
+ since?: string;
12
+ deprecated?: boolean;
13
+ owner?: string;
14
+ };
15
+ pluginCount: number;
16
+ plugins: PluginExtension[];
17
+ }
18
+ export interface PluginHealthStats {
19
+ totalExtensionPoints: number;
20
+ extensionPointsWithPlugins: number;
21
+ totalPlugins: number;
22
+ simplifiedExtensionPoints: number;
23
+ legacyExtensionPoints: number;
24
+ deprecatedExtensionPoints: number;
25
+ }
26
+ export interface PluginDiscoveryOptions {
27
+ includeLegacyExtensions?: boolean;
28
+ includeEmptyExtensionPoints?: boolean;
29
+ }
30
+ export interface PluginDescriptorValidationResult {
31
+ isValid: boolean;
32
+ errors: string[];
33
+ warnings: string[];
34
+ missingRequired: string[];
35
+ suggestions: string[];
36
+ }
37
+ export interface CompatibilityCheckResult {
38
+ isCompatible: boolean;
39
+ issues: string[];
40
+ missingExtensionPoints: string[];
41
+ incompatibleTypes: string[];
42
+ suggestions: string[];
43
+ }
44
+ export interface PluginDescriptor {
45
+ id: string;
46
+ init?: boolean;
47
+ contributes?: {
48
+ [key: string]: any[];
49
+ };
50
+ }
51
+ /**
52
+ * Plugin Discovery Service - Core business logic for plugin analysis
53
+ */
54
+ export declare class PluginDiscoveryService {
55
+ /**
56
+ * Get all extension points with their plugin information
57
+ */
58
+ static getExtensionPoints(extensions: PluginExtensionsType | undefined, options?: PluginDiscoveryOptions): ExtensionPointInfo[];
59
+ /**
60
+ * Filter extension points based on search criteria
61
+ */
62
+ static filterExtensionPoints(extensionPoints: ExtensionPointInfo[], searchTerm: string): ExtensionPointInfo[];
63
+ /**
64
+ * Calculate health statistics for the plugin system
65
+ */
66
+ static calculateHealthStats(extensionPoints: ExtensionPointInfo[]): PluginHealthStats;
67
+ /**
68
+ * Analyze a specific plugin for health and capabilities
69
+ */
70
+ static analyzePlugin(plugin: PluginExtension): {
71
+ hasComponent: boolean;
72
+ hasRank: boolean;
73
+ healthStatus: "healthy" | "warning" | "error";
74
+ capabilities: string[];
75
+ };
76
+ /**
77
+ * Get extension point by ID with detailed information
78
+ */
79
+ static getExtensionPointById(extensionPoints: ExtensionPointInfo[], id: string): ExtensionPointInfo | undefined;
80
+ /**
81
+ * Validate if an extension point ID follows conventions
82
+ */
83
+ static validateExtensionPointId(id: string): {
84
+ isValid: boolean;
85
+ issues: string[];
86
+ suggestions: string[];
87
+ };
88
+ /**
89
+ * Validate a plugin descriptor structure and content
90
+ */
91
+ static validatePluginDescriptor(descriptor: PluginDescriptor): PluginDescriptorValidationResult;
92
+ /**
93
+ * Check compatibility between plugin contributions and available extension points
94
+ */
95
+ static checkPluginCompatibility(pluginDescriptor: PluginDescriptor, availableExtensionPoints: ExtensionPointInfo[]): CompatibilityCheckResult;
96
+ /**
97
+ * Map contribution keys to their expected extension point IDs
98
+ */
99
+ private static getExpectedExtensionPoints;
100
+ /**
101
+ * Get comprehensive plugin analysis including validation and compatibility
102
+ */
103
+ static analyzePluginDescriptor(descriptor: PluginDescriptor, availableExtensionPoints: ExtensionPointInfo[]): {
104
+ validation: PluginDescriptorValidationResult;
105
+ compatibility: CompatibilityCheckResult;
106
+ recommendations: string[];
107
+ };
108
+ }
109
+ //# sourceMappingURL=plugin-discovery-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-discovery-service.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-plugin/src/lib/utils/discovery/plugin-discovery-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ import { ExtensionPointConfig, ExtensionPointDefinition, ViewExtensionPointDefinition } from './extension-point-types';
2
+
3
+ export type { ValidationContext, TransformContext, SchemaFieldInfo, ExtensionPointConfig, ExtensionComponentProps, ExtensionPointDefinition, ViewExtensionPointDefinition, } from './extension-point-types';
4
+ export { extensionPointId } from './extension-point-types';
5
+ export { createViewAwareTransform } from './extension-point-transforms';
6
+ export { getExtensionPointRegistry, registry, } from './extension-point-registry';
7
+ export { getValidationResults } from './extension-point-validation';
8
+ /**
9
+ * Define a new extension point with simplified API
10
+ *
11
+ * Returns an extension point definition that must be explicitly registered
12
+ * by calling the register() method. This prevents automatic registration
13
+ * and circular dependency issues.
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * // Simple extension point
18
+ * export const MyFeatureExtension = defineExtensionPoint({
19
+ * id: 'ddk.myFeature',
20
+ * contributionKey: 'myFeature',
21
+ * displayName: 'My Feature',
22
+ * description: 'Extension point for custom features'
23
+ * });
24
+ *
25
+ * // Register it explicitly in your app initialization
26
+ * MyFeatureExtension.register();
27
+ *
28
+ * // Extension point with view support
29
+ * export const MyViewExtension = defineExtensionPoint({
30
+ * id: 'ddk.myView.config',
31
+ * contributionKey: 'myView',
32
+ * hasView: true,
33
+ * relatedPoints: {
34
+ * view: 'ddk.myView.view',
35
+ * definition: 'ddk.myView'
36
+ * },
37
+ * transform: (data, context) => ({
38
+ * ...data,
39
+ * processedAt: Date.now()
40
+ * })
41
+ * });
42
+ *
43
+ * // Register it explicitly in your app initialization
44
+ * MyViewExtension.register();
45
+ *
46
+ * // Use the pre-configured component (for view-based extensions)
47
+ * <MyViewExtension.Component
48
+ * module="specific-module-id"
49
+ * fallback={<div>Loading...</div>}
50
+ * customProp="value"
51
+ * />
52
+ * ```
53
+ */
54
+ export declare function defineExtensionPoint<TData = any, TProcessed = TData, TProps = any>(config: ExtensionPointConfig<TData, TProcessed, TProps> & {
55
+ hasView: true;
56
+ }): ViewExtensionPointDefinition<TData, TProcessed, TProps>;
57
+ export declare function defineExtensionPoint<TData = any, TProcessed = TData, TProps = any>(config: ExtensionPointConfig<TData, TProcessed, TProps>): ExtensionPointDefinition<TData, TProcessed, TProps>;
58
+ //# sourceMappingURL=define-extension-point.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define-extension-point.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-plugin/src/lib/utils/extension-points/define-extension-point.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,oBAAoB,EACpB,wBAAwB,EACxB,4BAA4B,EAC7B,MAAM,yBAAyB,CAAC;AAIjC,YAAY,EACV,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,yBAAyB,EACzB,QAAQ,GACT,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAGH,wBAAgB,oBAAoB,CAClC,KAAK,GAAG,GAAG,EACX,UAAU,GAAG,KAAK,EAClB,MAAM,GAAG,GAAG,EAEZ,MAAM,EAAE,oBAAoB,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,GAAG;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,GAC1E,4BAA4B,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;AAG3D,wBAAgB,oBAAoB,CAClC,KAAK,GAAG,GAAG,EACX,UAAU,GAAG,KAAK,EAClB,MAAM,GAAG,GAAG,EAEZ,MAAM,EAAE,oBAAoB,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,GACtD,wBAAwB,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC"}