every-plugin 0.4.3 → 0.4.5

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 (123) hide show
  1. package/dist/build/rspack/index.cjs +267 -0
  2. package/dist/build/rspack/index.d.cts +20 -0
  3. package/dist/build/rspack/index.d.mts +20 -0
  4. package/dist/build/rspack/index.mjs +265 -0
  5. package/dist/chunk-QQAxy9l9.mjs +31 -0
  6. package/dist/chunk-zltIcp7o.cjs +46 -0
  7. package/dist/effect.cjs +9 -0
  8. package/dist/effect.d.cts +1 -0
  9. package/dist/effect.d.mts +1 -0
  10. package/dist/effect.mjs +3 -0
  11. package/dist/errors-CVnoPl9v.cjs +68 -0
  12. package/dist/errors-Car4tFVP.d.mts +75 -0
  13. package/dist/errors-D7keKf7a.mjs +63 -0
  14. package/dist/errors-DKPPPYYT.d.cts +75 -0
  15. package/dist/errors.cjs +4 -0
  16. package/dist/errors.d.cts +3 -0
  17. package/dist/errors.d.mts +3 -0
  18. package/dist/errors.mjs +4 -0
  19. package/dist/fetch-Cc95-7kM.cjs +336 -0
  20. package/dist/fetch-KLktuWuM.mjs +335 -0
  21. package/dist/index-bwAhA9ca.d.mts +383 -0
  22. package/dist/index-matrPV4m.d.cts +382 -0
  23. package/dist/index.cjs +57 -0
  24. package/dist/index.d.cts +5 -0
  25. package/dist/index.d.mts +5 -0
  26. package/dist/index.mjs +52 -0
  27. package/dist/{runtime/services/normalize.d.ts → normalize-BLTyqFww.d.mts} +5 -2
  28. package/dist/{runtime/services/normalize.js → normalize-BW7kk8Lk.d.cts} +5 -1
  29. package/dist/normalize-D4Qh0wVk.cjs +28 -0
  30. package/dist/normalize-D7nae0Hn.mjs +22 -0
  31. package/dist/openapi.DrTcell5-C6kyDyUK.mjs +669 -0
  32. package/dist/openapi.DrTcell5-DDf4D5V3.cjs +687 -0
  33. package/dist/orpc.cjs +46 -0
  34. package/dist/orpc.d.cts +7 -0
  35. package/dist/orpc.d.mts +7 -0
  36. package/dist/orpc.mjs +11 -0
  37. package/dist/package-Ba1JsQFb.mjs +149 -0
  38. package/dist/package-C09aaCqd.cjs +154 -0
  39. package/dist/plugins-C-7lh5gK.cjs +128 -0
  40. package/dist/plugins-Ps5Xxpk2.mjs +128 -0
  41. package/dist/runtime/index.cjs +6 -0
  42. package/dist/runtime/index.d.cts +5 -0
  43. package/dist/runtime/index.d.mts +5 -0
  44. package/dist/runtime/index.mjs +5 -0
  45. package/dist/runtime/services/normalize.cjs +3 -0
  46. package/dist/runtime/services/normalize.d.cts +2 -0
  47. package/dist/runtime/services/normalize.d.mts +2 -0
  48. package/dist/runtime/services/normalize.mjs +3 -0
  49. package/dist/runtime-CdAK1Q5M.cjs +523 -0
  50. package/dist/runtime-I62RA1Vo.mjs +458 -0
  51. package/dist/standard-DaxKTFui.mjs +595 -0
  52. package/dist/standard-eUgUkWaf.cjs +702 -0
  53. package/dist/testing/index.cjs +78 -0
  54. package/dist/testing/index.d.cts +60 -0
  55. package/dist/testing/index.d.mts +60 -0
  56. package/dist/testing/index.mjs +75 -0
  57. package/dist/zod-A7Pti5IV.d.cts +4 -0
  58. package/dist/zod-BVo51kgJ.mjs +10 -0
  59. package/dist/zod-D4CFw8d9.d.mts +4 -0
  60. package/dist/zod-DYghWCz1.cjs +14 -0
  61. package/dist/zod.cjs +10 -0
  62. package/dist/zod.d.cts +2 -0
  63. package/dist/zod.d.mts +2 -0
  64. package/dist/zod.mjs +5 -0
  65. package/dist/zod4-BXTBR1od.cjs +318 -0
  66. package/dist/zod4-VpXuwRO7.mjs +317 -0
  67. package/package.json +64 -27
  68. package/dist/effect.d.ts +0 -2
  69. package/dist/effect.d.ts.map +0 -1
  70. package/dist/effect.js +0 -1
  71. package/dist/errors.d.ts +0 -70
  72. package/dist/errors.d.ts.map +0 -1
  73. package/dist/errors.js +0 -61
  74. package/dist/index.d.ts +0 -6
  75. package/dist/index.d.ts.map +0 -1
  76. package/dist/index.js +0 -5
  77. package/dist/orpc.d.ts +0 -10
  78. package/dist/orpc.d.ts.map +0 -1
  79. package/dist/orpc.js +0 -6
  80. package/dist/plugin.d.ts +0 -57
  81. package/dist/plugin.d.ts.map +0 -1
  82. package/dist/plugin.js +0 -43
  83. package/dist/runtime/errors.d.ts +0 -36
  84. package/dist/runtime/errors.d.ts.map +0 -1
  85. package/dist/runtime/errors.js +0 -47
  86. package/dist/runtime/index.d.ts +0 -20
  87. package/dist/runtime/index.d.ts.map +0 -1
  88. package/dist/runtime/index.js +0 -131
  89. package/dist/runtime/services/module-federation.service.d.ts +0 -13
  90. package/dist/runtime/services/module-federation.service.d.ts.map +0 -1
  91. package/dist/runtime/services/module-federation.service.js +0 -155
  92. package/dist/runtime/services/normalize.d.ts.map +0 -1
  93. package/dist/runtime/services/plugin-lifecycle.service.d.ts +0 -14
  94. package/dist/runtime/services/plugin-lifecycle.service.d.ts.map +0 -1
  95. package/dist/runtime/services/plugin-lifecycle.service.js +0 -34
  96. package/dist/runtime/services/plugin-loader.service.d.ts +0 -45
  97. package/dist/runtime/services/plugin-loader.service.d.ts.map +0 -1
  98. package/dist/runtime/services/plugin-loader.service.js +0 -93
  99. package/dist/runtime/services/plugin.service.d.ts +0 -36
  100. package/dist/runtime/services/plugin.service.d.ts.map +0 -1
  101. package/dist/runtime/services/plugin.service.js +0 -31
  102. package/dist/runtime/services/secrets.service.d.ts +0 -15
  103. package/dist/runtime/services/secrets.service.d.ts.map +0 -1
  104. package/dist/runtime/services/secrets.service.js +0 -35
  105. package/dist/runtime/services.d.ts +0 -6
  106. package/dist/runtime/services.d.ts.map +0 -1
  107. package/dist/runtime/services.js +0 -5
  108. package/dist/runtime/validation.d.ts +0 -5
  109. package/dist/runtime/validation.d.ts.map +0 -1
  110. package/dist/runtime/validation.js +0 -13
  111. package/dist/testing/index.d.ts +0 -59
  112. package/dist/testing/index.d.ts.map +0 -1
  113. package/dist/testing/index.js +0 -45
  114. package/dist/testing/mocks/module-federation.service.d.ts +0 -6
  115. package/dist/testing/mocks/module-federation.service.d.ts.map +0 -1
  116. package/dist/testing/mocks/module-federation.service.js +0 -29
  117. package/dist/tsconfig.tsbuildinfo +0 -1
  118. package/dist/types.d.ts +0 -187
  119. package/dist/types.d.ts.map +0 -1
  120. package/dist/types.js +0 -1
  121. package/dist/zod.d.ts +0 -2
  122. package/dist/zod.d.ts.map +0 -1
  123. package/dist/zod.js +0 -1
@@ -0,0 +1,382 @@
1
+ import { Context, Effect, Layer, ManagedRuntime, Scope } from "effect";
2
+ import * as _orpc_contract0 from "@orpc/contract";
3
+ import { AnyContractRouter, AnySchema, InferSchemaInput, InferSchemaOutput } from "@orpc/contract";
4
+ import { Context as Context$1, Implementer, Router, RouterClient } from "@orpc/server";
5
+ import * as effect_Types0 from "effect/Types";
6
+ import * as effect_Cause0 from "effect/Cause";
7
+
8
+ //#region src/plugin.d.ts
9
+ /**
10
+ * Helper type that correctly constructs the config schema type
11
+ */
12
+ type PluginConfigFor<V$1 extends AnySchema, S$1 extends AnySchema> = {
13
+ variables: V$1;
14
+ secrets: S$1;
15
+ };
16
+ /**
17
+ * Loaded plugin with static binding property
18
+ */
19
+ interface LoadedPluginWithBinding<TContract extends AnyContractRouter, TVariables extends AnySchema, TSecrets extends AnySchema, TContext$1 extends Context$1 = Record<never, never>> {
20
+ new (): Plugin<TContract, TVariables, TSecrets, TContext$1>;
21
+ binding: {
22
+ contract: TContract;
23
+ variables: TVariables;
24
+ secrets: TSecrets;
25
+ context: TContext$1;
26
+ };
27
+ }
28
+ /**
29
+ * Plugin interface
30
+ */
31
+ interface Plugin<TContract extends AnyContractRouter, TVariables extends AnySchema, TSecrets extends AnySchema, TContext$1 extends Context$1 = Record<never, never>> {
32
+ readonly id: string;
33
+ readonly contract: TContract;
34
+ readonly configSchema: PluginConfigFor<TVariables, TSecrets>;
35
+ initialize(config: {
36
+ variables: InferSchemaOutput<TVariables>;
37
+ secrets: InferSchemaOutput<TSecrets>;
38
+ }): Effect.Effect<TContext$1, unknown, Scope.Scope>;
39
+ shutdown(): Effect.Effect<void, never>;
40
+ /**
41
+ * Creates the strongly-typed oRPC router for this plugin.
42
+ * The router's procedure types are inferred directly from the contract.
43
+ * @param context The initialized plugin context
44
+ * @returns A router with procedures matching the plugin's contract
45
+ */
46
+ createRouter(context: TContext$1): Router<TContract, any>;
47
+ }
48
+ /**
49
+ * Factory function to create plugins
50
+ */
51
+ declare function createPlugin<V$1 extends AnySchema, S$1 extends AnySchema, TContract extends AnyContractRouter, TContext$1 extends Context$1 = Record<never, never>>(config: {
52
+ variables: V$1;
53
+ secrets: S$1;
54
+ contract: TContract;
55
+ initialize?: (config: {
56
+ variables: InferSchemaOutput<V$1>;
57
+ secrets: InferSchemaOutput<S$1>;
58
+ }) => Effect.Effect<TContext$1, Error, Scope.Scope>;
59
+ createRouter: (context: TContext$1, builder: Implementer<TContract, TContext$1, TContext$1>) => Router<TContract, any>;
60
+ shutdown?: (ctx: TContext$1) => Effect.Effect<void, Error, never>;
61
+ }): LoadedPluginWithBinding<TContract, V$1, S$1, TContext$1>;
62
+ //#endregion
63
+ //#region src/types.d.ts
64
+ /**
65
+ * Registry bindings interface - populated via module augmentation
66
+ * @example
67
+ * ```typescript
68
+ * declare module "every-plugin" {
69
+ * interface RegisteredPlugins {
70
+ * "my-plugin": typeof MyPlugin;
71
+ * }
72
+ * }
73
+ * ```
74
+ */
75
+ interface RegisteredPlugins {}
76
+ /**
77
+ * Base type for any plugin instance.
78
+ */
79
+ type AnyPlugin = Plugin<AnyContractRouter, AnySchema, AnySchema, any>;
80
+ /**
81
+ * Extract contract type from plugin binding
82
+ */
83
+ type PluginContract<T> = T extends {
84
+ binding: {
85
+ contract: infer C extends AnyContractRouter;
86
+ };
87
+ } ? C : never;
88
+ /**
89
+ * Extract variables type from plugin binding
90
+ */
91
+ type PluginVariables<T> = T extends {
92
+ binding: {
93
+ variables: infer V extends AnySchema;
94
+ };
95
+ } ? V : never;
96
+ /**
97
+ * Extract secrets type from plugin binding
98
+ */
99
+ type PluginSecrets<T> = T extends {
100
+ binding: {
101
+ secrets: infer S extends AnySchema;
102
+ };
103
+ } ? S : never;
104
+ /**
105
+ * Extract context type from plugin binding
106
+ */
107
+ type PluginContext<T> = T extends {
108
+ binding: {
109
+ context: infer C extends Context$1;
110
+ };
111
+ } ? C : never;
112
+ /**
113
+ * Extract router type from plugin binding
114
+ * Uses 'any' for context to support nested router compositions
115
+ */
116
+ type PluginRouterType<T> = Router<PluginContract<T>, any>;
117
+ /**
118
+ * Extract client type from plugin binding
119
+ */
120
+ type PluginClientType<T> = RouterClient<PluginRouterType<T>>;
121
+ /**
122
+ * Extract plugin type from registered plugins by key
123
+ */
124
+ type RegisteredPlugin<K extends keyof RegisteredPlugins> = RegisteredPlugins[K] extends {
125
+ binding: infer B;
126
+ } ? B extends {
127
+ contract: infer C extends AnyContractRouter;
128
+ variables: infer V extends AnySchema;
129
+ secrets: infer S extends AnySchema;
130
+ context: infer TContext extends Context$1;
131
+ } ? Plugin<C, V, S, TContext> : never : never;
132
+ /**
133
+ * Extract config input type from plugin binding
134
+ */
135
+ type PluginConfigInput<T> = {
136
+ variables: InferSchemaInput<PluginVariables<T>>;
137
+ secrets: InferSchemaInput<PluginSecrets<T>>;
138
+ };
139
+ /**
140
+ * Extract context type from plugin instance
141
+ */
142
+ type ContextOf<T extends AnyPlugin> = T extends Plugin<AnyContractRouter, AnySchema, AnySchema, infer TContext> ? TContext : never;
143
+ /**
144
+ * Runtime registry configuration.
145
+ */
146
+ type PluginRegistry = Record<string, PluginMetadata>;
147
+ /**
148
+ * Configuration for secrets injection.
149
+ * Secrets are hydrated into plugin configs using template replacement.
150
+ */
151
+ interface SecretsConfig {
152
+ [key: string]: string;
153
+ }
154
+ /**
155
+ * Plugin metadata
156
+ */
157
+ type PluginMetadata = {
158
+ readonly remoteUrl: string;
159
+ readonly version?: string;
160
+ readonly description?: string;
161
+ };
162
+ /**
163
+ * Loaded plugin
164
+ */
165
+ interface LoadedPlugin<T extends AnyPlugin = AnyPlugin> {
166
+ readonly ctor: new () => T;
167
+ readonly metadata: PluginMetadata;
168
+ }
169
+ /**
170
+ * Instantiated plugin
171
+ */
172
+ interface PluginInstance<T extends AnyPlugin = AnyPlugin> {
173
+ readonly plugin: T;
174
+ readonly metadata: PluginMetadata;
175
+ }
176
+ /**
177
+ * Fully initialized plugin ready for use
178
+ */
179
+ interface InitializedPlugin<T extends AnyPlugin = AnyPlugin> {
180
+ readonly plugin: T;
181
+ readonly metadata: PluginMetadata;
182
+ readonly config: {
183
+ variables: InferSchemaOutput<T["configSchema"]["variables"]>;
184
+ secrets: InferSchemaOutput<T["configSchema"]["secrets"]>;
185
+ };
186
+ readonly context: ContextOf<T>;
187
+ readonly scope: Scope.CloseableScope;
188
+ }
189
+ /**
190
+ * Helper type to detect type errors when looking up RegisteredPlugins
191
+ */
192
+ type VerifyPluginBinding<K extends keyof RegisteredPlugins> = RegisteredPlugins[K] extends {
193
+ binding: infer B;
194
+ } ? B extends {
195
+ contract: AnyContractRouter;
196
+ variables: AnySchema;
197
+ secrets: AnySchema;
198
+ context: Context$1;
199
+ } ? true : `❌ Plugin "${K & string}" is not properly registered. Ensure it extends plugin binding layout { contract, variables, secrets, context }.` : `❌ Plugin "${K & string}" is not properly registered. Missing binding property.`;
200
+ /**
201
+ * Result of runtime.usePlugin() call
202
+ */
203
+ type UsePluginResult<K extends keyof RegisteredPlugins> = VerifyPluginBinding<K> extends true ? {
204
+ readonly client: PluginClientType<RegisteredPlugins[K]>;
205
+ readonly router: PluginRouterType<RegisteredPlugins[K]>;
206
+ readonly metadata: PluginMetadata;
207
+ readonly initialized: InitializedPlugin<RegisteredPlugin<K>>;
208
+ } : VerifyPluginBinding<K>;
209
+ /**
210
+ * Runtime options
211
+ */
212
+ interface RuntimeOptions {
213
+ isolation?: "strict" | "shared" | "none";
214
+ memoryLimit?: string;
215
+ concurrency?: number;
216
+ resourceTimeout?: string;
217
+ debug?: boolean;
218
+ metrics?: boolean;
219
+ }
220
+ /**
221
+ * Namespace containing type utilities for working with plugin results.
222
+ */
223
+ declare namespace EveryPlugin {
224
+ /**
225
+ * Extract plugin runtime instance type from registered plugins.
226
+ * Provides full type safety for plugin clients, routers, and metadata.
227
+ *
228
+ * @example
229
+ * ```ts
230
+ * type Plugin = EveryPlugin.Infer<"my-plugin">;
231
+ * const plugin: Plugin = await runtime.usePlugin("my-plugin", config);
232
+ * ```
233
+ */
234
+ type Infer<K extends keyof RegisteredPlugins> = UsePluginResult<K>;
235
+ }
236
+ /**
237
+ * Plugin runtime configuration
238
+ */
239
+ interface PluginRuntimeConfig<R extends RegisteredPlugins = RegisteredPlugins> {
240
+ registry: PluginRegistry;
241
+ secrets?: SecretsConfig;
242
+ options?: RuntimeOptions;
243
+ }
244
+ //#endregion
245
+ //#region src/runtime/errors.d.ts
246
+ 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 & {
247
+ readonly _tag: "PluginRuntimeError";
248
+ } & Readonly<A>;
249
+ declare class PluginRuntimeError extends PluginRuntimeError_base<{
250
+ readonly pluginId?: string;
251
+ readonly operation?: string;
252
+ readonly procedureName?: string;
253
+ readonly cause?: Error;
254
+ readonly retryable: boolean;
255
+ }> {}
256
+ 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 & {
257
+ readonly _tag: "ModuleFederationError";
258
+ } & Readonly<A>;
259
+ declare class ModuleFederationError extends ModuleFederationError_base<{
260
+ readonly pluginId: string;
261
+ readonly remoteUrl: string;
262
+ readonly cause?: Error;
263
+ }> {}
264
+ //#endregion
265
+ //#region src/runtime/services/plugin-lifecycle.service.d.ts
266
+ declare const PluginLifecycleService_base: Effect.Service.Class<PluginLifecycleService, "PluginLifecycleService", {
267
+ readonly effect: Effect.Effect<{
268
+ register: <T extends AnyPlugin>(plugin: InitializedPlugin<T>) => Effect.Effect<void, never, never>;
269
+ unregister: (plugin: InitializedPlugin<AnyPlugin>) => Effect.Effect<void, never, never>;
270
+ shutdown: (plugin: InitializedPlugin<AnyPlugin>) => Effect.Effect<void, PluginRuntimeError, never>;
271
+ cleanup: () => Effect.Effect<void, never, never>;
272
+ }, never, never>;
273
+ }>;
274
+ declare class PluginLifecycleService extends PluginLifecycleService_base {}
275
+ //#endregion
276
+ //#region src/runtime/services/module-federation.service.d.ts
277
+ declare const ModuleFederationService_base: Effect.Service.Class<ModuleFederationService, "ModuleFederationService", {
278
+ readonly effect: Effect.Effect<{
279
+ registerRemote: (pluginId: string, url: string) => Effect.Effect<undefined, ModuleFederationError, never>;
280
+ loadRemoteConstructor: (pluginId: string, url: string) => Effect.Effect<new () => AnyPlugin, ModuleFederationError, never>;
281
+ }, never, never>;
282
+ }>;
283
+ declare class ModuleFederationService extends ModuleFederationService_base {}
284
+ //#endregion
285
+ //#region src/runtime/services/secrets.service.d.ts
286
+ declare const SecretsConfigTag_base: Context.TagClass<SecretsConfigTag, "SecretsConfig", SecretsConfig>;
287
+ declare class SecretsConfigTag extends SecretsConfigTag_base {}
288
+ declare const SecretsService_base: Effect.Service.Class<SecretsService, "SecretsService", {
289
+ readonly effect: Effect.Effect<{
290
+ hydrateSecrets: <T>(config: T) => Effect.Effect<T, PluginRuntimeError, never>;
291
+ }, never, SecretsConfigTag>;
292
+ }>;
293
+ declare class SecretsService extends SecretsService_base {}
294
+ //#endregion
295
+ //#region src/runtime/services/plugin-loader.service.d.ts
296
+ declare const PluginRegistryTag_base: Context.TagClass<PluginRegistryTag, "PluginRegistry", PluginRegistry>;
297
+ declare class PluginRegistryTag extends PluginRegistryTag_base {}
298
+ declare const RegistryService_base: Effect.Service.Class<RegistryService, "RegistryService", {
299
+ readonly effect: Effect.Effect<{
300
+ get: (pluginId: string) => Effect.Effect<PluginMetadata, PluginRuntimeError, never>;
301
+ }, never, PluginRegistryTag>;
302
+ }>;
303
+ declare class RegistryService extends RegistryService_base {}
304
+ declare const PluginLoaderService_base: Effect.Service.Class<PluginLoaderService, "PluginLoaderService", {
305
+ readonly effect: Effect.Effect<{
306
+ loadPlugin: (pluginId: string) => Effect.Effect<{
307
+ ctor: new () => AnyPlugin;
308
+ metadata: PluginMetadata;
309
+ }, PluginRuntimeError, never>;
310
+ instantiatePlugin: <T extends AnyPlugin>(pluginId: string, loadedPlugin: LoadedPlugin<T>) => Effect.Effect<{
311
+ plugin: T;
312
+ metadata: PluginMetadata;
313
+ }, PluginRuntimeError, never>;
314
+ initializePlugin: <T extends AnyPlugin>(pluginInstance: PluginInstance<T>, config: {
315
+ variables: InferSchemaInput<T["configSchema"]["variables"]>;
316
+ secrets: InferSchemaInput<T["configSchema"]["secrets"]>;
317
+ }) => Effect.Effect<{
318
+ plugin: T;
319
+ metadata: PluginMetadata;
320
+ config: {
321
+ variables: InferSchemaOutput<T["configSchema"]["variables"]>;
322
+ secrets: InferSchemaOutput<T["configSchema"]["secrets"]>;
323
+ };
324
+ context: any;
325
+ scope: Scope.CloseableScope;
326
+ }, PluginRuntimeError, never>;
327
+ }, never, ModuleFederationService | SecretsService | RegistryService>;
328
+ }>;
329
+ declare class PluginLoaderService extends PluginLoaderService_base {}
330
+ //#endregion
331
+ //#region src/runtime/services/plugin.service.d.ts
332
+ declare const PluginService_base: Effect.Service.Class<PluginService, "PluginService", {
333
+ readonly scoped: Effect.Effect<{
334
+ loadPlugin: (pluginId: string) => Effect.Effect<{
335
+ ctor: new () => AnyPlugin;
336
+ metadata: PluginMetadata;
337
+ }, PluginRuntimeError, never>;
338
+ instantiatePlugin: <T extends AnyPlugin>(pluginId: string, loadedPlugin: LoadedPlugin<T>) => Effect.Effect<{
339
+ plugin: T;
340
+ metadata: PluginMetadata;
341
+ }, PluginRuntimeError, never>;
342
+ initializePlugin: <T extends AnyPlugin>(pluginInstance: PluginInstance<T>, config: {
343
+ variables: _orpc_contract0.InferSchemaInput<T["configSchema"]["variables"]>;
344
+ secrets: _orpc_contract0.InferSchemaInput<T["configSchema"]["secrets"]>;
345
+ }) => Effect.Effect<{
346
+ plugin: T;
347
+ metadata: PluginMetadata;
348
+ config: {
349
+ variables: _orpc_contract0.InferSchemaOutput<T["configSchema"]["variables"]>;
350
+ secrets: _orpc_contract0.InferSchemaOutput<T["configSchema"]["secrets"]>;
351
+ };
352
+ context: any;
353
+ scope: Scope.CloseableScope;
354
+ }, PluginRuntimeError, never>;
355
+ shutdownPlugin: (plugin: InitializedPlugin<AnyPlugin>) => Effect.Effect<void, never, never>;
356
+ cleanup: () => Effect.Effect<void, never, never>;
357
+ }, never, PluginLoaderService | PluginLifecycleService>;
358
+ }>;
359
+ declare class PluginService extends PluginService_base {
360
+ static Live: (registry: PluginRegistry, secrets: SecretsConfig) => Layer.Layer<PluginService, never, never>;
361
+ }
362
+ //#endregion
363
+ //#region src/runtime/index.d.ts
364
+ declare class PluginRuntime<R extends RegisteredPlugins = RegisteredPlugins> {
365
+ private runtime;
366
+ private registry;
367
+ private pluginCache;
368
+ constructor(runtime: ManagedRuntime.ManagedRuntime<PluginService, never>, registry: PluginRegistry);
369
+ private generateCacheKey;
370
+ private validatePluginId;
371
+ private runPromise;
372
+ usePlugin<K extends keyof RegisteredPlugins & string>(pluginId: K, config: PluginConfigInput<R[K]>): Promise<UsePluginResult<K>>;
373
+ loadPlugin<K extends keyof RegisteredPlugins & string>(pluginId: K): Promise<LoadedPlugin<RegisteredPlugin<K>>>;
374
+ instantiatePlugin<K extends keyof RegisteredPlugins & string>(pluginId: K, loadedPlugin: LoadedPlugin<RegisteredPlugin<K>>): Promise<PluginInstance<RegisteredPlugin<K>>>;
375
+ initializePlugin<T extends AnyPlugin>(instance: PluginInstance<T>, config: any): Promise<InitializedPlugin<T>>;
376
+ shutdown(): Promise<void>;
377
+ evictPlugin<K extends keyof RegisteredPlugins & string>(pluginId: K, config: PluginConfigInput<RegisteredPlugins[K]>): Promise<void>;
378
+ }
379
+ declare function createPluginRuntime(config: PluginRuntimeConfig): PluginRuntime;
380
+ //#endregion
381
+ export { PluginConfigFor as C, Plugin as S, PluginSecrets as _, EveryPlugin as a, SecretsConfig as b, PluginClientType as c, PluginContract as d, PluginInstance as f, PluginRuntimeConfig as g, PluginRouterType as h, AnyPlugin as i, PluginConfigInput as l, PluginRegistry as m, createPluginRuntime as n, InitializedPlugin as o, PluginMetadata as p, PluginService as r, LoadedPlugin as s, PluginRuntime as t, PluginContext as u, PluginVariables as v, createPlugin as w, LoadedPluginWithBinding as x, RegisteredPlugins as y };
382
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgtbWF0clBWNG0uZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL3BsdWdpbi50cyIsIi4uL3NyYy90eXBlcy50cyIsIi4uL3NyYy9ydW50aW1lL2Vycm9ycy50cyIsIi4uL3NyYy9ydW50aW1lL3NlcnZpY2VzL3BsdWdpbi1saWZlY3ljbGUuc2VydmljZS50cyIsIi4uL3NyYy9ydW50aW1lL3NlcnZpY2VzL21vZHVsZS1mZWRlcmF0aW9uLnNlcnZpY2UudHMiLCIuLi9zcmMvcnVudGltZS9zZXJ2aWNlcy9zZWNyZXRzLnNlcnZpY2UudHMiLCIuLi9zcmMvcnVudGltZS9zZXJ2aWNlcy9wbHVnaW4tbG9hZGVyLnNlcnZpY2UudHMiLCIuLi9zcmMvcnVudGltZS9zZXJ2aWNlcy9wbHVnaW4uc2VydmljZS50cyIsIi4uL3NyYy9ydW50aW1lL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0tBUVksNEJBQTBCLHVCQUFxQjthQUMvQztFQURBLE9BQUEsRUFFRixHQUZFO0NBQTBCOzs7O0FBRTNCLFVBTU0sdUJBTk4sQ0FBQSxrQkFPUSxpQkFQUixFQUFBLG1CQVFTLFNBUlQsRUFBQSxpQkFTTyxTQVRQLEVBQUEsbUJBVU8sU0FWUCxHQVVpQixNQVZqQixDQUFBLEtBQUEsRUFBQSxLQUFBLENBQUEsQ0FBQSxDQUFBO0VBTU0sTUFBQSxFQU1ULE1BTlMsQ0FNRixTQU5FLEVBTVMsVUFOYyxFQU1GLFFBTkUsRUFNUSxVQU5SLENBQUE7RUFDckIsT0FBQSxFQUFBO0lBQ0MsUUFBQSxFQU1SLFNBTlE7SUFDRixTQUFBLEVBTUwsVUFOSztJQUNBLE9BQUEsRUFNUCxRQU5PO0lBQVUsT0FBQSxFQU9qQixVQVBpQjtFQUViLENBQUE7Ozs7O0FBRUgsVUFVSyxNQVZMLENBQUEsa0JBV08saUJBWFAsRUFBQSxtQkFZUSxTQVpSLEVBQUEsaUJBYU0sU0FiTixFQUFBLG1CQWNNLFNBZE4sR0FjZ0IsTUFkaEIs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
package/dist/index.cjs ADDED
@@ -0,0 +1,57 @@
1
+ const require_chunk = require('./chunk-zltIcp7o.cjs');
2
+ require('./zod-DYghWCz1.cjs');
3
+ const require_errors = require('./errors-CVnoPl9v.cjs');
4
+ const require_runtime = require('./runtime-CdAK1Q5M.cjs');
5
+ const require_normalize = require('./normalize-D4Qh0wVk.cjs');
6
+ require('./package-C09aaCqd.cjs');
7
+ let effect = require("effect");
8
+ let __orpc_server = require("@orpc/server");
9
+
10
+ //#region src/plugin.ts
11
+ /**
12
+ * Factory function to create plugins
13
+ */
14
+ function createPlugin(config) {
15
+ const configSchema = {
16
+ variables: config.variables,
17
+ secrets: config.secrets
18
+ };
19
+ class CreatedPlugin {
20
+ /** set during instantiation - registry key */
21
+ id;
22
+ contract = config.contract;
23
+ configSchema = configSchema;
24
+ _context = null;
25
+ initialize(pluginConfig) {
26
+ return (config.initialize ?? (() => effect.Effect.succeed({})))(pluginConfig).pipe(effect.Effect.tap((ctx) => effect.Effect.sync(() => {
27
+ this._context = ctx;
28
+ })), effect.Effect.map(() => this._context), effect.Effect.mapError((error) => error));
29
+ }
30
+ shutdown() {
31
+ const self = this;
32
+ return effect.Effect.gen(function* () {
33
+ if (config.shutdown && self._context) yield* config.shutdown(self._context).pipe(effect.Effect.catchAll(() => effect.Effect.void));
34
+ });
35
+ }
36
+ createRouter(context) {
37
+ const builder = (0, __orpc_server.implement)(config.contract).$context();
38
+ return config.createRouter(context, builder);
39
+ }
40
+ }
41
+ const PluginConstructor = CreatedPlugin;
42
+ PluginConstructor.binding = {
43
+ contract: config.contract,
44
+ variables: config.variables,
45
+ secrets: config.secrets,
46
+ context: {}
47
+ };
48
+ return PluginConstructor;
49
+ }
50
+
51
+ //#endregion
52
+ exports.CommonPluginErrors = require_errors.CommonPluginErrors;
53
+ exports.PluginRuntime = require_runtime.PluginRuntime;
54
+ exports.createPlugin = createPlugin;
55
+ exports.createPluginRuntime = require_runtime.createPluginRuntime;
56
+ exports.getNormalizedRemoteName = require_normalize.getNormalizedRemoteName;
57
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY2pzIiwibmFtZXMiOlsiY29uZmlnU2NoZW1hOiBQbHVnaW5Db25maWdGb3I8ViwgUz4iLCJFZmZlY3QiXSwic291cmNlcyI6WyIuLi9zcmMvcGx1Z2luLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQW55Q29udHJhY3RSb3V0ZXIsIEFueVNjaGVtYSwgSW5mZXJTY2hlbWFPdXRwdXQgfSBmcm9tIFwiQG9ycGMvY29udHJhY3RcIjtcbmltcG9ydCB0eXBlIHsgQ29udGV4dCwgSW1wbGVtZW50ZXIsIFJvdXRlciB9IGZyb20gXCJAb3JwYy9zZXJ2ZXJcIjtcbmltcG9ydCB7IGltcGxlbWVudCB9IGZyb20gXCJAb3JwYy9zZXJ2ZXJcIjtcbmltcG9ydCB7IEVmZmVjdCwgdHlwZSBTY29wZSB9IGZyb20gXCJlZmZlY3RcIjtcblxuLyoqXG4gKiBIZWxwZXIgdHlwZSB0aGF0IGNvcnJlY3RseSBjb25zdHJ1Y3RzIHRoZSBjb25maWcgc2NoZW1hIHR5cGVcbiAqL1xuZXhwb3J0IHR5cGUgUGx1Z2luQ29uZmlnRm9yPFYgZXh0ZW5kcyBBbnlTY2hlbWEsIFMgZXh0ZW5kcyBBbnlTY2hlbWE+ID0ge1xuXHR2YXJpYWJsZXM6IFY7XG5cdHNlY3JldHM6IFM7XG59O1xuXG4vKipcbiAqIExvYWRlZCBwbHVnaW4gd2l0aCBzdGF0aWMgYmluZGluZyBwcm9wZXJ0eVxuICovXG5leHBvcnQgaW50ZXJmYWNlIExvYWRlZFBsdWdpbldpdGhCaW5kaW5nPFxuXHRUQ29udHJhY3QgZXh0ZW5kcyBBbnlDb250cmFjdFJvdXRlcixcblx0VFZhcmlhYmxlcyBleHRlbmRzIEFueVNjaGVtYSxcblx0VFNlY3JldHMgZXh0ZW5kcyBBbnlTY2hlbWEsXG5cdFRDb250ZXh0IGV4dGVuZHMgQ29udGV4dCA9IFJlY29yZDxuZXZlciwgbmV2ZXI+XG4+IHtcblx0bmV3KCk6IFBsdWdpbjxUQ29udHJhY3QsIFRWYXJpYWJsZXMsIFRTZWNyZXRzLCBUQ29udGV4dD47XG5cdGJpbmRpbmc6IHtcblx0XHRjb250cmFjdDogVENvbnRyYWN0O1xuXHRcdHZhcmlhYmxlczogVFZhcmlhYmxlcztcblx0XHRzZWNyZXRzOiBUU2VjcmV0cztcblx0XHRjb250ZXh0OiBUQ29udGV4dDtcblx0fTtcbn1cblxuLyoqXG4gKiBQbHVnaW4gaW50ZXJmYWNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGx1Z2luPFxuXHRUQ29udHJhY3QgZXh0ZW5kcyBBbnlDb250cmFjdFJvdXRlcixcblx0VFZhcmlhYmxlcyBleHRlbmRzIEFueVNjaGVtYSxcblx0VFNlY3JldHMgZXh0ZW5kcyBBbnlTY2hlbWEsXG5cdFRDb250ZXh0IGV4dGVuZHMgQ29udGV4dCA9IFJlY29yZDxuZXZlciwgbmV2ZXI+XG4+IHtcblx0cmVhZG9ubHkgaWQ6IHN0cmluZztcblx0cmVhZG9ubHkgY29udHJhY3Q6IFRDb250cmFjdDtcblx0cmVhZG9ubHkgY29uZmlnU2NoZW1hOiBQbHVnaW5Db25maWdGb3I8VFZhcmlhYmxlcywgVFNlY3JldHM+O1xuXG5cdC8vIFBsdWdpbiBsaWZlY3ljbGVcblx0aW5pdGlhbGl6ZShcblx0XHRjb25maWc6IHsgdmFyaWFibGVzOiBJbmZlclNjaGVtYU91dHB1dDxUVmFyaWFibGVzPjsgc2VjcmV0czogSW5mZXJTY2hlbWFPdXRwdXQ8VFNlY3JldHM+IH1cblx0KTogRWZmZWN0LkVmZmVjdDxUQ29udGV4dCwgdW5rbm93biwgU2NvcGUuU2NvcGU+O1xuXG5cdHNodXRkb3duKCk6IEVmZmVjdC5FZmZlY3Q8dm9pZCwgbmV2ZXI+O1xuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIHRoZSBzdHJvbmdseS10eXBlZCBvUlBDIHJvdXRlciBmb3IgdGhpcyBwbHVnaW4uXG5cdCAqIFRoZSByb3V0ZXIncyBwcm9jZWR1cmUgdHlwZXMgYXJlIGluZmVycmVkIGRpcmVjdGx5IGZyb20gdGhlIGNvbnRyYWN0LlxuXHQgKiBAcGFyYW0gY29udGV4dCBUaGUgaW5pdGlhbGl6ZWQgcGx1Z2luIGNvbnRleHRcblx0ICogQHJldHVybnMgQSByb3V0ZXIgd2l0aCBwcm9jZWR1cmVzIG1hdGNoaW5nIHRoZSBwbHVnaW4ncyBjb250cmFjdFxuXHQgKi9cblx0Y3JlYXRlUm91dGVyKGNvbnRleHQ6IFRDb250ZXh0KTogUm91dGVyPFRDb250cmFjdCwgYW55Pjtcbn1cblxuLyoqXG4gKiBGYWN0b3J5IGZ1bmN0aW9uIHRvIGNyZWF0ZSBwbHVnaW5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQbHVnaW48XG5cdFYgZXh0ZW5kcyBBbnlTY2hlbWEsXG5cdFMgZXh0ZW5kcyBBbnlTY2hlbWEsXG5cdFRDb250cmFjdCBleHRlbmRzIEFueUNvbnRyYWN0Um91dGVyLFxuXHRUQ29udGV4dCBleHRlbmRzIENvbnRleHQgPSBSZWNvcmQ8bmV2ZXIsIG5ldmVyPlxuPihjb25maWc6IHtcblx0dmFyaWFibGVzOiBWO1xuXHRzZWNyZXRzOiBTO1xuXHRjb250cmFjdDogVENvbnRyYWN0O1xuXHRpbml0aWFsaXplPzogKFxuXHRcdGNvbmZpZzogeyB2YXJpYWJsZXM6IEluZmVyU2NoZW1hT3V0cHV0PFY+OyBzZWNyZXRzOiBJbmZlclNjaGVtYU91dHB1dDxTPiB9XG5cdCkgPT4gRWZmZWN0LkVmZmVjdDxUQ29udGV4dCwgRXJyb3IsIFNjb3BlLlNjb3BlPjtcblx0Y3JlYXRlUm91dGVyOiAoXG5cdFx0Y29udGV4dDogVENvbnRleHQsXG5cdFx0YnVpbGRlcjogSW1wbGVtZW50ZXI8VENvbnRyYWN0LCBUQ29udGV4dCwgVENvbnRleHQ+XG5cdCkgPT4gUm91dGVyPFRDb250cmFjdCwgYW55Pjtcblx0c2h1dGRvd24/OiAoY3R4OiBUQ29udGV4dCkgPT4gRWZmZWN0LkVmZmVjdDx2b2lkLCBFcnJvciwgbmV2ZXI+O1xufSkge1xuXHRjb25zdCBjb25maWdTY2hlbWE6IFBsdWdpbkNvbmZpZ0ZvcjxWLCBTPiA9IHtcblx0XHR2YXJpYWJsZXM6IGNvbmZpZy52YXJpYWJsZXMsXG5cdFx0c2VjcmV0czogY29uZmlnLnNlY3JldHNcblx0fTtcblxuXHRjbGFzcyBDcmVhdGVkUGx1Z2luIGltcGxlbWVudHMgUGx1Z2luPFRDb250cmFjdCwgViwgUywgVENvbnRleHQ+IHtcblx0XHQvKiogc2V0IGR1cmluZyBpbnN0YW50aWF0aW9uIC0gcmVnaXN0cnkga2V5ICovXG5cdFx0aWQhOiBzdHJpbmc7XG5cdFx0cmVhZG9ubHkgY29udHJhY3QgPSBjb25maWcuY29udHJhY3Q7XG5cdFx0cmVhZG9ubHkgY29uZmlnU2NoZW1hID0gY29uZmlnU2NoZW1hO1xuXG5cdFx0cHJpdmF0ZSBfY29udGV4dDogVENvbnRleHQgfCBudWxsID0gbnVsbDtcblxuXHRcdGluaXRpYWxpemUoXG5cdFx0XHRwbHVnaW5Db25maWc6IHsgdmFyaWFibGVzOiBJbmZlclNjaGVtYU91dHB1dDxWPjsgc2VjcmV0czogSW5mZXJTY2hlbWFPdXRwdXQ8Uz4gfVxuXHRcdCk6IEVmZmVjdC5FZmZlY3Q8VENvbnRleHQsIHVua25vd24sIFNjb3BlLlNjb3BlPiB7XG5cdFx0XHRjb25zdCBpbml0ID0gY29uZmlnLmluaXRpYWxpemUgPz8gKCgpID0+IEVmZmVjdC5zdWNjZWVkKHt9IGFzIFRDb250ZXh0KSk7XG5cblx0XHRcdHJldHVybiBpbml0KHBsdWdpbkNvbmZpZykucGlwZShcblx0XHRcdFx0RWZmZWN0LnRhcCgoY3R4KSA9PiBFZmZlY3Quc3luYygoKSA9PiB7IHRoaXMuX2NvbnRleHQgPSBjdHg7IH0pKSxcblx0XHRcdFx0RWZmZWN0Lm1hcCgoKSA9PiB0aGlzLl9jb250ZXh0IGFzIFRDb250ZXh0KSxcblx0XHRcdFx0RWZmZWN0Lm1hcEVycm9yKChlcnJvcikgPT4gZXJyb3IgYXMgdW5rbm93bilcblx0XHRcdCk7XG5cdFx0fVxuXG5cdFx0c2h1dGRvd24oKTogRWZmZWN0LkVmZmVjdDx2b2lkLCBuZXZlcj4ge1xuXHRcdFx0Y29uc3Qgc2VsZiA9IHRoaXM7XG5cdFx0XHRyZXR1cm4gRWZmZWN0LmdlbihmdW5jdGlvbiogKCkge1xuXHRcdFx0XHRpZiAoY29uZmlnLnNodXRkb3duICYmIHNlbGYuX2NvbnRleHQpIHtcblx0XHRcdFx0XHR5aWVsZCogY29uZmlnLnNodXRkb3duKHNlbGYuX2NvbnRleHQpLnBpcGUoXG5cdFx0XHRcdFx0XHRFZmZlY3QuY2F0Y2hBbGwoKCkgPT4gRWZmZWN0LnZvaWQpXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0fVxuXG5cdFx0Y3JlYXRlUm91dGVyKGNvbnRleHQ6IFRDb250ZXh0KTogUm91dGVyPFRDb250cmFjdCwgYW55PiB7XG5cdFx0XHRjb25zdCBidWlsZGVyID0gaW1wbGVtZW50KGNvbmZpZy5jb250cmFjdCkuJGNvbnRleHQ8VENvbnRleHQ+KCk7XG5cdFx0XHRjb25zdCByb3V0ZXIgPSBjb25maWcuY3JlYXRlUm91dGVyKGNvbnRleHQsIGJ1aWxkZXIpO1xuXHRcdFx0cmV0dXJuIHJvdXRlciBhcyBSb3V0ZXI8VENvbnRyYWN0LCBhbnk+O1xuXHRcdH1cblx0fVxuXG5cdGNvbnN0IFBsdWdpbkNvbnN0cnVjdG9yID0gQ3JlYXRlZFBsdWdpbiBhcyB1bmtub3duIGFzIHtcblx0XHRuZXcoKTogUGx1Z2luPFRDb250cmFjdCwgViwgUywgVENvbnRleHQ+O1xuXHRcdGJpbmRpbmc6IHtcblx0XHRcdGNvbnRyYWN0OiBUQ29udHJhY3Q7XG5cdFx0XHR2YXJpYWJsZXM6IFY7XG5cdFx0XHRzZWNyZXRzOiBTO1xuXHRcdFx0Y29udGV4dDogVENvbnRleHQ7XG5cdFx0fTtcblx0fTtcblxuXHRQbHVnaW5Db25zdHJ1Y3Rvci5iaW5kaW5nID0ge1xuXHRcdGNvbnRyYWN0OiBjb25maWcuY29udHJhY3QsXG5cdFx0dmFyaWFibGVzOiBjb25maWcudmFyaWFibGVzLFxuXHRcdHNlY3JldHM6IGNvbmZpZy5zZWNyZXRzLFxuXHRcdGNvbnRleHQ6IHt9IGFzIFRDb250ZXh0XG5cdH07XG5cblx0cmV0dXJuIFBsdWdpbkNvbnN0cnVjdG9yIGFzIExvYWRlZFBsdWdpbldpdGhCaW5kaW5nPFRDb250cmFjdCwgViwgUywgVENvbnRleHQ+O1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBK0RBLFNBQWdCLGFBS2QsUUFZQztDQUNGLE1BQU1BLGVBQXNDO0VBQzNDLFdBQVcsT0FBTztFQUNsQixTQUFTLE9BQU87RUFDaEI7Q0FFRCxNQUFNLGNBQTJEOztFQUVoRTtFQUNBLEFBQVMsV0FBVyxPQUFPO0VBQzNCLEFBQVMsZUFBZTtFQUV4QixBQUFRLFdBQTRCO0VBRXBDLFdBQ0MsY0FDZ0Q7QUFHaEQsV0FGYSxPQUFPLHFCQUFxQkMsY0FBTyxRQUFRLEVBQUUsQ0FBYSxHQUUzRCxhQUFhLENBQUMsS0FDekJBLGNBQU8sS0FBSyxRQUFRQSxjQUFPLFdBQVc7QUFBRSxTQUFLLFdBQVc7S0FBTyxDQUFDLEVBQ2hFQSxjQUFPLFVBQVUsS0FBSyxTQUFxQixFQUMzQ0EsY0FBTyxVQUFVLFVBQVUsTUFBaUIsQ0FDNUM7O0VBR0YsV0FBdUM7R0FDdEMsTUFBTSxPQUFPO0FBQ2IsVUFBT0EsY0FBTyxJQUFJLGFBQWE7QUFDOUIsUUFBSSxPQUFPLFlBQVksS0FBSyxTQUMzQixRQUFPLE9BQU8sU0FBUyxLQUFLLFNBQVMsQ0FBQyxLQUNyQ0EsY0FBTyxlQUFlQSxjQUFPLEtBQUssQ0FDbEM7S0FFRDs7RUFHSCxhQUFhLFNBQTJDO0dBQ3ZELE1BQU0sdUNBQW9CLE9BQU8sU0FBUyxDQUFDLFVBQW9CO0FBRS9ELFVBRGUsT0FBTyxhQUFhLFNBQVMsUUFBUTs7O0NBS3RELE1BQU0sb0JBQW9CO0FBVTFCLG1CQUFrQixVQUFVO0VBQzNCLFVBQVUsT0FBTztFQUNqQixXQUFXLE9BQU87RUFDbEIsU0FBUyxPQUFPO0VBQ2hCLFNBQVMsRUFBRTtFQUNYO0FBRUQsUUFBTyJ9
@@ -0,0 +1,5 @@
1
+ import "./zod-A7Pti5IV.cjs";
2
+ import { t as CommonPluginErrors } from "./errors-DKPPPYYT.cjs";
3
+ import { C as PluginConfigFor, S as Plugin, _ as PluginSecrets, a as EveryPlugin, b as SecretsConfig, c as PluginClientType, d as PluginContract, f as PluginInstance, g as PluginRuntimeConfig, h as PluginRouterType, i as AnyPlugin, l as PluginConfigInput, m as PluginRegistry, n as createPluginRuntime, o as InitializedPlugin, p as PluginMetadata, s as LoadedPlugin, t as PluginRuntime, u as PluginContext, v as PluginVariables, w as createPlugin, x as LoadedPluginWithBinding, y as RegisteredPlugins } from "./index-matrPV4m.cjs";
4
+ import { t as getNormalizedRemoteName } from "./normalize-BW7kk8Lk.cjs";
5
+ export { AnyPlugin, CommonPluginErrors, EveryPlugin, InitializedPlugin, LoadedPlugin, LoadedPluginWithBinding, Plugin, PluginClientType, PluginConfigFor, PluginConfigInput, PluginContext, PluginContract, PluginInstance, PluginMetadata, PluginRegistry, PluginRouterType, PluginRuntime, PluginRuntimeConfig, PluginSecrets, PluginVariables, RegisteredPlugins, SecretsConfig, createPlugin, createPluginRuntime, getNormalizedRemoteName };
@@ -0,0 +1,5 @@
1
+ import "./zod-D4CFw8d9.mjs";
2
+ import { t as CommonPluginErrors } from "./errors-Car4tFVP.mjs";
3
+ import { C as PluginConfigFor, S as Plugin, _ as PluginSecrets, a as EveryPlugin, b as SecretsConfig, c as PluginClientType, d as PluginContract, f as PluginInstance, g as PluginRuntimeConfig, h as PluginRouterType, i as AnyPlugin, l as PluginConfigInput, m as PluginRegistry, n as createPluginRuntime, o as InitializedPlugin, p as PluginMetadata, s as LoadedPlugin, t as PluginRuntime, u as PluginContext, v as PluginVariables, w as createPlugin, x as LoadedPluginWithBinding, y as RegisteredPlugins } from "./index-bwAhA9ca.mjs";
4
+ import { t as getNormalizedRemoteName } from "./normalize-BLTyqFww.mjs";
5
+ export { AnyPlugin, CommonPluginErrors, EveryPlugin, InitializedPlugin, LoadedPlugin, LoadedPluginWithBinding, Plugin, PluginClientType, PluginConfigFor, PluginConfigInput, PluginContext, PluginContract, PluginInstance, PluginMetadata, PluginRegistry, PluginRouterType, PluginRuntime, PluginRuntimeConfig, PluginSecrets, PluginVariables, RegisteredPlugins, SecretsConfig, createPlugin, createPluginRuntime, getNormalizedRemoteName };
package/dist/index.mjs ADDED
@@ -0,0 +1,52 @@
1
+ import "./zod-BVo51kgJ.mjs";
2
+ import { t as CommonPluginErrors } from "./errors-D7keKf7a.mjs";
3
+ import { n as createPluginRuntime, t as PluginRuntime } from "./runtime-I62RA1Vo.mjs";
4
+ import { t as getNormalizedRemoteName } from "./normalize-D7nae0Hn.mjs";
5
+ import "./package-Ba1JsQFb.mjs";
6
+ import { Effect } from "effect";
7
+ import { implement } from "@orpc/server";
8
+
9
+ //#region src/plugin.ts
10
+ /**
11
+ * Factory function to create plugins
12
+ */
13
+ function createPlugin(config) {
14
+ const configSchema = {
15
+ variables: config.variables,
16
+ secrets: config.secrets
17
+ };
18
+ class CreatedPlugin {
19
+ /** set during instantiation - registry key */
20
+ id;
21
+ contract = config.contract;
22
+ configSchema = configSchema;
23
+ _context = null;
24
+ initialize(pluginConfig) {
25
+ return (config.initialize ?? (() => Effect.succeed({})))(pluginConfig).pipe(Effect.tap((ctx) => Effect.sync(() => {
26
+ this._context = ctx;
27
+ })), Effect.map(() => this._context), Effect.mapError((error) => error));
28
+ }
29
+ shutdown() {
30
+ const self = this;
31
+ return Effect.gen(function* () {
32
+ if (config.shutdown && self._context) yield* config.shutdown(self._context).pipe(Effect.catchAll(() => Effect.void));
33
+ });
34
+ }
35
+ createRouter(context) {
36
+ const builder = implement(config.contract).$context();
37
+ return config.createRouter(context, builder);
38
+ }
39
+ }
40
+ const PluginConstructor = CreatedPlugin;
41
+ PluginConstructor.binding = {
42
+ contract: config.contract,
43
+ variables: config.variables,
44
+ secrets: config.secrets,
45
+ context: {}
46
+ };
47
+ return PluginConstructor;
48
+ }
49
+
50
+ //#endregion
51
+ export { CommonPluginErrors, PluginRuntime, createPlugin, createPluginRuntime, getNormalizedRemoteName };
52
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgubWpzIiwibmFtZXMiOlsiY29uZmlnU2NoZW1hOiBQbHVnaW5Db25maWdGb3I8ViwgUz4iXSwic291cmNlcyI6WyIuLi9zcmMvcGx1Z2luLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQW55Q29udHJhY3RSb3V0ZXIsIEFueVNjaGVtYSwgSW5mZXJTY2hlbWFPdXRwdXQgfSBmcm9tIFwiQG9ycGMvY29udHJhY3RcIjtcbmltcG9ydCB0eXBlIHsgQ29udGV4dCwgSW1wbGVtZW50ZXIsIFJvdXRlciB9IGZyb20gXCJAb3JwYy9zZXJ2ZXJcIjtcbmltcG9ydCB7IGltcGxlbWVudCB9IGZyb20gXCJAb3JwYy9zZXJ2ZXJcIjtcbmltcG9ydCB7IEVmZmVjdCwgdHlwZSBTY29wZSB9IGZyb20gXCJlZmZlY3RcIjtcblxuLyoqXG4gKiBIZWxwZXIgdHlwZSB0aGF0IGNvcnJlY3RseSBjb25zdHJ1Y3RzIHRoZSBjb25maWcgc2NoZW1hIHR5cGVcbiAqL1xuZXhwb3J0IHR5cGUgUGx1Z2luQ29uZmlnRm9yPFYgZXh0ZW5kcyBBbnlTY2hlbWEsIFMgZXh0ZW5kcyBBbnlTY2hlbWE+ID0ge1xuXHR2YXJpYWJsZXM6IFY7XG5cdHNlY3JldHM6IFM7XG59O1xuXG4vKipcbiAqIExvYWRlZCBwbHVnaW4gd2l0aCBzdGF0aWMgYmluZGluZyBwcm9wZXJ0eVxuICovXG5leHBvcnQgaW50ZXJmYWNlIExvYWRlZFBsdWdpbldpdGhCaW5kaW5nPFxuXHRUQ29udHJhY3QgZXh0ZW5kcyBBbnlDb250cmFjdFJvdXRlcixcblx0VFZhcmlhYmxlcyBleHRlbmRzIEFueVNjaGVtYSxcblx0VFNlY3JldHMgZXh0ZW5kcyBBbnlTY2hlbWEsXG5cdFRDb250ZXh0IGV4dGVuZHMgQ29udGV4dCA9IFJlY29yZDxuZXZlciwgbmV2ZXI+XG4+IHtcblx0bmV3KCk6IFBsdWdpbjxUQ29udHJhY3QsIFRWYXJpYWJsZXMsIFRTZWNyZXRzLCBUQ29udGV4dD47XG5cdGJpbmRpbmc6IHtcblx0XHRjb250cmFjdDogVENvbnRyYWN0O1xuXHRcdHZhcmlhYmxlczogVFZhcmlhYmxlcztcblx0XHRzZWNyZXRzOiBUU2VjcmV0cztcblx0XHRjb250ZXh0OiBUQ29udGV4dDtcblx0fTtcbn1cblxuLyoqXG4gKiBQbHVnaW4gaW50ZXJmYWNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGx1Z2luPFxuXHRUQ29udHJhY3QgZXh0ZW5kcyBBbnlDb250cmFjdFJvdXRlcixcblx0VFZhcmlhYmxlcyBleHRlbmRzIEFueVNjaGVtYSxcblx0VFNlY3JldHMgZXh0ZW5kcyBBbnlTY2hlbWEsXG5cdFRDb250ZXh0IGV4dGVuZHMgQ29udGV4dCA9IFJlY29yZDxuZXZlciwgbmV2ZXI+XG4+IHtcblx0cmVhZG9ubHkgaWQ6IHN0cmluZztcblx0cmVhZG9ubHkgY29udHJhY3Q6IFRDb250cmFjdDtcblx0cmVhZG9ubHkgY29uZmlnU2NoZW1hOiBQbHVnaW5Db25maWdGb3I8VFZhcmlhYmxlcywgVFNlY3JldHM+O1xuXG5cdC8vIFBsdWdpbiBsaWZlY3ljbGVcblx0aW5pdGlhbGl6ZShcblx0XHRjb25maWc6IHsgdmFyaWFibGVzOiBJbmZlclNjaGVtYU91dHB1dDxUVmFyaWFibGVzPjsgc2VjcmV0czogSW5mZXJTY2hlbWFPdXRwdXQ8VFNlY3JldHM+IH1cblx0KTogRWZmZWN0LkVmZmVjdDxUQ29udGV4dCwgdW5rbm93biwgU2NvcGUuU2NvcGU+O1xuXG5cdHNodXRkb3duKCk6IEVmZmVjdC5FZmZlY3Q8dm9pZCwgbmV2ZXI+O1xuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIHRoZSBzdHJvbmdseS10eXBlZCBvUlBDIHJvdXRlciBmb3IgdGhpcyBwbHVnaW4uXG5cdCAqIFRoZSByb3V0ZXIncyBwcm9jZWR1cmUgdHlwZXMgYXJlIGluZmVycmVkIGRpcmVjdGx5IGZyb20gdGhlIGNvbnRyYWN0LlxuXHQgKiBAcGFyYW0gY29udGV4dCBUaGUgaW5pdGlhbGl6ZWQgcGx1Z2luIGNvbnRleHRcblx0ICogQHJldHVybnMgQSByb3V0ZXIgd2l0aCBwcm9jZWR1cmVzIG1hdGNoaW5nIHRoZSBwbHVnaW4ncyBjb250cmFjdFxuXHQgKi9cblx0Y3JlYXRlUm91dGVyKGNvbnRleHQ6IFRDb250ZXh0KTogUm91dGVyPFRDb250cmFjdCwgYW55Pjtcbn1cblxuLyoqXG4gKiBGYWN0b3J5IGZ1bmN0aW9uIHRvIGNyZWF0ZSBwbHVnaW5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQbHVnaW48XG5cdFYgZXh0ZW5kcyBBbnlTY2hlbWEsXG5cdFMgZXh0ZW5kcyBBbnlTY2hlbWEsXG5cdFRDb250cmFjdCBleHRlbmRzIEFueUNvbnRyYWN0Um91dGVyLFxuXHRUQ29udGV4dCBleHRlbmRzIENvbnRleHQgPSBSZWNvcmQ8bmV2ZXIsIG5ldmVyPlxuPihjb25maWc6IHtcblx0dmFyaWFibGVzOiBWO1xuXHRzZWNyZXRzOiBTO1xuXHRjb250cmFjdDogVENvbnRyYWN0O1xuXHRpbml0aWFsaXplPzogKFxuXHRcdGNvbmZpZzogeyB2YXJpYWJsZXM6IEluZmVyU2NoZW1hT3V0cHV0PFY+OyBzZWNyZXRzOiBJbmZlclNjaGVtYU91dHB1dDxTPiB9XG5cdCkgPT4gRWZmZWN0LkVmZmVjdDxUQ29udGV4dCwgRXJyb3IsIFNjb3BlLlNjb3BlPjtcblx0Y3JlYXRlUm91dGVyOiAoXG5cdFx0Y29udGV4dDogVENvbnRleHQsXG5cdFx0YnVpbGRlcjogSW1wbGVtZW50ZXI8VENvbnRyYWN0LCBUQ29udGV4dCwgVENvbnRleHQ+XG5cdCkgPT4gUm91dGVyPFRDb250cmFjdCwgYW55Pjtcblx0c2h1dGRvd24/OiAoY3R4OiBUQ29udGV4dCkgPT4gRWZmZWN0LkVmZmVjdDx2b2lkLCBFcnJvciwgbmV2ZXI+O1xufSkge1xuXHRjb25zdCBjb25maWdTY2hlbWE6IFBsdWdpbkNvbmZpZ0ZvcjxWLCBTPiA9IHtcblx0XHR2YXJpYWJsZXM6IGNvbmZpZy52YXJpYWJsZXMsXG5cdFx0c2VjcmV0czogY29uZmlnLnNlY3JldHNcblx0fTtcblxuXHRjbGFzcyBDcmVhdGVkUGx1Z2luIGltcGxlbWVudHMgUGx1Z2luPFRDb250cmFjdCwgViwgUywgVENvbnRleHQ+IHtcblx0XHQvKiogc2V0IGR1cmluZyBpbnN0YW50aWF0aW9uIC0gcmVnaXN0cnkga2V5ICovXG5cdFx0aWQhOiBzdHJpbmc7XG5cdFx0cmVhZG9ubHkgY29udHJhY3QgPSBjb25maWcuY29udHJhY3Q7XG5cdFx0cmVhZG9ubHkgY29uZmlnU2NoZW1hID0gY29uZmlnU2NoZW1hO1xuXG5cdFx0cHJpdmF0ZSBfY29udGV4dDogVENvbnRleHQgfCBudWxsID0gbnVsbDtcblxuXHRcdGluaXRpYWxpemUoXG5cdFx0XHRwbHVnaW5Db25maWc6IHsgdmFyaWFibGVzOiBJbmZlclNjaGVtYU91dHB1dDxWPjsgc2VjcmV0czogSW5mZXJTY2hlbWFPdXRwdXQ8Uz4gfVxuXHRcdCk6IEVmZmVjdC5FZmZlY3Q8VENvbnRleHQsIHVua25vd24sIFNjb3BlLlNjb3BlPiB7XG5cdFx0XHRjb25zdCBpbml0ID0gY29uZmlnLmluaXRpYWxpemUgPz8gKCgpID0+IEVmZmVjdC5zdWNjZWVkKHt9IGFzIFRDb250ZXh0KSk7XG5cblx0XHRcdHJldHVybiBpbml0KHBsdWdpbkNvbmZpZykucGlwZShcblx0XHRcdFx0RWZmZWN0LnRhcCgoY3R4KSA9PiBFZmZlY3Quc3luYygoKSA9PiB7IHRoaXMuX2NvbnRleHQgPSBjdHg7IH0pKSxcblx0XHRcdFx0RWZmZWN0Lm1hcCgoKSA9PiB0aGlzLl9jb250ZXh0IGFzIFRDb250ZXh0KSxcblx0XHRcdFx0RWZmZWN0Lm1hcEVycm9yKChlcnJvcikgPT4gZXJyb3IgYXMgdW5rbm93bilcblx0XHRcdCk7XG5cdFx0fVxuXG5cdFx0c2h1dGRvd24oKTogRWZmZWN0LkVmZmVjdDx2b2lkLCBuZXZlcj4ge1xuXHRcdFx0Y29uc3Qgc2VsZiA9IHRoaXM7XG5cdFx0XHRyZXR1cm4gRWZmZWN0LmdlbihmdW5jdGlvbiogKCkge1xuXHRcdFx0XHRpZiAoY29uZmlnLnNodXRkb3duICYmIHNlbGYuX2NvbnRleHQpIHtcblx0XHRcdFx0XHR5aWVsZCogY29uZmlnLnNodXRkb3duKHNlbGYuX2NvbnRleHQpLnBpcGUoXG5cdFx0XHRcdFx0XHRFZmZlY3QuY2F0Y2hBbGwoKCkgPT4gRWZmZWN0LnZvaWQpXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0fVxuXG5cdFx0Y3JlYXRlUm91dGVyKGNvbnRleHQ6IFRDb250ZXh0KTogUm91dGVyPFRDb250cmFjdCwgYW55PiB7XG5cdFx0XHRjb25zdCBidWlsZGVyID0gaW1wbGVtZW50KGNvbmZpZy5jb250cmFjdCkuJGNvbnRleHQ8VENvbnRleHQ+KCk7XG5cdFx0XHRjb25zdCByb3V0ZXIgPSBjb25maWcuY3JlYXRlUm91dGVyKGNvbnRleHQsIGJ1aWxkZXIpO1xuXHRcdFx0cmV0dXJuIHJvdXRlciBhcyBSb3V0ZXI8VENvbnRyYWN0LCBhbnk+O1xuXHRcdH1cblx0fVxuXG5cdGNvbnN0IFBsdWdpbkNvbnN0cnVjdG9yID0gQ3JlYXRlZFBsdWdpbiBhcyB1bmtub3duIGFzIHtcblx0XHRuZXcoKTogUGx1Z2luPFRDb250cmFjdCwgViwgUywgVENvbnRleHQ+O1xuXHRcdGJpbmRpbmc6IHtcblx0XHRcdGNvbnRyYWN0OiBUQ29udHJhY3Q7XG5cdFx0XHR2YXJpYWJsZXM6IFY7XG5cdFx0XHRzZWNyZXRzOiBTO1xuXHRcdFx0Y29udGV4dDogVENvbnRleHQ7XG5cdFx0fTtcblx0fTtcblxuXHRQbHVnaW5Db25zdHJ1Y3Rvci5iaW5kaW5nID0ge1xuXHRcdGNvbnRyYWN0OiBjb25maWcuY29udHJhY3QsXG5cdFx0dmFyaWFibGVzOiBjb25maWcudmFyaWFibGVzLFxuXHRcdHNlY3JldHM6IGNvbmZpZy5zZWNyZXRzLFxuXHRcdGNvbnRleHQ6IHt9IGFzIFRDb250ZXh0XG5cdH07XG5cblx0cmV0dXJuIFBsdWdpbkNvbnN0cnVjdG9yIGFzIExvYWRlZFBsdWdpbldpdGhCaW5kaW5nPFRDb250cmFjdCwgViwgUywgVENvbnRleHQ+O1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUErREEsU0FBZ0IsYUFLZCxRQVlDO0NBQ0YsTUFBTUEsZUFBc0M7RUFDM0MsV0FBVyxPQUFPO0VBQ2xCLFNBQVMsT0FBTztFQUNoQjtDQUVELE1BQU0sY0FBMkQ7O0VBRWhFO0VBQ0EsQUFBUyxXQUFXLE9BQU87RUFDM0IsQUFBUyxlQUFlO0VBRXhCLEFBQVEsV0FBNEI7RUFFcEMsV0FDQyxjQUNnRDtBQUdoRCxXQUZhLE9BQU8scUJBQXFCLE9BQU8sUUFBUSxFQUFFLENBQWEsR0FFM0QsYUFBYSxDQUFDLEtBQ3pCLE9BQU8sS0FBSyxRQUFRLE9BQU8sV0FBVztBQUFFLFNBQUssV0FBVztLQUFPLENBQUMsRUFDaEUsT0FBTyxVQUFVLEtBQUssU0FBcUIsRUFDM0MsT0FBTyxVQUFVLFVBQVUsTUFBaUIsQ0FDNUM7O0VBR0YsV0FBdUM7R0FDdEMsTUFBTSxPQUFPO0FBQ2IsVUFBTyxPQUFPLElBQUksYUFBYTtBQUM5QixRQUFJLE9BQU8sWUFBWSxLQUFLLFNBQzNCLFFBQU8sT0FBTyxTQUFTLEtBQUssU0FBUyxDQUFDLEtBQ3JDLE9BQU8sZUFBZSxPQUFPLEtBQUssQ0FDbEM7S0FFRDs7RUFHSCxhQUFhLFNBQTJDO0dBQ3ZELE1BQU0sVUFBVSxVQUFVLE9BQU8sU0FBUyxDQUFDLFVBQW9CO0FBRS9ELFVBRGUsT0FBTyxhQUFhLFNBQVMsUUFBUTs7O0NBS3RELE1BQU0sb0JBQW9CO0FBVTFCLG1CQUFrQixVQUFVO0VBQzNCLFVBQVUsT0FBTztFQUNqQixXQUFXLE9BQU87RUFDbEIsU0FBUyxPQUFPO0VBQ2hCLFNBQVMsRUFBRTtFQUNYO0FBRUQsUUFBTyJ9
@@ -1,3 +1,4 @@
1
+ //#region src/runtime/services/normalize.d.ts
1
2
  /**
2
3
  * Normalizes a package name into the module federation remote name.
3
4
  * This function must produce identical results in both runtime and build contexts.
@@ -14,5 +15,7 @@
14
15
  * - "foo/bar" → "foo_bar"
15
16
  * - "simple-plugin" → "simple-plugin"
16
17
  */
17
- export declare const getNormalizedRemoteName: (name: string) => string;
18
- //# sourceMappingURL=normalize.d.ts.map
18
+ declare const getNormalizedRemoteName: (name: string) => string;
19
+ //#endregion
20
+ export { getNormalizedRemoteName as t };
21
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9ybWFsaXplLUJMVHlxRnd3LmQubXRzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uL3NyYy9ydW50aW1lL3NlcnZpY2VzL25vcm1hbGl6ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6W10sIm1hcHBpbmdzIjoiOztBQWdCQTs7Ozs7Ozs7Ozs7Ozs7O2NBQWEifQ==
@@ -1,3 +1,4 @@
1
+ //#region src/runtime/services/normalize.d.ts
1
2
  /**
2
3
  * Normalizes a package name into the module federation remote name.
3
4
  * This function must produce identical results in both runtime and build contexts.
@@ -14,4 +15,7 @@
14
15
  * - "foo/bar" → "foo_bar"
15
16
  * - "simple-plugin" → "simple-plugin"
16
17
  */
17
- export const getNormalizedRemoteName = (name) => name.toLowerCase().replace(/^@/, "").replace(/\//g, "_");
18
+ declare const getNormalizedRemoteName: (name: string) => string;
19
+ //#endregion
20
+ export { getNormalizedRemoteName as t };
21
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9ybWFsaXplLUJXN2trOExrLmQuY3RzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uL3NyYy9ydW50aW1lL3NlcnZpY2VzL25vcm1hbGl6ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6W10sIm1hcHBpbmdzIjoiOztBQWdCQTs7Ozs7Ozs7Ozs7Ozs7O2NBQWEifQ==
@@ -0,0 +1,28 @@
1
+
2
+ //#region src/runtime/services/normalize.ts
3
+ /**
4
+ * Normalizes a package name into the module federation remote name.
5
+ * This function must produce identical results in both runtime and build contexts.
6
+ *
7
+ * Normalization rules:
8
+ * - Convert to lowercase
9
+ * - Strip a single leading '@' symbol
10
+ * - Replace '/' with '_'
11
+ * - Preserve hyphens and other characters
12
+ *
13
+ * Examples:
14
+ * - "@scope/my-plugin" → "scope_my-plugin"
15
+ * - "@SCOPE/Foo/Bar" → "scope_foo_bar"
16
+ * - "foo/bar" → "foo_bar"
17
+ * - "simple-plugin" → "simple-plugin"
18
+ */
19
+ const getNormalizedRemoteName = (name) => name.toLowerCase().replace(/^@/, "").replace(/\//g, "_");
20
+
21
+ //#endregion
22
+ Object.defineProperty(exports, 'getNormalizedRemoteName', {
23
+ enumerable: true,
24
+ get: function () {
25
+ return getNormalizedRemoteName;
26
+ }
27
+ });
28
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9ybWFsaXplLUQ0UWgwd1ZrLmNqcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi9zcmMvcnVudGltZS9zZXJ2aWNlcy9ub3JtYWxpemUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBOb3JtYWxpemVzIGEgcGFja2FnZSBuYW1lIGludG8gdGhlIG1vZHVsZSBmZWRlcmF0aW9uIHJlbW90ZSBuYW1lLlxuICogVGhpcyBmdW5jdGlvbiBtdXN0IHByb2R1Y2UgaWRlbnRpY2FsIHJlc3VsdHMgaW4gYm90aCBydW50aW1lIGFuZCBidWlsZCBjb250ZXh0cy5cbiAqIFxuICogTm9ybWFsaXphdGlvbiBydWxlczpcbiAqIC0gQ29udmVydCB0byBsb3dlcmNhc2VcbiAqIC0gU3RyaXAgYSBzaW5nbGUgbGVhZGluZyAnQCcgc3ltYm9sXG4gKiAtIFJlcGxhY2UgJy8nIHdpdGggJ18nXG4gKiAtIFByZXNlcnZlIGh5cGhlbnMgYW5kIG90aGVyIGNoYXJhY3RlcnNcbiAqIFxuICogRXhhbXBsZXM6XG4gKiAtIFwiQHNjb3BlL215LXBsdWdpblwiIOKGkiBcInNjb3BlX215LXBsdWdpblwiXG4gKiAtIFwiQFNDT1BFL0Zvby9CYXJcIiDihpIgXCJzY29wZV9mb29fYmFyXCJcbiAqIC0gXCJmb28vYmFyXCIg4oaSIFwiZm9vX2JhclwiXG4gKiAtIFwic2ltcGxlLXBsdWdpblwiIOKGkiBcInNpbXBsZS1wbHVnaW5cIlxuICovXG5leHBvcnQgY29uc3QgZ2V0Tm9ybWFsaXplZFJlbW90ZU5hbWUgPSAobmFtZTogc3RyaW5nKTogc3RyaW5nID0+XG4gIG5hbWUudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9eQC8sIFwiXCIpLnJlcGxhY2UoL1xcLy9nLCBcIl9cIik7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWdCQSxNQUFhLDJCQUEyQixTQUN0QyxLQUFLLGFBQWEsQ0FBQyxRQUFRLE1BQU0sR0FBRyxDQUFDLFFBQVEsT0FBTyxJQUFJIn0=
@@ -0,0 +1,22 @@
1
+ //#region src/runtime/services/normalize.ts
2
+ /**
3
+ * Normalizes a package name into the module federation remote name.
4
+ * This function must produce identical results in both runtime and build contexts.
5
+ *
6
+ * Normalization rules:
7
+ * - Convert to lowercase
8
+ * - Strip a single leading '@' symbol
9
+ * - Replace '/' with '_'
10
+ * - Preserve hyphens and other characters
11
+ *
12
+ * Examples:
13
+ * - "@scope/my-plugin" → "scope_my-plugin"
14
+ * - "@SCOPE/Foo/Bar" → "scope_foo_bar"
15
+ * - "foo/bar" → "foo_bar"
16
+ * - "simple-plugin" → "simple-plugin"
17
+ */
18
+ const getNormalizedRemoteName = (name) => name.toLowerCase().replace(/^@/, "").replace(/\//g, "_");
19
+
20
+ //#endregion
21
+ export { getNormalizedRemoteName as t };
22
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9ybWFsaXplLUQ3bmFlMEhuLm1qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi9zcmMvcnVudGltZS9zZXJ2aWNlcy9ub3JtYWxpemUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBOb3JtYWxpemVzIGEgcGFja2FnZSBuYW1lIGludG8gdGhlIG1vZHVsZSBmZWRlcmF0aW9uIHJlbW90ZSBuYW1lLlxuICogVGhpcyBmdW5jdGlvbiBtdXN0IHByb2R1Y2UgaWRlbnRpY2FsIHJlc3VsdHMgaW4gYm90aCBydW50aW1lIGFuZCBidWlsZCBjb250ZXh0cy5cbiAqIFxuICogTm9ybWFsaXphdGlvbiBydWxlczpcbiAqIC0gQ29udmVydCB0byBsb3dlcmNhc2VcbiAqIC0gU3RyaXAgYSBzaW5nbGUgbGVhZGluZyAnQCcgc3ltYm9sXG4gKiAtIFJlcGxhY2UgJy8nIHdpdGggJ18nXG4gKiAtIFByZXNlcnZlIGh5cGhlbnMgYW5kIG90aGVyIGNoYXJhY3RlcnNcbiAqIFxuICogRXhhbXBsZXM6XG4gKiAtIFwiQHNjb3BlL215LXBsdWdpblwiIOKGkiBcInNjb3BlX215LXBsdWdpblwiXG4gKiAtIFwiQFNDT1BFL0Zvby9CYXJcIiDihpIgXCJzY29wZV9mb29fYmFyXCJcbiAqIC0gXCJmb28vYmFyXCIg4oaSIFwiZm9vX2JhclwiXG4gKiAtIFwic2ltcGxlLXBsdWdpblwiIOKGkiBcInNpbXBsZS1wbHVnaW5cIlxuICovXG5leHBvcnQgY29uc3QgZ2V0Tm9ybWFsaXplZFJlbW90ZU5hbWUgPSAobmFtZTogc3RyaW5nKTogc3RyaW5nID0+XG4gIG5hbWUudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9eQC8sIFwiXCIpLnJlcGxhY2UoL1xcLy9nLCBcIl9cIik7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBZ0JBLE1BQWEsMkJBQTJCLFNBQ3RDLEtBQUssYUFBYSxDQUFDLFFBQVEsTUFBTSxHQUFHLENBQUMsUUFBUSxPQUFPLElBQUkifQ==