@jonathanleelx/meddle 0.5.0-beta.19 → 0.5.0-beta.20

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 (37) hide show
  1. package/dist/core/mock-handler.d.ts +7 -0
  2. package/dist/core/mock-handler.d.ts.map +1 -1
  3. package/dist/core/mock-handler.js +136 -7
  4. package/dist/core/mock-handler.js.map +1 -1
  5. package/dist/server/mocks.js +3 -3
  6. package/dist/server/mocks.js.map +1 -1
  7. package/package.json +1 -1
  8. package/web/dist/assets/{detail-panel-DyvoHlCG.js → detail-panel-CO_7xRlW.js} +3 -3
  9. package/web/dist/assets/{global-panel-shell-BJaQ_VLp.js → global-panel-shell-dKKTLNpP.js} +3 -3
  10. package/web/dist/assets/{health-panel-BnxNCGvw.js → health-panel-CUEWcU8g.js} +1 -1
  11. package/web/dist/assets/{index-Bu3zaxzE.js → index-B9-_OFNJ.js} +2 -2
  12. package/web/dist/assets/{mobile-proxy-panel-BxJ8OmLu.js → mobile-proxy-panel-smm4Pg7o.js} +2 -2
  13. package/web/dist/assets/mock-config-BA0GNr6q.js +1 -0
  14. package/web/dist/assets/mock-editor-panel-ttVorhGI.js +20 -0
  15. package/web/dist/assets/{mocks-file-missing-note-B8TTBWtG.js → mocks-file-missing-note-DBYZjOpC.js} +1 -1
  16. package/web/dist/assets/{monaco-editor-DeJNlo9k.js → monaco-editor-DH2CE6FN.js} +1 -1
  17. package/web/dist/assets/{pane-split-Db1aWKUO.js → pane-split-40_YQZ0-.js} +1 -1
  18. package/web/dist/assets/{panel-heading-BAI_lNmT.js → panel-heading-BaLG_KAE.js} +1 -1
  19. package/web/dist/assets/plugin-code-editor-B2Sc5Ngy.js +2 -0
  20. package/web/dist/assets/plugin-config-nnVWs8jW.js +2 -0
  21. package/web/dist/assets/plugin-generator-B2CAEqPa.js +2 -0
  22. package/web/dist/assets/plugin-test-dialog-BU0As6z0.js +7 -0
  23. package/web/dist/assets/{route-preview-BZ3vhvsc.js → route-preview-Do3jsXLI.js} +1 -1
  24. package/web/dist/assets/{rule-ai-assistant-panel-DfivYxZH.js → rule-ai-assistant-panel-g-UkLb_B.js} +2 -2
  25. package/web/dist/assets/rule-config-Bzw8J0q1.js +15 -0
  26. package/web/dist/assets/rule-overview-panel-DIBRGnrb.js +1 -0
  27. package/web/dist/assets/settings-panel-CrvG4M_b.js +1 -0
  28. package/web/dist/index.html +1 -1
  29. package/web/dist/assets/mock-config-Dp2D5iiv.js +0 -1
  30. package/web/dist/assets/mock-editor-panel-zqouxTGb.js +0 -20
  31. package/web/dist/assets/plugin-code-editor-CQqpaaCR.js +0 -2
  32. package/web/dist/assets/plugin-config-CjcRhSZm.js +0 -2
  33. package/web/dist/assets/plugin-generator-Cr_gk3Tp.js +0 -2
  34. package/web/dist/assets/plugin-test-dialog-B5mVM3XE.js +0 -7
  35. package/web/dist/assets/rule-config-DSX8bBHe.js +0 -15
  36. package/web/dist/assets/rule-overview-panel-D5gY3akK.js +0 -1
  37. package/web/dist/assets/settings-panel-Bfzfsovk.js +0 -1
@@ -34,5 +34,12 @@ export declare function parseMocksFileText(text: string): {
34
34
  * position, e.g. "Unexpected token ']', ... is not valid JSON").
35
35
  */
36
36
  export declare function findJsonErrorOffset(t: string): number;
37
+ /**
38
+ * Issue #123: the real file a write to `file` must replace. Symlinks are
39
+ * followed so the link itself is never replaced. A dangling link (target
40
+ * missing) creates the target at the link destination when its directory
41
+ * exists, otherwise throws a clear error (the link is left untouched).
42
+ */
43
+ export declare function resolveMocksWriteTarget(file: string): string;
37
44
  export declare function createMockHandler(ctx: ProxyContext): MockHandler;
38
45
  //# sourceMappingURL=mock-handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mock-handler.d.ts","sourceRoot":"","sources":["../../core/mock-handler.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAYvE,8CAA8C;AAC9C,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAQ3E;AAED,MAAM,WAAW,eAAe;IAC5B,kFAAkF;IAClF,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,2CAA2C;IAC3C,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAA;CAClB;AAED,0FAA0F;AAC1F,qBAAa,qBAAsB,SAAQ,KAAK;IAEhC,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAAE,QAAQ,CAAC,UAAU,EAAE,eAAe;IAD3E,QAAQ,CAAC,IAAI,wBAAuB;gBACf,QAAQ,EAAE,MAAM,EAAW,UAAU,EAAE,eAAe;CAI9E;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,eAAe,GAAG,MAAM,CAGpF;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,GAAG,CAAC;IAAC,KAAK,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,eAAe,CAAA;CAAE,CAsBpH;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAmDrD;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,YAAY,GAAG,WAAW,CA0YhE"}
1
+ {"version":3,"file":"mock-handler.d.ts","sourceRoot":"","sources":["../../core/mock-handler.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAYvE,8CAA8C;AAC9C,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAQ3E;AAED,MAAM,WAAW,eAAe;IAC5B,kFAAkF;IAClF,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,2CAA2C;IAC3C,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAA;CAClB;AAED,0FAA0F;AAC1F,qBAAa,qBAAsB,SAAQ,KAAK;IAEhC,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAAE,QAAQ,CAAC,UAAU,EAAE,eAAe;IAD3E,QAAQ,CAAC,IAAI,wBAAuB;gBACf,QAAQ,EAAE,MAAM,EAAW,UAAU,EAAE,eAAe;CAI9E;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,eAAe,GAAG,MAAM,CAGpF;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,GAAG,CAAC;IAAC,KAAK,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,eAAe,CAAA;CAAE,CAsBpH;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAmDrD;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAkB5D;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,YAAY,GAAG,WAAW,CA6chE"}
@@ -41,6 +41,7 @@ exports.dedupeMockRulesById = dedupeMockRulesById;
41
41
  exports.formatMocksParseError = formatMocksParseError;
42
42
  exports.parseMocksFileText = parseMocksFileText;
43
43
  exports.findJsonErrorOffset = findJsonErrorOffset;
44
+ exports.resolveMocksWriteTarget = resolveMocksWriteTarget;
44
45
  exports.createMockHandler = createMockHandler;
45
46
  const fs = __importStar(require("fs"));
46
47
  const path = __importStar(require("path"));
@@ -211,6 +212,43 @@ function findJsonErrorOffset(t) {
211
212
  return typeof at === 'number' ? Math.min(at, t.length) : t.length;
212
213
  }
213
214
  }
215
+ /**
216
+ * Issue #123: the real file a write to `file` must replace. Symlinks are
217
+ * followed so the link itself is never replaced. A dangling link (target
218
+ * missing) creates the target at the link destination when its directory
219
+ * exists, otherwise throws a clear error (the link is left untouched).
220
+ */
221
+ function resolveMocksWriteTarget(file) {
222
+ try {
223
+ return fs.realpathSync(file);
224
+ }
225
+ catch (_) { /* missing or dangling */ }
226
+ let cur = path.resolve(file);
227
+ for (let hops = 0; hops < 40; hops++) {
228
+ let st;
229
+ try {
230
+ st = fs.lstatSync(cur);
231
+ }
232
+ catch (_) {
233
+ break;
234
+ }
235
+ if (!st.isSymbolicLink())
236
+ break;
237
+ cur = path.resolve(path.dirname(cur), fs.readlinkSync(cur));
238
+ }
239
+ if (cur !== path.resolve(file)) {
240
+ const parent = path.dirname(cur);
241
+ let parentReal;
242
+ try {
243
+ parentReal = fs.realpathSync(parent);
244
+ }
245
+ catch (_) {
246
+ throw new Error(`Mock 文件是指向不存在位置的符号链接,无法写入: ${file} -> ${cur}(目录 ${parent} 不存在)`);
247
+ }
248
+ return path.join(parentReal, path.basename(cur));
249
+ }
250
+ return cur;
251
+ }
214
252
  function createMockHandler(ctx) {
215
253
  const DEFAULT_MOCK_FILE = path.join(ctx.meddleDir, 'mocks.json');
216
254
  function loadCustomPathsFromSettings() {
@@ -244,6 +282,21 @@ function createMockHandler(ctx) {
244
282
  /** Issue #120: parse failure of the loaded file; while set, every write is refused. */
245
283
  let parseError = null;
246
284
  function getMocksParseError() { return parseError; }
285
+ /**
286
+ * Issue #123 (CI flake root cause): chokidar does not report writes that
287
+ * land while it is still setting up (ignoreInitial). Remember what was
288
+ * loaded so the watcher can re-check once it is ready.
289
+ */
290
+ let loadedSig = null;
291
+ function fileSig(file) {
292
+ try {
293
+ const st = fs.statSync(file);
294
+ return `${st.ino}:${st.size}:${st.mtimeMs}`;
295
+ }
296
+ catch (_) {
297
+ return 'missing';
298
+ }
299
+ }
247
300
  function loadMockRules() {
248
301
  const mockFile = getMockFilePath();
249
302
  // Issue #118: switching to another file must not inherit the old
@@ -260,6 +313,7 @@ function createMockHandler(ctx) {
260
313
  startWatcher(mockFile);
261
314
  try {
262
315
  if (fs.existsSync(mockFile)) {
316
+ loadedSig = fileSig(mockFile);
263
317
  const parsed = parseMocksFileText(fs.readFileSync(mockFile, 'utf8'));
264
318
  if (parsed.error) {
265
319
  // Issue #120: never treat a broken file as empty-and-writable.
@@ -293,6 +347,7 @@ function createMockHandler(ctx) {
293
347
  // file is created on the first save; nothing else is touched.
294
348
  ctx.mockRules = [];
295
349
  parseError = null;
350
+ loadedSig = 'missing';
296
351
  if (firstLoadOfThisFile && mockFile !== DEFAULT_MOCK_FILE) {
297
352
  console.warn(`Mock 规则文件不存在,将以空列表开始,首次保存时创建: ${mockFile}`);
298
353
  }
@@ -333,11 +388,27 @@ function createMockHandler(ctx) {
333
388
  const dir = path.dirname(mockFile);
334
389
  if (!fs.existsSync(dir))
335
390
  fs.mkdirSync(dir, { recursive: true });
391
+ // Issue #123: write next to the real file so a symlinked mocks file
392
+ // (e.g. into a dotfiles repo) stays a symlink, and keep its mode/owner.
393
+ const target = resolveMocksWriteTarget(mockFile);
394
+ let existing = null;
395
+ try {
396
+ existing = fs.statSync(target);
397
+ }
398
+ catch (_) { /* new file */ }
336
399
  // Write to a temp file then rename, so a crash never leaves half a file (issue #120).
337
- const tmp = `${mockFile}.${process.pid}.${Date.now()}.tmp`;
338
- fs.writeFileSync(tmp, JSON.stringify({ nextId: ctx.mockIdSeq, rules: ctx.mockRules }, null, 2), 'utf8');
400
+ const tmp = `${target}.${process.pid}.${Date.now()}.tmp`;
401
+ fs.writeFileSync(tmp, JSON.stringify({ nextId: ctx.mockIdSeq, rules: ctx.mockRules }, null, 2), { encoding: 'utf8', mode: existing ? existing.mode & 0o7777 : 0o666 });
339
402
  try {
340
- fs.renameSync(tmp, mockFile);
403
+ if (existing) {
404
+ fs.chmodSync(tmp, existing.mode & 0o7777);
405
+ try {
406
+ fs.chownSync(tmp, existing.uid, existing.gid);
407
+ }
408
+ catch (_) { /* not permitted: best effort */ }
409
+ }
410
+ fs.renameSync(tmp, target);
411
+ loadedSig = fileSig(mockFile);
341
412
  }
342
413
  catch (e) {
343
414
  try {
@@ -592,25 +663,83 @@ function createMockHandler(ctx) {
592
663
  fs.mkdirSync(dir, { recursive: true });
593
664
  }
594
665
  catch (_) { /* ignore */ }
666
+ const debugWatch = process.env.MEDDLE_DEBUG_WATCH === '1';
667
+ const t0 = Date.now();
668
+ const dbg = (msg) => { if (debugWatch)
669
+ console.error(`[watch +${Date.now() - t0}ms] ${msg}`); };
670
+ // Issue #123: when the mocks path is a symlink, edits land on the real
671
+ // target (git pull in a dotfiles repo, fixing JSON there), so watch the
672
+ // target's directory too and accept events for either path.
673
+ const resolveTarget = () => {
674
+ try {
675
+ return resolveMocksWriteTarget(mockFile);
676
+ }
677
+ catch (_) {
678
+ return path.resolve(mockFile);
679
+ }
680
+ };
681
+ let target = resolveTarget();
682
+ let targetDir = null;
595
683
  // Watch the directory (not only the file) so atomic replace / recreate
596
684
  // still triggers — same pattern as route-rules watcher.
597
- const watcher = chokidar_1.default.watch(dir, {
685
+ const initialTargetDir = path.dirname(target);
686
+ targetDir = path.resolve(initialTargetDir) !== path.resolve(dir) && fs.existsSync(initialTargetDir) ? initialTargetDir : null;
687
+ // Both directories go into the initial watch so they are ready together.
688
+ const watcher = chokidar_1.default.watch(targetDir ? [dir, targetDir] : dir, {
598
689
  ignoreInitial: true,
690
+ depth: 0,
691
+ // Follow the symlink target explicitly (below) instead of relying on
692
+ // chokidar's implicit following, which differs per platform backend.
693
+ followSymlinks: false,
599
694
  awaitWriteFinish: { stabilityThreshold: 50, pollInterval: 25 },
600
695
  });
696
+ const watchTargetDir = () => {
697
+ const want = path.dirname(target);
698
+ const next = path.resolve(want) === path.resolve(dir) ? null : want;
699
+ if (next === targetDir)
700
+ return;
701
+ if (targetDir)
702
+ watcher.unwatch(targetDir);
703
+ targetDir = next;
704
+ if (targetDir && fs.existsSync(targetDir))
705
+ watcher.add(targetDir);
706
+ dbg(`target ${target}; extra dir ${targetDir ?? '(none)'}`);
707
+ };
708
+ watchTargetDir();
601
709
  let closed = false;
602
710
  const reload = (event, changedPath) => {
603
711
  // Ignore late events from a watcher that was replaced, and any
604
- // file in the directory other than the active mocks file.
712
+ // file in the directory other than the active mocks file / its target.
605
713
  if (closed || !watcherState || watcherState.file !== mockFile)
606
714
  return;
607
- if (changedPath && path.resolve(changedPath) !== path.resolve(mockFile))
608
- return;
715
+ if (changedPath) {
716
+ const p = path.resolve(changedPath);
717
+ if (p !== path.resolve(mockFile) && p !== target)
718
+ return;
719
+ }
720
+ // The link itself may have been retargeted: follow the new target.
721
+ const nextTarget = resolveTarget();
722
+ if (nextTarget !== target) {
723
+ target = nextTarget;
724
+ watchTargetDir();
725
+ }
609
726
  proxyDebug(`mocks file ${event}: ${base}`);
610
727
  loadMockRules();
611
728
  if (watcherOnReload)
612
729
  watcherOnReload();
613
730
  };
731
+ if (debugWatch) {
732
+ watcher.on('all', (ev, p) => dbg(`${ev} ${p}`));
733
+ }
734
+ watcher.on('ready', () => {
735
+ dbg('ready');
736
+ // Catch up on a write that happened before the watcher was ready.
737
+ if (closed || !watcherState || watcherState.file !== mockFile)
738
+ return;
739
+ const sig = fileSig(mockFile);
740
+ if (sig !== loadedSig)
741
+ reload('changed before watcher ready');
742
+ });
614
743
  watcher.on('change', (p) => reload('changed', p));
615
744
  watcher.on('add', (p) => reload('added', p));
616
745
  watcher.on('unlink', (p) => reload('removed', p));
@@ -1 +1 @@
1
- {"version":3,"file":"mock-handler.js","sourceRoot":"","sources":["../../core/mock-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mock-handler.js","sourceRoot":"","sources":["../../core/mock-handler.ts"],"names":[],"mappings":"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"}
@@ -79,7 +79,7 @@ function createMockRule(ctx, data) {
79
79
  // present, so a stale sequence can never reuse an existing id. Any
80
80
  // client-supplied `id` in `data` is ignored — create never overwrites.
81
81
  assertWritable(ctx);
82
- const snapshot = { rules: ctx.mockRules.slice(), seq: ctx.mockIdSeq };
82
+ const snapshot = { rules: structuredClone(ctx.mockRules), seq: ctx.mockIdSeq };
83
83
  const id = (0, mock_utils_1.nextMockRuleId)(ctx.mockRules, ctx.mockIdSeq);
84
84
  ctx.mockIdSeq = id + 1;
85
85
  const rule = {
@@ -101,7 +101,7 @@ function createMockRule(ctx, data) {
101
101
  }
102
102
  function updateMockRule(ctx, id, data) {
103
103
  assertWritable(ctx);
104
- const snapshot = { rules: ctx.mockRules.slice(), seq: ctx.mockIdSeq };
104
+ const snapshot = { rules: structuredClone(ctx.mockRules), seq: ctx.mockIdSeq };
105
105
  const idx = ctx.mockRules.findIndex(r => r.id === id);
106
106
  if (idx === -1) {
107
107
  throw new Error('Not found');
@@ -112,7 +112,7 @@ function updateMockRule(ctx, id, data) {
112
112
  }
113
113
  function deleteMockRule(ctx, id) {
114
114
  assertWritable(ctx);
115
- const snapshot = { rules: ctx.mockRules.slice(), seq: ctx.mockIdSeq };
115
+ const snapshot = { rules: structuredClone(ctx.mockRules), seq: ctx.mockIdSeq };
116
116
  const idx = ctx.mockRules.findIndex(r => r.id === id);
117
117
  if (idx === -1) {
118
118
  throw new Error('Not found');
@@ -1 +1 @@
1
- {"version":3,"file":"mocks.js","sourceRoot":"","sources":["../../server/mocks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mocks.js","sourceRoot":"","sources":["../../server/mocks.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CA,wCAwBC;AAED,wCAWC;AAED,wCAUC;AAqBD,gDAcC;AAED,kDA2DC;AA9LD,uCAAwB;AACxB,2CAA4B;AAE5B,mDAAmD;AAEnD,SAAS,kBAAkB,CAAC,GAAa;IACrC,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAA;IACjD,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAA;AAC9C,CAAC;AAKD,sFAAsF;AACtF,SAAS,cAAc,CAAC,GAAkB;IACtC,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAA;AAC/B,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAY;IACpC,OAAQ,GAAyB,EAAE,IAAI,KAAK,oBAAoB,CAAA;AACpE,CAAC;AAED,SAAS,UAAU,CAAC,GAAa,EAAE,GAAY,EAAE,cAAsB;IACnE,MAAM,CAAC,GAAG,GAA0D,CAAA;IACpE,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,GAAG,CAAC,UAAU,GAAG,GAAG,CAAA;QACpB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;QACvH,OAAM;IACV,CAAC;IACD,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAA;IACjE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;AACnD,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAkB,EAAE,QAA4C;IACtF,IAAI,CAAC;QACD,GAAG,CAAC,aAAa,EAAE,CAAA;IACvB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,8DAA8D;QAC9D,GAAG,CAAC,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAA;QAC9B,GAAG,CAAC,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAA;QAC5B,MAAM,GAAG,CAAA;IACb,CAAC;IACD,GAAG,CAAC,qBAAqB,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAA;AAC7E,CAAC;AAED,SAAgB,cAAc,CAAC,GAAkB,EAAE,IAAmB;IAClE,0EAA0E;IAC1E,mEAAmE;IACnE,uEAAuE;IACvE,cAAc,CAAC,GAAG,CAAC,CAAA;IACnB,MAAM,QAAQ,GAAG,EAAE,KAAK,EAAE,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,EAAE,CAAA;IAC9E,MAAM,EAAE,GAAG,IAAA,2BAAc,EAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;IACvD,GAAG,CAAC,SAAS,GAAG,EAAE,GAAG,CAAC,CAAA;IACtB,MAAM,IAAI,GAAG;QACT,EAAE;QACF,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;QACrB,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE;QACjC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;QACvB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,GAAG;QAC1B,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,GAAG;QAClC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC;QACtB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,QAAQ;QACnC,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;QAC3B,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO,KAAK,KAAK;KAClC,CAAA;IACD,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACxB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IAC/B,OAAO,IAAI,CAAA;AACf,CAAC;AAED,SAAgB,cAAc,CAAC,GAAkB,EAAE,EAAU,EAAE,IAAmB;IAC9E,cAAc,CAAC,GAAG,CAAC,CAAA;IACnB,MAAM,QAAQ,GAAG,EAAE,KAAK,EAAE,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,EAAE,CAAA;IAC9E,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;IACrD,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAA;IAChC,CAAC;IAED,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAA;IAC3D,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IAC/B,OAAO,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;AAC7B,CAAC;AAED,SAAgB,cAAc,CAAC,GAAkB,EAAE,EAAU;IACzD,cAAc,CAAC,GAAG,CAAC,CAAA;IACnB,MAAM,QAAQ,GAAG,EAAE,KAAK,EAAE,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,EAAE,CAAA;IAC9E,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;IACrD,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAA;IAChC,CAAC;IAED,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IAC5B,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;AACnC,CAAC;AAqBD,SAAgB,kBAAkB,CAAC,GAAkB;IACjD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAA;IAChD,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,IAAI,CAAC;QACD,MAAM,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAA;IACvC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;IACjE,MAAM,UAAU,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,kBAAkB,EAAE,EAAE,CAAC,IAAI,IAAI,CAAA;IACjE,MAAM,MAAM,GAAoB,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,CAAA;IAC9F,IAAI,UAAU,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,IAAI,OAAO,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;QAC5F,MAAM,CAAC,KAAK,GAAG,gBAAgB,IAAI,IAAI,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,CAAA;IACrE,CAAC;IACD,OAAO,MAAM,CAAA;AACjB,CAAC;AAED,SAAgB,mBAAmB,CAAC,GAAgB,EAAE,GAAkB;IACpE,2EAA2E;IAC3E,mEAAmE;IACnE,uDAAuD;IACvD,GAAG,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE;QACxD,kBAAkB,CAAC,GAAG,CAAC,CAAA;QACvB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAClD,GAAG,CAAC,GAAG,EAAE,CAAA;IACb,CAAC,CAAC,CAAA;IAEF,8CAA8C;IAC9C,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC;SAClB,GAAG,CAAC,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE;QAClC,kBAAkB,CAAC,GAAG,CAAC,CAAA;QACvB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAA;QACxC,GAAG,CAAC,GAAG,EAAE,CAAA;IACb,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QAClC,kBAAkB,CAAC,GAAG,CAAC,CAAA;QACvB,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;YAC1C,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QAC1D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;QAC7B,CAAC;QACD,GAAG,CAAC,GAAG,EAAE,CAAA;IACb,CAAC,CAAC,CAAA;IAEN,oCAAoC;IACpC,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QACtD,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAY,EAAE,EAAE,CAAC,CAAA;QAChD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAA;QAEvC,wBAAwB;QACxB,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACtB,kBAAkB,CAAC,GAAG,CAAC,CAAA;YACvB,IAAI,CAAC;gBACD,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;gBACvB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAA;YACpD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;YAC7B,CAAC;YACD,GAAG,CAAC,GAAG,EAAE,CAAA;YACT,OAAM;QACV,CAAC;QAED,4BAA4B;QAC5B,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACnB,kBAAkB,CAAC,GAAG,CAAC,CAAA;YACvB,IAAI,CAAC;gBACD,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;gBAC9C,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;YAC1D,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;YAC7B,CAAC;YACD,GAAG,CAAC,GAAG,EAAE,CAAA;YACT,OAAM;QACV,CAAC;IACL,CAAC,CAAC,CAAA;AACN,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jonathanleelx/meddle",
3
- "version": "0.5.0-beta.19",
3
+ "version": "0.5.0-beta.20",
4
4
  "description": "A simple development proxy server with custom routing rules, mock responses, HTTPS interception, and a plugin system",
5
5
  "type": "commonjs",
6
6
  "main": "index.js",
@@ -1,4 +1,4 @@
1
- import{c as e,d as t,p as n,t as r,u as i}from"./button-BFNlGZ5p.js";import"./dist-CFZ4xMSF.js";import{t as a}from"./arrow-right-BNum_060.js";import{t as o}from"./check-BkfHQ6re.js";import{t as s}from"./chevron-down-DHwUtL4O.js";import{t as c}from"./circle-x-BEkinhez.js";import{n as l,t as u}from"./server-eYXq3PbE.js";import{t as d}from"./copy-BRnscYy1.js";import{t as f}from"./shield-check-hQXjdfZ7.js";import{t as p}from"./wand-sparkles-DDGjzjnX.js";import"./es2015-CRmLuA2o.js";import{C as ee,D as te,E as ne,F as m,Ft as h,It as g,L as _,M as v,N as y,P as b,R as x,S,Tt as C,_ as w,et as T,jt as re,w as ie,wt as E,yt as D,z as O}from"./index-Bu3zaxzE.js";import{n as k,t as A}from"./body-diff-view-ByCHr9bv.js";import{n as j,t as M}from"./syntax-highlight-EJCxGikd.js";import{t as ae}from"./clipboard-DUgC_tNv.js";var N=i(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),oe=i(`corner-down-right`,[[`path`,{d:`m15 10 5 5-5 5`,key:`qqa56n`}],[`path`,{d:`M4 4v7a4 4 0 0 0 4 4h12`,key:`z08zvw`}]]),P=i(`flag`,[[`path`,{d:`M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528`,key:`1jaruq`}]]),F=i(`route`,[[`circle`,{cx:`6`,cy:`19`,r:`3`,key:`1kj8tv`}],[`path`,{d:`M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15`,key:`1d8sl`}],[`circle`,{cx:`18`,cy:`5`,r:`3`,key:`gq8acd`}]]),I=n(t(),1);function L(e){return Object.entries(e||{}).map(([e,t])=>`${e}: ${t}`).join(`
2
- `)}var R=e(),z=2e3;function B({text:e,label:t}){let[n,i]=(0,I.useState)(!1),a=(0,I.useRef)(null);async function s(){try{await ae(e),i(!0),a.current&&clearTimeout(a.current),a.current=setTimeout(()=>i(!1),z),w.success(`已复制${t}`)}catch{w.error(`复制${t}失败,请手动选择复制`)}}return(0,R.jsxs)(r,{variant:`ghost`,size:`xs`,className:`text-[11px] text-muted-foreground hover:text-foreground`,"aria-label":n?`复制${t}成功`:`复制${t}`,onClick:()=>void s(),children:[n?(0,R.jsx)(o,{className:`h-3 w-3 mr-1 text-green-600`}):(0,R.jsx)(d,{className:`h-3 w-3 mr-1`}),n?`已复制`:`复制`]})}function V({body:e}){let[t,n]=(0,I.useState)(`source`),r=(0,I.useMemo)(()=>M(e||``)===`json`,[e]),i=(0,I.useMemo)(()=>{if(!r)return e;try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}},[e,r]),a=(0,I.useMemo)(()=>j(t===`formatted`?i:e,r?`json`:void 0),[e,i,t,r]);return e?(0,R.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,R.jsxs)(`div`,{className:`flex items-center justify-between`,children:[r?(0,R.jsx)(v,{value:t,onValueChange:e=>n(e),className:`w-fit`,children:(0,R.jsxs)(b,{className:`h-6 px-1`,children:[(0,R.jsx)(m,{value:`source`,className:`h-6 px-2 text-[11px]`,children:`源数据`}),(0,R.jsx)(m,{value:`formatted`,className:`h-6 px-2 text-[11px]`,children:`格式化`})]})}):(0,R.jsx)(`span`,{}),(0,R.jsx)(B,{text:e,label:`Body`})]}),(0,R.jsx)(`div`,{className:`font-mono text-xs bg-muted/30 rounded p-2 overflow-x-auto`,children:(0,R.jsx)(`pre`,{className:`whitespace-pre`,children:a})})]}):(0,R.jsx)(`p`,{className:`text-sm text-muted-foreground py-2`,children:`无内容`})}function H({headers:e}){let t=Object.entries(e||{});return t.length===0?(0,R.jsx)(`p`,{className:`text-sm text-muted-foreground py-2`,children:`无头部信息`}):(0,R.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,R.jsx)(`div`,{className:`flex justify-end`,children:(0,R.jsx)(B,{text:L(e),label:`Headers`})}),(0,R.jsx)(`div`,{className:`font-mono text-xs space-y-0.5`,children:t.map(([e,t])=>(0,R.jsxs)(`div`,{className:`flex gap-2 py-0.5 hover:bg-muted/50 px-1 rounded`,children:[(0,R.jsxs)(`span`,{className:`text-purple-600 shrink-0 font-semibold`,children:[e,`:`]}),(0,R.jsx)(`span`,{className:`text-foreground/80 break-all`,children:t})]},e))})]})}function U(e){return e>=200&&e<300?`bg-green-100 text-green-800`:e>=300&&e<400?`bg-blue-100 text-blue-800`:e>=400&&e<500?`bg-amber-100 text-amber-800`:e>=500?`bg-red-100 text-red-800`:``}function W(e){switch(e){case`ok`:return`bg-green-100 text-green-800 border-green-200`;case`error`:return`bg-red-100 text-red-800 border-red-200`;case`skipped`:return`bg-amber-100 text-amber-800 border-amber-200`;case`short-circuited`:return`bg-blue-100 text-blue-800 border-blue-200`;default:return``}}function G(e){switch(e){case`ok`:return`通过`;case`error`:return`异常`;case`skipped`:return`跳过`;case`short-circuited`:return`已短路返回`;default:return e}}function K(e){switch(e){case`builtin`:return`内置`;case`custom`:return`自定义`;case`system`:return`系统`;default:return e}}function q(e){return e.replace(/^builtin\./,``).replace(/^custom\./,``)}function se(e,t){return`${t}-${e.hook}-${e.name}`}function J(e){return e===`onBeforeResponse`||e===`onAfterResponse`?`response`:`request`}function ce(e,t){return Array.from(new Set([...Object.keys(e),...Object.keys(t)])).sort().map(n=>({key:n,before:e[n]??``,after:t[n]??``})).filter(e=>e.before!==e.after)}function Y({lines:e,className:t}){return e.length===0?(0,R.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`无变更`}):(0,R.jsx)(`div`,{className:`rounded-lg border bg-muted/20 p-2 text-xs font-mono space-y-1 ${t||``}`,children:e.map((e,t)=>(0,R.jsxs)(`div`,{className:`whitespace-pre-wrap break-all px-2 py-1 rounded ${e.type===`added`?`bg-green-500/10 text-green-700 dark:text-green-300`:`bg-red-500/10 text-red-700 dark:text-red-300`}`,children:[(0,R.jsx)(`span`,{className:`mr-1`,children:e.type===`added`?`+ `:`- `}),e.text]},`${e.type}-${t}-${e.text}`))})}function X(e,t,n){let r=[];return t!==void 0&&t!==``&&r.push({type:`removed`,text:`${e} ${t}`}),n!==void 0&&n!==``&&r.push({type:`added`,text:`${e} ${n}`}),r}function le(e,t){let n=[];return e!==void 0&&e!==``&&n.push({type:`removed`,text:e}),t!==void 0&&t!==``&&n.push({type:`added`,text:t}),n}function ue(e){let t=e.replace(/\r\n/g,`
1
+ import{c as e,d as t,p as n,t as r,u as i}from"./button-BFNlGZ5p.js";import"./dist-CFZ4xMSF.js";import{t as a}from"./arrow-right-BNum_060.js";import{t as o}from"./check-BkfHQ6re.js";import{t as s}from"./chevron-down-DHwUtL4O.js";import{t as c}from"./circle-x-BEkinhez.js";import{n as l,t as u}from"./server-eYXq3PbE.js";import{t as d}from"./copy-BRnscYy1.js";import{t as f}from"./shield-check-hQXjdfZ7.js";import{t as ee}from"./wand-sparkles-DDGjzjnX.js";import"./es2015-CRmLuA2o.js";import{B as p,Dt as m,E as h,Et as g,F as _,I as v,L as y,Lt as b,Nt as x,O as te,P as S,Rt as C,T as w,V as T,k as ne,nt as E,w as D,xt as re,y as O,z as k}from"./index-B9-_OFNJ.js";import{n as A,t as j}from"./body-diff-view-ByCHr9bv.js";import{n as M,t as N}from"./syntax-highlight-EJCxGikd.js";import{t as ie}from"./clipboard-DUgC_tNv.js";var P=i(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),ae=i(`corner-down-right`,[[`path`,{d:`m15 10 5 5-5 5`,key:`qqa56n`}],[`path`,{d:`M4 4v7a4 4 0 0 0 4 4h12`,key:`z08zvw`}]]),oe=i(`flag`,[[`path`,{d:`M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528`,key:`1jaruq`}]]),F=i(`route`,[[`circle`,{cx:`6`,cy:`19`,r:`3`,key:`1kj8tv`}],[`path`,{d:`M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15`,key:`1d8sl`}],[`circle`,{cx:`18`,cy:`5`,r:`3`,key:`gq8acd`}]]),I=n(t(),1);function L(e){return Object.entries(e||{}).map(([e,t])=>`${e}: ${t}`).join(`
2
+ `)}var R=e(),z=2e3;function B({text:e,label:t}){let[n,i]=(0,I.useState)(!1),a=(0,I.useRef)(null);async function s(){try{await ie(e),i(!0),a.current&&clearTimeout(a.current),a.current=setTimeout(()=>i(!1),z),O.success(`已复制${t}`)}catch{O.error(`复制${t}失败,请手动选择复制`)}}return(0,R.jsxs)(r,{variant:`ghost`,size:`xs`,className:`text-[11px] text-muted-foreground hover:text-foreground`,"aria-label":n?`复制${t}成功`:`复制${t}`,onClick:()=>void s(),children:[n?(0,R.jsx)(o,{className:`h-3 w-3 mr-1 text-green-600`}):(0,R.jsx)(d,{className:`h-3 w-3 mr-1`}),n?`已复制`:`复制`]})}function V({body:e}){let[t,n]=(0,I.useState)(`source`),r=(0,I.useMemo)(()=>N(e||``)===`json`,[e]),i=(0,I.useMemo)(()=>{if(!r)return e;try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}},[e,r]),a=(0,I.useMemo)(()=>M(t===`formatted`?i:e,r?`json`:void 0),[e,i,t,r]);return e?(0,R.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,R.jsxs)(`div`,{className:`flex items-center justify-between`,children:[r?(0,R.jsx)(S,{value:t,onValueChange:e=>n(e),className:`w-fit`,children:(0,R.jsxs)(v,{className:`h-6 px-1`,children:[(0,R.jsx)(y,{value:`source`,className:`h-6 px-2 text-[11px]`,children:`源数据`}),(0,R.jsx)(y,{value:`formatted`,className:`h-6 px-2 text-[11px]`,children:`格式化`})]})}):(0,R.jsx)(`span`,{}),(0,R.jsx)(B,{text:e,label:`Body`})]}),(0,R.jsx)(`div`,{className:`font-mono text-xs bg-muted/30 rounded p-2 overflow-x-auto`,children:(0,R.jsx)(`pre`,{className:`whitespace-pre`,children:a})})]}):(0,R.jsx)(`p`,{className:`text-sm text-muted-foreground py-2`,children:`无内容`})}function H({headers:e}){let t=Object.entries(e||{});return t.length===0?(0,R.jsx)(`p`,{className:`text-sm text-muted-foreground py-2`,children:`无头部信息`}):(0,R.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,R.jsx)(`div`,{className:`flex justify-end`,children:(0,R.jsx)(B,{text:L(e),label:`Headers`})}),(0,R.jsx)(`div`,{className:`font-mono text-xs space-y-0.5`,children:t.map(([e,t])=>(0,R.jsxs)(`div`,{className:`flex gap-2 py-0.5 hover:bg-muted/50 px-1 rounded`,children:[(0,R.jsxs)(`span`,{className:`text-purple-600 shrink-0 font-semibold`,children:[e,`:`]}),(0,R.jsx)(`span`,{className:`text-foreground/80 break-all`,children:t})]},e))})]})}function U(e){return e>=200&&e<300?`bg-green-100 text-green-800`:e>=300&&e<400?`bg-blue-100 text-blue-800`:e>=400&&e<500?`bg-amber-100 text-amber-800`:e>=500?`bg-red-100 text-red-800`:``}function W(e){switch(e){case`ok`:return`bg-green-100 text-green-800 border-green-200`;case`error`:return`bg-red-100 text-red-800 border-red-200`;case`skipped`:return`bg-amber-100 text-amber-800 border-amber-200`;case`short-circuited`:return`bg-blue-100 text-blue-800 border-blue-200`;default:return``}}function G(e){switch(e){case`ok`:return`通过`;case`error`:return`异常`;case`skipped`:return`跳过`;case`short-circuited`:return`已短路返回`;default:return e}}function K(e){switch(e){case`builtin`:return`内置`;case`custom`:return`自定义`;case`system`:return`系统`;default:return e}}function q(e){return e.replace(/^builtin\./,``).replace(/^custom\./,``)}function se(e,t){return`${t}-${e.hook}-${e.name}`}function J(e){return e===`onBeforeResponse`||e===`onAfterResponse`?`response`:`request`}function ce(e,t){return Array.from(new Set([...Object.keys(e),...Object.keys(t)])).sort().map(n=>({key:n,before:e[n]??``,after:t[n]??``})).filter(e=>e.before!==e.after)}function Y({lines:e,className:t}){return e.length===0?(0,R.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`无变更`}):(0,R.jsx)(`div`,{className:`rounded-lg border bg-muted/20 p-2 text-xs font-mono space-y-1 ${t||``}`,children:e.map((e,t)=>(0,R.jsxs)(`div`,{className:`whitespace-pre-wrap break-all px-2 py-1 rounded ${e.type===`added`?`bg-green-500/10 text-green-700 dark:text-green-300`:`bg-red-500/10 text-red-700 dark:text-red-300`}`,children:[(0,R.jsx)(`span`,{className:`mr-1`,children:e.type===`added`?`+ `:`- `}),e.text]},`${e.type}-${t}-${e.text}`))})}function X(e,t,n){let r=[];return t!==void 0&&t!==``&&r.push({type:`removed`,text:`${e} ${t}`}),n!==void 0&&n!==``&&r.push({type:`added`,text:`${e} ${n}`}),r}function le(e,t){let n=[];return e!==void 0&&e!==``&&n.push({type:`removed`,text:e}),t!==void 0&&t!==``&&n.push({type:`added`,text:t}),n}function ue(e){let t=e.replace(/\r\n/g,`
3
3
  `).split(`
4
- `);return t[t.length-1]===``&&t.pop(),t.length>0?t:[``]}function Z(e){if(!e)return!1;if(/^\(binary(?:,\s*\d+\s+bytes)?\)$/i.test(e.trim()))return!0;let t=0;for(let n=0;n<e.length;n+=1){let r=e.charCodeAt(n);r===9||r===10||r===13||(r<32||r===65533)&&(t+=1)}return t>0&&t/Math.max(e.length,1)>.15}function Q({before:e,after:t}){let[n,i]=(0,I.useState)(!1),a=(0,I.useMemo)(()=>ce(e,t),[e,t]),o=(0,I.useMemo)(()=>a.flatMap(e=>X(e.key,e.before,e.after)),[a]);return o.length===0?(0,R.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`无变更`}):(0,R.jsxs)(`div`,{className:`space-y-2`,children:[(0,R.jsx)(Y,{lines:o}),(0,R.jsxs)(r,{variant:`ghost`,size:`xs`,onClick:()=>i(e=>!e),children:[n?(0,R.jsx)(s,{className:`h-3.5 w-3.5 mr-1`}):(0,R.jsx)(N,{className:`h-3.5 w-3.5 mr-1`}),n?`收起完整头部`:`展开完整头部`]}),n&&(0,R.jsxs)(`div`,{className:`grid gap-2 md:grid-cols-2`,children:[(0,R.jsxs)(`div`,{className:`rounded-lg bg-muted/50 p-2 text-xs font-mono`,children:[(0,R.jsx)(`div`,{className:`text-[11px] uppercase tracking-wide text-muted-foreground mb-1`,children:`变更前`}),(0,R.jsx)(H,{headers:e})]}),(0,R.jsxs)(`div`,{className:`rounded-lg bg-muted/50 p-2 text-xs font-mono`,children:[(0,R.jsx)(`div`,{className:`text-[11px] uppercase tracking-wide text-muted-foreground mb-1`,children:`变更后`}),(0,R.jsx)(H,{headers:t})]})]})]})}function de({before:e,after:t}){let[n,i]=(0,I.useState)(!1),a=(0,I.useMemo)(()=>k(e||``,t||``).filter(e=>e.added||e.removed),[e,t]),o=(0,I.useMemo)(()=>Z(e||``)||Z(t||``),[e,t]),c=(0,I.useMemo)(()=>o?le(e||``,t||``):a.flatMap(e=>ue(e.value).map(t=>({type:e.added?`added`:`removed`,text:t}))),[e,t,a,o]);return c.length===0?(0,R.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`无变更`}):(0,R.jsxs)(`div`,{className:`space-y-2`,children:[(0,R.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,R.jsx)(B,{text:e,label:`变更前 Body`}),(0,R.jsx)(B,{text:t,label:`变更后 Body`})]}),(0,R.jsx)(Y,{lines:c,className:`meddle-thin-scroll max-h-40 overflow-auto`}),!o&&(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(r,{variant:`ghost`,size:`xs`,onClick:()=>i(e=>!e),children:[n?(0,R.jsx)(s,{className:`h-3.5 w-3.5 mr-1`}):(0,R.jsx)(N,{className:`h-3.5 w-3.5 mr-1`}),n?`收起完整 Diff`:`展开完整 Diff`]}),n&&(0,R.jsx)(A,{original:e,modified:t,mode:`inline`,maxHeight:`220px`})]})]})}function fe({stage:e}){let t=e.changes;return t?(0,R.jsxs)(`div`,{className:`space-y-2`,children:[(t.targetBefore||t.targetAfter)&&(0,R.jsxs)(`div`,{className:`rounded-lg bg-muted/50 p-2`,children:[(0,R.jsx)(`div`,{className:`text-[11px] uppercase tracking-wide text-muted-foreground mb-2`,children:`Request URL Diff`}),(0,R.jsx)(Y,{lines:X(`Request URL`,t.targetBefore,t.targetAfter||t.target)})]}),(t.requestHeadersBefore||t.requestHeadersAfter)&&(0,R.jsxs)(`div`,{className:`rounded-lg bg-muted/50 p-2`,children:[(0,R.jsx)(`div`,{className:`text-[11px] uppercase tracking-wide text-muted-foreground mb-2`,children:`Request Header Diff`}),(0,R.jsx)(Q,{before:t.requestHeadersBefore||{},after:t.requestHeadersAfter||{}})]}),(t.responseStatusCodeBefore!==void 0||t.responseStatusCodeAfter!==void 0)&&(0,R.jsxs)(`div`,{className:`rounded-lg bg-muted/50 p-2`,children:[(0,R.jsx)(`div`,{className:`text-[11px] uppercase tracking-wide text-muted-foreground mb-2`,children:`Response Status Diff`}),(0,R.jsx)(Y,{lines:X(`Response Status`,t.responseStatusCodeBefore,t.responseStatusCodeAfter??t.responseStatusCode)})]}),(t.responseHeadersBefore||t.responseHeadersAfter)&&(0,R.jsxs)(`div`,{className:`rounded-lg bg-muted/50 p-2`,children:[(0,R.jsx)(`div`,{className:`text-[11px] uppercase tracking-wide text-muted-foreground mb-2`,children:`Response Header Diff`}),(0,R.jsx)(Q,{before:t.responseHeadersBefore||{},after:t.responseHeadersAfter||{}})]}),(t.responseBodyBefore!==void 0||t.responseBodyAfter!==void 0)&&(0,R.jsxs)(`div`,{className:`rounded-lg bg-muted/50 p-2`,children:[(0,R.jsx)(`div`,{className:`text-[11px] uppercase tracking-wide text-muted-foreground mb-2`,children:`Response Body Diff`}),(0,R.jsx)(de,{before:t.responseBodyBefore||``,after:t.responseBodyAfter||t.responseBody||``})]})]}):null}function pe({stage:e,index:t,isLast:n,accentClass:i}){let[a,o]=(0,I.useState)(e.status!==`skipped`);return(0,R.jsxs)(`div`,{className:`space-y-2`,children:[(0,R.jsxs)(`div`,{className:`rounded-xl border bg-background/90 p-3 space-y-3`,children:[(0,R.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,R.jsxs)(`div`,{className:`space-y-1 min-w-0`,children:[(0,R.jsxs)(`div`,{className:`flex items-center gap-2 flex-wrap`,children:[(0,R.jsx)(r,{variant:`ghost`,size:`icon-xs`,onClick:()=>o(e=>!e),title:a?`收起`:`展开`,"aria-label":a?`收起`:`展开`,children:a?(0,R.jsx)(s,{className:`h-3.5 w-3.5`}):(0,R.jsx)(N,{className:`h-3.5 w-3.5`})}),(0,R.jsxs)(`span`,{className:`font-medium text-sm`,children:[t+1,`. `,q(e.name)]}),(0,R.jsx)(T,{variant:`outline`,className:`text-xs font-normal`,children:e.hook}),(0,R.jsx)(T,{variant:`outline`,className:`text-xs font-normal`,children:K(e.type)})]}),(0,R.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e.status===`short-circuited`?`这一阶段直接生成了响应,请求不会继续往后转发。`:e.status===`error`?`这一阶段执行失败,影响了后续处理流程。`:`这一阶段执行完成,请求继续进入下一步。`})]}),(0,R.jsxs)(`div`,{className:`flex items-center gap-2 shrink-0`,children:[(0,R.jsx)(T,{className:`text-xs border ${W(e.status)}`,children:G(e.status)}),(0,R.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[e.duration,`ms`]})]})]}),a&&(0,R.jsxs)(R.Fragment,{children:[e.target&&(0,R.jsxs)(`div`,{className:`rounded-lg bg-muted/50 p-2`,children:[(0,R.jsx)(`div`,{className:`text-[11px] uppercase tracking-wide text-muted-foreground mb-1`,children:`当前 Target`}),(0,R.jsx)(`div`,{className:`font-mono text-xs break-all`,children:e.target})]}),(0,R.jsx)(fe,{stage:e}),e.error&&(0,R.jsxs)(`div`,{className:`rounded-lg border border-red-200 bg-red-50 px-3 py-2 text-xs text-red-700`,children:[`Error: `,e.error]})]})]}),!n&&(0,R.jsx)(`div`,{className:`flex justify-center py-1`,children:(0,R.jsxs)(`div`,{className:`flex flex-col items-center gap-1`,children:[(0,R.jsx)(`div`,{className:`h-2.5 w-2.5 rounded-full ${i} animate-pulse`}),(0,R.jsx)(h,{className:`h-4 w-4 ${i} animate-bounce`})]})})]})}function $({title:e,description:t,stages:n,icon:r,roleLabel:i,roleIcon:a,accentClass:o}){return(0,R.jsxs)(`div`,{className:`rounded-xl border bg-card p-4`,children:[(0,R.jsxs)(`div`,{className:`flex items-center justify-between mb-4`,children:[(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`div`,{className:`flex items-center gap-2 mb-2`,children:(0,R.jsxs)(T,{variant:`outline`,className:`text-[11px] font-normal`,children:[(0,R.jsx)(`span`,{className:`mr-1`,children:a}),i]})}),(0,R.jsxs)(`h4`,{className:`text-sm font-semibold flex items-center gap-2`,children:[(0,R.jsx)(`span`,{className:o,children:r}),e]}),(0,R.jsx)(`p`,{className:`text-xs text-muted-foreground mt-1`,children:t})]}),(0,R.jsxs)(T,{variant:`outline`,className:`text-xs`,children:[n.length,` 个阶段`]})]}),n.length===0?(0,R.jsx)(`p`,{className:`text-sm text-muted-foreground py-4 text-center`,children:`无阶段信息`}):(0,R.jsx)(`div`,{className:`space-y-3`,children:n.map(({stage:e,index:t},r)=>(0,R.jsx)(pe,{stage:e,index:t,isLast:r===n.length-1,accentClass:o},se(e,t)))})]})}function me(e){let t=[...e.stages].reverse().find(e=>e.status===`short-circuited`);if(t)return{label:`提前返回响应`,description:`在 ${q(t.name)} 阶段直接生成响应`,icon:(0,R.jsx)(oe,{className:`h-4 w-4 text-blue-500`})};let n=[...e.stages].reverse().find(e=>e.status===`error`);return n?{label:`处理过程中出现异常`,description:`${q(n.name)} 执行失败`,icon:(0,R.jsx)(c,{className:`h-4 w-4 text-red-500`})}:{label:`进入正常代理流程`,description:`请求经过检查后继续转发到目标服务`,icon:(0,R.jsx)(a,{className:`h-4 w-4 text-emerald-500`})}}function he({inspection:e}){let t=me(e),n=e.stages.map((e,t)=>({stage:e,index:t})),r=n.filter(({stage:e})=>J(e.hook)===`request`),i=n.filter(({stage:e})=>J(e.hook)===`response`);return(0,R.jsxs)(`div`,{className:`space-y-4 pt-3`,children:[(0,R.jsxs)(`div`,{className:`rounded-xl border bg-gradient-to-br from-muted/20 via-background to-muted/10 p-4 space-y-4`,children:[(0,R.jsxs)(`div`,{className:`flex items-center gap-4 text-sm`,children:[(0,R.jsx)(T,{variant:`outline`,className:`font-mono`,children:e.method}),(0,R.jsx)(`span`,{className:`font-mono text-muted-foreground truncate flex-1`,children:e.url}),(0,R.jsxs)(`div`,{className:`flex items-center gap-1 text-muted-foreground`,children:[(0,R.jsx)(l,{className:`h-3.5 w-3.5`}),(0,R.jsxs)(`span`,{className:`text-xs`,children:[e.totalDuration,`ms`]})]})]}),(0,R.jsxs)(`div`,{className:`grid gap-3 md:grid-cols-3`,children:[(0,R.jsxs)(`div`,{className:`rounded-lg border bg-background/80 p-3`,children:[(0,R.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground mb-1`,children:[(0,R.jsx)(F,{className:`h-3.5 w-3.5`}),`请求入口`]}),(0,R.jsx)(`div`,{className:`text-sm font-medium`,children:`请求进入代理`}),(0,R.jsx)(`div`,{className:`text-xs text-muted-foreground mt-1`,children:`从浏览器或客户端发起,进入 Meddle 的处理流水线`})]}),(0,R.jsxs)(`div`,{className:`rounded-lg border bg-background/80 p-3`,children:[(0,R.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground mb-1`,children:[(0,R.jsx)(f,{className:`h-3.5 w-3.5`}),`处理阶段`]}),(0,R.jsxs)(`div`,{className:`text-sm font-medium`,children:[e.stages.length,` 个阶段`]}),(0,R.jsx)(`div`,{className:`text-xs text-muted-foreground mt-1`,children:`按实际执行顺序记录插件和系统模块对请求的处理`})]}),(0,R.jsxs)(`div`,{className:`rounded-lg border bg-background/80 p-3`,children:[(0,R.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground mb-1`,children:[t.icon,`最终结果`]}),(0,R.jsx)(`div`,{className:`text-sm font-medium`,children:t.label}),(0,R.jsx)(`div`,{className:`text-xs text-muted-foreground mt-1`,children:t.description})]})]})]}),e.stages.length===0?(0,R.jsx)(`p`,{className:`text-sm text-muted-foreground py-4 text-center`,children:`无处理阶段信息(插件模式可能未开启)`}):(0,R.jsxs)(`div`,{className:`space-y-4`,children:[(0,R.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground`,children:[(0,R.jsx)(P,{className:`h-3.5 w-3.5`}),(0,R.jsx)(`span`,{children:`默认仅展示改动内容;跳过阶段默认折叠,可单独展开查看更多。`})]}),(0,R.jsxs)(`div`,{className:`grid gap-4 xl:grid-cols-2`,children:[(0,R.jsx)($,{title:`请求阶段`,description:`客户端请求进入代理后,按顺序执行请求侧处理阶段`,stages:r,icon:(0,R.jsx)(F,{className:`h-4 w-4 text-blue-500`}),roleLabel:`客户端`,roleIcon:(0,R.jsx)(E,{className:`h-3 w-3 text-blue-500`}),accentClass:`text-blue-500`}),(0,R.jsx)($,{title:`响应阶段`,description:`服务器响应返回代理后,按顺序执行响应侧处理阶段`,stages:i,icon:(0,R.jsx)(g,{className:`h-4 w-4 text-emerald-500`}),roleLabel:`服务器`,roleIcon:(0,R.jsx)(u,{className:`h-3 w-3 text-emerald-500`}),accentClass:`text-emerald-500`})]}),(0,R.jsxs)(`div`,{className:`flex items-center justify-center gap-2 text-xs text-muted-foreground`,children:[(0,R.jsx)(`span`,{children:`请求进入`}),(0,R.jsx)(a,{className:`h-4 w-4 animate-pulse text-blue-500`}),(0,R.jsx)(`span`,{children:`请求阶段`}),(0,R.jsx)(a,{className:`h-4 w-4 animate-pulse text-violet-500`}),(0,R.jsx)(`span`,{children:`响应阶段`}),(0,R.jsx)(a,{className:`h-4 w-4 animate-pulse text-emerald-500`}),(0,R.jsx)(`span`,{children:`最终返回`})]})]})]})}function ge(e){return e==null?`—`:e<1e3?`${e} ms`:`${(e/1e3).toFixed(1)} s`}function _e({record:e,detail:t}){let n=_(e),r=Object.entries(t.requestHeaders||{}).slice(0,6),i=n.kind===`rule`?`source: ${e.source}\ntarget: ${e.target}`:n.kind===`mock`?`mock: true · ${e.source}`:`pass · ${e.source}`;return(0,R.jsxs)(`div`,{className:`space-y-3 pt-3`,"data-testid":`detail-overview-hit`,children:[(0,R.jsxs)(`div`,{className:`grid grid-cols-[72px_1fr] gap-x-3 gap-y-1.5 text-xs`,children:[(0,R.jsx)(`div`,{className:`text-muted-foreground`,children:`方法`}),(0,R.jsx)(`div`,{className:`font-mono font-medium`,children:e.method}),(0,R.jsx)(`div`,{className:`text-muted-foreground`,children:`URL`}),(0,R.jsx)(`div`,{className:`break-all font-mono`,children:e.source}),(0,R.jsx)(`div`,{className:`text-muted-foreground`,children:`状态`}),(0,R.jsxs)(`div`,{className:`font-mono`,children:[t.statusCode,` `,t.statusMessage]}),(0,R.jsx)(`div`,{className:`text-muted-foreground`,children:`延迟`}),(0,R.jsx)(`div`,{className:`font-mono tabular-nums`,children:ge(e.duration)})]}),(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`h4`,{className:`mb-1.5 text-xs font-semibold uppercase tracking-wider text-muted-foreground`,children:`命中规则 / Mock`}),(0,R.jsx)(`div`,{className:`mb-1 text-sm font-semibold`,children:n.title}),(0,R.jsx)(`p`,{className:`mb-2 text-xs text-muted-foreground`,children:n.description}),(0,R.jsx)(`pre`,{className:`meddle-thin-scroll w-full overflow-x-auto rounded border bg-muted/30 px-2 py-1.5 font-mono text-[11px] leading-relaxed whitespace-pre-wrap break-all`,"data-testid":`detail-hit-box`,"data-hit-kind":n.kind,children:i})]}),r.length>0&&(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`h4`,{className:`mb-1.5 text-xs font-semibold uppercase tracking-wider text-muted-foreground`,children:`请求 Headers(节选)`}),(0,R.jsx)(`div`,{className:`grid grid-cols-[minmax(72px,90px)_1fr] gap-x-3 gap-y-1 text-xs`,children:r.map(([e,t])=>(0,R.jsxs)(I.Fragment,{children:[(0,R.jsx)(`div`,{className:`truncate text-muted-foreground`,title:e,children:e}),(0,R.jsx)(`div`,{className:`truncate font-mono`,title:t,children:t})]},e))})]})]})}function ve({open:e=!1,onClose:t,embedded:n=!1,detail:i,loading:a,error:o,selectedRecord:s,onCreateMock:c,onReplay:l,onJumpToRule:u}){let[d,f]=(0,I.useState)(!1),h=()=>{i&&s&&c&&c({source:s.source,responseBody:i.responseBody,statusCode:i.statusCode,responseHeaders:i.responseHeaders})},[_,w]=(0,I.useState)(null),E=(0,R.jsxs)(R.Fragment,{children:[`请求详情`,i&&(0,R.jsxs)(T,{className:`${U(i.statusCode)} border-0`,children:[i.statusCode,` `,i.statusMessage]}),s?.clientType&&(0,R.jsxs)(T,{variant:`outline`,className:`max-w-48 text-[10px] font-mono`,title:[s.clientName,s.clientIp].filter(Boolean).join(` · `),children:[s.clientName||(s.clientType===`local`?`本机`:s.clientType===`plugin`?`插件测试`:`远程设备`),s.clientIp?` · ${s.clientIp}`:``]}),s?.applicationName&&(0,R.jsxs)(T,{variant:`outline`,className:`max-w-56 gap-1.5 text-[10px]`,title:[s.applicationIdentitySource===`local-process`?`识别方式: 本机进程`:s.applicationIdentitySource===`user-agent`?`识别方式: User-Agent 推断`:s.applicationIdentitySource===`client-reported`?`识别方式: 客户端上报`:void 0,s.applicationIdentityConfidence?`可信度: ${s.applicationIdentityConfidence===`high`?`高`:s.applicationIdentityConfidence===`medium`?`中`:`低`}`:void 0,s.applicationProcess,s.applicationPid?`PID ${s.applicationPid}`:void 0,s.applicationBundleId,s.applicationPath].filter(Boolean).join(` · `),children:[(0,R.jsx)(x,{record:s,compact:!0}),(0,R.jsx)(`span`,{className:`truncate`,children:s.applicationName}),s.applicationIdentitySource===`user-agent`&&(0,R.jsx)(`span`,{className:`shrink-0 text-[9px] text-muted-foreground`,children:`推断`})]}),(0,R.jsxs)(`div`,{className:`flex items-center gap-1.5 ml-auto`,children:[i&&l&&s?.id!=null&&(0,R.jsxs)(r,{variant:`outline`,size:`xs`,onClick:async()=>{if(s?.id!=null&&l){f(!0),w(null);try{await l(s.id)}catch(e){w(e.message||`重放失败`)}finally{f(!1)}}},disabled:d,title:`使用相同的请求参数重新发送请求`,children:[(0,R.jsx)(D,{className:`h-3.5 w-3.5 mr-1 ${d?`animate-spin`:``}`}),d?`重放中...`:`重放`]}),s&&u&&s.source!==s.target&&!s.mock&&(0,R.jsxs)(r,{variant:`outline`,size:`xs`,onClick:()=>u(s),title:`跳转到路由规则配置`,"data-testid":`detail-jump-to-rule`,children:[(0,R.jsx)(re,{className:`h-3.5 w-3.5 mr-1`}),`查看规则`]}),i&&c&&!s?.mock&&(0,R.jsxs)(r,{variant:`outline`,size:`xs`,onClick:h,"data-testid":`detail-create-mock`,children:[(0,R.jsx)(p,{className:`h-3.5 w-3.5 mr-1`}),`创建 Mock`]})]})]}),k=(0,R.jsxs)(R.Fragment,{children:[n?(0,R.jsx)(`div`,{className:`px-3 pt-2.5 pb-1.5`,"data-testid":`detail-panel-header`,children:(0,R.jsx)(`h2`,{className:`flex items-center gap-2 text-sm font-semibold text-foreground`,children:E})}):(0,R.jsx)(ne,{className:`px-4 pt-4 pb-2`,children:(0,R.jsx)(te,{className:`flex items-center gap-2 text-base`,children:E})}),(0,R.jsx)(S,{}),_&&(0,R.jsx)(`div`,{className:`mx-4 mt-2 px-3 py-2 rounded-md bg-red-50 border border-red-200 text-red-700 text-xs`,children:_}),o&&!a&&!i&&(0,R.jsx)(`div`,{className:`mx-4 mt-2 px-3 py-2 rounded-md bg-amber-50 border border-amber-200 text-amber-800 text-xs`,children:o}),a?(0,R.jsx)(`div`,{className:`flex-1 flex items-center justify-center`,children:(0,R.jsx)(C,{className:`h-6 w-6 animate-spin text-muted-foreground`})}):i&&s?(0,R.jsxs)(v,{defaultValue:`overview`,className:`flex-1 flex flex-col min-h-0`,children:[(0,R.jsxs)(b,{className:`mx-4 mt-2 w-fit`,children:[(0,R.jsx)(m,{value:`overview`,"data-testid":`detail-tab-overview`,children:`概览`}),(0,R.jsx)(m,{value:`request`,children:`请求`}),(0,R.jsx)(m,{value:`response`,children:`响应`}),(0,R.jsxs)(m,{value:`inspect`,children:[(0,R.jsx)(g,{className:`h-3.5 w-3.5 mr-1`}),`Inspect`]})]}),(0,R.jsx)(y,{value:`overview`,className:`flex-1 min-h-0 mt-0`,children:(0,R.jsx)(O,{className:`h-full px-4 pb-4`,children:(0,R.jsx)(_e,{record:s,detail:i})})}),(0,R.jsx)(y,{value:`request`,className:`flex-1 min-h-0 mt-0`,children:(0,R.jsx)(O,{className:`h-full px-4 pb-4`,children:(0,R.jsxs)(`div`,{className:`space-y-3 pt-3`,children:[(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`h4`,{className:`text-xs font-semibold text-muted-foreground mb-1.5 uppercase tracking-wider`,children:`Request Headers`}),(0,R.jsx)(H,{headers:i.requestHeaders})]}),(0,R.jsx)(S,{}),(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`h4`,{className:`text-xs font-semibold text-muted-foreground mb-1.5 uppercase tracking-wider`,children:`Request Body`}),(0,R.jsx)(V,{body:i.requestBody})]})]})})}),(0,R.jsx)(y,{value:`response`,className:`flex-1 min-h-0 mt-0`,children:(0,R.jsx)(O,{className:`h-full px-4 pb-4`,children:(0,R.jsxs)(`div`,{className:`space-y-3 pt-3`,children:[(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`h4`,{className:`text-xs font-semibold text-muted-foreground mb-1.5 uppercase tracking-wider`,children:`Response Headers`}),(0,R.jsx)(H,{headers:i.responseHeaders})]}),(0,R.jsx)(S,{}),(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`h4`,{className:`text-xs font-semibold text-muted-foreground mb-1.5 uppercase tracking-wider`,children:`Response Body`}),(0,R.jsx)(V,{body:i.responseBody})]})]})})}),(0,R.jsx)(y,{value:`inspect`,className:`flex-1 min-h-0 mt-0`,children:(0,R.jsx)(O,{className:`h-full px-4 pb-4`,children:i.inspection?(0,R.jsx)(he,{inspection:i.inspection}):(0,R.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full py-12 text-muted-foreground`,children:[(0,R.jsx)(g,{className:`h-12 w-12 mb-4 opacity-50`}),(0,R.jsx)(`p`,{className:`text-sm`,children:`无 Inspect 信息`}),(0,R.jsx)(`p`,{className:`text-xs mt-1`,children:`需要开启插件模式(on/shadow)才能查看请求生命周期`})]})})})]}):s?(0,R.jsx)(`div`,{className:`flex-1 flex items-center justify-center text-muted-foreground text-sm px-6 text-center`,children:(0,R.jsxs)(`div`,{className:`space-y-2`,children:[(0,R.jsx)(`div`,{children:`详情数据暂不可用`}),(0,R.jsxs)(`div`,{className:`text-xs font-mono break-all`,children:[s.method,` `,s.source]})]})}):(0,R.jsx)(`div`,{"data-testid":`detail-empty-state`,className:`flex flex-1 items-center justify-center px-6 text-center text-sm text-muted-foreground`,children:`选择左侧一条流量以查看详情 / 命中信息`})]});return n?(0,R.jsx)(`div`,{className:`flex h-full min-h-0 flex-col`,children:k}):(0,R.jsx)(ee,{open:e,onOpenChange:e=>!e&&t?.(),children:(0,R.jsx)(ie,{className:`p-0 flex flex-col`,resizable:!0,defaultWidth:640,storageKey:`detail-panel`,children:k})})}export{ve as DetailPanel};
4
+ `);return t[t.length-1]===``&&t.pop(),t.length>0?t:[``]}function Z(e){if(!e)return!1;if(/^\(binary(?:,\s*\d+\s+bytes)?\)$/i.test(e.trim()))return!0;let t=0;for(let n=0;n<e.length;n+=1){let r=e.charCodeAt(n);r===9||r===10||r===13||(r<32||r===65533)&&(t+=1)}return t>0&&t/Math.max(e.length,1)>.15}function Q({before:e,after:t}){let[n,i]=(0,I.useState)(!1),a=(0,I.useMemo)(()=>ce(e,t),[e,t]),o=(0,I.useMemo)(()=>a.flatMap(e=>X(e.key,e.before,e.after)),[a]);return o.length===0?(0,R.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`无变更`}):(0,R.jsxs)(`div`,{className:`space-y-2`,children:[(0,R.jsx)(Y,{lines:o}),(0,R.jsxs)(r,{variant:`ghost`,size:`xs`,onClick:()=>i(e=>!e),children:[n?(0,R.jsx)(s,{className:`h-3.5 w-3.5 mr-1`}):(0,R.jsx)(P,{className:`h-3.5 w-3.5 mr-1`}),n?`收起完整头部`:`展开完整头部`]}),n&&(0,R.jsxs)(`div`,{className:`grid gap-2 md:grid-cols-2`,children:[(0,R.jsxs)(`div`,{className:`rounded-lg bg-muted/50 p-2 text-xs font-mono`,children:[(0,R.jsx)(`div`,{className:`text-[11px] uppercase tracking-wide text-muted-foreground mb-1`,children:`变更前`}),(0,R.jsx)(H,{headers:e})]}),(0,R.jsxs)(`div`,{className:`rounded-lg bg-muted/50 p-2 text-xs font-mono`,children:[(0,R.jsx)(`div`,{className:`text-[11px] uppercase tracking-wide text-muted-foreground mb-1`,children:`变更后`}),(0,R.jsx)(H,{headers:t})]})]})]})}function de({before:e,after:t}){let[n,i]=(0,I.useState)(!1),a=(0,I.useMemo)(()=>A(e||``,t||``).filter(e=>e.added||e.removed),[e,t]),o=(0,I.useMemo)(()=>Z(e||``)||Z(t||``),[e,t]),c=(0,I.useMemo)(()=>o?le(e||``,t||``):a.flatMap(e=>ue(e.value).map(t=>({type:e.added?`added`:`removed`,text:t}))),[e,t,a,o]);return c.length===0?(0,R.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`无变更`}):(0,R.jsxs)(`div`,{className:`space-y-2`,children:[(0,R.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,R.jsx)(B,{text:e,label:`变更前 Body`}),(0,R.jsx)(B,{text:t,label:`变更后 Body`})]}),(0,R.jsx)(Y,{lines:c,className:`meddle-thin-scroll max-h-40 overflow-auto`}),!o&&(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(r,{variant:`ghost`,size:`xs`,onClick:()=>i(e=>!e),children:[n?(0,R.jsx)(s,{className:`h-3.5 w-3.5 mr-1`}):(0,R.jsx)(P,{className:`h-3.5 w-3.5 mr-1`}),n?`收起完整 Diff`:`展开完整 Diff`]}),n&&(0,R.jsx)(j,{original:e,modified:t,mode:`inline`,maxHeight:`220px`})]})]})}function fe({stage:e}){let t=e.changes;return t?(0,R.jsxs)(`div`,{className:`space-y-2`,children:[(t.targetBefore||t.targetAfter)&&(0,R.jsxs)(`div`,{className:`rounded-lg bg-muted/50 p-2`,children:[(0,R.jsx)(`div`,{className:`text-[11px] uppercase tracking-wide text-muted-foreground mb-2`,children:`Request URL Diff`}),(0,R.jsx)(Y,{lines:X(`Request URL`,t.targetBefore,t.targetAfter||t.target)})]}),(t.requestHeadersBefore||t.requestHeadersAfter)&&(0,R.jsxs)(`div`,{className:`rounded-lg bg-muted/50 p-2`,children:[(0,R.jsx)(`div`,{className:`text-[11px] uppercase tracking-wide text-muted-foreground mb-2`,children:`Request Header Diff`}),(0,R.jsx)(Q,{before:t.requestHeadersBefore||{},after:t.requestHeadersAfter||{}})]}),(t.responseStatusCodeBefore!==void 0||t.responseStatusCodeAfter!==void 0)&&(0,R.jsxs)(`div`,{className:`rounded-lg bg-muted/50 p-2`,children:[(0,R.jsx)(`div`,{className:`text-[11px] uppercase tracking-wide text-muted-foreground mb-2`,children:`Response Status Diff`}),(0,R.jsx)(Y,{lines:X(`Response Status`,t.responseStatusCodeBefore,t.responseStatusCodeAfter??t.responseStatusCode)})]}),(t.responseHeadersBefore||t.responseHeadersAfter)&&(0,R.jsxs)(`div`,{className:`rounded-lg bg-muted/50 p-2`,children:[(0,R.jsx)(`div`,{className:`text-[11px] uppercase tracking-wide text-muted-foreground mb-2`,children:`Response Header Diff`}),(0,R.jsx)(Q,{before:t.responseHeadersBefore||{},after:t.responseHeadersAfter||{}})]}),(t.responseBodyBefore!==void 0||t.responseBodyAfter!==void 0)&&(0,R.jsxs)(`div`,{className:`rounded-lg bg-muted/50 p-2`,children:[(0,R.jsx)(`div`,{className:`text-[11px] uppercase tracking-wide text-muted-foreground mb-2`,children:`Response Body Diff`}),(0,R.jsx)(de,{before:t.responseBodyBefore||``,after:t.responseBodyAfter||t.responseBody||``})]})]}):null}function pe({stage:e,index:t,isLast:n,accentClass:i}){let[a,o]=(0,I.useState)(e.status!==`skipped`);return(0,R.jsxs)(`div`,{className:`space-y-2`,children:[(0,R.jsxs)(`div`,{className:`rounded-xl border bg-background/90 p-3 space-y-3`,children:[(0,R.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,R.jsxs)(`div`,{className:`space-y-1 min-w-0`,children:[(0,R.jsxs)(`div`,{className:`flex items-center gap-2 flex-wrap`,children:[(0,R.jsx)(r,{variant:`ghost`,size:`icon-xs`,onClick:()=>o(e=>!e),title:a?`收起`:`展开`,"aria-label":a?`收起`:`展开`,children:a?(0,R.jsx)(s,{className:`h-3.5 w-3.5`}):(0,R.jsx)(P,{className:`h-3.5 w-3.5`})}),(0,R.jsxs)(`span`,{className:`font-medium text-sm`,children:[t+1,`. `,q(e.name)]}),(0,R.jsx)(E,{variant:`outline`,className:`text-xs font-normal`,children:e.hook}),(0,R.jsx)(E,{variant:`outline`,className:`text-xs font-normal`,children:K(e.type)})]}),(0,R.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e.status===`short-circuited`?`这一阶段直接生成了响应,请求不会继续往后转发。`:e.status===`error`?`这一阶段执行失败,影响了后续处理流程。`:`这一阶段执行完成,请求继续进入下一步。`})]}),(0,R.jsxs)(`div`,{className:`flex items-center gap-2 shrink-0`,children:[(0,R.jsx)(E,{className:`text-xs border ${W(e.status)}`,children:G(e.status)}),(0,R.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[e.duration,`ms`]})]})]}),a&&(0,R.jsxs)(R.Fragment,{children:[e.target&&(0,R.jsxs)(`div`,{className:`rounded-lg bg-muted/50 p-2`,children:[(0,R.jsx)(`div`,{className:`text-[11px] uppercase tracking-wide text-muted-foreground mb-1`,children:`当前 Target`}),(0,R.jsx)(`div`,{className:`font-mono text-xs break-all`,children:e.target})]}),(0,R.jsx)(fe,{stage:e}),e.error&&(0,R.jsxs)(`div`,{className:`rounded-lg border border-red-200 bg-red-50 px-3 py-2 text-xs text-red-700`,children:[`Error: `,e.error]})]})]}),!n&&(0,R.jsx)(`div`,{className:`flex justify-center py-1`,children:(0,R.jsxs)(`div`,{className:`flex flex-col items-center gap-1`,children:[(0,R.jsx)(`div`,{className:`h-2.5 w-2.5 rounded-full ${i} animate-pulse`}),(0,R.jsx)(b,{className:`h-4 w-4 ${i} animate-bounce`})]})})]})}function $({title:e,description:t,stages:n,icon:r,roleLabel:i,roleIcon:a,accentClass:o}){return(0,R.jsxs)(`div`,{className:`rounded-xl border bg-card p-4`,children:[(0,R.jsxs)(`div`,{className:`flex items-center justify-between mb-4`,children:[(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`div`,{className:`flex items-center gap-2 mb-2`,children:(0,R.jsxs)(E,{variant:`outline`,className:`text-[11px] font-normal`,children:[(0,R.jsx)(`span`,{className:`mr-1`,children:a}),i]})}),(0,R.jsxs)(`h4`,{className:`text-sm font-semibold flex items-center gap-2`,children:[(0,R.jsx)(`span`,{className:o,children:r}),e]}),(0,R.jsx)(`p`,{className:`text-xs text-muted-foreground mt-1`,children:t})]}),(0,R.jsxs)(E,{variant:`outline`,className:`text-xs`,children:[n.length,` 个阶段`]})]}),n.length===0?(0,R.jsx)(`p`,{className:`text-sm text-muted-foreground py-4 text-center`,children:`无阶段信息`}):(0,R.jsx)(`div`,{className:`space-y-3`,children:n.map(({stage:e,index:t},r)=>(0,R.jsx)(pe,{stage:e,index:t,isLast:r===n.length-1,accentClass:o},se(e,t)))})]})}function me(e){let t=[...e.stages].reverse().find(e=>e.status===`short-circuited`);if(t)return{label:`提前返回响应`,description:`在 ${q(t.name)} 阶段直接生成响应`,icon:(0,R.jsx)(ae,{className:`h-4 w-4 text-blue-500`})};let n=[...e.stages].reverse().find(e=>e.status===`error`);return n?{label:`处理过程中出现异常`,description:`${q(n.name)} 执行失败`,icon:(0,R.jsx)(c,{className:`h-4 w-4 text-red-500`})}:{label:`进入正常代理流程`,description:`请求经过检查后继续转发到目标服务`,icon:(0,R.jsx)(a,{className:`h-4 w-4 text-emerald-500`})}}function he({inspection:e}){let t=me(e),n=e.stages.map((e,t)=>({stage:e,index:t})),r=n.filter(({stage:e})=>J(e.hook)===`request`),i=n.filter(({stage:e})=>J(e.hook)===`response`);return(0,R.jsxs)(`div`,{className:`space-y-4 pt-3`,children:[(0,R.jsxs)(`div`,{className:`rounded-xl border bg-gradient-to-br from-muted/20 via-background to-muted/10 p-4 space-y-4`,children:[(0,R.jsxs)(`div`,{className:`flex items-center gap-4 text-sm`,children:[(0,R.jsx)(E,{variant:`outline`,className:`font-mono`,children:e.method}),(0,R.jsx)(`span`,{className:`font-mono text-muted-foreground truncate flex-1`,children:e.url}),(0,R.jsxs)(`div`,{className:`flex items-center gap-1 text-muted-foreground`,children:[(0,R.jsx)(l,{className:`h-3.5 w-3.5`}),(0,R.jsxs)(`span`,{className:`text-xs`,children:[e.totalDuration,`ms`]})]})]}),(0,R.jsxs)(`div`,{className:`grid gap-3 md:grid-cols-3`,children:[(0,R.jsxs)(`div`,{className:`rounded-lg border bg-background/80 p-3`,children:[(0,R.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground mb-1`,children:[(0,R.jsx)(F,{className:`h-3.5 w-3.5`}),`请求入口`]}),(0,R.jsx)(`div`,{className:`text-sm font-medium`,children:`请求进入代理`}),(0,R.jsx)(`div`,{className:`text-xs text-muted-foreground mt-1`,children:`从浏览器或客户端发起,进入 Meddle 的处理流水线`})]}),(0,R.jsxs)(`div`,{className:`rounded-lg border bg-background/80 p-3`,children:[(0,R.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground mb-1`,children:[(0,R.jsx)(f,{className:`h-3.5 w-3.5`}),`处理阶段`]}),(0,R.jsxs)(`div`,{className:`text-sm font-medium`,children:[e.stages.length,` 个阶段`]}),(0,R.jsx)(`div`,{className:`text-xs text-muted-foreground mt-1`,children:`按实际执行顺序记录插件和系统模块对请求的处理`})]}),(0,R.jsxs)(`div`,{className:`rounded-lg border bg-background/80 p-3`,children:[(0,R.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground mb-1`,children:[t.icon,`最终结果`]}),(0,R.jsx)(`div`,{className:`text-sm font-medium`,children:t.label}),(0,R.jsx)(`div`,{className:`text-xs text-muted-foreground mt-1`,children:t.description})]})]})]}),e.stages.length===0?(0,R.jsx)(`p`,{className:`text-sm text-muted-foreground py-4 text-center`,children:`无处理阶段信息(插件模式可能未开启)`}):(0,R.jsxs)(`div`,{className:`space-y-4`,children:[(0,R.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground`,children:[(0,R.jsx)(oe,{className:`h-3.5 w-3.5`}),(0,R.jsx)(`span`,{children:`默认仅展示改动内容;跳过阶段默认折叠,可单独展开查看更多。`})]}),(0,R.jsxs)(`div`,{className:`grid gap-4 xl:grid-cols-2`,children:[(0,R.jsx)($,{title:`请求阶段`,description:`客户端请求进入代理后,按顺序执行请求侧处理阶段`,stages:r,icon:(0,R.jsx)(F,{className:`h-4 w-4 text-blue-500`}),roleLabel:`客户端`,roleIcon:(0,R.jsx)(g,{className:`h-3 w-3 text-blue-500`}),accentClass:`text-blue-500`}),(0,R.jsx)($,{title:`响应阶段`,description:`服务器响应返回代理后,按顺序执行响应侧处理阶段`,stages:i,icon:(0,R.jsx)(C,{className:`h-4 w-4 text-emerald-500`}),roleLabel:`服务器`,roleIcon:(0,R.jsx)(u,{className:`h-3 w-3 text-emerald-500`}),accentClass:`text-emerald-500`})]}),(0,R.jsxs)(`div`,{className:`flex items-center justify-center gap-2 text-xs text-muted-foreground`,children:[(0,R.jsx)(`span`,{children:`请求进入`}),(0,R.jsx)(a,{className:`h-4 w-4 animate-pulse text-blue-500`}),(0,R.jsx)(`span`,{children:`请求阶段`}),(0,R.jsx)(a,{className:`h-4 w-4 animate-pulse text-violet-500`}),(0,R.jsx)(`span`,{children:`响应阶段`}),(0,R.jsx)(a,{className:`h-4 w-4 animate-pulse text-emerald-500`}),(0,R.jsx)(`span`,{children:`最终返回`})]})]})]})}function ge(e){return e==null?`—`:e<1e3?`${e} ms`:`${(e/1e3).toFixed(1)} s`}function _e({record:e,detail:t}){let n=k(e),r=Object.entries(t.requestHeaders||{}).slice(0,6),i=n.kind===`rule`?`source: ${e.source}\ntarget: ${e.target}`:n.kind===`mock`?`mock: true · ${e.source}`:`pass · ${e.source}`;return(0,R.jsxs)(`div`,{className:`space-y-3 pt-3`,"data-testid":`detail-overview-hit`,children:[(0,R.jsxs)(`div`,{className:`grid grid-cols-[72px_1fr] gap-x-3 gap-y-1.5 text-xs`,children:[(0,R.jsx)(`div`,{className:`text-muted-foreground`,children:`方法`}),(0,R.jsx)(`div`,{className:`font-mono font-medium`,children:e.method}),(0,R.jsx)(`div`,{className:`text-muted-foreground`,children:`URL`}),(0,R.jsx)(`div`,{className:`break-all font-mono`,children:e.source}),(0,R.jsx)(`div`,{className:`text-muted-foreground`,children:`状态`}),(0,R.jsxs)(`div`,{className:`font-mono`,children:[t.statusCode,` `,t.statusMessage]}),(0,R.jsx)(`div`,{className:`text-muted-foreground`,children:`延迟`}),(0,R.jsx)(`div`,{className:`font-mono tabular-nums`,children:ge(e.duration)})]}),(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`h4`,{className:`mb-1.5 text-xs font-semibold uppercase tracking-wider text-muted-foreground`,children:`命中规则 / Mock`}),(0,R.jsx)(`div`,{className:`mb-1 text-sm font-semibold`,children:n.title}),(0,R.jsx)(`p`,{className:`mb-2 text-xs text-muted-foreground`,children:n.description}),(0,R.jsx)(`pre`,{className:`meddle-thin-scroll w-full overflow-x-auto rounded border bg-muted/30 px-2 py-1.5 font-mono text-[11px] leading-relaxed whitespace-pre-wrap break-all`,"data-testid":`detail-hit-box`,"data-hit-kind":n.kind,children:i})]}),r.length>0&&(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`h4`,{className:`mb-1.5 text-xs font-semibold uppercase tracking-wider text-muted-foreground`,children:`请求 Headers(节选)`}),(0,R.jsx)(`div`,{className:`grid grid-cols-[minmax(72px,90px)_1fr] gap-x-3 gap-y-1 text-xs`,children:r.map(([e,t])=>(0,R.jsxs)(I.Fragment,{children:[(0,R.jsx)(`div`,{className:`truncate text-muted-foreground`,title:e,children:e}),(0,R.jsx)(`div`,{className:`truncate font-mono`,title:t,children:t})]},e))})]})]})}function ve({open:e=!1,onClose:t,embedded:n=!1,detail:i,loading:a,error:o,selectedRecord:s,onCreateMock:c,onReplay:l,onJumpToRule:u}){let[d,f]=(0,I.useState)(!1),g=()=>{i&&s&&c&&c({source:s.source,responseBody:i.responseBody,statusCode:i.statusCode,responseHeaders:i.responseHeaders})},[b,O]=(0,I.useState)(null),k=(0,R.jsxs)(R.Fragment,{children:[`请求详情`,i&&(0,R.jsxs)(E,{className:`${U(i.statusCode)} border-0`,children:[i.statusCode,` `,i.statusMessage]}),s?.clientType&&(0,R.jsxs)(E,{variant:`outline`,className:`max-w-48 text-[10px] font-mono`,title:[s.clientName,s.clientIp].filter(Boolean).join(` · `),children:[s.clientName||(s.clientType===`local`?`本机`:s.clientType===`plugin`?`插件测试`:`远程设备`),s.clientIp?` · ${s.clientIp}`:``]}),s?.applicationName&&(0,R.jsxs)(E,{variant:`outline`,className:`max-w-56 gap-1.5 text-[10px]`,title:[s.applicationIdentitySource===`local-process`?`识别方式: 本机进程`:s.applicationIdentitySource===`user-agent`?`识别方式: User-Agent 推断`:s.applicationIdentitySource===`client-reported`?`识别方式: 客户端上报`:void 0,s.applicationIdentityConfidence?`可信度: ${s.applicationIdentityConfidence===`high`?`高`:s.applicationIdentityConfidence===`medium`?`中`:`低`}`:void 0,s.applicationProcess,s.applicationPid?`PID ${s.applicationPid}`:void 0,s.applicationBundleId,s.applicationPath].filter(Boolean).join(` · `),children:[(0,R.jsx)(p,{record:s,compact:!0}),(0,R.jsx)(`span`,{className:`truncate`,children:s.applicationName}),s.applicationIdentitySource===`user-agent`&&(0,R.jsx)(`span`,{className:`shrink-0 text-[9px] text-muted-foreground`,children:`推断`})]}),(0,R.jsxs)(`div`,{className:`flex items-center gap-1.5 ml-auto`,children:[i&&l&&s?.id!=null&&(0,R.jsxs)(r,{variant:`outline`,size:`xs`,onClick:async()=>{if(s?.id!=null&&l){f(!0),O(null);try{await l(s.id)}catch(e){O(e.message||`重放失败`)}finally{f(!1)}}},disabled:d,title:`使用相同的请求参数重新发送请求`,children:[(0,R.jsx)(re,{className:`h-3.5 w-3.5 mr-1 ${d?`animate-spin`:``}`}),d?`重放中...`:`重放`]}),s&&u&&s.source!==s.target&&!s.mock&&(0,R.jsxs)(r,{variant:`outline`,size:`xs`,onClick:()=>u(s),title:`跳转到路由规则配置`,"data-testid":`detail-jump-to-rule`,children:[(0,R.jsx)(x,{className:`h-3.5 w-3.5 mr-1`}),`查看规则`]}),i&&c&&!s?.mock&&(0,R.jsxs)(r,{variant:`outline`,size:`xs`,onClick:g,"data-testid":`detail-create-mock`,children:[(0,R.jsx)(ee,{className:`h-3.5 w-3.5 mr-1`}),`创建 Mock`]})]})]}),A=(0,R.jsxs)(R.Fragment,{children:[n?(0,R.jsx)(`div`,{className:`px-3 pt-2.5 pb-1.5`,"data-testid":`detail-panel-header`,children:(0,R.jsx)(`h2`,{className:`flex items-center gap-2 text-sm font-semibold text-foreground`,children:k})}):(0,R.jsx)(te,{className:`px-4 pt-4 pb-2`,children:(0,R.jsx)(ne,{className:`flex items-center gap-2 text-base`,children:k})}),(0,R.jsx)(D,{}),b&&(0,R.jsx)(`div`,{className:`mx-4 mt-2 px-3 py-2 rounded-md bg-red-50 border border-red-200 text-red-700 text-xs`,children:b}),o&&!a&&!i&&(0,R.jsx)(`div`,{className:`mx-4 mt-2 px-3 py-2 rounded-md bg-amber-50 border border-amber-200 text-amber-800 text-xs`,children:o}),a?(0,R.jsx)(`div`,{className:`flex-1 flex items-center justify-center`,children:(0,R.jsx)(m,{className:`h-6 w-6 animate-spin text-muted-foreground`})}):i&&s?(0,R.jsxs)(S,{defaultValue:`overview`,className:`flex-1 flex flex-col min-h-0`,children:[(0,R.jsxs)(v,{className:`mx-4 mt-2 w-fit`,children:[(0,R.jsx)(y,{value:`overview`,"data-testid":`detail-tab-overview`,children:`概览`}),(0,R.jsx)(y,{value:`request`,children:`请求`}),(0,R.jsx)(y,{value:`response`,children:`响应`}),(0,R.jsxs)(y,{value:`inspect`,children:[(0,R.jsx)(C,{className:`h-3.5 w-3.5 mr-1`}),`Inspect`]})]}),(0,R.jsx)(_,{value:`overview`,className:`flex-1 min-h-0 mt-0`,children:(0,R.jsx)(T,{className:`h-full px-4 pb-4`,children:(0,R.jsx)(_e,{record:s,detail:i})})}),(0,R.jsx)(_,{value:`request`,className:`flex-1 min-h-0 mt-0`,children:(0,R.jsx)(T,{className:`h-full px-4 pb-4`,children:(0,R.jsxs)(`div`,{className:`space-y-3 pt-3`,children:[(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`h4`,{className:`text-xs font-semibold text-muted-foreground mb-1.5 uppercase tracking-wider`,children:`Request Headers`}),(0,R.jsx)(H,{headers:i.requestHeaders})]}),(0,R.jsx)(D,{}),(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`h4`,{className:`text-xs font-semibold text-muted-foreground mb-1.5 uppercase tracking-wider`,children:`Request Body`}),(0,R.jsx)(V,{body:i.requestBody})]})]})})}),(0,R.jsx)(_,{value:`response`,className:`flex-1 min-h-0 mt-0`,children:(0,R.jsx)(T,{className:`h-full px-4 pb-4`,children:(0,R.jsxs)(`div`,{className:`space-y-3 pt-3`,children:[(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`h4`,{className:`text-xs font-semibold text-muted-foreground mb-1.5 uppercase tracking-wider`,children:`Response Headers`}),(0,R.jsx)(H,{headers:i.responseHeaders})]}),(0,R.jsx)(D,{}),(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`h4`,{className:`text-xs font-semibold text-muted-foreground mb-1.5 uppercase tracking-wider`,children:`Response Body`}),(0,R.jsx)(V,{body:i.responseBody})]})]})})}),(0,R.jsx)(_,{value:`inspect`,className:`flex-1 min-h-0 mt-0`,children:(0,R.jsx)(T,{className:`h-full px-4 pb-4`,children:i.inspection?(0,R.jsx)(he,{inspection:i.inspection}):(0,R.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full py-12 text-muted-foreground`,children:[(0,R.jsx)(C,{className:`h-12 w-12 mb-4 opacity-50`}),(0,R.jsx)(`p`,{className:`text-sm`,children:`无 Inspect 信息`}),(0,R.jsx)(`p`,{className:`text-xs mt-1`,children:`需要开启插件模式(on/shadow)才能查看请求生命周期`})]})})})]}):s?(0,R.jsx)(`div`,{className:`flex-1 flex items-center justify-center text-muted-foreground text-sm px-6 text-center`,children:(0,R.jsxs)(`div`,{className:`space-y-2`,children:[(0,R.jsx)(`div`,{children:`详情数据暂不可用`}),(0,R.jsxs)(`div`,{className:`text-xs font-mono break-all`,children:[s.method,` `,s.source]})]})}):(0,R.jsx)(`div`,{"data-testid":`detail-empty-state`,className:`flex flex-1 items-center justify-center px-6 text-center text-sm text-muted-foreground`,children:`选择左侧一条流量以查看详情 / 命中信息`})]});return n?(0,R.jsx)(`div`,{className:`flex h-full min-h-0 flex-col`,children:A}):(0,R.jsx)(w,{open:e,onOpenChange:e=>!e&&t?.(),children:(0,R.jsx)(h,{className:`p-0 flex flex-col`,resizable:!0,defaultWidth:640,storageKey:`detail-panel`,children:A})})}export{ve as DetailPanel};