every-plugin 0.5.0 → 0.5.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.
Files changed (196) hide show
  1. package/dist/{chunk-zltIcp7o.cjs → _virtual/rolldown_runtime.cjs} +3 -18
  2. package/dist/{chunk-QQAxy9l9.mjs → _virtual/rolldown_runtime.mjs} +1 -1
  3. package/dist/build/rspack/dev-server-middleware.cjs +201 -0
  4. package/dist/build/rspack/dev-server-middleware.cjs.map +1 -0
  5. package/dist/build/rspack/dev-server-middleware.mjs +200 -0
  6. package/dist/build/rspack/dev-server-middleware.mjs.map +1 -0
  7. package/dist/build/rspack/index.cjs +2 -362
  8. package/dist/build/rspack/index.d.cts +2 -20
  9. package/dist/build/rspack/index.d.mts +2 -20
  10. package/dist/build/rspack/index.mjs +2 -360
  11. package/dist/build/rspack/module-federation.cjs +47 -0
  12. package/dist/build/rspack/module-federation.cjs.map +1 -0
  13. package/dist/build/rspack/module-federation.mjs +47 -0
  14. package/dist/build/rspack/module-federation.mjs.map +1 -0
  15. package/dist/build/rspack/plugin.cjs +90 -0
  16. package/dist/build/rspack/plugin.cjs.map +1 -0
  17. package/dist/build/rspack/plugin.d.cts +20 -0
  18. package/dist/build/rspack/plugin.d.cts.map +1 -0
  19. package/dist/build/rspack/plugin.d.mts +20 -0
  20. package/dist/build/rspack/plugin.d.mts.map +1 -0
  21. package/dist/build/rspack/plugin.mjs +89 -0
  22. package/dist/build/rspack/plugin.mjs.map +1 -0
  23. package/dist/build/rspack/utils.cjs +41 -0
  24. package/dist/build/rspack/utils.cjs.map +1 -0
  25. package/dist/build/rspack/utils.mjs +38 -0
  26. package/dist/build/rspack/utils.mjs.map +1 -0
  27. package/dist/errors.cjs +62 -3
  28. package/dist/errors.cjs.map +1 -0
  29. package/dist/errors.d.cts +75 -3
  30. package/dist/errors.d.cts.map +1 -0
  31. package/dist/errors.d.mts +75 -3
  32. package/dist/errors.d.mts.map +1 -0
  33. package/dist/errors.mjs +62 -3
  34. package/dist/errors.mjs.map +1 -0
  35. package/dist/index.cjs +8 -55
  36. package/dist/index.d.cts +6 -5
  37. package/dist/index.d.mts +6 -5
  38. package/dist/index.mjs +5 -51
  39. package/dist/orpc.cjs +1 -1
  40. package/dist/{package-DyTuSutr.cjs → package.cjs} +22 -7
  41. package/dist/package.cjs.map +1 -0
  42. package/dist/{package-CaRYwbRi.mjs → package.mjs} +22 -5
  43. package/dist/package.mjs.map +1 -0
  44. package/dist/plugin.cjs +48 -0
  45. package/dist/plugin.cjs.map +1 -0
  46. package/dist/plugin.d.cts +62 -0
  47. package/dist/plugin.d.cts.map +1 -0
  48. package/dist/plugin.d.mts +62 -0
  49. package/dist/plugin.d.mts.map +1 -0
  50. package/dist/plugin.mjs +47 -0
  51. package/dist/plugin.mjs.map +1 -0
  52. package/dist/runtime/errors.cjs +45 -0
  53. package/dist/runtime/errors.cjs.map +1 -0
  54. package/dist/runtime/errors.d.cts +27 -0
  55. package/dist/runtime/errors.d.cts.map +1 -0
  56. package/dist/runtime/errors.d.mts +27 -0
  57. package/dist/runtime/errors.d.mts.map +1 -0
  58. package/dist/runtime/errors.mjs +41 -0
  59. package/dist/runtime/errors.mjs.map +1 -0
  60. package/dist/runtime/index.cjs +157 -5
  61. package/dist/runtime/index.cjs.map +1 -0
  62. package/dist/runtime/index.d.cts +43 -5
  63. package/dist/runtime/index.d.cts.map +1 -0
  64. package/dist/runtime/index.d.mts +43 -5
  65. package/dist/runtime/index.d.mts.map +1 -0
  66. package/dist/runtime/index.mjs +155 -4
  67. package/dist/runtime/index.mjs.map +1 -0
  68. package/dist/runtime/services/module-federation.service.cjs +143 -0
  69. package/dist/runtime/services/module-federation.service.cjs.map +1 -0
  70. package/dist/runtime/services/module-federation.service.d.cts +15 -0
  71. package/dist/runtime/services/module-federation.service.d.cts.map +1 -0
  72. package/dist/runtime/services/module-federation.service.d.mts +15 -0
  73. package/dist/runtime/services/module-federation.service.d.mts.map +1 -0
  74. package/dist/runtime/services/module-federation.service.mjs +143 -0
  75. package/dist/runtime/services/module-federation.service.mjs.map +1 -0
  76. package/dist/runtime/services/normalize.cjs +22 -2
  77. package/dist/runtime/services/normalize.cjs.map +1 -0
  78. package/dist/runtime/services/normalize.d.cts +21 -2
  79. package/dist/runtime/services/normalize.d.cts.map +1 -0
  80. package/dist/runtime/services/normalize.d.mts +21 -2
  81. package/dist/runtime/services/normalize.d.mts.map +1 -0
  82. package/dist/runtime/services/normalize.mjs +21 -2
  83. package/dist/runtime/services/normalize.mjs.map +1 -0
  84. package/dist/runtime/services/plugin-lifecycle.service.cjs +33 -0
  85. package/dist/runtime/services/plugin-lifecycle.service.cjs.map +1 -0
  86. package/dist/runtime/services/plugin-lifecycle.service.d.cts +17 -0
  87. package/dist/runtime/services/plugin-lifecycle.service.d.cts.map +1 -0
  88. package/dist/runtime/services/plugin-lifecycle.service.d.mts +17 -0
  89. package/dist/runtime/services/plugin-lifecycle.service.d.mts.map +1 -0
  90. package/dist/runtime/services/plugin-lifecycle.service.mjs +32 -0
  91. package/dist/runtime/services/plugin-lifecycle.service.mjs.map +1 -0
  92. package/dist/runtime/services/plugin-loader.service.cjs +125 -0
  93. package/dist/runtime/services/plugin-loader.service.cjs.map +1 -0
  94. package/dist/runtime/services/plugin-loader.service.d.cts +54 -0
  95. package/dist/runtime/services/plugin-loader.service.d.cts.map +1 -0
  96. package/dist/runtime/services/plugin-loader.service.d.mts +54 -0
  97. package/dist/runtime/services/plugin-loader.service.d.mts.map +1 -0
  98. package/dist/runtime/services/plugin-loader.service.mjs +121 -0
  99. package/dist/runtime/services/plugin-loader.service.mjs.map +1 -0
  100. package/dist/runtime/services/plugin.service.cjs +33 -0
  101. package/dist/runtime/services/plugin.service.cjs.map +1 -0
  102. package/dist/runtime/services/plugin.service.d.cts +42 -0
  103. package/dist/runtime/services/plugin.service.d.cts.map +1 -0
  104. package/dist/runtime/services/plugin.service.d.mts +42 -0
  105. package/dist/runtime/services/plugin.service.d.mts.map +1 -0
  106. package/dist/runtime/services/plugin.service.mjs +32 -0
  107. package/dist/runtime/services/plugin.service.mjs.map +1 -0
  108. package/dist/runtime/services/secrets.service.cjs +50 -0
  109. package/dist/runtime/services/secrets.service.cjs.map +1 -0
  110. package/dist/runtime/services/secrets.service.d.cts +16 -0
  111. package/dist/runtime/services/secrets.service.d.cts.map +1 -0
  112. package/dist/runtime/services/secrets.service.d.mts +16 -0
  113. package/dist/runtime/services/secrets.service.d.mts.map +1 -0
  114. package/dist/runtime/services/secrets.service.mjs +48 -0
  115. package/dist/runtime/services/secrets.service.mjs.map +1 -0
  116. package/dist/runtime/validation.cjs +18 -0
  117. package/dist/runtime/validation.cjs.map +1 -0
  118. package/dist/runtime/validation.mjs +17 -0
  119. package/dist/runtime/validation.mjs.map +1 -0
  120. package/dist/testing/index.cjs +2 -4
  121. package/dist/testing/index.cjs.map +1 -1
  122. package/dist/testing/index.d.cts +4 -4
  123. package/dist/testing/index.d.mts +4 -4
  124. package/dist/testing/index.mjs +1 -3
  125. package/dist/testing/index.mjs.map +1 -1
  126. package/dist/types.cjs +0 -0
  127. package/dist/types.d.cts +261 -0
  128. package/dist/types.d.cts.map +1 -0
  129. package/dist/types.d.mts +261 -0
  130. package/dist/types.d.mts.map +1 -0
  131. package/dist/types.mjs +1 -0
  132. package/dist/zod-core.cjs +9 -0
  133. package/dist/zod-core.d.cts +1 -0
  134. package/dist/zod-core.d.mts +1 -0
  135. package/dist/zod-core.mjs +3 -0
  136. package/dist/zod.cjs +13 -1
  137. package/dist/zod.cjs.map +1 -0
  138. package/dist/zod.d.cts +8 -2
  139. package/dist/zod.d.cts.map +1 -0
  140. package/dist/zod.d.mts +8 -2
  141. package/dist/zod.d.mts.map +1 -0
  142. package/dist/zod.mjs +9 -2
  143. package/dist/zod.mjs.map +1 -0
  144. package/package.json +17 -2
  145. package/dist/build/rspack/index.cjs.map +0 -1
  146. package/dist/build/rspack/index.d.cts.map +0 -1
  147. package/dist/build/rspack/index.d.mts.map +0 -1
  148. package/dist/build/rspack/index.mjs.map +0 -1
  149. package/dist/errors-9sNpYLv5.d.mts +0 -75
  150. package/dist/errors-9sNpYLv5.d.mts.map +0 -1
  151. package/dist/errors-CVnoPl9v.cjs +0 -68
  152. package/dist/errors-CVnoPl9v.cjs.map +0 -1
  153. package/dist/errors-D7keKf7a.mjs +0 -63
  154. package/dist/errors-D7keKf7a.mjs.map +0 -1
  155. package/dist/errors-DKPPPYYT.d.cts +0 -75
  156. package/dist/errors-DKPPPYYT.d.cts.map +0 -1
  157. package/dist/fetch-8DauUFDh.mjs +0 -335
  158. package/dist/fetch-8DauUFDh.mjs.map +0 -1
  159. package/dist/fetch-CrBvwsZ4.cjs +0 -336
  160. package/dist/fetch-CrBvwsZ4.cjs.map +0 -1
  161. package/dist/index-Bu2wtZrA.d.mts +0 -463
  162. package/dist/index-Bu2wtZrA.d.mts.map +0 -1
  163. package/dist/index-DtTqwV4f.d.cts +0 -462
  164. package/dist/index-DtTqwV4f.d.cts.map +0 -1
  165. package/dist/index.cjs.map +0 -1
  166. package/dist/index.mjs.map +0 -1
  167. package/dist/normalize-BW7kk8Lk.d.cts +0 -21
  168. package/dist/normalize-BW7kk8Lk.d.cts.map +0 -1
  169. package/dist/normalize-D4Qh0wVk.cjs +0 -28
  170. package/dist/normalize-D4Qh0wVk.cjs.map +0 -1
  171. package/dist/normalize-D7nae0Hn.mjs +0 -22
  172. package/dist/normalize-D7nae0Hn.mjs.map +0 -1
  173. package/dist/normalize-eB_j86fm.d.mts +0 -21
  174. package/dist/normalize-eB_j86fm.d.mts.map +0 -1
  175. package/dist/package-CaRYwbRi.mjs.map +0 -1
  176. package/dist/package-DyTuSutr.cjs.map +0 -1
  177. package/dist/plugins-C6MGKdD-.mjs +0 -790
  178. package/dist/plugins-C6MGKdD-.mjs.map +0 -1
  179. package/dist/plugins-DNaNtkG7.cjs +0 -791
  180. package/dist/plugins-DNaNtkG7.cjs.map +0 -1
  181. package/dist/runtime-BNcFgWDG.cjs +0 -558
  182. package/dist/runtime-BNcFgWDG.cjs.map +0 -1
  183. package/dist/runtime-CAWcnrAk.mjs +0 -547
  184. package/dist/runtime-CAWcnrAk.mjs.map +0 -1
  185. package/dist/standard-CkH8zNkx.mjs +0 -584
  186. package/dist/standard-CkH8zNkx.mjs.map +0 -1
  187. package/dist/standard-v75BC6Z5.cjs +0 -685
  188. package/dist/standard-v75BC6Z5.cjs.map +0 -1
  189. package/dist/zod-A7Pti5IV.d.cts +0 -4
  190. package/dist/zod-A7Pti5IV.d.cts.map +0 -1
  191. package/dist/zod-BVo51kgJ.mjs +0 -10
  192. package/dist/zod-BVo51kgJ.mjs.map +0 -1
  193. package/dist/zod-DYghWCz1.cjs +0 -14
  194. package/dist/zod-DYghWCz1.cjs.map +0 -1
  195. package/dist/zod-Zw8dlP3j.d.mts +0 -4
  196. package/dist/zod-Zw8dlP3j.d.mts.map +0 -1
@@ -1,463 +0,0 @@
1
- import { Context, Effect, Layer, ManagedRuntime, Scope } from "effect";
2
- import { z } from "zod";
3
- import { Context as Context$1, Implementer, Router, RouterClient } from "@orpc/server";
4
- import * as _orpc_contract0 from "@orpc/contract";
5
- import { AnyContractRouter, AnySchema, InferSchemaInput, InferSchemaOutput, ORPCError } from "@orpc/contract";
6
- import * as effect_Types0 from "effect/Types";
7
- import * as effect_Cause0 from "effect/Cause";
8
-
9
- //#region src/plugin.d.ts
10
- /**
11
- * Helper type that correctly constructs the config schema type
12
- */
13
- type PluginConfigFor<V$1 extends AnySchema, S$1 extends AnySchema> = {
14
- variables: V$1;
15
- secrets: S$1;
16
- };
17
- /**
18
- * Loaded plugin with static binding property
19
- */
20
- interface LoadedPluginWithBinding<TContract extends AnyContractRouter, TVariables extends AnySchema, TSecrets extends AnySchema, TContext$1 extends Context$1 = Record<never, never>> {
21
- new (): Plugin<TContract, TVariables, TSecrets, TContext$1>;
22
- binding: {
23
- contract: TContract;
24
- variables: TVariables;
25
- secrets: TSecrets;
26
- context: TContext$1;
27
- };
28
- }
29
- /**
30
- * Plugin interface
31
- */
32
- interface Plugin<TContract extends AnyContractRouter, TVariables extends AnySchema, TSecrets extends AnySchema, TContext$1 extends Context$1 = Record<never, never>> {
33
- readonly id: string;
34
- readonly contract: TContract;
35
- readonly configSchema: PluginConfigFor<TVariables, TSecrets>;
36
- initialize(config: {
37
- variables: InferSchemaOutput<TVariables>;
38
- secrets: InferSchemaOutput<TSecrets>;
39
- }): Effect.Effect<TContext$1, unknown, Scope.Scope>;
40
- shutdown(): Effect.Effect<void, never>;
41
- /**
42
- * Creates the strongly-typed oRPC router for this plugin.
43
- * The router's procedure types are inferred directly from the contract.
44
- * @param context The initialized plugin context
45
- * @returns A router with procedures matching the plugin's contract
46
- */
47
- createRouter(context: TContext$1): Router<TContract, any>;
48
- }
49
- /**
50
- * Factory function to create plugins
51
- */
52
- declare function createPlugin<V$1 extends AnySchema, S$1 extends AnySchema, TContract extends AnyContractRouter, TContext$1 extends Context$1 = Record<never, never>>(config: {
53
- variables: V$1;
54
- secrets: S$1;
55
- contract: TContract;
56
- initialize?: (config: {
57
- variables: InferSchemaOutput<V$1>;
58
- secrets: InferSchemaOutput<S$1>;
59
- }) => Effect.Effect<TContext$1, Error, Scope.Scope>;
60
- createRouter: (context: TContext$1, builder: Implementer<TContract, TContext$1, TContext$1>) => Router<TContract, any>;
61
- shutdown?: (ctx: TContext$1) => Effect.Effect<void, Error, never>;
62
- }): LoadedPluginWithBinding<TContract, V$1, S$1, TContext$1>;
63
- //#endregion
64
- //#region src/types.d.ts
65
- /**
66
- * Registry bindings interface - populated via module augmentation
67
- * Only needed for remote-only plugin entries.
68
- * @example
69
- * ```typescript
70
- * declare module "every-plugin" {
71
- * interface RegisteredPlugins {
72
- * "my-plugin": typeof MyPlugin;
73
- * }
74
- * }
75
- * ```
76
- */
77
- interface RegisteredPlugins {}
78
- /**
79
- * Base type for any plugin instance.
80
- */
81
- type AnyPlugin = Plugin<AnyContractRouter, AnySchema, AnySchema, any>;
82
- /**
83
- * Loaded plugin constructor with binding information
84
- */
85
- type AnyPluginConstructor = {
86
- new (): AnyPlugin;
87
- binding: {
88
- contract: AnyContractRouter;
89
- variables: AnySchema;
90
- secrets: AnySchema;
91
- context: Context$1;
92
- };
93
- };
94
- /**
95
- * Registry entry that supports both direct module imports and remote URLs
96
- */
97
- type PluginRegistryEntry = {
98
- module: AnyPluginConstructor;
99
- remote?: string;
100
- version?: string;
101
- description?: string;
102
- } | {
103
- remote: string;
104
- version?: string;
105
- description?: string;
106
- };
107
- /**
108
- * Infer registry types from plugin entries with module constructors
109
- */
110
- type InferRegistryFromEntries<R$1 extends Record<string, PluginRegistryEntry>> = { [K in keyof R$1]: R$1[K] extends {
111
- module: infer M;
112
- } ? M : K extends keyof RegisteredPlugins ? RegisteredPlugins[K] : never };
113
- /**
114
- * Extract contract type from plugin binding
115
- */
116
- type PluginContract<T> = T extends {
117
- binding: {
118
- contract: infer C extends AnyContractRouter;
119
- };
120
- } ? C : never;
121
- /**
122
- * Extract variables type from plugin binding
123
- */
124
- type PluginVariables<T> = T extends {
125
- binding: {
126
- variables: infer V extends AnySchema;
127
- };
128
- } ? V : never;
129
- /**
130
- * Extract secrets type from plugin binding
131
- */
132
- type PluginSecrets<T> = T extends {
133
- binding: {
134
- secrets: infer S extends AnySchema;
135
- };
136
- } ? S : never;
137
- /**
138
- * Extract context type from plugin binding
139
- */
140
- type PluginContext<T> = T extends {
141
- binding: {
142
- context: infer C extends Context$1;
143
- };
144
- } ? C : never;
145
- /**
146
- * Extract router type from plugin binding
147
- * Uses 'any' for context to support nested router compositions
148
- */
149
- type PluginRouterType<T> = Router<PluginContract<T>, any>;
150
- /**
151
- * Extract client type from plugin binding
152
- */
153
- type PluginClientType<T> = RouterClient<PluginRouterType<T>>;
154
- /**
155
- * Extract plugin type from registered plugins by key
156
- * @param K - The plugin key
157
- * @param R - The registry type (defaults to RegisteredPlugins for module augmentation pattern)
158
- */
159
- type RegisteredPlugin<K$1 extends keyof R$1, R$1 = RegisteredPlugins> = R$1[K$1] extends {
160
- binding: infer B;
161
- } ? B extends {
162
- contract: infer C extends AnyContractRouter;
163
- variables: infer V extends AnySchema;
164
- secrets: infer S extends AnySchema;
165
- context: infer TContext extends Context$1;
166
- } ? Plugin<C, V, S, TContext> : never : never;
167
- /**
168
- * Extract config input type from plugin binding
169
- */
170
- type PluginConfigInput<T> = {
171
- variables: InferSchemaInput<PluginVariables<T>>;
172
- secrets: InferSchemaInput<PluginSecrets<T>>;
173
- };
174
- /**
175
- * Extract context type from plugin instance
176
- */
177
- type ContextOf<T extends AnyPlugin> = T extends Plugin<AnyContractRouter, AnySchema, AnySchema, infer TContext> ? TContext : never;
178
- /**
179
- * Plugin metadata for remote loading
180
- */
181
- type PluginMetadata = {
182
- readonly remoteUrl: string;
183
- readonly version?: string;
184
- readonly description?: string;
185
- };
186
- /**
187
- * Runtime registry configuration supporting both module and remote entries
188
- */
189
- type PluginRegistry = Record<string, PluginRegistryEntry>;
190
- /**
191
- * Configuration for secrets injection.
192
- * Secrets are hydrated into plugin configs using template replacement.
193
- */
194
- interface SecretsConfig {
195
- [key: string]: string;
196
- }
197
- /**
198
- * Loaded plugin
199
- */
200
- interface LoadedPlugin<T extends AnyPlugin = AnyPlugin> {
201
- readonly ctor: new () => T;
202
- readonly metadata: PluginMetadata;
203
- }
204
- /**
205
- * Instantiated plugin
206
- */
207
- interface PluginInstance<T extends AnyPlugin = AnyPlugin> {
208
- readonly plugin: T;
209
- readonly metadata: PluginMetadata;
210
- }
211
- /**
212
- * Fully initialized plugin ready for use
213
- */
214
- interface InitializedPlugin<T extends AnyPlugin = AnyPlugin> {
215
- readonly plugin: T;
216
- readonly metadata: PluginMetadata;
217
- readonly config: {
218
- variables: InferSchemaOutput<T["configSchema"]["variables"]>;
219
- secrets: InferSchemaOutput<T["configSchema"]["secrets"]>;
220
- };
221
- readonly context: ContextOf<T>;
222
- readonly scope: Scope.CloseableScope;
223
- }
224
- /**
225
- * Helper type to detect type errors when looking up RegisteredPlugins
226
- */
227
- type VerifyPluginBinding<K$1 extends keyof R$1, R$1 = RegisteredPlugins> = R$1[K$1] extends {
228
- binding: infer B;
229
- } ? B extends {
230
- contract: AnyContractRouter;
231
- variables: AnySchema;
232
- secrets: AnySchema;
233
- context: Context$1;
234
- } ? true : `❌ Plugin "${K$1 & string}" is not properly registered. Ensure it extends plugin binding layout { contract, variables, secrets, context }.` : `❌ Plugin "${K$1 & string}" is not properly registered. Missing binding property.`;
235
- /**
236
- * Result of runtime.usePlugin() call
237
- * @param K - The plugin key
238
- * @param R - The registry type (defaults to RegisteredPlugins for module augmentation pattern)
239
- */
240
- type UsePluginResult<K$1 extends keyof R$1, R$1 = RegisteredPlugins> = VerifyPluginBinding<K$1, R$1> extends true ? {
241
- readonly client: PluginClientType<R$1[K$1]>;
242
- readonly router: PluginRouterType<R$1[K$1]>;
243
- readonly metadata: PluginMetadata;
244
- readonly initialized: InitializedPlugin<RegisteredPlugin<K$1, R$1>>;
245
- } : VerifyPluginBinding<K$1, R$1>;
246
- /**
247
- * Runtime options
248
- */
249
- interface RuntimeOptions {
250
- isolation?: "strict" | "shared" | "none";
251
- memoryLimit?: string;
252
- concurrency?: number;
253
- resourceTimeout?: string;
254
- debug?: boolean;
255
- metrics?: boolean;
256
- }
257
- /**
258
- * Extract registry type from runtime instance or use type directly
259
- * This allows EveryPlugin.Infer to work with both:
260
- * - typeof runtime (extracts registry from PluginRuntime<R> via __registryType)
261
- * - Registry types directly
262
- */
263
- type RegistryOf<T> = T extends {
264
- __registryType?: infer R;
265
- } ? R : T;
266
- /**
267
- * Namespace containing type utilities for working with plugin results.
268
- */
269
- declare namespace EveryPlugin {
270
- /**
271
- * Extract plugin runtime instance type from registered plugins or runtime.
272
- * Provides full type safety for plugin clients, routers, and metadata.
273
- *
274
- * @example
275
- * ```ts
276
- * // From RegisteredPlugins (module augmentation)
277
- * type Plugin = EveryPlugin.Infer<"my-plugin">;
278
- *
279
- * // From runtime instance (when using module entries)
280
- * const runtime = createPluginRuntime({ registry: { "my-plugin": { module: MyPlugin } } });
281
- * type Plugin = EveryPlugin.Infer<"my-plugin", typeof runtime>;
282
- *
283
- * // From explicit registry type
284
- * type Plugin = EveryPlugin.Infer<"my-plugin", MyRegistryType>;
285
- * ```
286
- */
287
- type Infer<K$1 extends string, Source = RegisteredPlugins> = K$1 extends keyof RegistryOf<Source> ? UsePluginResult<K$1, RegistryOf<Source>> : never;
288
- }
289
- /**
290
- * Plugin runtime configuration with support for both module and remote entries
291
- */
292
- interface PluginRuntimeConfig<R$1 extends Record<string, PluginRegistryEntry> = Record<string, PluginRegistryEntry>> {
293
- registry: R$1;
294
- secrets?: SecretsConfig;
295
- options?: RuntimeOptions;
296
- }
297
- //#endregion
298
- //#region src/runtime/errors.d.ts
299
- declare const PluginRuntimeError_base: new <A extends Record<string, any> = {}>(args: effect_Types0.Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }) => effect_Cause0.YieldableError & {
300
- readonly _tag: "PluginRuntimeError";
301
- } & Readonly<A>;
302
- declare class PluginRuntimeError extends PluginRuntimeError_base<{
303
- readonly pluginId?: string;
304
- readonly operation?: string;
305
- readonly procedureName?: string;
306
- readonly cause?: Error;
307
- readonly retryable: boolean;
308
- }> {}
309
- declare const ModuleFederationError_base: new <A extends Record<string, any> = {}>(args: effect_Types0.Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }) => effect_Cause0.YieldableError & {
310
- readonly _tag: "ModuleFederationError";
311
- } & Readonly<A>;
312
- declare class ModuleFederationError extends ModuleFederationError_base<{
313
- readonly pluginId: string;
314
- readonly remoteUrl: string;
315
- readonly cause?: Error;
316
- }> {}
317
- //#endregion
318
- //#region src/runtime/services/plugin-lifecycle.service.d.ts
319
- declare const PluginLifecycleService_base: Effect.Service.Class<PluginLifecycleService, "PluginLifecycleService", {
320
- readonly effect: Effect.Effect<{
321
- register: <T extends AnyPlugin>(plugin: InitializedPlugin<T>) => Effect.Effect<void, never, never>;
322
- unregister: (plugin: InitializedPlugin<AnyPlugin>) => Effect.Effect<void, never, never>;
323
- shutdown: (plugin: InitializedPlugin<AnyPlugin>) => Effect.Effect<void, PluginRuntimeError, never>;
324
- cleanup: () => Effect.Effect<void, never, never>;
325
- }, never, never>;
326
- }>;
327
- declare class PluginLifecycleService extends PluginLifecycleService_base {}
328
- //#endregion
329
- //#region src/runtime/services/module-federation.service.d.ts
330
- declare const ModuleFederationService_base: Effect.Service.Class<ModuleFederationService, "ModuleFederationService", {
331
- readonly effect: Effect.Effect<{
332
- registerRemote: (pluginId: string, url: string) => Effect.Effect<void, unknown, never>;
333
- loadRemoteConstructor: (pluginId: string, url: string) => Effect.Effect<new () => AnyPlugin, ModuleFederationError, never>;
334
- }, never, never>;
335
- }>;
336
- declare class ModuleFederationService extends ModuleFederationService_base {}
337
- //#endregion
338
- //#region src/runtime/services/secrets.service.d.ts
339
- declare const SecretsConfigTag_base: Context.TagClass<SecretsConfigTag, "SecretsConfig", SecretsConfig>;
340
- declare class SecretsConfigTag extends SecretsConfigTag_base {}
341
- declare const SecretsService_base: Effect.Service.Class<SecretsService, "SecretsService", {
342
- readonly effect: Effect.Effect<{
343
- hydrateSecrets: <T>(config: T) => Effect.Effect<T, PluginRuntimeError, never>;
344
- }, never, SecretsConfigTag>;
345
- }>;
346
- declare class SecretsService extends SecretsService_base {}
347
- //#endregion
348
- //#region src/runtime/services/plugin-loader.service.d.ts
349
- declare const PluginRegistryTag_base: Context.TagClass<PluginRegistryTag, "PluginRegistry", PluginRegistry>;
350
- declare class PluginRegistryTag extends PluginRegistryTag_base {}
351
- declare const PluginMapTag_base: Context.TagClass<PluginMapTag, "PluginMap", Record<string, AnyPluginConstructor>>;
352
- declare class PluginMapTag extends PluginMapTag_base {}
353
- declare const RegistryService_base: Effect.Service.Class<RegistryService, "RegistryService", {
354
- readonly effect: Effect.Effect<{
355
- get: (pluginId: string) => Effect.Effect<{
356
- constructor: AnyPluginConstructor;
357
- metadata: PluginMetadata;
358
- } | {
359
- constructor: null;
360
- metadata: PluginMetadata;
361
- }, PluginRuntimeError, never>;
362
- getModule: (pluginId: string) => Effect.Effect<AnyPluginConstructor | null, never, never>;
363
- }, never, PluginRegistryTag | PluginMapTag>;
364
- }>;
365
- declare class RegistryService extends RegistryService_base {}
366
- declare const PluginLoaderService_base: Effect.Service.Class<PluginLoaderService, "PluginLoaderService", {
367
- readonly effect: Effect.Effect<{
368
- loadPlugin: (pluginId: string) => Effect.Effect<{
369
- ctor: new () => AnyPlugin;
370
- metadata: PluginMetadata;
371
- }, PluginRuntimeError, never>;
372
- instantiatePlugin: <T extends AnyPlugin>(pluginId: string, loadedPlugin: LoadedPlugin<T>) => Effect.Effect<{
373
- plugin: T;
374
- metadata: PluginMetadata;
375
- }, PluginRuntimeError, never>;
376
- initializePlugin: <T extends AnyPlugin>(pluginInstance: PluginInstance<T>, config: {
377
- variables: InferSchemaInput<T["configSchema"]["variables"]>;
378
- secrets: InferSchemaInput<T["configSchema"]["secrets"]>;
379
- }) => Effect.Effect<{
380
- plugin: T;
381
- metadata: PluginMetadata;
382
- config: {
383
- variables: InferSchemaOutput<T["configSchema"]["variables"]>;
384
- secrets: InferSchemaOutput<T["configSchema"]["secrets"]>;
385
- };
386
- context: any;
387
- scope: Scope.CloseableScope;
388
- }, PluginRuntimeError, never>;
389
- }, never, ModuleFederationService | SecretsService | RegistryService>;
390
- }>;
391
- declare class PluginLoaderService extends PluginLoaderService_base {}
392
- //#endregion
393
- //#region src/runtime/services/plugin.service.d.ts
394
- declare const PluginService_base: Effect.Service.Class<PluginService, "PluginService", {
395
- readonly scoped: Effect.Effect<{
396
- loadPlugin: (pluginId: string) => Effect.Effect<{
397
- ctor: new () => AnyPlugin;
398
- metadata: PluginMetadata;
399
- }, PluginRuntimeError, never>;
400
- instantiatePlugin: <T extends AnyPlugin>(pluginId: string, loadedPlugin: LoadedPlugin<T>) => Effect.Effect<{
401
- plugin: T;
402
- metadata: PluginMetadata;
403
- }, PluginRuntimeError, never>;
404
- initializePlugin: <T extends AnyPlugin>(pluginInstance: PluginInstance<T>, config: {
405
- variables: _orpc_contract0.InferSchemaInput<T["configSchema"]["variables"]>;
406
- secrets: _orpc_contract0.InferSchemaInput<T["configSchema"]["secrets"]>;
407
- }) => Effect.Effect<{
408
- plugin: T;
409
- metadata: PluginMetadata;
410
- config: {
411
- variables: _orpc_contract0.InferSchemaOutput<T["configSchema"]["variables"]>;
412
- secrets: _orpc_contract0.InferSchemaOutput<T["configSchema"]["secrets"]>;
413
- };
414
- context: any;
415
- scope: Scope.CloseableScope;
416
- }, PluginRuntimeError, never>;
417
- shutdownPlugin: (plugin: InitializedPlugin<AnyPlugin>) => Effect.Effect<void, never, never>;
418
- cleanup: () => Effect.Effect<void, never, never>;
419
- }, never, PluginLoaderService | PluginLifecycleService>;
420
- }>;
421
- declare class PluginService extends PluginService_base {
422
- static Live: (registry: PluginRegistry, secrets: SecretsConfig, pluginMap?: Record<string, AnyPluginConstructor>) => Layer.Layer<PluginService, never, never>;
423
- }
424
- //#endregion
425
- //#region src/runtime/index.d.ts
426
- declare class PluginRuntime<R$1 = RegisteredPlugins> {
427
- private runtime;
428
- private registry;
429
- readonly ['__registryType']?: R$1;
430
- private pluginCache;
431
- constructor(runtime: ManagedRuntime.ManagedRuntime<PluginService, never>, registry: PluginRegistry);
432
- private generateCacheKey;
433
- private validatePluginId;
434
- private runPromise;
435
- usePlugin<K$1 extends keyof R$1 & string>(pluginId: K$1, config: PluginConfigInput<R$1[K$1]>): Promise<UsePluginResult<K$1, R$1>>;
436
- loadPlugin<K$1 extends keyof R$1 & string>(pluginId: K$1): Promise<LoadedPlugin<RegisteredPlugin<K$1, R$1>>>;
437
- instantiatePlugin<K$1 extends keyof R$1 & string>(pluginId: K$1, loadedPlugin: LoadedPlugin<RegisteredPlugin<K$1, R$1>>): Promise<PluginInstance<RegisteredPlugin<K$1, R$1>>>;
438
- initializePlugin<T extends AnyPlugin>(instance: PluginInstance<T>, config: any): Promise<InitializedPlugin<T>>;
439
- shutdown(): Promise<void>;
440
- evictPlugin<K$1 extends keyof R$1 & string>(pluginId: K$1, config: PluginConfigInput<R$1[K$1]>): Promise<void>;
441
- }
442
- /**
443
- * Creates a plugin runtime with support for both module and remote plugin entries.
444
- *
445
- * @example
446
- * ```typescript
447
- * // With module entries (types inferred automatically)
448
- * const runtime = createPluginRuntime({
449
- * registry: {
450
- * telegram: { module: TelegramPlugin },
451
- * gopher: { remote: "https://cdn.example.com/gopher/remoteEntry.js" }
452
- * },
453
- * secrets: { API_KEY: "..." }
454
- * });
455
- *
456
- * // Types are automatically inferred from module entries!
457
- * const { client } = await runtime.usePlugin("telegram", config);
458
- * ```
459
- */
460
- declare function createPluginRuntime<TRegistry extends Record<string, PluginRegistryEntry>>(config: PluginRuntimeConfig<TRegistry>): PluginRuntime<InferRegistryFromEntries<TRegistry>>;
461
- //#endregion
462
- export { Plugin as C, LoadedPluginWithBinding as S, createPlugin as T, PluginRuntimeConfig as _, InferRegistryFromEntries as a, RegisteredPlugins as b, PluginClientType as c, PluginContract as d, PluginInstance as f, PluginRouterType as g, PluginRegistryEntry as h, EveryPlugin as i, PluginConfigInput as l, PluginRegistry as m, createPluginRuntime as n, InitializedPlugin as o, PluginMetadata as p, AnyPlugin as r, LoadedPlugin as s, PluginRuntime as t, PluginContext as u, PluginSecrets as v, PluginConfigFor as w, SecretsConfig as x, PluginVariables as y };
463
- //# sourceMappingURL=index-Bu2wtZrA.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-Bu2wtZrA.d.mts","names":[],"sources":["../src/plugin.ts","../src/types.ts","../src/runtime/errors.ts","../src/runtime/services/plugin-lifecycle.service.ts","../src/runtime/services/module-federation.service.ts","../src/runtime/services/secrets.service.ts","../src/runtime/services/plugin-loader.service.ts","../src/runtime/services/plugin.service.ts","../src/runtime/index.ts"],"sourcesContent":[],"mappings":"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"}