every-plugin 0.6.2 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/dist/_virtual/rolldown_runtime.cjs +17 -7
  2. package/dist/_virtual/rolldown_runtime.mjs +17 -7
  3. package/dist/build/rspack/dev-server-middleware.cjs +1 -1
  4. package/dist/build/rspack/dev-server-middleware.cjs.map +1 -1
  5. package/dist/build/rspack/dev-server-middleware.mjs +1 -1
  6. package/dist/build/rspack/dev-server-middleware.mjs.map +1 -1
  7. package/dist/build/rspack/module-federation.cjs +0 -5
  8. package/dist/build/rspack/module-federation.cjs.map +1 -1
  9. package/dist/build/rspack/module-federation.mjs +0 -5
  10. package/dist/build/rspack/module-federation.mjs.map +1 -1
  11. package/dist/build/rspack/plugin.cjs +2 -1
  12. package/dist/build/rspack/plugin.cjs.map +1 -1
  13. package/dist/build/rspack/plugin.mjs +2 -1
  14. package/dist/build/rspack/plugin.mjs.map +1 -1
  15. package/dist/errors.cjs +75 -51
  16. package/dist/errors.cjs.map +1 -1
  17. package/dist/errors.d.cts +8 -0
  18. package/dist/errors.d.cts.map +1 -1
  19. package/dist/errors.d.mts +8 -0
  20. package/dist/errors.d.mts.map +1 -1
  21. package/dist/errors.mjs +75 -51
  22. package/dist/errors.mjs.map +1 -1
  23. package/dist/package.cjs +10 -10
  24. package/dist/package.cjs.map +1 -1
  25. package/dist/package.mjs +10 -10
  26. package/dist/package.mjs.map +1 -1
  27. package/dist/plugin.cjs +11 -10
  28. package/dist/plugin.cjs.map +1 -1
  29. package/dist/plugin.d.cts +16 -14
  30. package/dist/plugin.d.cts.map +1 -1
  31. package/dist/plugin.d.mts +17 -15
  32. package/dist/plugin.d.mts.map +1 -1
  33. package/dist/plugin.mjs +11 -10
  34. package/dist/plugin.mjs.map +1 -1
  35. package/dist/runtime/index.cjs +7 -5
  36. package/dist/runtime/index.cjs.map +1 -1
  37. package/dist/runtime/index.d.cts +1 -1
  38. package/dist/runtime/index.d.cts.map +1 -1
  39. package/dist/runtime/index.d.mts +1 -1
  40. package/dist/runtime/index.d.mts.map +1 -1
  41. package/dist/runtime/index.mjs +7 -5
  42. package/dist/runtime/index.mjs.map +1 -1
  43. package/dist/runtime/services/module-federation.service.cjs +24 -33
  44. package/dist/runtime/services/module-federation.service.cjs.map +1 -1
  45. package/dist/runtime/services/module-federation.service.d.cts +2 -3
  46. package/dist/runtime/services/module-federation.service.d.cts.map +1 -1
  47. package/dist/runtime/services/module-federation.service.d.mts +2 -3
  48. package/dist/runtime/services/module-federation.service.d.mts.map +1 -1
  49. package/dist/runtime/services/module-federation.service.mjs +24 -33
  50. package/dist/runtime/services/module-federation.service.mjs.map +1 -1
  51. package/dist/runtime/services/plugin-loader.service.d.cts +1 -1
  52. package/dist/runtime/services/plugin-loader.service.d.cts.map +1 -1
  53. package/dist/runtime/services/plugin-loader.service.d.mts +1 -1
  54. package/dist/runtime/services/plugin-loader.service.d.mts.map +1 -1
  55. package/dist/runtime/services/plugin.service.d.cts +1 -1
  56. package/dist/runtime/services/plugin.service.d.mts +1 -1
  57. package/dist/runtime/services/secrets.service.cjs +1 -1
  58. package/dist/runtime/services/secrets.service.mjs +1 -1
  59. package/dist/types.d.cts +29 -21
  60. package/dist/types.d.cts.map +1 -1
  61. package/dist/types.d.mts +29 -21
  62. package/dist/types.d.mts.map +1 -1
  63. package/package.json +22 -22
@@ -1 +1 @@
1
- {"version":3,"file":"errors.cjs","names":[],"sources":["../src/errors.ts"],"sourcesContent":["import { z } from \"./zod\";\n\n/**\n * Error pattern constants for categorizing infrastructure errors\n */\nexport const ERROR_PATTERNS = {\n\tCONNECTION_REFUSED: ['ECONNREFUSED'],\n\tHOST_NOT_FOUND: ['ENOTFOUND', 'EHOSTUNREACH'],\n\tTIMEOUT: ['ETIMEDOUT', 'ESOCKETTIMEDOUT', 'timeout'],\n\tCONNECTION_RESET: ['ECONNRESET', 'EPIPE'],\n\tPERMISSION: ['EACCES', 'EPERM', 'permission denied'],\n\tAUTH: ['401', 'unauthorized', 'authentication failed'],\n\tRATE_LIMITED: ['429', 'too many requests', 'rate limit'],\n\tSERVICE_UNAVAILABLE: ['503', 'service unavailable'],\n} as const;\n\n/**\n * Common error schemas for plugin contracts.\n * Import these to ensure consistent error handling across plugins.\n *\n * @example\n * ```typescript\n * import { CommonPluginErrors } from \"every-plugin/errors\";\n *\n * export const contract = oc.router({\n * getData: oc.route(...)\n * .errors(CommonPluginErrors)\n * });\n * ```\n */\nexport const CommonPluginErrors = {\n\tUNAUTHORIZED: {\n\t\tdata: z.object({\n\t\t\tapiKeyProvided: z.boolean(),\n\t\t\tprovider: z.string().optional(),\n\t\t\tauthType: z.enum(['apiKey', 'oauth', 'token']).optional(),\n\t\t})\n\t},\n\tRATE_LIMITED: {\n\t\tdata: z.object({\n\t\t\tretryAfter: z.number().int().min(1),\n\t\t\tremainingRequests: z.number().int().min(0).optional(),\n\t\t\tresetTime: z.string().datetime().optional(),\n\t\t\tlimitType: z.enum(['requests', 'tokens', 'bandwidth']).optional(),\n\t\t})\n\t},\n\tSERVICE_UNAVAILABLE: {\n\t\tdata: z.object({\n\t\t\tretryAfter: z.number().int().optional(),\n\t\t\tmaintenanceWindow: z.boolean().default(false),\n\t\t\testimatedUptime: z.string().datetime().optional(),\n\t\t})\n\t},\n\tBAD_REQUEST: {\n\t\tdata: z.object({\n\t\t\tinvalidFields: z.array(z.string()).optional(),\n\t\t\tvalidationErrors: z.array(z.object({\n\t\t\t\tfield: z.string(),\n\t\t\t\tmessage: z.string(),\n\t\t\t\tcode: z.string().optional(),\n\t\t\t})).optional(),\n\t\t})\n\t},\n\tNOT_FOUND: {\n\t\tdata: z.object({\n\t\t\tresource: z.string().optional(),\n\t\t\tresourceId: z.string().optional(),\n\t\t})\n\t},\n\tFORBIDDEN: {\n\t\tdata: z.object({\n\t\t\trequiredPermissions: z.array(z.string()).optional(),\n\t\t\taction: z.string().optional(),\n\t\t})\n\t},\n\tTIMEOUT: {\n\t\tdata: z.object({\n\t\t\ttimeoutMs: z.number().int().min(0).optional(),\n\t\t\toperation: z.string().optional(),\n\t\t\tretryable: z.boolean().default(true),\n\t\t})\n\t},\n\tCONNECTION_ERROR: {\n\t\tdata: z.object({\n\t\t\terrorCode: z.string().optional(),\n\t\t\thost: z.string().optional(),\n\t\t\tport: z.number().int().optional(),\n\t\t\tsuggestion: z.string().optional(),\n\t\t})\n\t}\n} as const;\n"],"mappings":";;;;;;AAKA,MAAa,iBAAiB;CAC7B,oBAAoB,CAAC,eAAe;CACpC,gBAAgB,CAAC,aAAa,eAAe;CAC7C,SAAS;EAAC;EAAa;EAAmB;EAAU;CACpD,kBAAkB,CAAC,cAAc,QAAQ;CACzC,YAAY;EAAC;EAAU;EAAS;EAAoB;CACpD,MAAM;EAAC;EAAO;EAAgB;EAAwB;CACtD,cAAc;EAAC;EAAO;EAAqB;EAAa;CACxD,qBAAqB,CAAC,OAAO,sBAAsB;CACnD;;;;;;;;;;;;;;;AAgBD,MAAa,qBAAqB;CACjC,cAAc,EACb,8BAAM,EAAE,OAAO;EACd,wCAAgB,EAAE,SAAS;EAC3B,kCAAU,EAAE,QAAQ,CAAC,UAAU;EAC/B,kCAAU,EAAE,KAAK;GAAC;GAAU;GAAS;GAAQ,CAAC,CAAC,UAAU;EACzD,CAAC,EACF;CACD,cAAc,EACb,8BAAM,EAAE,OAAO;EACd,oCAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE;EACnC,2CAAmB,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,UAAU;EACrD,mCAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,UAAU;EAC3C,mCAAW,EAAE,KAAK;GAAC;GAAY;GAAU;GAAY,CAAC,CAAC,UAAU;EACjE,CAAC,EACF;CACD,qBAAqB,EACpB,8BAAM,EAAE,OAAO;EACd,oCAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,UAAU;EACvC,2CAAmB,EAAE,SAAS,CAAC,QAAQ,MAAM;EAC7C,yCAAiB,EAAE,QAAQ,CAAC,UAAU,CAAC,UAAU;EACjD,CAAC,EACF;CACD,aAAa,EACZ,8BAAM,EAAE,OAAO;EACd,uCAAe,EAAE,8BAAM,EAAE,QAAQ,CAAC,CAAC,UAAU;EAC7C,0CAAkB,EAAE,8BAAM,EAAE,OAAO;GAClC,+BAAO,EAAE,QAAQ;GACjB,iCAAS,EAAE,QAAQ;GACnB,8BAAM,EAAE,QAAQ,CAAC,UAAU;GAC3B,CAAC,CAAC,CAAC,UAAU;EACd,CAAC,EACF;CACD,WAAW,EACV,8BAAM,EAAE,OAAO;EACd,kCAAU,EAAE,QAAQ,CAAC,UAAU;EAC/B,oCAAY,EAAE,QAAQ,CAAC,UAAU;EACjC,CAAC,EACF;CACD,WAAW,EACV,8BAAM,EAAE,OAAO;EACd,6CAAqB,EAAE,8BAAM,EAAE,QAAQ,CAAC,CAAC,UAAU;EACnD,gCAAQ,EAAE,QAAQ,CAAC,UAAU;EAC7B,CAAC,EACF;CACD,SAAS,EACR,8BAAM,EAAE,OAAO;EACd,mCAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,UAAU;EAC7C,mCAAW,EAAE,QAAQ,CAAC,UAAU;EAChC,mCAAW,EAAE,SAAS,CAAC,QAAQ,KAAK;EACpC,CAAC,EACF;CACD,kBAAkB,EACjB,8BAAM,EAAE,OAAO;EACd,mCAAW,EAAE,QAAQ,CAAC,UAAU;EAChC,8BAAM,EAAE,QAAQ,CAAC,UAAU;EAC3B,8BAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,UAAU;EACjC,oCAAY,EAAE,QAAQ,CAAC,UAAU;EACjC,CAAC,EACF;CACD"}
1
+ {"version":3,"file":"errors.cjs","names":[],"sources":["../src/errors.ts"],"sourcesContent":["import { z } from \"./zod\";\n\n/**\n * Error pattern constants for categorizing infrastructure errors\n */\nexport const ERROR_PATTERNS = {\n\tCONNECTION_REFUSED: ['ECONNREFUSED'],\n\tHOST_NOT_FOUND: ['ENOTFOUND', 'EHOSTUNREACH'],\n\tTIMEOUT: ['ETIMEDOUT', 'ESOCKETTIMEDOUT', 'timeout'],\n\tCONNECTION_RESET: ['ECONNRESET', 'EPIPE'],\n\tPERMISSION: ['EACCES', 'EPERM', 'permission denied'],\n\tAUTH: ['401', 'unauthorized', 'authentication failed'],\n\tRATE_LIMITED: ['429', 'too many requests', 'rate limit'],\n\tSERVICE_UNAVAILABLE: ['503', 'service unavailable'],\n} as const;\n\n/**\n * Common error schemas for plugin contracts.\n * Import these to ensure consistent error handling across plugins.\n *\n * @example\n * ```typescript\n * import { CommonPluginErrors } from \"every-plugin/errors\";\n *\n * export const contract = oc.router({\n * getData: oc.route(...)\n * .errors(CommonPluginErrors)\n * });\n * ```\n */\nexport const CommonPluginErrors = {\n\tUNAUTHORIZED: {\n\t\tstatus: 401,\n\t\tdata: z.object({\n\t\t\tapiKeyProvided: z.boolean(),\n\t\t\tprovider: z.string().optional(),\n\t\t\tauthType: z.enum(['apiKey', 'oauth', 'token']).optional(),\n\t\t})\n\t},\n\tRATE_LIMITED: {\n\t\tstatus: 429,\n\t\tdata: z.object({\n\t\t\tretryAfter: z.number().int().min(1),\n\t\t\tremainingRequests: z.number().int().min(0).optional(),\n\t\t\tresetTime: z.string().datetime().optional(),\n\t\t\tlimitType: z.enum(['requests', 'tokens', 'bandwidth']).optional(),\n\t\t})\n\t},\n\tSERVICE_UNAVAILABLE: {\n\t\tstatus: 503,\n\t\tdata: z.object({\n\t\t\tretryAfter: z.number().int().optional(),\n\t\t\tmaintenanceWindow: z.boolean().default(false),\n\t\t\testimatedUptime: z.string().datetime().optional(),\n\t\t})\n\t},\n\tBAD_REQUEST: {\n\t\tstatus: 400,\n\t\tdata: z.object({\n\t\t\tinvalidFields: z.array(z.string()).optional(),\n\t\t\tvalidationErrors: z.array(z.object({\n\t\t\t\tfield: z.string(),\n\t\t\t\tmessage: z.string(),\n\t\t\t\tcode: z.string().optional(),\n\t\t\t})).optional(),\n\t\t})\n\t},\n\tNOT_FOUND: {\n\t\tstatus: 404,\n\t\tdata: z.object({\n\t\t\tresource: z.string().optional(),\n\t\t\tresourceId: z.string().optional(),\n\t\t})\n\t},\n\tFORBIDDEN: {\n\t\tstatus: 403,\n\t\tdata: z.object({\n\t\t\trequiredPermissions: z.array(z.string()).optional(),\n\t\t\taction: z.string().optional(),\n\t\t})\n\t},\n\tTIMEOUT: {\n\t\tstatus: 504,\n\t\tdata: z.object({\n\t\t\ttimeoutMs: z.number().int().min(0).optional(),\n\t\t\toperation: z.string().optional(),\n\t\t\tretryable: z.boolean().default(true),\n\t\t})\n\t},\n\tCONNECTION_ERROR: {\n\t\tstatus: 502,\n\t\tdata: z.object({\n\t\t\terrorCode: z.string().optional(),\n\t\t\thost: z.string().optional(),\n\t\t\tport: z.number().int().optional(),\n\t\t\tsuggestion: z.string().optional(),\n\t\t})\n\t}\n} as const;\n"],"mappings":";;;;;;AAKA,MAAa,iBAAiB;CAC7B,oBAAoB,CAAC,eAAe;CACpC,gBAAgB,CAAC,aAAa,eAAe;CAC7C,SAAS;EAAC;EAAa;EAAmB;EAAU;CACpD,kBAAkB,CAAC,cAAc,QAAQ;CACzC,YAAY;EAAC;EAAU;EAAS;EAAoB;CACpD,MAAM;EAAC;EAAO;EAAgB;EAAwB;CACtD,cAAc;EAAC;EAAO;EAAqB;EAAa;CACxD,qBAAqB,CAAC,OAAO,sBAAsB;CACnD;;;;;;;;;;;;;;;AAgBD,MAAa,qBAAqB;CACjC,cAAc;EACb,QAAQ;EACR,8BAAM,EAAE,OAAO;GACd,wCAAgB,EAAE,SAAS;GAC3B,kCAAU,EAAE,QAAQ,CAAC,UAAU;GAC/B,kCAAU,EAAE,KAAK;IAAC;IAAU;IAAS;IAAQ,CAAC,CAAC,UAAU;GACzD,CAAC;EACF;CACD,cAAc;EACb,QAAQ;EACR,8BAAM,EAAE,OAAO;GACd,oCAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE;GACnC,2CAAmB,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,UAAU;GACrD,mCAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,UAAU;GAC3C,mCAAW,EAAE,KAAK;IAAC;IAAY;IAAU;IAAY,CAAC,CAAC,UAAU;GACjE,CAAC;EACF;CACD,qBAAqB;EACpB,QAAQ;EACR,8BAAM,EAAE,OAAO;GACd,oCAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,UAAU;GACvC,2CAAmB,EAAE,SAAS,CAAC,QAAQ,MAAM;GAC7C,yCAAiB,EAAE,QAAQ,CAAC,UAAU,CAAC,UAAU;GACjD,CAAC;EACF;CACD,aAAa;EACZ,QAAQ;EACR,8BAAM,EAAE,OAAO;GACd,uCAAe,EAAE,8BAAM,EAAE,QAAQ,CAAC,CAAC,UAAU;GAC7C,0CAAkB,EAAE,8BAAM,EAAE,OAAO;IAClC,+BAAO,EAAE,QAAQ;IACjB,iCAAS,EAAE,QAAQ;IACnB,8BAAM,EAAE,QAAQ,CAAC,UAAU;IAC3B,CAAC,CAAC,CAAC,UAAU;GACd,CAAC;EACF;CACD,WAAW;EACV,QAAQ;EACR,8BAAM,EAAE,OAAO;GACd,kCAAU,EAAE,QAAQ,CAAC,UAAU;GAC/B,oCAAY,EAAE,QAAQ,CAAC,UAAU;GACjC,CAAC;EACF;CACD,WAAW;EACV,QAAQ;EACR,8BAAM,EAAE,OAAO;GACd,6CAAqB,EAAE,8BAAM,EAAE,QAAQ,CAAC,CAAC,UAAU;GACnD,gCAAQ,EAAE,QAAQ,CAAC,UAAU;GAC7B,CAAC;EACF;CACD,SAAS;EACR,QAAQ;EACR,8BAAM,EAAE,OAAO;GACd,mCAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,UAAU;GAC7C,mCAAW,EAAE,QAAQ,CAAC,UAAU;GAChC,mCAAW,EAAE,SAAS,CAAC,QAAQ,KAAK;GACpC,CAAC;EACF;CACD,kBAAkB;EACjB,QAAQ;EACR,8BAAM,EAAE,OAAO;GACd,mCAAW,EAAE,QAAQ,CAAC,UAAU;GAChC,8BAAM,EAAE,QAAQ,CAAC,UAAU;GAC3B,8BAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,UAAU;GACjC,oCAAY,EAAE,QAAQ,CAAC,UAAU;GACjC,CAAC;EACF;CACD"}
package/dist/errors.d.cts CHANGED
@@ -31,6 +31,7 @@ declare const ERROR_PATTERNS: {
31
31
  */
32
32
  declare const CommonPluginErrors: {
33
33
  readonly UNAUTHORIZED: {
34
+ readonly status: 401;
34
35
  readonly data: zod_d_exports.z.ZodObject<{
35
36
  apiKeyProvided: zod_d_exports.z.ZodBoolean;
36
37
  provider: zod_d_exports.z.ZodOptional<zod_d_exports.z.ZodString>;
@@ -42,6 +43,7 @@ declare const CommonPluginErrors: {
42
43
  }, zod_d_exports.z.core.$strip>;
43
44
  };
44
45
  readonly RATE_LIMITED: {
46
+ readonly status: 429;
45
47
  readonly data: zod_d_exports.z.ZodObject<{
46
48
  retryAfter: zod_d_exports.z.ZodNumber;
47
49
  remainingRequests: zod_d_exports.z.ZodOptional<zod_d_exports.z.ZodNumber>;
@@ -54,6 +56,7 @@ declare const CommonPluginErrors: {
54
56
  }, zod_d_exports.z.core.$strip>;
55
57
  };
56
58
  readonly SERVICE_UNAVAILABLE: {
59
+ readonly status: 503;
57
60
  readonly data: zod_d_exports.z.ZodObject<{
58
61
  retryAfter: zod_d_exports.z.ZodOptional<zod_d_exports.z.ZodNumber>;
59
62
  maintenanceWindow: zod_d_exports.z.ZodDefault<zod_d_exports.z.ZodBoolean>;
@@ -61,6 +64,7 @@ declare const CommonPluginErrors: {
61
64
  }, zod_d_exports.z.core.$strip>;
62
65
  };
63
66
  readonly BAD_REQUEST: {
67
+ readonly status: 400;
64
68
  readonly data: zod_d_exports.z.ZodObject<{
65
69
  invalidFields: zod_d_exports.z.ZodOptional<zod_d_exports.z.ZodArray<zod_d_exports.z.ZodString>>;
66
70
  validationErrors: zod_d_exports.z.ZodOptional<zod_d_exports.z.ZodArray<zod_d_exports.z.ZodObject<{
@@ -71,18 +75,21 @@ declare const CommonPluginErrors: {
71
75
  }, zod_d_exports.z.core.$strip>;
72
76
  };
73
77
  readonly NOT_FOUND: {
78
+ readonly status: 404;
74
79
  readonly data: zod_d_exports.z.ZodObject<{
75
80
  resource: zod_d_exports.z.ZodOptional<zod_d_exports.z.ZodString>;
76
81
  resourceId: zod_d_exports.z.ZodOptional<zod_d_exports.z.ZodString>;
77
82
  }, zod_d_exports.z.core.$strip>;
78
83
  };
79
84
  readonly FORBIDDEN: {
85
+ readonly status: 403;
80
86
  readonly data: zod_d_exports.z.ZodObject<{
81
87
  requiredPermissions: zod_d_exports.z.ZodOptional<zod_d_exports.z.ZodArray<zod_d_exports.z.ZodString>>;
82
88
  action: zod_d_exports.z.ZodOptional<zod_d_exports.z.ZodString>;
83
89
  }, zod_d_exports.z.core.$strip>;
84
90
  };
85
91
  readonly TIMEOUT: {
92
+ readonly status: 504;
86
93
  readonly data: zod_d_exports.z.ZodObject<{
87
94
  timeoutMs: zod_d_exports.z.ZodOptional<zod_d_exports.z.ZodNumber>;
88
95
  operation: zod_d_exports.z.ZodOptional<zod_d_exports.z.ZodString>;
@@ -90,6 +97,7 @@ declare const CommonPluginErrors: {
90
97
  }, zod_d_exports.z.core.$strip>;
91
98
  };
92
99
  readonly CONNECTION_ERROR: {
100
+ readonly status: 502;
93
101
  readonly data: zod_d_exports.z.ZodObject<{
94
102
  errorCode: zod_d_exports.z.ZodOptional<zod_d_exports.z.ZodString>;
95
103
  host: zod_d_exports.z.ZodOptional<zod_d_exports.z.ZodString>;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.cts","names":[],"sources":["../src/errors.ts"],"sourcesContent":[],"mappings":";;;;;;AAKA;AAyBa,cAzBA,cAqFH,EAAA;;;;;;;;;;;;;;;;;;;;;;;;cA5DG"}
1
+ {"version":3,"file":"errors.d.cts","names":[],"sources":["../src/errors.ts"],"sourcesContent":[],"mappings":";;;;;;AAKA;AAyBa,cAzBA,cA6FH,EAAA;;;;;;;;;;;;;;;;;;;;;;;;cApEG"}
package/dist/errors.d.mts CHANGED
@@ -31,6 +31,7 @@ declare const ERROR_PATTERNS: {
31
31
  */
32
32
  declare const CommonPluginErrors: {
33
33
  readonly UNAUTHORIZED: {
34
+ readonly status: 401;
34
35
  readonly data: zod_d_exports.z.ZodObject<{
35
36
  apiKeyProvided: zod_d_exports.z.ZodBoolean;
36
37
  provider: zod_d_exports.z.ZodOptional<zod_d_exports.z.ZodString>;
@@ -42,6 +43,7 @@ declare const CommonPluginErrors: {
42
43
  }, zod_d_exports.z.core.$strip>;
43
44
  };
44
45
  readonly RATE_LIMITED: {
46
+ readonly status: 429;
45
47
  readonly data: zod_d_exports.z.ZodObject<{
46
48
  retryAfter: zod_d_exports.z.ZodNumber;
47
49
  remainingRequests: zod_d_exports.z.ZodOptional<zod_d_exports.z.ZodNumber>;
@@ -54,6 +56,7 @@ declare const CommonPluginErrors: {
54
56
  }, zod_d_exports.z.core.$strip>;
55
57
  };
56
58
  readonly SERVICE_UNAVAILABLE: {
59
+ readonly status: 503;
57
60
  readonly data: zod_d_exports.z.ZodObject<{
58
61
  retryAfter: zod_d_exports.z.ZodOptional<zod_d_exports.z.ZodNumber>;
59
62
  maintenanceWindow: zod_d_exports.z.ZodDefault<zod_d_exports.z.ZodBoolean>;
@@ -61,6 +64,7 @@ declare const CommonPluginErrors: {
61
64
  }, zod_d_exports.z.core.$strip>;
62
65
  };
63
66
  readonly BAD_REQUEST: {
67
+ readonly status: 400;
64
68
  readonly data: zod_d_exports.z.ZodObject<{
65
69
  invalidFields: zod_d_exports.z.ZodOptional<zod_d_exports.z.ZodArray<zod_d_exports.z.ZodString>>;
66
70
  validationErrors: zod_d_exports.z.ZodOptional<zod_d_exports.z.ZodArray<zod_d_exports.z.ZodObject<{
@@ -71,18 +75,21 @@ declare const CommonPluginErrors: {
71
75
  }, zod_d_exports.z.core.$strip>;
72
76
  };
73
77
  readonly NOT_FOUND: {
78
+ readonly status: 404;
74
79
  readonly data: zod_d_exports.z.ZodObject<{
75
80
  resource: zod_d_exports.z.ZodOptional<zod_d_exports.z.ZodString>;
76
81
  resourceId: zod_d_exports.z.ZodOptional<zod_d_exports.z.ZodString>;
77
82
  }, zod_d_exports.z.core.$strip>;
78
83
  };
79
84
  readonly FORBIDDEN: {
85
+ readonly status: 403;
80
86
  readonly data: zod_d_exports.z.ZodObject<{
81
87
  requiredPermissions: zod_d_exports.z.ZodOptional<zod_d_exports.z.ZodArray<zod_d_exports.z.ZodString>>;
82
88
  action: zod_d_exports.z.ZodOptional<zod_d_exports.z.ZodString>;
83
89
  }, zod_d_exports.z.core.$strip>;
84
90
  };
85
91
  readonly TIMEOUT: {
92
+ readonly status: 504;
86
93
  readonly data: zod_d_exports.z.ZodObject<{
87
94
  timeoutMs: zod_d_exports.z.ZodOptional<zod_d_exports.z.ZodNumber>;
88
95
  operation: zod_d_exports.z.ZodOptional<zod_d_exports.z.ZodString>;
@@ -90,6 +97,7 @@ declare const CommonPluginErrors: {
90
97
  }, zod_d_exports.z.core.$strip>;
91
98
  };
92
99
  readonly CONNECTION_ERROR: {
100
+ readonly status: 502;
93
101
  readonly data: zod_d_exports.z.ZodObject<{
94
102
  errorCode: zod_d_exports.z.ZodOptional<zod_d_exports.z.ZodString>;
95
103
  host: zod_d_exports.z.ZodOptional<zod_d_exports.z.ZodString>;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.mts","names":[],"sources":["../src/errors.ts"],"sourcesContent":[],"mappings":";;;;;;AAKA;AAyBa,cAzBA,cAqFH,EAAA;;;;;;;;;;;;;;;;;;;;;;;;cA5DG"}
1
+ {"version":3,"file":"errors.d.mts","names":[],"sources":["../src/errors.ts"],"sourcesContent":[],"mappings":";;;;;;AAKA;AAyBa,cAzBA,cA6FH,EAAA;;;;;;;;;;;;;;;;;;;;;;;;cApEG"}
package/dist/errors.mjs CHANGED
@@ -45,57 +45,81 @@ const ERROR_PATTERNS = {
45
45
  * ```
46
46
  */
47
47
  const CommonPluginErrors = {
48
- UNAUTHORIZED: { data: zod_exports.z.object({
49
- apiKeyProvided: zod_exports.z.boolean(),
50
- provider: zod_exports.z.string().optional(),
51
- authType: zod_exports.z.enum([
52
- "apiKey",
53
- "oauth",
54
- "token"
55
- ]).optional()
56
- }) },
57
- RATE_LIMITED: { data: zod_exports.z.object({
58
- retryAfter: zod_exports.z.number().int().min(1),
59
- remainingRequests: zod_exports.z.number().int().min(0).optional(),
60
- resetTime: zod_exports.z.string().datetime().optional(),
61
- limitType: zod_exports.z.enum([
62
- "requests",
63
- "tokens",
64
- "bandwidth"
65
- ]).optional()
66
- }) },
67
- SERVICE_UNAVAILABLE: { data: zod_exports.z.object({
68
- retryAfter: zod_exports.z.number().int().optional(),
69
- maintenanceWindow: zod_exports.z.boolean().default(false),
70
- estimatedUptime: zod_exports.z.string().datetime().optional()
71
- }) },
72
- BAD_REQUEST: { data: zod_exports.z.object({
73
- invalidFields: zod_exports.z.array(zod_exports.z.string()).optional(),
74
- validationErrors: zod_exports.z.array(zod_exports.z.object({
75
- field: zod_exports.z.string(),
76
- message: zod_exports.z.string(),
77
- code: zod_exports.z.string().optional()
78
- })).optional()
79
- }) },
80
- NOT_FOUND: { data: zod_exports.z.object({
81
- resource: zod_exports.z.string().optional(),
82
- resourceId: zod_exports.z.string().optional()
83
- }) },
84
- FORBIDDEN: { data: zod_exports.z.object({
85
- requiredPermissions: zod_exports.z.array(zod_exports.z.string()).optional(),
86
- action: zod_exports.z.string().optional()
87
- }) },
88
- TIMEOUT: { data: zod_exports.z.object({
89
- timeoutMs: zod_exports.z.number().int().min(0).optional(),
90
- operation: zod_exports.z.string().optional(),
91
- retryable: zod_exports.z.boolean().default(true)
92
- }) },
93
- CONNECTION_ERROR: { data: zod_exports.z.object({
94
- errorCode: zod_exports.z.string().optional(),
95
- host: zod_exports.z.string().optional(),
96
- port: zod_exports.z.number().int().optional(),
97
- suggestion: zod_exports.z.string().optional()
98
- }) }
48
+ UNAUTHORIZED: {
49
+ status: 401,
50
+ data: zod_exports.z.object({
51
+ apiKeyProvided: zod_exports.z.boolean(),
52
+ provider: zod_exports.z.string().optional(),
53
+ authType: zod_exports.z.enum([
54
+ "apiKey",
55
+ "oauth",
56
+ "token"
57
+ ]).optional()
58
+ })
59
+ },
60
+ RATE_LIMITED: {
61
+ status: 429,
62
+ data: zod_exports.z.object({
63
+ retryAfter: zod_exports.z.number().int().min(1),
64
+ remainingRequests: zod_exports.z.number().int().min(0).optional(),
65
+ resetTime: zod_exports.z.string().datetime().optional(),
66
+ limitType: zod_exports.z.enum([
67
+ "requests",
68
+ "tokens",
69
+ "bandwidth"
70
+ ]).optional()
71
+ })
72
+ },
73
+ SERVICE_UNAVAILABLE: {
74
+ status: 503,
75
+ data: zod_exports.z.object({
76
+ retryAfter: zod_exports.z.number().int().optional(),
77
+ maintenanceWindow: zod_exports.z.boolean().default(false),
78
+ estimatedUptime: zod_exports.z.string().datetime().optional()
79
+ })
80
+ },
81
+ BAD_REQUEST: {
82
+ status: 400,
83
+ data: zod_exports.z.object({
84
+ invalidFields: zod_exports.z.array(zod_exports.z.string()).optional(),
85
+ validationErrors: zod_exports.z.array(zod_exports.z.object({
86
+ field: zod_exports.z.string(),
87
+ message: zod_exports.z.string(),
88
+ code: zod_exports.z.string().optional()
89
+ })).optional()
90
+ })
91
+ },
92
+ NOT_FOUND: {
93
+ status: 404,
94
+ data: zod_exports.z.object({
95
+ resource: zod_exports.z.string().optional(),
96
+ resourceId: zod_exports.z.string().optional()
97
+ })
98
+ },
99
+ FORBIDDEN: {
100
+ status: 403,
101
+ data: zod_exports.z.object({
102
+ requiredPermissions: zod_exports.z.array(zod_exports.z.string()).optional(),
103
+ action: zod_exports.z.string().optional()
104
+ })
105
+ },
106
+ TIMEOUT: {
107
+ status: 504,
108
+ data: zod_exports.z.object({
109
+ timeoutMs: zod_exports.z.number().int().min(0).optional(),
110
+ operation: zod_exports.z.string().optional(),
111
+ retryable: zod_exports.z.boolean().default(true)
112
+ })
113
+ },
114
+ CONNECTION_ERROR: {
115
+ status: 502,
116
+ data: zod_exports.z.object({
117
+ errorCode: zod_exports.z.string().optional(),
118
+ host: zod_exports.z.string().optional(),
119
+ port: zod_exports.z.number().int().optional(),
120
+ suggestion: zod_exports.z.string().optional()
121
+ })
122
+ }
99
123
  };
100
124
 
101
125
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"errors.mjs","names":["z"],"sources":["../src/errors.ts"],"sourcesContent":["import { z } from \"./zod\";\n\n/**\n * Error pattern constants for categorizing infrastructure errors\n */\nexport const ERROR_PATTERNS = {\n\tCONNECTION_REFUSED: ['ECONNREFUSED'],\n\tHOST_NOT_FOUND: ['ENOTFOUND', 'EHOSTUNREACH'],\n\tTIMEOUT: ['ETIMEDOUT', 'ESOCKETTIMEDOUT', 'timeout'],\n\tCONNECTION_RESET: ['ECONNRESET', 'EPIPE'],\n\tPERMISSION: ['EACCES', 'EPERM', 'permission denied'],\n\tAUTH: ['401', 'unauthorized', 'authentication failed'],\n\tRATE_LIMITED: ['429', 'too many requests', 'rate limit'],\n\tSERVICE_UNAVAILABLE: ['503', 'service unavailable'],\n} as const;\n\n/**\n * Common error schemas for plugin contracts.\n * Import these to ensure consistent error handling across plugins.\n *\n * @example\n * ```typescript\n * import { CommonPluginErrors } from \"every-plugin/errors\";\n *\n * export const contract = oc.router({\n * getData: oc.route(...)\n * .errors(CommonPluginErrors)\n * });\n * ```\n */\nexport const CommonPluginErrors = {\n\tUNAUTHORIZED: {\n\t\tdata: z.object({\n\t\t\tapiKeyProvided: z.boolean(),\n\t\t\tprovider: z.string().optional(),\n\t\t\tauthType: z.enum(['apiKey', 'oauth', 'token']).optional(),\n\t\t})\n\t},\n\tRATE_LIMITED: {\n\t\tdata: z.object({\n\t\t\tretryAfter: z.number().int().min(1),\n\t\t\tremainingRequests: z.number().int().min(0).optional(),\n\t\t\tresetTime: z.string().datetime().optional(),\n\t\t\tlimitType: z.enum(['requests', 'tokens', 'bandwidth']).optional(),\n\t\t})\n\t},\n\tSERVICE_UNAVAILABLE: {\n\t\tdata: z.object({\n\t\t\tretryAfter: z.number().int().optional(),\n\t\t\tmaintenanceWindow: z.boolean().default(false),\n\t\t\testimatedUptime: z.string().datetime().optional(),\n\t\t})\n\t},\n\tBAD_REQUEST: {\n\t\tdata: z.object({\n\t\t\tinvalidFields: z.array(z.string()).optional(),\n\t\t\tvalidationErrors: z.array(z.object({\n\t\t\t\tfield: z.string(),\n\t\t\t\tmessage: z.string(),\n\t\t\t\tcode: z.string().optional(),\n\t\t\t})).optional(),\n\t\t})\n\t},\n\tNOT_FOUND: {\n\t\tdata: z.object({\n\t\t\tresource: z.string().optional(),\n\t\t\tresourceId: z.string().optional(),\n\t\t})\n\t},\n\tFORBIDDEN: {\n\t\tdata: z.object({\n\t\t\trequiredPermissions: z.array(z.string()).optional(),\n\t\t\taction: z.string().optional(),\n\t\t})\n\t},\n\tTIMEOUT: {\n\t\tdata: z.object({\n\t\t\ttimeoutMs: z.number().int().min(0).optional(),\n\t\t\toperation: z.string().optional(),\n\t\t\tretryable: z.boolean().default(true),\n\t\t})\n\t},\n\tCONNECTION_ERROR: {\n\t\tdata: z.object({\n\t\t\terrorCode: z.string().optional(),\n\t\t\thost: z.string().optional(),\n\t\t\tport: z.number().int().optional(),\n\t\t\tsuggestion: z.string().optional(),\n\t\t})\n\t}\n} as const;\n"],"mappings":";;;;;;AAKA,MAAa,iBAAiB;CAC7B,oBAAoB,CAAC,eAAe;CACpC,gBAAgB,CAAC,aAAa,eAAe;CAC7C,SAAS;EAAC;EAAa;EAAmB;EAAU;CACpD,kBAAkB,CAAC,cAAc,QAAQ;CACzC,YAAY;EAAC;EAAU;EAAS;EAAoB;CACpD,MAAM;EAAC;EAAO;EAAgB;EAAwB;CACtD,cAAc;EAAC;EAAO;EAAqB;EAAa;CACxD,qBAAqB,CAAC,OAAO,sBAAsB;CACnD;;;;;;;;;;;;;;;AAgBD,MAAa,qBAAqB;CACjC,cAAc,EACb,MAAMA,cAAE,OAAO;EACd,gBAAgBA,cAAE,SAAS;EAC3B,UAAUA,cAAE,QAAQ,CAAC,UAAU;EAC/B,UAAUA,cAAE,KAAK;GAAC;GAAU;GAAS;GAAQ,CAAC,CAAC,UAAU;EACzD,CAAC,EACF;CACD,cAAc,EACb,MAAMA,cAAE,OAAO;EACd,YAAYA,cAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE;EACnC,mBAAmBA,cAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,UAAU;EACrD,WAAWA,cAAE,QAAQ,CAAC,UAAU,CAAC,UAAU;EAC3C,WAAWA,cAAE,KAAK;GAAC;GAAY;GAAU;GAAY,CAAC,CAAC,UAAU;EACjE,CAAC,EACF;CACD,qBAAqB,EACpB,MAAMA,cAAE,OAAO;EACd,YAAYA,cAAE,QAAQ,CAAC,KAAK,CAAC,UAAU;EACvC,mBAAmBA,cAAE,SAAS,CAAC,QAAQ,MAAM;EAC7C,iBAAiBA,cAAE,QAAQ,CAAC,UAAU,CAAC,UAAU;EACjD,CAAC,EACF;CACD,aAAa,EACZ,MAAMA,cAAE,OAAO;EACd,eAAeA,cAAE,MAAMA,cAAE,QAAQ,CAAC,CAAC,UAAU;EAC7C,kBAAkBA,cAAE,MAAMA,cAAE,OAAO;GAClC,OAAOA,cAAE,QAAQ;GACjB,SAASA,cAAE,QAAQ;GACnB,MAAMA,cAAE,QAAQ,CAAC,UAAU;GAC3B,CAAC,CAAC,CAAC,UAAU;EACd,CAAC,EACF;CACD,WAAW,EACV,MAAMA,cAAE,OAAO;EACd,UAAUA,cAAE,QAAQ,CAAC,UAAU;EAC/B,YAAYA,cAAE,QAAQ,CAAC,UAAU;EACjC,CAAC,EACF;CACD,WAAW,EACV,MAAMA,cAAE,OAAO;EACd,qBAAqBA,cAAE,MAAMA,cAAE,QAAQ,CAAC,CAAC,UAAU;EACnD,QAAQA,cAAE,QAAQ,CAAC,UAAU;EAC7B,CAAC,EACF;CACD,SAAS,EACR,MAAMA,cAAE,OAAO;EACd,WAAWA,cAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,UAAU;EAC7C,WAAWA,cAAE,QAAQ,CAAC,UAAU;EAChC,WAAWA,cAAE,SAAS,CAAC,QAAQ,KAAK;EACpC,CAAC,EACF;CACD,kBAAkB,EACjB,MAAMA,cAAE,OAAO;EACd,WAAWA,cAAE,QAAQ,CAAC,UAAU;EAChC,MAAMA,cAAE,QAAQ,CAAC,UAAU;EAC3B,MAAMA,cAAE,QAAQ,CAAC,KAAK,CAAC,UAAU;EACjC,YAAYA,cAAE,QAAQ,CAAC,UAAU;EACjC,CAAC,EACF;CACD"}
1
+ {"version":3,"file":"errors.mjs","names":["z"],"sources":["../src/errors.ts"],"sourcesContent":["import { z } from \"./zod\";\n\n/**\n * Error pattern constants for categorizing infrastructure errors\n */\nexport const ERROR_PATTERNS = {\n\tCONNECTION_REFUSED: ['ECONNREFUSED'],\n\tHOST_NOT_FOUND: ['ENOTFOUND', 'EHOSTUNREACH'],\n\tTIMEOUT: ['ETIMEDOUT', 'ESOCKETTIMEDOUT', 'timeout'],\n\tCONNECTION_RESET: ['ECONNRESET', 'EPIPE'],\n\tPERMISSION: ['EACCES', 'EPERM', 'permission denied'],\n\tAUTH: ['401', 'unauthorized', 'authentication failed'],\n\tRATE_LIMITED: ['429', 'too many requests', 'rate limit'],\n\tSERVICE_UNAVAILABLE: ['503', 'service unavailable'],\n} as const;\n\n/**\n * Common error schemas for plugin contracts.\n * Import these to ensure consistent error handling across plugins.\n *\n * @example\n * ```typescript\n * import { CommonPluginErrors } from \"every-plugin/errors\";\n *\n * export const contract = oc.router({\n * getData: oc.route(...)\n * .errors(CommonPluginErrors)\n * });\n * ```\n */\nexport const CommonPluginErrors = {\n\tUNAUTHORIZED: {\n\t\tstatus: 401,\n\t\tdata: z.object({\n\t\t\tapiKeyProvided: z.boolean(),\n\t\t\tprovider: z.string().optional(),\n\t\t\tauthType: z.enum(['apiKey', 'oauth', 'token']).optional(),\n\t\t})\n\t},\n\tRATE_LIMITED: {\n\t\tstatus: 429,\n\t\tdata: z.object({\n\t\t\tretryAfter: z.number().int().min(1),\n\t\t\tremainingRequests: z.number().int().min(0).optional(),\n\t\t\tresetTime: z.string().datetime().optional(),\n\t\t\tlimitType: z.enum(['requests', 'tokens', 'bandwidth']).optional(),\n\t\t})\n\t},\n\tSERVICE_UNAVAILABLE: {\n\t\tstatus: 503,\n\t\tdata: z.object({\n\t\t\tretryAfter: z.number().int().optional(),\n\t\t\tmaintenanceWindow: z.boolean().default(false),\n\t\t\testimatedUptime: z.string().datetime().optional(),\n\t\t})\n\t},\n\tBAD_REQUEST: {\n\t\tstatus: 400,\n\t\tdata: z.object({\n\t\t\tinvalidFields: z.array(z.string()).optional(),\n\t\t\tvalidationErrors: z.array(z.object({\n\t\t\t\tfield: z.string(),\n\t\t\t\tmessage: z.string(),\n\t\t\t\tcode: z.string().optional(),\n\t\t\t})).optional(),\n\t\t})\n\t},\n\tNOT_FOUND: {\n\t\tstatus: 404,\n\t\tdata: z.object({\n\t\t\tresource: z.string().optional(),\n\t\t\tresourceId: z.string().optional(),\n\t\t})\n\t},\n\tFORBIDDEN: {\n\t\tstatus: 403,\n\t\tdata: z.object({\n\t\t\trequiredPermissions: z.array(z.string()).optional(),\n\t\t\taction: z.string().optional(),\n\t\t})\n\t},\n\tTIMEOUT: {\n\t\tstatus: 504,\n\t\tdata: z.object({\n\t\t\ttimeoutMs: z.number().int().min(0).optional(),\n\t\t\toperation: z.string().optional(),\n\t\t\tretryable: z.boolean().default(true),\n\t\t})\n\t},\n\tCONNECTION_ERROR: {\n\t\tstatus: 502,\n\t\tdata: z.object({\n\t\t\terrorCode: z.string().optional(),\n\t\t\thost: z.string().optional(),\n\t\t\tport: z.number().int().optional(),\n\t\t\tsuggestion: z.string().optional(),\n\t\t})\n\t}\n} as const;\n"],"mappings":";;;;;;AAKA,MAAa,iBAAiB;CAC7B,oBAAoB,CAAC,eAAe;CACpC,gBAAgB,CAAC,aAAa,eAAe;CAC7C,SAAS;EAAC;EAAa;EAAmB;EAAU;CACpD,kBAAkB,CAAC,cAAc,QAAQ;CACzC,YAAY;EAAC;EAAU;EAAS;EAAoB;CACpD,MAAM;EAAC;EAAO;EAAgB;EAAwB;CACtD,cAAc;EAAC;EAAO;EAAqB;EAAa;CACxD,qBAAqB,CAAC,OAAO,sBAAsB;CACnD;;;;;;;;;;;;;;;AAgBD,MAAa,qBAAqB;CACjC,cAAc;EACb,QAAQ;EACR,MAAMA,cAAE,OAAO;GACd,gBAAgBA,cAAE,SAAS;GAC3B,UAAUA,cAAE,QAAQ,CAAC,UAAU;GAC/B,UAAUA,cAAE,KAAK;IAAC;IAAU;IAAS;IAAQ,CAAC,CAAC,UAAU;GACzD,CAAC;EACF;CACD,cAAc;EACb,QAAQ;EACR,MAAMA,cAAE,OAAO;GACd,YAAYA,cAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE;GACnC,mBAAmBA,cAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,UAAU;GACrD,WAAWA,cAAE,QAAQ,CAAC,UAAU,CAAC,UAAU;GAC3C,WAAWA,cAAE,KAAK;IAAC;IAAY;IAAU;IAAY,CAAC,CAAC,UAAU;GACjE,CAAC;EACF;CACD,qBAAqB;EACpB,QAAQ;EACR,MAAMA,cAAE,OAAO;GACd,YAAYA,cAAE,QAAQ,CAAC,KAAK,CAAC,UAAU;GACvC,mBAAmBA,cAAE,SAAS,CAAC,QAAQ,MAAM;GAC7C,iBAAiBA,cAAE,QAAQ,CAAC,UAAU,CAAC,UAAU;GACjD,CAAC;EACF;CACD,aAAa;EACZ,QAAQ;EACR,MAAMA,cAAE,OAAO;GACd,eAAeA,cAAE,MAAMA,cAAE,QAAQ,CAAC,CAAC,UAAU;GAC7C,kBAAkBA,cAAE,MAAMA,cAAE,OAAO;IAClC,OAAOA,cAAE,QAAQ;IACjB,SAASA,cAAE,QAAQ;IACnB,MAAMA,cAAE,QAAQ,CAAC,UAAU;IAC3B,CAAC,CAAC,CAAC,UAAU;GACd,CAAC;EACF;CACD,WAAW;EACV,QAAQ;EACR,MAAMA,cAAE,OAAO;GACd,UAAUA,cAAE,QAAQ,CAAC,UAAU;GAC/B,YAAYA,cAAE,QAAQ,CAAC,UAAU;GACjC,CAAC;EACF;CACD,WAAW;EACV,QAAQ;EACR,MAAMA,cAAE,OAAO;GACd,qBAAqBA,cAAE,MAAMA,cAAE,QAAQ,CAAC,CAAC,UAAU;GACnD,QAAQA,cAAE,QAAQ,CAAC,UAAU;GAC7B,CAAC;EACF;CACD,SAAS;EACR,QAAQ;EACR,MAAMA,cAAE,OAAO;GACd,WAAWA,cAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,UAAU;GAC7C,WAAWA,cAAE,QAAQ,CAAC,UAAU;GAChC,WAAWA,cAAE,SAAS,CAAC,QAAQ,KAAK;GACpC,CAAC;EACF;CACD,kBAAkB;EACjB,QAAQ;EACR,MAAMA,cAAE,OAAO;GACd,WAAWA,cAAE,QAAQ,CAAC,UAAU;GAChC,MAAMA,cAAE,QAAQ,CAAC,UAAU;GAC3B,MAAMA,cAAE,QAAQ,CAAC,KAAK,CAAC,UAAU;GACjC,YAAYA,cAAE,QAAQ,CAAC,UAAU;GACjC,CAAC;EACF;CACD"}
package/dist/package.cjs CHANGED
@@ -1,16 +1,16 @@
1
1
 
2
2
  //#region package.json
3
- var version = "0.6.2";
3
+ var version = "0.8.0";
4
4
  var dependencies = {
5
- "@module-federation/enhanced": "^0.19.1",
6
- "@module-federation/node": "^2.7.15",
7
- "@module-federation/runtime-core": "^0.19.1",
8
- "@orpc/contract": "^1.10.0",
9
- "@orpc/experimental-publisher": "^1.10.0",
10
- "@orpc/server": "^1.10.0",
11
- "@orpc/zod": "^1.10.0",
12
- "effect": "3.18.1",
13
- "zod": "4.1.5"
5
+ "@module-federation/enhanced": "^0.21.6",
6
+ "@module-federation/node": "^2.7.25",
7
+ "@module-federation/runtime-core": "^0.21.6",
8
+ "@orpc/contract": "^1.12.2",
9
+ "@orpc/experimental-publisher": "^1.12.2",
10
+ "@orpc/server": "^1.12.2",
11
+ "@orpc/zod": "^1.12.2",
12
+ "effect": "3.19.11",
13
+ "zod": "4.1.13"
14
14
  };
15
15
 
16
16
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"package.cjs","names":[],"sources":["../package.json"],"sourcesContent":["{\n\t\"name\": \"every-plugin\",\n\t\"version\": \"0.6.2\",\n\t\"type\": \"module\",\n\t\"main\": \"./dist/index.cjs\",\n\t\"module\": \"./dist/index.mjs\",\n\t\"types\": \"./dist/index.d.mts\",\n\t\"exports\": {\n\t\t\".\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/index.d.mts\",\n\t\t\t\t\"require\": \"./dist/index.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/index.mjs\",\n\t\t\t\"require\": \"./dist/index.cjs\"\n\t\t},\n\t\t\"./runtime\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/runtime/index.d.mts\",\n\t\t\t\t\"require\": \"./dist/runtime/index.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/runtime/index.mjs\",\n\t\t\t\"require\": \"./dist/runtime/index.cjs\"\n\t\t},\n\t\t\"./testing\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/testing/index.d.mts\",\n\t\t\t\t\"require\": \"./dist/testing/index.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/testing/index.mjs\",\n\t\t\t\"require\": \"./dist/testing/index.cjs\"\n\t\t},\n\t\t\"./normalize\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/runtime/services/normalize.d.mts\",\n\t\t\t\t\"require\": \"./dist/runtime/services/normalize.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/runtime/services/normalize.mjs\",\n\t\t\t\"require\": \"./dist/runtime/services/normalize.cjs\"\n\t\t},\n\t\t\"./effect\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/effect.d.mts\",\n\t\t\t\t\"require\": \"./dist/effect.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/effect.mjs\",\n\t\t\t\"require\": \"./dist/effect.cjs\"\n\t\t},\n\t\t\"./zod\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/zod.d.mts\",\n\t\t\t\t\"require\": \"./dist/zod.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/zod.mjs\",\n\t\t\t\"require\": \"./dist/zod.cjs\"\n\t\t},\n\t\t\"./zod/v4/core\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/zod-core.d.mts\",\n\t\t\t\t\"require\": \"./dist/zod-core.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/zod-core.mjs\",\n\t\t\t\"require\": \"./dist/zod-core.cjs\"\n\t\t},\n\t\t\"./orpc\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/orpc.d.mts\",\n\t\t\t\t\"require\": \"./dist/orpc.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/orpc.mjs\",\n\t\t\t\"require\": \"./dist/orpc.cjs\"\n\t\t},\n\t\t\"./errors\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/errors.d.mts\",\n\t\t\t\t\"require\": \"./dist/errors.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/errors.mjs\",\n\t\t\t\"require\": \"./dist/errors.cjs\"\n\t\t},\n\t\t\"./types\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/types.d.mts\",\n\t\t\t\t\"require\": \"./dist/types.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/types.mjs\",\n\t\t\t\"require\": \"./dist/types.cjs\"\n\t\t},\n\t\t\"./build/rspack\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/build/rspack/index.d.mts\",\n\t\t\t\t\"require\": \"./dist/build/rspack/index.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/build/rspack/index.mjs\",\n\t\t\t\"require\": \"./dist/build/rspack/index.cjs\"\n\t\t},\n\t\t\"./package.json\": \"./package.json\"\n\t},\n\t\"files\": [\n\t\t\"dist\"\n\t],\n\t\"scripts\": {\n\t\t\"build\": \"tsdown\",\n\t\t\"build:test\": \"cd tests/fixtures/test-plugin && bun run build\",\n\t\t\"test\": \"vitest run --config vitest.config.ts\",\n\t\t\"test:unit\": \"vitest run --config vitest.config.ts\",\n\t\t\"test:integration\": \"bun run build:test && vitest run --config vitest.integration.config.ts\",\n\t\t\"test:all\": \"bun run test:unit && bun run test:integration\",\n\t\t\"test:watch\": \"vitest --config vitest.config.ts --watch\",\n\t\t\"typecheck\": \"tsc --noEmit\"\n\t},\n\t\"peerDependencies\": {\n\t\t\"@rspack/core\": \"*\",\n\t\t\"typescript\": \"^5.6.0\"\n\t},\n\t\"devDependencies\": {\n\t\t\"@effect/language-service\": \"^0.38.4\",\n\t\t\"@effect/vitest\": \"^0.25.1\",\n\t\t\"@orpc/client\": \"^1.10.0\",\n\t\t\"@orpc/openapi\": \"^1.10.4\",\n\t\t\"@rspack/cli\": \"^1.5.8\",\n\t\t\"@types/bun\": \"^1.3.0\",\n\t\t\"@types/node\": \"^24.9.0\",\n\t\t\"@vitest/ui\": \"3.2.4\",\n\t\t\"bun-types\": \"^1.3.0\",\n\t\t\"sirv\": \"^3.0.2\",\n\t\t\"tsdown\": \"^0.16.1\",\n\t\t\"vite-tsconfig-paths\": \"^5.1.4\",\n\t\t\"vitest\": \"^3.2.4\"\n\t},\n\t\"dependencies\": {\n\t\t\"@module-federation/enhanced\": \"^0.19.1\",\n\t\t\"@module-federation/node\": \"^2.7.15\",\n\t\t\"@module-federation/runtime-core\": \"^0.19.1\",\n\t\t\"@orpc/contract\": \"^1.10.0\",\n\t\t\"@orpc/experimental-publisher\": \"^1.10.0\",\n\t\t\"@orpc/server\": \"^1.10.0\",\n\t\t\"@orpc/zod\": \"^1.10.0\",\n\t\t\"effect\": \"3.18.1\",\n\t\t\"zod\": \"4.1.5\"\n\t},\n\t\"keywords\": [\n\t\t\"plugin\",\n\t\t\"module-federation\",\n\t\t\"orpc\",\n\t\t\"zod\",\n\t\t\"typescript\"\n\t],\n\t\"author\": \"plugin.every.near\",\n\t\"license\": \"MIT\",\n\t\"repository\": {\n\t\t\"type\": \"git\",\n\t\t\"url\": \"https://github.com/near-everything/every-plugin.git\"\n\t},\n\t\"bugs\": {\n\t\t\"url\": \"https://github.com/near-everything/every-plugin/issues\"\n\t},\n\t\"homepage\": \"https://plugin.everything.dev\",\n\t\"workspaces\": [\n\t\t\"tests/fixtures/*\"\n\t]\n}\n"],"mappings":";;cAEY;mBAgIK;CACf,+BAA+B;CAC/B,2BAA2B;CAC3B,mCAAmC;CACnC,kBAAkB;CAClB,gCAAgC;CAChC,gBAAgB;CAChB,aAAa;CACb,UAAU;CACV,OAAO;CACP"}
1
+ {"version":3,"file":"package.cjs","names":[],"sources":["../package.json"],"sourcesContent":["{\n\t\"name\": \"every-plugin\",\n\t\"version\": \"0.8.0\",\n\t\"type\": \"module\",\n\t\"main\": \"./dist/index.cjs\",\n\t\"module\": \"./dist/index.mjs\",\n\t\"types\": \"./dist/index.d.mts\",\n\t\"exports\": {\n\t\t\".\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/index.d.mts\",\n\t\t\t\t\"require\": \"./dist/index.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/index.mjs\",\n\t\t\t\"require\": \"./dist/index.cjs\"\n\t\t},\n\t\t\"./runtime\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/runtime/index.d.mts\",\n\t\t\t\t\"require\": \"./dist/runtime/index.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/runtime/index.mjs\",\n\t\t\t\"require\": \"./dist/runtime/index.cjs\"\n\t\t},\n\t\t\"./testing\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/testing/index.d.mts\",\n\t\t\t\t\"require\": \"./dist/testing/index.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/testing/index.mjs\",\n\t\t\t\"require\": \"./dist/testing/index.cjs\"\n\t\t},\n\t\t\"./normalize\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/runtime/services/normalize.d.mts\",\n\t\t\t\t\"require\": \"./dist/runtime/services/normalize.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/runtime/services/normalize.mjs\",\n\t\t\t\"require\": \"./dist/runtime/services/normalize.cjs\"\n\t\t},\n\t\t\"./effect\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/effect.d.mts\",\n\t\t\t\t\"require\": \"./dist/effect.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/effect.mjs\",\n\t\t\t\"require\": \"./dist/effect.cjs\"\n\t\t},\n\t\t\"./zod\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/zod.d.mts\",\n\t\t\t\t\"require\": \"./dist/zod.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/zod.mjs\",\n\t\t\t\"require\": \"./dist/zod.cjs\"\n\t\t},\n\t\t\"./zod/v4/core\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/zod-core.d.mts\",\n\t\t\t\t\"require\": \"./dist/zod-core.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/zod-core.mjs\",\n\t\t\t\"require\": \"./dist/zod-core.cjs\"\n\t\t},\n\t\t\"./orpc\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/orpc.d.mts\",\n\t\t\t\t\"require\": \"./dist/orpc.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/orpc.mjs\",\n\t\t\t\"require\": \"./dist/orpc.cjs\"\n\t\t},\n\t\t\"./errors\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/errors.d.mts\",\n\t\t\t\t\"require\": \"./dist/errors.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/errors.mjs\",\n\t\t\t\"require\": \"./dist/errors.cjs\"\n\t\t},\n\t\t\"./types\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/types.d.mts\",\n\t\t\t\t\"require\": \"./dist/types.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/types.mjs\",\n\t\t\t\"require\": \"./dist/types.cjs\"\n\t\t},\n\t\t\"./build/rspack\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/build/rspack/index.d.mts\",\n\t\t\t\t\"require\": \"./dist/build/rspack/index.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/build/rspack/index.mjs\",\n\t\t\t\"require\": \"./dist/build/rspack/index.cjs\"\n\t\t},\n\t\t\"./package.json\": \"./package.json\"\n\t},\n\t\"files\": [\n\t\t\"dist\"\n\t],\n\t\"scripts\": {\n\t\t\"build\": \"tsdown\",\n\t\t\"build:test\": \"cd tests/fixtures/test-plugin && bun run build\",\n\t\t\"test\": \"vitest run --config vitest.config.ts\",\n\t\t\"test:unit\": \"vitest run --config vitest.config.ts\",\n\t\t\"test:integration\": \"bun run build:test && vitest run --config vitest.integration.config.ts\",\n\t\t\"test:all\": \"bun run test:unit && bun run test:integration\",\n\t\t\"test:watch\": \"vitest --config vitest.config.ts --watch\",\n\t\t\"typecheck\": \"tsc --noEmit\"\n\t},\n\t\"peerDependencies\": {\n\t\t\"@rspack/core\": \"1.6.7\",\n\t\t\"typescript\": \"^5.6.0\"\n\t},\n\t\"devDependencies\": {\n\t\t\"@effect/language-service\": \"^0.62.0\",\n\t\t\"@effect/vitest\": \"^0.27.0\",\n\t\t\"@orpc/client\": \"^1.12.2\",\n\t\t\"@orpc/openapi\": \"^1.12.2\",\n\t\t\"@rspack/cli\": \"^1.6.7\",\n\t\t\"@types/bun\": \"^1.3.4\",\n\t\t\"@types/node\": \"^25.0.0\",\n\t\t\"@vitest/ui\": \"4.0.15\",\n\t\t\"bun-types\": \"^1.3.4\",\n\t\t\"sirv\": \"^3.0.2\",\n\t\t\"tsdown\": \"^0.17.2\",\n\t\t\"vite-tsconfig-paths\": \"^5.1.4\",\n\t\t\"vitest\": \"^4.0.15\"\n\t},\n\t\"dependencies\": {\n\t\t\"@module-federation/enhanced\": \"^0.21.6\",\n\t\t\"@module-federation/node\": \"^2.7.25\",\n\t\t\"@module-federation/runtime-core\": \"^0.21.6\",\n\t\t\"@orpc/contract\": \"^1.12.2\",\n\t\t\"@orpc/experimental-publisher\": \"^1.12.2\",\n\t\t\"@orpc/server\": \"^1.12.2\",\n\t\t\"@orpc/zod\": \"^1.12.2\",\n\t\t\"effect\": \"3.19.11\",\n\t\t\"zod\": \"4.1.13\"\n\t},\n\t\"keywords\": [\n\t\t\"plugin\",\n\t\t\"module-federation\",\n\t\t\"orpc\",\n\t\t\"zod\",\n\t\t\"typescript\"\n\t],\n\t\"author\": \"plugin.every.near\",\n\t\"license\": \"MIT\",\n\t\"repository\": {\n\t\t\"type\": \"git\",\n\t\t\"url\": \"https://github.com/near-everything/every-plugin.git\"\n\t},\n\t\"bugs\": {\n\t\t\"url\": \"https://github.com/near-everything/every-plugin/issues\"\n\t},\n\t\"homepage\": \"https://plugin.everything.dev\",\n\t\"workspaces\": [\n\t\t\"tests/fixtures/*\"\n\t]\n}\n"],"mappings":";;cAEY;mBAgIK;CACf,+BAA+B;CAC/B,2BAA2B;CAC3B,mCAAmC;CACnC,kBAAkB;CAClB,gCAAgC;CAChC,gBAAgB;CAChB,aAAa;CACb,UAAU;CACV,OAAO;CACP"}
package/dist/package.mjs CHANGED
@@ -1,15 +1,15 @@
1
1
  //#region package.json
2
- var version = "0.6.2";
2
+ var version = "0.8.0";
3
3
  var dependencies = {
4
- "@module-federation/enhanced": "^0.19.1",
5
- "@module-federation/node": "^2.7.15",
6
- "@module-federation/runtime-core": "^0.19.1",
7
- "@orpc/contract": "^1.10.0",
8
- "@orpc/experimental-publisher": "^1.10.0",
9
- "@orpc/server": "^1.10.0",
10
- "@orpc/zod": "^1.10.0",
11
- "effect": "3.18.1",
12
- "zod": "4.1.5"
4
+ "@module-federation/enhanced": "^0.21.6",
5
+ "@module-federation/node": "^2.7.25",
6
+ "@module-federation/runtime-core": "^0.21.6",
7
+ "@orpc/contract": "^1.12.2",
8
+ "@orpc/experimental-publisher": "^1.12.2",
9
+ "@orpc/server": "^1.12.2",
10
+ "@orpc/zod": "^1.12.2",
11
+ "effect": "3.19.11",
12
+ "zod": "4.1.13"
13
13
  };
14
14
 
15
15
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"package.mjs","names":[],"sources":["../package.json"],"sourcesContent":["{\n\t\"name\": \"every-plugin\",\n\t\"version\": \"0.6.2\",\n\t\"type\": \"module\",\n\t\"main\": \"./dist/index.cjs\",\n\t\"module\": \"./dist/index.mjs\",\n\t\"types\": \"./dist/index.d.mts\",\n\t\"exports\": {\n\t\t\".\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/index.d.mts\",\n\t\t\t\t\"require\": \"./dist/index.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/index.mjs\",\n\t\t\t\"require\": \"./dist/index.cjs\"\n\t\t},\n\t\t\"./runtime\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/runtime/index.d.mts\",\n\t\t\t\t\"require\": \"./dist/runtime/index.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/runtime/index.mjs\",\n\t\t\t\"require\": \"./dist/runtime/index.cjs\"\n\t\t},\n\t\t\"./testing\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/testing/index.d.mts\",\n\t\t\t\t\"require\": \"./dist/testing/index.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/testing/index.mjs\",\n\t\t\t\"require\": \"./dist/testing/index.cjs\"\n\t\t},\n\t\t\"./normalize\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/runtime/services/normalize.d.mts\",\n\t\t\t\t\"require\": \"./dist/runtime/services/normalize.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/runtime/services/normalize.mjs\",\n\t\t\t\"require\": \"./dist/runtime/services/normalize.cjs\"\n\t\t},\n\t\t\"./effect\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/effect.d.mts\",\n\t\t\t\t\"require\": \"./dist/effect.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/effect.mjs\",\n\t\t\t\"require\": \"./dist/effect.cjs\"\n\t\t},\n\t\t\"./zod\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/zod.d.mts\",\n\t\t\t\t\"require\": \"./dist/zod.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/zod.mjs\",\n\t\t\t\"require\": \"./dist/zod.cjs\"\n\t\t},\n\t\t\"./zod/v4/core\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/zod-core.d.mts\",\n\t\t\t\t\"require\": \"./dist/zod-core.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/zod-core.mjs\",\n\t\t\t\"require\": \"./dist/zod-core.cjs\"\n\t\t},\n\t\t\"./orpc\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/orpc.d.mts\",\n\t\t\t\t\"require\": \"./dist/orpc.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/orpc.mjs\",\n\t\t\t\"require\": \"./dist/orpc.cjs\"\n\t\t},\n\t\t\"./errors\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/errors.d.mts\",\n\t\t\t\t\"require\": \"./dist/errors.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/errors.mjs\",\n\t\t\t\"require\": \"./dist/errors.cjs\"\n\t\t},\n\t\t\"./types\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/types.d.mts\",\n\t\t\t\t\"require\": \"./dist/types.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/types.mjs\",\n\t\t\t\"require\": \"./dist/types.cjs\"\n\t\t},\n\t\t\"./build/rspack\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/build/rspack/index.d.mts\",\n\t\t\t\t\"require\": \"./dist/build/rspack/index.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/build/rspack/index.mjs\",\n\t\t\t\"require\": \"./dist/build/rspack/index.cjs\"\n\t\t},\n\t\t\"./package.json\": \"./package.json\"\n\t},\n\t\"files\": [\n\t\t\"dist\"\n\t],\n\t\"scripts\": {\n\t\t\"build\": \"tsdown\",\n\t\t\"build:test\": \"cd tests/fixtures/test-plugin && bun run build\",\n\t\t\"test\": \"vitest run --config vitest.config.ts\",\n\t\t\"test:unit\": \"vitest run --config vitest.config.ts\",\n\t\t\"test:integration\": \"bun run build:test && vitest run --config vitest.integration.config.ts\",\n\t\t\"test:all\": \"bun run test:unit && bun run test:integration\",\n\t\t\"test:watch\": \"vitest --config vitest.config.ts --watch\",\n\t\t\"typecheck\": \"tsc --noEmit\"\n\t},\n\t\"peerDependencies\": {\n\t\t\"@rspack/core\": \"*\",\n\t\t\"typescript\": \"^5.6.0\"\n\t},\n\t\"devDependencies\": {\n\t\t\"@effect/language-service\": \"^0.38.4\",\n\t\t\"@effect/vitest\": \"^0.25.1\",\n\t\t\"@orpc/client\": \"^1.10.0\",\n\t\t\"@orpc/openapi\": \"^1.10.4\",\n\t\t\"@rspack/cli\": \"^1.5.8\",\n\t\t\"@types/bun\": \"^1.3.0\",\n\t\t\"@types/node\": \"^24.9.0\",\n\t\t\"@vitest/ui\": \"3.2.4\",\n\t\t\"bun-types\": \"^1.3.0\",\n\t\t\"sirv\": \"^3.0.2\",\n\t\t\"tsdown\": \"^0.16.1\",\n\t\t\"vite-tsconfig-paths\": \"^5.1.4\",\n\t\t\"vitest\": \"^3.2.4\"\n\t},\n\t\"dependencies\": {\n\t\t\"@module-federation/enhanced\": \"^0.19.1\",\n\t\t\"@module-federation/node\": \"^2.7.15\",\n\t\t\"@module-federation/runtime-core\": \"^0.19.1\",\n\t\t\"@orpc/contract\": \"^1.10.0\",\n\t\t\"@orpc/experimental-publisher\": \"^1.10.0\",\n\t\t\"@orpc/server\": \"^1.10.0\",\n\t\t\"@orpc/zod\": \"^1.10.0\",\n\t\t\"effect\": \"3.18.1\",\n\t\t\"zod\": \"4.1.5\"\n\t},\n\t\"keywords\": [\n\t\t\"plugin\",\n\t\t\"module-federation\",\n\t\t\"orpc\",\n\t\t\"zod\",\n\t\t\"typescript\"\n\t],\n\t\"author\": \"plugin.every.near\",\n\t\"license\": \"MIT\",\n\t\"repository\": {\n\t\t\"type\": \"git\",\n\t\t\"url\": \"https://github.com/near-everything/every-plugin.git\"\n\t},\n\t\"bugs\": {\n\t\t\"url\": \"https://github.com/near-everything/every-plugin/issues\"\n\t},\n\t\"homepage\": \"https://plugin.everything.dev\",\n\t\"workspaces\": [\n\t\t\"tests/fixtures/*\"\n\t]\n}\n"],"mappings":";cAEY;mBAgIK;CACf,+BAA+B;CAC/B,2BAA2B;CAC3B,mCAAmC;CACnC,kBAAkB;CAClB,gCAAgC;CAChC,gBAAgB;CAChB,aAAa;CACb,UAAU;CACV,OAAO;CACP"}
1
+ {"version":3,"file":"package.mjs","names":[],"sources":["../package.json"],"sourcesContent":["{\n\t\"name\": \"every-plugin\",\n\t\"version\": \"0.8.0\",\n\t\"type\": \"module\",\n\t\"main\": \"./dist/index.cjs\",\n\t\"module\": \"./dist/index.mjs\",\n\t\"types\": \"./dist/index.d.mts\",\n\t\"exports\": {\n\t\t\".\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/index.d.mts\",\n\t\t\t\t\"require\": \"./dist/index.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/index.mjs\",\n\t\t\t\"require\": \"./dist/index.cjs\"\n\t\t},\n\t\t\"./runtime\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/runtime/index.d.mts\",\n\t\t\t\t\"require\": \"./dist/runtime/index.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/runtime/index.mjs\",\n\t\t\t\"require\": \"./dist/runtime/index.cjs\"\n\t\t},\n\t\t\"./testing\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/testing/index.d.mts\",\n\t\t\t\t\"require\": \"./dist/testing/index.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/testing/index.mjs\",\n\t\t\t\"require\": \"./dist/testing/index.cjs\"\n\t\t},\n\t\t\"./normalize\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/runtime/services/normalize.d.mts\",\n\t\t\t\t\"require\": \"./dist/runtime/services/normalize.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/runtime/services/normalize.mjs\",\n\t\t\t\"require\": \"./dist/runtime/services/normalize.cjs\"\n\t\t},\n\t\t\"./effect\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/effect.d.mts\",\n\t\t\t\t\"require\": \"./dist/effect.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/effect.mjs\",\n\t\t\t\"require\": \"./dist/effect.cjs\"\n\t\t},\n\t\t\"./zod\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/zod.d.mts\",\n\t\t\t\t\"require\": \"./dist/zod.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/zod.mjs\",\n\t\t\t\"require\": \"./dist/zod.cjs\"\n\t\t},\n\t\t\"./zod/v4/core\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/zod-core.d.mts\",\n\t\t\t\t\"require\": \"./dist/zod-core.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/zod-core.mjs\",\n\t\t\t\"require\": \"./dist/zod-core.cjs\"\n\t\t},\n\t\t\"./orpc\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/orpc.d.mts\",\n\t\t\t\t\"require\": \"./dist/orpc.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/orpc.mjs\",\n\t\t\t\"require\": \"./dist/orpc.cjs\"\n\t\t},\n\t\t\"./errors\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/errors.d.mts\",\n\t\t\t\t\"require\": \"./dist/errors.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/errors.mjs\",\n\t\t\t\"require\": \"./dist/errors.cjs\"\n\t\t},\n\t\t\"./types\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/types.d.mts\",\n\t\t\t\t\"require\": \"./dist/types.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/types.mjs\",\n\t\t\t\"require\": \"./dist/types.cjs\"\n\t\t},\n\t\t\"./build/rspack\": {\n\t\t\t\"types\": {\n\t\t\t\t\"import\": \"./dist/build/rspack/index.d.mts\",\n\t\t\t\t\"require\": \"./dist/build/rspack/index.d.cts\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/build/rspack/index.mjs\",\n\t\t\t\"require\": \"./dist/build/rspack/index.cjs\"\n\t\t},\n\t\t\"./package.json\": \"./package.json\"\n\t},\n\t\"files\": [\n\t\t\"dist\"\n\t],\n\t\"scripts\": {\n\t\t\"build\": \"tsdown\",\n\t\t\"build:test\": \"cd tests/fixtures/test-plugin && bun run build\",\n\t\t\"test\": \"vitest run --config vitest.config.ts\",\n\t\t\"test:unit\": \"vitest run --config vitest.config.ts\",\n\t\t\"test:integration\": \"bun run build:test && vitest run --config vitest.integration.config.ts\",\n\t\t\"test:all\": \"bun run test:unit && bun run test:integration\",\n\t\t\"test:watch\": \"vitest --config vitest.config.ts --watch\",\n\t\t\"typecheck\": \"tsc --noEmit\"\n\t},\n\t\"peerDependencies\": {\n\t\t\"@rspack/core\": \"1.6.7\",\n\t\t\"typescript\": \"^5.6.0\"\n\t},\n\t\"devDependencies\": {\n\t\t\"@effect/language-service\": \"^0.62.0\",\n\t\t\"@effect/vitest\": \"^0.27.0\",\n\t\t\"@orpc/client\": \"^1.12.2\",\n\t\t\"@orpc/openapi\": \"^1.12.2\",\n\t\t\"@rspack/cli\": \"^1.6.7\",\n\t\t\"@types/bun\": \"^1.3.4\",\n\t\t\"@types/node\": \"^25.0.0\",\n\t\t\"@vitest/ui\": \"4.0.15\",\n\t\t\"bun-types\": \"^1.3.4\",\n\t\t\"sirv\": \"^3.0.2\",\n\t\t\"tsdown\": \"^0.17.2\",\n\t\t\"vite-tsconfig-paths\": \"^5.1.4\",\n\t\t\"vitest\": \"^4.0.15\"\n\t},\n\t\"dependencies\": {\n\t\t\"@module-federation/enhanced\": \"^0.21.6\",\n\t\t\"@module-federation/node\": \"^2.7.25\",\n\t\t\"@module-federation/runtime-core\": \"^0.21.6\",\n\t\t\"@orpc/contract\": \"^1.12.2\",\n\t\t\"@orpc/experimental-publisher\": \"^1.12.2\",\n\t\t\"@orpc/server\": \"^1.12.2\",\n\t\t\"@orpc/zod\": \"^1.12.2\",\n\t\t\"effect\": \"3.19.11\",\n\t\t\"zod\": \"4.1.13\"\n\t},\n\t\"keywords\": [\n\t\t\"plugin\",\n\t\t\"module-federation\",\n\t\t\"orpc\",\n\t\t\"zod\",\n\t\t\"typescript\"\n\t],\n\t\"author\": \"plugin.every.near\",\n\t\"license\": \"MIT\",\n\t\"repository\": {\n\t\t\"type\": \"git\",\n\t\t\"url\": \"https://github.com/near-everything/every-plugin.git\"\n\t},\n\t\"bugs\": {\n\t\t\"url\": \"https://github.com/near-everything/every-plugin/issues\"\n\t},\n\t\"homepage\": \"https://plugin.everything.dev\",\n\t\"workspaces\": [\n\t\t\"tests/fixtures/*\"\n\t]\n}\n"],"mappings":";cAEY;mBAgIK;CACf,+BAA+B;CAC/B,2BAA2B;CAC3B,mCAAmC;CACnC,kBAAkB;CAClB,gCAAgC;CAChC,gBAAgB;CAChB,aAAa;CACb,UAAU;CACV,OAAO;CACP"}
package/dist/plugin.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  const require_rolldown_runtime = require('./_virtual/rolldown_runtime.cjs');
2
- let effect = require("effect");
3
2
  let __orpc_server = require("@orpc/server");
3
+ let effect = require("effect");
4
4
 
5
5
  //#region src/plugin.ts
6
6
  /**
@@ -9,28 +9,29 @@ let __orpc_server = require("@orpc/server");
9
9
  function createPlugin(config) {
10
10
  const configSchema = {
11
11
  variables: config.variables,
12
- secrets: config.secrets
12
+ secrets: config.secrets,
13
+ context: config.context
13
14
  };
14
15
  class CreatedPlugin {
15
16
  /** set during instantiation - registry key */
16
17
  id;
17
18
  contract = config.contract;
18
19
  configSchema = configSchema;
19
- _context = null;
20
+ _deps = null;
20
21
  initialize(pluginConfig) {
21
- return (config.initialize ?? (() => effect.Effect.succeed({})))(pluginConfig).pipe(effect.Effect.tap((ctx) => effect.Effect.sync(() => {
22
- this._context = ctx;
23
- })), effect.Effect.map(() => this._context), effect.Effect.mapError((error) => error));
22
+ return (config.initialize ?? (() => effect.Effect.succeed({})))(pluginConfig).pipe(effect.Effect.tap((deps) => effect.Effect.sync(() => {
23
+ this._deps = deps;
24
+ })), effect.Effect.map(() => this._deps), effect.Effect.mapError((error) => error));
24
25
  }
25
26
  shutdown() {
26
27
  const self = this;
27
28
  return effect.Effect.gen(function* () {
28
- if (config.shutdown && self._context) yield* config.shutdown(self._context).pipe(effect.Effect.catchAll(() => effect.Effect.void));
29
+ if (config.shutdown && self._deps) yield* config.shutdown(self._deps).pipe(effect.Effect.catchAll(() => effect.Effect.void));
29
30
  });
30
31
  }
31
- createRouter(context) {
32
+ createRouter(deps) {
32
33
  const builder = (0, __orpc_server.implement)(config.contract).$context();
33
- return config.createRouter(context, builder);
34
+ return config.createRouter(deps, builder);
34
35
  }
35
36
  }
36
37
  const PluginConstructor = CreatedPlugin;
@@ -38,7 +39,7 @@ function createPlugin(config) {
38
39
  contract: config.contract,
39
40
  variables: config.variables,
40
41
  secrets: config.secrets,
41
- context: {}
42
+ context: config.context
42
43
  };
43
44
  return PluginConstructor;
44
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.cjs","names":["configSchema: PluginConfigFor<V, S>","Effect"],"sources":["../src/plugin.ts"],"sourcesContent":["import type { AnyContractRouter, AnySchema, InferSchemaOutput } from \"@orpc/contract\";\nimport type { Context, Implementer, Router } from \"@orpc/server\";\nimport { implement } from \"@orpc/server\";\nimport { Effect, type Scope } from \"effect\";\n\n/**\n * Helper type that correctly constructs the config schema type\n */\nexport type PluginConfigFor<V extends AnySchema, S extends AnySchema> = {\n\tvariables: V;\n\tsecrets: S;\n};\n\n/**\n * Loaded plugin with static binding property\n */\nexport interface LoadedPluginWithBinding<\n\tTContract extends AnyContractRouter,\n\tTVariables extends AnySchema,\n\tTSecrets extends AnySchema,\n\tTContext extends Context = Record<never, never>\n> {\n\tnew(): Plugin<TContract, TVariables, TSecrets, TContext>;\n\tbinding: {\n\t\tcontract: TContract;\n\t\tvariables: TVariables;\n\t\tsecrets: TSecrets;\n\t\tcontext: TContext;\n\t};\n}\n\n/**\n * Plugin interface\n */\nexport interface Plugin<\n\tTContract extends AnyContractRouter,\n\tTVariables extends AnySchema,\n\tTSecrets extends AnySchema,\n\tTContext extends Context = Record<never, never>\n> {\n\treadonly id: string;\n\treadonly contract: TContract;\n\treadonly configSchema: PluginConfigFor<TVariables, TSecrets>;\n\n\t// Plugin lifecycle\n\tinitialize(\n\t\tconfig: { variables: InferSchemaOutput<TVariables>; secrets: InferSchemaOutput<TSecrets> }\n\t): Effect.Effect<TContext, unknown, Scope.Scope>;\n\n\tshutdown(): Effect.Effect<void, never>;\n\n\t/**\n\t * Creates the strongly-typed oRPC router for this plugin.\n\t * The router's procedure types are inferred directly from the contract.\n\t * @param context The initialized plugin context\n\t * @returns A router with procedures matching the plugin's contract\n\t */\n\tcreateRouter(context: TContext): Router<TContract, any>;\n}\n\n/**\n * Factory function to create plugins\n */\nexport function createPlugin<\n\tV extends AnySchema,\n\tS extends AnySchema,\n\tTContract extends AnyContractRouter,\n\tTContext extends Context = Record<never, never>\n>(config: {\n\tvariables: V;\n\tsecrets: S;\n\tcontract: TContract;\n\tinitialize?: (\n\t\tconfig: { variables: InferSchemaOutput<V>; secrets: InferSchemaOutput<S> }\n\t) => Effect.Effect<TContext, Error, Scope.Scope>;\n\tcreateRouter: (\n\t\tcontext: TContext,\n\t\tbuilder: Implementer<TContract, TContext, TContext>\n\t) => Router<TContract, any>;\n\tshutdown?: (ctx: TContext) => Effect.Effect<void, Error, never>;\n}) {\n\tconst configSchema: PluginConfigFor<V, S> = {\n\t\tvariables: config.variables,\n\t\tsecrets: config.secrets\n\t};\n\n\tclass CreatedPlugin implements Plugin<TContract, V, S, TContext> {\n\t\t/** set during instantiation - registry key */\n\t\tid!: string;\n\t\treadonly contract = config.contract;\n\t\treadonly configSchema = configSchema;\n\n\t\tprivate _context: TContext | null = null;\n\n\t\tinitialize(\n\t\t\tpluginConfig: { variables: InferSchemaOutput<V>; secrets: InferSchemaOutput<S> }\n\t\t): Effect.Effect<TContext, unknown, Scope.Scope> {\n\t\t\tconst init = config.initialize ?? (() => Effect.succeed({} as TContext));\n\n\t\t\treturn init(pluginConfig).pipe(\n\t\t\t\tEffect.tap((ctx) => Effect.sync(() => { this._context = ctx; })),\n\t\t\t\tEffect.map(() => this._context as TContext),\n\t\t\t\tEffect.mapError((error) => error as unknown)\n\t\t\t);\n\t\t}\n\n\t\tshutdown(): Effect.Effect<void, never> {\n\t\t\tconst self = this;\n\t\t\treturn Effect.gen(function* () {\n\t\t\t\tif (config.shutdown && self._context) {\n\t\t\t\t\tyield* config.shutdown(self._context).pipe(\n\t\t\t\t\t\tEffect.catchAll(() => Effect.void)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tcreateRouter(context: TContext): Router<TContract, any> {\n\t\t\tconst builder = implement(config.contract).$context<TContext>();\n\t\t\tconst router = config.createRouter(context, builder);\n\t\t\treturn router as Router<TContract, any>;\n\t\t}\n\t}\n\n\tconst PluginConstructor = CreatedPlugin as unknown as {\n\t\tnew(): Plugin<TContract, V, S, TContext>;\n\t\tbinding: {\n\t\t\tcontract: TContract;\n\t\t\tvariables: V;\n\t\t\tsecrets: S;\n\t\t\tcontext: TContext;\n\t\t};\n\t};\n\n\tPluginConstructor.binding = {\n\t\tcontract: config.contract,\n\t\tvariables: config.variables,\n\t\tsecrets: config.secrets,\n\t\tcontext: {} as TContext\n\t};\n\n\treturn PluginConstructor as LoadedPluginWithBinding<TContract, V, S, TContext>;\n}\n"],"mappings":";;;;;;;;AA+DA,SAAgB,aAKd,QAYC;CACF,MAAMA,eAAsC;EAC3C,WAAW,OAAO;EAClB,SAAS,OAAO;EAChB;CAED,MAAM,cAA2D;;EAEhE;EACA,AAAS,WAAW,OAAO;EAC3B,AAAS,eAAe;EAExB,AAAQ,WAA4B;EAEpC,WACC,cACgD;AAGhD,WAFa,OAAO,qBAAqBC,cAAO,QAAQ,EAAE,CAAa,GAE3D,aAAa,CAAC,KACzBA,cAAO,KAAK,QAAQA,cAAO,WAAW;AAAE,SAAK,WAAW;KAAO,CAAC,EAChEA,cAAO,UAAU,KAAK,SAAqB,EAC3CA,cAAO,UAAU,UAAU,MAAiB,CAC5C;;EAGF,WAAuC;GACtC,MAAM,OAAO;AACb,UAAOA,cAAO,IAAI,aAAa;AAC9B,QAAI,OAAO,YAAY,KAAK,SAC3B,QAAO,OAAO,SAAS,KAAK,SAAS,CAAC,KACrCA,cAAO,eAAeA,cAAO,KAAK,CAClC;KAED;;EAGH,aAAa,SAA2C;GACvD,MAAM,uCAAoB,OAAO,SAAS,CAAC,UAAoB;AAE/D,UADe,OAAO,aAAa,SAAS,QAAQ;;;CAKtD,MAAM,oBAAoB;AAU1B,mBAAkB,UAAU;EAC3B,UAAU,OAAO;EACjB,WAAW,OAAO;EAClB,SAAS,OAAO;EAChB,SAAS,EAAE;EACX;AAED,QAAO"}
1
+ {"version":3,"file":"plugin.cjs","names":["configSchema: PluginConfigFor<V, S, TRequestContext>","Effect"],"sources":["../src/plugin.ts"],"sourcesContent":["import type { AnyContractRouter, AnySchema, InferSchemaOutput } from \"@orpc/contract\";\nimport type { Context, Implementer, Router } from \"@orpc/server\";\nimport { implement } from \"@orpc/server\";\nimport { Effect, type Scope } from \"effect\";\n\n/**\n * Helper type that correctly constructs the config schema type\n */\nexport type PluginConfigFor<V extends AnySchema, S extends AnySchema, TRequestContext extends AnySchema> = {\n\tvariables: V;\n\tsecrets: S;\n\tcontext: TRequestContext;\n};\n\n/**\n * Loaded plugin with static binding property\n */\nexport interface LoadedPluginWithBinding<\n\tTContract extends AnyContractRouter,\n\tTVariables extends AnySchema,\n\tTSecrets extends AnySchema,\n\tTRequestContext extends AnySchema,\n\tTDeps extends Context = Record<never, never>\n> {\n\tnew(): Plugin<TContract, TVariables, TSecrets, TRequestContext, TDeps>;\n\tbinding: {\n\t\tcontract: TContract;\n\t\tvariables: TVariables;\n\t\tsecrets: TSecrets;\n\t\tcontext: TRequestContext;\n\t};\n}\n\n/**\n * Plugin interface\n */\nexport interface Plugin<\n\tTContract extends AnyContractRouter,\n\tTVariables extends AnySchema,\n\tTSecrets extends AnySchema,\n\tTRequestContext extends AnySchema,\n\tTDeps extends Context = Record<never, never>\n> {\n\treadonly id: string;\n\treadonly contract: TContract;\n\treadonly configSchema: PluginConfigFor<TVariables, TSecrets, TRequestContext>;\n\n\t// Plugin lifecycle\n\tinitialize(\n\t\tconfig: { variables: InferSchemaOutput<TVariables>; secrets: InferSchemaOutput<TSecrets> }\n\t): Effect.Effect<TDeps, unknown, Scope.Scope>;\n\n\tshutdown(): Effect.Effect<void, never>;\n\n\t/**\n\t * Creates the strongly-typed oRPC router for this plugin.\n\t * The router's procedure types are inferred directly from the contract.\n\t * @param deps The initialized plugin dependencies\n\t * @returns A router with procedures matching the plugin's contract\n\t */\n\tcreateRouter(deps: TDeps): Router<TContract, any>;\n}\n\n/**\n * Factory function to create plugins\n */\nexport function createPlugin<\n\tV extends AnySchema,\n\tS extends AnySchema,\n\tTRequestContext extends AnySchema,\n\tTContract extends AnyContractRouter,\n\tTDeps extends Context = Record<never, never>\n>(config: {\n\tvariables: V;\n\tsecrets: S;\n\tcontext: TRequestContext;\n\tcontract: TContract;\n\tinitialize?: (\n\t\tconfig: { variables: InferSchemaOutput<V>; secrets: InferSchemaOutput<S> }\n\t) => Effect.Effect<TDeps, Error, Scope.Scope>;\n\tcreateRouter: (\n\t\tdeps: TDeps,\n\t\tbuilder: Implementer<TContract, InferSchemaOutput<TRequestContext>, InferSchemaOutput<TRequestContext>>\n\t) => Router<TContract, any>;\n\tshutdown?: (deps: TDeps) => Effect.Effect<void, Error, never>;\n}) {\n\tconst configSchema: PluginConfigFor<V, S, TRequestContext> = {\n\t\tvariables: config.variables,\n\t\tsecrets: config.secrets,\n\t\tcontext: config.context\n\t};\n\n\tclass CreatedPlugin implements Plugin<TContract, V, S, TRequestContext, TDeps> {\n\t\t/** set during instantiation - registry key */\n\t\tid!: string;\n\t\treadonly contract = config.contract;\n\t\treadonly configSchema = configSchema;\n\n\t\tprivate _deps: TDeps | null = null;\n\n\t\tinitialize(\n\t\t\tpluginConfig: { variables: InferSchemaOutput<V>; secrets: InferSchemaOutput<S> }\n\t\t): Effect.Effect<TDeps, unknown, Scope.Scope> {\n\t\t\tconst init = config.initialize ?? (() => Effect.succeed({} as TDeps));\n\n\t\t\treturn init(pluginConfig).pipe(\n\t\t\t\tEffect.tap((deps) => Effect.sync(() => { this._deps = deps; })),\n\t\t\t\tEffect.map(() => this._deps as TDeps),\n\t\t\t\tEffect.mapError((error) => error as unknown)\n\t\t\t);\n\t\t}\n\n\t\tshutdown(): Effect.Effect<void, never> {\n\t\t\tconst self = this;\n\t\t\treturn Effect.gen(function* () {\n\t\t\t\tif (config.shutdown && self._deps) {\n\t\t\t\t\tyield* config.shutdown(self._deps).pipe(\n\t\t\t\t\t\tEffect.catchAll(() => Effect.void)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tcreateRouter(deps: TDeps): Router<TContract, any> {\n\t\t\tconst builder = implement(config.contract).$context<InferSchemaOutput<TRequestContext>>();\n\t\t\tconst router = config.createRouter(deps, builder);\n\t\t\treturn router as Router<TContract, any>;\n\t\t}\n\t}\n\n\tconst PluginConstructor = CreatedPlugin as unknown as {\n\t\tnew(): Plugin<TContract, V, S, TRequestContext, TDeps>;\n\t\tbinding: {\n\t\t\tcontract: TContract;\n\t\t\tvariables: V;\n\t\t\tsecrets: S;\n\t\t\tcontext: TRequestContext;\n\t\t};\n\t};\n\n\tPluginConstructor.binding = {\n\t\tcontract: config.contract,\n\t\tvariables: config.variables,\n\t\tsecrets: config.secrets,\n\t\tcontext: config.context\n\t};\n\n\treturn PluginConstructor as LoadedPluginWithBinding<TContract, V, S, TRequestContext, TDeps>;\n}\n"],"mappings":";;;;;;;;AAkEA,SAAgB,aAMd,QAaC;CACF,MAAMA,eAAuD;EAC5D,WAAW,OAAO;EAClB,SAAS,OAAO;EAChB,SAAS,OAAO;EAChB;CAED,MAAM,cAAyE;;EAE9E;EACA,AAAS,WAAW,OAAO;EAC3B,AAAS,eAAe;EAExB,AAAQ,QAAsB;EAE9B,WACC,cAC6C;AAG7C,WAFa,OAAO,qBAAqBC,cAAO,QAAQ,EAAE,CAAU,GAExD,aAAa,CAAC,KACzBA,cAAO,KAAK,SAASA,cAAO,WAAW;AAAE,SAAK,QAAQ;KAAQ,CAAC,EAC/DA,cAAO,UAAU,KAAK,MAAe,EACrCA,cAAO,UAAU,UAAU,MAAiB,CAC5C;;EAGF,WAAuC;GACtC,MAAM,OAAO;AACb,UAAOA,cAAO,IAAI,aAAa;AAC9B,QAAI,OAAO,YAAY,KAAK,MAC3B,QAAO,OAAO,SAAS,KAAK,MAAM,CAAC,KAClCA,cAAO,eAAeA,cAAO,KAAK,CAClC;KAED;;EAGH,aAAa,MAAqC;GACjD,MAAM,uCAAoB,OAAO,SAAS,CAAC,UAA8C;AAEzF,UADe,OAAO,aAAa,MAAM,QAAQ;;;CAKnD,MAAM,oBAAoB;AAU1B,mBAAkB,UAAU;EAC3B,UAAU,OAAO;EACjB,WAAW,OAAO;EAClB,SAAS,OAAO;EAChB,SAAS,OAAO;EAChB;AAED,QAAO"}
package/dist/plugin.d.cts CHANGED
@@ -7,56 +7,58 @@ import { Context as Context$1, Implementer, Router } from "@orpc/server";
7
7
  /**
8
8
  * Helper type that correctly constructs the config schema type
9
9
  */
10
- type PluginConfigFor<V extends AnySchema, S extends AnySchema> = {
10
+ type PluginConfigFor<V extends AnySchema, S extends AnySchema, TRequestContext extends AnySchema> = {
11
11
  variables: V;
12
12
  secrets: S;
13
+ context: TRequestContext;
13
14
  };
14
15
  /**
15
16
  * Loaded plugin with static binding property
16
17
  */
17
- interface LoadedPluginWithBinding<TContract extends AnyContractRouter, TVariables extends AnySchema, TSecrets extends AnySchema, TContext extends Context$1 = Record<never, never>> {
18
- new (): Plugin<TContract, TVariables, TSecrets, TContext>;
18
+ interface LoadedPluginWithBinding<TContract extends AnyContractRouter, TVariables extends AnySchema, TSecrets extends AnySchema, TRequestContext extends AnySchema, TDeps extends Context$1 = Record<never, never>> {
19
+ new (): Plugin<TContract, TVariables, TSecrets, TRequestContext, TDeps>;
19
20
  binding: {
20
21
  contract: TContract;
21
22
  variables: TVariables;
22
23
  secrets: TSecrets;
23
- context: TContext;
24
+ context: TRequestContext;
24
25
  };
25
26
  }
26
27
  /**
27
28
  * Plugin interface
28
29
  */
29
- interface Plugin<TContract extends AnyContractRouter, TVariables extends AnySchema, TSecrets extends AnySchema, TContext extends Context$1 = Record<never, never>> {
30
+ interface Plugin<TContract extends AnyContractRouter, TVariables extends AnySchema, TSecrets extends AnySchema, TRequestContext extends AnySchema, TDeps extends Context$1 = Record<never, never>> {
30
31
  readonly id: string;
31
32
  readonly contract: TContract;
32
- readonly configSchema: PluginConfigFor<TVariables, TSecrets>;
33
+ readonly configSchema: PluginConfigFor<TVariables, TSecrets, TRequestContext>;
33
34
  initialize(config: {
34
35
  variables: InferSchemaOutput<TVariables>;
35
36
  secrets: InferSchemaOutput<TSecrets>;
36
- }): Effect.Effect<TContext, unknown, Scope.Scope>;
37
+ }): Effect.Effect<TDeps, unknown, Scope.Scope>;
37
38
  shutdown(): Effect.Effect<void, never>;
38
39
  /**
39
40
  * Creates the strongly-typed oRPC router for this plugin.
40
41
  * The router's procedure types are inferred directly from the contract.
41
- * @param context The initialized plugin context
42
+ * @param deps The initialized plugin dependencies
42
43
  * @returns A router with procedures matching the plugin's contract
43
44
  */
44
- createRouter(context: TContext): Router<TContract, any>;
45
+ createRouter(deps: TDeps): Router<TContract, any>;
45
46
  }
46
47
  /**
47
48
  * Factory function to create plugins
48
49
  */
49
- declare function createPlugin<V extends AnySchema, S extends AnySchema, TContract extends AnyContractRouter, TContext extends Context$1 = Record<never, never>>(config: {
50
+ declare function createPlugin<V extends AnySchema, S extends AnySchema, TRequestContext extends AnySchema, TContract extends AnyContractRouter, TDeps extends Context$1 = Record<never, never>>(config: {
50
51
  variables: V;
51
52
  secrets: S;
53
+ context: TRequestContext;
52
54
  contract: TContract;
53
55
  initialize?: (config: {
54
56
  variables: InferSchemaOutput<V>;
55
57
  secrets: InferSchemaOutput<S>;
56
- }) => Effect.Effect<TContext, Error, Scope.Scope>;
57
- createRouter: (context: TContext, builder: Implementer<TContract, TContext, TContext>) => Router<TContract, any>;
58
- shutdown?: (ctx: TContext) => Effect.Effect<void, Error, never>;
59
- }): LoadedPluginWithBinding<TContract, V, S, TContext>;
58
+ }) => Effect.Effect<TDeps, Error, Scope.Scope>;
59
+ createRouter: (deps: TDeps, builder: Implementer<TContract, InferSchemaOutput<TRequestContext>, InferSchemaOutput<TRequestContext>>) => Router<TContract, any>;
60
+ shutdown?: (deps: TDeps) => Effect.Effect<void, Error, never>;
61
+ }): LoadedPluginWithBinding<TContract, V, S, TRequestContext, TDeps>;
60
62
  //#endregion
61
63
  export { LoadedPluginWithBinding, Plugin, PluginConfigFor, createPlugin };
62
64
  //# sourceMappingURL=plugin.d.cts.map