every-plugin 0.2.1 → 0.3.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.
@@ -1,12 +1,11 @@
1
- import type { AnyContractRouter } from "@orpc/contract";
2
1
  import { type ClientContext, type CreateProcedureClientOptions, type ErrorMap, type InferRouterInitialContext, type Meta, type RouterClient, type Schema } from "@orpc/server";
3
- import type { AnyPlugin, InitializedPlugin, RouterOf } from "../types";
2
+ import type { AnyPlugin, InitializedPlugin, PluginRouter } from "../types";
4
3
  /**
5
4
  * Extracts the oRPC router from an initialized plugin.
6
5
  * The router type is precisely inferred from the plugin's contract.
7
6
  * Useful for mounting into HTTP frameworks or direct router usage.
8
7
  */
9
- export declare function getPluginRouter<T extends AnyPlugin>(initialized: InitializedPlugin<T>): RouterOf<T> & AnyContractRouter;
8
+ export declare function getPluginRouter<T extends AnyPlugin>(initialized: InitializedPlugin<T>): PluginRouter<T>;
10
9
  /**
11
10
  * Creates a fully type-safe client for calling plugin procedures as methods.
12
11
  * The client type is precisely inferred from the plugin's contract, providing
@@ -14,5 +13,5 @@ export declare function getPluginRouter<T extends AnyPlugin>(initialized: Initia
14
13
  *
15
14
  * Type safety flows: Plugin Contract → Router → RouterClient with full procedure autocomplete
16
15
  */
17
- export declare function createPluginClient<T extends AnyPlugin, TClientContext extends ClientContext = Record<never, never>>(initialized: InitializedPlugin<T>, options?: CreateProcedureClientOptions<InferRouterInitialContext<RouterOf<T>>, Schema<unknown, unknown>, ErrorMap, Meta, TClientContext>): RouterClient<RouterOf<T>, TClientContext>;
16
+ export declare function createPluginClient<T extends AnyPlugin, TClientContext extends ClientContext = Record<never, never>>(initialized: InitializedPlugin<T>, options?: CreateProcedureClientOptions<InferRouterInitialContext<PluginRouter<T>>, Schema<unknown, unknown>, ErrorMap, Meta, TClientContext>): RouterClient<PluginRouter<T>, TClientContext>;
18
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,4BAA4B,EAEjC,KAAK,QAAQ,EACb,KAAK,yBAAyB,EAC9B,KAAK,IAAI,EACT,KAAK,YAAY,EACjB,KAAK,MAAM,EACZ,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEvE;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,SAAS,EACjD,WAAW,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAChC,QAAQ,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAmBjC;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,CAAC,SAAS,SAAS,EACnB,cAAc,SAAS,aAAa,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAE3D,WAAW,EAAE,iBAAiB,CAAC,CAAC,CAAC,EACjC,OAAO,CAAC,EAAE,4BAA4B,CACpC,yBAAyB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EACtC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,EACxB,QAAQ,EACR,IAAI,EACJ,cAAc,CACf,GACA,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAS3C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,4BAA4B,EAEjC,KAAK,QAAQ,EACb,KAAK,yBAAyB,EAC9B,KAAK,IAAI,EAET,KAAK,YAAY,EACjB,KAAK,MAAM,EACZ,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,SAAS,EAAa,iBAAiB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAEtF;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,SAAS,EACjD,WAAW,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAChC,YAAY,CAAC,CAAC,CAAC,CAmBjB;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,CAAC,SAAS,SAAS,EACnB,cAAc,SAAS,aAAa,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAE3D,WAAW,EAAE,iBAAiB,CAAC,CAAC,CAAC,EACjC,OAAO,CAAC,EAAE,4BAA4B,CACpC,yBAAyB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAC1C,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,EACxB,QAAQ,EACR,IAAI,EACJ,cAAc,CACf,GACA,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAS/C"}
package/dist/index.d.ts CHANGED
@@ -2,5 +2,5 @@ export * from "./errors";
2
2
  export * from "./plugin";
3
3
  export * from "./runtime";
4
4
  export { getNormalizedRemoteName } from "./runtime/services/normalize";
5
- export type { AnyPlugin, ConfigOf, EveryPlugin, InitializedPlugin, LoadedPlugin, PluginInstance, PluginOf, PluginRegistry, PluginRuntimeConfig, RegistryBindings, RouterOf, SecretsConfig } from "./types";
5
+ export type { AnyPlugin, ConfigOf, EveryPlugin, InitializedPlugin, LoadedPlugin, PluginInstance, PluginOf, PluginRegistry, PluginRuntimeConfig, RegistryBindings, SecretsConfig } from "./types";
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAG1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,YAAY,EACX,SAAS,EACT,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,QAAQ,EACR,aAAa,EACb,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAG1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,YAAY,EACX,SAAS,EACT,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,MAAM,SAAS,CAAC"}
package/dist/plugin.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { AnyContractRouter } from "@orpc/contract";
2
- import type { Context, Router } from "@orpc/server";
2
+ import type { Context, Router, Implementer } from "@orpc/server";
3
3
  import { Effect, type Scope } from "effect";
4
4
  import { z } from "zod";
5
5
  /**
@@ -99,9 +99,9 @@ export interface Plugin<TContract extends AnyContractRouter, TVariables extends
99
99
  * Creates the strongly-typed oRPC router for this plugin.
100
100
  * The router's procedure types are inferred directly from the contract.
101
101
  * @param context The initialized plugin context
102
- * @returns A router with procedures matching the plugin's contract
102
+ * @returns A router with procedures matching the plugin's contract and composed context
103
103
  */
104
- createRouter(context?: TContext): Router<TContract, TContext>;
104
+ createRouter<THostContext extends Context = Record<never, never>>(context?: TContext): Router<TContract, TContext & THostContext>;
105
105
  }
106
106
  /**
107
107
  * Factory function to create plugins
@@ -115,7 +115,7 @@ export declare function createPlugin<V extends z.ZodTypeAny, S extends z.ZodType
115
115
  variables: z.infer<V>;
116
116
  secrets: z.infer<S>;
117
117
  }) => Effect.Effect<TContext, Error, Scope.Scope>;
118
- createRouter: (ctx: TContext) => Router<TContract, TContext>;
118
+ createRouter: (context: TContext, builder: Implementer<TContract, TContext & Record<never, never>, TContext & Record<never, never>>) => Router<TContract, TContext & Record<never, never>>;
119
119
  shutdown?: (ctx: TContext) => Effect.Effect<void, Error, never>;
120
120
  }): LoadedPluginWithBinding<TContract, V, S, TContext>;
121
121
  //# sourceMappingURL=plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
package/dist/plugin.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { implement } from "@orpc/server";
1
2
  import { Effect } from "effect";
2
3
  import { z } from "zod";
3
4
  /**
@@ -76,7 +77,10 @@ export function createPlugin(config) {
76
77
  });
77
78
  }
78
79
  createRouter(context) {
79
- return config.createRouter(context);
80
+ const builder = implement(config.contract).$context();
81
+ const router = config.createRouter(context, builder);
82
+ return router;
83
+ // return router as Router<TContract, TContext & THostContext>;
80
84
  }
81
85
  }
82
86
  const PluginConstructor = CreatedPlugin;
package/dist/types.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { AnyContractRouter } from "@orpc/contract";
2
- import type { Context, RouterClient } from "@orpc/server";
2
+ import type { Context, Router, RouterClient } from "@orpc/server";
3
3
  import type { Scope } from "effect";
4
4
  import type { z } from "zod";
5
5
  import type { Plugin, PluginConfigFor } from "./plugin";
@@ -33,10 +33,10 @@ export type PluginOf<B> = B extends {
33
33
  */
34
34
  export type ConfigOf<B> = z.infer<PluginOf<B>["configSchema"]>;
35
35
  /**
36
- * Extracts the router type from a plugin.
37
- * This enables type inference from Plugin → Router → RouterClient with full procedure autocomplete.
36
+ * The actual router type returned by plugins (with procedures implemented)
37
+ * Supports host context composition via THostContext type parameter
38
38
  */
39
- export type RouterOf<T extends AnyPlugin> = ReturnType<T["createRouter"]>;
39
+ export type PluginRouter<T extends AnyPlugin, THostContext extends Context = Record<never, never>> = Router<T["contract"], ContextOf<T> & THostContext>;
40
40
  /**
41
41
  * Extracts the context type from a plugin.
42
42
  * This is used for typing the router client context parameter.
@@ -107,10 +107,12 @@ export interface RuntimeOptions {
107
107
  }
108
108
  /**
109
109
  * Enhanced plugin result containing client, router, and metadata.
110
+ * Router is typed as ContractRouter for encapsulation, but runtime compatible with oRPC routers.
111
+ * Supports host context composition through THostContext type parameter.
110
112
  */
111
- export interface EveryPlugin<T extends AnyPlugin = AnyPlugin> {
112
- readonly client: RouterClient<RouterOf<T>, Record<never, never>>;
113
- readonly router: RouterOf<T>;
113
+ export interface EveryPlugin<T extends AnyPlugin = AnyPlugin, THostContext extends Context = Record<never, never>> {
114
+ readonly client: RouterClient<PluginRouter<T, THostContext>, THostContext>;
115
+ readonly router: PluginRouter<T, THostContext>;
114
116
  readonly metadata: PluginMetadata;
115
117
  readonly initialized: InitializedPlugin<T>;
116
118
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "every-plugin",
3
- "version": "0.2.1",
3
+ "version": "0.3.0",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "exports": {