every-plugin 0.8.3 → 0.8.4
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.
- package/dist/errors.cjs +105 -79
- package/dist/errors.cjs.map +1 -1
- package/dist/errors.d.cts +164 -5
- package/dist/errors.d.cts.map +1 -1
- package/dist/errors.d.mts +164 -5
- package/dist/errors.d.mts.map +1 -1
- package/dist/errors.mjs +97 -81
- package/dist/errors.mjs.map +1 -1
- package/dist/index.cjs +10 -0
- package/dist/index.d.cts +3 -3
- package/dist/index.d.mts +3 -3
- package/dist/index.mjs +3 -3
- package/dist/package.cjs +1 -1
- package/dist/package.cjs.map +1 -1
- package/dist/package.mjs +1 -1
- package/dist/package.mjs.map +1 -1
- package/dist/plugin.cjs +3 -0
- package/dist/plugin.cjs.map +1 -1
- package/dist/plugin.d.cts.map +1 -1
- package/dist/plugin.d.mts.map +1 -1
- package/dist/plugin.mjs +4 -1
- package/dist/plugin.mjs.map +1 -1
- package/dist/runtime/errors.cjs +19 -0
- package/dist/runtime/errors.cjs.map +1 -1
- package/dist/runtime/errors.d.cts +11 -5
- package/dist/runtime/errors.d.cts.map +1 -1
- package/dist/runtime/errors.d.mts +11 -5
- package/dist/runtime/errors.d.mts.map +1 -1
- package/dist/runtime/errors.mjs +20 -2
- package/dist/runtime/errors.mjs.map +1 -1
- package/package.json +1 -1
package/dist/errors.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { zod_exports } from "./zod.mjs";
|
|
2
|
-
import { ModuleFederationError, PluginRuntimeError, ValidationError, formatORPCError, isRetryableORPCCode, toPluginRuntimeError, wrapORPCError } from "./runtime/errors.mjs";
|
|
2
|
+
import { ModuleFederationError, PluginRuntimeError, ValidationError, extractFromFiberFailure, formatORPCError, isRetryableORPCCode, toPluginRuntimeError, wrapORPCError } from "./runtime/errors.mjs";
|
|
3
3
|
|
|
4
4
|
//#region src/errors.ts
|
|
5
5
|
/**
|
|
@@ -33,96 +33,112 @@ const ERROR_PATTERNS = {
|
|
|
33
33
|
};
|
|
34
34
|
/**
|
|
35
35
|
* Common error schemas for plugin contracts.
|
|
36
|
-
* Import
|
|
36
|
+
* Import individually or use the grouped PluginErrors export.
|
|
37
37
|
*
|
|
38
38
|
* @example
|
|
39
39
|
* ```typescript
|
|
40
|
-
* import {
|
|
40
|
+
* import { NOT_FOUND, FORBIDDEN, UNAUTHORIZED } from "every-plugin/errors";
|
|
41
41
|
*
|
|
42
42
|
* export const contract = oc.router({
|
|
43
43
|
* getData: oc.route(...)
|
|
44
|
-
* .errors(
|
|
44
|
+
* .errors({ NOT_FOUND, FORBIDDEN, UNAUTHORIZED })
|
|
45
45
|
* });
|
|
46
46
|
* ```
|
|
47
47
|
*/
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
})
|
|
60
|
-
},
|
|
61
|
-
RATE_LIMITED: {
|
|
62
|
-
status: 429,
|
|
63
|
-
data: zod_exports.z.object({
|
|
64
|
-
retryAfter: zod_exports.z.number().int().min(1),
|
|
65
|
-
remainingRequests: zod_exports.z.number().int().min(0).optional(),
|
|
66
|
-
resetTime: zod_exports.z.string().datetime().optional(),
|
|
67
|
-
limitType: zod_exports.z.enum([
|
|
68
|
-
"requests",
|
|
69
|
-
"tokens",
|
|
70
|
-
"bandwidth"
|
|
71
|
-
]).optional()
|
|
72
|
-
})
|
|
73
|
-
},
|
|
74
|
-
SERVICE_UNAVAILABLE: {
|
|
75
|
-
status: 503,
|
|
76
|
-
data: zod_exports.z.object({
|
|
77
|
-
retryAfter: zod_exports.z.number().int().optional(),
|
|
78
|
-
maintenanceWindow: zod_exports.z.boolean().default(false),
|
|
79
|
-
estimatedUptime: zod_exports.z.string().datetime().optional()
|
|
80
|
-
})
|
|
81
|
-
},
|
|
82
|
-
BAD_REQUEST: {
|
|
83
|
-
status: 400,
|
|
84
|
-
data: zod_exports.z.object({
|
|
85
|
-
invalidFields: zod_exports.z.array(zod_exports.z.string()).optional(),
|
|
86
|
-
validationErrors: zod_exports.z.array(zod_exports.z.object({
|
|
87
|
-
field: zod_exports.z.string(),
|
|
88
|
-
message: zod_exports.z.string(),
|
|
89
|
-
code: zod_exports.z.string().optional()
|
|
90
|
-
})).optional()
|
|
91
|
-
})
|
|
92
|
-
},
|
|
93
|
-
NOT_FOUND: {
|
|
94
|
-
status: 404,
|
|
95
|
-
data: zod_exports.z.object({
|
|
96
|
-
resource: zod_exports.z.string().optional(),
|
|
97
|
-
resourceId: zod_exports.z.string().optional()
|
|
98
|
-
})
|
|
99
|
-
},
|
|
100
|
-
FORBIDDEN: {
|
|
101
|
-
status: 403,
|
|
102
|
-
data: zod_exports.z.object({
|
|
103
|
-
requiredPermissions: zod_exports.z.array(zod_exports.z.string()).optional(),
|
|
104
|
-
action: zod_exports.z.string().optional()
|
|
105
|
-
})
|
|
106
|
-
},
|
|
107
|
-
TIMEOUT: {
|
|
108
|
-
status: 504,
|
|
109
|
-
data: zod_exports.z.object({
|
|
110
|
-
timeoutMs: zod_exports.z.number().int().min(0).optional(),
|
|
111
|
-
operation: zod_exports.z.string().optional(),
|
|
112
|
-
retryable: zod_exports.z.boolean().default(true)
|
|
113
|
-
})
|
|
114
|
-
},
|
|
115
|
-
CONNECTION_ERROR: {
|
|
116
|
-
status: 502,
|
|
117
|
-
data: zod_exports.z.object({
|
|
118
|
-
errorCode: zod_exports.z.string().optional(),
|
|
119
|
-
host: zod_exports.z.string().optional(),
|
|
120
|
-
port: zod_exports.z.number().int().optional(),
|
|
121
|
-
suggestion: zod_exports.z.string().optional()
|
|
122
|
-
})
|
|
123
|
-
}
|
|
48
|
+
const 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
|
+
})
|
|
124
59
|
};
|
|
60
|
+
const 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
|
+
const 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
|
+
const 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
|
+
const 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
|
+
const 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
|
+
const 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
|
+
const 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
|
+
};
|
|
123
|
+
/**
|
|
124
|
+
* Grouped export for all plugin errors.
|
|
125
|
+
* Use individual imports for cleaner code.
|
|
126
|
+
*/
|
|
127
|
+
const PluginErrors = {
|
|
128
|
+
UNAUTHORIZED,
|
|
129
|
+
RATE_LIMITED,
|
|
130
|
+
SERVICE_UNAVAILABLE,
|
|
131
|
+
BAD_REQUEST,
|
|
132
|
+
NOT_FOUND,
|
|
133
|
+
FORBIDDEN,
|
|
134
|
+
TIMEOUT,
|
|
135
|
+
CONNECTION_ERROR
|
|
136
|
+
};
|
|
137
|
+
/**
|
|
138
|
+
* @deprecated Use individual imports or PluginErrors instead
|
|
139
|
+
*/
|
|
140
|
+
const CommonPluginErrors = PluginErrors;
|
|
125
141
|
|
|
126
142
|
//#endregion
|
|
127
|
-
export { CommonPluginErrors, ERROR_PATTERNS, ModuleFederationError, PluginRuntimeError, ValidationError, formatORPCError, isRetryableORPCCode, toPluginRuntimeError, wrapORPCError };
|
|
143
|
+
export { BAD_REQUEST, CONNECTION_ERROR, CommonPluginErrors, ERROR_PATTERNS, FORBIDDEN, ModuleFederationError, NOT_FOUND, PluginErrors, PluginRuntimeError, RATE_LIMITED, SERVICE_UNAVAILABLE, TIMEOUT, UNAUTHORIZED, ValidationError, extractFromFiberFailure, formatORPCError, isRetryableORPCCode, toPluginRuntimeError, wrapORPCError };
|
|
128
144
|
//# sourceMappingURL=errors.mjs.map
|
package/dist/errors.mjs.map
CHANGED
|
@@ -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
|
|
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 individually or use the grouped PluginErrors export.\n *\n * @example\n * ```typescript\n * import { NOT_FOUND, FORBIDDEN, UNAUTHORIZED } from \"every-plugin/errors\";\n *\n * export const contract = oc.router({\n * getData: oc.route(...)\n * .errors({ NOT_FOUND, FORBIDDEN, UNAUTHORIZED })\n * });\n * ```\n */\n\nexport const UNAUTHORIZED = {\n\tstatus: 401,\n\tdata: z.object({\n\t\tapiKeyProvided: z.boolean(),\n\t\tprovider: z.string().optional(),\n\t\tauthType: z.enum(['apiKey', 'oauth', 'token']).optional(),\n\t})\n} as const;\n\nexport const RATE_LIMITED = {\n\tstatus: 429,\n\tdata: z.object({\n\t\tretryAfter: z.number().int().min(1),\n\t\tremainingRequests: z.number().int().min(0).optional(),\n\t\tresetTime: z.string().datetime().optional(),\n\t\tlimitType: z.enum(['requests', 'tokens', 'bandwidth']).optional(),\n\t})\n} as const;\n\nexport const SERVICE_UNAVAILABLE = {\n\tstatus: 503,\n\tdata: z.object({\n\t\tretryAfter: z.number().int().optional(),\n\t\tmaintenanceWindow: z.boolean().default(false),\n\t\testimatedUptime: z.string().datetime().optional(),\n\t})\n} as const;\n\nexport const BAD_REQUEST = {\n\tstatus: 400,\n\tdata: z.object({\n\t\tinvalidFields: z.array(z.string()).optional(),\n\t\tvalidationErrors: z.array(z.object({\n\t\t\tfield: z.string(),\n\t\t\tmessage: z.string(),\n\t\t\tcode: z.string().optional(),\n\t\t})).optional(),\n\t})\n} as const;\n\nexport const NOT_FOUND = {\n\tstatus: 404,\n\tdata: z.object({\n\t\tresource: z.string().optional(),\n\t\tresourceId: z.string().optional(),\n\t})\n} as const;\n\nexport const FORBIDDEN = {\n\tstatus: 403,\n\tdata: z.object({\n\t\trequiredPermissions: z.array(z.string()).optional(),\n\t\taction: z.string().optional(),\n\t})\n} as const;\n\nexport const TIMEOUT = {\n\tstatus: 504,\n\tdata: z.object({\n\t\ttimeoutMs: z.number().int().min(0).optional(),\n\t\toperation: z.string().optional(),\n\t\tretryable: z.boolean().default(true),\n\t})\n} as const;\n\nexport const CONNECTION_ERROR = {\n\tstatus: 502,\n\tdata: z.object({\n\t\terrorCode: z.string().optional(),\n\t\thost: z.string().optional(),\n\t\tport: z.number().int().optional(),\n\t\tsuggestion: z.string().optional(),\n\t})\n} as const;\n\n/**\n * Grouped export for all plugin errors.\n * Use individual imports for cleaner code.\n */\nexport const PluginErrors = {\n\tUNAUTHORIZED,\n\tRATE_LIMITED,\n\tSERVICE_UNAVAILABLE,\n\tBAD_REQUEST,\n\tNOT_FOUND,\n\tFORBIDDEN,\n\tTIMEOUT,\n\tCONNECTION_ERROR,\n} as const;\n\n/**\n * @deprecated Use individual imports or PluginErrors instead\n */\nexport const CommonPluginErrors = PluginErrors;\n\nexport {\n\tformatORPCError,\n\tisRetryableORPCCode,\n\twrapORPCError,\n\ttoPluginRuntimeError,\n\textractFromFiberFailure,\n\tPluginRuntimeError,\n\tModuleFederationError,\n\tValidationError,\n} from \"./runtime/errors\";\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;;;;;;;;;;;;;;;AAiBD,MAAa,eAAe;CAC3B,QAAQ;CACR,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;CACF;AAED,MAAa,eAAe;CAC3B,QAAQ;CACR,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;CACF;AAED,MAAa,sBAAsB;CAClC,QAAQ;CACR,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;CACF;AAED,MAAa,cAAc;CAC1B,QAAQ;CACR,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;CACF;AAED,MAAa,YAAY;CACxB,QAAQ;CACR,MAAMA,cAAE,OAAO;EACd,UAAUA,cAAE,QAAQ,CAAC,UAAU;EAC/B,YAAYA,cAAE,QAAQ,CAAC,UAAU;EACjC,CAAC;CACF;AAED,MAAa,YAAY;CACxB,QAAQ;CACR,MAAMA,cAAE,OAAO;EACd,qBAAqBA,cAAE,MAAMA,cAAE,QAAQ,CAAC,CAAC,UAAU;EACnD,QAAQA,cAAE,QAAQ,CAAC,UAAU;EAC7B,CAAC;CACF;AAED,MAAa,UAAU;CACtB,QAAQ;CACR,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;CACF;AAED,MAAa,mBAAmB;CAC/B,QAAQ;CACR,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;CACF;;;;;AAMD,MAAa,eAAe;CAC3B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;;;;AAKD,MAAa,qBAAqB"}
|
package/dist/index.cjs
CHANGED
|
@@ -4,14 +4,24 @@ const require_plugin = require('./plugin.cjs');
|
|
|
4
4
|
const require_runtime_services_normalize = require('./runtime/services/normalize.cjs');
|
|
5
5
|
const require_runtime_index = require('./runtime/index.cjs');
|
|
6
6
|
|
|
7
|
+
exports.BAD_REQUEST = require_errors$1.BAD_REQUEST;
|
|
8
|
+
exports.CONNECTION_ERROR = require_errors$1.CONNECTION_ERROR;
|
|
7
9
|
exports.CommonPluginErrors = require_errors$1.CommonPluginErrors;
|
|
8
10
|
exports.ERROR_PATTERNS = require_errors$1.ERROR_PATTERNS;
|
|
11
|
+
exports.FORBIDDEN = require_errors$1.FORBIDDEN;
|
|
9
12
|
exports.ModuleFederationError = require_errors.ModuleFederationError;
|
|
13
|
+
exports.NOT_FOUND = require_errors$1.NOT_FOUND;
|
|
14
|
+
exports.PluginErrors = require_errors$1.PluginErrors;
|
|
10
15
|
exports.PluginRuntime = require_runtime_index.PluginRuntime;
|
|
11
16
|
exports.PluginRuntimeError = require_errors.PluginRuntimeError;
|
|
17
|
+
exports.RATE_LIMITED = require_errors$1.RATE_LIMITED;
|
|
18
|
+
exports.SERVICE_UNAVAILABLE = require_errors$1.SERVICE_UNAVAILABLE;
|
|
19
|
+
exports.TIMEOUT = require_errors$1.TIMEOUT;
|
|
20
|
+
exports.UNAUTHORIZED = require_errors$1.UNAUTHORIZED;
|
|
12
21
|
exports.ValidationError = require_errors.ValidationError;
|
|
13
22
|
exports.createPlugin = require_plugin.createPlugin;
|
|
14
23
|
exports.createPluginRuntime = require_runtime_index.createPluginRuntime;
|
|
24
|
+
exports.extractFromFiberFailure = require_errors.extractFromFiberFailure;
|
|
15
25
|
exports.formatORPCError = require_errors.formatORPCError;
|
|
16
26
|
exports.getNormalizedRemoteName = require_runtime_services_normalize.getNormalizedRemoteName;
|
|
17
27
|
exports.isRetryableORPCCode = require_errors.isRetryableORPCCode;
|
package/dist/index.d.cts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ModuleFederationError, PluginRuntimeError, ValidationError, formatORPCError, isRetryableORPCCode, toPluginRuntimeError, wrapORPCError } from "./runtime/errors.cjs";
|
|
2
|
-
import { CommonPluginErrors, ERROR_PATTERNS } from "./errors.cjs";
|
|
1
|
+
import { ModuleFederationError, PluginRuntimeError, ValidationError, extractFromFiberFailure, formatORPCError, isRetryableORPCCode, toPluginRuntimeError, wrapORPCError } from "./runtime/errors.cjs";
|
|
2
|
+
import { BAD_REQUEST, CONNECTION_ERROR, CommonPluginErrors, ERROR_PATTERNS, FORBIDDEN, NOT_FOUND, PluginErrors, RATE_LIMITED, SERVICE_UNAVAILABLE, TIMEOUT, UNAUTHORIZED } from "./errors.cjs";
|
|
3
3
|
import { LoadedPluginWithBinding, Plugin, PluginConfigFor, createPlugin } from "./plugin.cjs";
|
|
4
4
|
import { AnyPlugin, EveryPlugin, InitializedPlugin, LoadedPlugin, PluginClientType, PluginConfigInput, PluginContext, PluginContract, PluginInstance, PluginMetadata, PluginRegistry, PluginRouterType, PluginRuntimeConfig, PluginSecrets, PluginVariables, RegisteredPlugins, SecretsConfig } from "./types.cjs";
|
|
5
5
|
import { PluginRuntime, createPluginRuntime } from "./runtime/index.cjs";
|
|
6
6
|
import { getNormalizedRemoteName } from "./runtime/services/normalize.cjs";
|
|
7
|
-
export { type AnyPlugin, CommonPluginErrors, ERROR_PATTERNS, type EveryPlugin, type InitializedPlugin, type LoadedPlugin, LoadedPluginWithBinding, ModuleFederationError, Plugin, type PluginClientType, PluginConfigFor, type PluginConfigInput, type PluginContext, type PluginContract, type PluginInstance, type PluginMetadata, type PluginRegistry, type PluginRouterType, PluginRuntime, type PluginRuntimeConfig, PluginRuntimeError, type PluginSecrets, type PluginVariables, type RegisteredPlugins, type SecretsConfig, ValidationError, createPlugin, createPluginRuntime, formatORPCError, getNormalizedRemoteName, isRetryableORPCCode, toPluginRuntimeError, wrapORPCError };
|
|
7
|
+
export { type AnyPlugin, BAD_REQUEST, CONNECTION_ERROR, CommonPluginErrors, ERROR_PATTERNS, type EveryPlugin, FORBIDDEN, type InitializedPlugin, type LoadedPlugin, LoadedPluginWithBinding, ModuleFederationError, NOT_FOUND, Plugin, type PluginClientType, PluginConfigFor, type PluginConfigInput, type PluginContext, type PluginContract, PluginErrors, type PluginInstance, type PluginMetadata, type PluginRegistry, type PluginRouterType, PluginRuntime, type PluginRuntimeConfig, PluginRuntimeError, type PluginSecrets, type PluginVariables, RATE_LIMITED, type RegisteredPlugins, SERVICE_UNAVAILABLE, type SecretsConfig, TIMEOUT, UNAUTHORIZED, ValidationError, createPlugin, createPluginRuntime, extractFromFiberFailure, formatORPCError, getNormalizedRemoteName, isRetryableORPCCode, toPluginRuntimeError, wrapORPCError };
|
package/dist/index.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ModuleFederationError, PluginRuntimeError, ValidationError, formatORPCError, isRetryableORPCCode, toPluginRuntimeError, wrapORPCError } from "./runtime/errors.mjs";
|
|
2
|
-
import { CommonPluginErrors, ERROR_PATTERNS } from "./errors.mjs";
|
|
1
|
+
import { ModuleFederationError, PluginRuntimeError, ValidationError, extractFromFiberFailure, formatORPCError, isRetryableORPCCode, toPluginRuntimeError, wrapORPCError } from "./runtime/errors.mjs";
|
|
2
|
+
import { BAD_REQUEST, CONNECTION_ERROR, CommonPluginErrors, ERROR_PATTERNS, FORBIDDEN, NOT_FOUND, PluginErrors, RATE_LIMITED, SERVICE_UNAVAILABLE, TIMEOUT, UNAUTHORIZED } from "./errors.mjs";
|
|
3
3
|
import { LoadedPluginWithBinding, Plugin, PluginConfigFor, createPlugin } from "./plugin.mjs";
|
|
4
4
|
import { AnyPlugin, EveryPlugin, InitializedPlugin, LoadedPlugin, PluginClientType, PluginConfigInput, PluginContext, PluginContract, PluginInstance, PluginMetadata, PluginRegistry, PluginRouterType, PluginRuntimeConfig, PluginSecrets, PluginVariables, RegisteredPlugins, SecretsConfig } from "./types.mjs";
|
|
5
5
|
import { PluginRuntime, createPluginRuntime } from "./runtime/index.mjs";
|
|
6
6
|
import { getNormalizedRemoteName } from "./runtime/services/normalize.mjs";
|
|
7
|
-
export { type AnyPlugin, CommonPluginErrors, ERROR_PATTERNS, type EveryPlugin, type InitializedPlugin, type LoadedPlugin, LoadedPluginWithBinding, ModuleFederationError, Plugin, type PluginClientType, PluginConfigFor, type PluginConfigInput, type PluginContext, type PluginContract, type PluginInstance, type PluginMetadata, type PluginRegistry, type PluginRouterType, PluginRuntime, type PluginRuntimeConfig, PluginRuntimeError, type PluginSecrets, type PluginVariables, type RegisteredPlugins, type SecretsConfig, ValidationError, createPlugin, createPluginRuntime, formatORPCError, getNormalizedRemoteName, isRetryableORPCCode, toPluginRuntimeError, wrapORPCError };
|
|
7
|
+
export { type AnyPlugin, BAD_REQUEST, CONNECTION_ERROR, CommonPluginErrors, ERROR_PATTERNS, type EveryPlugin, FORBIDDEN, type InitializedPlugin, type LoadedPlugin, LoadedPluginWithBinding, ModuleFederationError, NOT_FOUND, Plugin, type PluginClientType, PluginConfigFor, type PluginConfigInput, type PluginContext, type PluginContract, PluginErrors, type PluginInstance, type PluginMetadata, type PluginRegistry, type PluginRouterType, PluginRuntime, type PluginRuntimeConfig, PluginRuntimeError, type PluginSecrets, type PluginVariables, RATE_LIMITED, type RegisteredPlugins, SERVICE_UNAVAILABLE, type SecretsConfig, TIMEOUT, UNAUTHORIZED, ValidationError, createPlugin, createPluginRuntime, extractFromFiberFailure, formatORPCError, getNormalizedRemoteName, isRetryableORPCCode, toPluginRuntimeError, wrapORPCError };
|
package/dist/index.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ModuleFederationError, PluginRuntimeError, ValidationError, formatORPCError, isRetryableORPCCode, toPluginRuntimeError, wrapORPCError } from "./runtime/errors.mjs";
|
|
2
|
-
import { CommonPluginErrors, ERROR_PATTERNS } from "./errors.mjs";
|
|
1
|
+
import { ModuleFederationError, PluginRuntimeError, ValidationError, extractFromFiberFailure, formatORPCError, isRetryableORPCCode, toPluginRuntimeError, wrapORPCError } from "./runtime/errors.mjs";
|
|
2
|
+
import { BAD_REQUEST, CONNECTION_ERROR, CommonPluginErrors, ERROR_PATTERNS, FORBIDDEN, NOT_FOUND, PluginErrors, RATE_LIMITED, SERVICE_UNAVAILABLE, TIMEOUT, UNAUTHORIZED } from "./errors.mjs";
|
|
3
3
|
import { createPlugin } from "./plugin.mjs";
|
|
4
4
|
import { getNormalizedRemoteName } from "./runtime/services/normalize.mjs";
|
|
5
5
|
import { PluginRuntime, createPluginRuntime } from "./runtime/index.mjs";
|
|
6
6
|
|
|
7
|
-
export { CommonPluginErrors, ERROR_PATTERNS, ModuleFederationError, PluginRuntime, PluginRuntimeError, ValidationError, createPlugin, createPluginRuntime, formatORPCError, getNormalizedRemoteName, isRetryableORPCCode, toPluginRuntimeError, wrapORPCError };
|
|
7
|
+
export { BAD_REQUEST, CONNECTION_ERROR, CommonPluginErrors, ERROR_PATTERNS, FORBIDDEN, ModuleFederationError, NOT_FOUND, PluginErrors, PluginRuntime, PluginRuntimeError, RATE_LIMITED, SERVICE_UNAVAILABLE, TIMEOUT, UNAUTHORIZED, ValidationError, createPlugin, createPluginRuntime, extractFromFiberFailure, formatORPCError, getNormalizedRemoteName, isRetryableORPCCode, toPluginRuntimeError, wrapORPCError };
|
package/dist/package.cjs
CHANGED
package/dist/package.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package.cjs","names":[],"sources":["../package.json"],"sourcesContent":["{\n\t\"name\": \"every-plugin\",\n\t\"version\": \"0.8.
|
|
1
|
+
{"version":3,"file":"package.cjs","names":[],"sources":["../package.json"],"sourcesContent":["{\n\t\"name\": \"every-plugin\",\n\t\"version\": \"0.8.4\",\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.9.3\",\n\t\t\"effect\": \"^3.19.0\",\n\t\t\"zod\": \"^4.0.0\",\n\t\t\"@orpc/contract\": \"^1.12.0\",\n\t\t\"@orpc/server\": \"^1.12.0\"\n\t},\n\t\"devDependencies\": {\n\t\t\"@effect/language-service\": \"^0.62.3\",\n\t\t\"@effect/vitest\": \"^0.27.0\",\n\t\t\"@orpc/client\": \"^1.12.3\",\n\t\t\"@orpc/openapi\": \"^1.12.3\",\n\t\t\"@rspack/cli\": \"^1.6.7\",\n\t\t\"@types/bun\": \"^1.3.4\",\n\t\t\"@types/node\": \"^25.0.2\",\n\t\t\"@vitest/ui\": \"4.0.16\",\n\t\t\"bun-types\": \"^1.3.4\",\n\t\t\"sirv\": \"^3.0.2\",\n\t\t\"tsdown\": \"^0.18.0\",\n\t\t\"vite-tsconfig-paths\": \"^6.0.1\",\n\t\t\"vitest\": \"^4.0.16\"\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.3\",\n\t\t\"@orpc/experimental-publisher\": \"^1.12.3\",\n\t\t\"@orpc/server\": \"^1.12.3\",\n\t\t\"@orpc/zod\": \"^1.12.3\",\n\t\t\"effect\": \"3.19.12\",\n\t\t\"zod\": \"4.2.1\"\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;mBAoIK;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
package/dist/package.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package.mjs","names":[],"sources":["../package.json"],"sourcesContent":["{\n\t\"name\": \"every-plugin\",\n\t\"version\": \"0.8.
|
|
1
|
+
{"version":3,"file":"package.mjs","names":[],"sources":["../package.json"],"sourcesContent":["{\n\t\"name\": \"every-plugin\",\n\t\"version\": \"0.8.4\",\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.9.3\",\n\t\t\"effect\": \"^3.19.0\",\n\t\t\"zod\": \"^4.0.0\",\n\t\t\"@orpc/contract\": \"^1.12.0\",\n\t\t\"@orpc/server\": \"^1.12.0\"\n\t},\n\t\"devDependencies\": {\n\t\t\"@effect/language-service\": \"^0.62.3\",\n\t\t\"@effect/vitest\": \"^0.27.0\",\n\t\t\"@orpc/client\": \"^1.12.3\",\n\t\t\"@orpc/openapi\": \"^1.12.3\",\n\t\t\"@rspack/cli\": \"^1.6.7\",\n\t\t\"@types/bun\": \"^1.3.4\",\n\t\t\"@types/node\": \"^25.0.2\",\n\t\t\"@vitest/ui\": \"4.0.16\",\n\t\t\"bun-types\": \"^1.3.4\",\n\t\t\"sirv\": \"^3.0.2\",\n\t\t\"tsdown\": \"^0.18.0\",\n\t\t\"vite-tsconfig-paths\": \"^6.0.1\",\n\t\t\"vitest\": \"^4.0.16\"\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.3\",\n\t\t\"@orpc/experimental-publisher\": \"^1.12.3\",\n\t\t\"@orpc/server\": \"^1.12.3\",\n\t\t\"@orpc/zod\": \"^1.12.3\",\n\t\t\"effect\": \"3.19.12\",\n\t\t\"zod\": \"4.2.1\"\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;mBAoIK;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,5 +1,6 @@
|
|
|
1
1
|
const require_rolldown_runtime = require('./_virtual/rolldown_runtime.cjs');
|
|
2
2
|
const require_errors = require('./runtime/errors.cjs');
|
|
3
|
+
let __orpc_contract = require("@orpc/contract");
|
|
3
4
|
let effect = require("effect");
|
|
4
5
|
let __orpc_server = require("@orpc/server");
|
|
5
6
|
|
|
@@ -32,6 +33,8 @@ function createPlugin(config) {
|
|
|
32
33
|
}
|
|
33
34
|
createRouter(deps) {
|
|
34
35
|
const base = __orpc_server.os.$context().use((0, __orpc_server.onError)((error) => {
|
|
36
|
+
const unwrapped = require_errors.extractFromFiberFailure(error);
|
|
37
|
+
if (unwrapped !== error && unwrapped instanceof __orpc_contract.ORPCError) throw unwrapped;
|
|
35
38
|
require_errors.formatORPCError(error);
|
|
36
39
|
}));
|
|
37
40
|
const builder = (0, __orpc_server.implement)(config.contract, base);
|
package/dist/plugin.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.cjs","names":["configSchema: PluginConfigFor<V, S, TRequestContext>","Effect","os"],"sources":["../src/plugin.ts"],"sourcesContent":["import type { AnyContractRouter, AnySchema, InferSchemaOutput } from \"@orpc/contract\";\nimport type { Context, Implementer, Router } from \"@orpc/server\";\nimport { implement, onError, os } from \"@orpc/server\";\nimport { Effect, type Scope } from \"effect\";\nimport { formatORPCError } from \"./runtime/errors\";\n\ntype ContextOutput<T> = T extends AnySchema ? InferSchemaOutput<T> : {};\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 | undefined> = {\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 | undefined,\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 | undefined,\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\tTContract extends AnyContractRouter,\n\tTRequestContext extends AnySchema | undefined = undefined,\n\tTDeps extends Context = Record<never, never>\n>(config: {\n\tvariables: V;\n\tsecrets: S;\n\tcontract: TContract;\n\tcontext?: TRequestContext;\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, ContextOutput<TRequestContext>, ContextOutput<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 as TRequestContext\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 base = os\n\t\t\t\t.$context<ContextOutput<TRequestContext>>()\n\t\t\t\t.use(onError((error) => {\n\t\t\t\t\tformatORPCError(error);\n\t\t\t\t}));\n\t\t\tconst builder = implement(config.contract, base);\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 as TRequestContext\n\t};\n\n\treturn PluginConstructor as LoadedPluginWithBinding<TContract, V, S, TRequestContext, TDeps>;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugin.cjs","names":["configSchema: PluginConfigFor<V, S, TRequestContext>","Effect","os","extractFromFiberFailure","ORPCError"],"sources":["../src/plugin.ts"],"sourcesContent":["import type { AnyContractRouter, AnySchema, InferSchemaOutput } from \"@orpc/contract\";\nimport type { Context, Implementer, Router } from \"@orpc/server\";\nimport { ORPCError } from \"@orpc/contract\";\nimport { implement, onError, os } from \"@orpc/server\";\nimport { Effect, type Scope } from \"effect\";\nimport { extractFromFiberFailure, formatORPCError } from \"./runtime/errors\";\n\ntype ContextOutput<T> = T extends AnySchema ? InferSchemaOutput<T> : {};\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 | undefined> = {\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 | undefined,\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 | undefined,\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\tTContract extends AnyContractRouter,\n\tTRequestContext extends AnySchema | undefined = undefined,\n\tTDeps extends Context = Record<never, never>\n>(config: {\n\tvariables: V;\n\tsecrets: S;\n\tcontract: TContract;\n\tcontext?: TRequestContext;\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, ContextOutput<TRequestContext>, ContextOutput<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 as TRequestContext\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 base = os\n\t\t\t\t.$context<ContextOutput<TRequestContext>>()\n\t\t\t\t.use(onError((error) => {\n\t\t\t\t\tconst unwrapped = extractFromFiberFailure(error);\n\t\t\t\t\t\n\t\t\t\t\tif (unwrapped !== error && unwrapped instanceof ORPCError) {\n\t\t\t\t\t\tthrow unwrapped;\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tformatORPCError(error);\n\t\t\t\t}));\n\t\t\tconst builder = implement(config.contract, base);\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 as TRequestContext\n\t};\n\n\treturn PluginConstructor as LoadedPluginWithBinding<TContract, V, S, TRequestContext, TDeps>;\n}\n"],"mappings":";;;;;;;;;;AAsEA,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,OAAOC,iBACX,UAA0C,CAC1C,gCAAa,UAAU;IACvB,MAAM,YAAYC,uCAAwB,MAAM;AAEhD,QAAI,cAAc,SAAS,qBAAqBC,0BAC/C,OAAM;AAGP,mCAAgB,MAAM;KACrB,CAAC;GACJ,MAAM,uCAAoB,OAAO,UAAU,KAAK;AAEhD,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.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.cts","names":[],"sources":["../src/plugin.ts"],"sourcesContent":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"plugin.d.cts","names":[],"sources":["../src/plugin.ts"],"sourcesContent":[],"mappings":"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"}
|
package/dist/plugin.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.mts","names":[],"sources":["../src/plugin.ts"],"sourcesContent":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"plugin.d.mts","names":[],"sources":["../src/plugin.ts"],"sourcesContent":[],"mappings":"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"}
|
package/dist/plugin.mjs
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { formatORPCError } from "./runtime/errors.mjs";
|
|
1
|
+
import { extractFromFiberFailure, formatORPCError } from "./runtime/errors.mjs";
|
|
2
|
+
import { ORPCError } from "@orpc/contract";
|
|
2
3
|
import { Effect } from "effect";
|
|
3
4
|
import { implement, onError, os } from "@orpc/server";
|
|
4
5
|
|
|
@@ -31,6 +32,8 @@ function createPlugin(config) {
|
|
|
31
32
|
}
|
|
32
33
|
createRouter(deps) {
|
|
33
34
|
const base = os.$context().use(onError((error) => {
|
|
35
|
+
const unwrapped = extractFromFiberFailure(error);
|
|
36
|
+
if (unwrapped !== error && unwrapped instanceof ORPCError) throw unwrapped;
|
|
34
37
|
formatORPCError(error);
|
|
35
38
|
}));
|
|
36
39
|
const builder = implement(config.contract, base);
|
package/dist/plugin.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.mjs","names":["configSchema: PluginConfigFor<V, S, TRequestContext>"],"sources":["../src/plugin.ts"],"sourcesContent":["import type { AnyContractRouter, AnySchema, InferSchemaOutput } from \"@orpc/contract\";\nimport type { Context, Implementer, Router } from \"@orpc/server\";\nimport { implement, onError, os } from \"@orpc/server\";\nimport { Effect, type Scope } from \"effect\";\nimport { formatORPCError } from \"./runtime/errors\";\n\ntype ContextOutput<T> = T extends AnySchema ? InferSchemaOutput<T> : {};\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 | undefined> = {\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 | undefined,\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 | undefined,\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\tTContract extends AnyContractRouter,\n\tTRequestContext extends AnySchema | undefined = undefined,\n\tTDeps extends Context = Record<never, never>\n>(config: {\n\tvariables: V;\n\tsecrets: S;\n\tcontract: TContract;\n\tcontext?: TRequestContext;\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, ContextOutput<TRequestContext>, ContextOutput<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 as TRequestContext\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 base = os\n\t\t\t\t.$context<ContextOutput<TRequestContext>>()\n\t\t\t\t.use(onError((error) => {\n\t\t\t\t\tformatORPCError(error);\n\t\t\t\t}));\n\t\t\tconst builder = implement(config.contract, base);\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 as TRequestContext\n\t};\n\n\treturn PluginConstructor as LoadedPluginWithBinding<TContract, V, S, TRequestContext, TDeps>;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugin.mjs","names":["configSchema: PluginConfigFor<V, S, TRequestContext>"],"sources":["../src/plugin.ts"],"sourcesContent":["import type { AnyContractRouter, AnySchema, InferSchemaOutput } from \"@orpc/contract\";\nimport type { Context, Implementer, Router } from \"@orpc/server\";\nimport { ORPCError } from \"@orpc/contract\";\nimport { implement, onError, os } from \"@orpc/server\";\nimport { Effect, type Scope } from \"effect\";\nimport { extractFromFiberFailure, formatORPCError } from \"./runtime/errors\";\n\ntype ContextOutput<T> = T extends AnySchema ? InferSchemaOutput<T> : {};\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 | undefined> = {\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 | undefined,\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 | undefined,\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\tTContract extends AnyContractRouter,\n\tTRequestContext extends AnySchema | undefined = undefined,\n\tTDeps extends Context = Record<never, never>\n>(config: {\n\tvariables: V;\n\tsecrets: S;\n\tcontract: TContract;\n\tcontext?: TRequestContext;\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, ContextOutput<TRequestContext>, ContextOutput<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 as TRequestContext\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 base = os\n\t\t\t\t.$context<ContextOutput<TRequestContext>>()\n\t\t\t\t.use(onError((error) => {\n\t\t\t\t\tconst unwrapped = extractFromFiberFailure(error);\n\t\t\t\t\t\n\t\t\t\t\tif (unwrapped !== error && unwrapped instanceof ORPCError) {\n\t\t\t\t\t\tthrow unwrapped;\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tformatORPCError(error);\n\t\t\t\t}));\n\t\t\tconst builder = implement(config.contract, base);\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 as TRequestContext\n\t};\n\n\treturn PluginConstructor as LoadedPluginWithBinding<TContract, V, S, TRequestContext, TDeps>;\n}\n"],"mappings":";;;;;;;;;AAsEA,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,qBAAqB,OAAO,QAAQ,EAAE,CAAU,GAExD,aAAa,CAAC,KACzB,OAAO,KAAK,SAAS,OAAO,WAAW;AAAE,SAAK,QAAQ;KAAQ,CAAC,EAC/D,OAAO,UAAU,KAAK,MAAe,EACrC,OAAO,UAAU,UAAU,MAAiB,CAC5C;;EAGF,WAAuC;GACtC,MAAM,OAAO;AACb,UAAO,OAAO,IAAI,aAAa;AAC9B,QAAI,OAAO,YAAY,KAAK,MAC3B,QAAO,OAAO,SAAS,KAAK,MAAM,CAAC,KAClC,OAAO,eAAe,OAAO,KAAK,CAClC;KAED;;EAGH,aAAa,MAAqC;GACjD,MAAM,OAAO,GACX,UAA0C,CAC1C,IAAI,SAAS,UAAU;IACvB,MAAM,YAAY,wBAAwB,MAAM;AAEhD,QAAI,cAAc,SAAS,qBAAqB,UAC/C,OAAM;AAGP,oBAAgB,MAAM;KACrB,CAAC;GACJ,MAAM,UAAU,UAAU,OAAO,UAAU,KAAK;AAEhD,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/runtime/errors.cjs
CHANGED
|
@@ -166,6 +166,24 @@ const wrapORPCError = (orpcError, pluginId, procedureName, operation) => {
|
|
|
166
166
|
cause: orpcError
|
|
167
167
|
});
|
|
168
168
|
};
|
|
169
|
+
/**
|
|
170
|
+
* Extracts the underlying error from Effect's FiberFailure wrapper.
|
|
171
|
+
* When Effect.runPromise rejects, errors are wrapped in FiberFailure.
|
|
172
|
+
* This extracts the original error so oRPC can handle it properly.
|
|
173
|
+
*/
|
|
174
|
+
const extractFromFiberFailure = (error) => {
|
|
175
|
+
if (!error || typeof error !== "object") return error;
|
|
176
|
+
if ("cause" in error) {
|
|
177
|
+
const cause = error.cause;
|
|
178
|
+
if (cause && typeof cause === "object" && "_tag" in cause) try {
|
|
179
|
+
const squashed = effect.Cause.squash(cause);
|
|
180
|
+
if (squashed instanceof __orpc_contract.ORPCError) return squashed;
|
|
181
|
+
return squashed;
|
|
182
|
+
} catch {}
|
|
183
|
+
if (cause instanceof __orpc_contract.ORPCError) return cause;
|
|
184
|
+
}
|
|
185
|
+
return error;
|
|
186
|
+
};
|
|
169
187
|
const toPluginRuntimeError = (error, pluginId, procedureName, operation, defaultRetryable = false) => {
|
|
170
188
|
if (error instanceof __orpc_contract.ORPCError) return wrapORPCError(error, pluginId, procedureName, operation);
|
|
171
189
|
if (error instanceof PluginRuntimeError) return error;
|
|
@@ -185,6 +203,7 @@ const toPluginRuntimeError = (error, pluginId, procedureName, operation, default
|
|
|
185
203
|
exports.ModuleFederationError = ModuleFederationError;
|
|
186
204
|
exports.PluginRuntimeError = PluginRuntimeError;
|
|
187
205
|
exports.ValidationError = ValidationError;
|
|
206
|
+
exports.extractFromFiberFailure = extractFromFiberFailure;
|
|
188
207
|
exports.formatORPCError = formatORPCError;
|
|
189
208
|
exports.isRetryableORPCCode = isRetryableORPCCode;
|
|
190
209
|
exports.toPluginRuntimeError = toPluginRuntimeError;
|