@lark-apaas/coding-preset-vite-react 1.0.12 → 1.0.13-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/lib/index.d.ts +1 -9
  2. package/lib/index.d.ts.map +1 -1
  3. package/lib/index.js +114 -153
  4. package/lib/index.js.map +1 -1
  5. package/lib/plugins/{basename.d.ts → basename-injection.d.ts} +4 -4
  6. package/lib/plugins/basename-injection.d.ts.map +1 -0
  7. package/lib/plugins/{basename.js → basename-injection.js} +15 -7
  8. package/lib/plugins/basename-injection.js.map +1 -0
  9. package/lib/plugins/capabilities.d.ts +6 -9
  10. package/lib/plugins/capabilities.d.ts.map +1 -1
  11. package/lib/plugins/capabilities.js +29 -27
  12. package/lib/plugins/capabilities.js.map +1 -1
  13. package/lib/plugins/fonts-mirror.d.ts.map +1 -1
  14. package/lib/plugins/fonts-mirror.js +0 -28
  15. package/lib/plugins/fonts-mirror.js.map +1 -1
  16. package/lib/plugins/view-context.d.ts +5 -0
  17. package/lib/plugins/view-context.d.ts.map +1 -1
  18. package/lib/plugins/view-context.js +3 -0
  19. package/lib/plugins/view-context.js.map +1 -1
  20. package/package.json +1 -3
  21. package/lib/plugins/basename.d.ts.map +0 -1
  22. package/lib/plugins/basename.js.map +0 -1
  23. package/lib/plugins/dev-proxy.d.ts +0 -41
  24. package/lib/plugins/dev-proxy.d.ts.map +0 -1
  25. package/lib/plugins/dev-proxy.js +0 -229
  26. package/lib/plugins/dev-proxy.js.map +0 -1
  27. package/lib/plugins/html-output.d.ts +0 -21
  28. package/lib/plugins/html-output.d.ts.map +0 -1
  29. package/lib/plugins/html-output.js +0 -171
  30. package/lib/plugins/html-output.js.map +0 -1
  31. package/lib/plugins/server-log.d.ts +0 -45
  32. package/lib/plugins/server-log.d.ts.map +0 -1
  33. package/lib/plugins/server-log.js +0 -60
  34. package/lib/plugins/server-log.js.map +0 -1
  35. package/lib/server-log/compat.d.ts +0 -36
  36. package/lib/server-log/compat.d.ts.map +0 -1
  37. package/lib/server-log/compat.js +0 -73
  38. package/lib/server-log/compat.js.map +0 -1
  39. package/lib/server-log/dev-logs/api-list-handler.d.ts +0 -6
  40. package/lib/server-log/dev-logs/api-list-handler.d.ts.map +0 -1
  41. package/lib/server-log/dev-logs/api-list-handler.js +0 -132
  42. package/lib/server-log/dev-logs/api-list-handler.js.map +0 -1
  43. package/lib/server-log/dev-logs/controller.d.ts +0 -45
  44. package/lib/server-log/dev-logs/controller.d.ts.map +0 -1
  45. package/lib/server-log/dev-logs/controller.js +0 -239
  46. package/lib/server-log/dev-logs/controller.js.map +0 -1
  47. package/lib/server-log/dev-logs/health.controller.d.ts +0 -15
  48. package/lib/server-log/dev-logs/health.controller.d.ts.map +0 -1
  49. package/lib/server-log/dev-logs/health.controller.js +0 -79
  50. package/lib/server-log/dev-logs/health.controller.js.map +0 -1
  51. package/lib/server-log/dev-logs/helper/path-matcher.d.ts +0 -117
  52. package/lib/server-log/dev-logs/helper/path-matcher.d.ts.map +0 -1
  53. package/lib/server-log/dev-logs/helper/path-matcher.js +0 -214
  54. package/lib/server-log/dev-logs/helper/path-matcher.js.map +0 -1
  55. package/lib/server-log/dev-logs/index.d.ts +0 -12
  56. package/lib/server-log/dev-logs/index.d.ts.map +0 -1
  57. package/lib/server-log/dev-logs/index.js +0 -61
  58. package/lib/server-log/dev-logs/index.js.map +0 -1
  59. package/lib/server-log/dev-logs/router.d.ts +0 -7
  60. package/lib/server-log/dev-logs/router.d.ts.map +0 -1
  61. package/lib/server-log/dev-logs/router.js +0 -40
  62. package/lib/server-log/dev-logs/router.js.map +0 -1
  63. package/lib/server-log/dev-logs/services/capability.service.d.ts +0 -33
  64. package/lib/server-log/dev-logs/services/capability.service.d.ts.map +0 -1
  65. package/lib/server-log/dev-logs/services/capability.service.js +0 -127
  66. package/lib/server-log/dev-logs/services/capability.service.js.map +0 -1
  67. package/lib/server-log/dev-logs/services/file-reader.d.ts +0 -10
  68. package/lib/server-log/dev-logs/services/file-reader.d.ts.map +0 -1
  69. package/lib/server-log/dev-logs/services/file-reader.js +0 -67
  70. package/lib/server-log/dev-logs/services/file-reader.js.map +0 -1
  71. package/lib/server-log/dev-logs/services/index.d.ts +0 -8
  72. package/lib/server-log/dev-logs/services/index.d.ts.map +0 -1
  73. package/lib/server-log/dev-logs/services/index.js +0 -30
  74. package/lib/server-log/dev-logs/services/index.js.map +0 -1
  75. package/lib/server-log/dev-logs/services/parsers.d.ts +0 -23
  76. package/lib/server-log/dev-logs/services/parsers.d.ts.map +0 -1
  77. package/lib/server-log/dev-logs/services/parsers.js +0 -157
  78. package/lib/server-log/dev-logs/services/parsers.js.map +0 -1
  79. package/lib/server-log/dev-logs/services/server-log.service.d.ts +0 -17
  80. package/lib/server-log/dev-logs/services/server-log.service.d.ts.map +0 -1
  81. package/lib/server-log/dev-logs/services/server-log.service.js +0 -119
  82. package/lib/server-log/dev-logs/services/server-log.service.js.map +0 -1
  83. package/lib/server-log/dev-logs/services/trace.service.d.ts +0 -14
  84. package/lib/server-log/dev-logs/services/trace.service.d.ts.map +0 -1
  85. package/lib/server-log/dev-logs/services/trace.service.js +0 -162
  86. package/lib/server-log/dev-logs/services/trace.service.js.map +0 -1
  87. package/lib/server-log/dev-logs/services/trigger.service.d.ts +0 -14
  88. package/lib/server-log/dev-logs/services/trigger.service.d.ts.map +0 -1
  89. package/lib/server-log/dev-logs/services/trigger.service.js +0 -153
  90. package/lib/server-log/dev-logs/services/trigger.service.js.map +0 -1
  91. package/lib/server-log/dev-logs/services.d.ts +0 -7
  92. package/lib/server-log/dev-logs/services.d.ts.map +0 -1
  93. package/lib/server-log/dev-logs/services.js +0 -20
  94. package/lib/server-log/dev-logs/services.js.map +0 -1
  95. package/lib/server-log/dev-logs/sse/client-manager.d.ts +0 -61
  96. package/lib/server-log/dev-logs/sse/client-manager.d.ts.map +0 -1
  97. package/lib/server-log/dev-logs/sse/client-manager.js +0 -140
  98. package/lib/server-log/dev-logs/sse/client-manager.js.map +0 -1
  99. package/lib/server-log/dev-logs/sse/index.d.ts +0 -5
  100. package/lib/server-log/dev-logs/sse/index.d.ts.map +0 -1
  101. package/lib/server-log/dev-logs/sse/index.js +0 -11
  102. package/lib/server-log/dev-logs/sse/index.js.map +0 -1
  103. package/lib/server-log/dev-logs/sse/log-watcher.d.ts +0 -51
  104. package/lib/server-log/dev-logs/sse/log-watcher.d.ts.map +0 -1
  105. package/lib/server-log/dev-logs/sse/log-watcher.js +0 -381
  106. package/lib/server-log/dev-logs/sse/log-watcher.js.map +0 -1
  107. package/lib/server-log/dev-logs/sse/sse.controller.d.ts +0 -25
  108. package/lib/server-log/dev-logs/sse/sse.controller.d.ts.map +0 -1
  109. package/lib/server-log/dev-logs/sse/sse.controller.js +0 -95
  110. package/lib/server-log/dev-logs/sse/sse.controller.js.map +0 -1
  111. package/lib/server-log/dev-logs/types.d.ts +0 -104
  112. package/lib/server-log/dev-logs/types.d.ts.map +0 -1
  113. package/lib/server-log/dev-logs/types.js +0 -3
  114. package/lib/server-log/dev-logs/types.js.map +0 -1
  115. package/lib/server-log/dev-logs/utils.d.ts +0 -68
  116. package/lib/server-log/dev-logs/utils.d.ts.map +0 -1
  117. package/lib/server-log/dev-logs/utils.js +0 -151
  118. package/lib/server-log/dev-logs/utils.js.map +0 -1
  119. package/lib/server-log/register.d.ts +0 -34
  120. package/lib/server-log/register.d.ts.map +0 -1
  121. package/lib/server-log/register.js +0 -196
  122. package/lib/server-log/register.js.map +0 -1
  123. package/lib/server-log/types.d.ts +0 -99
  124. package/lib/server-log/types.d.ts.map +0 -1
  125. package/lib/server-log/types.js +0 -3
  126. package/lib/server-log/types.js.map +0 -1
  127. package/lib/utils/local-dev.d.ts +0 -46
  128. package/lib/utils/local-dev.d.ts.map +0 -1
  129. package/lib/utils/local-dev.js +0 -96
  130. package/lib/utils/local-dev.js.map +0 -1
  131. package/lib/utils/proxy-error.d.ts +0 -29
  132. package/lib/utils/proxy-error.d.ts.map +0 -1
  133. package/lib/utils/proxy-error.js +0 -158
  134. package/lib/utils/proxy-error.js.map +0 -1
@@ -1,214 +0,0 @@
1
- "use strict";
2
- /**
3
- * Path matcher utility for matching request paths against OpenAPI/Swagger/NestJS path patterns
4
- *
5
- * Note: Input paths should be clean request paths without query strings or hash fragments
6
- *
7
- * Supports:
8
- * - Exact matching: /api/users === /api/users (only)
9
- * - Path parameters: /api/users/{id} matches /api/users/123
10
- * - Nested parameters: /api/users/{userId}/posts/{postId}
11
- * - Wildcard (asterisk): /api/star/users matches /api/v1/users (use * for single segment)
12
- * - Recursive wildcard: /files/star-star matches /files/a/b/c (use two asterisks for multiple segments)
13
- *
14
- * Note: Prefix matching has been removed. Use slash-two-asterisks for matching sub-paths:
15
- * - /api/users - matches /api/users only
16
- * - /api/users/two-asterisks - matches /api/users, /api/users/123, /api/users/123/posts, etc.
17
- */
18
- Object.defineProperty(exports, "__esModule", { value: true });
19
- exports.matchesPathPattern = matchesPathPattern;
20
- exports.extractPathParams = extractPathParams;
21
- exports.hasSpecialPatterns = hasSpecialPatterns;
22
- exports.hasPathParameters = hasPathParameters;
23
- exports.hasWildcards = hasWildcards;
24
- exports.normalizePathForMatching = normalizePathForMatching;
25
- exports.normalizePath = normalizePath;
26
- /**
27
- * Convert path pattern to regex, supporting wildcards and path parameters
28
- *
29
- * Examples:
30
- * /api/users/{id} -> /^\/api\/users\/[^/]+$/
31
- * /api/star/users -> /^\/api\/[^/]+\/users$/
32
- * /files/double-star -> /^\/files\/.+$/
33
- * /api/v{version}/users -> /^\/api\/v[^/]+\/users$/
34
- */
35
- function pathPatternToRegex(pattern) {
36
- // Escape special regex characters except {}, *, /
37
- let regexPattern = pattern.replace(/[.+?^$|()[\]\\]/g, '\\$&');
38
- // Handle recursive wildcard /** (must be at the end or followed by /)
39
- // /files/** -> /files/.+ (matches one or more path segments)
40
- // This follows NestJS routing convention where ** requires at least one segment
41
- regexPattern = regexPattern.replace(/\/\*\*$/, '/.+');
42
- regexPattern = regexPattern.replace(/\/\*\*\//g, '/(?:.+/)?');
43
- // Handle single wildcard * (matches exactly one path segment)
44
- // /api/*/users -> /api/[^/]+/users
45
- regexPattern = regexPattern.replace(/\*/g, '[^/]+');
46
- // Replace path parameters {param} with regex group that matches anything except /
47
- regexPattern = regexPattern.replace(/\{[^}]+\}/g, '[^/]+');
48
- // Anchor to start and end
49
- return new RegExp(`^${regexPattern}$`);
50
- }
51
- /**
52
- * Check if an actual path matches an OpenAPI/Swagger/NestJS path pattern
53
- *
54
- * @param actualPath - The actual request path (e.g., /api/users/123)
55
- * @param pattern - The path pattern (e.g., /api/users/{id})
56
- * @returns true if the actual path matches the pattern
57
- *
58
- * @example
59
- * // Exact match
60
- * matchesPathPattern('/api/users', '/api/users') // true
61
- * matchesPathPattern('/api/users/123', '/api/users') // false
62
- *
63
- * // Path parameters
64
- * matchesPathPattern('/api/users/123', '/api/users/{id}') // true
65
- *
66
- * // Wildcards
67
- * matchesPathPattern('/api/v1/users', '/api/star/users') // true (use * not star)
68
- * matchesPathPattern('/api/v2/users', '/api/star/users') // true
69
- *
70
- * // Recursive wildcards (use two asterisks, not /**!)
71
- * matchesPathPattern('/files/a/b/c', '/files/starstar') // true (use ** not starstar)
72
- * matchesPathPattern('/files/x', '/files/starstar') // true
73
- */
74
- function matchesPathPattern(actualPath, pattern) {
75
- if (!actualPath || !pattern) {
76
- return false;
77
- }
78
- // Normalize paths: remove trailing slashes and query strings
79
- const normalizedActual = normalizePathForMatching(actualPath);
80
- const normalizedPattern = normalizePathForMatching(pattern);
81
- // Exact match (no parameters or wildcards)
82
- if (normalizedActual === normalizedPattern) {
83
- return true;
84
- }
85
- // Check if pattern contains special characters (parameters, wildcards)
86
- if (hasSpecialPatterns(normalizedPattern)) {
87
- const regex = pathPatternToRegex(normalizedPattern);
88
- return regex.test(normalizedActual);
89
- }
90
- // No match - exact paths that are different
91
- return false;
92
- }
93
- /**
94
- * Extract path parameters from actual path using pattern
95
- *
96
- * Note: This only extracts named parameters {param}, not wildcards
97
- *
98
- * @param actualPath - The actual request path
99
- * @param pattern - The path pattern with parameters
100
- * @returns Object with parameter names and values, or null if no match
101
- *
102
- * @example
103
- * extractPathParams('/api/users/123', '/api/users/{id}')
104
- * // { id: '123' }
105
- *
106
- * extractPathParams('/api/users/123/posts/456', '/api/users/{userId}/posts/{postId}')
107
- * // { userId: '123', postId: '456' }
108
- *
109
- * // Wildcards are not captured (use asterisk)
110
- * extractPathParams('/api/v1/users/123', '/api/asterisk/users/{id}')
111
- * // { id: '123' }
112
- */
113
- function extractPathParams(actualPath, pattern) {
114
- const normalizedActual = normalizePathForMatching(actualPath);
115
- const normalizedPattern = normalizePathForMatching(pattern);
116
- // Extract parameter names from pattern (only {param} style)
117
- const paramNames = [];
118
- const paramRegex = /\{([^}]+)\}/g;
119
- let match;
120
- while ((match = paramRegex.exec(normalizedPattern)) !== null) {
121
- paramNames.push(match[1]);
122
- }
123
- if (paramNames.length === 0) {
124
- // No named parameters in pattern
125
- return normalizedActual === normalizedPattern ? {} : null;
126
- }
127
- // Build regex with capturing groups for named parameters
128
- let regexPattern = normalizedPattern.replace(/[.+?^$|()[\]\\]/g, '\\$&');
129
- // Replace wildcards with non-capturing groups
130
- regexPattern = regexPattern.replace(/\/\*\*$/, '/.+');
131
- regexPattern = regexPattern.replace(/\/\*\*\//g, '/(?:.+/)?');
132
- regexPattern = regexPattern.replace(/\*/g, '[^/]+');
133
- // Replace named parameters with capturing groups
134
- regexPattern = regexPattern.replace(/\{[^}]+\}/g, '([^/]+)');
135
- const regex = new RegExp(`^${regexPattern}$`);
136
- const result = regex.exec(normalizedActual);
137
- if (!result) {
138
- return null;
139
- }
140
- // Map parameter names to captured values
141
- const params = {};
142
- paramNames.forEach((name, index) => {
143
- params[name] = result[index + 1]; // index + 1 because result[0] is the full match
144
- });
145
- return params;
146
- }
147
- /**
148
- * Check if a pattern contains special matching characters
149
- *
150
- * @param pattern - The path pattern to check
151
- * @returns true if the pattern contains parameters, wildcards, etc.
152
- *
153
- * @example
154
- * hasSpecialPatterns('/api/users/{id}') // true
155
- * hasSpecialPatterns('/api/asterisk/users') // true (with actual asterisk character)
156
- * hasSpecialPatterns('/files/double-asterisk') // true (with actual double asterisk)
157
- * hasSpecialPatterns('/api/users') // false
158
- */
159
- function hasSpecialPatterns(pattern) {
160
- return /[{*]/.test(pattern);
161
- }
162
- /**
163
- * Check if a pattern contains path parameters (not wildcards)
164
- *
165
- * @param pattern - The path pattern to check
166
- * @returns true if the pattern contains {param} style parameters
167
- *
168
- * @example
169
- * hasPathParameters('/api/users/{id}') // true
170
- * hasPathParameters('/api/asterisk/users') // false (with actual asterisk character)
171
- * hasPathParameters('/api/users') // false
172
- */
173
- function hasPathParameters(pattern) {
174
- return /\{[^}]+\}/.test(pattern);
175
- }
176
- /**
177
- * Check if a pattern contains wildcards
178
- *
179
- * @param pattern - The path pattern to check
180
- * @returns true if the pattern contains asterisk or double asterisk
181
- *
182
- * @example
183
- * hasWildcards('/api/asterisk/users') // true (with actual asterisk character)
184
- * hasWildcards('/files/double-asterisk') // true (with actual double asterisk)
185
- * hasWildcards('/api/users/{id}') // false
186
- */
187
- function hasWildcards(pattern) {
188
- return pattern.includes('*');
189
- }
190
- /**
191
- * Normalize a path for matching by:
192
- * - Removing trailing slashes
193
- * - Removing duplicate slashes
194
- *
195
- * @param path - The path to normalize
196
- * @returns Normalized path
197
- *
198
- * @example
199
- * normalizePathForMatching('/api/users/') // '/api/users'
200
- * normalizePathForMatching('/api//users') // '/api/users'
201
- */
202
- function normalizePathForMatching(path) {
203
- return path
204
- .replace(/\/+/g, '/') // Replace multiple slashes with single slash
205
- .replace(/\/+$/, ''); // Remove trailing slash
206
- }
207
- /**
208
- * Normalize a path (deprecated, use normalizePathForMatching)
209
- * @deprecated Use normalizePathForMatching instead
210
- */
211
- function normalizePath(path) {
212
- return normalizePathForMatching(path);
213
- }
214
- //# sourceMappingURL=path-matcher.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"path-matcher.js","sourceRoot":"","sources":["../../../../src/server-log/dev-logs/helper/path-matcher.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import type { RouteMiddleware } from '../types';
2
- interface DevLogsMiddlewareOptions {
3
- /** Directory containing log files */
4
- logDir?: string;
5
- }
6
- /**
7
- * Creates dev logs middleware for viewing application logs
8
- * Supports both rspack/webpack and Vite dev servers
9
- */
10
- export declare function createDevLogsMiddleware(options?: DevLogsMiddlewareOptions): RouteMiddleware;
11
- export {};
12
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server-log/dev-logs/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAgC,MAAM,UAAU,CAAC;AAG9E,UAAU,wBAAwB;IAChC,qCAAqC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA2CD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,GAAE,wBAA6B,GAAG,eAAe,CAc/F"}
@@ -1,61 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createDevLogsMiddleware = createDevLogsMiddleware;
4
- const router_1 = require("./router");
5
- /**
6
- * Routes provided by dev logs middleware
7
- */
8
- const DEV_LOGS_ROUTES = [
9
- {
10
- method: 'GET',
11
- path: '/app/trace/:traceId',
12
- description: 'Get log entries by trace ID',
13
- },
14
- {
15
- method: 'GET',
16
- path: '/trace/recent',
17
- description: 'Get recent trace calls with pagination and optional path/method filters',
18
- },
19
- {
20
- method: 'GET',
21
- path: '/files/:fileName',
22
- description: 'Get paginated log file content by file name',
23
- },
24
- {
25
- method: 'GET',
26
- path: '/server-logs',
27
- description: 'Get server logs in ServerLog format (compatible with frontend)',
28
- },
29
- {
30
- method: 'GET',
31
- path: '/trace/trigger/list',
32
- description: 'Get trigger list (automation trigger) in trace.log',
33
- },
34
- {
35
- method: 'GET',
36
- path: '/trace/trigger/:instanceID',
37
- description: 'Get trigger detail (automation trigger) in trace.log by instanceID',
38
- },
39
- {
40
- method: 'GET',
41
- path: '/api-list',
42
- description: 'Get all API routes grouped by module',
43
- },
44
- ];
45
- /**
46
- * Creates dev logs middleware for viewing application logs
47
- * Supports both rspack/webpack and Vite dev servers
48
- */
49
- function createDevLogsMiddleware(options = {}) {
50
- const { logDir } = options;
51
- return {
52
- name: 'dev-logs',
53
- mountPath: '/dev/logs',
54
- routes: DEV_LOGS_ROUTES,
55
- enabled: (context) => context.isDev,
56
- createRouter: (context) => {
57
- return (0, router_1.createDevLogRouter)({ logDir: logDir || context.logDir });
58
- },
59
- };
60
- }
61
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server-log/dev-logs/index.ts"],"names":[],"mappings":";;AAqDA,0DAcC;AAlED,qCAA8C;AAO9C;;GAEG;AACH,MAAM,eAAe,GAAgB;IACnC;QACE,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,6BAA6B;KAC3C;IACD;QACE,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,yEAAyE;KACvF;IACD;QACE,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,6CAA6C;KAC3D;IACD;QACE,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,gEAAgE;KAC9E;IACD;QACE,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,oDAAoD;KAClE;IACD;QACE,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,4BAA4B;QAClC,WAAW,EAAE,oEAAoE;KAClF;IACD;QACE,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,sCAAsC;KACpD;CACF,CAAC;AAEF;;;GAGG;AACH,SAAgB,uBAAuB,CAAC,UAAoC,EAAE;IAC5E,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAE3B,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,SAAS,EAAE,WAAW;QACtB,MAAM,EAAE,eAAe;QAEvB,OAAO,EAAE,CAAC,OAA0B,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK;QAEtD,YAAY,EAAE,CAAC,OAA0B,EAAE,EAAE;YAC3C,OAAO,IAAA,2BAAkB,EAAC,EAAE,MAAM,EAAE,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAClE,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,7 +0,0 @@
1
- import { Router } from 'express';
2
- import type { RouterOptions } from './types';
3
- /**
4
- * Create dev log router with all routes registered
5
- */
6
- export declare function createDevLogRouter(options?: RouterOptions): Router;
7
- //# sourceMappingURL=router.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../src/server-log/dev-logs/router.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAc7C;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,aAAkB,GAAG,MAAM,CAkCtE"}
@@ -1,40 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.createDevLogRouter = createDevLogRouter;
7
- const express_1 = __importDefault(require("express"));
8
- const utils_1 = require("./utils");
9
- const controller_1 = require("./controller");
10
- const health_controller_1 = require("./health.controller");
11
- const sse_1 = require("./sse");
12
- const api_list_handler_1 = require("./api-list-handler");
13
- /**
14
- * Create dev log router with all routes registered
15
- */
16
- function createDevLogRouter(options = {}) {
17
- const logDir = (0, utils_1.resolveLogDir)(options.logDir);
18
- const router = express_1.default.Router();
19
- // GET /app/trace/:traceId - Get log entries by trace ID
20
- router.get('/app/trace/:traceId', (0, controller_1.createGetTraceEntriesHandler)(logDir));
21
- // GET /trace/recent - Get recent trace calls with pagination
22
- router.get('/trace/recent', (0, controller_1.createGetRecentTracesHandler)(logDir));
23
- // GET /files/:fileName - Get paginated log file content
24
- router.get('/files/:fileName', (0, controller_1.createGetLogFileHandler)(logDir));
25
- // GET /server-logs - Get server logs in ServerLog format (compatible with frontend)
26
- router.get('/server-logs', (0, controller_1.createGetServerLogsHandler)(logDir));
27
- // GET /server-logs/stream - SSE endpoint for real-time server logs
28
- router.get('/server-logs/stream', (0, sse_1.createSSEHandler)(logDir));
29
- // GET /trace/trigger/list - get all automation trigger list in trace.log
30
- router.get('/trace/trigger/list', (0, controller_1.createGetTriggerListHandler)(logDir));
31
- // GET /trace/trigger/:instanceID - get automation trigger detail by instanceID in server.log
32
- router.get('/trace/trigger/:instanceID', (0, controller_1.createGetTriggerDetailHandler)(logDir));
33
- // GET /trace/capability/list - get capability trace list by capability_id in server.log
34
- router.get('/trace/capability/list', (0, controller_1.createGetCapabilityTraceListHandler)(logDir));
35
- router.get('/health', (0, health_controller_1.createHealthCheckHandler)());
36
- // GET /api-list - 获取所有 API 路由(从 api-routes 迁移过来)
37
- router.get('/api-list', (0, api_list_handler_1.createApiListHandler)());
38
- return router;
39
- }
40
- //# sourceMappingURL=router.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/server-log/dev-logs/router.ts"],"names":[],"mappings":";;;;;AAkBA,gDAkCC;AApDD,sDAA0C;AAE1C,mCAAwC;AACxC,6CAQsB;AACtB,2DAA+D;AAC/D,+BAAyC;AACzC,yDAA0D;AAC1D;;GAEG;AACH,SAAgB,kBAAkB,CAAC,UAAyB,EAAE;IAC5D,MAAM,MAAM,GAAG,IAAA,qBAAa,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,iBAAO,CAAC,MAAM,EAAE,CAAC;IAEhC,wDAAwD;IACxD,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAA,yCAA4B,EAAC,MAAM,CAAC,CAAC,CAAC;IAExE,6DAA6D;IAC7D,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,IAAA,yCAA4B,EAAC,MAAM,CAAC,CAAC,CAAC;IAElE,wDAAwD;IACxD,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAA,oCAAuB,EAAC,MAAM,CAAC,CAAC,CAAC;IAEhE,oFAAoF;IACpF,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,IAAA,uCAA0B,EAAC,MAAM,CAAC,CAAC,CAAC;IAE/D,mEAAmE;IACnE,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAA,sBAAgB,EAAC,MAAM,CAAC,CAAC,CAAC;IAE5D,yEAAyE;IACzE,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAA,wCAA2B,EAAC,MAAM,CAAC,CAAC,CAAC;IAEvE,6FAA6F;IAC7F,MAAM,CAAC,GAAG,CAAC,4BAA4B,EAAE,IAAA,0CAA6B,EAAC,MAAM,CAAC,CAAC,CAAC;IAEhF,wFAAwF;IACxF,MAAM,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAA,gDAAmC,EAAC,MAAM,CAAC,CAAC,CAAC;IAElF,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,IAAA,4CAAwB,GAAE,CAAC,CAAC;IAElD,iDAAiD;IACjD,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,IAAA,uCAAoB,GAAE,CAAC,CAAC;IAEhD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,33 +0,0 @@
1
- /**
2
- * Capability trace item
3
- */
4
- export interface CapabilityTraceItem {
5
- traceId: string;
6
- capabilityId: string;
7
- pluginKey?: string;
8
- action?: string;
9
- startTime?: string;
10
- endTime?: string;
11
- durationMs?: number;
12
- status: 'success' | 'failed';
13
- input?: string;
14
- output?: string;
15
- error?: {
16
- message: string;
17
- };
18
- }
19
- /**
20
- * Response for capability trace list
21
- */
22
- export interface CapabilityTraceListResponse {
23
- capabilityId: string;
24
- totalTraces: number;
25
- traces: CapabilityTraceItem[];
26
- }
27
- /**
28
- * Read capability trace list from server.log
29
- * Filter by capability_id field in log entries
30
- * Returns only input and output entries for each trace
31
- */
32
- export declare function readCapabilityTraceList(filePath: string, capabilityId: string, limit?: number): Promise<CapabilityTraceListResponse | undefined>;
33
- //# sourceMappingURL=capability.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"capability.service.d.ts","sourceRoot":"","sources":["../../../../src/server-log/dev-logs/services/capability.service.ts"],"names":[],"mappings":"AAuBA;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,mBAAmB,EAAE,CAAC;CAC/B;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC,CAsIlD"}
@@ -1,127 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.readCapabilityTraceList = readCapabilityTraceList;
4
- const utils_1 = require("../utils");
5
- const file_reader_1 = require("./file-reader");
6
- /**
7
- * Read capability trace list from server.log
8
- * Filter by capability_id field in log entries
9
- * Returns only input and output entries for each trace
10
- */
11
- async function readCapabilityTraceList(filePath, capabilityId, limit) {
12
- if (!(await (0, utils_1.fileExists)(filePath))) {
13
- return undefined;
14
- }
15
- const config = {
16
- chunkSize: 64 * 1024,
17
- };
18
- const builders = new Map();
19
- const completedTraces = [];
20
- const createCapabilityTraceBuilder = (traceId, capId) => ({
21
- traceId,
22
- capabilityId: capId,
23
- hasCompleted: false,
24
- hasStartEntry: false,
25
- });
26
- const shouldIncludeInCompletedTraces = (builder) => {
27
- const alreadyAdded = completedTraces.some(trace => trace.traceId === builder.traceId);
28
- if (alreadyAdded) {
29
- return false;
30
- }
31
- return builder.capabilityId === capabilityId;
32
- };
33
- const updateBuilderMetadata = (builder, entry) => {
34
- if (entry.plugin_key && !builder.pluginKey) {
35
- builder.pluginKey = String(entry.plugin_key);
36
- }
37
- if (entry.action && !builder.action) {
38
- builder.action = String(entry.action);
39
- }
40
- const message = entry.message || '';
41
- // Check if this is the start of capability execution (入参日志)
42
- // 从独立字段读取 input
43
- if (message.includes('Executing capability') && !builder.hasStartEntry) {
44
- builder.hasStartEntry = true;
45
- builder.startTime = entry.time;
46
- if (entry.input) {
47
- builder.input = String(entry.input);
48
- }
49
- }
50
- // Check if this is successful completion (结果日志)
51
- // 从独立字段读取 output, duration_ms
52
- if (message.includes('executed successfully')) {
53
- builder.hasCompleted = true;
54
- builder.endTime = entry.time;
55
- builder.status = 'success';
56
- if (entry.output) {
57
- builder.output = String(entry.output);
58
- }
59
- if (entry.duration_ms) {
60
- builder.durationMs = Number(entry.duration_ms);
61
- }
62
- if (shouldIncludeInCompletedTraces(builder)) {
63
- completedTraces.push(builder);
64
- }
65
- }
66
- // Check if this is failed execution (失败日志)
67
- // 从独立字段读取 error, duration_ms
68
- if (message.includes('execution failed')) {
69
- builder.hasCompleted = true;
70
- builder.endTime = entry.time;
71
- builder.status = 'failed';
72
- if (entry.error) {
73
- builder.error = { message: String(entry.error) };
74
- }
75
- if (entry.duration_ms) {
76
- builder.durationMs = Number(entry.duration_ms);
77
- }
78
- if (shouldIncludeInCompletedTraces(builder)) {
79
- completedTraces.push(builder);
80
- }
81
- }
82
- };
83
- const processLogEntry = (entry) => {
84
- const { trace_id: traceId, capability_id: capId } = entry;
85
- if (!traceId || !capId || capId !== capabilityId)
86
- return;
87
- let builder = builders.get(traceId);
88
- if (!builder) {
89
- builder = createCapabilityTraceBuilder(traceId, capId);
90
- builders.set(traceId, builder);
91
- }
92
- updateBuilderMetadata(builder, entry);
93
- };
94
- const processLine = (line) => {
95
- const entry = (0, utils_1.parseLogLine)(line);
96
- if (entry?.capability_id) {
97
- processLogEntry(entry);
98
- }
99
- };
100
- await (0, file_reader_1.readFileReverse)(filePath, config.chunkSize, processLine);
101
- // Sort by endTime descending (newest first)
102
- completedTraces.sort((a, b) => {
103
- const timeA = a.endTime ? new Date(a.endTime).getTime() : 0;
104
- const timeB = b.endTime ? new Date(b.endTime).getTime() : 0;
105
- return timeB - timeA;
106
- });
107
- // Apply limit after sorting
108
- const limitedTraces = limit ? completedTraces.slice(0, limit) : completedTraces;
109
- return {
110
- capabilityId,
111
- totalTraces: limitedTraces.length,
112
- traces: limitedTraces.map((builder) => ({
113
- traceId: builder.traceId,
114
- capabilityId: builder.capabilityId,
115
- pluginKey: builder.pluginKey,
116
- action: builder.action,
117
- startTime: builder.startTime,
118
- endTime: builder.endTime,
119
- durationMs: builder.durationMs,
120
- status: builder.status || 'failed',
121
- input: builder.input,
122
- output: builder.output,
123
- error: builder.error,
124
- })),
125
- };
126
- }
127
- //# sourceMappingURL=capability.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"capability.service.js","sourceRoot":"","sources":["../../../../src/server-log/dev-logs/services/capability.service.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import type { TraceBuilder, RecentTraceCallsResponse } from '../types';
2
- /**
3
- * Read file in reverse order (from end to beginning)
4
- */
5
- export declare function readFileReverse(filePath: string, chunkSize: number, processLine: (line: string) => void): Promise<void>;
6
- /**
7
- * Build paginated response from trace builders
8
- */
9
- export declare function buildPaginatedResponse(items: TraceBuilder[], page: number, pageSize: number): RecentTraceCallsResponse;
10
- //# sourceMappingURL=file-reader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-reader.d.ts","sourceRoot":"","sources":["../../../../src/server-log/dev-logs/services/file-reader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAEvE;;GAEG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAClC,OAAO,CAAC,IAAI,CAAC,CAqCf;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,YAAY,EAAE,EACrB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,wBAAwB,CAwB1B"}
@@ -1,67 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.readFileReverse = readFileReverse;
4
- exports.buildPaginatedResponse = buildPaginatedResponse;
5
- const node_fs_1 = require("node:fs");
6
- /**
7
- * Read file in reverse order (from end to beginning)
8
- */
9
- async function readFileReverse(filePath, chunkSize, processLine) {
10
- const handle = await node_fs_1.promises.open(filePath, 'r');
11
- try {
12
- const stats = await handle.stat();
13
- let position = stats.size;
14
- let remainder = '';
15
- while (position > 0) {
16
- const length = Math.min(chunkSize, position);
17
- position -= length;
18
- const buffer = Buffer.alloc(length);
19
- await handle.read(buffer, 0, length, position);
20
- let chunk = buffer.toString('utf8');
21
- if (remainder) {
22
- chunk += remainder;
23
- remainder = '';
24
- }
25
- const lines = chunk.split('\n');
26
- remainder = lines.shift() ?? '';
27
- for (let i = lines.length - 1; i >= 0; i -= 1) {
28
- if (lines[i]) {
29
- processLine(lines[i]);
30
- }
31
- }
32
- }
33
- if (remainder) {
34
- processLine(remainder);
35
- }
36
- }
37
- finally {
38
- await handle.close();
39
- }
40
- }
41
- /**
42
- * Build paginated response from trace builders
43
- */
44
- function buildPaginatedResponse(items, page, pageSize) {
45
- const totalItems = items.length;
46
- const totalPages = totalItems === 0 ? 0 : Math.ceil(totalItems / pageSize);
47
- const startIndex = (page - 1) * pageSize;
48
- const endIndex = Math.min(startIndex + pageSize, totalItems);
49
- const pagedItems = items.slice(startIndex, endIndex).map((builder) => ({
50
- traceId: builder.traceId,
51
- method: builder.method,
52
- path: builder.path,
53
- startTime: builder.startTime,
54
- endTime: builder.endTime,
55
- statusCode: builder.statusCode,
56
- durationMs: builder.durationMs,
57
- entries: builder.entries.slice().reverse(),
58
- }));
59
- return {
60
- page,
61
- pageSize,
62
- totalCalls: totalItems,
63
- totalPages,
64
- calls: pagedItems,
65
- };
66
- }
67
- //# sourceMappingURL=file-reader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-reader.js","sourceRoot":"","sources":["../../../../src/server-log/dev-logs/services/file-reader.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- export { readFileReverse, buildPaginatedResponse } from './file-reader';
2
- export { generateUUID, mapPinoLevelToServerLogLevel, extractLogLevel, parsePinoLog, parseStdLog, } from './parsers';
3
- export { readLogEntriesByTrace, readRecentTraceCalls, readLogFilePage, } from './trace.service';
4
- export { readServerLogs } from './server-log.service';
5
- export { readTriggerList, readTriggerDetail } from './trigger.service';
6
- export { readCapabilityTraceList } from './capability.service';
7
- export type { CapabilityTraceListResponse, CapabilityTraceItem } from './capability.service';
8
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server-log/dev-logs/services/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAGxE,OAAO,EACL,YAAY,EACZ,4BAA4B,EAC5B,eAAe,EACf,YAAY,EACZ,WAAW,GACZ,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,YAAY,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC"}