every-plugin 0.8.2 → 0.8.3

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 (55) hide show
  1. package/dist/build/rspack/dev-server-middleware.cjs +3 -40
  2. package/dist/build/rspack/dev-server-middleware.cjs.map +1 -1
  3. package/dist/build/rspack/dev-server-middleware.mjs +3 -40
  4. package/dist/build/rspack/dev-server-middleware.mjs.map +1 -1
  5. package/dist/errors.cjs +8 -0
  6. package/dist/errors.cjs.map +1 -1
  7. package/dist/errors.d.cts +2 -2
  8. package/dist/errors.d.cts.map +1 -1
  9. package/dist/errors.d.mts +2 -2
  10. package/dist/errors.d.mts.map +1 -1
  11. package/dist/errors.mjs +2 -1
  12. package/dist/errors.mjs.map +1 -1
  13. package/dist/index.cjs +12 -4
  14. package/dist/index.d.cts +2 -1
  15. package/dist/index.d.mts +2 -1
  16. package/dist/index.mjs +2 -1
  17. package/dist/orpc.d.mts +1 -1
  18. package/dist/orpc.mjs +2 -2
  19. package/dist/package.cjs +7 -7
  20. package/dist/package.cjs.map +1 -1
  21. package/dist/package.mjs +7 -7
  22. package/dist/package.mjs.map +1 -1
  23. package/dist/plugin.cjs +6 -2
  24. package/dist/plugin.cjs.map +1 -1
  25. package/dist/plugin.d.cts.map +1 -1
  26. package/dist/plugin.d.mts +5 -5
  27. package/dist/plugin.d.mts.map +1 -1
  28. package/dist/plugin.mjs +6 -2
  29. package/dist/plugin.mjs.map +1 -1
  30. package/dist/runtime/errors.cjs +100 -5
  31. package/dist/runtime/errors.cjs.map +1 -1
  32. package/dist/runtime/errors.d.cts +15 -3
  33. package/dist/runtime/errors.d.cts.map +1 -1
  34. package/dist/runtime/errors.d.mts +13 -1
  35. package/dist/runtime/errors.d.mts.map +1 -1
  36. package/dist/runtime/errors.mjs +98 -6
  37. package/dist/runtime/errors.mjs.map +1 -1
  38. package/dist/runtime/index.cjs +1 -1
  39. package/dist/runtime/index.mjs +1 -1
  40. package/dist/runtime/services/module-federation.service.cjs +5 -0
  41. package/dist/runtime/services/module-federation.service.cjs.map +1 -1
  42. package/dist/runtime/services/module-federation.service.d.cts.map +1 -1
  43. package/dist/runtime/services/module-federation.service.d.mts.map +1 -1
  44. package/dist/runtime/services/module-federation.service.mjs +5 -0
  45. package/dist/runtime/services/module-federation.service.mjs.map +1 -1
  46. package/dist/runtime/services/plugin-lifecycle.service.d.cts +1 -1
  47. package/dist/runtime/services/plugin-lifecycle.service.d.mts +1 -1
  48. package/dist/runtime/services/plugin-loader.service.d.cts +1 -1
  49. package/dist/runtime/services/plugin-loader.service.d.mts +2 -2
  50. package/dist/runtime/services/plugin.service.d.cts +1 -1
  51. package/dist/runtime/services/plugin.service.d.mts +2 -2
  52. package/dist/runtime/services/secrets.service.d.cts +1 -1
  53. package/dist/runtime/services/secrets.service.d.mts +1 -1
  54. package/dist/types.d.mts +2 -2
  55. package/package.json +20 -16
@@ -37,6 +37,7 @@ function setupPluginMiddleware(devServer, pluginInfo, devConfig, port) {
37
37
  const { OpenAPIReferencePlugin } = await import("@orpc/openapi/plugins");
38
38
  const { ZodToJsonSchemaConverter } = await import("@orpc/zod/zod4");
39
39
  const { onError } = await Promise.resolve().then(() => require("../../orpc.cjs"));
40
+ const { formatORPCError } = await Promise.resolve().then(() => require("../../errors.cjs"));
40
41
  const pluginId = devConfig?.pluginId || pluginInfo.normalizedName;
41
42
  const runtime = createPluginRuntime({ registry: { [pluginId]: { remote: `http://localhost:${port}/remoteEntry.js` } } });
42
43
  const loaded = await runtime.usePlugin(pluginId, devConfig?.config);
@@ -47,51 +48,13 @@ function setupPluginMiddleware(devServer, pluginInfo, devConfig, port) {
47
48
  handlers.api = null;
48
49
  if (devServer.app.locals.handlers) devServer.app.locals.handlers = null;
49
50
  };
50
- const formatError = (error, context) => {
51
- const lines = [`\nšŸ”“ ${context} Error: ${error.message || "Unknown error"}`];
52
- if (error.cause?.issues && Array.isArray(error.cause.issues)) {
53
- lines.push("\nšŸ“‹ Validation Issues:");
54
- error.cause.issues.forEach((issue, index) => {
55
- lines.push(` ${index + 1}. ${issue.path?.join(".") || "root"}`);
56
- lines.push(` ā”œā”€ Code: ${issue.code || "unknown"}`);
57
- lines.push(` ā”œā”€ Message: ${issue.message || "No message"}`);
58
- if (issue.expected !== void 0) lines.push(` ā”œā”€ Expected: ${JSON.stringify(issue.expected)}`);
59
- if (issue.received !== void 0) lines.push(` └─ Received: ${JSON.stringify(issue.received)}`);
60
- else lines.push(` └─ (end)`);
61
- });
62
- }
63
- if (error.data && typeof error.data === "object" && Object.keys(error.data).length > 0) {
64
- lines.push("\nšŸ“Š Error Data:");
65
- try {
66
- JSON.stringify(error.data, null, 2).split("\n").forEach((line) => {
67
- lines.push(` ${line}`);
68
- });
69
- } catch {
70
- lines.push(` ${String(error.data)}`);
71
- }
72
- }
73
- if (error.cause?.data) {
74
- lines.push("\nšŸ“¦ Request Data:");
75
- try {
76
- JSON.stringify(error.cause.data, null, 2).split("\n").forEach((line) => {
77
- lines.push(` ${line}`);
78
- });
79
- } catch {
80
- lines.push(` ${String(error.cause.data)}`);
81
- }
82
- }
83
- if (error.code) lines.push(`\nāš ļø Error Code: ${error.code}`);
84
- if (error.status) lines.push(`šŸ“ Status: ${error.status}`);
85
- lines.push("");
86
- console.error(lines.join("\n"));
87
- };
88
51
  handlers.rpc = new RPCHandler(loaded.router, { interceptors: [onError((error) => {
89
- formatError(error, "RPC");
52
+ formatORPCError(error);
90
53
  })] });
91
54
  handlers.api = new OpenAPIHandler(loaded.router, {
92
55
  plugins: [new OpenAPIReferencePlugin({ schemaConverters: [new ZodToJsonSchemaConverter()] })],
93
56
  interceptors: [onError((error) => {
94
- formatError(error, "OpenAPI");
57
+ formatORPCError(error);
95
58
  })]
96
59
  });
97
60
  console.log(`╭─────────────────────────────────────────────`);
@@ -1 +1 @@
1
- {"version":3,"file":"dev-server-middleware.cjs","names":["handlers: { rpc: any, api: any }","cleanup: (() => Promise<void>) | null","lines: string[]"],"sources":["../../../src/build/rspack/dev-server-middleware.ts"],"sourcesContent":["import type { PluginInfo } from './utils';\n\nconst corsHeaders = {\n 'Access-Control-Allow-Origin': '*',\n 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, PATCH, OPTIONS',\n 'Access-Control-Allow-Headers': 'X-Requested-With, content-type, Authorization'\n};\n\nconst applyCorsHeaders = (res: any) => {\n Object.entries(corsHeaders).forEach(([key, value]) => {\n res.setHeader(key, value);\n });\n};\n\nconst normalizePrefix = (prefix?: string): string => {\n if (!prefix) return '';\n const cleaned = prefix.replace(/^\\/+|\\/+$/g, '');\n return cleaned ? `/${cleaned}` : '';\n};\n\nexport function setupPluginMiddleware(devServer: any, pluginInfo: PluginInfo, devConfig: any, port: number) {\n const rpcPrefix = normalizePrefix(devConfig?.prefix);\n let handlers: { rpc: any, api: any } = { rpc: null, api: null };\n let cleanup: (() => Promise<void>) | null = null;\n\n const performCleanup = async () => {\n if (cleanup) {\n await cleanup();\n cleanup = null;\n }\n };\n\n (async () => {\n await performCleanup();\n\n try {\n const { createPluginRuntime } = await import('every-plugin');\n const { RPCHandler } = await import('@orpc/server/fetch');\n const { OpenAPIHandler } = await import('@orpc/openapi/fetch');\n const { OpenAPIReferencePlugin } = await import('@orpc/openapi/plugins');\n const { ZodToJsonSchemaConverter } = await import('@orpc/zod/zod4');\n const { onError } = await import('every-plugin/orpc');\n\n\n const pluginId = devConfig?.pluginId || pluginInfo.normalizedName;\n\n const runtime = createPluginRuntime({\n registry: {\n [pluginId]: {\n remote: `http://localhost:${port}/remoteEntry.js`\n }\n }\n });\n\n // @ts-expect-error we don't know the plugin id\n const loaded = await runtime.usePlugin(pluginId, devConfig?.config);\n\n cleanup = async () => {\n if (loaded && typeof (loaded as any).dispose === 'function') {\n await (loaded as any).dispose();\n }\n if (runtime && typeof (runtime as any).cleanup === 'function') {\n await (runtime as any).cleanup();\n }\n handlers.rpc = null;\n handlers.api = null;\n if (devServer.app.locals.handlers) {\n devServer.app.locals.handlers = null;\n }\n };\n\n const formatError = (error: any, context: string) => {\n const lines: string[] = [`\\nšŸ”“ ${context} Error: ${error.message || 'Unknown error'}`];\n\n if (error.cause?.issues && Array.isArray(error.cause.issues)) {\n lines.push('\\nšŸ“‹ Validation Issues:');\n error.cause.issues.forEach((issue: any, index: number) => {\n lines.push(` ${index + 1}. ${issue.path?.join('.') || 'root'}`);\n lines.push(` ā”œā”€ Code: ${issue.code || 'unknown'}`);\n lines.push(` ā”œā”€ Message: ${issue.message || 'No message'}`);\n if (issue.expected !== undefined) {\n lines.push(` ā”œā”€ Expected: ${JSON.stringify(issue.expected)}`);\n }\n if (issue.received !== undefined) {\n lines.push(` └─ Received: ${JSON.stringify(issue.received)}`);\n } else {\n lines.push(` └─ (end)`);\n }\n });\n }\n\n if (error.data && typeof error.data === 'object' && Object.keys(error.data).length > 0) {\n lines.push('\\nšŸ“Š Error Data:');\n try {\n const dataStr = JSON.stringify(error.data, null, 2);\n dataStr.split('\\n').forEach(line => {\n lines.push(` ${line}`);\n });\n } catch {\n lines.push(` ${String(error.data)}`);\n }\n }\n\n if (error.cause?.data) {\n lines.push('\\nšŸ“¦ Request Data:');\n try {\n const dataStr = JSON.stringify(error.cause.data, null, 2);\n dataStr.split('\\n').forEach(line => {\n lines.push(` ${line}`);\n });\n } catch {\n lines.push(` ${String(error.cause.data)}`);\n }\n }\n\n if (error.code) {\n lines.push(`\\nāš ļø Error Code: ${error.code}`);\n }\n\n if (error.status) {\n lines.push(`šŸ“ Status: ${error.status}`);\n }\n\n lines.push('');\n console.error(lines.join('\\n'));\n };\n\n handlers.rpc = new RPCHandler(loaded.router, {\n interceptors: [\n onError((error: any) => {\n formatError(error, 'RPC');\n }),\n ]\n });\n\n handlers.api = new OpenAPIHandler(loaded.router, {\n plugins: [\n new OpenAPIReferencePlugin({\n schemaConverters: [new ZodToJsonSchemaConverter()],\n }),\n ],\n interceptors: [\n onError((error: any) => {\n formatError(error, 'OpenAPI');\n }),\n ]\n });\n\n console.log(`╭─────────────────────────────────────────────`);\n console.log(`│ āœ… Plugin dev server ready: `);\n console.log(`ā”œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€`);\n console.log(`│ šŸ“” RPC: http://localhost:${port}/api/rpc${rpcPrefix}`);\n console.log(`│ šŸ“– Docs: http://localhost:${port}/api`);\n console.log(`│ šŸ’š Health: http://localhost:${port}/`);\n console.log(`╰─────────────────────────────────────────────`);\n\n devServer.app.locals.handlers = handlers;\n\n if (devServer.server) {\n devServer.server.once('close', async () => {\n await performCleanup();\n });\n }\n } catch (error) {\n console.error('āŒ Failed to load plugin:', error);\n await performCleanup();\n }\n })();\n\n process.once('SIGINT', async () => {\n await performCleanup();\n });\n process.once('SIGTERM', async () => {\n await performCleanup();\n });\n\n devServer.app.options('*', (req: any, res: any) => {\n applyCorsHeaders(res);\n res.status(200).end();\n });\n\n devServer.app.get('/', (req: any, res: any) => {\n applyCorsHeaders(res);\n res.json({\n ok: true,\n plugin: pluginInfo.normalizedName,\n version: pluginInfo.version,\n status: devServer.app.locals.handlers?.rpc ? 'ready' : 'loading',\n endpoints: {\n health: '/',\n docs: '/api',\n rpc: `/api/rpc${rpcPrefix}`\n }\n });\n });\n\n // OpenAPI documentation and REST endpoints at /api and /api/*\n const handleApiRequest = async (req: any, res: any) => {\n applyCorsHeaders(res);\n const apiHandler = devServer.app.locals.handlers?.api;\n if (!apiHandler) {\n return res.status(503).json({ error: 'Plugin still loading...' });\n }\n\n try {\n const url = `http://${req.headers.host}${req.url}`;\n const webRequest = new Request(url, {\n method: req.method,\n headers: req.headers,\n body: req.method !== 'GET' && req.method !== 'HEAD' ? req : undefined,\n duplex: req.method !== 'GET' && req.method !== 'HEAD' ? 'half' : undefined\n } as RequestInit);\n\n const result = await apiHandler.handle(webRequest, {\n prefix: '/api',\n context: {}\n });\n\n if (result.response) {\n res.status(result.response.status);\n result.response.headers.forEach((value: string, key: string) => {\n res.setHeader(key, value);\n });\n const text = await result.response.text();\n res.send(text);\n } else {\n res.status(404).send('Not Found');\n }\n } catch (error) {\n console.error('OpenAPI error:', error);\n res.status(500).json({ error: (error as Error).message });\n }\n };\n\n devServer.app.all(`/api/rpc${rpcPrefix}/*`, async (req: any, res: any) => {\n applyCorsHeaders(res);\n const rpcHandler = devServer.app.locals.handlers?.rpc;\n if (!rpcHandler) {\n return res.status(503).json({ error: 'Plugin still loading...' });\n }\n\n try {\n const url = `http://${req.headers.host}${req.url}`;\n const webRequest = new Request(url, {\n method: req.method,\n headers: req.headers,\n body: req.method !== 'GET' && req.method !== 'HEAD' ? req : undefined,\n duplex: req.method !== 'GET' && req.method !== 'HEAD' ? 'half' : undefined\n } as RequestInit);\n\n const result = await rpcHandler.handle(webRequest, {\n prefix: `/api/rpc${rpcPrefix}`,\n context: {}\n });\n\n if (result.response) {\n res.status(result.response.status);\n result.response.headers.forEach((value: string, key: string) => {\n res.setHeader(key, value);\n });\n const text = await result.response.text();\n res.send(text);\n } else {\n res.status(404).send('Not Found');\n }\n } catch (error) {\n console.error('RPC error:', error);\n res.status(500).json({ error: (error as Error).message });\n }\n });\n\n devServer.app.all('/api', handleApiRequest);\n devServer.app.all('/api/*', handleApiRequest);\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"dev-server-middleware.cjs","names":["handlers: { rpc: any, api: any }","cleanup: (() => Promise<void>) | null"],"sources":["../../../src/build/rspack/dev-server-middleware.ts"],"sourcesContent":["import type { PluginInfo } from './utils';\n\nconst corsHeaders = {\n 'Access-Control-Allow-Origin': '*',\n 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, PATCH, OPTIONS',\n 'Access-Control-Allow-Headers': 'X-Requested-With, content-type, Authorization'\n};\n\nconst applyCorsHeaders = (res: any) => {\n Object.entries(corsHeaders).forEach(([key, value]) => {\n res.setHeader(key, value);\n });\n};\n\nconst normalizePrefix = (prefix?: string): string => {\n if (!prefix) return '';\n const cleaned = prefix.replace(/^\\/+|\\/+$/g, '');\n return cleaned ? `/${cleaned}` : '';\n};\n\nexport function setupPluginMiddleware(devServer: any, pluginInfo: PluginInfo, devConfig: any, port: number) {\n const rpcPrefix = normalizePrefix(devConfig?.prefix);\n let handlers: { rpc: any, api: any } = { rpc: null, api: null };\n let cleanup: (() => Promise<void>) | null = null;\n\n const performCleanup = async () => {\n if (cleanup) {\n await cleanup();\n cleanup = null;\n }\n };\n\n (async () => {\n await performCleanup();\n\n try {\n const { createPluginRuntime } = await import('every-plugin');\n const { RPCHandler } = await import('@orpc/server/fetch');\n const { OpenAPIHandler } = await import('@orpc/openapi/fetch');\n const { OpenAPIReferencePlugin } = await import('@orpc/openapi/plugins');\n const { ZodToJsonSchemaConverter } = await import('@orpc/zod/zod4');\n const { onError } = await import('every-plugin/orpc');\n const { formatORPCError } = await import('every-plugin/errors');\n\n\n const pluginId = devConfig?.pluginId || pluginInfo.normalizedName;\n\n const runtime = createPluginRuntime({\n registry: {\n [pluginId]: {\n remote: `http://localhost:${port}/remoteEntry.js`\n }\n }\n });\n\n // @ts-expect-error we don't know the plugin id\n const loaded = await runtime.usePlugin(pluginId, devConfig?.config);\n\n cleanup = async () => {\n if (loaded && typeof (loaded as any).dispose === 'function') {\n await (loaded as any).dispose();\n }\n if (runtime && typeof (runtime as any).cleanup === 'function') {\n await (runtime as any).cleanup();\n }\n handlers.rpc = null;\n handlers.api = null;\n if (devServer.app.locals.handlers) {\n devServer.app.locals.handlers = null;\n }\n };\n\n handlers.rpc = new RPCHandler(loaded.router, {\n interceptors: [\n onError((error: any) => {\n formatORPCError(error);\n }),\n ]\n });\n\n handlers.api = new OpenAPIHandler(loaded.router, {\n plugins: [\n new OpenAPIReferencePlugin({\n schemaConverters: [new ZodToJsonSchemaConverter()],\n }),\n ],\n interceptors: [\n onError((error: any) => {\n formatORPCError(error);\n }),\n ]\n });\n\n console.log(`╭─────────────────────────────────────────────`);\n console.log(`│ āœ… Plugin dev server ready: `);\n console.log(`ā”œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€`);\n console.log(`│ šŸ“” RPC: http://localhost:${port}/api/rpc${rpcPrefix}`);\n console.log(`│ šŸ“– Docs: http://localhost:${port}/api`);\n console.log(`│ šŸ’š Health: http://localhost:${port}/`);\n console.log(`╰─────────────────────────────────────────────`);\n\n devServer.app.locals.handlers = handlers;\n\n if (devServer.server) {\n devServer.server.once('close', async () => {\n await performCleanup();\n });\n }\n } catch (error) {\n console.error('āŒ Failed to load plugin:', error);\n await performCleanup();\n }\n })();\n\n process.once('SIGINT', async () => {\n await performCleanup();\n });\n process.once('SIGTERM', async () => {\n await performCleanup();\n });\n\n devServer.app.options('*', (req: any, res: any) => {\n applyCorsHeaders(res);\n res.status(200).end();\n });\n\n devServer.app.get('/', (req: any, res: any) => {\n applyCorsHeaders(res);\n res.json({\n ok: true,\n plugin: pluginInfo.normalizedName,\n version: pluginInfo.version,\n status: devServer.app.locals.handlers?.rpc ? 'ready' : 'loading',\n endpoints: {\n health: '/',\n docs: '/api',\n rpc: `/api/rpc${rpcPrefix}`\n }\n });\n });\n\n // OpenAPI documentation and REST endpoints at /api and /api/*\n const handleApiRequest = async (req: any, res: any) => {\n applyCorsHeaders(res);\n const apiHandler = devServer.app.locals.handlers?.api;\n if (!apiHandler) {\n return res.status(503).json({ error: 'Plugin still loading...' });\n }\n\n try {\n const url = `http://${req.headers.host}${req.url}`;\n const webRequest = new Request(url, {\n method: req.method,\n headers: req.headers,\n body: req.method !== 'GET' && req.method !== 'HEAD' ? req : undefined,\n duplex: req.method !== 'GET' && req.method !== 'HEAD' ? 'half' : undefined\n } as RequestInit);\n\n const result = await apiHandler.handle(webRequest, {\n prefix: '/api',\n context: {}\n });\n\n if (result.response) {\n res.status(result.response.status);\n result.response.headers.forEach((value: string, key: string) => {\n res.setHeader(key, value);\n });\n const text = await result.response.text();\n res.send(text);\n } else {\n res.status(404).send('Not Found');\n }\n } catch (error) {\n console.error('OpenAPI error:', error);\n res.status(500).json({ error: (error as Error).message });\n }\n };\n\n devServer.app.all(`/api/rpc${rpcPrefix}/*`, async (req: any, res: any) => {\n applyCorsHeaders(res);\n const rpcHandler = devServer.app.locals.handlers?.rpc;\n if (!rpcHandler) {\n return res.status(503).json({ error: 'Plugin still loading...' });\n }\n\n try {\n const url = `http://${req.headers.host}${req.url}`;\n const webRequest = new Request(url, {\n method: req.method,\n headers: req.headers,\n body: req.method !== 'GET' && req.method !== 'HEAD' ? req : undefined,\n duplex: req.method !== 'GET' && req.method !== 'HEAD' ? 'half' : undefined\n } as RequestInit);\n\n const result = await rpcHandler.handle(webRequest, {\n prefix: `/api/rpc${rpcPrefix}`,\n context: {}\n });\n\n if (result.response) {\n res.status(result.response.status);\n result.response.headers.forEach((value: string, key: string) => {\n res.setHeader(key, value);\n });\n const text = await result.response.text();\n res.send(text);\n } else {\n res.status(404).send('Not Found');\n }\n } catch (error) {\n console.error('RPC error:', error);\n res.status(500).json({ error: (error as Error).message });\n }\n });\n\n devServer.app.all('/api', handleApiRequest);\n devServer.app.all('/api/*', handleApiRequest);\n}\n"],"mappings":";;AAEA,MAAM,cAAc;CAClB,+BAA+B;CAC/B,gCAAgC;CAChC,gCAAgC;CACjC;AAED,MAAM,oBAAoB,QAAa;AACrC,QAAO,QAAQ,YAAY,CAAC,SAAS,CAAC,KAAK,WAAW;AACpD,MAAI,UAAU,KAAK,MAAM;GACzB;;AAGJ,MAAM,mBAAmB,WAA4B;AACnD,KAAI,CAAC,OAAQ,QAAO;CACpB,MAAM,UAAU,OAAO,QAAQ,cAAc,GAAG;AAChD,QAAO,UAAU,IAAI,YAAY;;AAGnC,SAAgB,sBAAsB,WAAgB,YAAwB,WAAgB,MAAc;CAC1G,MAAM,YAAY,gBAAgB,WAAW,OAAO;CACpD,IAAIA,WAAmC;EAAE,KAAK;EAAM,KAAK;EAAM;CAC/D,IAAIC,UAAwC;CAE5C,MAAM,iBAAiB,YAAY;AACjC,MAAI,SAAS;AACX,SAAM,SAAS;AACf,aAAU;;;AAId,EAAC,YAAY;AACX,QAAM,gBAAgB;AAEtB,MAAI;GACF,MAAM,EAAE,wBAAwB,2CAAM;GACtC,MAAM,EAAE,eAAe,MAAM,OAAO;GACpC,MAAM,EAAE,mBAAmB,MAAM,OAAO;GACxC,MAAM,EAAE,2BAA2B,MAAM,OAAO;GAChD,MAAM,EAAE,6BAA6B,MAAM,OAAO;GAClD,MAAM,EAAE,YAAY,2CAAM;GAC1B,MAAM,EAAE,oBAAoB,2CAAM;GAGlC,MAAM,WAAW,WAAW,YAAY,WAAW;GAEnD,MAAM,UAAU,oBAAoB,EAClC,UAAU,GACP,WAAW,EACV,QAAQ,oBAAoB,KAAK,kBAClC,EACF,EACF,CAAC;GAGF,MAAM,SAAS,MAAM,QAAQ,UAAU,UAAU,WAAW,OAAO;AAEnE,aAAU,YAAY;AACpB,QAAI,UAAU,OAAQ,OAAe,YAAY,WAC/C,OAAO,OAAe,SAAS;AAEjC,QAAI,WAAW,OAAQ,QAAgB,YAAY,WACjD,OAAO,QAAgB,SAAS;AAElC,aAAS,MAAM;AACf,aAAS,MAAM;AACf,QAAI,UAAU,IAAI,OAAO,SACvB,WAAU,IAAI,OAAO,WAAW;;AAIpC,YAAS,MAAM,IAAI,WAAW,OAAO,QAAQ,EAC3C,cAAc,CACZ,SAAS,UAAe;AACtB,oBAAgB,MAAM;KACtB,CACH,EACF,CAAC;AAEF,YAAS,MAAM,IAAI,eAAe,OAAO,QAAQ;IAC/C,SAAS,CACP,IAAI,uBAAuB,EACzB,kBAAkB,CAAC,IAAI,0BAA0B,CAAC,EACnD,CAAC,CACH;IACD,cAAc,CACZ,SAAS,UAAe;AACtB,qBAAgB,MAAM;MACtB,CACH;IACF,CAAC;AAEF,WAAQ,IAAI,iDAAiD;AAC7D,WAAQ,IAAI,iCAAiC;AAC7C,WAAQ,IAAI,iDAAiD;AAC7D,WAAQ,IAAI,kCAAkC,KAAK,UAAU,YAAY;AACzE,WAAQ,IAAI,kCAAkC,KAAK,MAAM;AACzD,WAAQ,IAAI,kCAAkC,KAAK,GAAG;AACtD,WAAQ,IAAI,iDAAiD;AAE7D,aAAU,IAAI,OAAO,WAAW;AAEhC,OAAI,UAAU,OACZ,WAAU,OAAO,KAAK,SAAS,YAAY;AACzC,UAAM,gBAAgB;KACtB;WAEG,OAAO;AACd,WAAQ,MAAM,4BAA4B,MAAM;AAChD,SAAM,gBAAgB;;KAEtB;AAEJ,SAAQ,KAAK,UAAU,YAAY;AACjC,QAAM,gBAAgB;GACtB;AACF,SAAQ,KAAK,WAAW,YAAY;AAClC,QAAM,gBAAgB;GACtB;AAEF,WAAU,IAAI,QAAQ,MAAM,KAAU,QAAa;AACjD,mBAAiB,IAAI;AACrB,MAAI,OAAO,IAAI,CAAC,KAAK;GACrB;AAEF,WAAU,IAAI,IAAI,MAAM,KAAU,QAAa;AAC7C,mBAAiB,IAAI;AACrB,MAAI,KAAK;GACP,IAAI;GACJ,QAAQ,WAAW;GACnB,SAAS,WAAW;GACpB,QAAQ,UAAU,IAAI,OAAO,UAAU,MAAM,UAAU;GACvD,WAAW;IACT,QAAQ;IACR,MAAM;IACN,KAAK,WAAW;IACjB;GACF,CAAC;GACF;CAGF,MAAM,mBAAmB,OAAO,KAAU,QAAa;AACrD,mBAAiB,IAAI;EACrB,MAAM,aAAa,UAAU,IAAI,OAAO,UAAU;AAClD,MAAI,CAAC,WACH,QAAO,IAAI,OAAO,IAAI,CAAC,KAAK,EAAE,OAAO,2BAA2B,CAAC;AAGnE,MAAI;GACF,MAAM,MAAM,UAAU,IAAI,QAAQ,OAAO,IAAI;GAC7C,MAAM,aAAa,IAAI,QAAQ,KAAK;IAClC,QAAQ,IAAI;IACZ,SAAS,IAAI;IACb,MAAM,IAAI,WAAW,SAAS,IAAI,WAAW,SAAS,MAAM;IAC5D,QAAQ,IAAI,WAAW,SAAS,IAAI,WAAW,SAAS,SAAS;IAClE,CAAgB;GAEjB,MAAM,SAAS,MAAM,WAAW,OAAO,YAAY;IACjD,QAAQ;IACR,SAAS,EAAE;IACZ,CAAC;AAEF,OAAI,OAAO,UAAU;AACnB,QAAI,OAAO,OAAO,SAAS,OAAO;AAClC,WAAO,SAAS,QAAQ,SAAS,OAAe,QAAgB;AAC9D,SAAI,UAAU,KAAK,MAAM;MACzB;IACF,MAAM,OAAO,MAAM,OAAO,SAAS,MAAM;AACzC,QAAI,KAAK,KAAK;SAEd,KAAI,OAAO,IAAI,CAAC,KAAK,YAAY;WAE5B,OAAO;AACd,WAAQ,MAAM,kBAAkB,MAAM;AACtC,OAAI,OAAO,IAAI,CAAC,KAAK,EAAE,OAAQ,MAAgB,SAAS,CAAC;;;AAI7D,WAAU,IAAI,IAAI,WAAW,UAAU,KAAK,OAAO,KAAU,QAAa;AACxE,mBAAiB,IAAI;EACrB,MAAM,aAAa,UAAU,IAAI,OAAO,UAAU;AAClD,MAAI,CAAC,WACH,QAAO,IAAI,OAAO,IAAI,CAAC,KAAK,EAAE,OAAO,2BAA2B,CAAC;AAGnE,MAAI;GACF,MAAM,MAAM,UAAU,IAAI,QAAQ,OAAO,IAAI;GAC7C,MAAM,aAAa,IAAI,QAAQ,KAAK;IAClC,QAAQ,IAAI;IACZ,SAAS,IAAI;IACb,MAAM,IAAI,WAAW,SAAS,IAAI,WAAW,SAAS,MAAM;IAC5D,QAAQ,IAAI,WAAW,SAAS,IAAI,WAAW,SAAS,SAAS;IAClE,CAAgB;GAEjB,MAAM,SAAS,MAAM,WAAW,OAAO,YAAY;IACjD,QAAQ,WAAW;IACnB,SAAS,EAAE;IACZ,CAAC;AAEF,OAAI,OAAO,UAAU;AACnB,QAAI,OAAO,OAAO,SAAS,OAAO;AAClC,WAAO,SAAS,QAAQ,SAAS,OAAe,QAAgB;AAC9D,SAAI,UAAU,KAAK,MAAM;MACzB;IACF,MAAM,OAAO,MAAM,OAAO,SAAS,MAAM;AACzC,QAAI,KAAK,KAAK;SAEd,KAAI,OAAO,IAAI,CAAC,KAAK,YAAY;WAE5B,OAAO;AACd,WAAQ,MAAM,cAAc,MAAM;AAClC,OAAI,OAAO,IAAI,CAAC,KAAK,EAAE,OAAQ,MAAgB,SAAS,CAAC;;GAE3D;AAEF,WAAU,IAAI,IAAI,QAAQ,iBAAiB;AAC3C,WAAU,IAAI,IAAI,UAAU,iBAAiB"}
@@ -36,6 +36,7 @@ function setupPluginMiddleware(devServer, pluginInfo, devConfig, port) {
36
36
  const { OpenAPIReferencePlugin } = await import("@orpc/openapi/plugins");
37
37
  const { ZodToJsonSchemaConverter } = await import("@orpc/zod/zod4");
38
38
  const { onError } = await import("../../orpc.mjs");
39
+ const { formatORPCError } = await import("../../errors.mjs");
39
40
  const pluginId = devConfig?.pluginId || pluginInfo.normalizedName;
40
41
  const runtime = createPluginRuntime({ registry: { [pluginId]: { remote: `http://localhost:${port}/remoteEntry.js` } } });
41
42
  const loaded = await runtime.usePlugin(pluginId, devConfig?.config);
@@ -46,51 +47,13 @@ function setupPluginMiddleware(devServer, pluginInfo, devConfig, port) {
46
47
  handlers.api = null;
47
48
  if (devServer.app.locals.handlers) devServer.app.locals.handlers = null;
48
49
  };
49
- const formatError = (error, context) => {
50
- const lines = [`\nšŸ”“ ${context} Error: ${error.message || "Unknown error"}`];
51
- if (error.cause?.issues && Array.isArray(error.cause.issues)) {
52
- lines.push("\nšŸ“‹ Validation Issues:");
53
- error.cause.issues.forEach((issue, index) => {
54
- lines.push(` ${index + 1}. ${issue.path?.join(".") || "root"}`);
55
- lines.push(` ā”œā”€ Code: ${issue.code || "unknown"}`);
56
- lines.push(` ā”œā”€ Message: ${issue.message || "No message"}`);
57
- if (issue.expected !== void 0) lines.push(` ā”œā”€ Expected: ${JSON.stringify(issue.expected)}`);
58
- if (issue.received !== void 0) lines.push(` └─ Received: ${JSON.stringify(issue.received)}`);
59
- else lines.push(` └─ (end)`);
60
- });
61
- }
62
- if (error.data && typeof error.data === "object" && Object.keys(error.data).length > 0) {
63
- lines.push("\nšŸ“Š Error Data:");
64
- try {
65
- JSON.stringify(error.data, null, 2).split("\n").forEach((line) => {
66
- lines.push(` ${line}`);
67
- });
68
- } catch {
69
- lines.push(` ${String(error.data)}`);
70
- }
71
- }
72
- if (error.cause?.data) {
73
- lines.push("\nšŸ“¦ Request Data:");
74
- try {
75
- JSON.stringify(error.cause.data, null, 2).split("\n").forEach((line) => {
76
- lines.push(` ${line}`);
77
- });
78
- } catch {
79
- lines.push(` ${String(error.cause.data)}`);
80
- }
81
- }
82
- if (error.code) lines.push(`\nāš ļø Error Code: ${error.code}`);
83
- if (error.status) lines.push(`šŸ“ Status: ${error.status}`);
84
- lines.push("");
85
- console.error(lines.join("\n"));
86
- };
87
50
  handlers.rpc = new RPCHandler(loaded.router, { interceptors: [onError((error) => {
88
- formatError(error, "RPC");
51
+ formatORPCError(error);
89
52
  })] });
90
53
  handlers.api = new OpenAPIHandler(loaded.router, {
91
54
  plugins: [new OpenAPIReferencePlugin({ schemaConverters: [new ZodToJsonSchemaConverter()] })],
92
55
  interceptors: [onError((error) => {
93
- formatError(error, "OpenAPI");
56
+ formatORPCError(error);
94
57
  })]
95
58
  });
96
59
  console.log(`╭─────────────────────────────────────────────`);
@@ -1 +1 @@
1
- {"version":3,"file":"dev-server-middleware.mjs","names":["handlers: { rpc: any, api: any }","cleanup: (() => Promise<void>) | null","lines: string[]"],"sources":["../../../src/build/rspack/dev-server-middleware.ts"],"sourcesContent":["import type { PluginInfo } from './utils';\n\nconst corsHeaders = {\n 'Access-Control-Allow-Origin': '*',\n 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, PATCH, OPTIONS',\n 'Access-Control-Allow-Headers': 'X-Requested-With, content-type, Authorization'\n};\n\nconst applyCorsHeaders = (res: any) => {\n Object.entries(corsHeaders).forEach(([key, value]) => {\n res.setHeader(key, value);\n });\n};\n\nconst normalizePrefix = (prefix?: string): string => {\n if (!prefix) return '';\n const cleaned = prefix.replace(/^\\/+|\\/+$/g, '');\n return cleaned ? `/${cleaned}` : '';\n};\n\nexport function setupPluginMiddleware(devServer: any, pluginInfo: PluginInfo, devConfig: any, port: number) {\n const rpcPrefix = normalizePrefix(devConfig?.prefix);\n let handlers: { rpc: any, api: any } = { rpc: null, api: null };\n let cleanup: (() => Promise<void>) | null = null;\n\n const performCleanup = async () => {\n if (cleanup) {\n await cleanup();\n cleanup = null;\n }\n };\n\n (async () => {\n await performCleanup();\n\n try {\n const { createPluginRuntime } = await import('every-plugin');\n const { RPCHandler } = await import('@orpc/server/fetch');\n const { OpenAPIHandler } = await import('@orpc/openapi/fetch');\n const { OpenAPIReferencePlugin } = await import('@orpc/openapi/plugins');\n const { ZodToJsonSchemaConverter } = await import('@orpc/zod/zod4');\n const { onError } = await import('every-plugin/orpc');\n\n\n const pluginId = devConfig?.pluginId || pluginInfo.normalizedName;\n\n const runtime = createPluginRuntime({\n registry: {\n [pluginId]: {\n remote: `http://localhost:${port}/remoteEntry.js`\n }\n }\n });\n\n // @ts-expect-error we don't know the plugin id\n const loaded = await runtime.usePlugin(pluginId, devConfig?.config);\n\n cleanup = async () => {\n if (loaded && typeof (loaded as any).dispose === 'function') {\n await (loaded as any).dispose();\n }\n if (runtime && typeof (runtime as any).cleanup === 'function') {\n await (runtime as any).cleanup();\n }\n handlers.rpc = null;\n handlers.api = null;\n if (devServer.app.locals.handlers) {\n devServer.app.locals.handlers = null;\n }\n };\n\n const formatError = (error: any, context: string) => {\n const lines: string[] = [`\\nšŸ”“ ${context} Error: ${error.message || 'Unknown error'}`];\n\n if (error.cause?.issues && Array.isArray(error.cause.issues)) {\n lines.push('\\nšŸ“‹ Validation Issues:');\n error.cause.issues.forEach((issue: any, index: number) => {\n lines.push(` ${index + 1}. ${issue.path?.join('.') || 'root'}`);\n lines.push(` ā”œā”€ Code: ${issue.code || 'unknown'}`);\n lines.push(` ā”œā”€ Message: ${issue.message || 'No message'}`);\n if (issue.expected !== undefined) {\n lines.push(` ā”œā”€ Expected: ${JSON.stringify(issue.expected)}`);\n }\n if (issue.received !== undefined) {\n lines.push(` └─ Received: ${JSON.stringify(issue.received)}`);\n } else {\n lines.push(` └─ (end)`);\n }\n });\n }\n\n if (error.data && typeof error.data === 'object' && Object.keys(error.data).length > 0) {\n lines.push('\\nšŸ“Š Error Data:');\n try {\n const dataStr = JSON.stringify(error.data, null, 2);\n dataStr.split('\\n').forEach(line => {\n lines.push(` ${line}`);\n });\n } catch {\n lines.push(` ${String(error.data)}`);\n }\n }\n\n if (error.cause?.data) {\n lines.push('\\nšŸ“¦ Request Data:');\n try {\n const dataStr = JSON.stringify(error.cause.data, null, 2);\n dataStr.split('\\n').forEach(line => {\n lines.push(` ${line}`);\n });\n } catch {\n lines.push(` ${String(error.cause.data)}`);\n }\n }\n\n if (error.code) {\n lines.push(`\\nāš ļø Error Code: ${error.code}`);\n }\n\n if (error.status) {\n lines.push(`šŸ“ Status: ${error.status}`);\n }\n\n lines.push('');\n console.error(lines.join('\\n'));\n };\n\n handlers.rpc = new RPCHandler(loaded.router, {\n interceptors: [\n onError((error: any) => {\n formatError(error, 'RPC');\n }),\n ]\n });\n\n handlers.api = new OpenAPIHandler(loaded.router, {\n plugins: [\n new OpenAPIReferencePlugin({\n schemaConverters: [new ZodToJsonSchemaConverter()],\n }),\n ],\n interceptors: [\n onError((error: any) => {\n formatError(error, 'OpenAPI');\n }),\n ]\n });\n\n console.log(`╭─────────────────────────────────────────────`);\n console.log(`│ āœ… Plugin dev server ready: `);\n console.log(`ā”œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€`);\n console.log(`│ šŸ“” RPC: http://localhost:${port}/api/rpc${rpcPrefix}`);\n console.log(`│ šŸ“– Docs: http://localhost:${port}/api`);\n console.log(`│ šŸ’š Health: http://localhost:${port}/`);\n console.log(`╰─────────────────────────────────────────────`);\n\n devServer.app.locals.handlers = handlers;\n\n if (devServer.server) {\n devServer.server.once('close', async () => {\n await performCleanup();\n });\n }\n } catch (error) {\n console.error('āŒ Failed to load plugin:', error);\n await performCleanup();\n }\n })();\n\n process.once('SIGINT', async () => {\n await performCleanup();\n });\n process.once('SIGTERM', async () => {\n await performCleanup();\n });\n\n devServer.app.options('*', (req: any, res: any) => {\n applyCorsHeaders(res);\n res.status(200).end();\n });\n\n devServer.app.get('/', (req: any, res: any) => {\n applyCorsHeaders(res);\n res.json({\n ok: true,\n plugin: pluginInfo.normalizedName,\n version: pluginInfo.version,\n status: devServer.app.locals.handlers?.rpc ? 'ready' : 'loading',\n endpoints: {\n health: '/',\n docs: '/api',\n rpc: `/api/rpc${rpcPrefix}`\n }\n });\n });\n\n // OpenAPI documentation and REST endpoints at /api and /api/*\n const handleApiRequest = async (req: any, res: any) => {\n applyCorsHeaders(res);\n const apiHandler = devServer.app.locals.handlers?.api;\n if (!apiHandler) {\n return res.status(503).json({ error: 'Plugin still loading...' });\n }\n\n try {\n const url = `http://${req.headers.host}${req.url}`;\n const webRequest = new Request(url, {\n method: req.method,\n headers: req.headers,\n body: req.method !== 'GET' && req.method !== 'HEAD' ? req : undefined,\n duplex: req.method !== 'GET' && req.method !== 'HEAD' ? 'half' : undefined\n } as RequestInit);\n\n const result = await apiHandler.handle(webRequest, {\n prefix: '/api',\n context: {}\n });\n\n if (result.response) {\n res.status(result.response.status);\n result.response.headers.forEach((value: string, key: string) => {\n res.setHeader(key, value);\n });\n const text = await result.response.text();\n res.send(text);\n } else {\n res.status(404).send('Not Found');\n }\n } catch (error) {\n console.error('OpenAPI error:', error);\n res.status(500).json({ error: (error as Error).message });\n }\n };\n\n devServer.app.all(`/api/rpc${rpcPrefix}/*`, async (req: any, res: any) => {\n applyCorsHeaders(res);\n const rpcHandler = devServer.app.locals.handlers?.rpc;\n if (!rpcHandler) {\n return res.status(503).json({ error: 'Plugin still loading...' });\n }\n\n try {\n const url = `http://${req.headers.host}${req.url}`;\n const webRequest = new Request(url, {\n method: req.method,\n headers: req.headers,\n body: req.method !== 'GET' && req.method !== 'HEAD' ? req : undefined,\n duplex: req.method !== 'GET' && req.method !== 'HEAD' ? 'half' : undefined\n } as RequestInit);\n\n const result = await rpcHandler.handle(webRequest, {\n prefix: `/api/rpc${rpcPrefix}`,\n context: {}\n });\n\n if (result.response) {\n res.status(result.response.status);\n result.response.headers.forEach((value: string, key: string) => {\n res.setHeader(key, value);\n });\n const text = await result.response.text();\n res.send(text);\n } else {\n res.status(404).send('Not Found');\n }\n } catch (error) {\n console.error('RPC error:', error);\n res.status(500).json({ error: (error as Error).message });\n }\n });\n\n devServer.app.all('/api', handleApiRequest);\n devServer.app.all('/api/*', handleApiRequest);\n}\n"],"mappings":";AAEA,MAAM,cAAc;CAClB,+BAA+B;CAC/B,gCAAgC;CAChC,gCAAgC;CACjC;AAED,MAAM,oBAAoB,QAAa;AACrC,QAAO,QAAQ,YAAY,CAAC,SAAS,CAAC,KAAK,WAAW;AACpD,MAAI,UAAU,KAAK,MAAM;GACzB;;AAGJ,MAAM,mBAAmB,WAA4B;AACnD,KAAI,CAAC,OAAQ,QAAO;CACpB,MAAM,UAAU,OAAO,QAAQ,cAAc,GAAG;AAChD,QAAO,UAAU,IAAI,YAAY;;AAGnC,SAAgB,sBAAsB,WAAgB,YAAwB,WAAgB,MAAc;CAC1G,MAAM,YAAY,gBAAgB,WAAW,OAAO;CACpD,IAAIA,WAAmC;EAAE,KAAK;EAAM,KAAK;EAAM;CAC/D,IAAIC,UAAwC;CAE5C,MAAM,iBAAiB,YAAY;AACjC,MAAI,SAAS;AACX,SAAM,SAAS;AACf,aAAU;;;AAId,EAAC,YAAY;AACX,QAAM,gBAAgB;AAEtB,MAAI;GACF,MAAM,EAAE,wBAAwB,MAAM,OAAO;GAC7C,MAAM,EAAE,eAAe,MAAM,OAAO;GACpC,MAAM,EAAE,mBAAmB,MAAM,OAAO;GACxC,MAAM,EAAE,2BAA2B,MAAM,OAAO;GAChD,MAAM,EAAE,6BAA6B,MAAM,OAAO;GAClD,MAAM,EAAE,YAAY,MAAM,OAAO;GAGjC,MAAM,WAAW,WAAW,YAAY,WAAW;GAEnD,MAAM,UAAU,oBAAoB,EAClC,UAAU,GACP,WAAW,EACV,QAAQ,oBAAoB,KAAK,kBAClC,EACF,EACF,CAAC;GAGF,MAAM,SAAS,MAAM,QAAQ,UAAU,UAAU,WAAW,OAAO;AAEnE,aAAU,YAAY;AACpB,QAAI,UAAU,OAAQ,OAAe,YAAY,WAC/C,OAAO,OAAe,SAAS;AAEjC,QAAI,WAAW,OAAQ,QAAgB,YAAY,WACjD,OAAO,QAAgB,SAAS;AAElC,aAAS,MAAM;AACf,aAAS,MAAM;AACf,QAAI,UAAU,IAAI,OAAO,SACvB,WAAU,IAAI,OAAO,WAAW;;GAIpC,MAAM,eAAe,OAAY,YAAoB;IACnD,MAAMC,QAAkB,CAAC,QAAQ,QAAQ,UAAU,MAAM,WAAW,kBAAkB;AAEtF,QAAI,MAAM,OAAO,UAAU,MAAM,QAAQ,MAAM,MAAM,OAAO,EAAE;AAC5D,WAAM,KAAK,0BAA0B;AACrC,WAAM,MAAM,OAAO,SAAS,OAAY,UAAkB;AACxD,YAAM,KAAK,KAAK,QAAQ,EAAE,IAAI,MAAM,MAAM,KAAK,IAAI,IAAI,SAAS;AAChE,YAAM,KAAK,iBAAiB,MAAM,QAAQ,YAAY;AACtD,YAAM,KAAK,oBAAoB,MAAM,WAAW,eAAe;AAC/D,UAAI,MAAM,aAAa,OACrB,OAAM,KAAK,qBAAqB,KAAK,UAAU,MAAM,SAAS,GAAG;AAEnE,UAAI,MAAM,aAAa,OACrB,OAAM,KAAK,qBAAqB,KAAK,UAAU,MAAM,SAAS,GAAG;UAEjE,OAAM,KAAK,gBAAgB;OAE7B;;AAGJ,QAAI,MAAM,QAAQ,OAAO,MAAM,SAAS,YAAY,OAAO,KAAK,MAAM,KAAK,CAAC,SAAS,GAAG;AACtF,WAAM,KAAK,mBAAmB;AAC9B,SAAI;AAEF,MADgB,KAAK,UAAU,MAAM,MAAM,MAAM,EAAE,CAC3C,MAAM,KAAK,CAAC,SAAQ,SAAQ;AAClC,aAAM,KAAK,KAAK,OAAO;QACvB;aACI;AACN,YAAM,KAAK,KAAK,OAAO,MAAM,KAAK,GAAG;;;AAIzC,QAAI,MAAM,OAAO,MAAM;AACrB,WAAM,KAAK,qBAAqB;AAChC,SAAI;AAEF,MADgB,KAAK,UAAU,MAAM,MAAM,MAAM,MAAM,EAAE,CACjD,MAAM,KAAK,CAAC,SAAQ,SAAQ;AAClC,aAAM,KAAK,KAAK,OAAO;QACvB;aACI;AACN,YAAM,KAAK,KAAK,OAAO,MAAM,MAAM,KAAK,GAAG;;;AAI/C,QAAI,MAAM,KACR,OAAM,KAAK,qBAAqB,MAAM,OAAO;AAG/C,QAAI,MAAM,OACR,OAAM,KAAK,cAAc,MAAM,SAAS;AAG1C,UAAM,KAAK,GAAG;AACd,YAAQ,MAAM,MAAM,KAAK,KAAK,CAAC;;AAGjC,YAAS,MAAM,IAAI,WAAW,OAAO,QAAQ,EAC3C,cAAc,CACZ,SAAS,UAAe;AACtB,gBAAY,OAAO,MAAM;KACzB,CACH,EACF,CAAC;AAEF,YAAS,MAAM,IAAI,eAAe,OAAO,QAAQ;IAC/C,SAAS,CACP,IAAI,uBAAuB,EACzB,kBAAkB,CAAC,IAAI,0BAA0B,CAAC,EACnD,CAAC,CACH;IACD,cAAc,CACZ,SAAS,UAAe;AACtB,iBAAY,OAAO,UAAU;MAC7B,CACH;IACF,CAAC;AAEF,WAAQ,IAAI,iDAAiD;AAC7D,WAAQ,IAAI,iCAAiC;AAC7C,WAAQ,IAAI,iDAAiD;AAC7D,WAAQ,IAAI,kCAAkC,KAAK,UAAU,YAAY;AACzE,WAAQ,IAAI,kCAAkC,KAAK,MAAM;AACzD,WAAQ,IAAI,kCAAkC,KAAK,GAAG;AACtD,WAAQ,IAAI,iDAAiD;AAE7D,aAAU,IAAI,OAAO,WAAW;AAEhC,OAAI,UAAU,OACZ,WAAU,OAAO,KAAK,SAAS,YAAY;AACzC,UAAM,gBAAgB;KACtB;WAEG,OAAO;AACd,WAAQ,MAAM,4BAA4B,MAAM;AAChD,SAAM,gBAAgB;;KAEtB;AAEJ,SAAQ,KAAK,UAAU,YAAY;AACjC,QAAM,gBAAgB;GACtB;AACF,SAAQ,KAAK,WAAW,YAAY;AAClC,QAAM,gBAAgB;GACtB;AAEF,WAAU,IAAI,QAAQ,MAAM,KAAU,QAAa;AACjD,mBAAiB,IAAI;AACrB,MAAI,OAAO,IAAI,CAAC,KAAK;GACrB;AAEF,WAAU,IAAI,IAAI,MAAM,KAAU,QAAa;AAC7C,mBAAiB,IAAI;AACrB,MAAI,KAAK;GACP,IAAI;GACJ,QAAQ,WAAW;GACnB,SAAS,WAAW;GACpB,QAAQ,UAAU,IAAI,OAAO,UAAU,MAAM,UAAU;GACvD,WAAW;IACT,QAAQ;IACR,MAAM;IACN,KAAK,WAAW;IACjB;GACF,CAAC;GACF;CAGF,MAAM,mBAAmB,OAAO,KAAU,QAAa;AACrD,mBAAiB,IAAI;EACrB,MAAM,aAAa,UAAU,IAAI,OAAO,UAAU;AAClD,MAAI,CAAC,WACH,QAAO,IAAI,OAAO,IAAI,CAAC,KAAK,EAAE,OAAO,2BAA2B,CAAC;AAGnE,MAAI;GACF,MAAM,MAAM,UAAU,IAAI,QAAQ,OAAO,IAAI;GAC7C,MAAM,aAAa,IAAI,QAAQ,KAAK;IAClC,QAAQ,IAAI;IACZ,SAAS,IAAI;IACb,MAAM,IAAI,WAAW,SAAS,IAAI,WAAW,SAAS,MAAM;IAC5D,QAAQ,IAAI,WAAW,SAAS,IAAI,WAAW,SAAS,SAAS;IAClE,CAAgB;GAEjB,MAAM,SAAS,MAAM,WAAW,OAAO,YAAY;IACjD,QAAQ;IACR,SAAS,EAAE;IACZ,CAAC;AAEF,OAAI,OAAO,UAAU;AACnB,QAAI,OAAO,OAAO,SAAS,OAAO;AAClC,WAAO,SAAS,QAAQ,SAAS,OAAe,QAAgB;AAC9D,SAAI,UAAU,KAAK,MAAM;MACzB;IACF,MAAM,OAAO,MAAM,OAAO,SAAS,MAAM;AACzC,QAAI,KAAK,KAAK;SAEd,KAAI,OAAO,IAAI,CAAC,KAAK,YAAY;WAE5B,OAAO;AACd,WAAQ,MAAM,kBAAkB,MAAM;AACtC,OAAI,OAAO,IAAI,CAAC,KAAK,EAAE,OAAQ,MAAgB,SAAS,CAAC;;;AAI7D,WAAU,IAAI,IAAI,WAAW,UAAU,KAAK,OAAO,KAAU,QAAa;AACxE,mBAAiB,IAAI;EACrB,MAAM,aAAa,UAAU,IAAI,OAAO,UAAU;AAClD,MAAI,CAAC,WACH,QAAO,IAAI,OAAO,IAAI,CAAC,KAAK,EAAE,OAAO,2BAA2B,CAAC;AAGnE,MAAI;GACF,MAAM,MAAM,UAAU,IAAI,QAAQ,OAAO,IAAI;GAC7C,MAAM,aAAa,IAAI,QAAQ,KAAK;IAClC,QAAQ,IAAI;IACZ,SAAS,IAAI;IACb,MAAM,IAAI,WAAW,SAAS,IAAI,WAAW,SAAS,MAAM;IAC5D,QAAQ,IAAI,WAAW,SAAS,IAAI,WAAW,SAAS,SAAS;IAClE,CAAgB;GAEjB,MAAM,SAAS,MAAM,WAAW,OAAO,YAAY;IACjD,QAAQ,WAAW;IACnB,SAAS,EAAE;IACZ,CAAC;AAEF,OAAI,OAAO,UAAU;AACnB,QAAI,OAAO,OAAO,SAAS,OAAO;AAClC,WAAO,SAAS,QAAQ,SAAS,OAAe,QAAgB;AAC9D,SAAI,UAAU,KAAK,MAAM;MACzB;IACF,MAAM,OAAO,MAAM,OAAO,SAAS,MAAM;AACzC,QAAI,KAAK,KAAK;SAEd,KAAI,OAAO,IAAI,CAAC,KAAK,YAAY;WAE5B,OAAO;AACd,WAAQ,MAAM,cAAc,MAAM;AAClC,OAAI,OAAO,IAAI,CAAC,KAAK,EAAE,OAAQ,MAAgB,SAAS,CAAC;;GAE3D;AAEF,WAAU,IAAI,IAAI,QAAQ,iBAAiB;AAC3C,WAAU,IAAI,IAAI,UAAU,iBAAiB"}
1
+ {"version":3,"file":"dev-server-middleware.mjs","names":["handlers: { rpc: any, api: any }","cleanup: (() => Promise<void>) | null"],"sources":["../../../src/build/rspack/dev-server-middleware.ts"],"sourcesContent":["import type { PluginInfo } from './utils';\n\nconst corsHeaders = {\n 'Access-Control-Allow-Origin': '*',\n 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, PATCH, OPTIONS',\n 'Access-Control-Allow-Headers': 'X-Requested-With, content-type, Authorization'\n};\n\nconst applyCorsHeaders = (res: any) => {\n Object.entries(corsHeaders).forEach(([key, value]) => {\n res.setHeader(key, value);\n });\n};\n\nconst normalizePrefix = (prefix?: string): string => {\n if (!prefix) return '';\n const cleaned = prefix.replace(/^\\/+|\\/+$/g, '');\n return cleaned ? `/${cleaned}` : '';\n};\n\nexport function setupPluginMiddleware(devServer: any, pluginInfo: PluginInfo, devConfig: any, port: number) {\n const rpcPrefix = normalizePrefix(devConfig?.prefix);\n let handlers: { rpc: any, api: any } = { rpc: null, api: null };\n let cleanup: (() => Promise<void>) | null = null;\n\n const performCleanup = async () => {\n if (cleanup) {\n await cleanup();\n cleanup = null;\n }\n };\n\n (async () => {\n await performCleanup();\n\n try {\n const { createPluginRuntime } = await import('every-plugin');\n const { RPCHandler } = await import('@orpc/server/fetch');\n const { OpenAPIHandler } = await import('@orpc/openapi/fetch');\n const { OpenAPIReferencePlugin } = await import('@orpc/openapi/plugins');\n const { ZodToJsonSchemaConverter } = await import('@orpc/zod/zod4');\n const { onError } = await import('every-plugin/orpc');\n const { formatORPCError } = await import('every-plugin/errors');\n\n\n const pluginId = devConfig?.pluginId || pluginInfo.normalizedName;\n\n const runtime = createPluginRuntime({\n registry: {\n [pluginId]: {\n remote: `http://localhost:${port}/remoteEntry.js`\n }\n }\n });\n\n // @ts-expect-error we don't know the plugin id\n const loaded = await runtime.usePlugin(pluginId, devConfig?.config);\n\n cleanup = async () => {\n if (loaded && typeof (loaded as any).dispose === 'function') {\n await (loaded as any).dispose();\n }\n if (runtime && typeof (runtime as any).cleanup === 'function') {\n await (runtime as any).cleanup();\n }\n handlers.rpc = null;\n handlers.api = null;\n if (devServer.app.locals.handlers) {\n devServer.app.locals.handlers = null;\n }\n };\n\n handlers.rpc = new RPCHandler(loaded.router, {\n interceptors: [\n onError((error: any) => {\n formatORPCError(error);\n }),\n ]\n });\n\n handlers.api = new OpenAPIHandler(loaded.router, {\n plugins: [\n new OpenAPIReferencePlugin({\n schemaConverters: [new ZodToJsonSchemaConverter()],\n }),\n ],\n interceptors: [\n onError((error: any) => {\n formatORPCError(error);\n }),\n ]\n });\n\n console.log(`╭─────────────────────────────────────────────`);\n console.log(`│ āœ… Plugin dev server ready: `);\n console.log(`ā”œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€`);\n console.log(`│ šŸ“” RPC: http://localhost:${port}/api/rpc${rpcPrefix}`);\n console.log(`│ šŸ“– Docs: http://localhost:${port}/api`);\n console.log(`│ šŸ’š Health: http://localhost:${port}/`);\n console.log(`╰─────────────────────────────────────────────`);\n\n devServer.app.locals.handlers = handlers;\n\n if (devServer.server) {\n devServer.server.once('close', async () => {\n await performCleanup();\n });\n }\n } catch (error) {\n console.error('āŒ Failed to load plugin:', error);\n await performCleanup();\n }\n })();\n\n process.once('SIGINT', async () => {\n await performCleanup();\n });\n process.once('SIGTERM', async () => {\n await performCleanup();\n });\n\n devServer.app.options('*', (req: any, res: any) => {\n applyCorsHeaders(res);\n res.status(200).end();\n });\n\n devServer.app.get('/', (req: any, res: any) => {\n applyCorsHeaders(res);\n res.json({\n ok: true,\n plugin: pluginInfo.normalizedName,\n version: pluginInfo.version,\n status: devServer.app.locals.handlers?.rpc ? 'ready' : 'loading',\n endpoints: {\n health: '/',\n docs: '/api',\n rpc: `/api/rpc${rpcPrefix}`\n }\n });\n });\n\n // OpenAPI documentation and REST endpoints at /api and /api/*\n const handleApiRequest = async (req: any, res: any) => {\n applyCorsHeaders(res);\n const apiHandler = devServer.app.locals.handlers?.api;\n if (!apiHandler) {\n return res.status(503).json({ error: 'Plugin still loading...' });\n }\n\n try {\n const url = `http://${req.headers.host}${req.url}`;\n const webRequest = new Request(url, {\n method: req.method,\n headers: req.headers,\n body: req.method !== 'GET' && req.method !== 'HEAD' ? req : undefined,\n duplex: req.method !== 'GET' && req.method !== 'HEAD' ? 'half' : undefined\n } as RequestInit);\n\n const result = await apiHandler.handle(webRequest, {\n prefix: '/api',\n context: {}\n });\n\n if (result.response) {\n res.status(result.response.status);\n result.response.headers.forEach((value: string, key: string) => {\n res.setHeader(key, value);\n });\n const text = await result.response.text();\n res.send(text);\n } else {\n res.status(404).send('Not Found');\n }\n } catch (error) {\n console.error('OpenAPI error:', error);\n res.status(500).json({ error: (error as Error).message });\n }\n };\n\n devServer.app.all(`/api/rpc${rpcPrefix}/*`, async (req: any, res: any) => {\n applyCorsHeaders(res);\n const rpcHandler = devServer.app.locals.handlers?.rpc;\n if (!rpcHandler) {\n return res.status(503).json({ error: 'Plugin still loading...' });\n }\n\n try {\n const url = `http://${req.headers.host}${req.url}`;\n const webRequest = new Request(url, {\n method: req.method,\n headers: req.headers,\n body: req.method !== 'GET' && req.method !== 'HEAD' ? req : undefined,\n duplex: req.method !== 'GET' && req.method !== 'HEAD' ? 'half' : undefined\n } as RequestInit);\n\n const result = await rpcHandler.handle(webRequest, {\n prefix: `/api/rpc${rpcPrefix}`,\n context: {}\n });\n\n if (result.response) {\n res.status(result.response.status);\n result.response.headers.forEach((value: string, key: string) => {\n res.setHeader(key, value);\n });\n const text = await result.response.text();\n res.send(text);\n } else {\n res.status(404).send('Not Found');\n }\n } catch (error) {\n console.error('RPC error:', error);\n res.status(500).json({ error: (error as Error).message });\n }\n });\n\n devServer.app.all('/api', handleApiRequest);\n devServer.app.all('/api/*', handleApiRequest);\n}\n"],"mappings":"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"}
package/dist/errors.cjs CHANGED
@@ -1,4 +1,5 @@
1
1
  const require_zod = require('./zod.cjs');
2
+ const require_errors = require('./runtime/errors.cjs');
2
3
 
3
4
  //#region src/errors.ts
4
5
  /**
@@ -125,4 +126,11 @@ const CommonPluginErrors = {
125
126
  //#endregion
126
127
  exports.CommonPluginErrors = CommonPluginErrors;
127
128
  exports.ERROR_PATTERNS = ERROR_PATTERNS;
129
+ exports.ModuleFederationError = require_errors.ModuleFederationError;
130
+ exports.PluginRuntimeError = require_errors.PluginRuntimeError;
131
+ exports.ValidationError = require_errors.ValidationError;
132
+ exports.formatORPCError = require_errors.formatORPCError;
133
+ exports.isRetryableORPCCode = require_errors.isRetryableORPCCode;
134
+ exports.toPluginRuntimeError = require_errors.toPluginRuntimeError;
135
+ exports.wrapORPCError = require_errors.wrapORPCError;
128
136
  //# sourceMappingURL=errors.cjs.map
@@ -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\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"}
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\nexport {\n\tformatORPCError,\n\tisRetryableORPCCode,\n\twrapORPCError,\n\ttoPluginRuntimeError,\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;;;;;;;;;;;;;;;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
@@ -1,7 +1,7 @@
1
1
  import { zod_d_exports } from "./zod.cjs";
2
+ import { ModuleFederationError, PluginRuntimeError, ValidationError, formatORPCError, isRetryableORPCCode, toPluginRuntimeError, wrapORPCError } from "./runtime/errors.cjs";
2
3
 
3
4
  //#region src/errors.d.ts
4
-
5
5
  /**
6
6
  * Error pattern constants for categorizing infrastructure errors
7
7
  */
@@ -107,5 +107,5 @@ declare const CommonPluginErrors: {
107
107
  };
108
108
  };
109
109
  //#endregion
110
- export { CommonPluginErrors, ERROR_PATTERNS };
110
+ export { CommonPluginErrors, ERROR_PATTERNS, ModuleFederationError, PluginRuntimeError, ValidationError, formatORPCError, isRetryableORPCCode, toPluginRuntimeError, wrapORPCError };
111
111
  //# sourceMappingURL=errors.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.cts","names":[],"sources":["../src/errors.ts"],"sourcesContent":[],"mappings":";;;;;;AAKA;AAyBa,cAzBA,cA6FH,EAAA;;;;;;;;;;;;;;;;;;;;;;;;cApEG"}
1
+ {"version":3,"file":"errors.d.cts","names":[],"sources":["../src/errors.ts"],"sourcesContent":[],"mappings":";;;;;;;AAKa,cAAA,cASH,EAAA;EAgBG,SAAA,kBAoEH,EAAA,SAAA,CAAA,cAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;cApEG"}
package/dist/errors.d.mts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { zod_d_exports } from "./zod.mjs";
2
+ import { ModuleFederationError, PluginRuntimeError, ValidationError, formatORPCError, isRetryableORPCCode, toPluginRuntimeError, wrapORPCError } from "./runtime/errors.mjs";
2
3
 
3
4
  //#region src/errors.d.ts
4
-
5
5
  /**
6
6
  * Error pattern constants for categorizing infrastructure errors
7
7
  */
@@ -107,5 +107,5 @@ declare const CommonPluginErrors: {
107
107
  };
108
108
  };
109
109
  //#endregion
110
- export { CommonPluginErrors, ERROR_PATTERNS };
110
+ export { CommonPluginErrors, ERROR_PATTERNS, ModuleFederationError, PluginRuntimeError, ValidationError, formatORPCError, isRetryableORPCCode, toPluginRuntimeError, wrapORPCError };
111
111
  //# sourceMappingURL=errors.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.mts","names":[],"sources":["../src/errors.ts"],"sourcesContent":[],"mappings":";;;;;;AAKA;AAyBa,cAzBA,cA6FH,EAAA;;;;;;;;;;;;;;;;;;;;;;;;cApEG"}
1
+ {"version":3,"file":"errors.d.mts","names":[],"sources":["../src/errors.ts"],"sourcesContent":[],"mappings":";;;;;;;AAKa,cAAA,cASH,EAAA;EAgBG,SAAA,kBAoEH,EAAA,SAAA,CAAA,cAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;cApEG"}
package/dist/errors.mjs CHANGED
@@ -1,4 +1,5 @@
1
1
  import { zod_exports } from "./zod.mjs";
2
+ import { ModuleFederationError, PluginRuntimeError, ValidationError, formatORPCError, isRetryableORPCCode, toPluginRuntimeError, wrapORPCError } from "./runtime/errors.mjs";
2
3
 
3
4
  //#region src/errors.ts
4
5
  /**
@@ -123,5 +124,5 @@ const CommonPluginErrors = {
123
124
  };
124
125
 
125
126
  //#endregion
126
- export { CommonPluginErrors, ERROR_PATTERNS };
127
+ export { CommonPluginErrors, ERROR_PATTERNS, ModuleFederationError, PluginRuntimeError, ValidationError, formatORPCError, isRetryableORPCCode, toPluginRuntimeError, wrapORPCError };
127
128
  //# sourceMappingURL=errors.mjs.map
@@ -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\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"}
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\nexport {\n\tformatORPCError,\n\tisRetryableORPCCode,\n\twrapORPCError,\n\ttoPluginRuntimeError,\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;;;;;;;;;;;;;;;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/index.cjs CHANGED
@@ -1,11 +1,19 @@
1
- const require_errors = require('./errors.cjs');
1
+ const require_errors = require('./runtime/errors.cjs');
2
+ const require_errors$1 = require('./errors.cjs');
2
3
  const require_plugin = require('./plugin.cjs');
3
4
  const require_runtime_services_normalize = require('./runtime/services/normalize.cjs');
4
5
  const require_runtime_index = require('./runtime/index.cjs');
5
6
 
6
- exports.CommonPluginErrors = require_errors.CommonPluginErrors;
7
- exports.ERROR_PATTERNS = require_errors.ERROR_PATTERNS;
7
+ exports.CommonPluginErrors = require_errors$1.CommonPluginErrors;
8
+ exports.ERROR_PATTERNS = require_errors$1.ERROR_PATTERNS;
9
+ exports.ModuleFederationError = require_errors.ModuleFederationError;
8
10
  exports.PluginRuntime = require_runtime_index.PluginRuntime;
11
+ exports.PluginRuntimeError = require_errors.PluginRuntimeError;
12
+ exports.ValidationError = require_errors.ValidationError;
9
13
  exports.createPlugin = require_plugin.createPlugin;
10
14
  exports.createPluginRuntime = require_runtime_index.createPluginRuntime;
11
- exports.getNormalizedRemoteName = require_runtime_services_normalize.getNormalizedRemoteName;
15
+ exports.formatORPCError = require_errors.formatORPCError;
16
+ exports.getNormalizedRemoteName = require_runtime_services_normalize.getNormalizedRemoteName;
17
+ exports.isRetryableORPCCode = require_errors.isRetryableORPCCode;
18
+ exports.toPluginRuntimeError = require_errors.toPluginRuntimeError;
19
+ exports.wrapORPCError = require_errors.wrapORPCError;
package/dist/index.d.cts CHANGED
@@ -1,6 +1,7 @@
1
+ import { ModuleFederationError, PluginRuntimeError, ValidationError, formatORPCError, isRetryableORPCCode, toPluginRuntimeError, wrapORPCError } from "./runtime/errors.cjs";
1
2
  import { CommonPluginErrors, ERROR_PATTERNS } from "./errors.cjs";
2
3
  import { LoadedPluginWithBinding, Plugin, PluginConfigFor, createPlugin } from "./plugin.cjs";
3
4
  import { AnyPlugin, EveryPlugin, InitializedPlugin, LoadedPlugin, PluginClientType, PluginConfigInput, PluginContext, PluginContract, PluginInstance, PluginMetadata, PluginRegistry, PluginRouterType, PluginRuntimeConfig, PluginSecrets, PluginVariables, RegisteredPlugins, SecretsConfig } from "./types.cjs";
4
5
  import { PluginRuntime, createPluginRuntime } from "./runtime/index.cjs";
5
6
  import { getNormalizedRemoteName } from "./runtime/services/normalize.cjs";
6
- export { type AnyPlugin, CommonPluginErrors, ERROR_PATTERNS, type EveryPlugin, type InitializedPlugin, type LoadedPlugin, LoadedPluginWithBinding, Plugin, type PluginClientType, PluginConfigFor, type PluginConfigInput, type PluginContext, type PluginContract, type PluginInstance, type PluginMetadata, type PluginRegistry, type PluginRouterType, PluginRuntime, type PluginRuntimeConfig, type PluginSecrets, type PluginVariables, type RegisteredPlugins, type SecretsConfig, createPlugin, createPluginRuntime, getNormalizedRemoteName };
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 };
package/dist/index.d.mts CHANGED
@@ -1,6 +1,7 @@
1
+ import { ModuleFederationError, PluginRuntimeError, ValidationError, formatORPCError, isRetryableORPCCode, toPluginRuntimeError, wrapORPCError } from "./runtime/errors.mjs";
1
2
  import { CommonPluginErrors, ERROR_PATTERNS } from "./errors.mjs";
2
3
  import { LoadedPluginWithBinding, Plugin, PluginConfigFor, createPlugin } from "./plugin.mjs";
3
4
  import { AnyPlugin, EveryPlugin, InitializedPlugin, LoadedPlugin, PluginClientType, PluginConfigInput, PluginContext, PluginContract, PluginInstance, PluginMetadata, PluginRegistry, PluginRouterType, PluginRuntimeConfig, PluginSecrets, PluginVariables, RegisteredPlugins, SecretsConfig } from "./types.mjs";
4
5
  import { PluginRuntime, createPluginRuntime } from "./runtime/index.mjs";
5
6
  import { getNormalizedRemoteName } from "./runtime/services/normalize.mjs";
6
- export { type AnyPlugin, CommonPluginErrors, ERROR_PATTERNS, type EveryPlugin, type InitializedPlugin, type LoadedPlugin, LoadedPluginWithBinding, Plugin, type PluginClientType, PluginConfigFor, type PluginConfigInput, type PluginContext, type PluginContract, type PluginInstance, type PluginMetadata, type PluginRegistry, type PluginRouterType, PluginRuntime, type PluginRuntimeConfig, type PluginSecrets, type PluginVariables, type RegisteredPlugins, type SecretsConfig, createPlugin, createPluginRuntime, getNormalizedRemoteName };
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 };
package/dist/index.mjs CHANGED
@@ -1,6 +1,7 @@
1
+ import { ModuleFederationError, PluginRuntimeError, ValidationError, formatORPCError, isRetryableORPCCode, toPluginRuntimeError, wrapORPCError } from "./runtime/errors.mjs";
1
2
  import { CommonPluginErrors, ERROR_PATTERNS } from "./errors.mjs";
2
3
  import { createPlugin } from "./plugin.mjs";
3
4
  import { getNormalizedRemoteName } from "./runtime/services/normalize.mjs";
4
5
  import { PluginRuntime, createPluginRuntime } from "./runtime/index.mjs";
5
6
 
6
- export { CommonPluginErrors, ERROR_PATTERNS, PluginRuntime, createPlugin, createPluginRuntime, getNormalizedRemoteName };
7
+ export { CommonPluginErrors, ERROR_PATTERNS, ModuleFederationError, PluginRuntime, PluginRuntimeError, ValidationError, createPlugin, createPluginRuntime, formatORPCError, getNormalizedRemoteName, isRetryableORPCCode, toPluginRuntimeError, wrapORPCError };
package/dist/orpc.d.mts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { IORedisPublisher, IORedisPublisherOptions } from "@orpc/experimental-publisher/ioredis";
2
2
  import { MemoryPublisher, MemoryPublisherOptions } from "@orpc/experimental-publisher/memory";
3
3
  import { UpstashRedisPublisher, UpstashRedisPublisherOptions } from "@orpc/experimental-publisher/upstash-redis";
4
- export * from "@orpc/server";
5
4
  export * from "@orpc/contract";
5
+ export * from "@orpc/server";
6
6
  export * from "@orpc/experimental-publisher";
7
7
  export { IORedisPublisher, type IORedisPublisherOptions, MemoryPublisher, type MemoryPublisherOptions, UpstashRedisPublisher, type UpstashRedisPublisherOptions };
package/dist/orpc.mjs CHANGED
@@ -2,10 +2,10 @@ import { IORedisPublisher } from "@orpc/experimental-publisher/ioredis";
2
2
  import { MemoryPublisher } from "@orpc/experimental-publisher/memory";
3
3
  import { UpstashRedisPublisher } from "@orpc/experimental-publisher/upstash-redis";
4
4
 
5
- export * from "@orpc/server"
6
-
7
5
  export * from "@orpc/contract"
8
6
 
7
+ export * from "@orpc/server"
8
+
9
9
  export * from "@orpc/experimental-publisher"
10
10
 
11
11
  export { IORedisPublisher, MemoryPublisher, UpstashRedisPublisher };
package/dist/package.cjs CHANGED
@@ -1,16 +1,16 @@
1
1
 
2
2
  //#region package.json
3
- var version = "0.8.2";
3
+ var version = "0.8.3";
4
4
  var dependencies = {
5
5
  "@module-federation/enhanced": "^0.21.6",
6
6
  "@module-federation/node": "^2.7.25",
7
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"
8
+ "@orpc/contract": "^1.12.3",
9
+ "@orpc/experimental-publisher": "^1.12.3",
10
+ "@orpc/server": "^1.12.3",
11
+ "@orpc/zod": "^1.12.3",
12
+ "effect": "3.19.12",
13
+ "zod": "4.2.1"
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.8.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\": \"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"}
1
+ {"version":3,"file":"package.cjs","names":[],"sources":["../package.json"],"sourcesContent":["{\n\t\"name\": \"every-plugin\",\n\t\"version\": \"0.8.3\",\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
@@ -1,15 +1,15 @@
1
1
  //#region package.json
2
- var version = "0.8.2";
2
+ var version = "0.8.3";
3
3
  var dependencies = {
4
4
  "@module-federation/enhanced": "^0.21.6",
5
5
  "@module-federation/node": "^2.7.25",
6
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"
7
+ "@orpc/contract": "^1.12.3",
8
+ "@orpc/experimental-publisher": "^1.12.3",
9
+ "@orpc/server": "^1.12.3",
10
+ "@orpc/zod": "^1.12.3",
11
+ "effect": "3.19.12",
12
+ "zod": "4.2.1"
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.8.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\": \"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"}
1
+ {"version":3,"file":"package.mjs","names":[],"sources":["../package.json"],"sourcesContent":["{\n\t\"name\": \"every-plugin\",\n\t\"version\": \"0.8.3\",\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"}