bun_plugins 1.1.2 → 1.2.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 (180) hide show
  1. package/README.md +2 -2
  2. package/dist/Plugin.d.ts +28 -0
  3. package/dist/Plugin.d.ts.map +1 -0
  4. package/dist/Plugin.js +36 -0
  5. package/dist/Plugin.js.map +1 -0
  6. package/dist/PluginManager.d.ts +6 -0
  7. package/dist/PluginManager.d.ts.map +1 -1
  8. package/dist/PluginManager.js +84 -42
  9. package/dist/PluginManager.js.map +1 -1
  10. package/dist/index.d.ts +2 -0
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +2 -0
  13. package/dist/index.js.map +1 -1
  14. package/dist/logger/LoggerAdapter.d.ts +77 -0
  15. package/dist/logger/LoggerAdapter.d.ts.map +1 -0
  16. package/dist/logger/LoggerAdapter.js +244 -0
  17. package/dist/logger/LoggerAdapter.js.map +1 -0
  18. package/dist/logger/LoggerFactory.d.ts +73 -0
  19. package/dist/logger/LoggerFactory.d.ts.map +1 -0
  20. package/dist/logger/LoggerFactory.js +99 -0
  21. package/dist/logger/LoggerFactory.js.map +1 -0
  22. package/dist/logger/index.d.ts +3 -0
  23. package/dist/logger/index.d.ts.map +1 -0
  24. package/dist/logger/index.js +3 -0
  25. package/dist/logger/index.js.map +1 -0
  26. package/dist/managers/ContextFactory.d.ts.map +1 -1
  27. package/dist/managers/ContextFactory.js +13 -9
  28. package/dist/managers/ContextFactory.js.map +1 -1
  29. package/dist/managers/DependencyManager.d.ts.map +1 -1
  30. package/dist/managers/DependencyManager.js +2 -1
  31. package/dist/managers/DependencyManager.js.map +1 -1
  32. package/dist/managers/HooksManager.d.ts +4 -1
  33. package/dist/managers/HooksManager.d.ts.map +1 -1
  34. package/dist/managers/HooksManager.js +36 -8
  35. package/dist/managers/HooksManager.js.map +1 -1
  36. package/dist/managers/ResourceManager.d.ts.map +1 -1
  37. package/dist/managers/ResourceManager.js +2 -1
  38. package/dist/managers/ResourceManager.js.map +1 -1
  39. package/dist/pluginRegistry.d.ts +13 -0
  40. package/dist/pluginRegistry.d.ts.map +1 -0
  41. package/dist/pluginRegistry.js +11 -0
  42. package/dist/pluginRegistry.js.map +1 -0
  43. package/dist/plugins/ActionRegistryPlugin.d.ts +23 -0
  44. package/dist/plugins/ActionRegistryPlugin.d.ts.map +1 -0
  45. package/dist/plugins/ActionRegistryPlugin.js +56 -0
  46. package/dist/plugins/ActionRegistryPlugin.js.map +1 -0
  47. package/dist/plugins/DynamicJSActionsPlugin.d.ts +21 -0
  48. package/dist/plugins/DynamicJSActionsPlugin.d.ts.map +1 -0
  49. package/dist/plugins/DynamicJSActionsPlugin.js +57 -0
  50. package/dist/plugins/DynamicJSActionsPlugin.js.map +1 -0
  51. package/dist/plugins/DynamicMathActionsPlugin.d.ts +22 -0
  52. package/dist/plugins/DynamicMathActionsPlugin.d.ts.map +1 -0
  53. package/dist/plugins/DynamicMathActionsPlugin.js +64 -0
  54. package/dist/plugins/DynamicMathActionsPlugin.js.map +1 -0
  55. package/dist/plugins/DynamicTextActionsPlugin.d.ts +22 -0
  56. package/dist/plugins/DynamicTextActionsPlugin.d.ts.map +1 -0
  57. package/dist/plugins/DynamicTextActionsPlugin.js +58 -0
  58. package/dist/plugins/DynamicTextActionsPlugin.js.map +1 -0
  59. package/dist/plugins/DynamicUtilityActionsPlugin.d.ts +22 -0
  60. package/dist/plugins/DynamicUtilityActionsPlugin.d.ts.map +1 -0
  61. package/dist/plugins/DynamicUtilityActionsPlugin.js +75 -0
  62. package/dist/plugins/DynamicUtilityActionsPlugin.js.map +1 -0
  63. package/dist/plugins/ExamplePlugin.d.ts +3 -0
  64. package/dist/plugins/ExamplePlugin.d.ts.map +1 -0
  65. package/dist/plugins/ExamplePlugin.js +41 -0
  66. package/dist/plugins/ExamplePlugin.js.map +1 -0
  67. package/dist/plugins/LifecycleDemoPlugin.d.ts +20 -0
  68. package/dist/plugins/LifecycleDemoPlugin.d.ts.map +1 -0
  69. package/dist/plugins/LifecycleDemoPlugin.js +34 -0
  70. package/dist/plugins/LifecycleDemoPlugin.js.map +1 -0
  71. package/dist/plugins/MathPlugin.d.ts +16 -0
  72. package/dist/plugins/MathPlugin.d.ts.map +1 -0
  73. package/dist/plugins/MathPlugin.js +25 -0
  74. package/dist/plugins/MathPlugin.js.map +1 -0
  75. package/dist/plugins/MyJSPlugin.d.ts +7 -0
  76. package/dist/plugins/MyJSPlugin.d.ts.map +1 -0
  77. package/dist/plugins/MyJSPlugin.js +12 -0
  78. package/dist/plugins/MyJSPlugin.js.map +1 -0
  79. package/dist/plugins/arktype/index.d.ts +8 -0
  80. package/dist/plugins/arktype/index.d.ts.map +1 -0
  81. package/dist/plugins/arktype/index.js +25 -0
  82. package/dist/plugins/arktype/index.js.map +1 -0
  83. package/dist/src/Plugin.d.ts +28 -0
  84. package/dist/src/Plugin.d.ts.map +1 -0
  85. package/dist/src/Plugin.js +36 -0
  86. package/dist/src/Plugin.js.map +1 -0
  87. package/dist/src/PluginManager.d.ts +74 -0
  88. package/dist/src/PluginManager.d.ts.map +1 -0
  89. package/dist/src/PluginManager.js +689 -0
  90. package/dist/src/PluginManager.js.map +1 -0
  91. package/dist/src/index.d.ts +7 -0
  92. package/dist/src/index.d.ts.map +1 -0
  93. package/dist/src/index.js +7 -0
  94. package/dist/src/index.js.map +1 -0
  95. package/dist/src/logger/LoggerAdapter.d.ts +77 -0
  96. package/dist/src/logger/LoggerAdapter.d.ts.map +1 -0
  97. package/dist/src/logger/LoggerAdapter.js +242 -0
  98. package/dist/src/logger/LoggerAdapter.js.map +1 -0
  99. package/dist/src/logger/LoggerFactory.d.ts +73 -0
  100. package/dist/src/logger/LoggerFactory.d.ts.map +1 -0
  101. package/dist/src/logger/LoggerFactory.js +99 -0
  102. package/dist/src/logger/LoggerFactory.js.map +1 -0
  103. package/dist/src/logger/index.d.ts +3 -0
  104. package/dist/src/logger/index.d.ts.map +1 -0
  105. package/dist/src/logger/index.js +3 -0
  106. package/dist/src/logger/index.js.map +1 -0
  107. package/dist/src/managers/ContextFactory.d.ts +6 -0
  108. package/dist/src/managers/ContextFactory.d.ts.map +1 -0
  109. package/dist/src/managers/ContextFactory.js +132 -0
  110. package/dist/src/managers/ContextFactory.js.map +1 -0
  111. package/dist/src/managers/DependencyManager.d.ts +10 -0
  112. package/dist/src/managers/DependencyManager.d.ts.map +1 -0
  113. package/dist/src/managers/DependencyManager.js +96 -0
  114. package/dist/src/managers/DependencyManager.js.map +1 -0
  115. package/dist/src/managers/HooksManager.d.ts +24 -0
  116. package/dist/src/managers/HooksManager.d.ts.map +1 -0
  117. package/dist/src/managers/HooksManager.js +145 -0
  118. package/dist/src/managers/HooksManager.js.map +1 -0
  119. package/dist/src/managers/ResourceManager.d.ts +16 -0
  120. package/dist/src/managers/ResourceManager.d.ts.map +1 -0
  121. package/dist/src/managers/ResourceManager.js +50 -0
  122. package/dist/src/managers/ResourceManager.js.map +1 -0
  123. package/dist/src/pluginRegistry.d.ts +13 -0
  124. package/dist/src/pluginRegistry.d.ts.map +1 -0
  125. package/dist/src/pluginRegistry.js +11 -0
  126. package/dist/src/pluginRegistry.js.map +1 -0
  127. package/dist/src/storage/JsonPluginStorage.d.ts +15 -0
  128. package/dist/src/storage/JsonPluginStorage.d.ts.map +1 -0
  129. package/dist/src/storage/JsonPluginStorage.js +75 -0
  130. package/dist/src/storage/JsonPluginStorage.js.map +1 -0
  131. package/dist/src/types/arktype_converter.d.ts +19 -0
  132. package/dist/src/types/arktype_converter.d.ts.map +1 -0
  133. package/dist/src/types/arktype_converter.js +73 -0
  134. package/dist/src/types/arktype_converter.js.map +1 -0
  135. package/dist/src/types/generator.d.ts +8 -0
  136. package/dist/src/types/generator.d.ts.map +1 -0
  137. package/dist/src/types/generator.js +9 -0
  138. package/dist/src/types/generator.js.map +1 -0
  139. package/dist/src/types/interfaces.d.ts +55 -0
  140. package/dist/src/types/interfaces.d.ts.map +1 -0
  141. package/dist/src/types/interfaces.js +5 -0
  142. package/dist/src/types/interfaces.js.map +1 -0
  143. package/dist/src/types/plugin-registry.d.ts +21 -0
  144. package/dist/src/types/plugin-registry.d.ts.map +1 -0
  145. package/dist/src/types/plugin-registry.js +4 -0
  146. package/dist/src/types/plugin-registry.js.map +1 -0
  147. package/dist/src/types/plugin_generator.d.ts +56 -0
  148. package/dist/src/types/plugin_generator.d.ts.map +1 -0
  149. package/dist/src/types/plugin_generator.js +659 -0
  150. package/dist/src/types/plugin_generator.js.map +1 -0
  151. package/dist/src/types.d.ts +211 -0
  152. package/dist/src/types.d.ts.map +1 -0
  153. package/dist/src/types.js +62 -0
  154. package/dist/src/types.js.map +1 -0
  155. package/dist/src/utils/errorParser.d.ts +3 -0
  156. package/dist/src/utils/errorParser.d.ts.map +1 -0
  157. package/dist/src/utils/errorParser.js +23 -0
  158. package/dist/src/utils/errorParser.js.map +1 -0
  159. package/dist/src/utils/pluginValidator.d.ts +17 -0
  160. package/dist/src/utils/pluginValidator.d.ts.map +1 -0
  161. package/dist/src/utils/pluginValidator.js +74 -0
  162. package/dist/src/utils/pluginValidator.js.map +1 -0
  163. package/dist/src/utils/security.d.ts +3 -0
  164. package/dist/src/utils/security.d.ts.map +1 -0
  165. package/dist/src/utils/security.js +26 -0
  166. package/dist/src/utils/security.js.map +1 -0
  167. package/dist/src/worker/WorkerRunner.d.ts +2 -0
  168. package/dist/src/worker/WorkerRunner.d.ts.map +1 -0
  169. package/dist/src/worker/WorkerRunner.js +274 -0
  170. package/dist/src/worker/WorkerRunner.js.map +1 -0
  171. package/dist/storage/JsonPluginStorage.d.ts.map +1 -1
  172. package/dist/storage/JsonPluginStorage.js +3 -2
  173. package/dist/storage/JsonPluginStorage.js.map +1 -1
  174. package/dist/types.d.ts +22 -6
  175. package/dist/types.d.ts.map +1 -1
  176. package/dist/types.js +1 -1
  177. package/dist/types.js.map +1 -1
  178. package/dist/worker/WorkerRunner.js +21 -9
  179. package/dist/worker/WorkerRunner.js.map +1 -1
  180. package/package.json +4 -3
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Plugin dinámico de JavaScript que registra acciones en ActionRegistry
3
+ * Se carga automáticamente y registra acciones usando loadPluginsFromDirectory
4
+ */
5
+ export class DynamicJSActionsPlugin {
6
+ constructor() {
7
+ this.name = "dynamic-js-actions";
8
+ this.version = "1.0.0";
9
+ this.dependencies = {
10
+ "action-registry": "1.0.0"
11
+ };
12
+ }
13
+ async onLoad(context) {
14
+ await this.registerActions(context);
15
+ }
16
+ async registerActions(context) {
17
+ try {
18
+ // Obtener el ActionRegistry del contexto compartido
19
+ const actionRegistry = await context.getPlugin("action-registry");
20
+ if (actionRegistry) {
21
+ // Registrar acciones de JavaScript
22
+ actionRegistry.registerAction("js-greet", (name) => {
23
+ return `¡Hola ${name} desde JavaScript!`;
24
+ });
25
+ actionRegistry.registerAction("js-random-int", (min, max) => {
26
+ return Math.floor(Math.random() * (max - min + 1)) + min;
27
+ });
28
+ actionRegistry.registerAction("js-reverse-words", (text) => {
29
+ return text.split(' ').reverse().join(' ');
30
+ });
31
+ actionRegistry.registerAction("js-count-vowels", (text) => {
32
+ return (text.match(/[aeiouáéíóú]/gi) || []).length;
33
+ });
34
+ context.log.info("JavaScript actions registered");
35
+ }
36
+ else {
37
+ context.log.error("ActionRegistry not available, actions will not be registered");
38
+ }
39
+ }
40
+ catch (error) {
41
+ context.log.error("Error registering JavaScript actions:", error);
42
+ }
43
+ }
44
+ onUnload() {
45
+ // Cleanup is handled by the plugin manager
46
+ }
47
+ // Informar qué acciones proporciona este plugin
48
+ getApi() {
49
+ return {
50
+ name: this.name,
51
+ actions: ["js-greet", "js-random-int", "js-reverse-words", "js-count-vowels"],
52
+ type: "javascript-actions",
53
+ loaded: "dynamically"
54
+ };
55
+ }
56
+ }
57
+ //# sourceMappingURL=DynamicJSActionsPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynamicJSActionsPlugin.js","sourceRoot":"","sources":["../../plugins/DynamicJSActionsPlugin.js"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,OAAO,sBAAsB;IACjC;QACE,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG;YAClB,iBAAiB,EAAE,OAAO;SAC3B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAO;QAClB,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAAO;QAC3B,IAAI,CAAC;YACH,oDAAoD;YACpD,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;YAElE,IAAI,cAAc,EAAE,CAAC;gBACnB,mCAAmC;gBACnC,cAAc,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE;oBACjD,OAAO,SAAS,IAAI,oBAAoB,CAAC;gBAC3C,CAAC,CAAC,CAAC;gBAEH,cAAc,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;oBAC1D,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;gBAC3D,CAAC,CAAC,CAAC;gBAEH,cAAc,CAAC,cAAc,CAAC,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE;oBACzD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC7C,CAAC,CAAC,CAAC;gBAEH,cAAc,CAAC,cAAc,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE;oBACxD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;gBACrD,CAAC,CAAC,CAAC;gBAEH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YACpD,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,QAAQ;QACN,2CAA2C;IAC7C,CAAC;IAED,gDAAgD;IAChD,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,CAAC,UAAU,EAAE,eAAe,EAAE,kBAAkB,EAAE,iBAAiB,CAAC;YAC7E,IAAI,EAAE,oBAAoB;YAC1B,MAAM,EAAE,aAAa;SACtB,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Plugin dinámico de acciones matemáticas
3
+ * Se carga automáticamente y registra acciones en ActionRegistry
4
+ */
5
+ import { Plugin, PluginContext } from "../src";
6
+ export declare class MathPlugin2 extends Plugin {
7
+ name: string;
8
+ version: string;
9
+ dependencies: {
10
+ "action-registry": string;
11
+ };
12
+ onLoad(context: PluginContext): Promise<void>;
13
+ private registerActions;
14
+ onUnload(): void;
15
+ getApi(): {
16
+ name: string;
17
+ actions: string[];
18
+ type: string;
19
+ loaded: string;
20
+ };
21
+ }
22
+ //# sourceMappingURL=DynamicMathActionsPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynamicMathActionsPlugin.d.ts","sourceRoot":"","sources":["../../plugins/DynamicMathActionsPlugin.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE/C,qBAAa,WAAY,SAAQ,MAAM;IACrC,IAAI,SAA0B;IAC9B,OAAO,SAAW;IAET,YAAY;;MAEnB;IAEa,MAAM,CAAC,OAAO,EAAE,aAAa;YAI9B,eAAe;IAsCpB,QAAQ;IAKjB,MAAM;;;;;;CAQP"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Plugin dinámico de acciones matemáticas
3
+ * Se carga automáticamente y registra acciones en ActionRegistry
4
+ */
5
+ import { Plugin } from "../src";
6
+ export class MathPlugin2 extends Plugin {
7
+ name = "dynamic-math-actions";
8
+ version = "1.0.0";
9
+ dependencies = {
10
+ "action-registry": "1.0.0"
11
+ };
12
+ async onLoad(context) {
13
+ await this.registerActions(context);
14
+ }
15
+ async registerActions(context) {
16
+ try {
17
+ // Obtener el ActionRegistry del contexto compartido
18
+ const actionRegistry = await context.getPlugin("action-registry");
19
+ if (actionRegistry) {
20
+ // Registrar acciones matemáticas
21
+ actionRegistry.registerAction("sum", (a, b) => {
22
+ return a + b;
23
+ });
24
+ actionRegistry.registerAction("multiply", (a, b) => {
25
+ return a * b;
26
+ });
27
+ actionRegistry.registerAction("power", (base, exponent) => {
28
+ return Math.pow(base, exponent);
29
+ });
30
+ actionRegistry.registerAction("factorial", (n) => {
31
+ if (n < 0)
32
+ return NaN;
33
+ if (n === 0)
34
+ return 1;
35
+ let result = 1;
36
+ for (let i = 1; i <= n; i++) {
37
+ result *= i;
38
+ }
39
+ return result;
40
+ });
41
+ context.log.info("Math actions registered");
42
+ }
43
+ else {
44
+ context.log.error("ActionRegistry not available, actions will not be registered");
45
+ }
46
+ }
47
+ catch (error) {
48
+ context.log.error("Error registering math actions:", error);
49
+ }
50
+ }
51
+ onUnload() {
52
+ // Cleanup is handled by the plugin manager
53
+ }
54
+ // Informar qué acciones proporciona este plugin
55
+ getApi() {
56
+ return {
57
+ name: this.name,
58
+ actions: ["sum", "multiply", "power", "factorial"],
59
+ type: "math-actions",
60
+ loaded: "dynamically"
61
+ };
62
+ }
63
+ }
64
+ //# sourceMappingURL=DynamicMathActionsPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynamicMathActionsPlugin.js","sourceRoot":"","sources":["../../plugins/DynamicMathActionsPlugin.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,MAAM,EAAiB,MAAM,QAAQ,CAAC;AAE/C,MAAM,OAAO,WAAY,SAAQ,MAAM;IACrC,IAAI,GAAG,sBAAsB,CAAC;IAC9B,OAAO,GAAG,OAAO,CAAC;IAET,YAAY,GAAG;QACtB,iBAAiB,EAAE,OAAO;KAC3B,CAAC;IAEO,KAAK,CAAC,MAAM,CAAC,OAAsB;QAC1C,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,OAAsB;QAClD,IAAI,CAAC;YACH,oDAAoD;YACpD,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;YAElE,IAAI,cAAc,EAAE,CAAC;gBACnB,iCAAiC;gBACjC,cAAc,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;oBAC5D,OAAO,CAAC,GAAG,CAAC,CAAC;gBACf,CAAC,CAAC,CAAC;gBAEH,cAAc,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;oBACjE,OAAO,CAAC,GAAG,CAAC,CAAC;gBACf,CAAC,CAAC,CAAC;gBAEH,cAAc,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,IAAY,EAAE,QAAgB,EAAE,EAAE;oBACxE,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAClC,CAAC,CAAC,CAAC;gBAEH,cAAc,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAS,EAAE,EAAE;oBACvD,IAAI,CAAC,GAAG,CAAC;wBAAE,OAAO,GAAG,CAAC;oBACtB,IAAI,CAAC,KAAK,CAAC;wBAAE,OAAO,CAAC,CAAC;oBACtB,IAAI,MAAM,GAAG,CAAC,CAAC;oBACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC5B,MAAM,IAAI,CAAC,CAAC;oBACd,CAAC;oBACD,OAAO,MAAM,CAAC;gBAChB,CAAC,CAAC,CAAC;gBAEH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAEQ,QAAQ;QACf,2CAA2C;IAC7C,CAAC;IAED,gDAAgD;IAChD,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC;YAClD,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,aAAa;SACtB,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Plugin dinámico de acciones de texto
3
+ * Se carga automáticamente y registra acciones en ActionRegistry
4
+ */
5
+ import type { IPlugin, PluginContext } from "../src";
6
+ export declare class DynamicTextActionsPlugin implements IPlugin {
7
+ name: string;
8
+ version: string;
9
+ dependencies: {
10
+ "action-registry": string;
11
+ };
12
+ onLoad(context: PluginContext): Promise<void>;
13
+ private registerActions;
14
+ onUnload(): void;
15
+ getApi(): {
16
+ name: string;
17
+ actions: string[];
18
+ type: string;
19
+ loaded: string;
20
+ };
21
+ }
22
+ //# sourceMappingURL=DynamicTextActionsPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynamicTextActionsPlugin.d.ts","sourceRoot":"","sources":["../../plugins/DynamicTextActionsPlugin.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAErD,qBAAa,wBAAyB,YAAW,OAAO;IACtD,IAAI,SAA0B;IAC9B,OAAO,SAAW;IAElB,YAAY;;MAEV;IAEI,MAAM,CAAC,OAAO,EAAE,aAAa;YAIrB,eAAe;IAoC7B,QAAQ;IAKR,MAAM;;;;;;CAQP"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Plugin dinámico de acciones de texto
3
+ * Se carga automáticamente y registra acciones en ActionRegistry
4
+ */
5
+ export class DynamicTextActionsPlugin {
6
+ name = "dynamic-text-actions";
7
+ version = "1.0.0";
8
+ dependencies = {
9
+ "action-registry": "1.0.0"
10
+ };
11
+ async onLoad(context) {
12
+ await this.registerActions(context);
13
+ }
14
+ async registerActions(context) {
15
+ try {
16
+ // Obtener el ActionRegistry del contexto compartido
17
+ const actionRegistry = await context.getPlugin("action-registry");
18
+ if (actionRegistry) {
19
+ // Registrar acciones de texto
20
+ actionRegistry.registerAction("uppercase", (text) => {
21
+ return text.toUpperCase();
22
+ });
23
+ actionRegistry.registerAction("lowercase", (text) => {
24
+ return text.toLowerCase();
25
+ });
26
+ actionRegistry.registerAction("reverse", (text) => {
27
+ return text.split('').reverse().join('');
28
+ });
29
+ actionRegistry.registerAction("wordCount", (text) => {
30
+ return text.trim().split(/\s+/).filter(word => word.length > 0).length;
31
+ });
32
+ actionRegistry.registerAction("capitalizeWords", (text) => {
33
+ return text.replace(/\b\w/g, char => char.toUpperCase());
34
+ });
35
+ context.log.info("Text actions registered");
36
+ }
37
+ else {
38
+ context.log.error("ActionRegistry not available, actions will not be registered");
39
+ }
40
+ }
41
+ catch (error) {
42
+ context.log.error("Error registering text actions:", error);
43
+ }
44
+ }
45
+ onUnload() {
46
+ // Cleanup is handled by the plugin manager
47
+ }
48
+ // Informar qué acciones proporciona este plugin
49
+ getApi() {
50
+ return {
51
+ name: this.name,
52
+ actions: ["uppercase", "lowercase", "reverse", "wordCount", "capitalizeWords"],
53
+ type: "text-actions",
54
+ loaded: "dynamically"
55
+ };
56
+ }
57
+ }
58
+ //# sourceMappingURL=DynamicTextActionsPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynamicTextActionsPlugin.js","sourceRoot":"","sources":["../../plugins/DynamicTextActionsPlugin.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,OAAO,wBAAwB;IACnC,IAAI,GAAG,sBAAsB,CAAC;IAC9B,OAAO,GAAG,OAAO,CAAC;IAElB,YAAY,GAAG;QACb,iBAAiB,EAAE,OAAO;KAC3B,CAAC;IAEF,KAAK,CAAC,MAAM,CAAC,OAAsB;QACjC,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,OAAsB;QAClD,IAAI,CAAC;YACH,oDAAoD;YACpD,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,iBAAiB,CAAQ,CAAC;YAEzE,IAAI,cAAc,EAAE,CAAC;gBACnB,8BAA8B;gBAC9B,cAAc,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,IAAY,EAAE,EAAE;oBAC1D,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC5B,CAAC,CAAC,CAAC;gBAEH,cAAc,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,IAAY,EAAE,EAAE;oBAC1D,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC5B,CAAC,CAAC,CAAC;gBAEH,cAAc,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC,IAAY,EAAE,EAAE;oBACxD,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC3C,CAAC,CAAC,CAAC;gBAEH,cAAc,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,IAAY,EAAE,EAAE;oBAC1D,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;gBACzE,CAAC,CAAC,CAAC;gBAEH,cAAc,CAAC,cAAc,CAAC,iBAAiB,EAAE,CAAC,IAAY,EAAE,EAAE;oBAChE,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC3D,CAAC,CAAC,CAAC;gBAEH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,QAAQ;QACN,2CAA2C;IAC7C,CAAC;IAED,gDAAgD;IAChD,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,iBAAiB,CAAC;YAC9E,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,aAAa;SACtB,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Plugin dinámico de acciones de utilidad
3
+ * Se carga automáticamente y registra acciones en ActionRegistry
4
+ */
5
+ import type { IPlugin, PluginContext } from "../src";
6
+ export declare class DynamicUtilityActionsPlugin implements IPlugin {
7
+ name: string;
8
+ version: string;
9
+ dependencies: {
10
+ "action-registry": string;
11
+ };
12
+ onLoad(context: PluginContext): Promise<void>;
13
+ private registerActions;
14
+ onUnload(): void;
15
+ getApi(): {
16
+ name: string;
17
+ actions: string[];
18
+ type: string;
19
+ loaded: string;
20
+ };
21
+ }
22
+ //# sourceMappingURL=DynamicUtilityActionsPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynamicUtilityActionsPlugin.d.ts","sourceRoot":"","sources":["../../plugins/DynamicUtilityActionsPlugin.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAErD,qBAAa,2BAA4B,YAAW,OAAO;IACzD,IAAI,SAA6B;IACjC,OAAO,SAAW;IAElB,YAAY;;MAEV;IAEI,MAAM,CAAC,OAAO,EAAE,aAAa;YAIrB,eAAe;IAsD7B,QAAQ;IAKR,MAAM;;;;;;CAQP"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Plugin dinámico de acciones de utilidad
3
+ * Se carga automáticamente y registra acciones en ActionRegistry
4
+ */
5
+ export class DynamicUtilityActionsPlugin {
6
+ name = "dynamic-utility-actions";
7
+ version = "1.0.0";
8
+ dependencies = {
9
+ "action-registry": "1.0.0"
10
+ };
11
+ async onLoad(context) {
12
+ await this.registerActions(context);
13
+ }
14
+ async registerActions(context) {
15
+ try {
16
+ // Obtener el ActionRegistry del contexto compartido
17
+ const actionRegistry = await context.getPlugin("action-registry");
18
+ if (actionRegistry) {
19
+ // Registrar acciones de utilidad
20
+ actionRegistry.registerAction("random", (min, max) => {
21
+ return Math.floor(Math.random() * (max - min + 1)) + min;
22
+ });
23
+ actionRegistry.registerAction("timestamp", () => {
24
+ return Date.now();
25
+ });
26
+ actionRegistry.registerAction("delay", async (ms) => {
27
+ await new Promise(resolve => setTimeout(resolve, ms));
28
+ return `Delayed ${ms}ms`;
29
+ });
30
+ actionRegistry.registerAction("uuid", () => {
31
+ return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
32
+ const r = Math.random() * 16 | 0;
33
+ const v = c == 'x' ? r : (r & 0x3 | 0x8);
34
+ return v.toString(16);
35
+ });
36
+ });
37
+ actionRegistry.registerAction("formatDate", (date, format) => {
38
+ const year = date.getFullYear();
39
+ const month = String(date.getMonth() + 1).padStart(2, '0');
40
+ const day = String(date.getDate()).padStart(2, '0');
41
+ const hours = String(date.getHours()).padStart(2, '0');
42
+ const minutes = String(date.getMinutes()).padStart(2, '0');
43
+ const seconds = String(date.getSeconds()).padStart(2, '0');
44
+ return format
45
+ .replace('YYYY', year.toString())
46
+ .replace('MM', month)
47
+ .replace('DD', day)
48
+ .replace('HH', hours)
49
+ .replace('mm', minutes)
50
+ .replace('ss', seconds);
51
+ });
52
+ context.log.info("Utility actions registered");
53
+ }
54
+ else {
55
+ context.log.error("ActionRegistry not available, actions will not be registered");
56
+ }
57
+ }
58
+ catch (error) {
59
+ context.log.error("Error registering utility actions:", error);
60
+ }
61
+ }
62
+ onUnload() {
63
+ // Cleanup is handled by the plugin manager
64
+ }
65
+ // Informar qué acciones proporciona este plugin
66
+ getApi() {
67
+ return {
68
+ name: this.name,
69
+ actions: ["random", "timestamp", "delay", "uuid", "formatDate"],
70
+ type: "utility-actions",
71
+ loaded: "dynamically"
72
+ };
73
+ }
74
+ }
75
+ //# sourceMappingURL=DynamicUtilityActionsPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynamicUtilityActionsPlugin.js","sourceRoot":"","sources":["../../plugins/DynamicUtilityActionsPlugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("../src").IPlugin;
2
+ export default _default;
3
+ //# sourceMappingURL=ExamplePlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExamplePlugin.d.ts","sourceRoot":"","sources":["../../plugins/ExamplePlugin.ts"],"names":[],"mappings":";AAKA,wBAwCG"}
@@ -0,0 +1,41 @@
1
+ import { definePlugin } from "../src";
2
+ // Los tipos están disponibles globalmente gracias a src/global.d.ts
3
+ // No necesitas importar MathPlugin - el tipado es automático
4
+ export default definePlugin({
5
+ name: "edge",
6
+ version: "1.0.0",
7
+ async onLoad(context) {
8
+ // getPlugin ahora es asíncrono
9
+ const mathPlugin = await context.getPlugin('math-plugin');
10
+ if (!mathPlugin) {
11
+ context.log.error("Math plugin not found");
12
+ return;
13
+ }
14
+ // Experimental automatic types
15
+ const result = mathPlugin.add(1, 2);
16
+ context.log.info(`Math result via API: ${result}`);
17
+ // recomendado
18
+ /* // Usar getApi() - más seguro y encapsulado
19
+ const mathApi = mathPlugin.getApi?.() as {
20
+ add(a: number, b: number): number;
21
+ multiply(a: number, b: number): number;
22
+ };
23
+
24
+ if (mathApi) {
25
+ const mathResult = mathApi.add(1, 2);
26
+ context.log.info(`Math result via API: ${mathResult}`);
27
+
28
+ const multiplyResult = mathApi.multiply(3, 4);
29
+ context.log.info(`Multiplication result via API: ${multiplyResult}`);
30
+ }
31
+
32
+ // Alternativa: cast directo al tipo del plugin (menos seguro pero funcional)
33
+ const mathPluginDirect = mathPlugin as MathPlugin;
34
+ if (mathPluginDirect) {
35
+ const addResult = mathPluginDirect.add(5, 6);
36
+ context.log.info(`Addition result direct: ${addResult}`);
37
+ } */
38
+ },
39
+ onUnload() { }
40
+ });
41
+ //# sourceMappingURL=ExamplePlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExamplePlugin.js","sourceRoot":"","sources":["../../plugins/ExamplePlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,oEAAoE;AACpE,6DAA6D;AAE7D,eAAe,YAAY,CAAC;IACxB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,OAAO;IAEhB,KAAK,CAAC,MAAM,CAAC,OAAO;QAChB,+BAA+B;QAC/B,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAE1D,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC3C,OAAO;QACX,CAAC;QACD,+BAA+B;QAC/B,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,MAAM,EAAE,CAAC,CAAC;QAEnD,cAAc;QACtB;;;;;;;;;;;;;;;;;;;oBAmBY;IACR,CAAC;IAED,QAAQ,KAAI,CAAC;CAChB,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { Plugin, PluginContext } from "../src";
2
+ /**
3
+ * A demo plugin showcasing the new "onStart" hook and configuration.
4
+ *
5
+ * To disable the welcome message, configure:
6
+ * {
7
+ * "showWelcome": false
8
+ * }
9
+ */
10
+ export declare class LifecycleDemoPlugin extends Plugin {
11
+ name: string;
12
+ version: string;
13
+ defaultConfig: {
14
+ showWelcome: boolean;
15
+ message: string;
16
+ };
17
+ onLoad(context: PluginContext): void;
18
+ setup(build: import("../src").PluginBuilder): void;
19
+ }
20
+ //# sourceMappingURL=LifecycleDemoPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LifecycleDemoPlugin.d.ts","sourceRoot":"","sources":["../../plugins/LifecycleDemoPlugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE/C;;;;;;;GAOG;AACH,qBAAa,mBAAoB,SAAQ,MAAM;IAC3C,IAAI,SAAoB;IACxB,OAAO,SAAW;IAGT,aAAa;;;MAGpB;IAEO,MAAM,CAAC,OAAO,EAAE,aAAa;IAI7B,KAAK,CAAC,KAAK,EAAE,OAAO,QAAQ,EAAE,aAAa;CAavD"}
@@ -0,0 +1,34 @@
1
+ import { Plugin } from "../src";
2
+ /**
3
+ * A demo plugin showcasing the new "onStart" hook and configuration.
4
+ *
5
+ * To disable the welcome message, configure:
6
+ * {
7
+ * "showWelcome": false
8
+ * }
9
+ */
10
+ export class LifecycleDemoPlugin extends Plugin {
11
+ name = "lifecycle-demo";
12
+ version = "1.0.0";
13
+ // Default config
14
+ defaultConfig = {
15
+ showWelcome: true,
16
+ message: "Application Lifecycle Started!"
17
+ };
18
+ onLoad(context) {
19
+ context.log.info("LifecycleDemo plugin loaded");
20
+ }
21
+ setup(build) {
22
+ // Access config passed to setup
23
+ const config = build.config;
24
+ // Register the NEW onStart hook
25
+ build.onStart(() => {
26
+ if (config.showWelcome !== false) {
27
+ const message = config.message || this.defaultConfig.message;
28
+ // Example: Perform post-startup initialization logic here
29
+ // e.g., connect to DBs, start background jobs, etc.
30
+ }
31
+ });
32
+ }
33
+ }
34
+ //# sourceMappingURL=LifecycleDemoPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LifecycleDemoPlugin.js","sourceRoot":"","sources":["../../plugins/LifecycleDemoPlugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAiB,MAAM,QAAQ,CAAC;AAE/C;;;;;;;GAOG;AACH,MAAM,OAAO,mBAAoB,SAAQ,MAAM;IAC3C,IAAI,GAAG,gBAAgB,CAAC;IACxB,OAAO,GAAG,OAAO,CAAC;IAElB,iBAAiB;IACR,aAAa,GAAG;QACrB,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,gCAAgC;KAC5C,CAAC;IAEO,MAAM,CAAC,OAAsB;QAClC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IACpD,CAAC;IAEQ,KAAK,CAAC,KAAqC;QAChD,gCAAgC;QAChC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAE5B,gCAAgC;QAChC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;YACf,IAAI,MAAM,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;gBAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;gBAC7D,0DAA0D;gBAC1D,oDAAoD;YACxD,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
@@ -0,0 +1,16 @@
1
+ import { Plugin, PluginContext } from "../src";
2
+ export interface MathPluginApi {
3
+ add(a: number, b: number): number;
4
+ multiply(a: number, b: number): number;
5
+ }
6
+ export declare class MathPlugin extends Plugin {
7
+ name: string;
8
+ version: string;
9
+ onLoad(context: PluginContext): void;
10
+ add(a: number, b: number): number;
11
+ multiply(a: number, b: number): number;
12
+ getApi(): MathPluginApi;
13
+ }
14
+ declare const _default: MathPlugin;
15
+ export default _default;
16
+ //# sourceMappingURL=MathPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MathPlugin.d.ts","sourceRoot":"","sources":["../../plugins/MathPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAG/C,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACxC;AAED,qBAAa,UAAW,SAAQ,MAAM;IACpC,IAAI,SAAiB;IACrB,OAAO,SAAW;IAET,MAAM,CAAC,OAAO,EAAE,aAAa;IAKtC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAIjC,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAKtC,MAAM,IAAI,aAAa;CAQxB;;AAGD,wBAAgC"}
@@ -0,0 +1,25 @@
1
+ import { Plugin } from "../src";
2
+ export class MathPlugin extends Plugin {
3
+ name = "math-plugin";
4
+ version = "0.5.0";
5
+ onLoad(context) {
6
+ context.log.info("Math capabilities ready");
7
+ }
8
+ // Custom method exposed by this plugin
9
+ add(a, b) {
10
+ return a + b;
11
+ }
12
+ multiply(a, b) {
13
+ return a * b;
14
+ }
15
+ // Exponer la API compartida
16
+ getApi() {
17
+ return {
18
+ add: this.add.bind(this),
19
+ multiply: this.multiply.bind(this)
20
+ };
21
+ }
22
+ }
23
+ // Exportar una instancia por defecto
24
+ export default new MathPlugin();
25
+ //# sourceMappingURL=MathPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MathPlugin.js","sourceRoot":"","sources":["../../plugins/MathPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAiB,MAAM,QAAQ,CAAC;AAQ/C,MAAM,OAAO,UAAW,SAAQ,MAAM;IACpC,IAAI,GAAG,aAAa,CAAC;IACrB,OAAO,GAAG,OAAO,CAAC;IAET,MAAM,CAAC,OAAsB;QACpC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAC9C,CAAC;IAED,uCAAuC;IACvC,GAAG,CAAC,CAAS,EAAE,CAAS;QACtB,OAAO,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAED,QAAQ,CAAC,CAAS,EAAE,CAAS;QAC3B,OAAO,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAED,4BAA4B;IAC5B,MAAM;QACJ,OAAO;YACL,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YACxB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;SACnC,CAAC;IACJ,CAAC;CAGF;AAED,qCAAqC;AACrC,eAAe,IAAI,UAAU,EAAE,CAAC"}
@@ -0,0 +1,7 @@
1
+ export class MyJSPlugin {
2
+ name: string;
3
+ version: string;
4
+ onLoad(context: any): void;
5
+ onUnload(): void;
6
+ }
7
+ //# sourceMappingURL=MyJSPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MyJSPlugin.d.ts","sourceRoot":"","sources":["../../plugins/MyJSPlugin.js"],"names":[],"mappings":"AACA;IACE,aAAsB;IACtB,gBAAkB;IAElB,2BAEC;IAED,iBAEC;CACF"}
@@ -0,0 +1,12 @@
1
+ // plugins/MyJSPlugin.js
2
+ export class MyJSPlugin {
3
+ name = "my-js-plugin";
4
+ version = "1.0.0";
5
+ onLoad(context) {
6
+ context.log.info("JS plugin loaded");
7
+ }
8
+ onUnload() {
9
+ // Cleanup is handled by the plugin manager
10
+ }
11
+ }
12
+ //# sourceMappingURL=MyJSPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MyJSPlugin.js","sourceRoot":"","sources":["../../plugins/MyJSPlugin.js"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,MAAM,OAAO,UAAU;IACrB,IAAI,GAAG,cAAc,CAAC;IACtB,OAAO,GAAG,OAAO,CAAC;IAElB,MAAM,CAAC,OAAO;QACZ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACvC,CAAC;IAED,QAAQ;QACN,2CAA2C;IAC7C,CAAC;CACF"}
@@ -0,0 +1,8 @@
1
+ import type { IPlugin, PluginContext } from "../../src";
2
+ export declare class ArkTypePlugin implements IPlugin {
3
+ name: string;
4
+ version: string;
5
+ onLoad(context: PluginContext): Promise<void>;
6
+ onUnload(): Promise<void>;
7
+ }
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../plugins/arktype/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAGxD,qBAAa,aAAc,YAAW,OAAO;IACzC,IAAI,SAAoB;IACxB,OAAO,SAAW;IAEZ,MAAM,CAAC,OAAO,EAAE,aAAa;IAqB7B,QAAQ;CAGjB"}
@@ -0,0 +1,25 @@
1
+ import { type } from "arktype";
2
+ export class ArkTypePlugin {
3
+ name = "arktype-plugin";
4
+ version = "1.0.0";
5
+ async onLoad(context) {
6
+ context.log.info("ArkTypePlugin loading...");
7
+ // Define a schema using ArkType
8
+ const user = type({
9
+ id: "number",
10
+ name: "string",
11
+ age: "number"
12
+ });
13
+ const testData = {
14
+ id: 1,
15
+ name: "John Doe",
16
+ age: 30
17
+ };
18
+ const result = user(testData);
19
+ context.log.info("result", result);
20
+ }
21
+ async onUnload() {
22
+ console.log("ArkTypePlugin unloading...");
23
+ }
24
+ }
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../plugins/arktype/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,MAAM,OAAO,aAAa;IACtB,IAAI,GAAG,gBAAgB,CAAC;IACxB,OAAO,GAAG,OAAO,CAAC;IAElB,KAAK,CAAC,MAAM,CAAC,OAAsB;QAC/B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAE7C,gCAAgC;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC;YACd,EAAE,EAAE,QAAQ;YACZ,IAAI,EAAE,QAAQ;YACd,GAAG,EAAE,QAAQ;SAChB,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG;YACb,EAAE,EAAE,CAAC;YACL,IAAI,EAAE,UAAU;YAChB,GAAG,EAAE,EAAE;SACV,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE9B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACtC,CAAC;IAED,KAAK,CAAC,QAAQ;QACV,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC9C,CAAC;CACJ"}
@@ -0,0 +1,28 @@
1
+ import type { IPlugin, PluginContext, PluginBuilder, PluginPermission } from "./types";
2
+ import { z } from "zod";
3
+ /**
4
+ * Abstract base class for Plugins to extend.
5
+ * Provides default implementations for optional methods.
6
+ */
7
+ export declare abstract class Plugin implements IPlugin {
8
+ abstract name: string;
9
+ abstract version: string;
10
+ description?: string;
11
+ author?: string;
12
+ dependencies?: Record<string, string>;
13
+ permissions?: PluginPermission[];
14
+ allowedDomains?: string[];
15
+ configSchema?: z.ZodSchema;
16
+ defaultConfig?: Record<string, any>;
17
+ onLoad(context: PluginContext): Promise<void> | void;
18
+ onUnload(): Promise<void> | void;
19
+ onStarted(): Promise<void> | void;
20
+ onReload(context: PluginContext): Promise<void> | void;
21
+ setup(build: PluginBuilder): void | Promise<void>;
22
+ }
23
+ /**
24
+ * Helper function to define a plugin object with type inference.
25
+ * Useful for functional-style plugin definitions.
26
+ */
27
+ export declare function definePlugin(plugin: IPlugin): IPlugin;
28
+ //# sourceMappingURL=Plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACvF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,8BAAsB,MAAO,YAAW,OAAO;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEpC,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAIpD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAIhC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAIjC,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAItD,KAAK,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAGpD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAErD"}