@lark-apaas/devtool-kits 1.0.6-alpha.4 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/error.html CHANGED
@@ -160,13 +160,13 @@
160
160
  // 探测服务是否恢复
161
161
  async function probeService() {
162
162
  try {
163
- console.log('[Probe] 探测服务状态: /dev/health/check');
163
+ console.log('[Probe] 探测服务状态: /dev/logs/health');
164
164
 
165
165
  // 使用 AbortController 实现超时控制
166
166
  const controller = new AbortController();
167
167
  const timeoutId = setTimeout(() => controller.abort(), PROBE_TIMEOUT);
168
168
 
169
- const response = await fetch(`${clientBasePath}/dev/health/check`, {
169
+ const response = await fetch(`${clientBasePath}/dev/logs/health`, {
170
170
  method: 'GET',
171
171
  cache: 'no-cache',
172
172
  redirect: 'manual', // 不自动跟随重定向
package/dist/index.cjs CHANGED
@@ -28093,7 +28093,6 @@ var index_exports = {};
28093
28093
  __export(index_exports, {
28094
28094
  createCollectLogsMiddleware: () => createCollectLogsMiddleware,
28095
28095
  createDevLogsMiddleware: () => createDevLogsMiddleware,
28096
- createHealthCheckMiddleware: () => createHealthCheckMiddleware,
28097
28096
  createOpenapiMiddleware: () => createOpenapiMiddleware,
28098
28097
  handleDevProxyError: () => handleDevProxyError,
28099
28098
  normalizeBasePath: () => normalizeBasePath,
@@ -28658,99 +28657,8 @@ __name(sendSimpleRedirect, "sendSimpleRedirect");
28658
28657
  // src/middlewares/index.ts
28659
28658
  var import_node_path8 = __toESM(require("path"), 1);
28660
28659
 
28661
- // src/middlewares/health-check/router.ts
28662
- var import_express = __toESM(require_express2(), 1);
28663
- var import_node_http2 = __toESM(require("http"), 1);
28664
- function checkServiceHealth(host, port, timeout) {
28665
- return new Promise((resolve) => {
28666
- const startTime = Date.now();
28667
- const req = import_node_http2.default.request({
28668
- hostname: host,
28669
- port,
28670
- path: "/",
28671
- method: "HEAD",
28672
- timeout
28673
- }, (_res) => {
28674
- const responseTime = Date.now() - startTime;
28675
- resolve({
28676
- available: true,
28677
- responseTime
28678
- });
28679
- });
28680
- req.on("timeout", () => {
28681
- req.destroy();
28682
- resolve({
28683
- available: false,
28684
- error: "Request timeout"
28685
- });
28686
- });
28687
- req.on("error", (err) => {
28688
- resolve({
28689
- available: false,
28690
- error: err.message
28691
- });
28692
- });
28693
- req.end();
28694
- });
28695
- }
28696
- __name(checkServiceHealth, "checkServiceHealth");
28697
- function createHealthCheckRouter(options = {}) {
28698
- const { targetPort = Number(process.env.SERVER_PORT) || 3e3, targetHost = "localhost", timeout = 2e3 } = options;
28699
- const router = import_express.default.Router();
28700
- router.get("/check", async (_req, res) => {
28701
- try {
28702
- const result = await checkServiceHealth(targetHost, targetPort, timeout);
28703
- if (result.available) {
28704
- res.status(200).json({
28705
- status: "healthy",
28706
- service: `${targetHost}:${targetPort}`,
28707
- responseTime: result.responseTime,
28708
- timestamp: (/* @__PURE__ */ new Date()).toISOString()
28709
- });
28710
- } else {
28711
- res.status(503).json({
28712
- status: "unhealthy",
28713
- service: `${targetHost}:${targetPort}`,
28714
- error: result.error,
28715
- timestamp: (/* @__PURE__ */ new Date()).toISOString()
28716
- });
28717
- }
28718
- } catch (error) {
28719
- res.status(500).json({
28720
- status: "error",
28721
- service: `${targetHost}:${targetPort}`,
28722
- error: error instanceof Error ? error.message : "Unknown error",
28723
- timestamp: (/* @__PURE__ */ new Date()).toISOString()
28724
- });
28725
- }
28726
- });
28727
- return router;
28728
- }
28729
- __name(createHealthCheckRouter, "createHealthCheckRouter");
28730
-
28731
- // src/middlewares/health-check/index.ts
28732
- var HEALTH_CHECK_ROUTES = [
28733
- {
28734
- method: "GET",
28735
- path: "/check",
28736
- description: "Check if target service is healthy and available"
28737
- }
28738
- ];
28739
- function createHealthCheckMiddleware(options = {}) {
28740
- return {
28741
- name: "health-check",
28742
- mountPath: "/dev/health",
28743
- routes: HEALTH_CHECK_ROUTES,
28744
- enabled: /* @__PURE__ */ __name((context) => context.isDev, "enabled"),
28745
- createRouter: /* @__PURE__ */ __name((_context) => {
28746
- return createHealthCheckRouter(options);
28747
- }, "createRouter")
28748
- };
28749
- }
28750
- __name(createHealthCheckMiddleware, "createHealthCheckMiddleware");
28751
-
28752
28660
  // src/middlewares/openapi/router.ts
28753
- var import_express2 = __toESM(require_express2(), 1);
28661
+ var import_express = __toESM(require_express2(), 1);
28754
28662
 
28755
28663
  // src/middlewares/openapi/controller.ts
28756
28664
  var import_promises = __toESM(require("fs/promises"), 1);
@@ -28997,7 +28905,7 @@ __name(createOpenapiHandler, "createOpenapiHandler");
28997
28905
  // src/middlewares/openapi/router.ts
28998
28906
  function createOpenapiRouter(options, context) {
28999
28907
  const { openapiFilePath, enableEnhancement, serverDir } = options;
29000
- const router = import_express2.default.Router();
28908
+ const router = import_express.default.Router();
29001
28909
  const handler = createOpenapiHandler(openapiFilePath, enableEnhancement, serverDir);
29002
28910
  router.get("/openapi.json", (req, res) => handler(req, res, context));
29003
28911
  return router;
@@ -29031,7 +28939,7 @@ function createOpenapiMiddleware(options) {
29031
28939
  __name(createOpenapiMiddleware, "createOpenapiMiddleware");
29032
28940
 
29033
28941
  // src/middlewares/dev-logs/router.ts
29034
- var import_express3 = __toESM(require_express2(), 1);
28942
+ var import_express2 = __toESM(require_express2(), 1);
29035
28943
 
29036
28944
  // src/middlewares/dev-logs/utils.ts
29037
28945
  var import_node_fs5 = require("fs");
@@ -29473,13 +29381,81 @@ function createGetLogFileHandler(logDir) {
29473
29381
  }
29474
29382
  __name(createGetLogFileHandler, "createGetLogFileHandler");
29475
29383
 
29384
+ // src/middlewares/dev-logs/health.controller.ts
29385
+ var import_node_http2 = __toESM(require("http"), 1);
29386
+ function checkServiceHealth(host, port, timeout) {
29387
+ return new Promise((resolve) => {
29388
+ const startTime = Date.now();
29389
+ const req = import_node_http2.default.request({
29390
+ hostname: host,
29391
+ port,
29392
+ path: "/",
29393
+ method: "HEAD",
29394
+ timeout
29395
+ }, (_res) => {
29396
+ const responseTime = Date.now() - startTime;
29397
+ resolve({
29398
+ available: true,
29399
+ responseTime
29400
+ });
29401
+ });
29402
+ req.on("timeout", () => {
29403
+ req.destroy();
29404
+ resolve({
29405
+ available: false,
29406
+ error: "Request timeout"
29407
+ });
29408
+ });
29409
+ req.on("error", (err) => {
29410
+ resolve({
29411
+ available: false,
29412
+ error: err.message
29413
+ });
29414
+ });
29415
+ req.end();
29416
+ });
29417
+ }
29418
+ __name(checkServiceHealth, "checkServiceHealth");
29419
+ function createHealthCheckHandler(options = {}) {
29420
+ const { targetPort = Number(process.env.SERVER_PORT) || 3e3, targetHost = "localhost", timeout = 2e3 } = options;
29421
+ return async (_req, res) => {
29422
+ try {
29423
+ const result = await checkServiceHealth(targetHost, targetPort, timeout);
29424
+ if (result.available) {
29425
+ res.status(200).json({
29426
+ status: "healthy",
29427
+ service: `${targetHost}:${targetPort}`,
29428
+ responseTime: result.responseTime,
29429
+ timestamp: (/* @__PURE__ */ new Date()).toISOString()
29430
+ });
29431
+ } else {
29432
+ res.status(503).json({
29433
+ status: "unhealthy",
29434
+ service: `${targetHost}:${targetPort}`,
29435
+ error: result.error,
29436
+ timestamp: (/* @__PURE__ */ new Date()).toISOString()
29437
+ });
29438
+ }
29439
+ } catch (error) {
29440
+ res.status(500).json({
29441
+ status: "error",
29442
+ service: `${targetHost}:${targetPort}`,
29443
+ error: error instanceof Error ? error.message : "Unknown error",
29444
+ timestamp: (/* @__PURE__ */ new Date()).toISOString()
29445
+ });
29446
+ }
29447
+ };
29448
+ }
29449
+ __name(createHealthCheckHandler, "createHealthCheckHandler");
29450
+
29476
29451
  // src/middlewares/dev-logs/router.ts
29477
29452
  function createDevLogRouter(options = {}) {
29478
29453
  const logDir = resolveLogDir(options.logDir);
29479
- const router = import_express3.default.Router();
29454
+ const router = import_express2.default.Router();
29480
29455
  router.get("/app/trace/:traceId", createGetTraceEntriesHandler(logDir));
29481
29456
  router.get("/trace/recent", createGetRecentTracesHandler(logDir));
29482
29457
  router.get("/files/:fileName", createGetLogFileHandler(logDir));
29458
+ router.get("/health", createHealthCheckHandler());
29483
29459
  return router;
29484
29460
  }
29485
29461
  __name(createDevLogRouter, "createDevLogRouter");
@@ -29519,7 +29495,7 @@ function createDevLogsMiddleware(options = {}) {
29519
29495
  __name(createDevLogsMiddleware, "createDevLogsMiddleware");
29520
29496
 
29521
29497
  // src/middlewares/collect-logs/router.ts
29522
- var import_express4 = __toESM(require_express2(), 1);
29498
+ var import_express3 = __toESM(require_express2(), 1);
29523
29499
 
29524
29500
  // src/middlewares/collect-logs/controller.ts
29525
29501
  var import_path = require("path");
@@ -29618,9 +29594,9 @@ __name(handleError2, "handleError");
29618
29594
  // src/middlewares/collect-logs/router.ts
29619
29595
  function createDevLogRouter2(options = {}) {
29620
29596
  const logDir = resolveLogDir2(options.logDir);
29621
- const router = import_express4.default.Router();
29622
- router.post("/collect", import_express4.default.json(), collectLogsHandler(logDir, options.fileName || "client.log"));
29623
- router.post("/collect-batch", import_express4.default.json(), collectLogsBatchHandler(logDir, options.fileName || "client.log"));
29597
+ const router = import_express3.default.Router();
29598
+ router.post("/collect", import_express3.default.json(), collectLogsHandler(logDir, options.fileName || "client.log"));
29599
+ router.post("/collect-batch", import_express3.default.json(), collectLogsBatchHandler(logDir, options.fileName || "client.log"));
29624
29600
  return router;
29625
29601
  }
29626
29602
  __name(createDevLogRouter2, "createDevLogRouter");
@@ -29703,27 +29679,10 @@ async function registerMiddlewares(server, middlewares, options) {
29703
29679
  rootDir: process.cwd(),
29704
29680
  ...options
29705
29681
  };
29706
- const defaultMiddlewares = [
29707
- createHealthCheckMiddleware()
29708
- ];
29709
29682
  const allMiddlewares = [
29710
- ...defaultMiddlewares,
29711
29683
  ...middlewares
29712
29684
  ];
29713
- allMiddlewares.forEach((m, i) => {
29714
- console.log(`[Middleware] [${i}] ${m.name} (mountPath: ${m.mountPath || "N/A"})`);
29715
- });
29716
- const seen = /* @__PURE__ */ new Set();
29717
- const uniqueMiddlewares = [];
29718
29685
  for (const middleware of allMiddlewares) {
29719
- if (!seen.has(middleware.name)) {
29720
- seen.add(middleware.name);
29721
- uniqueMiddlewares.push(middleware);
29722
- } else {
29723
- console.log(`[Middleware] Skipping duplicate: ${middleware.name}`);
29724
- }
29725
- }
29726
- for (const middleware of uniqueMiddlewares) {
29727
29686
  if (middleware.enabled && !middleware.enabled(context)) {
29728
29687
  continue;
29729
29688
  }
@@ -29750,7 +29709,6 @@ __name(registerMiddlewares, "registerMiddlewares");
29750
29709
  0 && (module.exports = {
29751
29710
  createCollectLogsMiddleware,
29752
29711
  createDevLogsMiddleware,
29753
- createHealthCheckMiddleware,
29754
29712
  createOpenapiMiddleware,
29755
29713
  handleDevProxyError,
29756
29714
  normalizeBasePath,